Communication network-based service scheduling method, apparatus, device and storage medium
By assigning scheduling queues of different priorities to service data in the communication network and dynamically adjusting it, the delay and reliability problems of real-time services in traditional WLAN scheduling are solved, and better QoS support and fairness are achieved.
Patent Information
- Application Number
- PCT/CN2024/096677
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-30
- Filing Date
- 2024-05-31
- Publication Date
- 2025-01-02
AI Technical Summary
When existing communication networks support real-time services, the delay and reliability requirements are difficult to meet. Traditional WLAN scheduling technology cannot effectively distinguish real-time services from ordinary services, resulting in poor QoS support and scheduling fairness.
Using a service scheduling method based on a communication network, the service data is allocated to multiple scheduling queues with different scheduling priorities, and dynamically adjust the priority according to the type of service data and the device to which it belongs, and the service data with high priority is sent first. Ensure that the needs of different businesses are met.
It improves the performance and user experience of real-time services, meets the scheduling needs of different business types, improves scheduling fairness, and avoids the complexity of dynamic priority computing in traditional scheduling technologies.
Smart Images

Figure CN2024096677_02012025_PF_FP_ABST
Abstract
Description
Communication network-based service scheduling method, device, equipment, and storage medium
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to Chinese patent application No. 202310804968.9 filed on June 30, 2023, the contents of which are incorporated herein by reference in their entirety. Technical Field
[0003] The present application relates to the field of communications, and in particular to a method, apparatus, device, and computer-readable storage medium for service scheduling based on a communications network. Background Art
[0004] In recent years, the rapid development of computers and the internet has led to the emergence and rapid spread of real-time services. Applications such as virtual reality, cloud gaming, and online healthcare place stringent demands on communication latency (1-10 milliseconds) and reliability. Furthermore, the proliferation of multimedia devices in today's homes and offices has made supporting real-time services in communication networks crucial. However, achieving the latency and reliability required by real-time services is a challenging problem. For example, in Wi-Fi networks, there are two main approaches to addressing this issue: 1) using a restricted target wake time (r-TWT) mechanism or similar channel reservation techniques. This technique achieves the required performance of real-time services by monopolizing channel usage for a period of time. However, due to the complex information exchange and scheduling between nodes, this approach has been less effective. 2) employing enhanced distributed channel access (EDCA) with multiple access category (AC) priority levels. This technology achieves low-latency channel access for real-time services by adjusting the EDCA parameters of different ACs. However, because both access points (APs) and stations (STAs) use carrier-sense-based multiple access technology, real-time services must wait for the current transmission to complete, even if the current node has a high priority. While prioritization based on different ACs can alleviate this problem to some extent, the high granularity of AC priorities is insufficient for the high standards of real-time services. Furthermore, traditional WLAN scheduling technologies do not distinguish between real-time and ordinary services. Real-time and ordinary services may be mixed in the same AC queue. Real-time services must wait for the transmission of higher-priority (dynamically prioritized) ordinary services before they can proceed. This is almost intolerable for real-time services.
[0005] Large-scale AC prioritization not only degrades the performance of real-time services but also impacts traditional audio and video services. Different types of video, audio, and conferencing traffic have different Quality of Service (QoS) requirements. Audio and video services with different QoS requirements may be crudely placed in the same AC queue. Services in the same AC queue are provided with the same QoS, so the QoS of some services may not be met, resulting in a poor user experience.
[0006] While maintaining the EDCA-based Media Access Control (MAC) framework, one approach to addressing current issues is to consider the priorities of different services in the scheduling algorithm. Real-time services and audio and video services within the same AC will be assigned different scheduling priorities. Higher-priority services will receive more transmission time than lower-priority services, thereby ensuring their QoS. However, frequent scheduling of high-priority services can also lead to fairness concerns, potentially starving lower-priority services.
[0007] Therefore, the communication network in the related art has the problems of poor QoS support for real-time services, inability to distinguish QoS requirements for services in the same queue, and inability to ensure scheduling fairness.
[0008] Summary of the Invention
[0009] An embodiment of the present application provides a service scheduling method based on a communication network, wherein the communication network includes a service scheduling device and at least one network device, and the service scheduling device executes the service scheduling method to schedule service data going to or coming from the network device via the communication network. The method includes: in response to receiving service data, allocating the service data to corresponding service queues according to a predetermined traffic distribution strategy, wherein each service queue includes multiple scheduling queues with different scheduling priorities, and each service queue has a corresponding device priority table, and the device priority table records the dynamic correspondence between the network device and the multiple scheduling queues; allocating the service data to corresponding scheduling queues in the multiple scheduling queues according to the network device to which the service data belongs or the service type of the service data; and sending the service data in the multiple scheduling queues according to the scheduling priorities of the multiple scheduling queues, wherein the service data in the scheduling queues with higher scheduling priorities are sent first.
[0010] An embodiment of the present application also provides a service scheduling device based on a communication network, wherein the communication network includes a service scheduling device and at least one network device, and the service scheduling device executes the service scheduling method to schedule service data going to or from the network device via the communication network. The device includes: an allocation module, which, in response to receiving service data, allocates the service data to 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, which records the dynamic correspondence between the network device and the multiple scheduling queues; the allocation module is also used to allocate the service data to corresponding scheduling queues in the multiple scheduling queues according to the network device to which the service data belongs or the service type of the service data; a sending module is used to send the service data in the multiple scheduling queues according to the scheduling priorities of the multiple scheduling queues, wherein the service data in the scheduling queues with higher scheduling priorities is sent first.
[0011] An embodiment of the present application also proposes a service scheduling device based on a communication network, which includes a memory, a processor, a program stored on the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory. When the program is executed by the processor, the aforementioned method is implemented.
[0012] An embodiment of the present application further provides a computer-readable storage medium, which stores one or more programs. The one or more programs can be executed by one or more processors to implement the aforementioned service scheduling method. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The above and other objects, features and advantages of the exemplary embodiments of the present application will become readily understood by reading the detailed description below with reference to the accompanying drawings. In the accompanying drawings, several embodiments of the present application are shown in an exemplary and non-limiting manner, and the same or corresponding reference numerals represent the same or corresponding parts, wherein:
[0014] FIG1 is a schematic diagram of a deployment of a communication network according to an embodiment of the present application;
[0015] FIG2 is a structural block diagram of an AP according to an embodiment of the present application;
[0016] FIG3 is a flow chart of a service scheduling method based on a communication network according to an embodiment of the present application;
[0017] FIG4 is a schematic diagram of forcibly reducing service data of a network device with the highest priority to other scheduling queues according to an embodiment of the present application;
[0018] FIG5 is a schematic diagram of a service scheduling method based on a communication network according to an embodiment of the present application;
[0019] FIG6 is a schematic diagram of data transmission of multi-user OFDMA scheduling according to an embodiment of the present application;
[0020] FIG7 is a schematic diagram of data transmission of multi-user MUMIMO scheduling according to an embodiment of the present application;
[0021] FIG8 is a schematic diagram of a service scheduling device based on a communication network according to an embodiment of the present application. DETAILED DESCRIPTION
[0022] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without making creative efforts are within the scope of protection of this application.
[0023] It should be understood that the terms "first," "second," "third," and "fourth," etc. in the claims, specification, and drawings of this application are used to distinguish different objects rather than to describe a specific order. The terms "comprise" and "comprising" used in the specification and claims of this application indicate the presence of the described features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or combinations thereof.
[0024] In the following description, suffixes such as "module," "component," or "unit" used to represent elements are used only to facilitate the description of the present invention and have no specific meaning. Therefore, "module," "component," or "unit" may be used interchangeably.
[0025] It should also be understood that the terminology used in this specification is for the purpose of describing specific embodiments only and is not intended to limit this application. As used in this specification and claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise. It should further be understood that the term "and / or" as used in this specification and claims refers to any and all possible combinations of one or more of the associated listed items, including and including these combinations.
[0026] As used in this specification and claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context.
[0027] The specific implementation of the present application will be described in detail below with reference to the accompanying drawings.
[0028] In this document, the terms "service", "traffic", "data", and "service data" may all be used to refer to services transmitted via a communication network.
[0029] In response to the problems in related technologies that communication networks have poor QoS support for real-time services, services in the same queue cannot distinguish QoS requirements, and scheduling fairness cannot be guaranteed, the embodiments of the present application propose a service scheduling method based on a communication network, which aims to ensure the needs of services of different priorities and can solve the scheduling needs of different types of services under the same service queue.
[0030] Figure 1 is a schematic diagram of an example of an application environment applicable to the service scheduling method and service scheduling device according to an embodiment of the present application. The service scheduling method of the embodiment of the present application can be executed by a service scheduling device with service scheduling requirements in any communication network, and is used to schedule multiple services to or from a network device via the communication network. The service scheduling device can be included in an appropriate network device in the communication network. In Figure 1 and the following embodiments, the application environment in the present application is described using a wireless local area network (WLAN) as an example. It will be understood that the service scheduling method, device, equipment and computer-readable storage medium in the present application are not limited to the application environment of this WLAN, and any communication network with scheduling requirements and multiple services is applicable to the present invention.
[0031] As shown in Figure 1, a wireless LAN includes multiple Basic Service Sets (BBSs). Each BBS includes an access point (AP), which can associate with multiple stations (STAs) and transmit traffic data between them. For ease of illustration, only two APs are deployed in this example: AP1 in Basic Service Set 1 (BSS1) and AP2 in BSS2. AP1 has at least two associated STAs (STA1 and STA2) and operates in both the 5 GHz and 6 GHz frequency bands. AP2 has at least three associated STAs (STA3, STA4, and STA5) and operates solely in the 5 GHz frequency band. Due to the same frequency band or communication range, the coverage area of AP1 and AP2 overlaps, and STA1 is located in the overlapping area between AP1 and AP2. When traffic data is transmitted between an AP and a STA, the AP or STA parses the traffic data to obtain the address of the traffic data and then determines the recipient of the traffic data based on the address of the traffic data.
[0032] Generally speaking, Error! Reference source not found. The AP in is a fixed terminal that provides network services to STA. However, in some 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 STA include, but are not limited to, smart phones, personal computers, multimedia devices, audio devices, devices for the Internet of Things (IOT), or other wireless terminal devices that require AP to provide network services. STA can also be referred to as: mobile unit, wireless unit, mobile terminal, user equipment (UE) or other appropriate terms. STA can be implemented using a protocol stack. The protocol stack includes a physical layer for sending 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 processing data transmission from the source address to the destination address, a transport layer for data transmission management, and other layers necessary for establishing networks and connections.
[0033] Although described using WLAN deployment and IEEE 802.11 networks as examples, the techniques described in the present invention can be extended to other networks that use various standards or protocols. For example, including Bluetooth, Hiper LAN (a set of wireless standards comparable to the IEEE 802.11 standard, mainly used in Europe), as well as wide area networks (WANs), WLANs, personal area networks (PANs), or other suitable networks now known or later developed. Therefore, the scheduling techniques presented in the present invention can be applied to any suitable wireless network or other network, regardless of the communication protocol used.
[0034] Figure 2 is a block diagram of an example structure of an AP as the execution subject of a service scheduling apparatus or service scheduling method according to an embodiment of the present application. It should be noted that the AP in the embodiment of the present application is merely an example. The structure of the AP may vary for different communication networks, and this application does not impose any limitations on this. As shown in Figure 2, AP 100 includes 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 transmitting data between multiple components or subcomponents of AP 100. The one or more processors 140 may include one or a combination of a baseband processor, a digital signal processor, or a transceiver processor. In the present application, processor 140 includes a scheduling component 150 for executing the communication network-based scheduling technology described herein. Scheduling component 150 includes hardware and software and can be configured to execute code or instructions stored in memory 110 (e.g., a computer-readable storage medium). Scheduling component 150 can maximize network capacity and ensure latency, throughput, and fairness for transmitting STA data. Memory 110 contains cached data from multiple STAs and various characteristics of the data stored therein, such as certain network status or management information, real-time voice or video streaming data, and so on. Data can be categorized as low-latency, urgent, real-time, or normal traffic based on these characteristics, which influences when and how the data is transmitted. Network interface module 130 includes a WLAN 802.11 interface and, for other networks, may include a Bluetooth interface, a WiMax interface, or a wired Ethernet interface.
[0035] Figure 3 is a flowchart of a communication network-based service scheduling method according to an embodiment of the present application. This scheduling method can be performed by a service scheduling device in the communication network. The service scheduling device can be, for example, the AP described in Figures 1 and 2 above, or included therein. It can also be, or included therein, a network device in another communication network that requires service scheduling. The service scheduling device is used to schedule services for each network device in the communication network. The scheduling method includes the following steps S301 to S303.
[0036] In step S301, in response to receiving business data, the business data is allocated to the corresponding business queue according to a predetermined traffic distribution strategy, wherein each business queue includes multiple scheduling queues with different scheduling priorities, and each business queue has a corresponding device priority table, which records the dynamic correspondence between the network device and the multiple scheduling queues.
[0037] In step S302, the service data is allocated to a corresponding scheduling queue among the multiple scheduling queues according to the network device to which the service data belongs or the service type of the service data.
[0038] In step S303, the service data in the multiple scheduling queues are sent according to the scheduling priorities of the multiple scheduling queues, wherein the service data in the scheduling queues with higher scheduling priorities are sent preferentially.
[0039] The embodiment of the present application performs scheduling based on the priority of the service data of the network device. This scheduling method can guarantee the needs of different services and can solve the scheduling needs of different types of services under the same service queue, so that queues with higher priority can obtain more scheduling opportunities.
[0040] In the embodiments of the present application, a service queue refers to a queue defined according to a communication protocol. For example, in a WLAN protocol, the number of service queues can generally be determined by the number of ACs or the number of TIDs. Assuming that the WLAN protocol has four ACs, four service queues can be set. In some embodiments, the service data is allocated to the corresponding service queue according to a predetermined traffic distribution policy, which may include a prioritization policy or a load balancing policy.
[0041] Taking a wireless local area network 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. The STA (including the traffic data transmitted from the upper layer) is then assigned to the corresponding service queue based on a prioritization strategy or a load balancing distribution strategy. In some embodiments, the prioritization strategy may include prioritizing traffic data based on its type. For example, traffic data types may include video data (VO), voice data (VI), best effort data (BE), background data (BK), etc. Prioritization may also be based on other methods, and this application does not impose any restrictions on this.
[0042] Furthermore, it is understood that traffic data packets transmitted by the upper layer are mixed with service data for various network devices. Therefore, when this traffic data is allocated to multiple service queues according to the traffic data allocation policy, each service queue may only include service data for a portion of the network devices. It is also understood that the traffic allocation policy does not divide service data into absolutely mutually exclusive categories. Therefore, data from a particular network device may belong to at least two service queues.
[0043] The device priority table records the correspondence between network devices and dispatch queues. Each network device corresponds to a dispatch queue, and all service data belonging to that network device is allocated to that dispatch queue. If any service of a network device has ever been assigned to this service queue, the device priority table for that service queue will record the corresponding dispatch queue for that network device. The correspondence between network devices and dispatch queues changes dynamically. For example, the changes mentioned below are based on queue transmission quotas and device transmission quotas. A detailed description and related processing steps are provided below.
[0044] In some embodiments, allocating the business data to the corresponding scheduling queue among the multiple scheduling queues according to the network device to which the business data belongs or the business type of the business data includes: determining the network device to which the business data belongs, and querying the device priority table of the business queue to determine the scheduling queue corresponding to the network device to which the business data belongs; and allocating the business data to the determined scheduling queue.
[0045] In some embodiments, if the network device to which the service data belongs is not found in the device priority table, a service type of the service data is determined; and if the service type is a first service type, the service data is assigned to a scheduling queue with the highest scheduling priority among the multiple scheduling queues. In some embodiments, the first service type can be a real-time service type or another high-priority service type, which is not limited in this application.
[0046] In some embodiments, when the service type is a second service type, the network device to which the service data belongs is determined; and the service data is assigned to a corresponding scheduling queue among the multiple scheduling queues based on the static priority of the network device to which the service data belongs. Specifically, the second service type may be a normal service type. When the service type is a normal service type, the corresponding scheduling queue is determined based on the static priority of the network device corresponding to the service data.
[0047] In some embodiments, allocating the service data to the corresponding scheduling queue in the multiple scheduling queues according to the static priority of the network device to which the service data belongs includes: determining the corresponding scheduling priority according to the static priority of the network device to which the service data belongs; and allocating the service data to the scheduling queue with the corresponding scheduling priority. Specifically, the service types of the network device include: 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 can be set according to a specific service requirement. Service types may include gaming services, video services, voice services, and the like. Different service types require different performance, and the static priority of the STA is determined based on the performance differentiation. For example, assuming that the STA is a gaming service, the gaming service requires a relatively low latency, so the latency will be prioritized. The corresponding scheduling priority is determined according to the different service types.
[0048] In some embodiments, after assigning the service data to the corresponding scheduling queue, the scheduling method further includes: updating a device priority table of the service queue to record the corresponding relationship 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 first has an initialization value, and is subsequently updated to the device priority table based on the corresponding relationship between the network device to which the service data belongs and the corresponding scheduling queue.
[0049] 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, wherein the queue transmission quota has a preset initial value and decreases accordingly as the business data in the scheduling queue is sent, and the device transmission quota has a preset initial value and decreases accordingly as the business data of the network device is sent, wherein after sending the business data, the scheduling method further includes: updating the queue transmission quota of the scheduling queue according to the business data sent; when the queue transmission quota is less than or equal to a first predetermined threshold, transferring all business data in the scheduling queue to other scheduling queues among the multiple scheduling queues whose scheduling priority is lower than that of the scheduling queue.
[0050] In some embodiments, the queue transmission configuration of each scheduling queue is a common quota for all stations in the scheduling queue, while the device transmission quota of each network device in each scheduling queue belongs to its own transmission quota.
[0051] In some embodiments, the queue transmission quota of each scheduling queue is greater than the network transmission quota of a network device.
[0052] 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 network devices in the scheduling queue corresponding to the service type requirements, or 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 network device corresponding to the service type requirements, or can be determined through experimental simulation or empirical values. The present application does not impose any restrictions on the setting of the queue transmission quota of the scheduling queue and the device transmission quota of the network devices in the scheduling queue. 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 change dynamically. Each time the service data is sent, the queue transmission quota of the scheduling queue and the device transmission quota of the network device itself are consumed. The queue transmission quota of the scheduling queue is updated based on 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. The present application determines the priority of each network device in the scheduling queue based on the queue transmission quota of the scheduling queue and the device transmission quota of the network devices in the scheduling queue, and schedules the service data of the network devices in the scheduling queue based on the priority of each network device in the scheduling queue. It is understandable that, since the queue transmission quota of the scheduling queue and the device transmission quota of each network device in the scheduling queue change dynamically, the priority of each network device in the scheduling queue also changes dynamically.
[0053] Since the priority of a higher priority scheduling queue is higher than that of a lower priority scheduling queue, when a network device exists in a higher priority queue, the service scheduling device will always give priority to scheduling the network device in the higher priority scheduling queue; however, the network device in the higher priority scheduling queue cannot always exist, otherwise it will cause starvation for the network devices in the lower scheduling queue. Therefore, in some embodiments, when the device transmission capacity of the network device in the 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 in the multiple scheduling queues with a scheduling priority lower than the scheduling queue, so as to ensure the fairness of scheduling.
[0054] In some embodiments, the service scheduling method further includes updating a queue transmission quota of the scheduling queue according to a transmission mode of the sent service data.
[0055] In some embodiments, the transmission mode includes single-user transmission and multi-user transmission, and multi-user transmission is further divided into Orthogonal Frequency Division Multiple Access (OFDMA) transmission and Multi-User MIMO (MUMIMO) transmission. Among them, single-user transmission refers to one-to-one transmission between AP and STA, while multi-user transmission refers to that the communication network can transmit to multiple network devices at the same time. OFDMA means that a group of users can access the channel at the same time. OFDMA technology specifies that each user uses one (or a group) of all OFDM subcarriers. OFDMA divides the entire frequency band into smaller units, and multiple users can use the entire band at the same time, and its allocation mechanism is very flexible. The number of subcarriers can be dynamically allocated according to the size of the user's business volume, and the modulation mode and transmission power used on different subcarriers can also be different. MUMIMO means that in a wireless communication system, a base station serves multiple mobile terminals at the same time, and the base stations make full use of the antenna's spatial resources to communicate with multiple users at the same time.
[0056] In some embodiments, when the transmission is scheduled for a single user, 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 the current transmission.
[0057] In some embodiments, when the transmission mode of the transmission scheduling is OFDMA, the updated queue transmission quota is:
[0058] Slice STA i =Slice STA i -Slice Use *BW i / BW Total , among which Slice Use The total transmission quota used for this multi-user transmission, BW i BW is the resource block size of the current scheduling queue. Total Total resource block size for multi-user transmission.
[0059] In some embodiments, when the transmission mode of the transmission scheduling is MUMIMO, the updated queue transmission quota of the scheduling queue is: Slice STA i =Slice STA i -Slice Use *NSS i / NSS Total , among which Slice Use The total transmission quota used for this multi-user transmission, NSS iNSS is the number of spatial streams in the current scheduling queue. Total Total number of spatial streams transmitted for multi-user.
[0060] In some embodiments, when the queue transmission quota is greater than a first predetermined threshold, the device transmission quota of the network device to which the business data belongs is updated according to the business data sent; when the device transmission quota is less than a second predetermined threshold, for the network device in the scheduling queue with the highest priority, all business data in the network device is transferred back to the scheduling queue with the highest priority; for other scheduling queues except the scheduling queue with the highest priority, all business data of the network device is transferred from the current scheduling queue to other scheduling queues in the multiple scheduling queues whose scheduling priority is lower than the current scheduling queue.
[0061] When the device transmission quota of a network device in the highest-priority scheduling queue meets certain conditions, it will generally be re-joined to the highest-priority scheduling queue. However, since the priority of the highest-priority scheduling queue is higher than that of other scheduling queues, when a network device exists in the highest-priority queue, the service scheduling device will always prioritize scheduling the network devices in the highest-priority scheduling queue. Therefore, the network devices in the highest-priority scheduling queue cannot always exist, otherwise it will starve the network devices in other scheduling queues. The embodiment of the present application determines whether the service data of a network device is transferred to a scheduling queue of another scheduling priority 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 the scheduling queue will be transferred to other scheduling queues with a lower scheduling priority than the scheduling queue in the multiple scheduling queues. If the queue transmission quota of the highest-priority 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 the network device will be re-transferred to the highest-priority scheduling queue. For other scheduling queues that are not of the highest priority, similarly, when the transmission quota of the queue is less than or equal to the first predetermined threshold, all service data in the scheduling queue is transferred to other scheduling queues in the multiple scheduling queues whose scheduling priority is lower than that of the scheduling queue. When the device transmission quota of a network device in another scheduling queue is less than a second predetermined threshold, all service data of the network device is transferred from the current scheduling queue to other scheduling queues in the multiple scheduling queues whose scheduling priority is lower than that of the current scheduling queue.
[0062] It should be noted that although the business data of the network device is moved into a scheduling queue that is one level lower than the business data of any network device, the static priority of the business data of any network device will not change. What changes is only the dynamic priority of the business data of the network device determined according to the device transmission quota.
[0063] In some embodiments, the second predetermined threshold mentioned above refers to the case where the remaining transmission quota of the business data of any network device is less than the second predetermined threshold or the transmission quota used by the business data of any network device exceeds the transmission quota of the business data of any network device. The transmission quota of the business data of any network device is less than the second predetermined threshold. That is, when the business data of any network device has used up its own transmission quota, but in most cases, the transmission quota of the business data of any network device is not exactly used up, there may be a small amount of remaining quota of the business data transmission quota of any network device, but it is not enough for another business data transmission, or the actual transmission quota used by the business data of any network device exceeds the transmission quota of the business data of any network device itself.
[0064] In some embodiments, the second threshold is determined by a minimum transmission quota used for one transmission during a service data scheduling process of the network device.
[0065] In some embodiments, after all service data of the network device is transferred from the current scheduling queue to other scheduling queues among the multiple scheduling queues with a scheduling priority lower than that of the current scheduling queue, the device transmission quota of the network device corresponding to the device transferred to the other scheduling queue is:
[0066] Slice cur =Slice+Factor*Slice last , where Slice is the transmission quota reallocated to the network device corresponding to the other scheduling queues, Slice last The device transmission quota of the network device corresponding to the current scheduling queue, and Factor is the scaling factor.
[0067] Specifically, when the device transmission quota of the service data of the network device is negative, it means that the device transmission quota of the service data of the current network device exceeds its own transmission quota. lastA negative number. When the service data of any network device is dropped from a high-priority queue to a low-priority queue, if the device transmission quota for the service data of any network device exceeds its own transmission quota, the service data of the low-priority network device will be treated unfairly. Therefore, the excess will be penalized at the next level. Therefore, the scaling factor is a value greater than 1, generally 1.1, but other values greater than 1 are also possible.
[0068] In some embodiments, after transferring the service data of the network device to another scheduling queue, the process further includes updating a device priority table, whereby the corresponding scheduling queue of the network device to which the transferred service data belongs is modified to the other scheduling queue to which the service data is transferred. That is, the device priority table maintains a dynamic priority of the service data of the network device.
[0069] In some embodiments, the service queue also has an invalidation queue, and the service data in the invalidation queue is not sent. When the service data of all network devices in the service queue are transferred to the invalidation queue, the service data of the network devices in the invalidation queue are transferred back to the multiple scheduling queues.
[0070] Specifically, the invalidation queue is the lowest level queue in the service queue. When the service data of all network devices in the service queue drops to the invalidation queue, the service data of the network devices in the invalidation queue are re-added to the multiple scheduling queues. As the service data of multiple network devices are transmitted, the device transmission quota of the service data of each network device is constantly changing, and then the priority of the service data of each network device is constantly changing. Specifically, the priority of the service data of each network device is continuously decreasing until it drops to the last level of priority, that is, it drops to the invalidation queue. When the service data of all network devices in the service queue drop to the invalidation queue, the service scheduling device will re-add the service data of all network devices in the invalidation queue to the scheduling queue in the service queue and re-schedule.
[0071] In some embodiments, the scheduling method also includes business data of newly joined network devices and business data of rejoined network devices, wherein the business data of newly joined network devices refers to the situation where new network devices are connected to the communication network, such as a new mobile phone is connected to the WIFI signal, etc. The rejoined network device refers to a network device in sleep mode being awakened, such as a mobile phone is in sleep mode and the software in the mobile phone is reopened to wake up the mobile phone, etc.
[0072] In some embodiments, when the business data of a network device in an invalid queue is re-added to multiple scheduling queues, the business data of a network device in an expired queue is re-added to the multiple scheduling queues based on the business type corresponding to the business data of the network device or the static priority of the business data of the network device.
[0073] Specifically, when the business data of the network device in the failure queue corresponds to the business data of the scheduling queue with the highest priority, such as the business data of the real-time business type, the business data of the network device is re-added to the scheduling queue with the highest priority; when the business data of the network device in the failure queue corresponds to the non-real-time business type (i.e., the ordinary business type), the business data of the network device is re-added to other scheduling queues according to the static priority of the business data of the network device.
[0074] In some embodiments, the scheduling method includes when the service data of a new network device is added to the multiple scheduling queues or the service data of a sleeping network device is re-added to the multiple scheduling queues, the scheduling priority of the scheduling queue selected by the service data of the new network device or the service data of the sleeping network device is Q in =min(Q max ,Q out ), Q out is the scheduling priority of the scheduling queue where the service data of the sleeping network device is located when the service data of the sleeping network device exits the scheduling queue, Q max It is the highest scheduling priority of the scheduling queue in the device priority table of the service queue when the service data of the new network device is added.
[0075] In some embodiments, when the business data of a network device is newly added or the business data of a sleeping network device is re-added to the scheduling queue, if it is directly added to the highest priority queue or to the queue level when it was previously exited (for example, the level when the business data of the network device is asleep and exits the scheduling queue), the business data of the low-priority network device may experience a long period of starvation (the business data of the high-priority network device needs to reduce its priority level one level at a time). Therefore, in the embodiment of the present application, a highest priority level will be maintained, which is equal to the highest priority level Q of the business data of all network devices in the scheduling queue when the business data of the network device is added. max When the service data of the network device joins or rejoins the scheduling queue, the priority of the selected queue cannot be higher than Q max , that is, Q in =min(Q max ,Q out ), Q out The queue priority for service data of sleeping network devices to exit the scheduling queue.
[0076] Figure 4 is a schematic diagram of forcibly lowering the business data of the network device with the highest priority to other scheduling queues according to an embodiment of the present application. The embodiment of the present application takes the business data of the business type with the highest priority as the first scheduling queue, the other scheduling queues as the second scheduling queue, and the network device as the site as an example for explanation. STA1 and STA2 are included in the first scheduling queue RealTime. After multiple traffic data transmissions, when the transmission quotas of STA1 and STA2 meet the preset conditions, STA1 and STA2 are forced to drop to the second scheduling queue (including Q4, Q3) Q4.
[0077] In some embodiments, the scheduling queue with the highest scheduling priority can be a real-time service queue, and the other scheduling queues are ordinary service queues. It is understandable that the scheduling queue with the highest scheduling priority and the other scheduling queues can also be scheduling queues of other different priorities according to scheduling requirements, and this application does not limit this.
[0078] In some embodiments, other scheduling queues include multiple levels of second sub-queues, each second sub-queue has a different priority, and the business data of the network devices in the scheduling queue are gradient scheduled based on the transmission quota of the scheduling queue and the device transmission quota of the business data of each network device in the scheduling queue, including: when the transmission quota of the business data of any network device in the second sub-queue meets the preset conditions, the business data of any network device is reduced to a scheduling queue that is one level lower than the business data of any network device, wherein the scheduling queue that is one level lower than the business data of any network device is a second sub-queue that is one level lower than the business data of any network device.
[0079] Specifically, other scheduling queues simultaneously include multiple second sub-queues of different priorities, and the priorities of the multiple second sub-queues decrease from top to bottom. The number of second sub-queues in the second scheduling queue can be set to 3, 4, 5 or more according to demand. Unlike the scheduling queue with the highest priority, as long as the transmission quota of any site in the second sub-queue in other scheduling queues meets the preset conditions, the business data of any network device will be reduced to a scheduling queue that is one level lower than the business data of any network device. It should be noted that although the business data of any network device is moved into a scheduling queue that is one level lower than the business data of any network device, the static priority of the business data of any network device will not change. What changes is only the dynamic priority of the business data of any network device determined according to the transmission quota.
[0080] In some embodiments, after the service data of any network device is lowered to a scheduling queue one level lower than the service data of the network device, the scheduling method further includes: reallocating the transmission quota of the service data of the network device. Specifically, only when the transmission quota of the service data of the network device is relatively small, that is, when the preset conditions described above are met, will the service data of the network device be moved to the scheduling queue one level lower than the service data of the network device, and at the same time, a certain transmission quota will be reallocated to the service data of the network device. In this way, the service data of the low-priority network device can be scheduled within a predicted time period in the future, thereby improving the fairness of scheduling.
[0081] 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 as 10ms, which can achieve the space-time fairness objective; when transmission data volume is selected as the quota, the bandwidth fairness objective can be achieved. The present application can also select other transmission quotas based on other scheduling objectives.
[0082] In some embodiments, the service data of network devices in the same scheduling queue in 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 by polling or first-in-first-out. In an embodiment of the present application, the service data of multiple network devices are respectively mapped to different scheduling queues according to the priority of the service data of the network devices, and the service data priority of network devices in the same scheduling queue is the same.
[0083] In some embodiments, when there is a service data STAi of a network device with a priority higher than a third threshold in at least two service queues at the same time, 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 service data STAi of the network device is in the other service queues of at least two service queues, the device transmission quota of TIDn is: Slice STAi,TIDn =Slice STAi,TIDn -Factor TiDn,m *Slice STAi,TIDm , where Factor TiDn,m is the scaling factor between at least two service queues.
[0084] Specifically, since different service queues may contain service data of the same destination network device, if the service data of a certain network device is at a higher priority in multiple service queues at the same time, the service data of the same destination network device may be scheduled multiple times in a short time interval, while the service data of other network devices with lower priority will be in a starvation state for a longer period of time. Therefore, a solution of the embodiment of the present application is to impose a quota penalty 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 of TID5 queue is scheduled and Slice is used, STA1,TID5 When the device transmission quota of the STA is exceeded, the device transmission quota of the same STA in other TID queues will be deducted as Slice STA1,TIDn =Slice STA1,TIDn -Factor TIDn,5 *Slice STA1,TID5 , Factor TIDn,5 The scaling factor between TID n and TID5. When the priority of TID n is greater than that of TID5, Factor 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 is greater than or equal to the obtained value and can be set to 1.
[0085] The service scheduling method based on the communication network provided by the present application can avoid the complex dynamic priority calculation of traditional scheduling technology. At the same time, during the flow data transmission process, the dynamic priority strategy of the service data of each network device is determined according to the dynamic transmission quota of the service data of each network device. Each priority corresponds to a scheduling queue. The priority of the service data of the network device in each queue will decrease with the decrease of the transmission quota usage, and the service data transmission quota of the network device is redistributed, the penalty of the device transmission quota is imposed, etc., which provides the expected service data priority of the network device. For typical scenarios such as multi-user transmission in network transmission, new addition of service data of network devices to the network or sleep, corresponding strategy optimization is also made. The embodiment of the present application also takes into account the "hunger" phenomenon in certain scenarios, further improving the fairness of scheduling.
[0086] Furthermore, the service scheduling method described in the embodiments of this application can meet the performance requirements of real-time services. By setting a higher-priority real-time service queue in the scheduling method, real-time services can obtain higher priority and more transmission opportunities than ordinary services, and the priority of real-time services will not change within a certain transmission time or data volume.
[0087] Furthermore, the service scheduling method and apparatus described in the embodiments of this application can meet the transmission requirements of customized priority services for different users. Each service has a static priority tag, and different users can have different static priorities for service devices. In the service scheduling method according to the embodiments of this application, static priorities will be mapped to different dynamic service queues. A larger static priority corresponds to a larger dynamic priority. Services with a larger dynamic priority will receive more transmission opportunities, thereby meeting the throughput or latency requirements of the service.
[0088] Compared with related technologies, the optimization method involved in the present invention can meet the scheduling requirements of different business types, has better scheduling fairness, and is less difficult to implement.
[0089] FIG5 is a schematic diagram of a communication network-based service scheduling method according to an embodiment of the present application.
[0090] As shown in Figure 5, the scheduling queue with the highest priority in a service queue is the real-time queue RealTime, and the other scheduling queues are ordinary queues, where the other scheduling queues include Q4, Q3, Q2, Q1, Q0, and the invalid queue Expire. The network device is STA as an example for explanation. At time T1, all STAs are assigned to the first scheduling queue RealTime or the Q queue of the second scheduling queue according to the size of the static priority. The static priority of the STA is allocated according to the service type. The STA of the real-time service type is placed in the RealTime queue, and the other STAs are placed in the highest service queue in the Q queue (the top queue Q4, the STA static priority is the same), such as STA1, STA2 and STA3. The STAs in the embodiment of the present application are assumed to be real-time services. After a period of traffic data transmission, at time T2, STA3, STA2, and STA1 are eventually dropped into the ordinary queue Q4 according to their respective remaining transmission quotas. After a period of traffic data transmission, at time T3, STA3 is in the Q2 queue. This is because in the time period [T2, T3], STA3 has used up the quota in its Q4 and Q3 queues and has been moved down to the Q2 queue; STA1 has used up the quota in its Q4 queue and has moved down to the Q3 queue, and STA2 remains in the Q4 queue because it has not used up the quota in the Q4 queue. Since the service scheduling method in the embodiment of the present application will give priority to scheduling STAs in queues with higher priorities, if scheduling is performed at time T3, STA2 will obtain the highest priority. At time T4, STA3 and STA4 have been moved from the scheduling queue to the Expire queue because they have used up the quota in each layer of Q queues in succession. The STAs in the Expire queue will not be scheduled, so if scheduling is performed at time T4, STA1 will obtain the highest priority. The process of STA changing service queues is like a staircase. Each time a STA uses up its quota, it goes down one step, and so on, until all STAs are placed in the invalid queue. All STAs in the invalid queue are then added back to the scheduling queue for a new round of scheduling.
[0091] The AP uses OFDMA and MUMIMO multi-user transmission modes respectively. Space-time is used as a quota indicator, and the quota for each reallocation can be set at 10ms. Figure 6 is a schematic diagram of data transmission of a multi-user OFDMA schedule according to an embodiment of the present application. At time T1, the TID7 queue scheduling is as follows: STA1 and STA4 are in the Q4 queue, and STA2 is in the Q3 queue, and their quotas are 1ms, 10ms, and 5ms respectively. Then, the AP obtains a multi-user group through the STA grouping component, which consists of STA1, STA2, and STA4, and uses the OFDMA mode to send. The resource allocation component obtains the RU allocation of each STA as 484Tone, 484Tone, and 242Tone respectively; after this transmission is completed, the scheduling of the TID queue needs to be updated. At time T2, the TID7 queue scheduling is as follows: STA4 is in the Q4 queue, STA1 and STA2 are in the Q3 queue, and their quotas are 9ms, 8ms, and 4ms respectively. Taking STA1's quota calculation as an example, the quota consumed by STA1 during this transmission is 5*484Tone / (484Tone+484Tone+242Tone) = 2ms. Before sending, STA1's remaining quota is 1ms. Therefore, STA1's quota is updated to: 10+1*(1-2) = 9ms, with a scaling factor of 1. Since STA1 has consumed all of its quota in queue Q4, it is moved down to queue Q3. The calculation for other STAs is similar. At time T3, the scheduling of queue TID6 is as follows: STA1 and STA5 are in queue Q4, and STA3 is in queue Q3. Their quotas are 7ms, 8ms, and 2ms, respectively. Different TID queues may have the same STA, because the same STA can have traffic from different TIDs simultaneously.
[0092] Figure 7 is a schematic diagram of data transmission according to a multi-user MUMIMO scheduling according to an embodiment of the present application. The multi-user group consists of STA1, STA3 and STA5, which are sent using MUMIMO mode, and the NSS are 2, 1, and 2 respectively. When the transmission process is completed, the TID6 queue scheduling is as follows: STA1 is in the Q4 queue, STA3 and STA5 are in the Q3 queue, and their quotas are 5ms, 7ms and 10ms respectively. Taking the quota calculation of STA5 as an example, the quota consumed by STA5 in this transmission is 5*2NSS / (2NSS+2NSS+1NSS)=2ms, and the remaining quota of STA1 before sending is 2ms, so the quota of STA1 is updated to: 10+1*(2-2)=10ms, and the scaling factor here is selected as 1. Since STA5 has consumed the quota of the Q4 queue, it is moved down to the Q3 queue, and the calculations for other STAs are similar.
[0093] FIG8 is a schematic diagram of a service scheduling device 800 based on a communication network according to an embodiment of the present application. The service scheduling device 800 can be applied to the communication network deployment of the embodiment corresponding to FIG1 and the AP architecture of the embodiment corresponding to FIG2. It can also be applied to other communication network environments including multiple services. The present application does not limit this. The device 800 includes an allocation module 801 and a scheduling module 802, wherein:
[0094] an allocation module 801, responsive to receiving service data, for allocating the service data to corresponding service queues according to a predetermined traffic allocation policy, wherein each service queue includes multiple scheduling queues with different scheduling priorities, and each service queue has a corresponding device priority table, wherein the device priority table records a dynamic correspondence between the network device and the multiple scheduling queues;
[0095] The allocation module 801 is further configured to allocate the service data to a corresponding scheduling queue among the multiple scheduling queues according to the network device to which the service data belongs or the service type of the service data;
[0096] The sending module 802 is configured to send the service data in the multiple scheduling queues according to the scheduling priorities of the multiple scheduling queues, wherein the service data in the scheduling queues with higher scheduling priorities are sent preferentially.
[0097] In some embodiments, the allocation module 801 is also used to determine the network device to which the business data belongs, and query the device priority table of the business queue to determine the scheduling queue corresponding to the network device to which the business data belongs; and allocate the business data to the determined scheduling queue.
[0098] In some embodiments, the allocation module 801 is also used to determine the business type of the business data if the network device to which the business data belongs is not found in the device priority table; and to allocate the business data to the scheduling queue with the highest scheduling priority among the multiple scheduling queues if the business type is the first business type.
[0099] In some embodiments, the allocation module 801 is also used to determine the network device to which the business data belongs when the business type is the second business type; and allocate the business data to the corresponding scheduling queue among the multiple scheduling queues according to the static priority of the network device to which the business data belongs.
[0100] In some embodiments, the allocation module 801 is further configured to determine a corresponding scheduling priority based on a static priority of the network device to which the service data belongs; and allocate the service data to a scheduling queue having the corresponding scheduling priority.
[0101] In some embodiments, after the business data is assigned to the corresponding scheduling queue, the allocation module 801 is also used to update the device priority table of the business queue to record the correspondence between the network device to which the business data belongs and the corresponding scheduling queue in the device priority table.
[0102] In some embodiments, the sending module 802 is used to update the queue transmission quota of the scheduling queue according to the business data sent after sending the business data; when the queue transmission quota is less than or equal to a first predetermined threshold, transfer all business data in the scheduling queue to other scheduling queues in the multiple scheduling queues whose scheduling priority is lower than that of the scheduling queue.
[0103] In some embodiments, the sending module 802 is used to update the device transmission quota of the network device to which the business data belongs based on the business data sent when the queue transmission quota is greater than a first predetermined threshold; when the device transmission quota is less than a second predetermined threshold, for the network device in the scheduling queue with the highest priority, all business data in the network device is transferred back to the scheduling queue with the highest priority; for other scheduling queues except the scheduling queue with the highest priority, all business data of the network device is transferred from the current scheduling queue to other scheduling queues in the multiple scheduling queues whose scheduling priority is lower than the current scheduling queue.
[0104] In some embodiments, the sending module 802 is configured to update the queue transmission quota of the scheduling queue according to the transmission mode of the sent service data.
[0105] In some embodiments, the sending module 802 is specifically configured to, when the transmission mode is orthogonal frequency division multiple access, update the queue transmission quota of the scheduling queue to:
[0106] Slice STA i =Slice STA i -Slice Use *BW i / BW Total , among which Slice Use The total transmission quota used for this multi-user transmission, BW i BW is the resource block size of the current scheduling queue. Total Total resource block size for multi-user transmission.
[0107] When the transmission mode is multi-user multiple-input multiple-output, the updated queue transmission quota of the scheduling queue is:
[0108] Slice STA i =SliceSTA i -Slice Use *NSS i / NSS Total , among which Slice Use The total transmission quota used for this multi-user transmission, NSS i NSS is the number of spatial streams in the current scheduling queue. Total Total number of spatial streams transmitted for multi-user.
[0109] In some embodiments, the sending module 802 is further configured to transfer all service data of the network device from the current scheduling queue to another scheduling queue in the multiple scheduling queues with a scheduling priority lower than that of the current scheduling queue, and the device transmission quota of the network device corresponding to the other scheduling queue to which the data is transferred is:
[0110] Slice cur =Slice+Factor*Slice last , where Slice is the transmission quota corresponding to other scheduling queues reallocated to the network device, Slice last The device transmission quota of the network device corresponding to the current scheduling queue, and Factor is the scaling factor.
[0111] In some embodiments, the allocation module 801 is further configured to select the queue transmission quota and the device transmission quota based on a scheduling target, wherein the device transmission quota and the device transmission quota are transmission time or transmission data volume.
[0112] In some embodiments, the sending module 802 is further configured to, when the service data of a new network device is added to the plurality of scheduling queues or the service data of a sleeping network device is re-added to the plurality of scheduling queues, select the scheduling queue selected by the service data of the new network device or the service data of the sleeping network device as Q in =min(Q max ,Q out ), Q out The scheduling queue where the service data of the sleeping network device is located when the service data of the sleeping network device exits the scheduling queue, Q max When the service data of the new network device is added, the highest scheduling queue among the service data of all network devices in the service queue exists.
[0113] In some embodiments, the sending module 802 is further configured to schedule the service data STAi of the network device in one of the service queues TIDm when the service data STAi of the network device has a priority higher than a third threshold in at least two service queues at the same time, and the device transmission quota used is SliceSTAi,TIDm When the service data STAi of the network device is transmitted to the device with TIDn in the other service queues of the at least two service queues, the quota is: Slice STAi,TIDn =Slice STAi,TIDn -Factor TiDn,m *Slice STAi,TIDm , where Factor TiDn,m is a scaling factor between the at least two service queues.
[0114] An embodiment of the present application also provides a service scheduling device based on a communication network, which includes a memory, a processor, a program stored on the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory. When the program is executed by the processor, any one of the scheduling methods in the above embodiments is implemented.
[0115] An embodiment of the present application also provides a computer-readable storage medium, which stores one or more programs. When one or more programs can be executed by one or more processors, it can implement the service scheduling method according to any of the above embodiments.
[0116] The service scheduling method, device, equipment, and computer-readable storage medium based on the communication network provided by the present application can avoid the complex dynamic priority calculation of traditional scheduling technology. At the same time, during the transmission of traffic data, the dynamic priority strategy of each site is determined according to the dynamic transmission quota of each site. Each priority corresponds to a scheduling queue. The priority of the site in each queue will decrease as the transmission quota usage decreases, and the expected site priority is improved through the redistribution of site transmission quotas and the punishment of transmission quotas. Corresponding strategy optimization is also made for typical scenarios such as multi-user transmission in network transmission, new nodes joining the network or sleeping, and the embodiment of the present application also takes into account the "hunger" phenomenon in certain scenarios, further improving the fairness of scheduling.
[0117] Furthermore, the service scheduling method, apparatus, device, and computer-readable storage medium described in the embodiments of this application can meet the performance requirements of real-time services. By setting a higher-priority real-time service queue in the scheduling method, real-time services can obtain higher priority and more transmission opportunities than ordinary services, and the priority of real-time services will not change within a certain transmission time or data volume.
[0118] Furthermore, the service scheduling method, apparatus, device, and computer-readable storage medium described in the embodiments of this application can meet the transmission requirements of customized priority services for different users. Each service has a static priority tag, and different users can set different static priorities for service devices. In the service scheduling method in the embodiments of this application, static priorities are mapped to different dynamic service queues. A larger static priority corresponds to a larger dynamic priority. Services with a larger dynamic priority will receive more transmission opportunities, thereby meeting the throughput or latency requirements of the service.
[0119] Compared with related technologies, the optimization method, device, equipment, and computer-readable storage medium involved in the present invention can meet the scheduling requirements of different business types, have better scheduling fairness, and are less difficult to implement.
[0120] Those skilled in the art will appreciate that all or some of the steps in the methods, systems, and functional modules / units in the devices disclosed above may be implemented as software, firmware, hardware, or appropriate combinations thereof.
[0121] In a hardware implementation, the division between the 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 by several physical components in cooperation. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer-readable storage medium (or non-transitory medium) and a communication medium (or temporary medium). As known to those of ordinary skill in the art, the term computer-readable storage medium 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-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, as is well known to those skilled in the art, communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
[0122] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but are not intended to limit the scope of the present invention. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and essence of the present invention shall fall within the scope of the present invention.
Claims
1. A service scheduling method based on a communication network, wherein: The communication network includes a service scheduling device and at least one network device, the service scheduling device executes the service scheduling method to schedule service data to or from the network device via the communication network, and the method includes: In response to receiving the service data, allocating the service data to the corresponding service queue according to a predetermined traffic allocation strategy, wherein each service queue includes a plurality of scheduling queues with different scheduling priorities, and each service queue has a corresponding device priority table, and the device priority table records the dynamic correspondence between the network device and the plurality of scheduling queues; Allocating the service data to a corresponding scheduling queue among the multiple scheduling queues according to the network device to which the service data belongs or the service type of the service data; The service data in the multiple scheduling queues are sent according to the scheduling priorities of the multiple scheduling queues, wherein the service data in the scheduling queues with higher scheduling priorities are sent preferentially.
2. The service scheduling method according to claim 1, wherein: The allocating the service data to a corresponding scheduling queue among the multiple scheduling queues according to the network device to which the service data belongs or the service type of the service data comprises: 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 service data is allocated to the determined scheduling queue.
3. The service scheduling method according to claim 2, further comprising: 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 allocated to a scheduling queue having the highest scheduling priority among the multiple scheduling queues.
4. The service scheduling method according to claim 3, further comprising: When the service type is the second service type, determining the network device to which the service data belongs; The service data is allocated to a 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, wherein: The allocating the service data to a corresponding scheduling queue among the multiple scheduling queues according to the static priority of the network device to which the service data belongs comprises: Determine the corresponding scheduling priority according to the static priority of the network device to which the service data belongs; The service data is allocated to the scheduling queue having the corresponding scheduling priority.
6. The service scheduling method according to claim 4 or 5, wherein: After allocating the service data to the corresponding scheduling queue, the method further includes: updating a device priority table of the service queue to record the corresponding relationship 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, wherein: Each scheduling queue has a queue transmission quota, and each network device has a device transmission quota corresponding to each scheduling queue, wherein the queue transmission quota has a preset initial value and decreases accordingly with the sending of service data in the scheduling queue, and the device transmission quota has a preset initial value and decreases accordingly with the sending of service data of the network device, wherein after sending the service data, the method further includes: Updating the queue transmission quota of the scheduling queue according to the sent service data; When the queue transmission quota is less than or equal to a first predetermined threshold, all service data in the scheduling queue are transferred to other scheduling queues in the multiple scheduling queues with a scheduling priority lower than that of the scheduling queue.
8. The service scheduling method according to claim 7, further comprising: When the queue transmission quota is greater than a first predetermined threshold, updating a device transmission quota of a network device to which the service data belongs according to the sent service data; When the device transmission quota is less than a second predetermined threshold, for a network device in a scheduling queue with the highest priority, all service data of the network device is transferred back to the scheduling queue with the highest priority; for other scheduling queues except the scheduling queue with the highest priority, all service data of the network device is transferred from the current scheduling queue to other scheduling queues among the multiple scheduling queues whose scheduling priority is lower than that of the current scheduling queue.
9. The service scheduling method according to claim 7 or 8, further comprising: The device priority table is updated, and the corresponding scheduling queue of the network device to which the transferred service data belongs is modified in the device priority table to be the other scheduling queue to which the data is transferred.
10. The service scheduling method according to claim 7, wherein: The service queue also has an invalidation queue, and service data in the invalidation queue is not sent, wherein when the service data of all network devices in the service queue are transferred to the invalidation queue, the service data in the invalidation queue is transferred back to the multiple scheduling queues.
11. The service scheduling method according to claim 7, wherein: The updating of the queue transmission quota of the scheduling queue according to the sent service data includes: The queue transmission quota of the scheduling queue is updated according to the transmission mode of the sent service data.
12. The service scheduling method according to claim 11, wherein: When the transmission mode is orthogonal frequency division multiplexing, the updated queue transmission quota of the scheduling queue is: Slice STAi =Slice STAi -Slice Use *BW i / BW Total , where Slice Use The total transmission quota used for this multi-user transmission, BW i is the resource block size of the current scheduling queue, BW Total Total resource block size for multi-user transmission.
13. The service scheduling method according to claim 11, wherein: When the transmission mode is multi-user multiple-input multiple-output, the updated queue transmission quota of the scheduling queue is: Slice STAi =Slice STAi -Slice Use *NSS i / NSS Total , where Slice Use The total transmission quota used for this multi-user transmission, NSS i NSS is the number of spatial streams in the current scheduling queue. Total Total number of spatial streams transmitted for multiple users.
14. The service scheduling method according to claim 8, wherein: The second predetermined threshold is determined by the minimum device transmission quota used for one transmission during the service data scheduling process.
15. The service scheduling method according to claim 8, wherein: After all service data of the network device is transferred from the current scheduling queue to other scheduling queues in the multiple scheduling queues with a scheduling priority lower than that of the current scheduling queue, the device transmission quota of the network device corresponding to the other scheduling queue to which it is transferred is: Slice cur =Slice+Factor*Slice last , where Slice is the transmission quota corresponding to the other scheduling queue reallocated to the network device, Slice last is the device transmission quota of the network device corresponding to the current scheduling queue, and Factor is the scaling factor.
16. The service scheduling method according to claim 7, further comprising: The queue transmission quota and the device transmission quota are selected based on a scheduling target, wherein the device transmission quota and the device transmission quota are transmission time or transmission data volume.
17. The service scheduling method according to claim 1, wherein: The service data of the network devices in the same scheduling queue in the multiple scheduling queues of each service queue have the same priority; the service data of the multiple network devices in the same scheduling queue are scheduled by polling or first-in-first-out.
18. The service scheduling method according to claim 1, further comprising: When the service data of a new network device is added to the multiple scheduling queues or the service data of a sleeping network device is re-added to the multiple scheduling queues, the scheduling priority of the scheduling queue selected by the service data of the new network device or the service data of the sleeping network device is Q in =min(Q max ,Q out ), Q out is the scheduling priority of the scheduling queue where the service data of the sleeping network device is located when the service data of the sleeping network device exits the scheduling queue, Q max It is the highest scheduling priority of the scheduling queue in the device priority table of the service queue when the service data of the new network device is added.
19. The service scheduling method according to claim 1, wherein: When there is a service data STAi of a network device whose priority in at least two service queues is higher than the third threshold, 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 service data STAi of the network device is transmitted to the device with TIDn in the other service queues of the at least two service queues, the quota is: Slice STAi,TIDn =Slice STAi,TIDn -Factor TiDn,m *Slice STAi,TIDm , where Factor TiDn,m is a scaling factor between the at least two service queues.
20. The service scheduling method according to claim 1, wherein: The traffic distribution strategy includes a priority division strategy or a load balancing distribution strategy.
21. A service scheduling device based on a communication network, wherein: The communication network includes a service scheduling device and at least one network device, the service scheduling device executes the service scheduling method to schedule service data to or from the network device via the communication network, and the device includes: A distribution module is configured to distribute the service data to corresponding service queues in response to receiving the service data according to a predetermined traffic distribution strategy, wherein each service queue includes multiple scheduling queues with different scheduling priorities, each service queue has a corresponding device priority table, and the device priority table records the dynamic correspondence between the network device and the multiple scheduling queues; the distribution module is further configured to distribute the service data to a corresponding scheduling queue in the multiple 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 the service data in the multiple scheduling queues according to the scheduling priorities of the multiple scheduling queues, wherein the service data in the scheduling queues with higher scheduling priorities are sent preferentially.
22. A service scheduling device based on a communication network, wherein: The scheduling device includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory. When the program is executed by the processor, the service scheduling method according to any one of claims 1 to 20 is realized.
23. A computer-readable storage medium having one or more programs stored thereon, wherein the one or more programs can be executed by one or more processors to implement the service scheduling method according to any one of claims 1 to 20.
Citation Information
Patent Citations
Dynamic weighted round robin scheduling policy method based on priorities
CN107733689A
LoRa network QoS scheduling management method supporting complex service data transmission
CN111314243A
Router queue scheduling method based on dynamic priority in quantum metropolitan area network
CN112887206A
Data scheduling method, system and device and computer readable storage medium
CN116137613A
Integrated circuit and method for avoiding starvation of data
US20070081515A1