A service scheduling method and device
By scheduling the transmitting nodes in the Wi-Fi network system according to the data frame waiting delay, preset delay, and service priority, the problem of unreliable data frame communication delay when the communication channel is limited is solved, and more efficient data frame transmission is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2020-12-31
- Publication Date
- 2026-05-29
AI Technical Summary
In a Wi-Fi network system, when communication channels are limited, the communication latency of a large amount of business data cannot be guaranteed.
The sending node determines the target frame to be sent first from multiple data frames based on the waiting delay, preset delay, and service priority of the data frame. By considering the relationship between the waiting delay and the preset delay, as well as the service priority, the node ensures the full scheduling of data frames.
It ensures that the communication latency of a larger number of data frames is guaranteed even when the communication channel is limited, thus meeting the requirements of waiting latency and service priority.
Smart Images

Figure CN116671220B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a service scheduling method and apparatus. Background Technology
[0002] In a Wi-Fi network system, multiple stations (STAs) can communicate with a single access point (AP). In this case, multiple STAs share a single communication channel.
[0003] When a transmitting node (either an AP or a STA) needs to send multiple service data, if the communication channel is interfered with (e.g., co-channel interference, adjacent channel interference, etc.), or if the distance between the AP and STA increases, limiting the communication channel, the transmitting node can determine the priority of each service data based on its communication delay and send the multiple service data in descending order of priority. This may result in a significant number of service data having unreliable communication delays. Summary of the Invention
[0004] This application provides a service scheduling method and apparatus, which solves the problem that the communication latency of a large number of service data cannot be guaranteed when the communication channel in a Wi-Fi network system is limited.
[0005] To achieve the above objectives, this application adopts the following technical solution:
[0006] Firstly, this application provides a service scheduling method applied to a Wi-Fi network system. A transmitting node acquires the waiting delay and category of each data frame from multiple data frames at the current time, determines the service priority of each data frame based on its category, and determines the target frame to be sent first from the multiple data frames at the current time based on the waiting delay, preset delay, and service priority of each data frame. Then, the transmitting node sends the target frame to the receiving node at the current time. Here, the waiting delay of the data frame is the duration for which the data frame waits for scheduling by the transmitting node, and the preset delay of the data frame is a pre-set upper limit of the waiting delay, which is less than the communication delay of the data frame.
[0007] In this way, when the sending node determines the target frame that needs to be sent first from multiple data frames, it considers not only the service priority of the data frames, but also the waiting delay and preset delay. The preset delay is a pre-set upper limit of the waiting delay, which is less than the communication delay of the data frame. Compared with the prior art of sending data frames in descending order of service priority, the embodiments of this application can fully schedule data frames that meet the conditions of waiting delay and service priority, thereby ensuring the communication delay of a larger number of data frames.
[0008] Optionally, in one possible implementation of this application, the method of "the sending node determining the target frame to be sent first from multiple data frames at the current moment based on the waiting delay, preset delay and service priority of each data frame" may include: the sending node comparing the waiting delay of each data frame with the preset delay of the data frame, and determining the target frame based on the comparison result and the service priority of each data frame.
[0009] By comparing the waiting delay of a data frame with its preset delay, it can be determined whether the data frame meets the waiting delay requirement. Combined with service priority requirements, this ensures that data frames meeting both waiting delay and service priority requirements are fully scheduled under different circumstances, guaranteeing the communication latency of these data frames.
[0010] Optionally, in another possible implementation of this application, the method of "the sending node determining the target frame based on the comparison result and the service priority of each data frame" may include: when the sending node determines that there are candidate data frames among multiple data frames, the target frame is the data frame with the highest service priority among the candidate data frames, and the waiting delay of the candidate data frame is greater than the preset delay of the candidate data frame.
[0011] Optionally, in another possible implementation of this application, the method of "the sending node determining the target frame based on the comparison result and the service priority of each data frame" may include: if the sending node determines that the waiting delay of each data frame in the multiple data frames is less than the preset delay of the data frame, the target frame is the data frame with the highest service priority and the longest waiting delay among the multiple data frames.
[0012] Optionally, in another possible implementation of this application, the method of "the sending node obtaining the category of each data frame" may include: the sending node determining the category of each data frame based on the communication delay of each data frame, wherein the communication delay of data frames in a category belongs to a preset delay range. Alternatively, the sending node determines the service type of each data frame and determines the category of each data frame based on the service type of each data frame, wherein data frames in a category have the same service type.
[0013] Optionally, in another possible implementation of this application, the service scheduling method provided by this application may further include: the sending node determining the service scenario for each data frame. For each data frame's service scenario, the sending node performs the following steps: if it is determined that the stored session does not include a session for the first service scenario of the first data frame, it establishes a session for the first service scenario with the receiving node. Here, the first data frame is any one of multiple data frames, and the session for the first service scenario is used for the sending node and the receiving node to transmit data frames of the first service scenario.
[0014] In this way, by establishing a session with the receiving node for the business scenario, the sending node can track the latency of the data frames in that business scenario and thus understand the transmission status of the data frames in that business scenario.
[0015] Optionally, in another possible implementation of this application, where the sending node is an access point and the receiving node is a site, the service scheduling method provided in this application may further include: if, during a session determining the first service scenario, the sending node does not receive a data frame for the first service scenario for a duration longer than a preset delay of the first data frame, it sends scheduling information to the receiving node and receives feedback information from the receiving node. The scheduling information instructs the receiving node to provide feedback on the data information of the first service scenario to the sending node, and the feedback information includes the data frame of the first service scenario.
[0016] In this way, uplink scheduling can be carried out by sending scheduling information from the access point to the site, which can alleviate the problem of excessive delay in sending data frames to the access point due to the difficulty of the site unilaterally accessing the channel.
[0017] Optionally, in another possible implementation of this application, the service scheduling method provided by this application may further include: the sending node receiving indication information from the receiving node, and after receiving the indication information, restarting the timing for the duration during which the data frame of the first service scenario has not been received. The indication information is sent by the receiving node in the session determining the first service scenario when the duration during which the data frame of the first service scenario has not been sent exceeds a delay threshold, and the delay threshold is less than the preset delay of the first data frame.
[0018] Thus, while sending scheduling information by the access point for uplink scheduling can alleviate the problem of unilateral channel access difficulties for stations, it increases communication overhead. Since the delay threshold for stations sending indication information is less than the preset delay for access points sending scheduling information, sending indication information by stations can reduce the number of times access points send scheduling information, thereby saving communication overhead.
[0019] Secondly, this application provides a service scheduling device applied to a transmitting node in a Wi-Fi network system. It includes: a processor, configured to acquire the waiting delay and category of each data frame among multiple data frames at the current time, determine the service priority of each data frame according to its category, and determine a target frame to be prioritized for transmission at the current time from the multiple data frames based on the waiting delay, preset delay, and service priority of each data frame; wherein the waiting delay of the data frame is the duration for which the data frame waits for processor scheduling; the preset delay of the data frame is a pre-set upper limit value for the waiting delay, which is less than the communication delay of the data frame; and a transmitting circuit, configured to transmit the target frame determined by the processor to a receiving node at the current time.
[0020] Optionally, in one possible implementation of this application, the processor is specifically configured to: compare the waiting delay of each data frame with the preset delay of the data frame; and determine the target frame based on the comparison result and the service priority of each data frame.
[0021] Optionally, in another possible implementation of this application, the processor is specifically configured to: determine the target frame as the data frame with the highest service priority among the candidate data frames when it is determined that the candidate data frames include candidate data frames, and the waiting delay of the candidate data frames is greater than the preset delay of the candidate data frames.
[0022] Optionally, in another possible implementation of this application, the processor is specifically used to: determine the target frame as the data frame with the highest service priority and the longest waiting delay among the multiple data frames, provided that the waiting delay of each data frame in the multiple data frames is less than the preset delay of the data frame.
[0023] Optionally, in another possible implementation of this application, the processor is specifically configured to: determine the category of each data frame based on the communication delay of each data frame; the communication delay of data frames in a category belongs to a preset delay range; or, determine the service type of each data frame, and determine the category of each data frame based on the service type of each data frame; data frames in a category have the same service type.
[0024] Optionally, in another possible implementation of this application, the processor is further configured to: determine the service scenario of each data frame; and for each data frame service scenario, perform the following steps: if it is determined that the stored session does not include a session of the first service scenario of the first data frame, establish a session of the first service scenario with the receiving node, wherein the first data frame is any one of a plurality of data frames, and the session of the first service scenario is used to transmit the data frame of the first service scenario with the receiving node.
[0025] Optionally, in another possible implementation of this application, where the sending node is an access point and the receiving node is a site, the service scheduling device further includes: a receiving circuit. The sending circuit is further configured to send scheduling information to the receiving node if, during a session determining the first service scenario, the duration of not receiving a data frame for the first service scenario exceeds a preset delay of the first data frame. The receiving circuit is configured to receive feedback information from the receiving node. The scheduling information is used to instruct the receiving node to provide feedback on the data information of the first service scenario to the sending circuit. The feedback information includes the data frame of the first service scenario.
[0026] Optionally, in another possible implementation of this application, the receiving circuit is further configured to receive indication information from the receiving node. The processor is further configured to restart the timing of the duration during which the data frame of the first service scenario has not been received after receiving the indication information. The indication information is sent by the receiving node when the duration during which the data frame of the first service scenario has not been sent in the session that determines the first service scenario exceeds a delay threshold, and the value of the delay threshold is less than the preset delay of the first data frame.
[0027] Thirdly, this application provides a service scheduling device applied to a transmitting node in a Wi-Fi network system. It includes: an acquisition unit, configured to acquire the waiting delay and category of each data frame among multiple data frames at the current time; a determination unit, configured to determine the service priority of each data frame based on the category acquired by the acquisition unit, and determine a target frame to be prioritized for transmission at the current time from among the multiple data frames based on the waiting delay, preset delay, and service priority of each data frame; and a transmission unit, configured to transmit the target frame determined by the determination unit to a receiving node at the current time. The waiting delay of a data frame is the duration for which the data frame waits for processor scheduling; the preset delay of a data frame is a pre-set upper limit value for the waiting delay, which is less than the communication delay of the data frame.
[0028] Optionally, in one possible implementation of this application, the determining unit is specifically used for: comparing the waiting delay of each data frame with the preset delay of the data frame; and determining the target frame based on the comparison result and the service priority of each data frame.
[0029] Optionally, in another possible implementation of this application, the determining unit is specifically used to: determine the target frame as the data frame with the highest service priority among the candidate data frames when it is determined that the candidate data frames include candidate data frames, and the waiting delay of the candidate data frames is greater than the preset delay of the candidate data frames.
[0030] Optionally, in another possible implementation of this application, the determining unit is specifically used to: determine the target frame as the data frame with the highest service priority and the longest waiting delay among the multiple data frames, provided that the waiting delay of each data frame in the multiple data frames is less than the preset delay of the data frame.
[0031] Optionally, in another possible implementation of this application, the acquisition unit is specifically used for: determining the category of each data frame based on the communication delay of each data frame; the communication delay of data frames in a category belongs to a preset delay range; or, determining the service type of each data frame, and determining the category of each data frame based on the service type of each data frame; data frames in a category have the same service type.
[0032] Optionally, in another possible implementation of this application, the service scheduling device further includes an establishment unit. The determination unit is further configured to determine the service scenario for each data frame. For each data frame's service scenario determined by the determination unit, the establishment unit is configured to establish a session for the first service scenario with the receiving node if, in the case that the stored session does not include a session for the first service scenario of the first data frame, the first data frame can be any one of multiple data frames. The session for the first service scenario is used to transmit data frames of the first service scenario with the receiving node.
[0033] Optionally, in another possible implementation of this application, where the sending node is an access point and the receiving node is a site, the service scheduling device further includes a receiving unit. The sending unit is further configured to send scheduling information to the receiving node if, during a session determining the first service scenario, the duration of the unreceived data frame for the first service scenario exceeds a preset delay of the first data frame. The receiving unit is configured to receive feedback information from the receiving node. The scheduling information is used to instruct the receiving node to feed back the data information of the first service scenario to the sending circuit. The feedback information includes the data frame of the first service scenario.
[0034] Optionally, in another possible implementation of this application, the service scheduling device further includes a timing unit. The receiving unit is further configured to receive indication information from the receiving node. The timing unit is configured to restart the timing for the duration during which the data frame for the first service scenario has not been received after the receiving unit receives the indication information. The indication information is sent by the receiving node in the session determining the first service scenario when the duration during which the data frame for the first service scenario has not been sent exceeds a delay threshold, where the delay threshold is less than the preset delay of the first data frame.
[0035] Fourthly, this application provides a service scheduling apparatus, which includes a memory and a processor. The memory and the processor are coupled. The memory stores computer program code, which includes computer instructions. When the processor executes the computer instructions, the service scheduling apparatus performs a service scheduling method as described in the first aspect and any possible implementation thereof.
[0036] Fifthly, this application provides a chip system applied to a service scheduling device. The chip system includes one or more interface circuits and one or more processors. The interface circuits and processors are interconnected via lines; the interface circuits are used to receive signals from the memory of the service scheduling device and send signals to the processors, the signals including computer instructions stored in the memory. When the processor executes the computer instructions, the service scheduling device performs a service scheduling method as described in the first aspect and any possible implementation thereof.
[0037] Sixthly, this application provides a computer-readable storage medium including computer instructions that, when executed on a service scheduling device, cause the service scheduling device to perform a service scheduling method as described in the first aspect and any possible implementation thereof.
[0038] In a seventh aspect, this application provides a computer program product comprising computer instructions that, when executed on a service scheduling device, cause the service scheduling device to perform a service scheduling method as described in the first aspect and any possible implementation thereof.
[0039] For a detailed description of aspects two through seven and their various implementations in this application, please refer to the detailed description in aspect one and its various implementations; and for a detailed description of the beneficial effects of aspects two through seven and their various implementations, please refer to the beneficial effect analysis in aspect one and its various implementations, which will not be repeated here. Attached Figure Description
[0040] Figure 1 This is a schematic diagram of the structure of a Wi-Fi network system provided in an embodiment of this application;
[0041] Figure 2 A schematic diagram of a service scheduling device provided in an embodiment of this application;
[0042] Figure 3 One of the flowcharts of the service scheduling method provided in the embodiments of this application;
[0043] Figure 4 A schematic diagram illustrating the communication latency of data frames in different business scenarios provided in the embodiments of this application;
[0044] Figure 5 A schematic diagram illustrating queues with different service priorities provided in embodiments of this application;
[0045] Figure 6 A second schematic flowchart illustrating the service scheduling method provided in this application embodiment;
[0046] Figure 7 One of the scene diagrams for determining the target frame provided in the embodiments of this application;
[0047] Figure 8 A second schematic diagram illustrating the scenario of determining the target frame provided in an embodiment of this application;
[0048] Figure 9 The third flowchart illustrating the service scheduling method provided in this application embodiment;
[0049] Figure 10 The fourth flowchart illustrating the service scheduling method provided in this application embodiment;
[0050] Figure 11 A schematic diagram of access point uplink scheduling provided in an embodiment of this application;
[0051] Figure 12 Fifth flowchart illustrating the service scheduling method provided in the embodiments of this application;
[0052] Figure 13 This is one of the structural schematic diagrams of the service scheduling device provided in the embodiments of this application;
[0053] Figure 14 This is a second schematic diagram of the service scheduling device provided in the embodiments of this application. Detailed Implementation
[0054] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0055] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of embodiments of this application, unless otherwise stated, "a plurality of" means two or more.
[0056] To address the issue of communication latency for a large number of service data packets being compromised when communication channels are limited in Wi-Fi network systems, this application provides a service scheduling method. The sending node can determine the target frame to be sent first from multiple data frames based on the waiting delay, preset delay, and service priority of each data frame, and then send the target frame to the receiving node at the current time. Compared to the prior art of sending data frames in descending order of service priority, this application, in addition to considering service priority, also considers the waiting delay and preset delay of data frames. This ensures that data frames meeting the requirements of waiting delay and service priority are fully scheduled, thereby guaranteeing communication latency for a larger number of data frames.
[0057] The service scheduling method provided in this application is applicable to Wi-Fi network systems. Figure 1 One structure of the Wi-Fi network system is shown. For example... Figure 1 As shown, the Wi-Fi network system may include one access point 11 and multiple stations 12. The access point 11 and the multiple stations 12 establish a connection through the Wi-Fi network. The multiple stations 12 share a single communication channel.
[0058] Access point 11 can be an AP device. An AP device can specifically be a wireless router, wireless gateway, or wireless bridge, etc.
[0059] Site 12 can be a STA device. STA devices can be mobile terminal devices with Wi-Fi modules, such as mobile phones (or "cellular" phones) and computers with mobile terminal devices. They can also be portable, pocket-sized, handheld, computer-embedded, or vehicle-mounted mobile devices that exchange voice and / or data with the RAN. For example, terminal device 12 can be: a mobile phone, tablet computer, laptop computer, PDA, mobile internet device (MID), wearable device, virtual reality (VR) device, augmented reality (AR) device, wireless terminal device in industrial control, self-driving, remote medical surgery, smart grid, transportation safety, smart city, smart home, etc.
[0060] It should be noted that the execution entity of the service scheduling method provided in this application embodiment is a service scheduling device. This service scheduling device can be a sending node, the processor (central processing unit, CPU) of the sending node, a control module in the sending node used for scheduling services, or a client in the sending node used for scheduling services. The sending node can be the aforementioned access point 11 or site 12.
[0061] The basic hardware structure of the aforementioned access point 11 or site 12 is similar, and both include Figure 2 The components included in the service scheduling device shown below. Figure 2 Taking the service scheduling device shown as an example, the hardware structure of access point 11 or site 12 is introduced.
[0062] like Figure 2 As shown, the service scheduling device may include a processor 21 and a transceiver circuit 22, and the transceiver circuit 22 may include a transmitting circuit and a receiving circuit. The processor 21 and the transceiver circuit 22 may be integrated into a single chip, or they may be two separate chips.
[0063] Optionally, the service scheduling device may further include a memory 23 for storing computer instructions. The processor 21 and the memory 23 are coupled together to implement the service scheduling method provided in the embodiments of this application below. Alternatively, the service scheduling device may not include the memory 23, and the memory 23 may be located outside the service scheduling device.
[0064] The processor 21, memory 23, and transceiver circuit 22 are coupled together to implement the service scheduling method provided in the following embodiments of this application. For example, when the processor 21 executes computer instructions stored in the memory 23, it causes the service scheduling device to execute the service scheduling method provided in the following embodiments of this application. Exemplarily, the service scheduling device may be a transmitting node (e.g., an access point or site), or a chip or other component disposed in the transmitting node.
[0065] The transceiver circuit 22 can be implemented through transceiver components in the transmitting node, which may include antennas, feed lines, and codecs.
[0066] Processor 21 is the control center of the service scheduling device. It can be a single processor or a collective term for multiple processing elements. For example, processor 21 can be a CPU or other general-purpose processors. Among them, general-purpose processors can be microprocessors or any conventional processors, such as graphics processing units (GPUs) and digital signal processors (DSPs).
[0067] The memory 23 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), disk storage medium or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.
[0068] In this embodiment, the software programs stored in the memory 23 are different for access point 11 and site 12, so the functions implemented by access point 11 and site 12 are different. The functions performed by each device will be described with reference to the following flowchart.
[0069] The transceiver circuit 22 is used for connecting the service scheduling device with other devices via a communication network, such as a Wi-Fi network. The transceiver circuit 22 may include a receiving circuit for receiving data and a transmitting circuit for sending data.
[0070] It should be pointed out that, Figure 2 The structure shown does not constitute a limitation on the service scheduling device, except Figure 2 In addition to the components shown, the service scheduling device may include more or fewer components than illustrated, or combine certain components, or have different component arrangements.
[0071] Based on the above description of the Wi-Fi network system and service scheduling device, this application provides a service scheduling method. The service scheduling method provided by this application embodiment is described below with reference to the accompanying drawings. This service scheduling method can be applied to scenarios in Wi-Fi network systems where communication channels are limited.
[0072] like Figure 3 As shown, the service scheduling method may include steps 301-304. In steps 301-304, the sending node can be an access point or a site. When the sending node is an access point, the receiving node is a site. When the sending node is a site, the receiving node is an access point.
[0073] It should be noted that the communication latency of the data frame involved in this application embodiment consists of three parts: the waiting latency for the data frame to be scheduled, the processing latency for the data frame to be processed by the sending node, and the transmission latency for the data frame from the sending node to the receiving node. The value of the communication latency of the data frame can be preset, and this value is the maximum allowed value.
[0074] 301. The sending node obtains the waiting delay and category of each data frame in the multiple data frames at the current moment.
[0075] The sending node can obtain the waiting delay and category of each of the multiple data frames that need to be sent at the current moment. The waiting delay of a data frame is the duration during which the data frame waits for the sending node to schedule it. In one implementation, the sending node can start timing from the time it obtains the data frame, and the timing duration is the waiting delay. The timing ends when the data frame is scheduled by the sending node.
[0076] Optionally, in some embodiments, the sending node may obtain the category of each data frame in the following two ways.
[0077] Method 1: The sending node determines the category of each data frame based on the communication delay of each data frame.
[0078] Because the communication latency of data frames varies in different business scenarios, for example, Figure 4 As shown, the communication latency of data frames in VR scenes is 10 milliseconds (ms), in game scenes it is between 10ms and 100ms, in audio or video scenes it is 100ms, and in web browsing scenes it is 1 second. Therefore, the sending node can classify multiple data frames based on their communication latency to determine the category of each data frame.
[0079] In one implementation, multiple preset delay ranges can be pre-stored in the sending node. The sending node can determine the preset delay range to which the communication delay of each data frame in multiple data frames belongs, and classify the data frames corresponding to the communication delays belonging to the same preset delay range into one category.
[0080] For example, suppose the sending node currently receives four data frames: data frame 1, data frame 2, data frame 3, and data frame 4. The communication latency of data frame 1 is 10ms, data frame 2 is 50ms, data frame 3 is 70ms, and data frame 4 is 150ms. Assume the sending node has four preset latency ranges stored in its memory: 0-10ms, 10ms-100ms, 100ms-500ms, and 500ms-1s. Then, the sending node determines that data frame 1 belongs to the preset latency range of 0-10ms, data frames 2 and 3 belong to the preset latency range of 10ms-100ms, and data frame 4 belongs to the preset latency range of 100ms-500ms. Thus, the sending node categorizes the four data frames into three classes: the first class includes data frame 1, the second class includes data frames 2 and 3, and the third class includes data frame 4.
[0081] Method 2: The sending node determines the service type of each data frame, and determines the category of each data frame based on the service type of each data frame.
[0082] Since different data frames have different service types, the sending node can classify multiple data frames according to their service types to obtain the category of each data frame.
[0083] In one implementation, the sending node can determine the service type of each data frame based on the quality of service (QoS) of each data frame, and classify data frames with the same service type into one category.
[0084] For example, suppose the sending node currently receives four data frames: data frame 1, data frame 2, data frame 3, and data frame 4. And suppose the sending node determines that the service type of data frame 1 is voice (VO), the service types of data frames 2 and 3 are both video (VI), and the service type of data frame 4 is besteffort (BE). Then, the sending node divides the four data frames into three categories: the first category (VO category) includes data frame 1, the second category (VI category) includes data frames 2 and 3, and the third category (BE category) includes data frame 4.
[0085] It should be noted that in this embodiment, the acquisition channels for multiple data frames differ depending on the sending node. When the sending node is a site, the multiple data frames may be generated by the site when a user uses certain functions of an application they have installed. For example, when a user uses the voice call function in an instant messaging (IM) application, the site can generate voice data frames based on the user's voice input. Similarly, when a user uses the online function in a game application, the site can generate game data frames based on the user's actions. When the sending node is an access point, the multiple data frames may be data frames received by the access point from other sites that need to be forwarded to the aforementioned sites.
[0086] 302. The sending node determines the service priority of each data frame based on the category of each data frame.
[0087] After obtaining the category of each data frame, the sending node can determine the service priority of each data frame based on its category. Data frames of the same category have the same service priority. When the sending node uses different methods to determine the category of a data frame, the method for determining the service priority will also differ.
[0088] If the data frame category is determined using method 1 in step 301 above, the sending node can determine the service priority of the data frame of that category according to the rule that the smaller the preset delay range corresponding to the category, the higher the service priority of the data frame of that category.
[0089] For example, referring to the example in Method 1, since the preset latency range corresponding to the first category is 0-10ms < the preset latency range corresponding to the second category is 10ms-100ms < the preset latency range corresponding to the third category is 100ms-500ms, the sending node determines that the service priority of data frame 1 is higher than that of data frame 2, and the service priority of data frame 3 is higher than that of data frame 4.
[0090] If the data frame category is determined using method 2 in step 301 above, the sending node can determine the service priority of the data frame according to the pre-stored relationship between the service priorities of different categories.
[0091] For example, in conjunction with the example in Method 2, assuming that the service priority of the VO category is higher than that of the VI category, which is higher than that of the BE category, the sending node determines that the service priority of data frame 1 is higher than that of data frame 2 and the service priority of data frame 3 is higher than that of data frame 4.
[0092] It should be noted that after dividing multiple data frames into multiple categories, the sending node can add the data frames of each category to the corresponding queue according to the scheduling order. In this way, the sending node determines the service priority of each queue, that is, determines the service priority of each data frame.
[0093] In practical implementation, multiple queues can be pre-set in the sending node. For method 1 above, the number of queues corresponds to the number of preset delay ranges. After classification, the sending node can add data frames corresponding to communication delays within a certain preset delay range to the queue corresponding to that preset delay range according to the scheduling order. For method 2 above, the number of queues corresponds to the number of service types. After classification, the sending node can add data frames of the same service type to the queue corresponding to that service type according to the scheduling order.
[0094] For example, combining with the example of Method 2, the sending node divides the four data frames into three categories. The first category (VO category) includes data frame 1, the second category (VI category) includes data frames 2 and 3, and the third category (BE category) includes data frame 4. Assume the scheduling order of these four data frames is: data frame 1, data frame 3, data frame 2, data frame 4, and the sending node has four pre-set queues: VI queue, VO queue, BE queue, and BK (background) queue. Then, as... Figure 5 The diagram shown illustrates the process of adding data frames of three categories to the queue by the sending node. Figure 5 It can be seen that the service priority of data frames in the VO queue is higher than that of data frames in the VI queue, which in turn is higher than that of data frames in the BE queue. Since there are no BK type data frames among the four data frames, therefore... Figure 5 The BK queue is not shown.
[0095] 303. The sending node determines the target frame to be sent first from multiple data frames at the current moment based on the waiting delay, preset delay and service priority of each data frame.
[0096] The preset delay of a data frame is a pre-defined upper limit for the waiting delay, which is less than the communication delay of that data frame. At the current moment, the target frame has a higher scheduling priority than other data frames among multiple data frames.
[0097] After obtaining the waiting delay of each data frame and determining the service priority of each data frame, the sending node can compare the waiting delay of each data frame with the preset delay of that data frame, and determine the target frame based on the results of all comparisons and the service priority of the data frame.
[0098] It is understood that, when the waiting latency of each data frame in multiple data frames is less than the preset latency of that data frame, the aforementioned target frame may include: the data frame with the highest service priority and the longest waiting latency among the multiple data frames. Alternatively, when there is a data frame in multiple data frames whose waiting latency is greater than the preset latency of that data frame, the aforementioned target frame may include: the data frame with the highest service priority among the data frames whose waiting latency is greater than the preset latency.
[0099] 304. The sending node sends the target frame to the receiving node at the current moment.
[0100] It should be noted that, in this embodiment of the application, after the sending node completes steps 301-304, it can repeat steps 301-304 in the next moment. That is, the sending node obtains the waiting delay and category of multiple data frames in the next moment (these multiple data frames may include the remaining data frames from the data frames obtained at the current moment excluding the target frame, and may also include newly generated data frames in the next moment). Based on the category of the data frame, it determines the service priority of the data frame, and based on the waiting delay, preset delay, and service priority of the data frame, it determines the target frame to be sent first in the next moment, and sends the newly determined target frame to the receiving node in the next moment. This process is repeated until the sending node has no more data frames to send.
[0101] The service scheduling method provided in this application involves a sending node acquiring the waiting delay and category of each data frame from multiple data frames. The sending node determines the service priority of each data frame based on its category and, based on the waiting delay, preset delay, and service priority, identifies a target frame to be sent first at the current moment from the multiple data frames. Then, the sending node sends the identified target frame to the receiving node at the current moment. This method considers not only the service priority of the data frames but also their waiting delay and preset delay when determining the target frame to be sent first from multiple data frames. The preset delay is a pre-set upper limit of the waiting delay, which is less than the communication delay of the data frame. Compared to the prior art of sending data frames in descending order of service priority, this application embodiment enables sufficient scheduling of data frames that meet the conditions of waiting delay and service priority, thereby ensuring the communication delay of a larger number of data frames.
[0102] Optionally, in the embodiments of this application, based on Figure 3 ,like Figure 6 As shown, step 303 above may specifically include steps 303A or 303B.
[0103] 303A. When the sending node determines that there are candidate data frames among multiple data frames, it determines the target frame as the data frame with the highest service priority among the candidate data frames.
[0104] Among them, the waiting delay of the candidate data frame is greater than or equal to the preset delay of the candidate data frame.
[0105] When candidate data frames include one or more data frames with the same service priority, the sending node can determine the target frame as a candidate data frame.
[0106] When the candidate data frames include multiple data frames with different service priorities, the sending node can determine the target frame as the data frame with the highest service priority among the candidate data frames.
[0107] It should be noted that, in this embodiment of the application, since the number of data frames sent by the sending node at the current moment is limited, when the sending node determines the target frame, if the number of data frames with the highest service priority among the candidate data frames is greater than the maximum number of data frames allowed to be sent at one time, the sending node can determine the target frame as the data frame with the highest service priority, the first scheduled data frame, and the maximum number of data frames allowed to be sent among the candidate data frames.
[0108] For example, in combination Figure 5 Assume that the maximum number of data frames a sending node is allowed to send at one time is eight.
[0109] like Figure 7 As shown, assume that the waiting delay for data frame 1 obtained by the sending node is 18ms, the waiting delay for data frame 2 is 16ms, the waiting delay for data frame 3 is 17ms, and the waiting delay for data frame 4 is 8ms.
[0110] Assuming the preset delay for data frame 1 is 20ms (communication delay for data frame 1 is 100ms), the preset delay for data frame 2 is 15ms (communication delay for data frame 2 is 95ms), the preset delay for data frame 3 is 16ms (communication delay for data frame 3 is 96ms), and the preset delay for data frame 4 is 10ms (communication delay for data frame 4 is 50ms), the sending node determines that the waiting delay of data frame 2 (16ms) is greater than its preset delay of 15ms, and the waiting delay of data frame 3 (17ms) is greater than its preset delay of 16ms. Therefore, data frames 2 and 3 are determined to be candidate data frames. Since both data frames 2 and 3 are in the VI queue, the sending node determines data frames 2 and 3 as target frames.
[0111] like Figure 8As shown, assume that the waiting delay for data frame 1 obtained by the sending node is 18ms, the waiting delay for data frame 2 is 16ms, the waiting delay for data frame 3 is 17ms, and the waiting delay for data frame 4 is 8ms.
[0112] Assuming the preset delay for data frame 1 is 20ms (communication delay for data frame 1 is 100ms), the preset delay for data frame 2 is 15ms (communication delay for data frame 2 is 95ms), the preset delay for data frame 3 is 20ms (communication delay for data frame 3 is 100ms), and the preset delay for data frame 4 is 6ms (communication delay for data frame 4 is 50ms), then the sending node determines that the waiting delay of data frame 2 (16ms) is greater than its preset delay of 15ms, and the waiting delay of data frame 4 (8ms) is greater than its preset delay of 6ms. Therefore, data frames 2 and 4 are determined as candidate data frames. Since data frame 2 is in the VI queue and data frame 4 is in the BE queue, the service priority of data frames in the VI queue is higher than that in the BE queue. Therefore, the sending node determines data frame 2 as the target frame.
[0113] 303B. If the sending node determines that the waiting delay of each data frame in a plurality of data frames is less than the preset delay of that data frame, the target frame is the data frame with the highest service priority and the longest waiting delay among the plurality of data frames.
[0114] It should be noted that, in this embodiment of the application, since the number of data frames sent by the sending node at the current moment is limited, when the sending node determines the target frame, if the number of data frames with the highest service priority and the longest waiting delay is greater than the maximum number of data frames allowed to be sent at one time, the sending node can determine the target frame as the data frame with the highest service priority, the longest waiting delay, the first scheduled data frame, and the maximum number of data frames allowed to be sent among the multiple data frames.
[0115] In this way, the sending node can prioritize scheduling the highest-priority data frame among the candidate data frames if it determines that the waiting delay of the candidate data frame is greater than or equal to the preset delay of that candidate data frame. Furthermore, it will only prioritize scheduling the highest-priority data frame if it determines that the waiting delay of all data frames is less than the preset delay. By combining the consideration of waiting delay requirements and service priority requirements, data frames that meet both requirements under different circumstances are fully scheduled, ensuring the communication latency of these data frames.
[0116] Optionally, in the embodiments of this application, based on Figure 6 ,like Figure 9 As shown, before the sending node performs step 304 above, the service scheduling method provided in this application embodiment may further include the following steps 305-306.
[0117] 305. The sending node determines the business scenario for each data frame.
[0118] For example, in combination Figure 5 If data frame 1 is generated when a user makes a voice call, then the business scenario for data frame 1 is voice scenario 1. If data frame 4 is generated when a user performs an operation in game application A, then the business scenario for data frame 4 is game scenario 1.
[0119] 306. If the sending node determines that the first service scenario session of the first data frame is not included in the stored session, the sending node establishes a session of the first service scenario with the receiving node.
[0120] After determining the service scenario for each data frame, the sending node can decide whether to establish a session for that service scenario based on that scenario. Here, we will use the example of establishing a session for the first service scenario of the first data frame as an example. The first data frame can be any one of multiple data frames.
[0121] The sending node may establish a session for the first service scenario with the receiving node if it determines that its stored sessions do not include a session for the first service scenario. If it determines that its stored sessions include a session for the first service scenario, it will not establish a session for the first service scenario. The session for the first service scenario is used by the sending node and the receiving node to transmit data frames for the first service scenario.
[0122] It is understandable that a sending node may receive data frames from a receiving node while sending data frames. Therefore, the session stored by the sending node itself may be established when sending a data frame or when receiving a data frame. The specific description of the business scenario in which the sending node determines whether to establish a session for each received data frame is similar to the description of the business scenario in which it determines whether to establish a session for sent data frames, and will not be repeated here.
[0123] It should be noted that, in this embodiment of the application, after the sending node establishes a session, the sending node in step 304 above sends the target frame to the receiving node at the current time. Specifically, this may include: the sending node can send the target frame to the receiving node at the current time within the session of the target scenario. The target scenario is the same as the service scenario of the target frame.
[0124] Furthermore, in this embodiment, the timing for determining whether to establish a session for a service scenario involving a data frame can be implemented in various ways. In one implementation, the sending node can determine whether to establish a session for the service scenario of each data frame upon receiving it. In another implementation, the sending node can determine whether to establish a session for the service scenario of the target frame after identifying it but before sending it. This embodiment does not limit the timing of determining whether to establish a session.
[0125] In this way, by establishing a session with the receiving node for the business scenario, the sending node can track the latency of the data frames in that business scenario and thus understand the transmission status of the data frames in that business scenario.
[0126] Optionally, in this embodiment of the application, when the sending node is an access point and the receiving node is a site, based on Figure 9 ,like Figure 10 As shown, the service scheduling method provided in this application embodiment may further include the following steps 307-310.
[0127] 307. If, during a session in which the access point has determined the first service scenario, the duration of the data frame received for the first service scenario exceeds the preset delay of the first data frame, the access point shall send scheduling information to the site.
[0128] After establishing a session for the first service scenario, the access point can receive or send data frames for the first service scenario within that session. Each time a data frame for the first service scenario is received, the access point can start a timer and compare the timeout duration with a preset delay for the first data frame. If the access point receives another data frame for the first service scenario before the timeout duration is less than the preset delay, the access point restarts the timer. If the access point still has not received a data frame for the first service scenario before the timeout duration is greater than or equal to the preset delay (i.e., the duration of the unreceived data frame exceeds the preset delay), the access point can send scheduling information to the site. The scheduling information is used to instruct the site to feed back the data information for the first service scenario to the access point. In some embodiments, the scheduling information can be a trigger frame.
[0129] 308. The site receives scheduling information sent by the access point.
[0130] 309. The site sends feedback information to the access point based on the scheduling information.
[0131] After receiving the scheduling information from the access point, the station can send corresponding feedback information to the access point based on its own situation. If the station determines that the duration of the unsent data frames for the first service scenario in the session is greater than the preset delay, the feedback information sent by the station indicates that the data frames for the first service scenario were not sent. If the station determines that the duration of the unsent data frames for the first service scenario in the session is less than or equal to the preset delay, and the failure to send the data frames for the first service scenario is solely due to communication channel limitations, the station sends feedback information to the access point, which includes the unsent data frames for the first service scenario.
[0132] 310. The access point receives feedback information sent by the site.
[0133] Furthermore, the access point can delete the session for a given service scenario when it ends. For example, the access point can delete the voice session when a voice call is disconnected. This avoids the problem of high communication overhead caused by continuous uplink scheduling by the access point.
[0134] For example, such as Figure 11 As shown, after acquiring the first data frame, the access point determines that its stored sessions do not include a session for the first service scenario containing the first data frame, and establishes a session for the first service scenario with the site. The access point starts timing when the session for the first service scenario is established, assuming a preset delay of 50ms for the first data frame. If the access point receives data frame A from the site for the first service scenario within the session after 35ms of timing, the access point restarts timing. Subsequently, if the access point still has not received a data frame for the first service scenario after 50ms of timing, the access point sends a trigger frame to the site and receives feedback information from the site. Finally, when the access point determines to terminate the first service scenario, it deletes the session for the first service scenario.
[0135] In this way, uplink scheduling by sending scheduling information from the access point to the station can alleviate the problem of excessive latency in sending data frames to the access point due to the station's difficulty in unilaterally accessing the channel. Furthermore, by increasing the access channel opportunity through uplink scheduling, the access point can improve the utilization rate of the communication channel compared to existing methods such as adjusting enhanced distributed channel access (EDCA) parameters, adjusting clear channel assessment (CCA) thresholds, or enabling transmission opportunity (TXOP).
[0136] Optionally, in the embodiments of this application, based on Figure 10 ,like Figure 12 As shown, the service scheduling method provided in this application embodiment may further include the following steps 311-313.
[0137] 311. If, during a session in which the first service scenario is determined, the duration of the data frame for the first service scenario that is not sent exceeds the latency threshold, the site sends an indication message to the access point.
[0138] The delay threshold value is less than the preset delay of the first data frame.
[0139] The site starts timing when it establishes a session for the first service scenario. If the timeout period is less than the latency threshold and the site sends a data frame for the first service scenario within the session, the site restarts timing. If the timeout period is greater than or equal to the latency threshold and the site still has not sent a data frame for the first service scenario within the session, the site sends an indication message to the access point. This indication message indicates that the site has not sent a data frame for the first service scenario within the latency threshold period.
[0140] 312. The access point receives instruction information sent by the site.
[0141] 313. After receiving the instruction information, the access point restarts the timing for the duration during which no data frame of the first service scenario has been received.
[0142] Thus, while sending scheduling information by the access point for uplink scheduling can alleviate the problem of unilateral channel access difficulties for stations, it increases communication overhead. Since the delay threshold for stations sending indication information is less than the preset delay for access points sending scheduling information, sending indication information by stations can reduce the number of times access points send scheduling information, thereby saving communication overhead.
[0143] The foregoing primarily describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the aforementioned functions, it includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the algorithmic steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0144] like Figure 13The diagram shown is a structural schematic of a service scheduling device 130 provided in an embodiment of this application. The service scheduling device 130 can be an access point or a site, a CPU within an access point or site, a control module within an access point or site, or a client within an access point or site. The service scheduling device 130 is used to execute... Figure 3 , Figure 6 , Figure 9 , Figure 10 , Figure 12 The service scheduling method is shown in any of the accompanying figures. The service scheduling device 130 may include an acquisition unit 131, a determination unit 132, and a transmission unit 133.
[0145] The acquisition unit 131 is used to acquire the waiting delay and category of each data frame in multiple data frames at the current time. For example, combined with... Figure 3 The acquisition unit 131 can be used to execute step 301. The determination unit 132 is used to determine the service priority of each data frame according to the category of each data frame acquired by the acquisition unit, and to determine the target frame to be sent first at the current time from multiple data frames according to the waiting delay, preset delay and service priority of each data frame. For example, combined with Figure 3 The determining unit 132 can be used to execute steps 302 and 303. The sending unit 133 is used to send the target frame determined by the determining unit to the receiving node at the current time. For example, combined with Figure 3 The sending unit 133 can be used to execute step 304.
[0146] Optionally, the determining unit 132 is specifically used to: compare the waiting delay of each data frame with the preset delay of the data frame; and determine the target frame based on the comparison result and the service priority of each data frame.
[0147] Optionally, the determining unit 132 is specifically used to: determine the target frame as the data frame with the highest service priority among the candidate data frames when multiple data frames are determined to include candidate data frames, wherein the waiting delay of the candidate data frame is greater than the preset delay of the candidate data frame. For example, combined with Figure 6 Unit 132 can be specifically used to execute step 303A.
[0148] Optionally, the determining unit 132 is specifically used to: determine the target frame as the data frame with the highest service priority and longest waiting delay among the multiple data frames, provided that the waiting delay of each data frame in the multiple data frames is less than the preset delay of that data frame. For example, combined with Figure 6 Unit 132 can be specifically used to execute step 303B.
[0149] Optionally, the acquisition unit 131 is specifically used to: determine the category of each data frame based on the communication delay of each data frame; the communication delay of data frames of a category belongs to a preset delay range; or, determine the service type of each data frame, and determine the category of each data frame based on the service type of each data frame; data frames of a category have the same service type.
[0150] Optional, such as Figure 14 As shown, the service scheduling device 130 further includes: an establishment unit 134 and a determination unit 132, which are also used to determine the service scenario of each data frame. For example, in combination with... Figure 9 The determining unit 132 can also be used to perform step 305. The establishing unit 134 is used to establish a session with the receiving node for the first service scenario if it is determined that the stored session does not include a session for the first service scenario of the first data frame. For example, combined with... Figure 9 Unit 134 can also be used to execute step 306.
[0151] Optional, such as Figure 14 As shown, when the sending node is an access point and the receiving node is a site, the service scheduling device 130 further includes a receiving unit 135. The sending unit 133 is also used to send scheduling information to the receiving node when, in a session determining the first service scenario, the duration of the data frame of the first service scenario not being received is greater than the preset delay of the first data frame. For example, in combination with Figure 10 The sending unit 133 can also be used to perform step 307. The receiving unit 135 is used to receive feedback information from the receiving node. For example, in combination with Figure 10 The receiving unit 135 can also be used to perform step 310.
[0152] Optional, such as Figure 14 As shown, the service scheduling device 130 also includes a timing unit 136 and a receiving unit 135, which is further configured to receive indication information from the receiving node. For example, in conjunction with... Figure 12 The receiving unit 135 can also be used to execute step 312. The timing unit 136 is used to restart the timing for the duration during which the data frame of the first service scenario has not been received after the receiving unit 135 receives the indication information. For example, combined with... Figure 12 The timing unit 136 can also be used to execute step 313.
[0153] Of course, the service scheduling device 130 provided in this application embodiment includes, but is not limited to, the above-mentioned modules.
[0154] In actual implementation, the acquisition unit 131, the determination unit 132, the establishment unit 134, and the timing unit 136 can be determined by... Figure 2The processor of the service scheduling device shown is used for implementation. The transmitting unit 133 and the receiving unit 135 can be implemented by... Figure 2 This is implemented using the transceiver circuits of the service scheduling device shown. For a detailed description of its execution process, please refer to [reference needed]. Figure 3 , Figure 6 , Figure 9 , Figure 10 or Figure 12 The description of the service scheduling method shown is omitted here.
[0155] Another embodiment of this application provides a computer-readable storage medium storing computer instructions that, when executed on a service scheduling device, cause the service scheduling device to perform each step of the method flow shown in the above method embodiment.
[0156] Another embodiment of this application provides a chip system applied to a service scheduling device. The chip system includes one or more interface circuits and one or more processors. The interface circuits and processors are interconnected via lines. The interface circuits are used to receive signals from the memory of the service scheduling device and send signals to the processors, the signals including computer instructions stored in the memory. When the processor executes the computer instructions, the service scheduling device performs each step of the method flow shown in the above method embodiment.
[0157] In another embodiment of this application, a computer program product is also provided, which includes computer instructions that, when executed on a service scheduling device, cause the service scheduling device to perform each step of the method flow shown in the above method embodiment.
[0158] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product. This computer program product includes one or more computer instructions. When these computer instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device containing one or more servers, data centers, etc., that can be integrated with the medium. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks, SSDs).
[0159] The above description is merely a specific embodiment of this application. Any variations or substitutions conceived by those skilled in the art based on the specific embodiments provided in this application should be covered within the protection scope of this application.
Claims
1. A service scheduling method applied to a Wi-Fi network system, characterized in that, include: The sending node obtains the waiting delay and category of each data frame in the multiple data frames at the current time. The waiting delay of the data frame is the duration for which the data frame waits for the sending node to schedule it. The sending node determines the service priority of each data frame based on the category of each data frame; The sending node determines the target frame to be sent first at the current time from the plurality of data frames based on the waiting delay, preset delay and service priority of each data frame. The preset delay of the data frame is a pre-set upper limit of the waiting delay, and the pre-set upper limit of the waiting delay is less than the communication delay of the data frame. The sending node sends the target frame to the receiving node at the current time; The sending node determines the target frame to be sent first at the current time from the plurality of data frames based on the waiting delay, preset delay, and service priority of each data frame, including: The sending node compares the waiting delay of each data frame with the preset delay of that data frame. The sending node determines the target frame based on the comparison results and the service priority of each data frame; The sending node determines the target frame based on the comparison results and the service priority of each data frame, including: If the sending node determines that the waiting delay of each data frame in the plurality of data frames is less than the preset delay of that data frame, the target frame is the data frame with the highest service priority and the longest waiting delay among the plurality of data frames.
2. The service scheduling method according to claim 1, characterized in that, The sending node determines the target frame based on the comparison results and the service priority of each data frame, including: If the sending node determines that the plurality of data frames include candidate data frames, it determines that the target frame is the data frame with the highest service priority among the candidate data frames, and the waiting delay of the candidate data frame is greater than the preset delay of the candidate data frame.
3. The service scheduling method according to claim 1, characterized in that, The sending node obtains the category of each data frame, including: The sending node determines the category of each data frame based on the communication delay of each data frame; the communication delay of a data frame of a category belongs to a preset delay range; or, The sending node determines the service type of each data frame and determines the category of each data frame based on the service type; data frames in the same category have the same service type.
4. The service scheduling method according to any one of claims 1-3, characterized in that, The service scheduling method also includes: The sending node determines the business scenario for each data frame; For each data frame in the business scenario, the sending node performs the following steps: If the sending node determines that the first service scenario session does not include the first data frame in the stored session, it establishes a session for the first service scenario with the receiving node. The first data frame is any one of the plurality of data frames. The session for the first service scenario is used by the sending node and the receiving node to transmit the data frame of the first service scenario.
5. The service scheduling method according to claim 4, characterized in that, When the sending node is an access point and the receiving node is a site, the service scheduling method further includes: If, during a session of the first service scenario, the sending node does not receive a data frame for the first service scenario for a duration longer than the preset delay of the first data frame, it sends scheduling information to the receiving node; the scheduling information is used to instruct the receiving node to feed back the data information of the first service scenario to the sending node. The sending node receives feedback information from the receiving node, and the feedback information includes data frames from the first service scenario.
6. The service scheduling method according to claim 5, characterized in that, The service scheduling method also includes: The sending node receives indication information from the receiving node. The indication information is sent when the duration of the data frame of the first service scenario that was not sent in the session of determining the first service scenario is greater than the delay threshold. The value of the delay threshold is less than the preset delay of the first data frame. After receiving the indication information, the sending node restarts the timing for the duration during which it has not received the data frame of the first service scenario.
7. A service scheduling device, applied to a transmitting node, said transmitting node being applied to a Wi-Fi network system, characterized in that, include: The processor is configured to acquire the waiting delay and category of each data frame in a plurality of data frames at the current time, determine the service priority of each data frame according to the category of each data frame, and determine the target frame to be sent first at the current time from the plurality of data frames according to the waiting delay, preset delay and service priority of each data frame; wherein, the waiting delay of the data frame is the duration for which the data frame waits for the processor to schedule it. The preset delay of the data frame is a pre-set upper limit of the waiting delay, and the pre-set upper limit of the waiting delay is less than the communication delay of the data frame; A transmitting circuit is configured to transmit the target frame determined by the processor to the receiving node at the current time; The processor is specifically used for: Compare the waiting delay of each data frame with the preset delay of that data frame; The target frame is determined based on the comparison results and the service priority of each data frame; The processor is specifically used for: If it is determined that the waiting delay of each data frame in the plurality of data frames is less than the preset delay of that data frame, the target frame is determined to be the data frame with the highest service priority and the longest waiting delay among the plurality of data frames.
8. The service scheduling device according to claim 7, characterized in that, The processor is specifically used for: If it is determined that the plurality of data frames include candidate data frames, the target frame is determined to be the data frame with the highest service priority among the candidate data frames, and the waiting delay of the candidate data frame is greater than the preset delay of the candidate data frame.
9. The service scheduling device according to claim 8, characterized in that, The processor is specifically used for: The category of each data frame is determined based on the communication latency of each data frame; the communication latency of a data frame of a category falls within a preset latency range; or, Determine the service type of each data frame, and then determine the category of each data frame based on its service type; Data frames in a category have the same business type.
10. The service scheduling device according to any one of claims 7-9, characterized in that, The processor is also used for: Determine the business scenario for each data frame; For each data frame's business scenario, perform the following steps: If it is determined that the stored session does not include a session of the first service scenario, a session of the first service scenario is established with the receiving node, wherein the first data frame is any one of the plurality of data frames, and the session of the first service scenario is used to transmit the data frame of the first service scenario with the receiving node.
11. The service scheduling device according to claim 10, characterized in that, When the sending node is an access point and the receiving node is a site, the service scheduling device further includes: a receiving circuit; The transmitting circuit is further configured to send scheduling information to the receiving node when, in a session where the duration of not receiving a data frame of the first service scenario is greater than a preset delay of the first data frame, the transmitting circuit is configured to instruct the receiving node to feed back the data information of the first service scenario to the transmitting circuit. The receiving circuit is used to receive feedback information from the receiving node, and the feedback information includes data frames from the first service scenario.
12. The service scheduling device according to claim 11, characterized in that, The receiving circuit is also configured to receive indication information from the receiving node. The indication information is sent when the duration of the data frame of the first service scenario that was not sent in the session of determining the first service scenario is greater than the delay threshold. The value of the delay threshold is less than the preset delay of the first data frame. The processor is further configured to restart the timing of the duration during which no data frame of the first service scenario has been received after receiving the indication information.
13. A service scheduling device, characterized in that, The service scheduling device includes a memory and a processor; the memory and the processor are coupled; the memory is used to store computer program code, the computer program code including computer instructions; when the processor executes the computer instructions, the service scheduling device performs the service scheduling method as described in any one of claims 1-6.
14. A computer-readable storage medium, characterized in that, It includes computer instructions that, when executed on a service scheduling device, cause the service scheduling device to perform the service scheduling method as described in any one of claims 1-6.