Data transmission method and device

By determining the transmission time point of the data frame and the return time point of the ACK frame in the first terminal, the problem of conflict between the data frame and the ACK frame is solved, and the data throughput and reliability of the BSS are improved.

CN115208531BActive Publication Date: 2025-02-25QINGDAO HAIER WASHING MASCH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110394783.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-13
Publication Date
2025-02-25
Estimated Expiration
2041-04-13

AI Technical Summary

Technical Problem

In the process of improving the data throughput of a single basic service set (BSS), the data frame lengths sent by the first terminal to multiple second terminals are different, which may cause the data frame and the ACK frame to conflict, resulting in the first terminal being unable to receive to the ACK frame returned to the second terminal.

Method used

By determining the transmission time point of each data frame and the return time point of the ACK frame, each second terminal is caused to receive the data frame at the same time and send the ACK frame to the first terminal, thereby avoiding conflicts. The specific method includes delaying the transmission time point of other data frames with the longest length as the reference, or delaying the transmission time point of other second terminals with the ACK frame time point of the target terminal as the reference.

Benefits of technology

The collision between data frames and ACK frames is effectively avoided, ensuring that the first terminal can receive ACK frames returned by all the second terminals, thereby improving the data throughput and reliability of the BSS.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115208531B_ABST
    Figure CN115208531B_ABST
Patent Text Reader

Abstract

The present application provides a data transmission method and device. The method includes: when a first terminal sends different data frames to multiple second terminals, the sending time point of each data frame is determined according to the length of each data frame in the multiple data frames to be sent; according to the sending time point of each data frame, the data frame is sent to the corresponding second terminal. The time point at which each second terminal receives the data frame is the same, and the time point at which each second terminal sends an ACK frame to the first terminal is also the same, thereby avoiding the problem of conflict between the data frame and the ACK 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 transmission method and device. Background Art

[0002] Improving the data throughput of a single basic service set (BSS) is an urgent problem to be solved. Currently, the technologies for improving the data throughput of BSS include multi-user multiple input and output (MU-Mnro) technology and multi-frequency channel technology. When using these technologies, a first terminal can use multiple channels / multi-paths to communicate with multiple second terminals at the same time, so the data throughput of BSS can be significantly increased.

[0003] However, when the lengths of data frames sent by the first terminal to multiple second terminals are different, the data frame sent by the first terminal to a second terminal and the ACK frame returned by another second terminal to the first terminal may conflict, resulting in the first device being unable to receive the ACK frame returned by the second device. Summary of the invention

[0004] The present application provides a data transmission method and device for solving the problem of conflict between data frames and ACK frames.

[0005] In a first aspect, the present application provides a data transmission method, applied to a first terminal, comprising: when the first terminal sends different data frames to multiple second terminals, determining the sending time point of each data frame according to the length of each data frame in the multiple data frames to be sent; and sending the data frame to the corresponding second terminal according to the sending time point of each data frame.

[0006] Optionally, determining the sending time point of each data frame according to the length of each data frame in the multiple data frames to be sent includes: obtaining the data frame with the longest length from the multiple data frames to be sent; obtaining the sending time difference between the data frame with the longest length and a first data frame, the first data frame being any data frame in the multiple data frames to be sent except the data frame with the longest length; determining the sending time point of the first data frame according to the sending time point of the data frame with the longest length and the sending time difference.

[0007] Optionally, obtaining the sending time difference between the longest data frame and the first data frame includes: obtaining the length difference between the longest data frame and the first data frame; and determining the sending time difference based on the length difference and the data transmission rate.

[0008] In a second aspect, the present application provides a data transmission method, applied to a first terminal, comprising: when the first terminal sends different data frames to multiple second terminals, determining the time point at which each second terminal returns a confirmation frame according to the length of each data frame in the multiple data frames to be sent; adding the time point at which each second terminal returns a confirmation frame to the corresponding data frame; and sending the corresponding data frames to the multiple second terminals.

[0009] Optionally, determining the time point when each second terminal returns a confirmation frame based on the length of each data frame in the multiple data frames to be sent includes: obtaining the longest data frame from the multiple data frames to be sent, the second terminal corresponding to the longest data frame is the target terminal; determining the time point when the target terminal returns the confirmation frame based on the length of the longest data frame; obtaining the time difference between a third terminal and the target terminal returning the confirmation frame, the third terminal being any terminal among the multiple second terminals; determining the time point when the third terminal returns the confirmation frame based on the time point when the target terminal returns the confirmation frame and the time difference when the confirmation frame is returned.

[0010] Optionally, obtaining the time difference between the third terminal and the target terminal returning the confirmation frame includes: obtaining the length difference between the longest data frame and the first data frame, where the first data frame is the data frame corresponding to the third terminal; and determining the time difference for returning the confirmation frame based on the length difference and the data transmission rate.

[0011] Optionally, adding the time point at which each second terminal returns an acknowledgment frame to a corresponding data frame includes: adding the time point at which each second terminal returns an acknowledgment frame to a padding field of the corresponding data frame.

[0012] In a third aspect, the present application provides a data transmission method, applied to a second terminal, comprising: receiving a data frame from a first terminal; reading a time point of a returned confirmation frame from the data frame; and sending a confirmation frame to the first terminal according to the time point of the returned confirmation frame.

[0013] Optionally, reading the time point of the return confirmation frame from the data frame includes: reading the time point of the return confirmation frame from a padding field of the data frame.

[0014] In a fourth aspect, the present application provides a terminal device, comprising: a determination module, which is used to determine the sending time point of each data frame according to the length of each data frame in the multiple data frames to be sent when the first terminal sends different data frames to multiple second terminals; and a sending module, which is used to send the data frame to the corresponding second terminal according to the sending time point of each data frame.

[0015] In the fifth aspect, the present application provides a terminal device, including: a determination module, which is used to determine the time point when each second terminal returns a confirmation frame according to the length of each data frame in the multiple data frames to be sent when the first terminal sends different data frames to multiple second terminals; an adding module, which is used to add the time point when each second terminal returns the confirmation frame to the corresponding data frame; and a sending module, which is used to send corresponding data frames to the multiple second terminals.

[0016] In a sixth aspect, the present application provides a terminal device, comprising: a receiving module for receiving a data frame from a first terminal; a reading module for reading a time point of a returned confirmation frame from the data frame; and a sending module for sending a confirmation frame to the first terminal according to the time point of the returned confirmation frame.

[0017] In a seventh aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the method described in the first aspect, the second aspect or the third aspect is implemented.

[0018] In an eighth aspect, the present application provides a terminal device, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to implement the method described in the first aspect, the second aspect or the third aspect by executing the executable instructions.

[0019] The data transmission method and device provided in the present application provide two solutions to resolve conflicts between data frames and ACK frames. Specifically, the first solution is: the first terminal obtains the length of multiple data frames to be sent. Since the data frame with the longest length corresponds to the longest receiving time, the longest data frame is used as a reference to postpone the sending time of other data frames, so that the time points at which each second terminal receives the data frame are the same, and the time points at which each second terminal sends an ACK frame to the first terminal are also the same, thereby avoiding the problem of conflicts between data frames and ACK frames. The second solution is: based on the time point at which the target terminal sends an ACK frame to the first terminal, postpone the time point at which other second terminals send ACK frames to the first terminal, so that the time points at which each second terminal sends an ACK frame to the first terminal are the same, thereby avoiding the problem of conflicts between data frames and ACK frames. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 A schematic diagram of the structure of the data frame provided for this application;

[0021] Figure 2 A schematic diagram of a second terminal providing the present application feeding back an acknowledgment (ACK) frame after receiving a data frame sent by a first terminal;

[0022] Figure 3A schematic diagram of a data frame and an ACK frame conflict provided by this application;

[0023] Figure 4 A flowchart of a first embodiment of the data transmission method provided by the present application;

[0024] Figure 5 The principle of multiple second terminals returning ACK frames at the same time point provided by this application Figure 1 ;

[0025] Figure 6 A flowchart of a second embodiment of the data transmission method provided by the present application;

[0026] Figure 7 The principle of multiple second terminals returning ACK frames at the same time point provided by this application Figure 2 ;

[0027] Figure 8 The structure of the first terminal provided in this application is shown as follows: Figure 1 ;

[0028] Fig. 9 A schematic diagram of the structure of the first terminal provided in this application Figure 2 ;

[0029] Fig.10 A schematic diagram of the structure of the second terminal provided by this application;

[0030] Fig.11 A schematic diagram of the structure of the terminal provided in this application. DETAILED DESCRIPTION

[0031] In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions in this application will be clearly and completely described below in conjunction with the drawings in this application. Obviously, the described embodiments are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0032] In the present application, it should be explained that the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance. In addition, "at least one" means one or more, and "plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " is generally used to indicate that the objects associated with each other are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a alone, b alone, c alone, a combination of a and b, a combination of a and c, a combination of b and c, or a combination of a, b and c, where a, b, c can be single or multiple.

[0033] Figure 1 The data frame provided in this application is a schematic diagram of the structure of the data frame. The data frame mentioned in this application may be an aggregated MAC layer protocol data unit (A-MPDU). Figure 1 As shown, the data frame includes multiple subframes. Each subframe includes: a delimiter, an MPDU, and a padding field. The delimiter is located in front of the MPDU and is used to identify the MPDU. The delimiter includes MPDU length information, a cyclic redundancy check (CRC) for ensuring the integrity of the delimiter, and an identification flag that characterizes the delimiter. The standard stipulates that the gap between the two starting positions of two consecutive subframes is an integer multiple of 32 bits (i.e., 4 bytes). Here, the design of the padding field can meet this requirement. Therefore, Figure 1 As shown, the last subframe does not include a padding field. The padding field may have a size of 0 to 3 bytes.

[0034] Figure 2 The schematic diagram of the second terminal providing the present application feeding back an ACK frame after receiving a data frame sent by the first terminal. Figure 2 As shown, the second terminal receives the message having Figure 1 After the data frame 201 of the structure shown, an ACK frame 202 is sent to the first terminal after a short interframe space (SIFS).

[0035] Improving the data throughput of a single basic service set (BSS) is an urgent problem to be solved. Currently, the technologies for improving the data throughput of BSS include multi-user multiple input and output (MU-Mnro) technology and multi-frequency channel technology. When using these technologies, a first terminal can use multiple channels / multi-paths to communicate with multiple second terminals at the same time, so the data throughput of BSS can be significantly increased.

[0036] However, when multiple channels are used for communication, the first terminal can only perform one of sending and receiving simultaneously through the multiple channels. For example, when the first terminal uses the first channel and the second channel for communication, the first terminal cannot send data through the first channel and receive data through the second channel at the same time, that is, the first terminal can only send data through the first channel and the second channel simultaneously or receive data through the first channel and the second channel simultaneously.

[0037] Subject to the above restrictions, see Figure 3 As shown, both terminal A and terminal B are second terminals. Since the time length of the data frame 301 sent by the first terminal to terminal A is shorter than the time length of the data frame 303 sent by the first terminal to terminal B, a conflict may occur between the data frame 303 and the ACK frame 302. That is, since the first terminal sends the data frame 303 to terminal B while terminal A sends the ACK frame 302 to the first terminal, as described above, the first terminal does not support the simultaneous sending and receiving behavior, so the first terminal may not receive the ACK frame 302 sent by terminal A.

[0038] Since the data frame conflict problem occurs when the lengths of the data frames sent by the first terminal to multiple second terminals are different, if it can be ensured that each second terminal sends an ACK frame to the first terminal at the same time after receiving the data frame, there will be no problem of data frame and ACK frame conflict causing the ACK frame to be unable to be received. Based on this point of entry, this application proposes two solutions:

[0039] The first solution is: the first terminal obtains the length of multiple data frames to be sent. Since the longest data frame corresponds to the longest receiving time, the target terminal returns the ACK frame the latest. For the convenience of explanation, the second terminal corresponding to the longest data frame is called the target terminal in this application. Therefore, the longest data frame can be used as a reference to postpone the sending time of other data frames, so that the time point when other second terminals receive the data frame is the same as the time point when the target terminal receives the data frame. Figure 2 As shown in FIG. 1 , after receiving the data frame, each second terminal sends an ACK frame to the first terminal after SIFS. Therefore, the time point at which each second terminal sends an ACK frame to the first terminal is the same, so there will be no error such as Figure 3The problem of conflict between data frame and ACK frame is shown.

[0040] The second solution is: when the lengths of the data frames sent by the first terminal to multiple second terminals are different, although the time points at which each second terminal receives the data frame are different, each second terminal can send an ACK frame to the first terminal at the same time. Specifically, as described above, the data frame received by the target terminal is the data frame with the longest length, so the time point at which the target terminal receives the data frame is the latest, and the time point at which the target terminal sends the ACK frame to the first terminal is also the latest. The time point at which the target terminal sends the ACK frame to the first terminal can be used as a reference to postpone the time point at which other second terminals send ACK frames to the first terminal, so that the time point at which each second terminal sends the ACK frame to the first terminal is the same, thereby avoiding the following problems. Figure 3 The problem of conflict between data frame and ACK frame is shown.

[0041] The first terminal in the present application may be a wireless access point (Access Point, referred to as AP), and the second terminal may be a station (Station, referred to as STA).

[0042] The specific implementation schemes corresponding to the above two solutions are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0043] Embodiment 1

[0044] Figure 4 This is a flow chart of the first embodiment of the data transmission method provided by this application. Figure 4 As shown, the data transmission method provided in this embodiment includes:

[0045] S401. The first terminal determines a sending time point of each data frame according to a length of each data frame in a plurality of data frames to be sent.

[0046] As described above, the multi-frequency channel technology supports the first terminal to communicate with multiple second terminals simultaneously using multiple channels. When the first terminal obtains multiple data frames to be sent to multiple second terminals, the sending time point of each data frame can be determined in the following manner:

[0047] First, obtain the longest data frame from multiple data frames to be sent, and then obtain the sending time difference between the longest data frame and a first data frame, where the first data frame is any data frame except the longest data frame among the multiple data frames to be sent; determine the sending time point of the first data frame based on the sending time point of the longest data frame and the above-mentioned sending time difference.

[0048] It should be noted that the sending time point of the longest data frame can be specified. For example, the Xsth time point after the first terminal receives all the data frames to be sent can be specified as the sending time point of the longest data frame.

[0049] In a possible implementation manner, the first terminal may obtain a length difference between a data frame with the longest length and the first data frame, and determine the sending time difference according to the length difference and a data transmission rate.

[0050] S402: Send each data frame to a corresponding second terminal according to the sending time point of the data frame.

[0051] S403: The second terminal sends an ACK frame to the first terminal.

[0052] The above S401-S403 process is described below by way of example:

[0053] See also Figure 5 As shown, terminal A and terminal B are both second terminals, the first terminal is about to send data frame 301 to terminal A, and the first terminal is about to send data frame 303 to terminal B. The first terminal finds the longest data frame 303 from data frames 301 and 303, and specifies Figure 5 Time point A is the time point when the first terminal sends data frame 303, then the length difference between data frame 303 and data frame 301 is calculated, and the length difference is divided by the data transmission rate to obtain the sending time difference between data frame 303 and data frame 301, and time point A is postponed to the time point B corresponding to the above sending time difference as the time point when the first terminal sends data frame 301. Since the first terminal postpones the sending time point of data frame 301, the time point when terminal A receives data frame 301 and the time point when terminal B receives data frame 303 are the same. After receiving data frame 301, terminal A sends ACK frame 302 to the first terminal after SIFS, and after receiving data frame 303, terminal B sends ACK frame 304 to the first terminal after SIFS. That is to say, terminal A and terminal B send ACK frame 302 and ACK frame 304 to the first terminal device at the same time, avoiding Figure 3 The data frame and the ACK frame conflict, resulting in the problem that the ACK frame cannot be received by the first terminal.

[0054] In the data transmission method provided in this embodiment, the first terminal obtains the lengths of multiple data frames to be sent. Since the data frame with the longest length corresponds to the longest receiving time, the data frame with the longest length is used as a reference to postpone the sending time points of other data frames, so that the time points at which each second terminal receives the data frame are the same, and the time points at which each second terminal sends an ACK frame to the first terminal are also the same, thereby avoiding the following problems: Figure 3The problem of conflict between data frame and ACK frame is shown.

[0055] Embodiment 2

[0056] Figure 6 This is a flow chart of Embodiment 2 of the data transmission method provided in this application. Figure 6 As shown, the data transmission method provided in this embodiment includes:

[0057] S601. A first terminal determines a time point at which each second terminal returns an ACK frame according to a length of each data frame in a plurality of data frames to be sent.

[0058] After the first terminal obtains multiple data frames to be sent to multiple second terminals, the time point at which each second terminal returns an ACK frame can be determined in the following manner:

[0059] Obtain the longest data frame from multiple data frames to be sent. For the sake of convenience, the second terminal corresponding to the longest data frame is referred to as the target terminal in this application; determine the time point when the target terminal returns an ACK frame based on the length of the longest data frame; obtain the time difference between the third terminal and the target terminal when the ACK frame is returned, and the third terminal is any terminal among the multiple second terminals except the target terminal; determine the time point when the third terminal returns the ACK frame based on the time point when the target terminal returns the ACK frame and the time difference when the ACK frame is returned.

[0060] Optionally, the time point at which the target terminal returns the ACK frame may be SIFS after the target terminal receives the data frame.

[0061] In one possible implementation, the first terminal may obtain the length difference between the longest data frame and the first data frame, where the first data frame is the data frame corresponding to the third terminal; and determine the time difference of returning the confirmation frame based on the length difference and the data transmission rate.

[0062] S602: The first terminal adds the time point at which each second terminal returns an ACK frame to a corresponding data frame.

[0063] In a possible implementation, the first terminal may add the time point at which each second terminal returns an acknowledgment frame to a padding field of a corresponding data frame.

[0064] S603: The first terminal sends corresponding data frames to multiple second terminals.

[0065] S604: The second terminal reads the time point of returning the acknowledgement frame from the received data frame.

[0066] S605: The second terminal sends an ACK frame to the first terminal according to the time point of the read return acknowledgment frame.

[0067] The following is an example of the above process of S601-S605:

[0068] See also Figure 7 As shown, the first terminal is about to send data frame 301 to terminal A, and the first terminal is about to send data frame 303 to terminal B. The first terminal finds the longest data frame 303 from data frames 301 and 303, and uses time point A after SIFS from when terminal B receives data frame 303 as the time point when terminal B returns an ACK frame, calculates the length difference between data frame 303 and data frame 301, divides the length difference by the data transmission rate, and obtains the time difference between terminal A and terminal B returning an ACK frame, and uses the time point B when terminal A receives data frame 301, and the time point after SIFS plus the above time difference is used as the time point when terminal A returns an ACK frame. See. Figure 7 As shown, starting from time point B, the time point after SISF plus the above time difference is exactly time point A, that is, terminal A and terminal B simultaneously send ACK frame 302 and ACK frame 304 to the first terminal, avoiding Figure 3 The data frame and the ACK frame conflict, resulting in the problem that the ACK frame cannot be received by the first terminal.

[0069] The data transmission method provided by the implementation of the present application takes the time point at which the target terminal sends an ACK frame to the first terminal as a reference, delays the time point at which other second terminals send ACK frames to the first terminal, so that the time points at which each second terminal sends an ACK frame to the first terminal are the same, thereby avoiding the following situation: Figure 3 The problem of conflict between data frame and ACK frame is shown.

[0070] Figure 8 The structure of the first terminal provided in this application is shown as follows: Figure 1 .like Figure 8 As shown, the first terminal provided by the present application may include:

[0071] A determination module 801 is used to determine a sending time point of each data frame according to the length of each data frame in the multiple data frames to be sent when the first terminal sends different data frames to the multiple second terminals;

[0072] The sending module 802 is used to send each data frame to the corresponding second terminal according to the sending time point of the data frame.

[0073] Optionally, the determination module 801 is specifically configured to:

[0074] Acquire the data frame with the longest length from the multiple data frames to be sent;

[0075] Acquire a sending time difference between the data frame with the longest length and a first data frame, where the first data frame is any data frame among the multiple data frames to be sent except the data frame with the longest length;

[0076] The sending time point of the first data frame is determined according to the sending time point of the data frame with the longest length and the sending time difference.

[0077] Optionally, the determination module 801 is specifically configured to:

[0078] Obtaining a length difference between the longest data frame and the first data frame;

[0079] The sending time difference is determined according to the length difference and the data transmission rate.

[0080] Figure 8 The first terminal shown can be used to execute the steps executed by the first terminal in Example 1. The implementation principle and technical effect are similar and will not be described in detail here.

[0081] Fig. 9 The structure of the first terminal provided in this application is shown as follows: Figure 2 .like Figure 8 As shown, the first terminal provided by the present application may include:

[0082] A determination module 901 is used to determine a time point at which each second terminal returns an acknowledgment frame according to the length of each data frame in the multiple data frames to be sent when the first terminal sends different data frames to multiple second terminals;

[0083] An adding module 902, configured to add a time point at which each second terminal returns an acknowledgment frame to a corresponding data frame;

[0084] The sending module 903 is used to send corresponding data frames to the multiple second terminals.

[0085] Optionally, the determination module 901 is specifically configured to:

[0086] Acquire the longest data frame from the multiple data frames to be sent, the second terminal corresponding to the longest data frame being the target terminal;

[0087] Determining a time point at which the target terminal returns an acknowledgment frame according to the length of the longest data frame;

[0088] Acquire a time difference between a third terminal and the target terminal returning an acknowledgment frame, wherein the third terminal is any one of the plurality of second terminals;

[0089] The time point at which the third terminal returns the acknowledgment frame is determined according to the time point at which the target terminal returns the acknowledgment frame and the time difference between the returned acknowledgment frame.

[0090] Optionally, the determination module 901 is specifically configured to:

[0091] Obtaining a length difference between the longest data frame and a first data frame, where the first data frame is a data frame corresponding to the third terminal;

[0092] The time difference of returning the acknowledgement frame is determined according to the length difference and the data transmission rate.

[0093] Optionally, the adding module 902 is specifically used for:

[0094] The time point at which each second terminal returns an acknowledgment frame is added to the padding field of the corresponding data frame.

[0095] Fig. 9 The first terminal shown can be used to execute the steps executed by the first terminal in Example 2. The implementation principle and technical effect are similar and will not be described in detail here.

[0096] Fig.10 This is a schematic diagram of the structure of the second terminal provided by this application. Fig.10 As shown, the second terminal provided by the present application may include:

[0097] The receiving module 1001 is used to receive a data frame from a first terminal;

[0098] A reading module 1002 is used to read a time point of returning an acknowledgment frame from the data frame;

[0099] The sending module 1003 is used to send an acknowledgment frame to the first terminal according to the time point of returning the acknowledgment frame.

[0100] Optionally, the reading module 1002 is specifically used for:

[0101] The time point of the returned acknowledgment frame is read from the padding field of the data frame.

[0102] Fig.10 The first terminal shown can be used to execute the steps executed by the second terminal in Example 2. The implementation principle and technical effect are similar and will not be described in detail here.

[0103] Fig.11 This is a schematic diagram of the structure of the terminal provided by this application. Fig.11 As shown, the terminal of this embodiment may include:

[0104] The memory 1101 is used to store program instructions.

[0105] The processor 1102 is used to implement the steps executed by the first terminal in Example 1, or the steps executed by the first terminal in Example 2, or the steps executed by the second terminal in Example 2 when the program instruction is executed. The specific implementation principle can be found in the above embodiments, and this application will not repeat it here.

[0106] The present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps executed by the first terminal in Embodiment 1 are implemented, or the steps executed by the first terminal in Embodiment 2 are implemented, or the steps executed by the second terminal in Embodiment 2 are implemented. The specific implementation principle can be found in the above embodiments, and the present application will not repeat it here.

[0107] The present application also provides a program product, the program product includes a computer program, the computer program is stored in a readable storage medium, at least one processor can read the computer program from the readable storage medium, and the at least one processor executes the computer program so that the terminal implements the steps executed by the first terminal in Example 1, or implements the steps executed by the first terminal in Example 2, or implements the steps executed by the second terminal in Example 2. The specific implementation principle can be found in the above embodiments, and this application will not be repeated here.

[0108] The terminal in this application may also be referred to as terminal equipment or user equipment.

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

[0110] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0111] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0112] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor (English: processor) to perform some steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (English: Read-Only Memory, abbreviated: ROM), random access memory (English: Random Access Memory, abbreviated: RAM), disk or optical disk and other media that can store program codes.

[0113] It should be understood that the processor described in this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this application can be directly implemented as a hardware processor, or can be implemented by a combination of hardware and software modules in the processor.

[0114] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A data transmission method, applied to a first terminal, when using multiple channels for communication, the first terminal can only simultaneously perform one of sending and receiving through the multiple channels, characterized in that: include: When the first terminal sends different data frames to multiple second terminals, obtaining the longest data frame from the multiple data frames to be sent; Obtaining a sending time difference between the data frame with the longest length and a first data frame, where the first data frame is any data frame among the multiple data frames to be sent except the data frame with the longest length; determining a sending time point of the first data frame according to the sending time point of the data frame with the longest length and the sending time difference, wherein the sending time point of the first data frame is later than the sending time point of the data frame with the longest length; According to the sending time point of each data frame, the data frame is sent to the corresponding second terminal, so that the multiple second terminals receive the data frame sent by the first terminal at the same time point and return an acknowledgment frame to the first terminal at the same time point.

2. The method according to claim 1, characterized in that The obtaining the sending time difference between the longest data frame and the first data frame includes: Obtaining a length difference between the longest data frame and the first data frame; The sending time difference is determined according to the length difference and the data transmission rate.

3. A data transmission method, applied to a first terminal, when using multiple channels for communication, the first terminal can only simultaneously send and receive through the multiple channels, characterized in that: include: When the first terminal sends different data frames to multiple second terminals, obtain the longest data frame from the multiple data frames to be sent, and the second terminal corresponding to the longest data frame is the target terminal; according to the length of the longest data frame, determine the time point when the target terminal returns an acknowledgment frame; Obtaining a time difference between a third terminal and the target terminal returning an acknowledgment frame, the third terminal being any one of the plurality of second terminals; determining a time point at which the third terminal returns an acknowledgment frame according to a time point at which the target terminal returns an acknowledgment frame and a time difference between the returned acknowledgment frame; wherein the time point at which each second terminal returns an acknowledgment frame is the same; Adding the time point at which each second terminal returns an acknowledgment frame to the corresponding data frame; Send corresponding data frames to the multiple second terminals.

4. The method according to claim 3, characterized in that The obtaining of the time difference between the third terminal and the target terminal returning the acknowledgement frame comprises: Obtaining a length difference between the longest data frame and a first data frame, where the first data frame is a data frame corresponding to the third terminal; The time difference of returning the acknowledgement frame is determined according to the length difference and the data transmission rate.

5. The method according to claim 3 or 4, characterized in that: The adding the time point at which each second terminal returns the acknowledgement frame to the corresponding data frame includes: The time point at which each second terminal returns an acknowledgment frame is added to the padding field of the corresponding data frame.

6. A data transmission method, applied to the second terminal according to claim 1 or claim 3, characterized in that: include: receiving a data frame from a first terminal; Reading a time point of returning an acknowledgment frame from the data frame; Send an acknowledgment frame to the first terminal according to the time point of returning the acknowledgment frame.

7. The method according to claim 6, characterized in that The time point of reading the returned acknowledgement frame from the data frame includes: The time point of the returned acknowledgment frame is read from the padding field of the data frame.

8. A terminal device, characterized in that: When multiple channels are used for communication, the first terminal can only simultaneously perform one of sending and receiving through the multiple channels, including: A determination module, used for obtaining the longest data frame from multiple data frames to be sent when the first terminal sends different data frames to multiple second terminals; obtaining the sending time difference between the longest data frame and a first data frame, the first data frame being any data frame other than the longest data frame among the multiple data frames to be sent; determining the sending time point of the first data frame according to the sending time point of the longest data frame and the sending time difference, wherein the sending time point of the first data frame is later than the sending time point of the longest data frame; The sending module is used to send the data frame to the corresponding second terminal according to the sending time point of each data frame, so that the multiple second terminals receive the data frame sent by the first terminal at the same time point and return the confirmation frame to the first terminal at the same time point.

9. A terminal device, characterized in that: When multiple channels are used for communication, the first terminal can only simultaneously perform one of sending and receiving through the multiple channels, including: A determination module, used for obtaining the longest data frame from multiple data frames to be sent when the first terminal sends different data frames to multiple second terminals, the second terminal corresponding to the longest data frame is the target terminal; determining the time point when the target terminal returns an acknowledgment frame according to the length of the longest data frame; obtaining the time difference between a third terminal and the target terminal returning an acknowledgment frame, the third terminal being any terminal among the multiple second terminals; determining the time point when the third terminal returns an acknowledgment frame according to the time point when the target terminal returns an acknowledgment frame and the time difference when the acknowledgment frame is returned; wherein the time point when each second terminal returns an acknowledgment frame is the same; An adding module, used for adding the time point at which each second terminal returns an acknowledgment frame to the corresponding data frame; A sending module is used to send corresponding data frames to the multiple second terminals.

10. A terminal device, characterized in that: The method according to claim 6 comprises: A receiving module, used for receiving a data frame from a first terminal; A reading module, used for reading a time point of returning an acknowledgment frame from the data frame; A sending module is used to send an acknowledgment frame to the first terminal according to the time point of returning the acknowledgment frame.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to claim 1, claim 3 or claim 6 is implemented.

12. A terminal device, characterized in that: include: processor; as well as A memory, configured to store executable instructions of the processor; Wherein, the processor is configured to implement the method of claim 1, claim 3 or claim 6 by executing the executable instructions.

Citation Information

Patent Citations

  • Wireless communication method, wireless communication apparatus and access point apparatus

    CN101087182A

  • Method and system for wireless real-time collection of multichannel digital audio

    US20100293286A1