Data transmission method, communication device, and computer-readable storage medium

By carrying indication information in preemptive data or using different TID queues for processing, the buffering latency problem caused by the mixed numbering of preemptive and non-preemptive data in wireless LANs is solved, thereby improving data transmission efficiency and reducing data loss.

WO2026000998A1PCT designated stage Publication Date: 2026-01-02ZTE CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/076647
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-26
Filing Date
2025-02-10
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

In wireless LANs, the mixing of preemptive and non-preemptive data based on the same TID causes buffering latency issues at the receiving end.

Method used

By carrying indication information in preemptive data, the receiving end is instructed to perform additional processing operations, such as separate sorting and caching, or to transmit preemptive and non-preemptive data separately using different TID queues.

Benefits of technology

It solves the buffering latency problem of preemptive data at the receiving end, improves data transmission efficiency, and reduces data loss.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025076647_02012026_PF_FP_ABST
    Figure CN2025076647_02012026_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a data transmission method, a communication device, and a computer-readable storage medium. The method comprises: transmitting preemptive data and non-preemptive data by means of the same TID queue, wherein the preemptive data comprises instruction information, and the instruction information is used for instructing a receiving end to perform corresponding processing on the preemptive data (S301).
Need to check novelty before this filing date? Find Prior Art

Description

Data transmission method, communication device and computer readable storage medium TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, for example, to a data transmission method, a communication device and a computer readable storage medium. BACKGROUND

[0002] In a wireless local area network (WLAN), a sending end puts received data into a corresponding sending queue according to a traffic identifier (TID), and numbers the received data according to the order in which the data is received from a protocol stack. For example, as shown in FIG. 1, the queue corresponding to TID=M already contains non-low-latency data numbered 1-5, and if low-latency data subsequently arrives in the queue, the low-latency data is numbered according to the current order of the queue, i.e., the low-latency data is numbered 6, 7 and 8. Based on the current preemption mechanism, data numbered 6, 7 and 8 will be sent first. In this way, after the receiving end receives data numbered 6, 7 and 8, the receiving end puts data numbered 6, 7 and 8 into a buffer queue, and waits until data numbered 1-5 is received (or until a timeout) before transmitting data numbered 1-8 to the next MAC (Medium Access Control) layer for processing. Thus, low-latency data will incur additional buffering latency at the receiving end. SUMMARY

[0003] Embodiments of the present application provide a data transmission method, a communication device and a computer readable storage medium.

[0004] In a first aspect, embodiments of the present application provide a data transmission method applied to a sending end, the method comprising:

[0005] sending preemption-type data and non-preemption-type data through the same TID queue;

[0006] The preemption-type data includes indication information, and the indication information is used to instruct the receiving end to perform a corresponding processing operation on the preemption-type data.

[0007] In a second aspect, embodiments of the present application provide a data transmission method applied to a receiving end, the method comprising:

[0008] receiving preemption-type data and non-preemption-type data through the same TID queue; wherein the preemption-type data includes indication information;

[0009] performing a corresponding processing operation on the preemption-type data according to the indication information.

[0010] The technical scheme provided in the embodiments of the present application can solve the problem of cache delay of pre-emptive data at the receiving end caused by mixed numbering of pre-emptive data and non-pre-emptive data based on TID, by carrying indication information in the pre-emptive data to instruct the receiving end to perform additional processing operations, such as separate sorting and caching, on the pre-emptive data.

[0011] In a third aspect, the embodiments of the present application provide a data transmission method applied to a sending end, and the method comprises the following steps.

[0012] sending pre-emptive data through a first TID queue;

[0013] sending non-pre-emptive data through a second TID queue;

[0014] The first TID and the second TID are different.

[0015] In a fourth aspect, the embodiments of the present application provide a data transmission method applied to a receiving end, and the method comprises the following steps.

[0016] receiving pre-emptive data through a first TID queue;

[0017] receiving non-pre-emptive data through a second TID queue;

[0018] The first TID and the second TID are different.

[0019] The technical scheme provided in the embodiments of the present application can solve the problem of cache delay of pre-emptive data at the receiving end caused by mixed numbering of pre-emptive data and non-pre-emptive data based on the same TID, by using different TID queues to respectively transmit pre-emptive data and non-pre-emptive data.

[0020] In a fifth aspect, the embodiments of the present application provide a communication device, which comprises a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the method in any one of the first aspect to the fourth aspect of the embodiments of the present application when executing the computer program.

[0021] In a sixth aspect, the embodiments of the present application provide a computer readable storage medium, which stores a computer program, and the computer program implements the steps of the method in any one of the first aspect to the fourth aspect of the embodiments of the present application when executed by a processor.

[0022] More details about the above embodiments and other aspects of the present application and implementation manners thereof are provided in the following description of drawings, specific embodiments and claims. BRIEF DESCRIPTION OF DRAWINGS

[0023] FIG. 1 is a schematic diagram of a data transmission process according to the related art;

[0024] FIG. 2 is another schematic diagram of a data transmission process according to the related art;

[0025] FIG. 3 is a flow diagram of a data transmission method according to an embodiment of the present application;

[0026] FIG. 4 is another flow diagram of a data transmission method according to an embodiment of the present application;

[0027] FIG. 5 is a schematic diagram of a receiving buffer window configuration process according to an embodiment of the present application;

[0028] FIG. 6 is another schematic diagram of a receiving buffer window configuration process according to an embodiment of the present application;

[0029] FIG. 7 is yet another schematic diagram of a receiving buffer window configuration process according to an embodiment of the present application;

[0030] FIG. 8 is yet another schematic diagram of a receiving buffer window configuration process according to an embodiment of the present application;

[0031] FIG. 9 is a schematic diagram of a data transmission process according to an embodiment of the present application;

[0032] FIG. 10 is another schematic diagram of a data transmission process according to an embodiment of the present application;

[0033] FIG. 11 is yet another flow diagram of a data transmission method according to an embodiment of the present application;

[0034] FIG. 12 is a schematic diagram of a TID negotiation process according to an embodiment of the present application;

[0035] FIG. 13 is a schematic diagram of a TID update process according to an embodiment of the present application;

[0036] FIG. 14 is another schematic diagram of a data transmission process according to an embodiment of the present application;

[0037] FIG. 15 is yet another flow diagram of a data transmission method according to an embodiment of the present application;

[0038] FIG. 16 is a structural diagram of a data transmission apparatus according to an embodiment of the present application;

[0039] FIG. 17 is another structural diagram of a data transmission apparatus according to an embodiment of the present application;

[0040] FIG. 18 is yet another structural diagram of a data transmission apparatus according to an embodiment of the present application;

[0041] FIG. 19 is yet another structural diagram of a data transmission apparatus according to an embodiment of the present application;

[0042] Figure 20 is a schematic diagram of a structure of a communication device according to an embodiment of the present application. DETAILED DESCRIPTION

[0043] It should be understood that the specific embodiments described herein are merely illustrative of the present application and do not limit the scope of the present application. The present application will become more fully understood from the detailed description given herein below and the accompanying drawings which are given by way of illustration and example only and thus are not to be considered as limiting the present application.

[0044] For the convenience of those skilled in the art, some concepts will be introduced first as follows:

[0045] Access Category: In order to improve the transmission quality of Quality of Service (QoS) data and ensure the transmission of delay-sensitive QoS data, such as voice and video data, 802.11 provides an enhanced distributed channel access mechanism (EDCA), which defines four different access categories (ACs). In order of priority from low to high, the four access categories are: Background (BK) data flow, Best Effort (BE) data flow, Video (VI) data flow and Voice (VO) data flow.

[0046] TID: The MAC layer divides data services into eight types, and uses TID0-TID7 to represent the priority of different service data. In order of priority from low to high, the TIDs are 1, 2, 0, 3, 4, 5, 6 and 7. The MAC layer transmits different data services in order of priority from high to low.

[0047] The correspondence between the MAC layer TIDs and the access categories can be as shown in Table 1 below:

[0048] Table 1

[0049] The priority of the TIDs shown in Table 1 increases from top to bottom, in other words, if arranged in order of priority from low to high, the TIDs are 1, 2, 0, 3, 4, 5, 6 and 7. The priority of the access categories corresponding to the TIDs also increases from top to bottom.

[0050] The correspondence between the TIDs and the channel access categories shown in Table 1 is only an example, and the correspondence between the TIDs and the channel access categories can also be other correspondence, which should not constitute any limitation on the embodiments of the present application. The correspondence between the TIDs and the channel access categories is not limited to that shown in Table 1, and is not limited to being embodied in the form of a table. In addition, when the priority is embodied in other manners, the correspondence between the TIDs and the channel access categories can also change accordingly, which is not limited by the embodiments of the present application.

[0051] Lifetime of a data packet: After a data frame arrives at the MAC layer, it needs to be buffered at the MAC layer, and after competing for a sending window, the data packet is sent out, and after receiving the acknowledgement information from the receiving end, the corresponding buffer space is released. However, due to the limited MAC layer buffer space, only the latest data packet can be guaranteed to be saved in the MAC layer, and the previous data packet will be discarded due to various reasons, such as not being sent out, or being sent out but not receiving the acknowledgement from the other party, or exceeding the preset lifetime.

[0052] Maximum retransmission number of a data packet: Due to the existence of a certain degree of packet loss and retransmission probability in the wireless medium transmission process, in order to efficiently utilize the channel resources, the sending end sets a maximum retransmission number limit (maximum retry limit) for each data packet, which is referred to as the limit. When the retransmission number of the data packet exceeds the limit, the data packet will also be discarded.

[0053] Sorting and buffering: Due to the existence of a certain degree of packet loss and retransmission probability in the wireless medium transmission process, the order of the data packets received by the receiving end is not consistent with the sequence number (SN) value of the data packets, but in order for the data packets to be sent to the protocol stack of the receiving end in the order consistent with the SN value, a sorting and buffering step is set in the MAC layer receiving process, that is, the receiving end sets the receiving buffer window size (WinSizeB), the minimum SN receiving value under the receiving buffer window (WinStartB), and the maximum SN receiving value under the receiving window (WinEndB). When the received data packet contains consecutive data packets including the minimum SN, the receiving end will move the minimum SN receiving value under the receiving buffer window to the sequence number of the next expected received data packet, and when the received data packet does not contain the minimum SN, the receiving end will buffer the received data packet until the data packet containing the minimum SN is received or the waiting timeout.

[0054] In the related art, if the SN of the received data packet is less than WinStartB, the packet is directly discarded, if the SN of the received data packet is greater than WinEndB, WinEndB under the receiving cache window is set as the SN of the received data packet, and WinStartB is set as WinStartB = WinEndB-WinSize+1, that is, a forced windowing behavior is generated. In this way, in some scenarios, after forced windowing, the SN of some data packets received by the receiving end will be discarded because it is not within the receiving cache window, causing the problem of data loss. As shown in FIG. 2, the queue corresponding to TID=M already contains non-low-latency data with sequential numbers 1-64, if subsequent low-latency data arrives in the queue, the low-latency data is numbered according to the current sequential number of the queue, that is, the sequential numbers of the low-latency data are 65, 66, 67, based on the current preemption mechanism, data with sequential numbers equal to 65, 66, 67 will be preferentially sent. For the receiving end, the WinStartB of the receiving cache window is 1, the WinEndB is 64, and the WinSize is 64, after receiving data with SN=65, 66, 67, since the SN value of the received data is greater than WinEndB, the receiving end will perform forced windowing, that is, WinEndB becomes 68, and WinStartB becomes 4. Thereafter, after receiving data with SN=1, 2, 3, since SN=1, 2, 3 is not within the receiving cache window, the receiving end will discard data with SN=1, 2, 3, causing loss of part of the data.

[0055] To this end, the technical scheme provided by the embodiments of the present application aims to avoid the above-mentioned situation in the related art.

[0056] FIG. 3 is a flowchart of a data transmission method provided by an embodiment of the present application. The method is applied to a sending end, as shown in FIG. 3, the method can include:

[0057] S301, sending preemption type data and non-preemption type data through the same TID queue; wherein the preemption type data includes indication information, the indication information is used to instruct the receiving end to perform a corresponding processing operation on the preemption type data.

[0058] Optionally, the preemption type data can be low-latency data.

[0059] Generally, the allocation of SNs and the establishment of Block ACK (BA) are based on TIDs, i.e., the sending end can sequentially number the pre-emptive data and non-pre-emptive data in the same TID using the SN mixing numbering method, in other words, after receiving the pre-emptive data and / or non-pre-emptive data from the upper MAC layer, the sending end determines the TID corresponding to the pre-emptive data and / or non-pre-emptive data, and numbers the pre-emptive data and / or non-pre-emptive data according to the current SN value in the queue corresponding to the TID, while adding indication information to the pre-emptive data and not adding indication information to the non-pre-emptive data, so as to mark the pre-emptive data through the indication information, thereby instructing the receiving end to perform corresponding processing operations on the pre-emptive data, such as separately sorting and buffering the pre-emptive data.

[0060] Specifically, after receiving the data from the upper MAC layer, the sending end adds indication information to the pre-emptive data and does not add indication information to the non-pre-emptive data, and determines the corresponding TID based on the (User Priority, UP) information in the pre-emptive data and the UP information in the non-pre-emptive data, e.g., can obtain the TID corresponding to the pre-emptive data and / or non-pre-emptive data according to the correspondence between the UP and TID shown in Table 1 above, and put the pre-emptive data and / or non-pre-emptive data into the TID queue. After receiving a trigger signal (e.g., a Basic TF), the sending end sends the pre-emptive data and / or non-pre-emptive data in the TID queue to the receiving end. In some alternative embodiments, the sending end preferentially sends the pre-emptive data in the queue. In some alternative embodiments, in the case that the sequential numbering of the non-pre-emptive data in the same TID queue is less than that of the pre-emptive data, the pre-emptive data and non-pre-emptive data are transmitted based on the sequential numbering. That is, the non-pre-emptive data arrives in the queue first and the pre-emptive data arrives in the queue later, at this time, the sequential numbering of the non-pre-emptive data is less than that of the pre-emptive data, and the sending end can send the non-pre-emptive data first and then send the pre-emptive data.

[0061] Alternatively, in the case of receiving a data packet from the upper MAC layer, the sending end can determine the data type of the data packet according to whether the data packet contains stream classification service identifier (SCSID) information. For example, in the case that the data packet does not contain SCSID information, it can be determined that the data packet is non-pre-emptive data, and in the case that the data packet contains SCSID information, it can be further determined whether the data packet is pre-emptive data according to the data stream characteristic information corresponding to the SCSID information.

[0062] Optionally, the indication information can be additional flag information different from the TID information.

[0063] Optionally, the pre-emption type data further comprises configuration information, i.e., the pre-emption type data can be added with configuration information, which can comprise at least one of the following: a first start sequence number for indicating a start pre-emption type data among all the pre-emption type data to be transmitted, a first end sequence number for indicating an end pre-emption type data, and a target number of pre-emption type data.

[0064] Optionally, the configuration information can be carried in the start pre-emption type data to be transmitted or in each pre-emption type data to be transmitted.

[0065] Optionally, the indication information and / or the configuration information can be located in a field in the MAC header of the pre-emption type data, such as in the HT-Control field.

[0066] Optionally, the sending end can configure different survival times and maximum retransmission times for the pre-emption type data and the non-pre-emption type data. For example, in order to improve the transmission success rate of the pre-emption type data, a first survival time and a first maximum retransmission time can be configured for the pre-emption type data, and a second survival time and a second maximum retransmission time can be configured for the non-pre-emption type data, wherein the first survival time is greater than the second survival time, and the first maximum retransmission time is greater than the second maximum retransmission time.

[0067] Optionally, in the case of sending the pre-emption type data and the non-pre-emption type data through different TID queues, the pre-emption type data and the non-pre-emption type data are sent in at least one of the following manners:

[0068] The priority of the TID queue where the pre-emption type data is located is higher than the priority of the TID queue where the non-pre-emption type data is located, for example, the pre-emption type data located in the TID=3 queue can preempt the non-pre-emption type data in the TID=2 queue for priority transmission.

[0069] The priority of the TID queue where the pre-emption type data is located is lower than the priority of the TID queue where the non-pre-emption type data is located, for example, the pre-emption type data located in the TID=3 queue can preempt the non-pre-emption type data in the TID=5 queue for priority transmission.

[0070] The TID queue where the pre-emption type data is located has the same channel access category as the TID queue where the non-pre-emption type data is located, for example, the pre-emption type data located in the TID=0 queue can preempt the non-pre-emption type data in the TID=3 queue which also belongs to the BE channel access category for priority transmission.

[0071] In the case that pre-emptive data is located in different TID queues, the pre-emptive data is transmitted according to the priority of each TID queue. For example, the pre-emptive data located in the TID=2 and TID=5 queues can give priority to the pre-emptive data in the TID=5 queue.

[0072] The technical scheme provided by the embodiments of the present application can solve the problem of the cache delay of pre-emptive data at the receiving end caused by the mixed numbering of pre-emptive data and non-pre-emptive data based on TID, by carrying the indication information in the pre-emptive data to instruct the receiving end to perform additional processing operations on the pre-emptive data, such as separate sorting and caching.

[0073] FIG. 4 is another flowchart of the data transmission method provided by the embodiments of the present application. The method is applied to the receiving end, and as shown in FIG. 4, the method can include:

[0074] S401, receiving pre-emptive data and non-pre-emptive data through the same TID queue. The pre-emptive data includes indication information.

[0075] The pre-emptive data and the non-pre-emptive data are sequentially numbered in a mixed numbering manner based on TID, that is, the pre-emptive data and the non-pre-emptive data in the same TID are sequentially numbered according to the order of arrival in the queue.

[0076] Optionally, the pre-emptive data and the non-pre-emptive data are sequentially numbered in respective packet numbers (PNs), or the pre-emptive data is sequentially numbered using a separate set of packet numbers (or system).

[0077] S402, performing a corresponding processing operation on the pre-emptive data according to the indication information.

[0078] By carrying the indication information in the pre-emptive data and not carrying the indication information in the non-pre-emptive data, the receiving end can perform a corresponding processing operation on the pre-emptive data based on the indication information, such as separately sorting and caching the pre-emptive data, without sorting and caching the non-pre-emptive data together, thereby reducing the cache delay of the pre-emptive data at the receiving end.

[0079] Optionally, the pre-emptive data further includes configuration information, that is, configuration information can be added to the pre-emptive data, and the configuration information can include at least one of the following: a first starting sequence number of a starting pre-emptive data in all pre-emptive data to be transmitted this time, a first ending sequence number of an ending pre-emptive data, and a target number of pre-emptive data.

[0080] Optionally, the configuration information can be carried in the starting pre-emptive data to be transmitted or in each pre-emptive data to be transmitted.

[0081] Optionally, the indication information and / or the configuration information can be located in a field in the MAC header of the pre-emptive data, such as in the HT-Control field.

[0082] Optionally, after successfully receiving the pre-emptive data and / or the non-pre-emptive data, the receiving end can also reply with corresponding receiving confirmation information. For the sending end, when the receiving confirmation information is not received, the sending end can resend the pre-emptive data and / or the non-pre-emptive data based on the maximum retransmission number corresponding to the pre-emptive data and / or the non-pre-emptive data.

[0083] Optionally, the corresponding processing operation performed on the pre-emptive data according to the indication information comprises at least one of the following:

[0084] Based on the indication information, the order number of the successfully received pre-emptive data and the configuration information, it is determined whether to cache the successfully received pre-emptive data; based on the indication information, the order number of the successfully received pre-emptive data and the configuration information, it is determined the unsuccessfully received pre-emptive data, and the unsuccessfully received pre-emptive data is delayed for receiving, i.e. waiting for the sending end to retransmit the missing pre-emptive data.

[0085] For example, assuming that the order number of the successfully received pre-emptive data is continuous and contains the first starting order number in the configuration information, the successfully received pre-emptive data is delivered to the next level of MAC layer processing. For another example, assuming that the order number of the successfully received pre-emptive data is non-continuous and / or does not contain the first starting order number in the configuration information, the successfully received pre-emptive data is cached, and after receiving all the pre-emptive data indicated by the configuration information, it is sent to the next level of MAC layer processing.

[0086] Optionally, the receiving end needs to maintain multiple block acknowledgement scoreboards, i.e. a first block acknowledgement scoreboard and a second block acknowledgement scoreboard, under the receiving buffer window corresponding to one TID, the first block acknowledgement scoreboard is used to record the receiving status of the pre-emptive data, and the second block acknowledgement scoreboard is used to record the receiving status of the non-pre-emptive data.

[0087] Optionally, the receiving end can create the above-mentioned first block acknowledgement scoreboard according to the configuration information of the pre-emptive data, i.e. the starting point (WinStartR) of the first block acknowledgement scoreboard is equal to the first starting order number, and the ending point (WinEndR) is equal to the sum of the first starting order number and the target number of all the pre-emptive data to be transmitted this time, i.e. the ending point is equal to the first ending order number.

[0088] Optionally, when the sequence number of the received pre-emptive data is located in [WinStartR, WinEndR] or the sequence number of the received pre-emptive data is greater than WinEndR, the sequence number of the currently received pre-emptive data is recorded on the corresponding first block acknowledgement score board.

[0089] Optionally, the receiving end can also send a block acknowledgement frame to the sending end. The block acknowledgement frame contains a block acknowledgement bitmap, which is used to indicate the receiving status of the pre-emptive data. Optionally, when the sequence number of the pre-emptive data is greater than the first termination sequence number, the block acknowledgement bitmap is increased.

[0090] For example, when the sequence number of the received pre-emptive data is located in [WinStartR, WinEndR], the receiving end sets the position of the pre-emptive data in the block acknowledgement bitmap to 1 in the block acknowledgement frame returned to the sending end. When the sequence number of the received pre-emptive data is greater than WinEndR, the sending end increases the block acknowledgement bitmap and sets the position corresponding to the received pre-emptive data to 1 in the increased block acknowledgement bitmap.

[0091] Optionally, when all the pre-emptive data to be transmitted this time is delivered to the next MAC layer, the receiving end can also configure the receiving buffer window corresponding to the TID according to the configuration information.

[0092] The size of the receiving buffer window is negotiated between the sending end and the receiving end. The receiving buffer window can include a second starting sequence number WinStartB and a second termination sequence number WinEndB. The initial values of WinStartB and WinEndB can be obtained through negotiation.

[0093] Optionally, configuring the receiving buffer window corresponding to the TID according to the configuration information includes at least one of the following:

[0094] Case 1: When the first starting sequence number and the first termination sequence number are both located in the receiving buffer window corresponding to the TID, and the first starting sequence number is greater than the second starting sequence number of the receiving buffer window, the receiving buffer window is not adjusted.

[0095] Referring to FIG. 5, the data sequentially numbered as X, X+1 and X+2 is preemption data (PD), the first start sequence number X and the first end sequence number X+2 of all the preemption data to be transmitted in this time are located in the receiving buffer window, and the first start sequence number X is greater than WinStartB. After receiving all the preemption data and passing all the preemption data to the next MAC, the receiving end does not slide the receiving buffer window, that is, WinStartB and WinEndB of the receiving buffer window remain unchanged.

[0096] Case two: in the case that the first start sequence number and the first end sequence number are located in the receiving buffer window corresponding to the TID, and the first start sequence number is equal to the second start sequence number, the second start sequence number and the second end sequence number of the receiving buffer window are adjusted according to the target number.

[0097] Referring to FIG. 6, the first start sequence number X and the first end sequence number X+2 of all the preemption data to be transmitted in this time are located in the receiving buffer window, and the first start sequence number X is equal to WinStartB. After receiving all the preemption data and passing all the preemption data to the next MAC, the receiving end updates the receiving buffer window, and updates the receiving buffer window to [WinStartB+N, WinEndB+N], wherein N is equal to the target number of all the preemption data to be transmitted in this time, and the value of N in FIG. 6 is 3.

[0098] Case three: in the case that the first start sequence number and the first end sequence number are located in the receiving buffer window corresponding to the TID, and the first start sequence number is greater than the second start sequence number, the second start sequence number is kept unchanged, and the second end sequence number is adjusted according to the target number.

[0099] Referring to FIG. 7, the first start sequence number X and the first end sequence number X+2 of all the preemption data to be transmitted in this time are located in the receiving buffer window, and the first start sequence number X is greater than WinStartB. After receiving all the preemption data and passing all the preemption data to the next MAC, the receiving end updates the receiving buffer window, and updates the receiving buffer window to [WinStartB, WinEndB+N], wherein N is equal to the target number of all the preemption data to be transmitted in this time, and the value of N in FIG. 7 is 3.

[0100] By updating the receiving buffer window, the buffer size of the non-preemption data is kept unchanged, that is, the transmission rate of the non-preemption data is kept unchanged.

[0101] Case four: in the case that the first start sequence number is greater than the second end sequence number, the receiving buffer window is not adjusted.

[0102] By keeping the receiving buffer window unchanged, the problem that part of the non-preemptive data is discarded due to forced windowing can be solved.

[0103] Referring to FIG. 8, when the first start sequence number X in all the preemptive data to be transmitted this time is greater than WinEndB, the receiving end can not perform windowing processing on the receiving buffer window, that is, WinStartB and WinEndB remain unchanged, and the problem that the non-preemptive data with the sequence number in the first three in the receiving buffer window is discarded due to forced windowing can be solved.

[0104] The technical scheme provided by the embodiments of the present application can carry indication information in the preemptive data to instruct the receiving end to perform additional processing operations on the preemptive data, such as separate sorting and buffering, so as to solve the problem of cache delay of the preemptive data at the receiving end caused by the mixed numbering of the preemptive data and the non-preemptive data based on TID.

[0105] Exemplarily, as shown in FIG. 9, SN=1…SN=5 are non-preemptive data in a TID=M queue, and SN=6…SN=8 are preemptive data in the queue. The WinStartB of the receiving buffer window corresponding to the TID is 1, and the WinEndB is 64. That is, the receiving end waits to receive data with SN=1…SN=64.

[0106] At a certain moment, pre-emptive data is prior to non-pre-emptive data transmission, the sending end adds indication information in the pre-emptive data to mark the pre-emptive data, meanwhile, the sending end also carries the configuration information of all pre-emptive data to be transmitted this time in the pre-emptive data to the receiving end, such as the configuration information is PD SN start=6, size=3, that is, the first start sequence number of pre-emptive data to be transmitted this time is 6, and the target number of pre-emptive data to be transmitted is 3. Assuming that the receiving end receives only the pre-emptive data of SN=6 and SN=8 for the first time, according to the configuration information carried by the pre-emptive data, the receiving end obtains that the first start sequence number of all pre-emptive data to be transmitted this time is 6, the first end sequence number is 8, and the target number of pre-emptive data is 3, and the pre-emptive data received is discontinuous, so the receiving end buffers the pre-emptive data of SN=6 and SN=8, and delays waiting for the pre-emptive data of SN=7, and after successfully receiving the data of SN=7, the pre-emptive data of SN=6, SN=7 and SN=8 can be sent to the next MAC layer for processing. And the receiving state of SN=6, 7 and 8 is recorded on the first block of ACK score board corresponding to the pre-emptive data. That is, after receiving the data of sequence numbers 6, 7 and 8, the receiving end directly transmits the data of sequence numbers 6, 7 and 8 to the next MAC layer, without waiting for the data of sequence numbers 1-5, thereby reducing the buffering delay of pre-emptive data at the receiving end.

[0107] After all the pre-emptive data is transmitted to the next MAC layer, the receiving end configures the receiving buffer window, keeps WinStartB of the receiving buffer window unchanged, and updates WinEndB to 64+3=67. Of course, other configuration methods can also be used, such as keeping the receiving buffer window unchanged.

[0108] As shown in FIG. 10, after all the pre-emptive data is transmitted, at the next moment, the sending end sends non-pre-emptive data in the TID=M queue, and after receiving the non-pre-emptive data of SN=1-5 and SN=9-11, the receiving end determines that the data of SN=1-5 and SN=9-11 has been received according to the second block of ACK score board corresponding to the non-pre-emptive data, that is, continuous non-pre-emptive data is received, therefore, the receiving end sends the data of SN=1-5 and SN=9-11 to the next MAC layer for processing. And the receiving state of SN=1-5 and SN=9-11 is recorded on the second block of ACK score board corresponding to the non-pre-emptive data.

[0109] After all the non-pre-emptive data is transmitted to the next MAC layer, the receiving end configures the receiving buffer window, updates WinStartB to 1+11=12, and updates WinEndB to 64+3+8=75, and continues to wait for receiving the data of SN=12…SN=75.

[0110] Next, another data transmission method is introduced, which transmits preemption type data and non-preemption type data through different TID queues, so as to solve the problem of cache delay of preemption type data at the receiving end caused by mixed numbering of preemption type data and non-preemption type data based on the same TID.

[0111] FIG. 11 is another flowchart of the data transmission method provided by the embodiment of the application. The method is applied to a sending end. As shown in FIG. 11, the method can include the following steps:

[0112] S1101, transmitting preemption type data through a first TID queue.

[0113] S1102, transmitting non-preemption type data through a second TID queue, wherein the first TID and the second TID are different.

[0114] Optionally, the sending end can negotiate at least one first TID for transmitting preemption type data with the receiving end, and transmit preemption type data based on the negotiated first TID queue.

[0115] Optionally, in the case of receiving data from the upper MAC layer, the sending end can determine whether the data is preemption type data according to the SCSID information in the data, transmit preemption type data through the first TID queue, and transmit non-preemption type data through the second TID queue.

[0116] As shown in FIG. 12, the sending end can send first request information to the receiving end, the first request information being used to request the receiving end to negotiate TIDs for transmitting preemption type data, and the receiving end returns first response information, the first response information containing the negotiation result of the TIDs for transmitting preemption type data.

[0117] Therefore, after receiving data from the upper MAC layer, the preemption type data is put into the negotiated first TID queue, and the non-preemption type data is put into the second TID queue, and after receiving a trigger signal (for example, a basic trigger frame), the preemption type data in the first TID queue or the non-preemption type data in the second TID queue is sent to the receiving end, and after receiving the preemption type data and / or the non-preemption type data, the receiving end returns receiving determination information. For example, the sending end can negotiate TIDs 2, 3, 4, and 7 for transmitting preemption type data with the receiving end.

[0118] Optionally, the sending end can also negotiate to update at least one first TID for transmitting preemption type data with the receiving end.

[0119] As shown in FIG. 13, the sending end can send second request information to the receiving end, the second request information being used for updating the TID for transmitting pre-emptive data, and the receiving end returns second response information, the second response information containing the updating result of the TID for transmitting pre-emptive data. That is, the sending end can negotiate the TID for transmitting pre-emptive data with the receiving end, and in some cases, the negotiation result can be updated.

[0120] Optionally, the first TID for transmitting uplink pre-emptive data is the same as the first TID for transmitting downlink pre-emptive data, or the first TID for transmitting uplink pre-emptive data is different from the first TID for transmitting downlink pre-emptive data. That is, the sending end can use the same TID to transmit uplink pre-emptive data and downlink pre-emptive data, or use different TIDs to transmit uplink pre-emptive data and downlink pre-emptive data.

[0121] Optionally, each of the at least one first TID corresponds to a different channel access category. Optionally, the number of TIDs for transmitting pre-emptive data is maximally 4, and the 4 TIDs correspond to channel access categories BK, BE, VI and VO respectively. Optionally, a third TID symmetrical to the at least one first TID is used for transmitting non-pre-emptive data, that is, a pair of TIDs corresponding to the same channel access category cannot transmit pre-emptive data at the same time, in other words, in the case that one TID of a pair of TIDs corresponding to the same channel access category is used for transmitting pre-emptive data, the other TID is used for transmitting non-pre-emptive data.

[0122] Optionally, the sending end configures different survival times and maximum retransmission times for pre-emptive data and non-pre-emptive data. For example, in order to improve the transmission success rate of pre-emptive data, the sending end can configure a first survival time and a first maximum retransmission time for pre-emptive data, and a second survival time and a second maximum retransmission time for non-pre-emptive data, the first survival time being greater than the second survival time, and the first maximum retransmission time being greater than the second maximum retransmission time.

[0123] Optionally, the sending mode of pre-emptive data includes at least one of the following:

[0124] The priority of the first TID queue in which the pre-emptive data is located is higher than the priority of the second TID queue in which the non-pre-emptive data is located; for example, the pre-emptive data located in the TID=3 queue can pre-empt the non-pre-emptive data in the TID=2 queue for priority transmission.

[0125] The priority of the first TID queue in which the pre-emptive data is located is lower than the priority of the second TID queue in which the non-pre-emptive data is located; for example, the pre-emptive data located in the TID=3 queue can pre-empt the non-pre-emptive data in the TID=5 queue for priority transmission.

[0126] The first TID queue where the pre-emptive data is located and the second TID queue where the non-pre-emptive data is located have the same channel access category. For example, the pre-emptive data located in the TID=0 queue can pre-empt the non-pre-emptive data in the TID=3 queue which also belongs to the BE channel access category for priority transmission.

[0127] Optionally, sending the pre-emptive data through the first TID queue comprises: in the case of multiple first TID queues for sending the pre-emptive data, sending the pre-emptive data in the order of priority of each first TID queue.

[0128] For example, assuming that TID=2 and TID=3 are negotiated for transmitting the pre-emptive data, in the case of pre-emptive data to be sent in the TID=2 queue and the TID=3 queue, since the priority of TID=2 is lower than the priority of TID=3, the pre-emptive data in the TID=3 queue can be transmitted preferentially.

[0129] Optionally, after the sending end acquires the channel in the EDCA mode, if the same signal access category is applied to the TID for transmitting the pre-emptive data and the TID for transmitting the non-pre-emptive data, the sending end can preferentially transmit the data in the queue corresponding to the TID of the pre-emptive data. For example, assuming that the TID=0 corresponding to the channel access category BE is used for transmitting the non-pre-emptive data, and the TID=3 is used for transmitting the pre-emptive data, the sending end can preferentially transmit the pre-emptive data in the TID=3 queue.

[0130] The technical scheme provided by the embodiments of the present application uses different TID queues to respectively transmit the pre-emptive data and the non-pre-emptive data, thereby solving the problem of the cache delay of the pre-emptive data at the receiving end caused by the mixed numbering of the pre-emptive data and the non-pre-emptive data based on the same TID.

[0131] Exemplarily, as shown in FIG. 14, the sending end and the receiving end negotiate TIDs 2, 3, 4 and 7 for transmission of pre-emptive data. After receiving data from the upper MAC layer, the sending end determines the corresponding TID according to the UP information in the data, judges whether the data is pre-emptive data based on the SCSID information of the data, and puts the data into the corresponding TID queue according to the type of the data and the matched TID. For example, in the case that the data is pre-emptive data, the data is put into the TID queue corresponding to the pre-emptive data in combination with the matched TID, otherwise, the data is put into the TID queue corresponding to the non-pre-emptive data. Assuming that the sending end matches TID=3 according to the UP information in the data, if the data is pre-emptive data, the data is put into the queue of TID=3 and is sent through the queue of TID=3, if the data is non-pre-emptive data, since TID=0 and TID=3 are both BE data queues, the data is put into the queue of TID=0 and is sent through the queue of TID=0.

[0132] FIG. 15 is another flow diagram of the data transmission method provided by the embodiment of the present application. The method is applied to the receiving end. As shown in FIG. 15, the method can include the following steps:

[0133] S1501, receiving pre-emptive data through a first TID queue.

[0134] S1502, receiving non-pre-emptive data through a second TID queue, wherein the first TID and the second TID are different.

[0135] Optionally, the sending end can negotiate at least one first TID for transmission of pre-emptive data with the receiving end, and send the pre-emptive data based on the negotiated first TID queue. Optionally, the receiving end receives first request information, the first request information being used for requesting negotiation of TIDs for transmission of pre-emptive data, and sends first response information, the first response information containing the negotiation result of the TIDs for transmission of pre-emptive data.

[0136] Optionally, the sending end can also negotiate at least one first TID for transmission of pre-emptive data with the receiving end. Optionally, the receiving end receives second request information, the second request information being used for updating the TIDs for transmission of pre-emptive data, and sends second response information, the second response information containing the update result of the TIDs for transmission of pre-emptive data.

[0137] The technical scheme provided by the embodiment of the present application uses different TID queues to respectively transmit pre-emptive data and non-pre-emptive data, thereby solving the problem of cache delay of pre-emptive data at the receiving end caused by mixed numbering of pre-emptive data and non-pre-emptive data based on the same TID.

[0138] Fig. 16 is a structural schematic diagram of a data transmission device provided by an embodiment of the application. The device is integrated in a sending end. As shown in Fig. 16, the device can include a sending module 1601.

[0139] Specifically, the sending module 1601 is configured to send pre-emptive data and non-pre-emptive data through a same TID queue.

[0140] The pre-emptive data includes indication information, and the indication information is used to instruct the receiving end to perform corresponding processing operations on the pre-emptive data.

[0141] On the basis of the above embodiment, the pre-emptive data can further include configuration information, and the configuration information includes at least one of the following:

[0142] a first start sequence number of a start pre-emptive data in all pre-emptive data to be transmitted this time;

[0143] a first end sequence number of an end pre-emptive data;

[0144] a target number of pre-emptive data.

[0145] On the basis of the above embodiment, the pre-emptive data and the non-pre-emptive data have different survival times and maximum retransmission times.

[0146] On the basis of the above embodiment, in the case of sending the pre-emptive data and the non-pre-emptive data through different TID queues, the sending module 1601 is further configured to at least one of the following:

[0147] the priority of the TID queue where the pre-emptive data is located is higher than the priority of the TID queue where the non-pre-emptive data is located;

[0148] the priority of the TID queue where the pre-emptive data is located is lower than the priority of the TID queue where the non-pre-emptive data is located;

[0149] the TID queue where the pre-emptive data is located and the TID queue where the non-pre-emptive data is located have the same channel access category;

[0150] in the case that the pre-emptive data is located in different TID queues, the pre-emptive data is sent according to the priority of each TID queue.

[0151] On the basis of the above embodiment, the device further includes a processing module.

[0152] Specifically, the processing module is configured to determine the data type of the data packet according to whether the SCSID information is contained in the data packet when the data packet is received from the upper MAC layer.

[0153] On the basis of the above embodiment, optionally, the sending module 1601 is further configured to sequentially transmit the pre-emptive data and the non-pre-emptive data based on the sequence numbers in the case where the sequence number of the non-pre-emptive data in the same TID queue is smaller than the sequence number of the pre-emptive data.

[0154] FIG. 17 is another structural schematic diagram of a data transmission apparatus provided by the embodiment of the application. The apparatus is integrated in a receiving end. As shown in FIG. 17, the apparatus can include a receiving module 1701 and a processing module 1702.

[0155] Specifically, the receiving module 1701 is configured to receive pre-emptive data and non-pre-emptive data through the same TID queue; wherein the pre-emptive data includes indication information.

[0156] The processing module 1702 is configured to perform corresponding processing operations on the pre-emptive data according to the indication information.

[0157] On the basis of the above embodiment, optionally, the pre-emptive data further includes configuration information, and the configuration information includes at least one of the following:

[0158] a first start sequence number of a start pre-emptive data in all pre-emptive data to be transmitted this time;

[0159] a first end sequence number of an end pre-emptive data;

[0160] a target number of pre-emptive data.

[0161] On the basis of the above embodiment, optionally, the processing module 1702 is further configured to at least one of the following:

[0162] determine whether to cache the successfully received pre-emptive data based on the sequence number of the successfully received pre-emptive data and the configuration information according to the indication information;

[0163] determine the unsuccessfully received pre-emptive data based on the sequence number of the successfully received pre-emptive data and the configuration information according to the indication information, and delay to receive the unsuccessfully received pre-emptive data.

[0164] On the basis of the above-mentioned embodiment, optionally, the receiving end comprises a first block acknowledgement score board and a second block acknowledgement score board, the first block acknowledgement score board is used for recording the receiving state of the pre-emptive data, and the second block acknowledgement score board is used for recording the receiving state of the non-pre-emptive data.

[0165] On the basis of the above-mentioned embodiment, optionally, the processing module 1702 is further configured to:

[0166] In the case that all the pre-emptive data to be transmitted are delivered to the next MAC layer, the receiving buffer window corresponding to the TID is configured according to the configuration information.

[0167] On the basis of the above-mentioned embodiment, optionally, the processing module 1702 is further configured to at least one of:

[0168] In the case that the first start sequence number and the first end sequence number are both located in the receiving buffer window corresponding to the TID, and the first start sequence number is greater than the second start sequence number of the receiving buffer window, the second start sequence number is kept unchanged, and the second end sequence number of the receiving buffer window is adjusted according to the target number.

[0169] In the case that the first start sequence number and the first end sequence number are both located in the receiving buffer window corresponding to the TID, and the first start sequence number is equal to the second start sequence number, the second start sequence number and the second end sequence number of the receiving buffer window are adjusted according to the target number.

[0170] In the case that the first start sequence number and the first end sequence number are both located in the receiving buffer window corresponding to the TID, and the first start sequence number is greater than the second start sequence number, the second start sequence number is kept unchanged, and the second end sequence number of the receiving buffer window is adjusted according to the target number.

[0171] In the case that the first start sequence number is greater than the second end sequence number, the receiving buffer window is not adjusted.

[0172] On the basis of the above-mentioned embodiment, optionally, the method further comprises a sending module.

[0173] Specifically, the sending module is configured to send a block acknowledgement frame; wherein the block acknowledgement frame comprises a block acknowledgement bitmap, and the block acknowledgement bitmap is used for indicating the receiving state of the pre-emptive data.

[0174] On the basis of the above-mentioned embodiment, optionally, the processing module 1702 is further configured to:

[0175] In a case where the pre-emptive data has a sequence number greater than the first termination sequence number, the block acknowledgement bitmap is increased.

[0176] Fig. 18 is another structural schematic diagram of a data transmission device provided by an embodiment of the present application. The device is integrated in a sending end. As shown in Fig. 18, the device can include a sending module 1801.

[0177] Specifically, the sending module 1801 is configured to send pre-emptive data through a first TID queue and send non-pre-emptive data through a second TID queue.

[0178] The first TID and the second TID are different.

[0179] On the basis of the above embodiment, the device further includes a processing module.

[0180] Specifically, the processing module is configured to negotiate at least one first TID for transmitting the pre-emptive data with a receiving end.

[0181] On the basis of the above embodiment, the processing module is further configured to negotiate to update the at least one first TID with the receiving end.

[0182] On the basis of the above embodiment, the first TID for transmitting uplink pre-emptive data is the same as the first TID for transmitting downlink pre-emptive data.

[0183] Alternatively, the first TID for transmitting uplink pre-emptive data is different from the first TID for transmitting downlink pre-emptive data.

[0184] On the basis of the above embodiment, each of the at least one first TID corresponds to a different channel access category.

[0185] On the basis of the above embodiment, a third TID symmetrical to the at least one first TID is used to transmit non-pre-emptive data.

[0186] On the basis of the above embodiment, the pre-emptive data and the non-pre-emptive data have different survival times and maximum retransmission times.

[0187] On the basis of the above embodiment, the sending module 1801 is further configured to at least one of the following:

[0188] The first TID queue where the pre-emptive data is located has a higher priority than the second TID queue where the non-pre-emptive data is located.

[0189] The first TID queue of the pre-emptive data has a lower priority than the second TID queue of the non-pre-emptive data.

[0190] The first TID queue of the pre-emptive data has the same channel access category as the second TID queue of the non-pre-emptive data.

[0191] Optionally, based on the above-mentioned embodiments, the sending module 1801 is further configured to send the pre-emptive data according to the priority order of the first TID queues in the case that there are multiple first TID queues for sending the pre-emptive data.

[0192] FIG. 19 is another structural schematic diagram of a data transmission apparatus provided by an embodiment of the present application. The apparatus is integrated in a receiving end. As shown in FIG. 19, the apparatus can include a receiving module 1901.

[0193] The receiving module 1901 is configured to receive pre-emptive data through a first TID queue and receive non-pre-emptive data through a second TID queue.

[0194] The first TID and the second TID are different.

[0195] In an embodiment, a communication device is also provided, which includes a memory and a processor. The memory stores a computer program. The processor implements the data transmission method provided by any of the embodiments of the present application when executing the computer program. Specifically, the communication device can be a station (STA) or an access point (AP) in a wireless local area network.

[0196] In an embodiment, the internal structure of the communication device can be as shown in FIG. 20. The communication device includes a processor, a memory, a network interface and a database connected through a system bus. The processor of the communication device is configured to provide computing and control capabilities. The memory of the communication device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operating system and the computer program in the non-volatile storage medium. The database of the communication device is configured to store data involved in the data transmission process. The network interface of the communication device is configured to connect with a terminal outside through a network for communication. The computer program is executed by the processor to implement a data transmission method.

[0197] Those skilled in the art can understand that the structure shown in FIG. 20 is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the communication device to which the scheme of the present application is applied. The specific communication device can include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0198] The computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the data transmission method described in any of the embodiments of the present application.

[0199] The computer storage medium of the embodiments of the present application can adopt any combination of one or more computer readable media. The computer readable medium can be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium may, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination of the above. The computer readable storage medium includes (but is not an exhaustive list) an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, the computer readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or apparatus.

[0200] The computer readable signal medium can include a data signal propagating in a baseband or as part of a carrier wave propagating through a transmission medium, and carrying computer readable program code. Such a propagating data signal can take many forms, including but not limited to electro-magnetic, optical or any suitable combination thereof. The computer readable signal medium can also be any computer readable medium that is not a computer readable storage medium and that can transmit, propagate or transport program for use by or in connection with an instruction execution system, apparatus or device.

[0201] The program code embodied on the computer readable media can be transmitted using any appropriate medium, including but not limited to wireless, wire line, optical fiber cable, Radio Frequency (RF) etc., or any suitable combination of the foregoing.

[0202] Computer program code for carrying out operations of the present disclosure can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++, Ruby, Go, or conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0203] Those skilled in the art will appreciate that the term user terminal encompasses any appropriate type of wireless user device, such as a mobile phone, portable data processing apparatus, portable web browser or in-vehicle mobile station.

[0204] In general, the various embodiments of the application can be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects can be implemented in hardware, while other aspects can be implemented in

[0205] Embodiments of the application can be implemented by computer program instructions embodied on a tangible, computer readable medium executed by a data processor of a mobile device, for example, in processor circuitry, or by hardware, or by a combination of software and hardware. The computer program instructions can be in the form of assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or in any combination of one or more programming languages, executed on one or more computer devices.

[0206] The block diagrams of any logical flow of the present application in the drawings can represent program steps or can represent interconnected logic circuits, modules, and functions, or can represent a combination of program steps and logic circuits, modules, and functions. The computer program can be stored on a memory. The memory can be of any type suitable to the local technical environment and can be realized using any suitable data storage technology, such as, but not limited to, read only memory (ROM), random access memory (RAM), optical storage devices, and systems, such as digital versatile disc (DVD) or CD, and the like. The computer readable medium can include non-transitory storage media. The data processor can be of any type suitable to the local technical environment, and can include, but is not limited to, a general purpose computer, a special purpose computer, a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and a processor based on multi-core processor architecture.

Claims

1. A data transmission method, applied at a sending end, the method comprising: Send preemptive and non-preemptive data through the same traffic identifier (TID) queue; The preemptive data includes indication information, which is used to instruct the receiving end to perform corresponding processing operations on the preemptive data.

2. The method according to claim 1, wherein, The preemptive data also includes configuration information, which includes at least one of the following: Used to indicate the first starting sequence number of the first preemptive data among all preemptive data to be transmitted in this instance; The first termination sequence number for preemptive data; The target quantity of preemptive data.

3. The method according to claim 1, wherein, The sending end is configured with different lifespan and maximum retransmission counts for the preemptive data and the non-preemptive data.

4. The method according to claim 1, wherein, In response to determining that the preemptive data and the non-preemptive data are to be sent through different TID queues, the preemptive data and the non-preemptive data are sent in at least one of the following manner: The priority of the TID queue containing the preemptive data is higher than the priority of the TID queue containing the non-preemptive data; The priority of the TID queue containing the preemptive data is lower than the priority of the TID queue containing the non-preemptive data; The TID queue containing the preemptive data and the TID queue containing the non-preemptive data have the same channel access category; In response to determining that the preemptive data is located in different TID queues, the preemptive data is sent according to the priority of the different TID queues.

5. The method according to claim 1, further comprising: In response to determining that a data packet has been received from the upper-level Media Access Control (MAC) layer, the data type of the data packet is determined based on whether the data packet contains Stream Classification Service Identifier (SCSID) information.

6. The method according to claim 1, wherein, Sending preemptive and non-preemptive data through the same TID queue includes: In response to determining that the sequence number of the non-preemptive data in the same TID queue is less than the sequence number of the preemptive data, the preemptive data and the non-preemptive data are transmitted sequentially based on the sequence number.

7. A data transmission method applied at a receiving end, the method comprising: Preemptive and non-preemptive data are received through the same Traffic Identifier (TID) queue; wherein, the preemptive data includes indication information; Perform corresponding processing operations on the preemptive data according to the instruction information.

8. The method according to claim 7, wherein, The preemptive data also includes configuration information, which includes at least one of the following: Used to indicate the first starting sequence number of the first preemptive data among all preemptive data to be transmitted in this instance; The first termination sequence number for preemptive data; The target quantity of preemptive data.

9. The method according to claim 8, wherein, The step of performing corresponding processing operations on the preemptive data according to the indication information includes at least one of the following: Based on the indication information, and according to the sequential number of the successfully received preemptive data and the configuration information, it is determined whether to cache the successfully received preemptive data. Based on the indication information, according to the sequential number of the successfully received preemptive data and the configuration information, the preemptive data that was not successfully received is determined, and a delay is made to wait for the unsuccessfully received preemptive data to be received.

10. The method according to claim 8, wherein, The receiving end includes a first confirmation scoreboard and a second confirmation scoreboard. The first confirmation scoreboard is configured to record the reception status of the preemptive data, and the second confirmation scoreboard is configured to record the reception status of the non-preemptive data.

11. The method of claim 8, further comprising: In response to the determination that all preemptive data to be transmitted is passed to the next MAC layer, the receive buffer window corresponding to the TID is configured according to the configuration information.

12. The method according to claim 11, wherein, The configuration of the receive buffer window corresponding to the TID according to the configuration information includes at least one of the following: In response to determining that the first start sequence number and the first end sequence number are respectively located in the receive buffer window corresponding to the TID, and that the first start sequence number is greater than the second start sequence number of the receive buffer window, the receive buffer window is not adjusted; In response to determining that the first start sequence number and the first end sequence number are respectively located in the receive buffer window corresponding to the TID, and that the first start sequence number is equal to the second start sequence number, the second start sequence number and the second end sequence number of the receive buffer window are adjusted according to the target quantity; In response to determining that the first start sequence number and the first end sequence number are respectively located in the receive buffer window corresponding to the TID, and that the first start sequence number is greater than the second start sequence number, the second start sequence number is kept unchanged, and the second end sequence number is adjusted according to the target quantity; In response to determining that the first start sequence number is greater than the second end sequence number, the receive buffer window is not adjusted.

13. The method of claim 8, further comprising: Send a block acknowledgment frame; wherein the block acknowledgment frame contains a block acknowledgment bit map, the block acknowledgment bit map being used to indicate the reception status of the preemptive data.

14. The method of claim 13, further comprising: In response to determining that the sequence number of the preemptive data is greater than the first termination sequence number, the block confirmation bit map is increased.

15. A data transmission method applied at a sending end, the method comprising: Preemptive data is sent through the first traffic identifier (TID) queue; Send non-preemptive data through the second TID queue; The first TID queue and the second TID are different.

16. The method of claim 15, further comprising: Negotiate with the receiving end at least one first TID for transmitting the preemptive data.

17. The method of claim 15, further comprising: Negotiate with the receiving end to update at least one first TID.

18. The method according to claim 15, wherein, The first TID used for transmitting uplink preemptive data is the same as the first TID used for transmitting downlink preemptive data; Alternatively, the first TID used to transmit the uplink preemptive data is different from the first TID used to transmit the downlink preemptive data.

19. The method of claim 16, wherein, All of the at least one first TID corresponds to a different channel access category.

20. The method of claim 16, wherein, A third TID, symmetrical to the at least one first TID, is used to transmit the non-preemptive data.

21. The method according to claim 15, wherein, The sending end is configured with different lifespan and maximum retransmission counts for the preemptive data and the non-preemptive data.

22. The method according to claim 15, wherein, The preemptive data transmission method includes at least one of the following: The priority of the preemptive data in the first TID queue is higher than the priority of the non-preemptive data in the second TID queue; The priority of the preemptive data in the first TID queue is lower than the priority of the non-preemptive data in the second TID queue; The first TID queue containing the preemptive data and the second TID queue containing the non-preemptive data have the same channel access category.

23. The method according to claim 15, wherein, Sending preemptive data through the first TID queue includes: In response to determining that there are multiple first TID queues for sending the preemptive data, the preemptive data is sent according to the priority of the multiple first TID queues.

24. A data transmission method applied at a receiving end, the method comprising: Receive preemptive data through the first traffic identifier (TID) queue; Receive non-preemptive data through the second TID queue; The first TID and the second TID are different.

25. A communication device, comprising: A memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the steps of the method according to any one of claims 1-24.

26. A computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the method according to any one of claims 1-24.

Citation Information

Patent Citations

  • Method and device for carrying out data transmission by AP MLD supporting wireless TSN

    CN115707088A

  • Multi-link communication method and device and readable storage medium

    CN116133043A

  • Receive reordering buffer control for latency sensitive traffic

    CN117356061A

  • Block acknowledgement agreement for latency sensitive traffic stream

    US20230254897A1

  • Stream classification service-based communication method and apparatus

    WO2024067536A1