Data packet transmission method and apparatus, communication system, electronic device, and storage medium

CN122700564APending Publication Date: 2026-09-04SIEMENS AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480085785.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-03-29
Publication Date
2026-09-04

AI Technical Summary

Technical Problem

[0004]然而,由于接入点顺序调度客户端上传数据,如果客户端有较多的高优先级数据,则会延迟接入点对后序客户端的调度,导致后序客户端上传数据延时,因此数据传输的时效性无法保证

Benefits of technology

[0024] According to an eighth aspect of the present application, a computer program product is provided, which is tangibly stored on a computer-readable medium and includes computer-executable instructions that, when executed, cause at least one processor to perform the data packet transmission method as described in the first or second aspect above.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122700564A_ABST
    Figure CN122700564A_ABST
Patent Text Reader

Abstract

The application provides a data packet transmission method, device, communication system, electronic equipment and storage medium. The data packet transmission method applied to an access point comprises the following steps: a first trigger frame is sent to a plurality of clients connected to the access point in a first time period, and a first data packet sent by the plurality of clients according to the first trigger frame is received, wherein the first trigger frame comprises first time length information, the first time length information is used for indicating an upper limit of time consumption of the client for sending the first data packet, and the first trigger frame sent to different clients comprises the same first time length information; a second trigger frame is sent to at least part of the plurality of clients in a second time period, and a second data packet sent by the client according to the received second trigger frame is received. The scheme can improve the timeliness of uploading data from the client to the access point.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] Industrial applications have strict requirements for transmission latency, such as transmitting PROFINET IO (PNIO) data via Wi-Fi. With the development of Wi-Fi technology, industrial applications are transmitting data via Wi-Fi 6. Wi-Fi 6 uses Orthogonal Frequency Division Multiple Access (OFDMA) technology and employs a triggered transmission mode for data transmission. That is, the Access Point (AP) uses a trigger frame, combined with Multi-user extension for Enhanced Distributed Channel Access (MU-EDCA) technology, to control the initiation of OFDMA transmission in both the uplink (UL) and downlink (DL) directions.

[0003] Currently, when the access point schedules the client to upload data, it prioritizes uploading high-priority data, and only uploads low-priority data after the high-priority data has been uploaded.

[0004] However, because the access point schedules client data uploads sequentially, if a client has a lot of high-priority data, it will delay the access point's scheduling of subsequent clients, causing delays in data uploads by subsequent clients. Therefore, the timeliness of data transmission cannot be guaranteed. Summary of the Invention

[0005] In view of this, the data packet transmission method, apparatus, communication system, electronic device and storage medium provided in this application can improve the timeliness of data transmission.

[0006] According to a first aspect of the embodiments of this application, a data packet transmission method is provided, applied to an access point. The method includes: sending a first trigger frame to a plurality of clients connected to the access point during a first time period, and receiving a first data packet sent by the plurality of clients according to the first trigger frame, wherein the first trigger frame includes first duration information, the first duration information being used to indicate the upper limit of time for the client to send the first data packet, and the first trigger frames sent to different clients including the same first duration information; and sending a second trigger frame to at least some of the plurality of clients during a second time period, and receiving a second data packet sent by the client according to the received second trigger frame.

[0007] In one possible implementation, the first trigger frame includes first priority information, which instructs the client to send data frames to the access point in descending order of priority. Based on the first priority information, the client can prioritize packaging higher-priority data frames into a first data packet, allowing the client to send at least a portion of the higher-priority data frames to the access point, thereby ensuring that high-priority data frames are sent to the access point in a timely manner.

[0008] In one possible implementation, the method further includes: determining the duration of the second time period based on the duration of the first time period and the scheduling cycle of the access point scheduling client, such that the sum of the durations of the first time period and the second time period falls within a certain range. , Used to characterize the scheduling period. Used to characterize the preset duration threshold, The sum of the durations of the first and second time periods is a positive number, and the two time periods are sequentially adjacent. The range of the sum of the durations of the first and second time periods is... This ensures that the sum of the durations of the first and second time periods does not exceed the scheduling cycle by too much, preventing the current scheduling cycle from taking up too much time in the next scheduling cycle and affecting the data upload in the next scheduling cycle, thereby ensuring the timeliness of the client uploading data to the access point.

[0009] In one possible implementation, sending a second trigger frame to at least some of the plurality of clients during the second time period includes: receiving buffer status information sent by the plurality of clients, the buffer status information being used at least to indicate the priority and data volume of data frames cached by the corresponding client after sending a first data packet to the access point according to the first trigger frame; determining at least one target client from the plurality of clients based on the scheduling status of the plurality of clients during the first time period and the buffer status information from the plurality of clients; and sending a second trigger frame to the at least one target client during the second time period. Determining the target client based on the scheduling status of each client during the first time period and the buffer status information allows the target client to be scheduled to upload data packets during the second time period. While ensuring the timeliness of client data uploads, users can customize the scheduling logic during the second time period according to their needs, improving the flexibility of the access point in scheduling clients and thus making it suitable for different application scenarios.

[0010] In one possible implementation, the buffer status information and the first data packet are sent together by the client. The access point does not need to send buffer status report polling frames to the client, which reduces the number of communications between the access point and the client and improves the efficiency of data transmission between the access point and the client.

[0011] In one possible implementation, the second trigger frame includes second duration information, which indicates the upper limit of the time required for the target client to send the second data packet. Upon receiving the second trigger frame, the client organizes the second data packet according to the second duration information carried in the second trigger frame and sends the second data packet to the access point. This ensures that the total time taken for the target client to send the second data packet does not exceed the duration of the second time period by too much, thereby preventing the current scheduling cycle from occupying too much time in the next scheduling cycle and affecting data upload in the next scheduling cycle.

[0012] In one possible implementation, the method further includes: after determining the target client, obtaining a reference duration calculated by the chip in the access point for the target client; calculating the sum of the duration of the first time period and the time consumed by the scheduled client within the second time period to obtain the used duration; if the sum of the used duration and the reference duration is greater than... Then, the second duration information of the target client is determined to be the difference between the scheduling period and the elapsed duration; if the sum of the elapsed duration and the reference duration is less than or equal to... If the sum of the used time and the reference time is greater than 1, then the second duration information of the target client is determined as the reference duration. The difference between the scheduling period and the elapsed time is determined as the second duration information, ensuring that the sum of the time taken for the target client to send the second data packet does not exceed the duration of the second time period by too much. If the sum of the elapsed time and the reference duration is less than or equal to... If the reference duration is determined as the second duration information, the target client can send more data to the access point within the second time period, thereby improving communication efficiency.

[0013] In one possible implementation, the second trigger frame includes second priority information, which instructs the target client to send data frames to the access point in descending order of priority. Upon receiving the second trigger frame, the client packages higher-priority data frames into a second data packet based on the second priority information. This allows the client to prioritize sending higher-priority data frames to the access point, ensuring timely delivery and normal service operation.

[0014] According to a second aspect of the embodiments of this application, a data packet transmission method is provided, applied to a client. The method includes: receiving a first trigger frame sent by an access point within a first time period, the first trigger frame including first duration information, the first duration information being used to indicate an upper limit of time for the client to send a data packet to the access point according to the first trigger frame, the access point sending the first trigger frame to multiple clients within the first time period, and the first trigger frames sent to different clients including the same first duration information; sending a first data packet to the access point according to the first trigger frame, wherein the time spent sending the first data packet is less than or equal to the upper limit of time spent indicated by the first duration information; and after receiving a second trigger frame sent by the access point within a second time period, sending a second data packet to the access point according to the second trigger frame.

[0015] In one possible implementation, the method further includes: determining at least one data frame from the cached data frames according to the first priority information and the first duration information included in the first trigger frame, in descending order of corresponding priorities; packaging the determined at least one data frame to obtain the first data packet, so that the client can send at least some of the higher priority data frames to the access point first, thereby ensuring that the high priority data frames can be sent to the access point in a timely manner.

[0016] In one possible implementation, the method further includes: sending buffer status information to the access point, so that the access point sends the second trigger frame according to the buffer status information, wherein the buffer status information is at least used to indicate the priority and data volume of data frames cached by the client, excluding the first data packet. Sending the buffer status information to the access point allows the access point to determine the priority and data volume of data frames cached by the client at the start of the second time period, and then determine the target client based on the scheduling status of each client in the first time period and the buffer status information sent by each client, so as to schedule the target client to upload data packets in the second time period. While ensuring the timeliness of client data upload, users can customize the scheduling logic in the second time period according to their needs, improving the flexibility of the access point in scheduling clients, thus making it suitable for different application scenarios.

[0017] In one possible implementation, the client sends the buffer status information and the first data packet together to the access point. The access point does not need to send buffer status report polling frames to the client, which reduces the number of communications between the access point and the client and improves the efficiency of data transmission between the access point and the client.

[0018] In one possible implementation, when the client sends a second data packet to the access point based on the second trigger frame, it can determine at least one data frame from the cached data frames according to the second priority information and second duration information included in the second trigger frame, in descending order of priority. The second duration information is used to indicate the upper limit of the time taken for the client to send the second data packet, and is determined based on the duration of the second time period and the client's buffer state information. Then, the determined at least one data frame is packaged to obtain the second data packet. The time taken for the client to send the second data packet is less than or equal to the upper limit of the time taken indicated by the second duration information. This ensures that the sum of the time taken for the target client to send the second data packet does not exceed the duration of the second time period by too much, thereby avoiding the current scheduling cycle occupying too much time in the next scheduling cycle and affecting data upload in the next scheduling cycle.

[0019] According to a third aspect of the embodiments of this application, a data packet transmission apparatus is provided, applied to an access point, comprising: a first communication unit, configured to send a first trigger frame to a plurality of clients connected to the access point within a first time period, and to receive a first data packet sent by the plurality of clients according to the first trigger frame, wherein the first trigger frame includes first duration information, the first duration information being used to indicate an upper limit of time for the client to send the first data packet, and the first trigger frames sent to different clients include the same first duration information; and a second communication unit, configured to send a second trigger frame to at least some of the plurality of clients within a second time period, and to receive a second data packet sent by the client according to the received second trigger frame.

[0020] According to a fourth aspect of the present application, a data packet transmission apparatus is provided, applied to a client, comprising: a receiving unit, configured to receive a first trigger frame sent by an access point within a first time period, the first trigger frame including first duration information, the first duration information being used to indicate an upper limit of time for the client to send a data packet to the access point according to the first trigger frame, the access point sending the first trigger frame to multiple clients within the first time period, and the first trigger frames sent to different clients including the same first duration information; a sending unit, configured to send a first data packet to the access point according to the first trigger frame, wherein the time spent sending the first data packet is less than or equal to the upper limit of time spent indicated by the first duration information; and a third communication unit, configured to send a second data packet to the access point according to the second trigger frame after receiving a second trigger frame sent by the access point within a second time period.

[0021] According to a fifth aspect of the present application, a communication system is provided, comprising: an access point and a plurality of clients connected to the access point, wherein the access point and the clients communicate via a wireless network; the access point is configured to perform the data packet transmission method described in the first aspect above; and the clients are configured to perform the data packet transmission method described in the second aspect above.

[0022] According to a sixth aspect of the present application, an electronic device is provided, comprising: a processor, a memory, a communication interface, and a bus, wherein the processor, the memory, and the communication interface communicate with each other via the bus; the memory is used to store at least one executable instruction, wherein the executable instruction causes the processor to perform an operation corresponding to the data packet transmission method described in the first or second aspect above.

[0023] According to a seventh aspect of the present application, a computer-readable storage medium is provided, wherein computer instructions are stored on the computer-readable storage medium, and when executed by a processor, the computer instructions cause the processor to perform the data packet transmission method as described in the first or second aspect above.

[0024] According to an eighth aspect of the present application, a computer program product is provided, which is tangibly stored on a computer-readable medium and includes computer-executable instructions that, when executed, cause at least one processor to perform the data packet transmission method as described in the first or second aspect above.

[0025] As can be seen from the above technical solution, the access point sends a first trigger frame to each client connected to it in the first time period of a scheduling cycle. Since the first duration information included in the first trigger frame indicates a fixed time limit, the time limit for each client to send the first data packet to the access point according to the first trigger frame is the same, ensuring that each client has the opportunity to send data packets to the access point in a scheduling cycle. In the second time period, the access point can also schedule one or more clients to upload data packets again according to the scheduling logic. Therefore, when the preceding client has a lot of high-priority data to upload, the data of the subsequent client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness of the client uploading data to the access point. Attached Figure Description

[0026] Figure 1 This is a flowchart of a data packet transmission method according to an embodiment of this application; Figure 2 This is a schematic diagram showing the distribution of the first and second time periods according to an embodiment of this application; Figure 3 This is a flowchart of a data packet transmission method according to another embodiment of this application; Figure 4 This is a schematic diagram of a data packet transmission apparatus according to an embodiment of this application; Figure 5 This is a schematic diagram of a data packet transmission apparatus according to another embodiment of this application; Figure 6 This is a schematic diagram of a communication system according to an embodiment of this application; Figure 7 This is a schematic diagram of an electronic device according to an embodiment of this application.

[0027] List of reference numerals in the attached diagram: Detailed Implementation

[0028] To enable those skilled in the art to better understand the technical solutions in the embodiments of this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art should fall within the protection scope of the embodiments of this application.

[0029] With the development of Wi-Fi technology, it has been applied in the industrial field to transmit data between access points and clients. Clients can be various devices with wireless communication capabilities in industrial scenarios, such as sensors, alarms, and controllers. Since an access point can connect to multiple clients, it schedules client data uploads by sending trigger frames to the clients. Currently, when scheduling client data uploads, the access point prioritizes high-priority data uploads, and only uploads low-priority data after the high-priority data is uploaded. Because the access point schedules client uploads sequentially, if a preceding client has a lot of high-priority data, uploading that high-priority data will take a long time, causing delays in subsequent client uploads. Therefore, the current method of access point client scheduling cannot guarantee the timeliness of data transmission.

[0030] In this embodiment, the access point schedules client data packet uploads in two time periods within a scheduling cycle. In the first time period, trigger frames are sent to each connected client, allocating a fixed duration for each client to upload data packets. In the second time period, trigger frames are sent to some or all clients according to a set scheduling logic, allocating variable durations for each client to upload data packets. In the first time period, the access point allocates fixed durations for client data packet uploads, ensuring that each client can send data packets to the access point. This allows subsequent clients to upload data to the access point in a timely manner even when a preceding client has a large amount of high-priority data to upload. In the second time period, the access point schedules client data packet uploads based on the client scheduling in the first time period and the cached data to be uploaded by the clients. This ensures that clients can prioritize the transmission of high-priority data while also providing an opportunity for low-priority data to be transmitted.

[0031] The data packet transmission method, apparatus, communication system, electronic device, and storage medium provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0032] Data packet transmission method applied to access points

[0033] Figure 1 This is a flowchart of a data packet transmission method according to an embodiment of this application, which is applied to an access point. Figure 1 As shown, the data packet transmission method 100 includes the following steps: Step 101: Send the first trigger frame to multiple clients connected to the access point within the first time period.

[0034] An access point connects multiple clients via a wireless network, such as Wi-Fi 6. Data is transmitted between the access point and the clients via the wireless network. The channel through which the access point sends data to the clients via the wireless network is called the downlink, and the channel through which the clients send data to the access point via the wireless network is called the uplink. This application focuses primarily on the process of the client sending data to the access point, i.e., the data transmission process in the uplink direction. The client sends data to the access point in the form of data packets, as detailed in the 802.11ax wireless standard, which will not be elaborated upon here.

[0035] The access point schedules clients to send data packets to the access point by sending trigger frames. Clients receiving the trigger frames gain access to the channel access medium and send data packets to the access point through the channel access medium. The access point schedules its connected clients to upload data packets according to a scheduling period, which includes a first time period and a second time period. During the first time period, the access point sequentially sends a first trigger frame to multiple clients connected to it to schedule them to send data packets to the access point in that order.

[0036] The access point can schedule clients according to a preset logical order. This application embodiment does not limit the order in which clients are scheduled.

[0037] After the access point sends the first trigger frame to the client, the client can send the first data packet to the access point based on the first trigger frame. The first trigger frame includes first duration information, which is a fixed value defined by the user according to the industrial scenario. The first duration information is used to indicate the upper limit of the time required for the client to send the first data packet. That is, when the client sends the first data packet to the access point according to the first trigger frame, the time taken to send the first data packet must be less than or equal to the upper limit of the time taken indicated by the first duration information. After receiving the first trigger frame, the client organizes the data frames to be sent to the access point according to the first duration information included in the first trigger frame to obtain the first data packet, and ensures that the time taken to send the first data packet is less than or equal to the upper limit of the time taken indicated by the first duration information.

[0038] The time taken for the client to send the first data packet includes: the time it takes for the first data packet to travel from the client to the access point, and the time it takes for the access point to acknowledge the received first data packet. After receiving the first data packet, the access point will acknowledge the first data packet and send an acknowledgment message (ACK) to the client.

[0039] The first trigger frame sent by the access point to different clients includes the same first duration information, meaning that different clients have the same upper limit on the time it takes to send the first data packet to the access point based on the first trigger frame. For example, if the upper limit of the time indicated by the first duration information is 100μs, each client can send a first data packet to the access point with a time not exceeding 100μs after receiving the first trigger frame.

[0040] It should be noted that, in addition to the first duration information, the first trigger frame may also include communication data that the access point needs to send to the client.

[0041] Step 102: Receive the first data packet sent by multiple clients according to the first trigger frame.

[0042] After receiving the first trigger frame sent by the access point, the client will organize some or all of the data frames that need to be sent to the access point into a first data packet based on the first trigger frame, and then send the first data packet to the access point.

[0043] It should be noted that after receiving the first trigger frame, if the client has no data to send to the access point, or does not meet the conditions for sending a data packet to the access point, the client will not send the first data packet to the access point. The client may send an indication message to the access point indicating that there is no data to upload, or it may not reply to the first trigger frame.

[0044] Step 103: Send a second trigger frame to at least some of the multiple clients during the second time period.

[0045] During a second time period following the end of the first time period, the access point sends a second trigger frame to at least some of the multiple clients it is connected to, in order to schedule one or more clients to send data packets to the access point in accordance with the second trigger frame.

[0046] During the second time period, the access point can send a second trigger frame to one or more clients according to a pre-set scheduling logic to schedule the clients to upload data packets. This application embodiment does not limit the logic of the access point scheduling clients during the second time period.

[0047] It should be noted that the second trigger frame may include communication data that the access point needs to send to the client.

[0048] Step 104: Receive the second data packet sent by the client based on the received second trigger frame.

[0049] After receiving the second trigger frame from the access point, the client will organize some or all of the data frames that need to be sent to the access point into a second data packet based on the second trigger frame, and then send the second data packet to the access point. Clients that do not receive the second trigger frame will not send data packets to the access point.

[0050] It should be noted that after receiving the second trigger frame, if the client has no data to send to the access point, or the conditions for sending a data packet to the client are not met, the client will not send the second data packet to the access point. The client may send an indication message to the access point indicating that there is no data to upload, or it may not reply with the second trigger frame.

[0051] In this embodiment, the access point sends a first trigger frame to each client connected to it during the first time period of a scheduling cycle. Since the first duration information included in the first trigger frame indicates a fixed time limit, the time limit for each client to send the first data packet to the access point according to the first trigger frame is the same, ensuring that each client has the opportunity to send data packets to the access point within a scheduling cycle. During the second time period, the access point can also schedule one or more clients to upload data packets again according to the scheduling logic. Therefore, when the preceding client has a lot of high-priority data to upload, the data of the subsequent client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness of the client uploading data to the access point.

[0052] In one possible implementation, the first trigger frame includes first priority information, which can instruct the client to send data frames to the access point in descending order of priority, and the first data packet includes at least one data frame.

[0053] The first trigger frame sent by the access point to the client carries first priority information, such as the preferred access class (Preferred AC) field in the first trigger frame. The first priority information can instruct the client to send data frames to the access point in descending order of priority.

[0054] Data frames sent from the client to the access point have corresponding priorities. For example, data frame priorities are divided into priority 0, priority 1, priority 2, and priority 3, with priority 3 being the first priority. After receiving the first trigger frame, the client parses it to obtain the first priority information. Then, based on the first priority information, the client organizes the higher-priority data frames into the first data packet and sends it to the access point. The client selects data frames in descending order of priority and packages them into the first data packet. The priority of the data frames in the first data packet is no lower than the priority of the data frames not included in the first data packet.

[0055] Provided that the time taken to send the first data packet does not exceed the time limit indicated by the first duration information, the client selects data frames from the cached data frames in descending order of priority to send to the access point, and packages the selected data frames into the first data packet. For example, the client prioritizes data frames of priority 3. If there are no data frames of priority 3 or there are few data frames of priority 3, it can select data frames of priority 2, and so on, until the time taken to send the first data packet after packaging the selected data frames into the first data packet is close to or equal to the time limit indicated by the first duration information. If the client has few cached data frames, and the time taken to send the first data packet after packaging all cached data frames into the first data packet will not exceed the time limit indicated by the first duration information, then all cached data frames can be packaged into the first data packet.

[0056] In this embodiment of the application, the first trigger frame includes first priority information. After receiving the first trigger frame, the client prioritizes packaging higher priority data frames into the first data packet according to the first priority information, so that the client can prioritize sending at least some higher priority data frames to the access point, thereby ensuring that high priority data frames can be sent to the access point in a timely manner.

[0057] In one possible implementation, after the first time period ends, the access point can determine the duration of the second time period based on the length of the first time period and the access point's client scheduling cycle, and thus determine the clients scheduled within the second time period. The sum of the durations of the first and second time periods can range from [value missing]. ,in, Used to characterize the scheduling period Used to characterize the preset duration threshold, If the value is positive, the first time period and the second time period are adjacent in time sequence.

[0058] Because the time taken to send the first data packet is affected by the data size of the first data packet, although the time taken to send the first data packet is less than or equal to the upper limit of the time indicated by the first duration information, the time taken to send the first data packet may be any value less than this upper limit. Therefore, the duration of the first time period is not fixed. To ensure the reliability of the access point's periodic scheduling of client data uploads, the sum of the durations of the first time period and the second time period should not exceed the scheduling cycle by too much. Therefore, the duration of the second time period can be determined based on the duration of the first time period and the scheduling cycle, and the sum of the determined durations of the second time period and the first time period falls within the range of values. Inside.

[0059] Figure 2 A schematic diagram illustrating the distribution of the first and second time periods is shown. For example... Figure 2As shown, during the first time period T1, the access point sends the first trigger frame to the client STA and receives the first data packet sent by the client STA. Figure 2 Clients STA1, STA2, STA3, and STA4 are shown, but those skilled in the art will understand that the number of clients sending the first data packet to the access point can be other than that shown. During the second time period T2, the access point sends a second trigger frame to the client STA and receives the second data packet sent by the client STA. Figure 2 Clients STAm and STAn are shown, but those skilled in the art will understand that the number of clients sending the second data packet to the access point can be other than that shown.

[0060] The sum of the durations of the first time period T1 and the second time period T2 equals Tc, but Tc is not necessarily equal to the pre-set scheduling period. Tc and satisfy .

[0061] In this embodiment, since the duration of the first time period is not fixed, after the first time period ends, the duration of the second time period is determined based on the duration of the first time period and the scheduling cycle, such that the sum of the durations of the first and second time periods falls within a certain range. This ensures that the sum of the durations of the first and second time periods does not exceed the scheduling cycle by too much, preventing the current scheduling cycle from taking up too much time in the next scheduling cycle and affecting the data upload in the next scheduling cycle, thereby ensuring the timeliness of the client uploading data to the access point.

[0062] In one possible implementation, after sending a first trigger frame to a client, the access point can receive buffer status information sent by the client. This buffer status information at least indicates the priority and data volume of the data frames buffered by the corresponding client after sending the first data packet to the access point according to the first trigger frame. Upon receiving the buffer status information from each client, the access point can determine at least one target client from among its connected clients based on the scheduling of multiple clients in a first time period and the buffer status information, and then send a second trigger frame to the determined target client in a second time period.

[0063] The buffer status information can indicate the priority and data volume of the data frames cached by the corresponding client after the client sends the first data packet. Based on the buffer status information, the access point can determine the priority and data volume of the data frames cached by each client at the start of the second time period. Then, according to the pre-set scheduling logic, the access point can select the target client from the clients connected to the access point to schedule the target client to upload data packets during the second time period.

[0064] In some examples, the access point determines the target client based on the buffer status information sent by each client. This can be done by selecting clients that still have high-priority data frames cached, clients whose cached data frame volume exceeds a certain threshold, or clients that did not upload the first data packet within the first time period. Users can configure the access point's client scheduling logic for the second time period according to their actual needs.

[0065] The access point's scheduling status for each client during the first time period includes whether each client was successfully scheduled and whether each client uploaded high-priority data frames during the first time period. Based on this scheduling status and buffer status information, the target client can be determined, and the client can be reasonably scheduled during the second time period.

[0066] In this embodiment, the access point receives buffer status information sent by the client. Based on the buffer status information, the priority and data volume of the data frames cached by the client at the start of the second time period can be determined. Then, based on the scheduling status of each client in the first time period and the buffer status information, the target client can be determined so as to schedule the target client to upload data packets in the second time period. While improving the timeliness of client data upload, users can customize the scheduling logic in the second time period according to their needs, thereby improving the flexibility of the access point in scheduling clients and making it suitable for different application scenarios.

[0067] In one possible implementation, the buffer state information and the first data packet are sent together by the client.

[0068] After sending the first trigger frame to the client, the client organizes the first data packet according to the first trigger frame. After organizing the first data packet, the client can generate buffer status information based on the remaining data frames, and then send the buffer status information and the first data packet together to the access point.

[0069] Access points obtain buffer status information in at least two ways. One is that the access point sends a Buffer Status Report Poll (BSRP) frame to the client, and the client sends the buffer status information to the access point after receiving the BSRP frame. The other is that the client appends the buffer status information to the first data packet and sends the first data packet and the buffer status information together to the access point.

[0070] It should be noted that, assuming the client is configured to send buffer status information and the first data packet together, before sending the second data packet to the access point, the client will generate new buffer status information based on the remaining data frames after organizing the second data packet. This new buffer status information can indicate the priority and amount of data frames cached by the client after organizing the second data packet, and then send the new buffer status information and the second data packet together to the access point.

[0071] In this embodiment, the buffer status information and the first data packet are sent to the access point together by the client. The access point does not need to send BSRP frames to the client, which reduces the number of communications between the access point and the client and improves the efficiency of data transmission between the access point and the client.

[0072] In one possible implementation, the second trigger frame may include second duration information, which indicates the upper limit of time for the target client to send the second data packet. That is, when the client sends the second data packet to the access point according to the second trigger frame, the time taken to send the second data packet must be less than or equal to the upper limit of time indicated by the second duration information. After receiving the second trigger frame, the client organizes the data frames to be sent to the access point according to the second duration information included in the second trigger frame to obtain the second data packet, ensuring that the time taken to send the second data packet is less than or equal to the upper limit of time indicated by the second duration information.

[0073] The time taken for the client to send the second data packet includes: the time it takes for the second data packet to travel from the client to the access point, and the time it takes for the access point to acknowledge the received second data packet. After receiving the second data packet, the access point will acknowledge it and send an acknowledgment (ACK) character to the client.

[0074] The second trigger frame sent by the access point to different target clients may include different second duration information, meaning that different target clients have different upper limits on the time it takes to send the second data packet to the access point based on the received second trigger frame. For example, if the second duration information carried in the second trigger frame received by client STAM indicates an upper limit of 80μs, and the second duration information carried in the second trigger frame received by client STAN indicates an upper limit of 100μs, then client STAM can send a second data packet to the access point with a duration not exceeding 80μs, and client STAN can send a second data packet to the access point with a duration not exceeding 100μs.

[0075] Since the time taken to send the second data packet is affected by the amount of data in the second data packet, although the time taken to send the second data packet is less than or equal to the upper limit of the time indicated by the second duration information, the time taken to send the second data packet may be any value less than the upper limit of the time. Therefore, the duration of the second time period is not fixed.

[0076] In this embodiment, after receiving the second trigger frame, the client organizes the second data packet according to the second duration information carried by the second trigger frame and sends the second data packet to the access point, so that more clients can have the opportunity to upload data in the second time period, thereby ensuring that the client can send the data to the access point in a timely manner.

[0077] In one possible implementation, the access point can sequentially identify multiple target clients. After identifying a target client, a second trigger frame is sent to that target client. Upon receiving the second data packet sent by that target client, the next target client is identified, and this process continues until the sum of the durations of the first and second time periods is less than or equal to... Under the premise that there is no remaining time in the second time period or the remaining time is insufficient for a client to upload data.

[0078] After identifying a target client, the access point can obtain the reference duration calculated by its included chips for that target client. Then, it calculates the sum of the duration of the first time period and the time consumed by scheduling the client within the second time period to obtain the used duration. If the sum of the used duration and the reference duration is greater than... Then, the second duration information for the target client is determined as the difference between the scheduling period and the elapsed duration. If the sum of the elapsed duration and the reference duration is less than or equal to... Then, the second duration information of the target client is determined as the reference duration.

[0079] For any identified target client, by calling the chip in the access point, the chip can calculate the reference duration for that target client. The calculation method for the reference duration is provided by the chip supplier, and this application embodiment does not limit the calculation method for the reference duration.

[0080] The access point can count the time it has spent scheduling clients in the second time period. When the first target client is determined, the time the access point has spent scheduling clients in the second time period is 0. When the nth target client is determined, the time the access point has spent scheduling clients in the second time period is the time spent scheduling the first n-1 target clients, where n is an integer greater than or equal to 2.

[0081] After obtaining the reference duration corresponding to the target client, the access point can calculate the sum of the duration of the first time period and the time consumed by the scheduled client in the second time period, and use the calculation result as the used duration of the current scheduling cycle. Then, the sum of the used duration and the reference duration is multiplied by... Compare them.

[0082] If the sum of the used time and the reference time is greater than If the reference duration corresponding to the target client is determined as the second duration information of the target client, the sum of the durations of the first time period and the second time period will exceed the scheduling cycle by a large margin, which will affect the operation of the next scheduling cycle and thus affect the determinism of data transmission. Therefore, the second duration information of the target client is determined as the difference between the scheduling cycle and the elapsed duration. After the access point receives the second data packet uploaded by the target client, the current scheduling cycle ends.

[0083] If the sum of the used time and the reference time is less than or equal to If the reference duration corresponding to the target client is determined as the second duration information of the target client, the sum of the durations of the first time period and the second time period will not exceed the scheduling cycle by much and will not affect the operation of the next scheduling cycle. Therefore, the second duration information of the target client is determined as the reference duration.

[0084] In one example, the reference duration calculated by the chip in the access point for a specific target client is 500μs, and the scheduling period is... The duration threshold is 32ms. The elapsed time is t, which is 200μs. If t + 500μs > (32ms + 200us), then the second duration information of the target client is determined to be 32ms + 200us – t. If t + 500μs ≤ (32ms + 200us), then the second duration information of the target client is determined to be 500μs.

[0085] In this embodiment, the chip in the access point calculates a reference duration for the target client. If the sum of the elapsed duration and the reference duration is greater than... Then, the second duration information for the target client is determined to be the difference between the scheduling period and the elapsed duration. This ensures that the sum of the durations of the first and second time periods does not exceed the scheduling period by too much, thus not affecting the operation of the next scheduling period and guaranteeing the determinism of data transmission. If the sum of the elapsed duration and the reference duration is less than or equal to... If the second duration information of the target client is determined as the reference duration, the client is scheduled according to the reference duration calculated by the chip in the second time period to ensure the rationality of the duration allocation.

[0086] In one possible implementation, the second trigger frame may also include second priority information, which may instruct the target client to send data frames to the access point in descending order of priority.

[0087] The second trigger frame sent by the access point to the target client carries second priority information, such as the preferred access class (Preferred AC) field in the second trigger frame. The second priority information can instruct the client to send data frames to the access point in descending order of priority.

[0088] Provided that the time taken to send the second data packet does not exceed the time limit indicated by the second duration information, the target client can select data frames from the cached data frames to send to the access point in descending order of priority, and package the selected data frames to obtain the second data packet.

[0089] It should be noted that the process by which the client organizes the second data packet based on the second duration information is similar to the process by which the client organizes the first data packet based on the first duration information. For details on how the client organizes the second data packet based on the second duration information, please refer to the aforementioned description of how the client organizes the first data packet based on the first duration information, which will not be repeated here.

[0090] In this embodiment of the application, the second trigger frame includes second priority information. After receiving the second trigger frame, the client packages the higher priority data frames into the second data packet according to the second priority information, so that the client can send the higher priority data frames to the access point first, ensuring that the high priority data frames can be sent to the access point in a timely manner and ensuring the normal operation of the service.

[0091] Data packet transmission methods applied to the client

[0092] Figure 3 This is a flowchart of a data packet transmission method according to another embodiment of this application, which is applied to a client. Figure 3 As shown, the data packet transmission method 300 includes the following steps: Step 301: Receive the first trigger frame sent by the access point within the first time period.

[0093] The first trigger frame includes first duration information, which indicates the maximum time limit for the client to send data packets to the access point based on the first trigger frame. The access point can send the first trigger frame to multiple clients within the first time period, and the first trigger frames sent to different clients include the same first duration information.

[0094] Step 302: Send the first data packet to the access point according to the first trigger frame.

[0095] The client organizes the first data packet according to the first duration information included in the first trigger frame, such that the time taken to send the first data packet is less than or equal to the upper limit of the time indicated by the first duration information, and then sends the first data packet to the access point.

[0096] Step 303: After receiving the second trigger frame sent by the access point in the second time period, send the second data packet to the access point according to the second trigger frame.

[0097] After sending the first data packet to the access point, the access point may send a second trigger frame to the client. If the client receives the second trigger frame, it sends a second data packet to the access point based on the second trigger frame. If the client does not receive the second trigger frame sent by the access point, it does not need to send a second data packet to the access point.

[0098] It should be noted that the embodiments of this application describe the process of the client uploading data packets to the access point on the client side, while the aforementioned embodiments describe the process of the client uploading data packets to the access point on the access point side. Therefore, the client's operation during data packet transmission can be referred to the description of the data packet transmission process on the access point side in the aforementioned embodiments, and the process of data packet transmission on the client side will not be described in detail here.

[0099] In this embodiment, the access point sends a first trigger frame to each client connected to it during the first time period of a scheduling cycle. Since the first duration information included in the first trigger frame indicates a fixed time limit, the time limit for each client to send the first data packet to the access point according to the first trigger frame is the same, ensuring that each client has the opportunity to send data packets to the access point within a scheduling cycle. During the second time period, the access point can also schedule one or more clients to upload data packets again according to the scheduling logic. Therefore, when the preceding client has a lot of high-priority data to upload, the data of the subsequent client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness of the client uploading data to the access point.

[0100] In one possible implementation, after receiving the first trigger frame, the client can determine at least one data frame from the cached data frames according to the first priority information and the first duration information included in the first trigger frame, in descending order of priority, and then package the determined data frames to obtain the first data packet.

[0101] In this embodiment of the application, after receiving the first trigger frame, the client prioritizes packaging higher priority data frames into the first data packet according to the first priority information, so that the client can prioritize sending at least some of the higher priority data frames to the access point, thereby ensuring that high priority data frames can be sent to the access point in a timely manner.

[0102] In one possible implementation, the client can send buffer status information to the access point so that the access point can send a second trigger frame based on the buffer status information. The buffer status information is used to indicate at least the priority and amount of data frames cached by the client, in addition to the first data packet.

[0103] In this embodiment, after the client packages the data frame to obtain the first data packet, it sends buffer status information to the access point. This allows the access point to determine the priority and data volume of the data frame cached by the client at the start of the second time period based on the buffer status information. Subsequently, the access point can determine the target client based on the duration of the second time period and the buffer status information, and schedule the target client to upload data packets within the second time period. While improving the timeliness of client data upload, users can customize the scheduling logic within the second time period according to their needs, thereby improving the flexibility of the access point in scheduling clients and making it suitable for different application scenarios.

[0104] In one possible implementation, the client can send the buffer state information along with the first data packet to the access point.

[0105] In this embodiment, the client sends the buffer status information and the first data packet to the access point together. The access point does not need to send BSRP frames to the client, which reduces the number of communications between the access point and the client and improves the efficiency of data transmission between the access point and the client.

[0106] In one possible implementation, when the client sends a second data packet to the access point based on the second trigger frame, it can determine at least one data frame from the buffered data frames according to the second priority information and second duration information included in the second trigger frame, in descending order of priority. The second duration information is used to indicate the upper limit of the time required for the client to send the second data packet, and the second duration information is determined based on the duration of the second time period and the client's buffer state information. Then, the determined at least one data frame is packaged to obtain the second data packet, and the time taken for the client to send the second data packet is less than or equal to the upper limit of the time indicated by the second duration information.

[0107] In this embodiment, after receiving the second trigger frame, the client organizes the second data packet according to the second duration information carried by the second trigger frame and sends the second data packet to the access point. This ensures that the total time taken by the target client to send the second data packet will not exceed the duration of the second time period by too much, thereby avoiding the situation where the current scheduling cycle occupies too much time in the next scheduling cycle and affects the data upload in the next scheduling cycle.

[0108] It should be noted that the data packet transmission method applied to the client in this embodiment is based on the same concept as the data packet transmission method applied to the access point in the previous embodiment. For details, please refer to the description in the previous embodiment of the data packet transmission method applied to the access point, which will not be repeated here.

[0109] Data packet transmission device used in access points

[0110] Figure 4This is a schematic diagram of a data packet transmission apparatus according to an embodiment of this application, which is applied to an access point. Figure 4 As shown, the data packet transmission device 400 includes: The first communication unit 401 is configured to send a first trigger frame to multiple clients connected to the access point within a first time period, and to receive a first data packet sent by multiple clients according to the first trigger frame. The first trigger frame includes first duration information, which is used to indicate the upper limit of the time consumed by the client to send the first data packet. The first trigger frames sent to different clients include the same first duration information. The second communication unit 402 is configured to send a second trigger frame to at least some of the multiple clients during a second time period, and to receive a second data packet sent by the client according to the received second trigger frame.

[0111] In this embodiment, the first communication unit 401 sends a first trigger frame to each client connected to the access point within a first time period of a scheduling cycle. Since the first duration information included in the first trigger frame indicates a fixed time limit, the time limit for each client to send the first data packet to the access point according to the first trigger frame is the same, ensuring that each client has the opportunity to send data packets to the access point within a scheduling cycle. The second communication unit 402 can also schedule one or more clients to upload data packets again according to the scheduling logic within a second time period. Therefore, when the preceding client has a lot of high-priority data to upload, the data of the subsequent client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness of the client uploading data to the access point.

[0112] It should be noted that the interactions between the various parts of the data packet transmission device applied to the access point described above are based on the same concept as the aforementioned data packet transmission method embodiment applied to the access point. For details and beneficial effects, please refer to the description in the aforementioned data packet transmission method embodiment applied to the access point, which will not be repeated here.

[0113] Data packet transmission device used on the client

[0114] Figure 5 This is a schematic diagram of a data packet transmission apparatus according to another embodiment of this application, which is applied to a client. Figure 5 As shown, the data packet transmission device 500 includes: The receiving unit 501 is used to receive a first trigger frame sent by the access point within a first time period. The first trigger frame includes first duration information, which is used to indicate the upper limit of the time consumed by the client to send data packets to the access point according to the first trigger frame. The access point sends the first trigger frame to multiple clients within the first time period, and the first trigger frames sent to different clients include the same first duration information. The sending unit 502 is used to send a first data packet to the access point according to the first trigger frame, wherein the time taken to send the first data packet is less than or equal to the upper limit of the time taken indicated by the first duration information; The third communication unit 503 is used to send a second data packet to the access point according to the second trigger frame after receiving the second trigger frame sent by the access point in the second time period.

[0115] In this embodiment, the access point sends a first trigger frame to each client connected to it during the first time period of a scheduling cycle. Since the first duration information included in the first trigger frame indicates a fixed time limit, the time limit for each client to send the first data packet to the access point according to the first trigger frame is the same, ensuring that each client has the opportunity to send data packets to the access point within a scheduling cycle. During the second time period, the access point can also schedule one or more clients to upload data packets again according to the scheduling logic. Therefore, when the preceding client has a lot of high-priority data to upload, the data of the subsequent client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness of the client uploading data to the access point.

[0116] It should be noted that the interactions between the various parts of the data packet transmission device applied to the client described above are based on the same concept as the aforementioned data packet transmission method embodiment applied to the client. For details and beneficial effects, please refer to the description in the aforementioned data packet transmission method embodiment applied to the client, which will not be repeated here.

[0117] Communication system

[0118] Figure 6 This is a schematic diagram of a communication system according to an embodiment of this application. Figure 6 As shown, the communication system 600 includes an access point 601 and multiple clients 602 connected to the access point 601. The access point 601 and the clients 602 communicate via a wireless network. The access point 601 is used to execute the data packet transmission method applied to the access point in any of the above embodiments, and the clients 602 are used to execute the data packet transmission method applied to the clients in any of the above embodiments.

[0119] It should be noted that the interaction between the access point and the client in this embodiment is based on the same concept as the aforementioned data packet transmission method embodiment. For details and beneficial effects, please refer to the description in the aforementioned data packet transmission method embodiment, which will not be repeated here.

[0120] electronic devices

[0121] Figure 7 This is a schematic diagram of an electronic device provided in an embodiment of this application. The specific embodiments of this application do not limit the specific implementation of the electronic device. See also... Figure 7 The electronic device 700 provided in this application embodiment includes: a processor 702, a communications interface 704, a memory 706, and a bus 708. Wherein: The processor 702, communication interface 704, and memory 706 communicate with each other via bus 708.

[0122] Communication interface 704 is used to communicate with other electronic devices or servers.

[0123] The processor 702 is used to execute program 710, specifically to perform the relevant steps in the above-described data packet transmission method embodiment.

[0124] Specifically, program 710 may include program code that includes computer operation instructions.

[0125] The processor 702 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. The smart device includes one or more processors, which may be processors of the same type, such as one or more CPUs; or they may be processors of different types, such as one or more CPUs and one or more ASICs.

[0126] Memory 706 is used to store program 710. Memory 706 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.

[0127] Specifically, program 710 can be used to cause processor 702 to execute the data packet transmission method in any of the foregoing embodiments.

[0128] The specific implementation of each step in program 710 can be found in the corresponding steps and units described in the above-described data packet transmission method embodiments, and will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding process descriptions in the aforementioned method embodiments, and will not be repeated here.

[0129] In the electronic device of this embodiment, the access point sends a first trigger frame to each client connected to it during the first time period of a scheduling cycle. Since the first duration information included in the first trigger frame indicates a fixed time limit, the time limit for each client to send the first data packet to the access point according to the first trigger frame is the same, ensuring that each client has the opportunity to send data packets to the access point within a scheduling cycle. During the second time period, the access point can also schedule one or more clients to upload data packets again according to the scheduling logic. Therefore, when the preceding client has a lot of high-priority data to upload, the data of the subsequent client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness of the client uploading data to the access point.

[0130] Computer-readable storage media

[0131] This application also provides a computer-readable storage medium storing instructions for causing a machine to perform the data packet transmission method as described herein. Specifically, a system or apparatus equipped with a storage medium storing software program code that implements the functions of any of the embodiments described above, and enabling the computer (or CPU or MPU) of the system or apparatus to read and execute the program code stored in the storage medium.

[0132] In this case, the program code read from the storage medium can itself implement the function of any of the above embodiments, and therefore the program code and the storage medium storing the program code constitute part of this application.

[0133] Storage media embodiments for providing program code include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), magnetic tapes, non-volatile memory cards, and ROMs. Alternatively, program code can be downloaded from a server computer via a communication network.

[0134] Furthermore, it should be clear that not only can the program code read by the computer be executed, but also the operating system or other components operating on the computer can be instructed based on the program code to perform some or all of the actual operations, thereby realizing the function of any of the embodiments described above.

[0135] Furthermore, it is understood that the program code read from the storage medium is written to the memory set in the expansion board inserted into the computer or to the memory set in the expansion module connected to the computer. Then, based on the instructions of the program code, the CPU or other components installed on the expansion board or expansion module execute some and all of the actual operations, thereby realizing the function of any of the above embodiments.

[0136] Computer program products

[0137] This application also provides a computer program product, which is tangibly stored on a computer-readable medium and includes computer-executable instructions. When executed, these computer-executable instructions cause at least one processor to perform the data packet transmission methods provided in the above embodiments. It should be understood that the solutions in this embodiment have the corresponding technical effects in the above method embodiments, and will not be repeated here.

[0138] It should be noted that not all steps and modules in the above process and device structure diagrams are mandatory; some steps or modules can be omitted as needed. The execution order of each step is not fixed and can be adjusted as required. The system structure described in the above embodiments can be a physical structure or a logical structure. That is, some modules may be implemented by the same physical entity, or some modules may be implemented by multiple physical entities, or they may be jointly implemented by certain components in multiple independent devices.

[0139] In this patent application, nouns and pronouns relating to people are not limited to specific genders.

[0140] In the above embodiments, the hardware modules can be implemented mechanically or electrically. For example, a hardware module may include permanent, dedicated circuitry or logic (such as a dedicated processor, FPGA, or ASIC) to perform the corresponding operations. The hardware module may also include programmable logic or circuitry (such as a general-purpose processor or other programmable processor), which can be temporarily configured by software to perform the corresponding operations. The specific implementation method (mechanical, dedicated, permanent circuitry, or temporarily configured circuitry) can be determined based on cost and time considerations.

[0141] The present application has been shown and described in detail above with reference to the accompanying drawings and preferred embodiments. However, the present application is not limited to these disclosed embodiments. Based on the above multiple embodiments, those skilled in the art will know that more embodiments of the present application can be obtained by combining the code review methods in the different embodiments above. These embodiments are also within the protection scope of the present application.

Claims

1. A data packet transmission method (100), applied to an access point, the method comprising: Within a first time period, a first trigger frame is sent to multiple clients connected to the access point, and a first data packet is received from the multiple clients according to the first trigger frame. The first trigger frame includes first duration information, which is used to indicate the upper limit of the time consumed by the client to send the first data packet. The first trigger frames sent to different clients include the same first duration information. During the second time period, a second trigger frame is sent to at least some of the plurality of clients, and a second data packet is received from the clients based on the received second trigger frame.

2. The method according to claim 1, wherein, The first trigger frame includes first priority information, which is used to instruct the client to send data frames to the access point in descending order of priority.

3. The method according to claim 1, further comprising: Based on the duration of the first time period and the scheduling cycle of the access point scheduling client, the duration of the second time period is determined such that the sum of the durations of the first and second time periods falls within a certain range. , Used to characterize the scheduling period. Used to characterize the preset duration threshold, If the value is positive, the first time period and the second time period are adjacent in time sequence.

4. The method according to claim 3, wherein, Sending the second trigger frame to at least some of the plurality of clients during the second time period includes: The system receives buffer status information sent by the plurality of clients. The buffer status information is used to indicate at least the priority and data volume of the data frame cached by the corresponding client after the client sends the first data packet to the access point according to the first trigger frame. Based on the scheduling status of the multiple clients during the first time period and the buffer status information from the multiple clients, at least one target client is determined from the multiple clients; During the second time period, a second trigger frame is sent to the at least one target client.

5. The method according to claim 4, wherein, The buffer status information and the first data packet are sent together by the client.

6. The method according to claim 4, wherein, The second trigger frame includes second duration information, which indicates the upper limit of the time required for the target client to send the second data packet.

7. The method according to claim 6, further comprising: After identifying the target client, obtain the reference duration calculated by the chip in the access point for the target client; Calculate the duration of the first time period and the sum of the time consumed by the scheduling client within the second time period to obtain the elapsed time. If the sum of the elapsed time and the reference time is greater than Then, the second duration information of the target client is determined to be the difference between the scheduling period and the elapsed duration; If the sum of the elapsed time and the reference time is less than or equal to Then, the second duration information of the target client is determined as the reference duration.

8. The method according to any one of claims 1-7, wherein, The second trigger frame includes second priority information, which is used to instruct the target client to send data frames to the access point in descending order of priority.

9. A data packet transmission method (300), applied to a client, the method comprising: The access point receives a first trigger frame sent within a first time period. The first trigger frame includes first duration information. The first duration information is used to indicate the upper limit of the time consumed for the client to send data packets to the access point according to the first trigger frame. The access point sends the first trigger frame to multiple clients within the first time period, and the first trigger frames sent to different clients include the same first duration information. A first data packet is sent to the access point according to the first trigger frame, wherein the time taken to send the first data packet is less than or equal to the upper limit of the time taken indicated by the first duration information; After receiving the second trigger frame sent by the access point within the second time period, a second data packet is sent to the access point according to the second trigger frame.

10. The method according to claim 9, further comprising: Based on the first priority information and the first duration information included in the first trigger frame, at least one data frame is determined from the cached data frames in descending order of corresponding priority. The identified at least one data frame is packaged to obtain the first data packet.

11. The method according to claim 9, further comprising: The access point sends buffer status information to the access point so that the access point sends the second trigger frame according to the buffer status information. The buffer status information is used to indicate at least the priority and amount of data frames cached by the client, other than the first data packet.

12. The method according to claim 11, wherein, Sending buffer status information to the access point includes: The buffer status information and the first data packet are sent together to the access point.

13. The method according to any one of claims 9-12, wherein, Sending the second data packet to the access point according to the second trigger frame includes: Based on the second priority information and the second duration information included in the second trigger frame, at least one data frame is determined from the cached data frames in descending order of priority. The second duration information is used to indicate the upper limit of the time taken for the client to send the second data packet. The second duration information is determined based on the duration of the second time period and the buffer status information of the client. The at least one determined data frame is packaged to obtain the second data packet, and the time taken for the client to send the second data packet is less than or equal to the time limit indicated by the second duration information.

14. A data packet transmission apparatus (400), applied to an access point, comprising: The first communication unit (401) is configured to send a first trigger frame to multiple clients connected to the access point within a first time period, and receive a first data packet sent by the multiple clients according to the first trigger frame. The first trigger frame includes first duration information, which is used to indicate the upper limit of the time consumed by the client to send the first data packet. The first trigger frames sent to different clients include the same first duration information. The second communication unit (402) is configured to send a second trigger frame to at least some of the plurality of clients during a second time period, and to receive a second data packet sent by the client according to the received second trigger frame.

15. A data packet transmission apparatus (500), applied to a client, comprising: The receiving unit (501) is used to receive a first trigger frame sent by the access point within a first time period. The first trigger frame includes first duration information. The first duration information is used to indicate the upper limit of the time consumed by the client to send data packets to the access point according to the first trigger frame. The access point sends the first trigger frame to multiple clients within the first time period, and the first trigger frames sent to different clients include the same first duration information. The sending unit (502) is used to send a first data packet to the access point according to the first trigger frame, wherein the time taken to send the first data packet is less than or equal to the upper limit of the time taken indicated by the first duration information; The third communication unit (503) is used to send a second data packet to the access point according to the second trigger frame after receiving the second trigger frame sent by the access point in the second time period.

16. A communication system (600), comprising: An access point (601) and a plurality of clients (602) connected to the access point (601), the access point (601) and the clients (602) communicating via a wireless network; The access point (601) is used to perform the data packet transmission method as described in any one of claims 1-8; The client (602) is used to perform the data packet transmission method as described in any one of claims 9-13.

17. An electronic device (700), comprising: The processor (702), communication interface (704), memory (706), and bus (708) communicate with each other through the bus (708). The memory (706) is used to store at least one executable instruction that causes the processor (702) to perform an operation corresponding to any of the data packet transmission methods as described in claims 1-8, or to perform an operation corresponding to any of the data packet transmission methods as described in claims 9-13.

18. A computer-readable storage medium storing computer instructions that, when executed by a processor, cause the processor to perform the method of any one of claims 1-8, or cause the processor to perform the method of any one of claims 9-13.

19. A computer program product tangibly stored on a computer-readable medium and comprising computer-executable instructions that, when executed, cause at least one processor to perform the method as claimed in any one of claims 1-8 or the method as claimed in any one of claims 9-13.