Method, device and equipment for service scheduling based on communication network and storage medium

CN119276680BActive Publication Date: 2026-08-28SANECHIPS TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310804968.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-30
Publication Date
2026-08-28
Estimated Expiration
2043-06-30

AI Technical Summary

Technical Problem

但是频繁的调度高优先级业务也会产生公平性方面的考虑,较低优先级业务可能会发生“饥饿现象”

Benefits of technology

[0018]This invention proposes a service scheduling method, apparatus, device, and storage medium based on a communication network. It allocates service data to corresponding service queues according to a predetermined traffic allocation strategy. Each service queue includes multiple scheduling queues with different scheduling priorities, and each service queue has a corresponding device priority table that records the dynamic correspondence between network devices and the multiple scheduling queues. The service data is allocated to the corresponding scheduling queue based on the network device to which it belongs or the service type of the service data. The service data in the multiple scheduling queues is then sent according to their scheduling priorities, with priority given to service data in scheduling queues with higher priorities. This scheduling method can guarantee the scheduling needs of different service types, has good scheduling fairness, and reduces implementation difficulty.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119276680B_ABST
    Figure CN119276680B_ABST
Patent Text Reader

Abstract

The application discloses a service scheduling method and device based on a communication network, equipment and a storage medium. The communication network comprises a service scheduling device and at least one network equipment. The scheduling device executes the service scheduling method to schedule service data to or from the network equipment via the communication network. The method comprises the following steps: in response to receiving service data, distributing the service data to a corresponding service queue according to a predetermined traffic distribution strategy; distributing the service data to a corresponding scheduling queue in a plurality of scheduling queues according to a network equipment to which the service data belongs or a service type of the service data; and sending service data in the plurality of scheduling queues according to scheduling priorities of the plurality of scheduling queues. The technical scheme of the application can meet the scheduling requirements of different service types, has good scheduling fairness, and has low implementation difficulty.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communications, and more specifically to a service scheduling method, apparatus, device, and storage medium based on a communication network. Background Technology

[0002] The rapid development of computers and the internet in recent years has led to the emergence and rapid spread of real-time services. Applications such as virtual reality, cloud gaming, and online healthcare place extremely stringent requirements on communication latency (1-10 milliseconds) and reliability. Furthermore, the widespread access to multimedia devices in today's home and office environments makes supporting real-time services in communication networks crucial. However, achieving the required latency and reliability for real-time services is a challenging problem. For example, in WiFi networks, there are two main approaches to solving this problem: 1) Using Restricted Target Wake Time (r-TWT) or similar channel reservation technologies. This technology achieves the requirements of real-time services by exclusively using the channel for a period of time, but its implementation is not ideal due to the complex information exchange and scheduling between nodes. 2) Employing Enhanced Distributed Channel Access (EDCA) with multiple access category (AC) priority technologies. On the one hand, adjusting the EDCA parameters of different ACs can achieve low-latency channel access for real-time services. However, since both Access Points (APs) and Stations (STAs) use carrier sense-based multiple access technology, even if a node has a high-priority real-time service that needs to be transmitted, it must wait for the current transmission to finish. While priority division based on different ACs can alleviate this problem to some extent, the coarse-grained AC priority is still insufficient for the high standards of real-time services. Furthermore, traditional WLAN scheduling technology does not distinguish between real-time and ordinary services. Real-time and ordinary services may be mixed in the same AC queue, and real-time services must wait for ordinary services with higher priority (dynamic priority) to finish transmitting before they can be transmitted. This is almost unacceptable for real-time services.

[0003] Large-granularity AC priority allocation not only degrades the performance of real-time services but also impacts traditional audio and video services. Different video, audio, or conferencing traffic types have different Quality of Service (QoS) requirements. Audio and video services with different QoS requirements may be coarsely placed into the same AC queue, and services in the same AC queue will be provided with the same QoS. Therefore, the QoS of some services may not be met, leading to a poor user experience.

[0004] While maintaining the EDCA-based Media Access Control (MAC) framework, one approach to addressing the current problem is to consider the priority of different services in the scheduling algorithm. Real-time services and audio / video services within the same AC will be assigned different scheduling priorities, with higher-priority services receiving more transmission aggregation compared to lower-priority services, thus guaranteeing the QoS of such services. However, frequent scheduling of high-priority services also raises fairness concerns, potentially leading to "starvation" for lower-priority services.

[0005] Therefore, existing communication networks suffer from poor QoS support for real-time services, inability to differentiate QoS requirements for services in the same queue, and inability to guarantee scheduling fairness. Summary of the Invention

[0006] The main objective of this invention is to propose a service scheduling method based on a communication network, which aims to ensure the needs of services with different priorities and to solve the scheduling requirements of different service types under the same service queue.

[0007] To achieve the above objectives, embodiments of the present invention provide a service scheduling method based on a communication network.

[0008] The communication network includes a service scheduling device and at least one network device. The scheduling device executes the service scheduling method to schedule service data destined for or originating from the network device via the communication network. The method includes:

[0009] In response to receiving service data, the service data is allocated to the corresponding service queue according to a predetermined traffic allocation strategy. Each service queue includes multiple scheduling queues with different scheduling priorities. Each service queue has a corresponding device priority table, which records the dynamic correspondence between the network device and the multiple scheduling queues.

[0010] The service data is assigned to the corresponding scheduling queue among the plurality of scheduling queues according to the network device to which the service data belongs or the service type of the service data.

[0011] Service data in the multiple scheduling queues is sent according to the scheduling priority of the multiple scheduling queues, wherein service data in the scheduling queue with higher scheduling priority is sent first.

[0012] To achieve the above objectives, embodiments of the present invention also provide a service scheduling apparatus based on a communication network. The communication network includes a service scheduling apparatus and at least one network device. The scheduling apparatus executes the service scheduling method to schedule service data destined for or originating from the network device via the communication network. The apparatus includes:

[0013] The allocation module, in response to receiving service data, allocates the service data to the corresponding service queue according to a predetermined traffic allocation strategy. Each service queue includes multiple scheduling queues with different scheduling priorities, and each service queue has a corresponding device priority table. The device priority table records the dynamic correspondence between the network device and the multiple scheduling queues.

[0014] The allocation module is further configured to allocate the service data to the corresponding scheduling queue among the plurality of scheduling queues according to the network device to which the service data belongs or the service type of the service data;

[0015] The sending module is used to send service data in the multiple scheduling queues according to the scheduling priority of the multiple scheduling queues, wherein service data in the scheduling queue with higher scheduling priority is sent first.

[0016] To achieve the above objectives, embodiments of the present invention also propose a service scheduling device based on a communication network. The device includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for establishing communication between the processor and the memory. When the program is executed by the processor, it implements the steps of the aforementioned method.

[0017] To achieve the above objectives, the present invention provides a storage medium for computer-readable storage, wherein the storage medium stores one or more programs that can be executed by one or more processors to implement the steps of the aforementioned method.

[0018] This invention proposes a service scheduling method, apparatus, device, and storage medium based on a communication network. It allocates service data to corresponding service queues according to a predetermined traffic allocation strategy. Each service queue includes multiple scheduling queues with different scheduling priorities, and each service queue has a corresponding device priority table that records the dynamic correspondence between network devices and the multiple scheduling queues. The service data is allocated to the corresponding scheduling queue based on the network device to which it belongs or the service type of the service data. The service data in the multiple scheduling queues is then sent according to their scheduling priorities, with priority given to service data in scheduling queues with higher priorities. This scheduling method can guarantee the scheduling needs of different service types, has good scheduling fairness, and reduces implementation difficulty. Attached Figure Description

[0019] The above and other objects, features, and advantages of this disclosure will become readily apparent from the following detailed description of exemplary embodiments with reference to the accompanying drawings. In the drawings, several embodiments of this disclosure are illustrated by way of example and not limitation, and like or corresponding reference numerals denote like or corresponding parts, wherein:

[0020] Figure 1 A schematic diagram illustrating the deployment of a communication network provided in an embodiment of this application;

[0021] Figure 2 This is a structural block diagram of an AP in an embodiment of this application;

[0022] Figure 3 A flowchart illustrating a scheduling method based on a communication network, provided as an embodiment of this application;

[0023] Figure 4 This application provides an embodiment of a schematic diagram illustrating how to forcibly reduce the service data of a network device with the highest priority to another scheduling queue.

[0024] Figure 5 A schematic diagram illustrating a scheduling method based on a communication network provided in an embodiment of this application;

[0025] Figure 6 This application provides a schematic diagram of data transmission for multi-user OFDMA scheduling in an embodiment of the present application.

[0026] Figure 7 This application provides a schematic diagram of data transmission for a multi-user MUMIMO scheduling method.

[0027] Figure 8 This is a schematic diagram of a scheduling device for a communication network provided in an embodiment of this application. Detailed Implementation

[0028] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this disclosure. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without creative effort are within the scope of protection of this disclosure.

[0029] It should be understood that the terms "first," "second," "third," and "fourth," etc., in the claims, specification, and drawings of this disclosure are used to distinguish different objects, rather than to describe a specific order. The terms "comprising" and "including" as used in the specification and claims of this disclosure indicate the presence of the described features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or collections thereof.

[0030] In the following description, the use of suffixes such as "module," "part," or "unit" to denote elements is solely for the purpose of illustrative purposes and has no inherent meaning. Therefore, "module," "part," or "unit" may be used interchangeably.

[0031] It should also be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of this disclosure. As used in this disclosure and claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this disclosure and claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes such combinations.

[0032] As used in this specification and claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection."

[0033] The specific embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0034] In this article, the terms "service", "traffic", "data" and "service data" can all be used to refer to services transmitted via communication networks.

[0035] Figure 1This is a schematic diagram illustrating an example of an application environment suitable for the service scheduling method and device according to embodiments of this application. The service scheduling method of this application can be executed by a service scheduling device with service scheduling needs in any communication network, used to schedule multiple services traveling to or from network devices via the communication network. This service scheduling device can be included in a suitable network device within the communication network. Figure 1 In the following embodiments, a wireless local area network (WLAN) is used as an example to illustrate the application environment of this application. It is understood that the scheduling method, apparatus, device, and storage medium in this application are not limited to this WLAN application environment, and this invention is applicable to any communication network that has scheduling requirements and multiple services.

[0036] like Figure 1 As shown, a wireless LAN includes multiple Basic Service Sets (BBSs), each BBS including an Access Point (AP). Each AP is associated with multiple Stations (STAs) and transmits traffic data between them. For ease of explanation, Figure 1 The example deploys only two APs: AP1 in Basic Service Set 1 (BSS1) and AP2 in BSS2. AP1 has at least two associated STAs (STA1 and STA2) and operates simultaneously in the 5GHz and 6GHz frequency bands. AP2 has at least three associated STAs (STA3, STA4, and STA5) and operates independently in the 5GHz band. Due to the existence of the same frequency band range or communication range, the coverage areas of AP1 and AP2 overlap, and STA1 is located in the overlapping area of ​​AP1 and AP2. When traffic data is transmitted between the AP and STA, the AP or STA parses the traffic data to obtain its address and determines the recipient of the traffic data based on the address.

[0037] Generally speaking, Figure 1In this context, the Access Point (AP) is a fixed terminal that provides network services to the STA (Station). However, in some other applications, the AP can be a mobile terminal or a non-fixed terminal; the STA can be a fixed, non-fixed, or mobile terminal. Examples of STAs include, but are not limited to: smartphones, personal computers, multimedia devices, audio devices, devices for the Internet of Things (IoT), or other wireless terminal devices that require network services from an AP. STAs can also be referred to as: mobile units, wireless units, mobile terminals, user equipment (UE), or other suitable terms. STAs can be implemented using a protocol stack. The protocol stack includes a physical layer for transmitting and receiving data according to the physical and electrical specifications of the wireless channel, a data link layer for wireless channel access, a network layer for handling source-to-destination data transmission, a transport layer for managing data transmission, and other layers necessary for establishing networks and connections.

[0038] Although described using WLAN deployments and IEEE 802.11 networks as examples, the techniques described herein can be extended to other networks employing various standards or protocols. These include, for example, Bluetooth, HiperLAN (a set of wireless standards comparable to IEEE 802.11, primarily used in Europe), and other suitable networks such as wide area networks (WANs), WLANs, personal area networks (PANs), or those now known or to be developed in the future. Therefore, the scheduling techniques presented herein can be applied to any suitable wireless network or other network, regardless of the communication protocol used.

[0039] Figure 2 This is an example structural block diagram of an Access Point (AP) that serves as the execution subject of a service scheduling device or method according to embodiments of this application. It should be noted that the AP in this embodiment is merely an example; the structure of the AP may differ for different communication networks, and this application does not impose any limitations on this. Figure 2As shown, AP 100 includes a memory 110, at least one processor 140, and a network interface module 130. The at least one processor 140 can communicate internally via a bus, which is a communication system for data transmission between multiple components or sub-components of AP 100. One or more processors 140 may include one or a combination of a baseband processor, a digital signal processor, or a transceiver processor. In this application, processor 140 includes a scheduling component 150 for executing the communication network-based scheduling technology described in this application. The scheduling component 150 includes hardware and software and can be configured to execute code or instructions stored in the memory 110 (e.g., a computer-readable storage medium). The scheduling component 150 can maximize network capacity and guarantee latency, throughput, and fairness for data transmitted by STAs. The memory 110 contains cached data for multiple STAs and various related characteristics of the data stored therein, such as certain network status or management information, real-time voice or video stream data, etc. The data can be categorized into low-latency, urgent, real-time, or normal traffic based on these characteristics, which affects when and how the data is transmitted. The network interface module 130 includes a WLAN 802.11 interface, and in other networks, it may include a Bluetooth interface, a WiMax interface, or a wired Ethernet interface.

[0040] Figure 3 This application provides a flowchart of a scheduling method based on a communication network. This method can be executed by a service scheduling device in the communication network, such as the one described above. Figure 1 and Figure 2 The AP may be included therein, or it may be another network device in the communication network that has service scheduling requirements, used to schedule services of various network devices in the communication network. The method includes:

[0041] S301: In response to receiving service data, the service data is allocated to the corresponding service queue according to a predetermined traffic allocation strategy, wherein each service queue includes multiple scheduling queues with different scheduling priorities, and each service queue has a corresponding device priority table, the device priority table recording the dynamic correspondence between the network device and the multiple scheduling queues.

[0042] S302: Assign the service data to the corresponding scheduling queue among the plurality of scheduling queues according to the network device to which the service data belongs or the service type of the service data.

[0043] S303: Send the service data in the multiple scheduling queues according to their scheduling priorities, wherein the service data in the scheduling queue with the higher scheduling priority is sent first.

[0044] This application embodiment schedules network devices based on the priority of their service data. This scheduling method can guarantee the needs of different services, solve the scheduling needs of different service types under the same service queue, and enable higher priority queues to get more scheduling opportunities.

[0045] Specifically, a service queue refers to a queue defined in a communication protocol. For example, in a WLAN protocol, the number of service queues is generally determined by the number of ACs or TIDs. Assuming there are four ACs in a WLAN protocol, four service queues can be set up. In some embodiments, the service data is allocated to the corresponding service queues according to a predetermined traffic allocation strategy, which includes a priority allocation strategy or a load balancing allocation strategy.

[0046] Taking a wireless LAN as an example, during the scheduling process, the scheduling component in the AP first generates at least one service queue. Traffic data transmitted from the upper layer (e.g., the network layer) is first stored in the corresponding STA. Then, the STA (containing the traffic data transmitted from the upper layer) is assigned to the corresponding service queue according to a priority allocation strategy or a load balancing allocation strategy. In some embodiments, the priority allocation strategy may include prioritizing based on the type of traffic data. For example, traffic data types may include video data (V0), voice data (VI), best-effort data (BE), background data (BK), etc. Priority may also be allocated according to other methods, and this application does not impose any limitations on this.

[0047] Furthermore, it's understandable that the traffic data packets transmitted from the upper layer contain service data destined for various network devices. Therefore, when this traffic data is allocated to multiple service queues according to the traffic data allocation strategy, each service queue may only contain a portion of the network device's service data. It's also understandable that the traffic allocation strategy does not divide the service data in an absolutely mutually exclusive manner; therefore, there may be network device data that belongs to at least two service queues.

[0048] The device priority table records the correspondence between network devices and scheduling queues. Each network device corresponds to one scheduling queue, and the service data belonging to that network device is stored in its corresponding scheduling queue. If any service of a network device has been assigned to this service queue, then the device priority table of that service queue will record the corresponding scheduling queue for that network device. The correspondence between network devices and scheduling queues is dynamic. For example, as mentioned below, it changes based on queue transmission quotas and device transmission quotas. Detailed descriptions and related processing steps are provided below.

[0049] In some embodiments, allocating the service data to a corresponding scheduling queue among the plurality of scheduling queues according to the network device to which the service data belongs or the service type of the service data includes: determining the network device to which the service data belongs, querying the device priority table of the service queue to determine the scheduling queue corresponding to the network device to which the service data belongs; and allocating the service data to the determined scheduling queue.

[0050] In some embodiments, if no network device to which the service data belongs is found in the device priority table, the service type of the service data is determined; if the service type is a first service type, the service data is assigned to the scheduling queue with the highest scheduling priority among the plurality of scheduling queues. In some embodiments, the first service type can be a real-time service type or other high-priority service types, and this application does not limit this.

[0051] In some embodiments, when the service type is a second service type, the network device to which the service data belongs is determined; the service data is then allocated to the corresponding scheduling queue among the plurality of scheduling queues according to the static priority of the network device to which the service data belongs. Specifically, the second service type can be a normal service type. When the service type is a normal service type, the corresponding scheduling queue is determined according to the static priority of the network device corresponding to the service data.

[0052] In some embodiments, allocating the service data to a corresponding scheduling queue among the plurality of scheduling queues according to the static priority of the network device to which the service data belongs includes: determining a corresponding scheduling priority based on the static priority of the network device to which the service data belongs; and allocating the service data to the scheduling queue having the corresponding scheduling priority. Specifically, the service type of the network device includes a first service type, such as a real-time service type, and a second service type, such as a non-real-time service type. The static priority of the network device is specifically set according to the specific service requirements of the implementation. Service types may include game services, video services, voice services, etc. Different service types require different performance guarantees, and the static priority of the STA is determined based on the performance differences. For example, assuming the STA is for game services, game services require relatively low latency, so latency will be prioritized. The corresponding scheduling priority is determined according to the different service types.

[0053] In some embodiments, after allocating the service data to the corresponding scheduling queue, the method further includes: updating the device priority table of the service queue to record the correspondence between the network device to which the service data belongs and the corresponding scheduling queue in the device priority table. Specifically, the device priority table of the service queue initially has an initial value, and is subsequently updated to the device priority table according to the correspondence between the network device to which the service data belongs and the corresponding scheduling queue.

[0054] In some embodiments, each scheduling queue has a queue transmission quota, and each network device has a device transmission quota corresponding to each scheduling queue. The queue transmission quota has a preset initial value and decreases accordingly as service data in the scheduling queue is transmitted. The device transmission quota also has a preset initial value and decreases accordingly as service data is transmitted by the network device. After transmitting the service data, the method further includes: updating the queue transmission quota of the scheduling queue based on the transmitted service data; and, if the queue transmission quota is less than or equal to a first predetermined threshold, transferring all service data in the scheduling queue to other scheduling queues among the plurality of scheduling queues with a lower scheduling priority than the current scheduling queue.

[0055] Specifically, the queue transmission configuration of each scheduling queue is the common quota of all stations in that scheduling queue, while the device transmission quota of each network device in each scheduling queue belongs to its own transmission quota.

[0056] In some embodiments, the queue transmission quota for each scheduling queue is greater than the network transmission quota for a network device.

[0057] In some embodiments, the transmission quota of each scheduling queue can be determined based on the number of network devices in the scheduling queue and / or the performance requirements of the corresponding service type of the network devices in the scheduling queue, or it can be determined based on empirical values. Similarly, the device transmission quota of each network device can also be determined based on the performance requirements of the corresponding service type of the network device, or through experimental simulation or based on empirical values. The setting of the queue transmission quota of the scheduling queue and the device transmission quota of the network devices in the scheduling queue is not limited in this application. Specifically, during the process of network devices transmitting service data, the queue transmission quota of the scheduling queue and the device transmission quota of each network device in the scheduling queue are dynamically changing. Each time the service data is sent, it consumes the queue transmission quota of the scheduling queue and the device transmission quota of the network device itself. The queue transmission quota of the scheduling queue is updated according to the transmitted service data. When the queue transmission quota is less than or equal to a first predetermined threshold, the service data in the scheduling queue is forcibly transferred to a lower scheduling queue. This application determines the priority of each network device in the scheduling queue based on the queue transmission quota and the device transmission quota of each network device in the scheduling queue, and schedules the service data of the network devices in the scheduling queue according to the priority of each network device in the scheduling queue. It is understood that since the queue transmission quota and the device transmission quota of each network device in the scheduling queue are dynamically changing, the priority of each network device in the scheduling queue is also dynamically changing.

[0058] Specifically, since higher-priority scheduling queues have higher priorities than lower-priority scheduling queues, when a network device exists in a higher-priority queue, the scheduling device will always prioritize scheduling the network device in that higher-priority queue. However, network devices in higher-priority scheduling queues cannot always be present, otherwise it would cause starvation for network devices in lower-priority scheduling queues. Therefore, when the device transmission capacity of a network device in a scheduling queue is less than or equal to a first predetermined threshold, the service data of the network device in the higher-priority scheduling queue will be forcibly transferred to other scheduling queues with lower scheduling priorities to ensure scheduling fairness.

[0059] In some embodiments, the service scheduling method further includes updating the queue transmission quota of the scheduling queue according to the transmission mode of the transmitted service data.

[0060] In some embodiments, transmission modes include single-user transmission and multi-user transmission. Multi-user transmission is further divided into Orthogonal Frequency Division Multiple Access (OFDMA) transmission and Multi-User MIMO (MUMIMO) transmission. Single-user transmission refers to a one-to-one transmission between the AP and STA, while multi-user transmission refers to the communication network simultaneously transmitting to multiple network devices. OFDMA refers to a group of users being able to access the channel simultaneously. OFDMA technology assigns each user one (or a group) of OFDM subcarriers. OFDMA divides the entire frequency band into smaller units, allowing multiple users to use the entire band simultaneously. Its allocation mechanism is very flexible, dynamically allocating the number of subcarriers based on user traffic volume, and different modulation schemes and transmit powers can be used on different subcarriers. MUMIMO refers to a wireless communication system where one base station simultaneously serves multiple mobile terminals, with base stations fully utilizing antenna space resources to communicate with multiple users simultaneously.

[0061] In some embodiments, when the transmission is scheduled as a single-user transmission, the method for updating the queue transmission quota of the scheduling queue is: the transmission quota of the current scheduling queue minus the queue transmission quota used by the current scheduling queue for this transmission.

[0062] In some embodiments, when the transmission mode of this transmission scheduling is OFDMA, the updated queue transmission quota is:

[0063] Slice STAi =Slice STAi -Slice Use *BW i / BW Total Among them, Slice Use For the total transmission quota used in this multi-user transmission, BW i BW is the current resource block size in the scheduling queue. Total Total resource block size for multi-user transfers.

[0064] In some embodiments, when the transmission mode of this transmission scheduling is MUMIMO, the updated queue transmission quota of the scheduling queue is: Slice STAi =Slice STAi -Slice Use *NSS i / NSS Total Among them, Slice Use For the total transmission quota used in this multi-user transmission, NSS iThe number of space streams in the current scheduling queue, NSS Total The total number of spatial streams transmitted for multiple users.

[0065] In some embodiments, if the queue transmission quota is greater than a first predetermined threshold, the device transmission quota of the network device to which the service data belongs is updated according to the transmitted service data; if the device transmission quota is less than a second predetermined threshold, for network devices in the highest priority scheduling queue, all service data of that network device is transferred back to the highest priority scheduling queue; for other scheduling queues besides the highest priority scheduling queue, all service data of that network device is transferred from the current scheduling queue to other scheduling queues among the plurality of scheduling queues with a scheduling priority lower than the current scheduling queue.

[0066] Specifically, when the device transmission quota of a network device in the highest priority scheduling queue meets certain conditions, it will generally be re-added to the highest priority scheduling queue. However, since the highest priority scheduling queue has a higher priority than other scheduling queues, when a network device exists in the highest priority queue, the scheduling device will always prioritize scheduling the network device in that highest priority scheduling queue. Therefore, network devices in the highest priority scheduling queue cannot always exist, otherwise, it will cause starvation for network devices in other scheduling queues. This application embodiment determines whether the service data of a network device is transferred to other scheduling queues with different scheduling priorities based on the queue transmission quota of the scheduling queue. Specifically, when the queue transmission quota of the highest priority scheduling queue is less than or equal to a first threshold, all service data in that scheduling queue will be transferred to other scheduling queues with lower scheduling priorities. Conversely, when the queue transmission quota of the highest scheduling queue is greater than a first predetermined threshold, and the device priority of the network device in the highest priority scheduling queue is less than a second predetermined threshold, all service data in that network device will be transferred back to the highest priority scheduling queue. Similarly, for other scheduling queues that are not of the highest priority, if the transmission quota of the queue is less than or equal to a first predetermined threshold, all service data in that scheduling queue will be transferred to other scheduling queues among the plurality of scheduling queues with a lower scheduling priority. And if the device transmission quota of a network device in another scheduling queue is less than a second predetermined threshold, all service data of that network device will be transferred from its current scheduling queue to other scheduling queues among the plurality of scheduling queues with a lower scheduling priority than the current scheduling queue.

[0067] It should be noted that although the service data of the network device is moved to a scheduling queue one level lower than the service data of the network device, the static priority of the service data of the network device will not change. What changes is only the dynamic priority of the service data of the network device determined according to the device transmission quota.

[0068] In some embodiments, the aforementioned second predetermined threshold refers to either the remaining transmission quota of service data of any network device being less than the second predetermined threshold, or the transmission quota used by the service data of any network device exceeding the transmission quota of the service data of any network device being less than the second predetermined threshold. That is, when the service data of any network device has exhausted its own transmission quota, but in most cases the transmission quota of the service data of any network device is not exactly exhausted; there may still be a small amount of remaining transmission quota, but not enough for another transmission of service data, or the actual transmission quota used by the service data of any network device exceeds its own transmission quota.

[0069] In some embodiments, the second threshold is determined by the minimum transmission quota used in a single transmission during the service data scheduling process of the network device.

[0070] In some embodiments, after all service data of the network device is transferred from the current scheduling queue to other scheduling queues among the plurality of scheduling queues with a lower scheduling priority than the current scheduling queue, the device transmission quota corresponding to the device transferred to the other scheduling queue is:

[0071] Slice cur =Slice + Factor * Slice last Wherein, Slice is the transmission quota reassigned to the network device corresponding to the other scheduling queue. last The device transmission quota corresponding to the current scheduling queue for the network device is denoted by Factor, which is a scaling factor.

[0072] Specifically, when the device transmission quota for the service data of the network device is negative, it means that the current network device's service data transmission quota usage exceeds its own transmission quota. Therefore, the Slice... last The value is negative. The service data of any network device descends from a high-priority queue to a low-priority queue. If the device transmission quota of any network device's service data exceeds its own transmission quota, it is unfair to the service data of lower-priority network devices. Therefore, the excess portion will be penalized at the next level. Thus, the scaling factor (Factor) is a value greater than 1, typically 1.1, but can also be any other value greater than 1.

[0073] In some embodiments, after transferring the service data of a network device to another scheduling queue, the method further includes updating the device priority table, in which the scheduling queue corresponding to the network device to which the transferred service data belongs is modified to the other scheduling queue to which it was transferred. That is, the device priority table maintains a dynamic priority for the service data of a network device.

[0074] In some embodiments, the service queue further includes an invalidation queue, for which service data is not transmitted. When all service data of network devices in the service queue has been transferred to the invalidation queue, the service data of the network devices in the invalidation queue is transferred back to the plurality of scheduling queues.

[0075] Specifically, the failure queue is the lowest-level queue in the service queue. When the service data of all network devices in the service queue has fallen to the failure queue, the service data of the network devices in the failure queue is added back to the multiple scheduling queues. As the service data of multiple network devices is transmitted, the device transmission quota of each network device's service data changes continuously, and thus the priority of each network device's service data also changes continuously. Specifically, the priority of each network device's service data continuously decreases until it falls to the last priority level, that is, it falls to the failure queue. When the service data of all network devices in this service queue has fallen to the failure queue, the scheduling device will add the service data of all network devices in the failure queue back to the scheduling queue in the service queue for rescheduling.

[0076] In some embodiments, the scheduling method further includes service data of newly added network devices and service data of re-added network devices. The case of newly added network device service data refers to the addition of a new network device to the communication network, such as a new mobile phone connecting to the WIFI signal. The case of re-added network device refers to the waking up of a network device in sleep mode, such as the waking up of a mobile phone after it has been put into sleep mode by opening the software on the phone.

[0077] In some embodiments, when the service data of a network device in the expired queue is re-added to multiple scheduling queues, the service data of the network device in the expired queue is re-added to the multiple scheduling queues according to the service type corresponding to the service data of the network device or the static priority of the service data of the network device.

[0078] Specifically, when the service data of a network device in the failure queue corresponds to the service data of the scheduling queue with the highest priority, such as real-time service data, the service data of that network device will be re-added to the scheduling queue with the highest priority; when the service data of a network device in the failure queue corresponds to a non-real-time service type (i.e., ordinary service type), the service data of that network device will be re-added to another scheduling queue according to the static priority of the service data of that network device.

[0079] In some embodiments, the method includes, when service data from a new network device is added or service data from a dormant network device is re-added to the plurality of scheduling queues, the scheduling priority of the scheduling queue selected by the service data from the new network device or the service data from the dormant network device is Q. in =min(Q) max Q out ), Q out Q is the scheduling priority of the scheduling queue where the service data of the sleep network device is located when the service data of the sleep network device exits the scheduling queue. max When adding service data to the new network device, the service queue is the highest scheduling priority in the scheduling queue of the device priority table.

[0080] In some embodiments, when new service data is added to a network device or service data from a dormant network device is re-added to the scheduling queue, if it is directly added to the highest priority queue or to the queue level it was at when it was previously exited (e.g., the level at which the network device's service data exited the scheduling queue during dormancy), the service data of low-priority network devices may experience a prolonged starvation problem (service data of high-priority network devices needs to have its priority reduced level by level). Therefore, in this embodiment, a highest priority level is maintained, which is equal to the highest priority Q of all service data of network devices existing in the scheduling queue when the network device's service data is added. max When network device service data is added to or re-added to the scheduling queue, the selected queue priority cannot be higher than Q. max Q in =min(Q) max Q out ), Q out The queue priority for removing service data from the scheduling queue of sleeping network devices.

[0081] Figure 4This illustration shows a method for forcibly demoting service data from a network device with the highest priority to other scheduling queues, as provided in this application embodiment. This embodiment uses the service data of the highest priority service type as the first scheduling queue, the other scheduling queues as the second scheduling queue, and a network device as a site as an example for explanation. The first scheduling queue, RealTime, includes STA1 and STA2. After multiple data transmissions, once the transmission quotas of STA1 and STA2 meet preset conditions, STA1 and STA2 are forcibly demoted to the second scheduling queue (including Q4 and Q3) Q4.

[0082] In some embodiments, the scheduling queue with the highest scheduling priority can be a real-time service queue, and the other scheduling queues can be ordinary service queues. It is understood that the scheduling queue with the highest scheduling priority and the other scheduling queues can also be scheduling queues with different priorities according to scheduling requirements, and this application does not limit this.

[0083] In some embodiments, other scheduling queues include multi-level second sub-queues, each with a different priority. The service data of network devices in the scheduling queue is gradient-scheduled based on the transmission quota of the scheduling queue and the device transmission quota of the service data of each network device in the scheduling queue. This includes: when the transmission quota of the service data of any network device in the second sub-queue meets a preset condition, the service data of any network device is downgraded to a scheduling queue one level lower than the service data of any network device. The scheduling queue one level lower than the service data of any network device is a second sub-queue one level lower than the service data of any network device.

[0084] Specifically, other scheduling queues simultaneously include multiple second sub-queues with different priorities, with the priorities of these second sub-queues decreasing sequentially from top to bottom. The number of second sub-queues in a second scheduling queue can be set to 3, 4, 5, or more, etc., as needed. Unlike the scheduling queue with the highest priority, if the transmission quota of any station in a second sub-queue of any other scheduling queue meets preset conditions, the service data of that network device will be downgraded to a scheduling queue one level lower than that network device's service data. It should be noted that although the service data of that network device is moved to a scheduling queue one level lower than that network device's service data, the static priority of that network device's service data will not change; only the dynamic priority of that network device's service data, determined according to the transmission quota, will change.

[0085] In some embodiments, after reducing the service data of any network device to a scheduling queue one level lower than the service data of that network device, the scheduling method further includes: reallocating the transmission quota of the service data of that network device. Specifically, the service data of any network device is moved to a scheduling queue one level lower than the service data of that network device only when the transmission quota of the service data of that network device is relatively small, that is, when the preset conditions mentioned above are met. At the same time, a certain transmission quota is reallocated to the service data of that network device. In this way, the service data of the low-priority network device can be scheduled in a future expected time period, thereby improving the fairness of scheduling.

[0086] In some embodiments, the scheduling method further includes: selecting a queue transmission quota and a device transmission quota based on a scheduling objective, wherein the queue transmission quota and the device transmission quota are transmission time or transmission data volume. Specifically, based on the scheduling objective, the queue transmission quota and the device transmission quota can be selected as transmission time or transmission data volume (bits). When transmission time is selected as the quota, the quota can be configured to 10ms, achieving the space-time fairness objective; when transmission data volume is selected as the quota, the bandwidth fairness objective can be achieved. This application can also select other transmission quotas based on other scheduling objectives.

[0087] In some embodiments, the service data of network devices in the same scheduling queue within multiple scheduling queues of each service queue have the same priority, and the service data of network devices in the same scheduling queue are scheduled through round-robin or first-in-first-out scheduling. In this embodiment, the service data of multiple network devices are mapped to different scheduling queues according to their priority, and the service data of network devices in the same scheduling queue have the same priority.

[0088] In some embodiments, when the service data STAi of a network device has a priority higher than a third threshold in at least two service queues simultaneously, the service data STAi of the network device is scheduled in one of the service queues TIDm, and the device transmission quota used is Slice. STAi,TIDm When the network device's service data STAi is in at least two service queues, the device transmission quota for TIDn is: Slice STAi,TIDn =Slice STAi,TIDn -Factor TiDn,m *Slice STAi,TIDm Among them, Factor TiDn,m This is the scaling factor between at least two business queues.

[0089] Specifically, since service data for the same destination network device may exist in different service queues, if the service data of a certain network device is at a high priority in multiple service queues at the same time, the service data of the same destination network device may be scheduled multiple times consecutively within a short time interval, while the service data of other lower-priority network devices will be starved for a longer period of time. Therefore, one solution in this application embodiment is to impose quota penalties on the service data of network devices in other TID queues when the service data of a network device in a certain TID queue is scheduled. For example, when STA1 in TID5 queue is scheduled and Slice is used... STA1,TID5 When a device transmits its quota, the device transmit quota of the same STA in other TID queues will be reduced to a Slice. STA1,TIDn =SIiCe STA1,TIDn -Factor TIDn,5 *Slice STA1,TID5 Factor TIDn,5 The scaling factor between TID n and TID5, where the factor is greater than the priority of TID n. TIDn,5 Generally, it is a value less than 1, and can be set to 0.2. When the priority of TID n is less than TID5, Factor TIDn,5 Generally, it should be greater than or equal to the obtained value, and can be set to 1.

[0090] The scheduling method based on communication networks provided in this application avoids the complex dynamic priority calculation of traditional scheduling techniques. Simultaneously, during traffic data transmission, a dynamic priority strategy for the service data of each network device is determined based on the dynamic transmission quota of that device. Each priority corresponds to a scheduling queue. The priority of the service data of each network device in each queue decreases as the transmission quota usage decreases. Furthermore, the desired priority increase for the service data of network devices is achieved through the reallocation of transmission quotas for network device service data and penalties for exceeding transmission quotas. Corresponding strategy optimizations are also made for typical scenarios in network transmission, such as multi-user transmission, new additions of network device service data to the network, or sleep mode. Moreover, the embodiments of this application also consider the "starvation" phenomenon in certain scenarios, further improving the fairness of scheduling.

[0091] Furthermore, the scheduling method described in the embodiments of this application can meet the performance requirements of real-time services. By setting a high-priority real-time service queue in the scheduling method, real-time services can obtain higher priority and more transmission opportunities compared to ordinary services, and the priority of real-time services will not change within a certain transmission time or data volume.

[0092] Furthermore, by employing the scheduling method and apparatus described in the embodiments of this application, the transmission requirements of customized priority services for different users can be met. Each service has a static priority label, and different users can assign different static priorities to service devices. In the scheduling method of the embodiments of this application, static priorities are mapped to different dynamic service queues. The larger the static priority, the larger the corresponding dynamic priority. Services with higher dynamic priorities will obtain more transmission opportunities, thereby meeting the throughput or latency requirements of the service.

[0093] Compared with existing technologies, the optimization method involved in this invention can meet the scheduling needs of different business types, has better scheduling fairness, and is easier to implement.

[0094] Figure 5 This is a schematic diagram of a scheduling method based on a communication network provided in an embodiment of this application.

[0095] like Figure 5As shown, the highest priority scheduling queue in a service queue is designated as the RealTime queue, and the other scheduling queues are designated as ordinary queues. These other scheduling queues include Q4, Q3, Q2, Q1, and Q0, as well as the Expire queue. The network device is an STA (Stationary Asynchronous Unit). At time T1, all STAs are assigned to either the first scheduling queue (RealTime) or the Q queue of the second scheduling queue according to their static priority. The static priority of the STAs is allocated according to their service type. STAs with real-time service types are placed in the RealTime queue, while other STAs are placed in the highest service queue in the Q queue (the top-level queue Q4, where STAs have the same static priority), such as STA1, STA2, and STA3. In this embodiment, it is assumed that all STAs are for real-time services. After a period of traffic data transmission, at time T2, STA3, STA2, and STA1 are ultimately demoted to the ordinary queue Q4 based on their remaining transmission quotas. After a period of data transmission, at time T3, STA3 is in queue Q2. This is because during the time interval [T2, T3], STA3 used up its quota in queues Q4 and Q3 and was moved to queue Q2; STA1 used up its quota in queue Q4 and was moved to queue Q3; STA2, because it had not yet used up its quota in queue Q4, remained in queue Q4. Since the scheduling method in this embodiment prioritizes scheduling STAs in queues with higher priority, if scheduling is performed at time T3, STA2 will receive the highest priority. At time T4, STA3 and STA4, having successively used up their quotas in each level of queue Q, are moved from the scheduling queue to the Expire queue. STAs in the Expire queue will not be scheduled; therefore, if scheduling is performed at time T4, STA1 will receive the highest priority. The process of STA changing the service queue is like a staircase. Each time an STA uses up its quota, it goes down one step of the stairs, and so on, until all STAs have fallen into the failure queue. All STAs in the failure queue are then added back to the scheduling queue for a new round of scheduling.

[0096] The AP successively used OFDMA and MUMIMO multi-user transmission modes. Space time was used as a quota indicator, and the quota for each reallocation could be set to 10ms. Figure 6This is a schematic diagram of data transmission using multi-user OFDMA scheduling provided in an embodiment of this application. At time T1, the TID7 queue scheduling is as follows: STA1 and STA4 are in queue Q4, and STA2 is in queue Q3, with quotas of 1ms, 10ms, and 5ms respectively. Then, the AP obtains a multi-user group via the STA packetization component, consisting of STA1, STA2, and STA4, and transmits using OFDMA mode. The resource allocation component obtains RU allocations of 484Tone, 484Tone, and 242Tone for each STA. After this transmission, the scheduling of the TID queue needs to be updated. At time T2, the TID7 queue scheduling is as follows: STA4 is in queue Q4, and STA1 and STA2 are in queue Q3, with quotas of 9ms, 8ms, and 4ms respectively. Taking STA1's quota calculation as an example, the quota consumed by STA1 in this transmission is 5 * 484Tone / (484Tone + 484Tone + 242Tone) = 2ms. Before sending, STA1 had 1ms of remaining quota. Therefore, STA1's quota update is: 10 + 1 * (1 - 2) = 9ms, where the scaling factor is chosen as 1. Since STA1 has exhausted the quota of queue Q4, it is moved down to queue Q3. The calculation for other STAs is similar. The scheduling of queue TID6 at time T3 is as follows: STA1 and STA5 are in queue Q4, and STA3 is in queue Q3, with quotas of 7ms, 8ms, and 2ms respectively. Different TID queues may have the same STA because the same STA may have traffic with different TIDs at the same time.

[0097] Figure 7 This is a schematic diagram of data transmission using multi-user MUMIMO scheduling provided in an embodiment of this application. The multi-user group consists of STA1, STA3, and STA5, transmitted using MUMIMO mode, with NSS values ​​of 2, 1, and 2 respectively. After the transmission process is completed, the TID6 queue scheduling is as follows: STA1 is located in queue Q4, and STA3 and STA5 are located in queue Q3, with quotas of 5ms, 7ms, and 10ms respectively. Taking STA5's quota calculation as an example, the quota consumed by STA5 in this transmission is 5*2NSS / (2NSS+2NSS+1NSS) = 2ms. Before transmission, STA1 had 2ms of remaining quota, therefore STA1's quota is updated to: 10+1*(2-2) = 10ms, where the scaling factor is chosen as 1. Since STA5 has exhausted the quota of queue Q4, it is moved down to queue Q3; the calculations for other STAs are similar.

[0098] Figure 8 This application provides a schematic diagram of a scheduling device 800 for a communication network, which can be applied to the above-mentioned... Figure 1 In the communication network deployment of the corresponding embodiment and Figure 2 The AP architecture in the corresponding embodiment can also be applied to other communication network environments that include multiple services, and this application does not limit this application. The device 800 includes an allocation 801 and a scheduling module 802, wherein...

[0099] The allocation module 801, in response to receiving service data, is used to allocate the service data to the corresponding service queues according to a predetermined traffic allocation strategy, wherein each service queue includes multiple scheduling queues with different scheduling priorities, and each service queue has a corresponding device priority table, the device priority table recording the dynamic correspondence between the network device and the multiple scheduling queues;

[0100] The allocation module 801 is further configured to allocate the service data to the corresponding scheduling queue among the plurality of scheduling queues according to the network device to which the service data belongs or the service type of the service data.

[0101] The sending module 802 is used to send service data in the plurality of scheduling queues according to the scheduling priority of the plurality of scheduling queues, wherein service data in the scheduling queue with higher scheduling priority is sent first.

[0102] In some embodiments, the allocation module 801 is further configured to determine the network device to which the service data belongs, and query the device priority table of the service queue to determine the scheduling queue corresponding to the network device to which the service data belongs; and allocate the service data to the determined scheduling queue.

[0103] In some embodiments, the allocation module 801 is further configured to determine the service type of the service data if no network device to which the service data belongs is found in the device priority table; and allocate the service data to the scheduling queue with the highest scheduling priority among the plurality of scheduling queues if the service type is a first service type.

[0104] In some embodiments, the allocation module 801 is further configured to, when the service type is a second service type, determine the network device to which the service data belongs; and allocate the service data to the corresponding scheduling queue among the plurality of scheduling queues according to the static priority of the network device to which the service data belongs.

[0105] In some embodiments, the allocation module 801 is further configured to determine the corresponding scheduling priority based on the static priority of the network device to which the service data belongs; and allocate the service data to the scheduling queue having the corresponding scheduling priority.

[0106] In some embodiments, after allocating the service data to the corresponding scheduling queue, the allocation module 801 is further configured to update the device priority table of the service queue, so as to record the correspondence between the network device to which the service data belongs and the corresponding scheduling queue in the device priority table.

[0107] In some embodiments, the sending module 802 is configured to update the queue transmission quota of the scheduling queue according to the sent service data after sending the service data; and if the queue transmission quota is less than or equal to a first predetermined threshold, transfer all service data in the scheduling queue to other scheduling queues among the plurality of scheduling queues with a scheduling priority lower than that scheduling queue.

[0108] In some embodiments, the sending module 802 is configured to, when the queue transmission quota is greater than a first predetermined threshold, update the device transmission quota of the network device to which the service data belongs based on the transmitted service data; when the device transmission quota is less than a second predetermined threshold, for network devices in the highest priority scheduling queue, transfer all service data of the network device back to the highest priority scheduling queue; for other scheduling queues besides the highest priority scheduling queue, transfer all service data of the network device from the current scheduling queue to other scheduling queues among the plurality of scheduling queues with a scheduling priority lower than the current scheduling queue.

[0109] In some embodiments, the sending module 802 is used to update the queue transmission quota of the scheduling queue according to the transmission mode of the transmitted service data.

[0110] In some embodiments, the sending module 802 is specifically used to update the queue transmission quota of the scheduling queue as follows when the transmission mode is orthogonal frequency division multiple access:

[0111] Slice STAi =Slice STAi -Slice Use *BW i / BW Total Among them, Slice Use For the total transmission quota used in this multi-user transmission, BW i BW is the current resource block size in the scheduling queue. Total Total resource block size for multi-user transfers.

[0112] When the transmission mode is multi-user multiple-input multiple-output, the updated queue transmission quota of the scheduling queue is:

[0113] Slice STAi =SliceSTAi -Slice Use *NSS i / NSS Total Among them, Slice Use For the total transmission quota used in this multi-user transmission, NSS i The number of space streams in the current scheduling queue, NSS Total The total number of spatial streams transmitted for multiple users.

[0114] In some embodiments, the sending module 802 is further configured to, after transferring all service data of the network device from the current scheduling queue to other scheduling queues among the plurality of scheduling queues with a scheduling priority lower than the current scheduling queue, assign the following device transmission quota to the network device corresponding to the other scheduling queue to which it has been transferred:

[0115] Slice cur =Slice + Factor * Slice last Wherein, Slice is the transmission quota reassigned to network devices corresponding to other scheduling queues. last The device transmission quota corresponding to the current scheduling queue for the network device is denoted by Factor, which is a scaling factor.

[0116] In some embodiments, the allocation module 801 is further configured to select the queue transmission quota and the device transmission quota based on the scheduling target, wherein the device transmission quota and the device transmission quota are transmission time or transmission data volume.

[0117] In some embodiments, the sending module 802 is further configured to, when new network device service data is added or sleep network device service data is re-added to the plurality of scheduling queues, select scheduling queue Q for the new network device service data or the sleep network device service data. in =min(Q) max Q out ), Q out When the service data of a sleep network device exits the scheduling queue, the scheduling queue in which the service data of the sleep network device is located is Q. max When adding the service data of the new network device, the highest scheduling queue among the service data of all network devices existing in the service queue.

[0118] In some embodiments, the sending module 802 is further configured to, when the service data STAi of a network device has a priority higher than a third threshold in at least two service queues simultaneously, schedule the service data STAi of the network device in one of the service queues TIDm, and use a device transmission quota of Slice. STAi,TIDmWhen the network device's service data STAi is in the other service queues of the at least two service queues, the device transmission quota for TIDn is: Slice STAi,TIDn =Slice STAi,TIDn -Factor TiDn,m *Slice STAi,TIDm Among them, Factor TiDn,m This is the scaling factor between the at least two service queues.

[0119] This application also provides a scheduling device based on a communication network. The scheduling device includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for implementing communication between the processor and the memory. When the program is executed by the processor, it implements any of the scheduling methods in the above embodiments.

[0120] This application also provides a storage medium for computer-readable storage, which stores one or more programs that can be executed by one or more processors to implement any of the scheduling methods in the above embodiments.

[0121] The scheduling method, apparatus, and device based on communication networks provided in this application, along with the storage medium, can avoid the complex dynamic priority calculation of traditional scheduling techniques. Simultaneously, during traffic data transmission, a dynamic priority strategy for each station is determined based on its dynamic transmission quota. Each priority corresponds to a scheduling queue, and the priority of stations in each queue increases as the transmission quota usage decreases. Furthermore, the desired station priority is improved through the reallocation of transmission quotas and penalties. Corresponding strategy optimizations are also made for typical scenarios in network transmission, such as multi-user transmission, new node joining the network, or node sleep. Moreover, the embodiments of this application also consider the "starvation" phenomenon in certain scenarios, further improving the fairness of scheduling.

[0122] Furthermore, by employing the scheduling method, apparatus, device, and storage medium described in the embodiments of this application, the performance requirements of real-time services can be met. By setting up a high-priority real-time service queue in the scheduling method, real-time services can obtain higher priority and more transmission opportunities compared to ordinary services, and the priority of real-time services will not change within a certain transmission time or data volume.

[0123] Furthermore, by employing the scheduling method, apparatus, device, and storage medium described in the embodiments of this application, the transmission requirements of customized priority services for different users can be met. Each service has a static priority label, and different users can assign different static priorities to service devices. In the scheduling method of the embodiments of this application, static priorities are mapped to different dynamic service queues. A higher static priority corresponds to a higher dynamic priority, and services with higher dynamic priorities will obtain more transmission opportunities, thereby meeting the throughput or latency requirements of the service.

[0124] The optimization methods, apparatus, and devices involved in this invention, along with the storage medium, can meet the scheduling needs of different business types, have better scheduling fairness, and are easier to implement compared with existing technologies.

[0125] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0126] In hardware implementations, the division between functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0127] The preferred embodiments of the present invention have been described above with reference to the accompanying drawings, but this does not limit the scope of the invention. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and spirit of the present invention should be within the scope of the present invention.

Claims

1. A service scheduling method based on a communication network, characterized in that, The method is applied to a service scheduling device that executes the service scheduling method to schedule service data destined for or from network devices via its associated communication network. The method includes: In response to receiving service data, the service data is allocated to the corresponding service queue according to a predetermined traffic allocation strategy. Each service queue includes multiple scheduling queues with different scheduling priorities. Each service queue has a corresponding device priority table, which records the dynamic correspondence between network devices and the multiple scheduling queues. The network devices are network devices in the communication network. The service data is assigned to the corresponding scheduling queue among the plurality of scheduling queues according to the network device to which the service data belongs or the service type of the service data. Service data in the multiple scheduling queues is sent according to the scheduling priority of the multiple scheduling queues, wherein service data in the scheduling queue with higher scheduling priority is sent first. Each scheduling queue has a queue transmission quota, which has a preset initial value and decreases accordingly as service data in the scheduling queue is transmitted. After transmitting the service data, the method further includes: The queue transmission quota of the scheduling queue is updated according to the transmitted service data; If the queue transmission quota is less than or equal to a first predetermined threshold, all service data in the scheduling queue will be transferred to other scheduling queues with lower scheduling priority than the current scheduling queue.

2. The service scheduling method according to claim 1, characterized in that, The step of allocating the service data to a corresponding scheduling queue among the plurality of scheduling queues based on the network device to which the service data belongs or the service type of the service data includes: Determine the network device to which the service data belongs, and query the device priority table of the service queue to determine the scheduling queue corresponding to the network device to which the service data belongs; The business data is allocated to the determined scheduling queue.

3. The service scheduling method according to claim 2, characterized in that, The method further includes: if the network device to which the service data belongs is not found in the device priority table, determining the service type of the service data; When the service type is the first service type, the service data is assigned to the scheduling queue with the highest scheduling priority among the plurality of scheduling queues.

4. The service scheduling method according to claim 3, characterized in that, The method further includes: when the service type is a second service type, determining the network device to which the service data belongs; The service data is allocated to the corresponding scheduling queue among the multiple scheduling queues according to the static priority of the network device to which the service data belongs.

5. The service scheduling method according to claim 4, characterized in that, The step of allocating the service data to the corresponding scheduling queue among the plurality of scheduling queues according to the static priority of the network device to which the service data belongs includes: The corresponding scheduling priority is determined based on the static priority of the network device to which the service data belongs. The business data is assigned to the scheduling queue with the corresponding scheduling priority.

6. The service scheduling method according to claim 4 or 5, characterized in that, After allocating the service data to the corresponding scheduling queue, the method further includes: updating the device priority table of the service queue to record the correspondence between the network device to which the service data belongs and the corresponding scheduling queue in the device priority table.

7. The service scheduling method according to claim 1, characterized in that, Each network device has a device transmission quota corresponding to each scheduling queue, the device transmission quota having a preset initial value that decreases accordingly as the network device sends service data; the method further includes: If the queue transmission quota is greater than a first predetermined threshold, the device transmission quota of the network device to which the service data belongs is updated according to the transmitted service data; If the device transmission quota is less than the second predetermined threshold, for network devices in the highest priority scheduling queue, all service data of the network device are transferred back to the highest priority scheduling queue; for other scheduling queues other than the highest priority scheduling queue, all service data of the network device are transferred from the current scheduling queue to other scheduling queues among the multiple scheduling queues with a scheduling priority lower than the current scheduling queue.

8. The service scheduling method according to claim 1 or 7, characterized in that, The method further includes: updating the device priority table, wherein the scheduling queue of the network device to which the transferred service data belongs is modified in the device priority table to the other scheduling queue to which it is transferred.

9. The service scheduling method according to claim 1, characterized in that, The service queue also has an invalidation queue. Service data in the invalidation queue is not sent. When all service data of all network devices in the service queue has been transferred to the invalidation queue, the service data in the invalidation queue is transferred back to the multiple scheduling queues.

10. The service scheduling method according to claim 1, characterized in that, The step of updating the queue transmission quota of the scheduling queue based on the transmitted service data includes: The queue transmission quota of the scheduling queue is updated according to the transmission mode of the transmitted service data.

11. The service scheduling method according to claim 10, characterized in that, When the transmission mode is orthogonal frequency division multiple access (OFDM), the updated queue transmission quota of the scheduling queue is: ,in, This is for the use of the total transmission quota for this multi-user transmission. The size of the resource block in the current scheduling queue. Total resource block size for multi-user transfers.

12. The service scheduling method according to claim 10, characterized in that, When the transmission mode is multi-user multiple-input multiple-output, the updated queue transmission quota of the scheduling queue is: ,in, This is for the use of the total transmission quota for this multi-user transmission. The number of space streams in the current scheduling queue. The total number of spatial streams transmitted for multiple users.

13. The service scheduling method according to claim 7, characterized in that, The second predetermined threshold is determined by the minimum device transmission quota used in a single transmission during the business data scheduling process.

14. The service scheduling method according to claim 7, characterized in that, After all service data of the network device is transferred from the current scheduling queue to other scheduling queues with lower scheduling priority than the current scheduling queue, the device transmission quota of the network device corresponding to the other scheduling queue to which it has been transferred is: ,in, To reallocate transmission quotas corresponding to the other scheduling queues to the network devices, The device transmission quota corresponding to the current scheduling queue for the network device is given, and Factor is the scaling factor.

15. The service scheduling method according to claim 7, characterized in that, The scheduling method further includes: The queue transmission quota and the device transmission quota are selected based on the scheduling target, wherein the queue transmission quota and the device transmission quota are transmission time or transmission data volume.

16. The service scheduling method according to claim 1, characterized in that, In each of the multiple scheduling queues of the service queue, the service data of the network devices in the same scheduling queue have the same priority; the service data of multiple network devices in the same scheduling queue are scheduled by round-robin or first-in-first-out.

17. The service scheduling method according to claim 1, characterized in that, The method includes determining the scheduling priority of the scheduling queue selected by the new network device's service data or the sleep network device's service data when it is added to the plurality of scheduling queues. , The scheduling priority of the scheduling queue where the service data of the sleep network device is located when the service data of the sleep network device is removed from the scheduling queue. When adding service data to the new network device, the service queue is the highest scheduling priority in the scheduling queue of the device priority table.

18. The service scheduling method according to claim 1, characterized in that, When a network device's service data STAi has a priority higher than the third threshold in at least two service queues simultaneously, the network device's service data STAi is scheduled in one of the service queues TIDm, and the device transmission quota used is [missing information]. When this occurs, the device transmission quota for the network device's service data STAi in the other service queues TIDn of the at least two service queues is: ,in, The scaling factor between the at least two service queues.

19. The service scheduling method according to claim 1, characterized in that, The traffic allocation strategy includes a priority allocation strategy or a load balancing allocation strategy.

20. A service scheduling device based on network communication, characterized in that, The scheduling device executes a service scheduling method to schedule service data destined for or from network devices via its communication network, the device comprising: The allocation module, in response to receiving service data, allocates the service data to corresponding service queues according to a predetermined traffic allocation strategy. Each service queue includes multiple scheduling queues with different scheduling priorities. Each service queue has a corresponding device priority table, which records the dynamic correspondence between network devices and the multiple scheduling queues. The network devices are network devices in the communication network. Each scheduling queue has a queue transmission quota, which has a preset initial value and decreases accordingly as service data in the scheduling queue is sent. The allocation module is further configured to allocate the service data to the corresponding scheduling queue among the plurality of scheduling queues according to the network device to which the service data belongs or the service type of the service data; The sending module is configured to send service data in the plurality of scheduling queues according to the scheduling priority of the plurality of scheduling queues, wherein service data in the scheduling queue with higher scheduling priority is sent first; and to update the queue transmission quota of the scheduling queue according to the sent service data after sending the service data; and to transfer all service data in the scheduling queue to other scheduling queues with lower scheduling priority than the current scheduling queue if the queue transmission quota is less than or equal to a first predetermined threshold.

21. A service scheduling device based on a communication network, characterized in that, The scheduling device includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for establishing communication between the processor and the memory. When the program is executed by the processor, it implements the steps of the service scheduling method based on a communication network as described in any one of claims 1 to 19.

22. A storage medium for computer-readable storage, characterized in that, The storage medium stores one or more programs, which can be executed by one or more processors to implement the steps of the service scheduling method based on a communication network as described in any one of claims 1 to 19.

Citation Information

Patent Citations

  • LoRa network QoS scheduling management method supporting complex service data transmission

    CN111314243A