Service scheduling method and device based on communication network, equipment and storage medium

By assigning queues of different priorities to service data in the communication network and dynamically scheduling, real-time service delay and reliability problems in the prior art are solved, and better service scheduling needs and user experience are achieved.

CN119276680AActive Publication Date: 2025-01-07SANECHIPS TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310804968.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-30
Publication Date
2025-01-07
Estimated Expiration
2043-06-30

AI Technical Summary

Technical Problem

When existing communication networks support real-time services, the delay and reliability requirements are difficult to meet, especially in the multimedia device access environment. Traditional scheduling technology cannot effectively distinguish and guarantee the scheduling needs of different types of services, resulting in deterioration of real-time service performance and users. Poor experience.

Method used

A service scheduling method based on communication network is proposed. By allocating service data to multiple queues with different scheduling priorities, each queue has a device priority table, and is scheduled according to the type of service data and the dynamic correspondence relationship of the device. Prioritize the sending of high-priority data to ensure scheduling needs and fairness of different business types.

Benefits of technology

It effectively guarantees the scheduling needs of different business types, reduces scheduling complexity, improves the performance and user experience of real-time services, avoids the "hunger phenomenon" in traditional technologies, and achieves better scheduling fairness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119276680A_ABST
    Figure CN119276680A_ABST
Patent Text Reader

Abstract

Disclosed are a service scheduling method, apparatus and device based on a communication network, and a storage medium, the communication network comprising a service scheduling device and at least one network device, the scheduling device executing the service scheduling method to schedule service data going to or from the network device via the communication network, the method comprises the following steps: responding to received service data, distributing the service data to a corresponding service queue according to a preset flow distribution strategy, and distributing the service data to a corresponding scheduling queue in a plurality of scheduling queues according to network equipment to which the service data belongs or the service type of the service data; and sending the service data in the plurality of scheduling queues according to the scheduling priorities of the plurality of scheduling queues. According to the technical scheme, the scheduling requirements of different service types can be met, the scheduling fairness is good, and the implementation difficulty is low.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communications, and in particular to a service scheduling method, device, equipment and storage medium based on a communication network. Background Art

[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 medical care have put forward very strict requirements on communication latency (1-10 milliseconds) and reliability. In addition, the access of a large number of multimedia devices in today's home and office environments makes it very important to support real-time services in communication networks. However, achieving the level of latency and reliability required for real-time services is a challenging problem. For example, there are two mainstream directions for solving this problem in WiFi networks: 1) Use a restricted timed wake-up mechanism (Restricted Target Wake Time, r-TWT) or similar channel reservation technology. This technology achieves the demand indicators of real-time services by monopolizing the use of channels for a period of time, but it is limited by the more complex information interaction and scheduling between nodes, and the implementation effect is not satisfactory. 2) Use enhanced distributed channel access (Enhanced Distributed Channel Access, EDCA) multi-access category (Access Category, AC) priority technology. On the one hand, low-latency channel access for real-time services is achieved by adjusting the EDCA parameters of different ACs. However, since both the access point (AP) and the station (STA) use multiple access technology based on carrier sensing, even if the current node has a high priority, that is, real-time services need to be transmitted, it must wait for the current transmission to end. Although the priority division based on different ACs can alleviate this problem to a certain extent, the AC priority with a larger granularity is still insufficient for the high standards of real-time services. In addition, traditional WLAN scheduling technology does not distinguish between real-time services and ordinary services. Real-time services and ordinary services may be mixed in the same AC queue. Real-time services need to wait for the ordinary services with higher priority (dynamic priority) to be transmitted before they can be transmitted. This is almost intolerable for real-time services.

[0003] Large-granular AC priority division not only deteriorates the performance of real-time services, but also affects traditional audio and video services. The quality of service (QoS) requirements of different video, audio or conference traffic are different. Audio and video services with different QoS requirements may be roughly 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 poor user experience.

[0004] Under the framework of EDCA-based Media Access Control (MAC), one direction to solve the current problem is to consider the priorities of different services in the scheduling algorithm. Real-time services and audio and video services in the same AC will be given different scheduling priorities, and higher-priority services will receive more transmission parties than lower-priority services, thereby ensuring the QoS of such services. However, frequent scheduling of high-priority services will also lead to fairness considerations, and lower-priority services may experience "starvation".

[0005] Therefore, the communication network in the prior 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. Summary of the invention

[0006] The main purpose of the embodiment of the present invention is to propose a service scheduling method based on a communication network, aiming to ensure the needs of services of different priorities and to solve the scheduling needs of different service types under the same service queue.

[0007] To achieve the above object, an embodiment of the present invention provides 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 to or from the network device via the communication network, and the method includes:

[0009] 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, 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;

[0010] 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;

[0011] 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.

[0012] In order to achieve the above-mentioned object, an embodiment of the present invention further 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, wherein the 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:

[0013] an allocation module, in response to receiving the service data, allocating the service data to corresponding service queues according to a predetermined traffic allocation strategy, wherein each service queue includes a plurality of scheduling queues with different scheduling priorities, each service queue has a corresponding device priority table, and the device priority table records a dynamic correspondence between the network device and the plurality of scheduling queues;

[0014] The allocation module is further used 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;

[0015] The sending module is used to send the business data in the multiple scheduling queues according to the scheduling priorities of the multiple scheduling queues, wherein the business data in the scheduling queues with higher scheduling priorities are sent preferentially.

[0016] To achieve the above-mentioned purpose, an embodiment of the present invention also proposes a service scheduling device based on a communication network, wherein the 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, and the program implements the steps of the aforementioned method when executed by the processor.

[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, and the one or more programs can be executed by one or more processors to implement the steps of the aforementioned method.

[0018] The service scheduling method, device, equipment and storage medium based on the communication network proposed by the present invention allocate the service data to the corresponding service queues according to the 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; allocates the service data to the 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; sends 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 queue with a higher scheduling priority is sent first. This scheduling method can guarantee the scheduling requirements of different service types, has good scheduling fairness, and reduces the difficulty of implementation. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] By reading the detailed description below with reference to the accompanying drawings, the above and other purposes, features and advantages of the exemplary embodiments of the present disclosure will become readily understood. In the accompanying drawings, several embodiments of the present disclosure are shown in an exemplary and non-limiting manner, and the same or corresponding reference numerals represent the same or corresponding parts, wherein:

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

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

[0022] Figure 3 A flow chart of a scheduling method based on a communication network provided in an embodiment of the present application;

[0023] Figure 4 A schematic diagram of forcibly reducing the service data of a network device with the highest priority to other scheduling queues provided in an embodiment of the present application;

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

[0025] Figure 6 A schematic diagram of data transmission of multi-user OFDMA scheduling provided in an embodiment of the present application;

[0026] Figure 7 A schematic diagram of data transmission for multi-user MUMIMO scheduling provided in an embodiment of the present application;

[0027] Figure 8 A schematic diagram of a scheduling device for a communication network provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] The following will be combined with the drawings in the embodiments of the present disclosure to clearly and completely describe the technical solutions in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.

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

[0030] In the subsequent description, the suffixes such as "module", "component" or "unit" used to represent elements are only used to facilitate the description of the present invention, and have no special meanings. Therefore, "module", "component" or "unit" can be used in a mixed manner.

[0031] It should also be understood that the terms used in this disclosure are only for the purpose of describing specific embodiments and are not intended to limit the present disclosure. As used in this disclosure and claims, the singular forms of "a", "an", and "the" are intended to include the plural forms unless the context clearly indicates otherwise. It should also be further understood that the term "and / or" used in this disclosure and claims refers to any combination of one or more of the associated listed items and all possible combinations, including these combinations.

[0032] 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.

[0033] The specific embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.

[0034] In this document, the terms "service", "traffic", "data", and "service data" may all be used to refer to services transmitted via a communication network.

[0035] Figure 1The diagram is a schematic diagram of an example of an application environment applicable to the service scheduling method and service scheduling device according to the 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. Figure 1 In the following embodiments, the application environment in the present application is described by taking a wireless local area network (WLAN) as an example. It is understandable that the scheduling method, apparatus, device and storage medium in the present application are not limited to the application environment of the WLAN, and any communication network with scheduling requirements and multiple services is applicable to the present invention.

[0036] like Figure 1 As shown, the wireless local area network includes multiple basic service sets (Basic Service Set, BBS), each basic service set includes an access point (Access Point, AP), wherein an access point is associated with multiple stations (Station, STA) and transmits traffic data to each other. For the convenience of explanation, Figure 1 In the example, only two APs are deployed, AP1 in basic service set 1 (BSS1) and AP2 in BSS2. AP1 has at least two associated STAs (STA1 and STA2) and works in the 5GHz and 6GHz bands at the same time, and AP2 has at least three associated STAs (STA3, STA4 and STA5) and works alone in 5GHz. Due to the same frequency band range or communication range, the coverage area of ​​AP1 overlaps with the coverage area of ​​AP2, and STA1 is located in the overlapping area of ​​AP1 and AP2. When traffic data is transmitted between AP and STA, AP or STA parses the traffic data to obtain the address of the traffic data, and determines the recipient of the traffic data according to the address of the traffic data.

[0037] Generally speaking, Figure 1The AP in the figure is a fixed terminal that provides network services to STA. 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 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 a mobile unit, a wireless unit, a mobile terminal, a user equipment (UE), or some 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 managing data transmission, and other layers necessary for establishing a network and connection.

[0038] 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 adopt various standards or protocols. For example, including Bluetooth, Hiper LAN (a set of wireless standards that can be compared with the IEEE 802.11 standard and are mainly used in Europe), and in a wide area network (WAN), WLAN, personal area network (PAN) or other suitable networks now known or developed later. 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.

[0039] Figure 2 1 is an example structural block diagram of an AP as an execution subject of a service scheduling device or a 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 only an example. For different communication networks, the structure of the AP may be different, and the present application does not impose any limitation 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 through a bus, which is a communication system for transmitting data between multiple components or subcomponents of AP100. 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, the processor 140 includes a scheduling component 150 for executing the scheduling technology based on the communication network described in the present application. The scheduling component 150 includes hardware, software, and can be configured to execute code or execution instructions stored in the memory 110 (e.g., a computer-readable storage medium). The scheduling component 150 can maximize network capacity and ensure latency, throughput and fairness for sending STA data. The memory 110 contains cached data of multiple STAs and various related characteristics of the data stored therein, such as certain network status or management information, real-time voice or video streaming data, etc. The data can be divided into low latency, emergency, real-time or ordinary business according to these characteristics, which will affect when and how to transmit these data. The network interface module 130 includes a WLAN 802.11 interface, and in other networks, may include a Bluetooth interface, a WiMax interface, or a wired Ethernet interface.

[0040] Figure 3 A flow chart of a scheduling method based on a communication network provided in an embodiment of the present application. The method can be executed by a service scheduling device in the communication network. The service scheduling device can be, for example, the above-mentioned Figure 1 and Figure 2 The AP may be included therein, or may be a network device in other communication networks that has service scheduling requirements or may be included therein, for scheduling 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 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, which records the dynamic correspondence between the network device and the multiple scheduling queues.

[0042] S302: 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.

[0043] S303: 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 queue with a higher scheduling priority is sent preferentially.

[0044] The embodiment of the present application performs scheduling according to the priority of the service data of the network device. This scheduling method can guarantee the needs of different services and 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.

[0045] Specifically, a service queue refers to a queue defined in a communication protocol. For example, in a WLAN protocol, the number of general service queues may be determined according to the number of ACs or the number of TIDs. Assuming that there are 4 ACs in the WLAN protocol, 4 service queues may be set. In some embodiments, the service data is allocated to corresponding service queues according to a predetermined traffic allocation strategy, and the traffic allocation strategy includes a priority division strategy or a load balancing allocation strategy.

[0046] Taking the wireless local area network as an example, during the scheduling process, the scheduling component in the AP first generates at least one service queue, and the traffic data transmitted from the upper layer (such as the network layer) is first stored in the corresponding STA, and then the STA (including the traffic data transmitted from the upper layer) will be divided into the corresponding service queue according to the priority division strategy or the load balancing distribution strategy. In some embodiments, the priority division strategy may include dividing the priority according to the type of traffic data, for example, the traffic data type may include video data (V0), voice data (VI), best effort data (BE), background data (BK), etc., and may also be divided according to other methods, and the present application does not impose any restrictions on this.

[0047] In addition, it is understandable that the traffic data packets transmitted by the upper layer are mixed with the service data for each network device. Therefore, when the traffic data is allocated to multiple service queues according to the traffic data allocation strategy, each service queue may only include the service data of part of the network devices. It is also understandable that the traffic allocation strategy does not divide the service data absolutely mutually exclusive. Therefore, there is a 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 a scheduling queue, and the service data belonging to the network device is in the corresponding scheduling queue. If any service of a network device has been assigned to this service queue, then the device priority table of this service queue will record the corresponding scheduling queue of this network device. The correspondence between network devices and scheduling queues changes dynamically. For example, the changes mentioned below are based on the queue transmission quota and the device transmission quota. The specific description and related processing steps are detailed below.

[0049] In some embodiments, allocating the business data to a 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.

[0050] In some embodiments, if the network device to which the service data belongs is not found in the device priority table, the service type of the service data is determined; if the service type is the first service type, the service data is allocated to the 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 other high-priority service type, which is not limited in this application.

[0051] 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 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. 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 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 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; allocating the service data to the scheduling queue with 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, and the static priority of the network device is specifically set according to a certain service requirement of the specific implementation. Service types may include game services, video services, voice services, and the like. Different service types need to guarantee different performance, and the static priority of the STA is determined according to the performance differentiation. For example, assuming that the STA is a game service, the game service requires a relatively low latency, so the latency will be prioritized. Determine the corresponding scheduling priority according to different service types.

[0053] In some embodiments, after the service data is assigned to the corresponding dispatch queue, the method further includes: updating the 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 dispatch queue in the device priority table. Specifically, the device priority table of the service queue first has an initialization value, and then is updated to the device priority table according to the corresponding relationship between the network device to which the service data belongs and the corresponding dispatch 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, 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 method further includes: updating the queue transmission quota of the scheduling queue according to the business data sent; and 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.

[0055] Specifically, the queue transmission configuration of each scheduling queue is the common quota of all sites in the 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 of each scheduling queue is greater than the network transmission quota of a network device.

[0057] In some embodiments, the transmission quota of each scheduling queue can be determined according to 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 business type requirements, and can also be determined according to empirical values. Similarly, the device transmission quota of each network device itself can also be determined according to the performance requirements of the network device corresponding to the business type requirements, or through experimental simulation or based on empirical values. The setting of the queue transmission quota of the scheduling queue of the present application and the device transmission quota of the network devices in the scheduling queue is not restricted. Specifically, in the process of the network device transmitting business data, the queue transmission quota of the scheduling queue and the device transmission quota of each network device in the scheduling queue are dynamically changed. Each time the business 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 according to the sent business data. When the queue transmission quota is less than or equal to the first predetermined threshold, the business data in the scheduling queue will be forcibly transferred to a lower scheduling queue. The present application determines the priority of each network device in the scheduling queue according to the queue transmission quota of the scheduling queue and the device transmission quota of the network device in the scheduling queue, and schedules the service data of the network device in the scheduling queue according to the priority of each network device in the scheduling queue. It can be understood that since the queue transmission quota of the scheduling queue 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 the priority of a higher priority scheduling queue is higher than that of a lower priority scheduling queue, when there is a network device in the higher priority queue, the scheduling device will always give priority to scheduling the network device in the higher priority scheduling queue. However, the network devices in the higher priority scheduling queue cannot always exist, otherwise it will cause starvation to the network devices in the lower scheduling queue. Therefore, when the device transmission allocation of the network device in the scheduling queue is less than or equal to the first predetermined threshold, the business 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.

[0059] 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.

[0060] 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 airspace resources to communicate with multiple users at the same time.

[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 the current transmission.

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

[0063] 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.

[0064] In some embodiments, when the transmission mode of the transmission scheduling is MUMIMO, the queue transmission quota of the updated 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 iNSS is the number of spatial streams in the current scheduling queue. Total Total number of spatial streams transmitted for multiple users.

[0065] 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 service data belongs is updated according to the sent service data; 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 service data in the network device is transferred back to the scheduling queue with the highest priority; for other scheduling queues except the highest priority scheduling queue, 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 the current scheduling queue.

[0066] Specifically, when the device transmission quota of the network device of the scheduling queue with the highest priority meets certain conditions, it will generally be re-joined in the scheduling queue with the highest priority. However, since the priority of the scheduling queue with the highest priority is higher than the priority of other scheduling queues, when there is a network device in the queue with the highest priority, the scheduling device will always give priority to scheduling the network device in the scheduling queue with the highest priority. Therefore, the network device in the scheduling queue with the highest priority cannot always exist, otherwise it will cause starvation to the network devices in other scheduling queues. The embodiment of the present application determines whether the service data of the network device is transferred to the scheduling queue of other scheduling priorities according to the queue transmission quota of the scheduling queue. Specifically, when the queue transmission quota of the scheduling queue with the highest priority is less than or equal to the first threshold, all the service data in the scheduling queue will be transferred to other scheduling queues with a scheduling priority lower than the scheduling queue in the multiple scheduling queues. In the case where the queue transmission quota of the highest scheduling queue is greater than the first predetermined threshold, and the device priority of the network device in the scheduling queue with the highest priority is less than the second predetermined threshold, all the service data in the network device will be transferred to the scheduling queue with the highest priority again. 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 with a scheduling priority lower than that of the scheduling queue. When the device transmission quota of the network device in other scheduling queues is less than the 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 with a scheduling priority lower than that of the current scheduling queue.

[0067] 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.

[0068] In some embodiments, the second predetermined threshold mentioned above refers to the remaining transmission quota of the business data of any network device being less than the second predetermined threshold or the transmission quota used by the business data of any network device exceeding the transmission quota of the business data of any network device. That is, when the business data of any network device uses 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, and there may be a small amount of remaining quota of the business data of any network device, but it is not enough for another transmission of business data, 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.

[0069] 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.

[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 multiple scheduling queues with a scheduling priority lower than the current scheduling queue, the device transmission quota of the network device corresponding to the device transferred to the other scheduling queue is:

[0071] 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.

[0072] 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. last is a negative number. The service data of any network device is dropped from the high priority to the low priority queue. If the device transmission quota of the service data of any network device exceeds its own transmission quota, it is unfair to the service data of the low priority network device. Therefore, the excess part will be punished at the next level. Therefore, the scaling factor Factor is a value greater than 1, generally 1.1, or other values ​​greater than 1.

[0073] In some embodiments, after the service data of the network device is transferred to other scheduling queues, the device priority table is updated, and 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 data is transferred. That is, the device priority table maintains the priority of the service data of a dynamic network device.

[0074] 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.

[0075] 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. With the transmission of service data of multiple network devices, 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 constantly 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 drops to the invalidation queue, the 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.

[0076] In some embodiments, the scheduling method also includes business data of newly added network devices and business data of rejoined network devices, wherein the business data of newly added network devices refers to a new network device connected to the communication network, such as a new mobile phone 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 being awakened by reopening the software in the mobile phone after it is in sleep mode.

[0077] 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.

[0078] Specifically, when the service data of the network device in the invalid queue corresponds to the service data of the scheduling queue with the highest priority, such as the service data of the real-time service type, the service data of the network device is re-added to the scheduling queue with the highest priority; when the service data of the network device in the invalid queue corresponds to the non-real-time service type (i.e., the ordinary service type), the service data of the network device is re-added to other scheduling queues according to the static priority of the service data of the network device.

[0079] In some embodiments, the method includes when the service data of a new network device is added 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.

[0080] In some embodiments, when the service data of a network device is newly added or the service data of a sleeping network device is re-added to the scheduling queue, if it is directly added to the highest priority queue or added to the queue level when it was previously exited (for example, the level when the service data of the network device is asleep and exits the scheduling queue), the service data of the low-priority network device may experience a long period of starvation (the service data of the high-priority network device needs to reduce its priority level one level at a time). Therefore, in the embodiments of the present application, a highest priority level will be maintained, which is equal to the highest priority level Q of the service data of all network devices in the scheduling queue when the service data of the network device is added. max When the service data of a network device joins or rejoins the scheduling queue, the priority of the selected queue cannot be higher than Q max , i.e. Q in =min(Q max , Q out ), Q out The queue priority of the service data exit scheduling queue of the sleeping network device.

[0081] Figure 4A schematic diagram of an embodiment of the present application is provided for forcibly reducing the service data of the network device in the highest priority to other scheduling queues. The embodiment of the present application is explained by taking the service data of the service type in 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. The first scheduling queue RealTime includes STA1 and STA2. 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.

[0082] 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 other scheduling queues can also be scheduling queues of other different priorities according to scheduling requirements, and this application does not limit this.

[0083] 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 a preset condition, 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.

[0084] 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 service data of any network device will be reduced to a scheduling queue one level lower than the service data of any network device. It should be noted that although the service data of any network device is moved into a scheduling queue one level lower than the service data of any network device, the static priority of the service data of any network device will not change, and what changes is only the dynamic priority of the service data of any network device determined according to the transmission quota.

[0085] In some embodiments, after the service data of any network device is reduced to a scheduling queue one level lower than the service data of any network device, the scheduling method further includes: reallocating the transmission quota of the service data of any network device. Specifically, when the transmission quota of the service data of any network device is relatively small, that is, when the preset conditions mentioned above are met, the service data of any network device will be moved to a scheduling queue one level lower than the service data of the network device, and a certain transmission quota will be reallocated to the service data of the network device, so that 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.

[0086] In some embodiments, the scheduling method further includes: selecting the queue transmission quota and the device transmission quota based on the scheduling target, wherein the queue transmission quota and the device transmission quota are transmission time or transmission data volume. Specifically, based on the scheduling target, the queue transmission quota and the device transmission quota can select transmission time or transmission data volume (bit). When the transmission time is selected as the quota, the quota can be configured as 10ms, which can achieve the space-time fairness target; when the transmission data volume is selected as the quota, the bandwidth fairness target can be achieved. The present application can also select other transmission quotas according to other scheduling targets.

[0087] In some embodiments, the service data priorities of network devices in the same scheduling queue in multiple scheduling queues of each service queue are the same, 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 priorities of the service data of the network devices, and the service data priorities of network devices in the same scheduling queue are the same.

[0088] In some embodiments, when there is a service data STAi of a network device whose priority in at least two service queues is higher than a 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 has a transmission quota of the device TIDn in the other service queues of at least two service queues: 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.

[0089] 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, and the service data of other network devices with lower priority will be starved 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 same STA in other TID queues is deducted as Slice STA1,TIDn =SIiCe STA1,TIDn -Factor TIDn,5 *Slice STA1,TID5 , Factor TIDn,5 is 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.

[0090] The communication network-based scheduling method 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 business data of each network device is determined according to the dynamic transmission quota of the business data of each network device. Each priority corresponds to a scheduling queue. The priority of the business data of the network device in each queue will decrease with the decrease of the transmission quota usage, and the business data of the network device is redistributed through the business data device transmission quota of the network device, the penalty of the device transmission quota, etc., to provide the expected business data priority of the network device. For typical scenarios such as multi-user transmission in network transmission, the business data of the network device newly added to the network or sleeping, corresponding strategy optimization is also made, and the embodiment of the present application also takes into account the "hunger" phenomenon in certain scenarios, further improving the fairness of scheduling.

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

[0092] Furthermore, after adopting the scheduling method and device described in the embodiment of the present application, the transmission requirements of customized priority services of different users can be met. Each service has a static priority label, and different users can have different static priorities for service devices. In the scheduling method in the embodiment of the present application, the static priority will be mapped to different dynamic service queues. The larger the static priority, the larger the dynamic priority corresponding to. The service with a larger dynamic priority will obtain more transmission opportunities to meet the throughput or latency requirements of the service.

[0093] Compared with the prior art, 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.

[0094] Figure 5 A schematic diagram of a scheduling method based on a communication network provided in an embodiment of the present application.

[0095] like Figure 5As shown, 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, wherein the other scheduling queues include Q4, Q3, Q2, Q1, Q0, and the invalid queue Expire, and the network device is STA as an example for explanation. At time T1, all STAs are respectively allocated to the first scheduling queue RealTime or the Q queue of the second scheduling queue according to the static priority size. The static priority of STA is allocated according to the service type. The STA of the real-time service type is placed in the RealTime queue, and 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 finally dropped to the ordinary queue 04 according to their 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 moved down to the Q3 queue, and STA2 has not used up the quota in the Q4 queue, so it remains in the Q4 queue. Since the 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 are moved from the scheduling queue to the Expire queue because they have used up the quota of each layer of Q queues in succession. The STA 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 the service queue is like a staircase. Each time a STA uses up its quota, it goes down one staircase, and so on, until all STAs are dropped into the invalid queue. All STAs in the invalid queue are added back to the scheduling queue for a new round of scheduling.

[0096] 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 to 10ms. Figure 6A schematic diagram of data transmission of multi-user OFDMA scheduling provided in an embodiment of the present application. At time T1, the scheduling of the TID7 queue is as follows: STA1 and STA4 are in the Q4 queue, 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 sends it using the OFDMA mode. 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 scheduling of the TID7 queue 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 the quota calculation of STA1 as an example, the quota consumed by STA1 in this transmission is 5*484Tone / (484Tone+484Tone+242Tone)=2ms, and the remaining quota of STA1 before sending is 1ms, so the quota of STA1 is updated to: 10+1*(1-2)=9ms, and the scaling factor here is selected as 1. Since STA1 has consumed the quota of the Q4 queue, it is moved down to the Q3 queue, and the calculation of other STAs is similar. At T3, the scheduling of the TID6 queue is as follows: STA1 and STA5 are in the Q4 queue, and STA3 is in the Q3 queue. Their quotas are 7ms, 8ms, and 2ms, respectively. Different TID queues may have the same STA, because the same STA may have traffic from different TIDs at the same time.

[0097] Figure 7 A schematic diagram of data transmission for multi-user MUMIMO scheduling provided in an embodiment of the present application. The multi-user group consists of STA1, STA3 and STA5, which are sent using the MUMIMO mode, and the NSSs 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.

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

[0099] The allocation module 801 is configured to allocate the service data to corresponding service queues according to a predetermined traffic allocation strategy in response to receiving the service data, 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;

[0100] 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;

[0101] The sending module 802 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 are sent preferentially.

[0102] 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.

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

[0104] In some embodiments, the allocation module 801 is also used to determine the network device to which the service data belongs when the service type is the second service type; and allocate 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.

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

[0106] In some embodiments, after the service data is assigned to the corresponding scheduling queue, the allocation module 801 is also used to update 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.

[0107] 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 among the multiple scheduling queues whose scheduling priority is lower than that of the scheduling queue.

[0108] 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 according to 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 are transferred from the current scheduling queue to other scheduling queues among the multiple scheduling queues whose scheduling priority is 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 sent business data.

[0110] 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:

[0111] 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.

[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 , 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.

[0114] 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 other scheduling queues 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 queues to which the device is transferred is:

[0115] Slice cur =Slice+Factor*Slice last , where Slice is the transmission quota corresponding to other scheduling queues 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.

[0116] 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.

[0117] In some embodiments, the sending module 802 is further configured to select the scheduling queue Q when the service data of a new network device is added or the service data of a sleeping network device is re-added to the plurality of scheduling queues. in =min(Q max , Q out ), Q out is 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.

[0118] In some embodiments, the sending module 802 is further configured to, when there is a service data STAi of a network device and the priority of the service data STAi in at least two service queues is higher than a third threshold 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,TIDmWhen 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.

[0119] An embodiment of the present application also provides a scheduling device based on a communication network, which 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, any scheduling method in the above embodiments is implemented.

[0120] An embodiment of the present application also provides a storage medium for computer-readable storage, wherein the storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement any scheduling method in the above embodiments.

[0121] The communication network-based scheduling method, device, equipment and storage medium 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 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 with the decrease of the transmission quota usage, and the expected site priority is improved through the redistribution of site transmission quotas and the punishment of transmission quotas. For typical scenarios such as multi-user transmission in network transmission, new nodes joining the network or sleeping, corresponding strategy optimization is also made, and the embodiment of the present application also takes into account the "hunger" phenomenon in certain scenarios, further improving the fairness of scheduling.

[0122] Furthermore, the scheduling method, device, equipment and storage medium described in the embodiments of the present application can meet the performance requirements of real-time services. By setting a higher priority real-time service queue in the scheduling method, the real-time service can obtain a higher priority and more transmission opportunities than the ordinary service, and within a certain transmission time or data volume, the priority of the real-time service will not change.

[0123] Furthermore, after adopting the scheduling method, device, equipment and storage medium described in the embodiment of the present application, the transmission requirements of customized priority services of different users can be met. Each service has a static priority label, and different users can have different static priorities for service equipment. In the scheduling method in the embodiment of the present application, the static priority will be mapped to different dynamic service queues. The larger the static priority, the larger the dynamic priority corresponding to. The service with a larger dynamic priority will obtain more transmission opportunities to meet the throughput or latency requirements of the service.

[0124] Compared with the prior art, the optimization method, device, equipment and storage medium involved in the present invention can meet the scheduling requirements of different business types, have better scheduling fairness and lower implementation difficulty.

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

[0126] In 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 can have multiple functions, or a function or step can be performed by several physical components in cooperation. Some physical components or all physical components can 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 can be distributed on a computer-readable medium, and the computer-readable medium can include a computer storage medium (or a non-transitory medium) and a communication medium (or a temporary medium). As known to those of ordinary skill in the art, the term computer 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 storage media includes but is not limited to RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassette, magnetic tape, disk storage or other magnetic storage device, or any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, it is well known to those skilled in the art that 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.

[0127] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but the scope of the present invention is not limited thereby. Any modification, equivalent substitution and improvement made by those skilled in the art without departing from the scope and essence of the present invention shall be within the scope of the present invention.

Claims

1. A service scheduling method based on a communication network, characterized in that: 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 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, 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, characterized in that: 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, characterized in that: The method further comprises: 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, characterized in that: The method further includes: if the service type is a second service type, determining a 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, characterized in that: 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, 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 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, characterized in that: 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, characterized in that: The method further comprises: 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, characterized in that: The method further includes: updating a device priority table, in which a corresponding scheduling queue of a network device to which the transferred service data belongs is modified to the other scheduling queue to which the data is transferred.

10. The service scheduling method according to claim 7, characterized in that: 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, characterized in that: 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, characterized in that: 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, characterized in that: 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, characterized in that: 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 7, characterized in that: 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 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, characterized in that: The scheduling method further includes: 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, characterized in that: 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, characterized in that: The method includes: when the service data of a new network device is added 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, characterized in that: 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, characterized in that: The traffic distribution strategy includes a priority division strategy or a load balancing distribution strategy.

21. A service scheduling device based on network communication, characterized in that: 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 to or from the network device via the communication network, and the device includes: an allocation module, in response to receiving the service data, allocating the service data to corresponding service queues according to a predetermined traffic allocation strategy, wherein each service queue includes a plurality of scheduling queues with different scheduling priorities, each service queue has a corresponding device priority table, and the device priority table records a dynamic correspondence between the network device and the plurality of scheduling queues; The allocation module is further used 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; The sending module is used to send the business data in the multiple scheduling queues according to the scheduling priorities of the multiple scheduling queues, wherein the business data in the scheduling queues with higher scheduling priorities are sent preferentially.

22. 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 realizing connection and communication between the processor and the memory. When the program is executed by the processor, the steps of the method for performing service scheduling based on a communication network as described in any one of claims 1 to 20 are realized.

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

Citation Information

Patent Citations

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

    CN111314243A

  • Urgency-based queue management systems and methods

    US20230125273A1

  • WIFI chip, WIFI device and queue scheduling method

    WO2022078192A1