WO2025001747A1 - Communication network-based service scheduling method, apparatus, device and storage medium - Google Patents
Communication network-based service scheduling method, apparatus, device and storage medium Download PDFInfo
- Publication number
- WO2025001747A1 WO2025001747A1 PCT/CN2024/096677 CN2024096677W WO2025001747A1 WO 2025001747 A1 WO2025001747 A1 WO 2025001747A1 CN 2024096677 W CN2024096677 W CN 2024096677W WO 2025001747 A1 WO2025001747 A1 WO 2025001747A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- scheduling
- service
- queue
- service data
- network device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000004891 communication Methods 0.000 title claims abstract description 59
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 230000004044 response Effects 0.000 claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims description 222
- 230000003068 static effect Effects 0.000 claims description 26
- 230000007423 decrease Effects 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 101100161473 Arabidopsis thaliana ABCB25 gene Proteins 0.000 description 27
- 101100096893 Mus musculus Sult2a1 gene Proteins 0.000 description 27
- 101150081243 STA1 gene Proteins 0.000 description 27
- 238000005516 engineering process Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- OVGWMUWIRHGGJP-WVDJAODQSA-N (z)-7-[(1s,3r,4r,5s)-3-[(e,3r)-3-hydroxyoct-1-enyl]-6-thiabicyclo[3.1.1]heptan-4-yl]hept-5-enoic acid Chemical compound OC(=O)CCC\C=C/C[C@@H]1[C@@H](/C=C/[C@H](O)CCCCC)C[C@@H]2S[C@H]1C2 OVGWMUWIRHGGJP-WVDJAODQSA-N 0.000 description 11
- 101000988961 Escherichia coli Heat-stable enterotoxin A2 Proteins 0.000 description 11
- 101000752249 Homo sapiens Rho guanine nucleotide exchange factor 3 Proteins 0.000 description 9
- 102100021689 Rho guanine nucleotide exchange factor 3 Human genes 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 235000003642 hunger Nutrition 0.000 description 6
- 101100395869 Escherichia coli sta3 gene Proteins 0.000 description 5
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 4
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000037351 starvation Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 208000019116 sleep disease Diseases 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
Definitions
- the present application relates to the field of communications, and in particular to a communication network-based service scheduling method, device, equipment, and computer-readable storage medium.
- This technology achieves the demand indicators of real-time services by monopolizing the use of channels for a period of time, but due to the relatively complex information interaction and scheduling between nodes, the implementation effect of this technology is not satisfactory.
- 2) Use enhanced distributed channel access (EDCA) multi-access category (AC) priority technology.
- EDCA enhanced distributed channel access
- AC multi-access category priority technology.
- This technology adjusts the EDCA parameters of different ACs to achieve low-latency channel access for real-time services.
- AP access point
- STA station
- the real-time service must wait for the current transmission to end when it needs to be transmitted.
- MAC Media Access Control
- 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.
- 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, wherein 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, and 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, 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.
- 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, wherein 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, and 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, and the device priority table 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 are sent first.
- an allocation module which, in response
- An embodiment of the present application also proposes a service scheduling device based on a communication network, the device comprising 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, wherein the program implements the aforementioned method when executed by the processor.
- An embodiment of the present application also 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.
- FIG1 is a schematic diagram of a deployment of a communication network according to an embodiment of the present application.
- FIG2 is a structural block diagram of an AP according to an embodiment of the present application.
- FIG3 is a flow chart of a service scheduling method based on a communication network according to an embodiment of the present application
- FIG. 4 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
- FIG5 is a schematic diagram of a service scheduling method based on a communication network according to an embodiment of the present application.
- FIG6 is a schematic diagram of data transmission of multi-user OFDMA scheduling according to an embodiment of the present application.
- FIG7 is a schematic diagram of data transmission of multi-user MUMIMO scheduling according to an embodiment of the present application.
- FIG8 is a schematic diagram of a service scheduling device based on a communication network according to an embodiment of the present application.
- module means, “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.
- the term “if” may be interpreted as “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context.
- service may all be used to refer to services transmitted via a communication network.
- the embodiment of the present application proposes a service scheduling method based on the 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.
- FIG. 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.
- the application environment in the present application is described by taking a wireless local area network (WLAN) as an example. It can 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.
- WLAN wireless local area network
- the wireless LAN includes multiple basic service sets (BBS), each of which includes an access point (AP), which can be associated with multiple stations (STA) and transmit traffic data to each other.
- BSS basic service set
- AP access point
- STA stations
- BSS2 basic service set 1
- STA1 and STA2 at least two associated STAs
- STA3, STA4 and STA5 at least three associated STAs
- the coverage area of AP1 overlaps with the coverage area of AP2, and STA1 is located in the overlapping area of AP1 and AP2.
- AP or STA obtains the address of the traffic data by parsing the traffic data, and determines the receiver of the traffic data according to the address of the traffic data.
- the AP in Error! Reference source not found. is a fixed terminal that provides network services to STA.
- the AP can be a mobile terminal or a non-fixed terminal; the STA can be a fixed, non-fixed or mobile terminal.
- STA Examples 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.
- IOT Internet of Things
- STA can also be called 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 data transmission management, and other layers necessary for establishing a network and connection.
- the techniques described in the present invention can be extended to other networks that adopt various standards or protocols.
- networks 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 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.
- FIG2 is an example structural block diagram of an AP as an execution subject of a service scheduling device or service scheduling method according to an embodiment of the present application.
- the AP in the embodiment of the present application is only an example.
- the structure of the AP may be different, and the present application does not impose any restrictions on this.
- the 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, and the bus is a communication system for transmitting data between multiple components or subcomponents of the AP 100.
- One or more processors 140 may include one or a combination of a baseband processor, a digital signal processor, or a transceiver processor.
- the processor 140 includes a scheduling component 150 for executing the scheduling technology based on the communication network described in the present application, and 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 the 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 classified as low-latency, emergency, real-time or normal business according to these characteristics, which affects when and how to transmit the data.
- the network interface module 130 includes a WLAN 802.11 interface, and in other networks, it may include a Bluetooth interface, a WiMax interface or a wired Ethernet interface.
- FIG3 is a flow chart of a service scheduling method based on a communication network according to an embodiment of the present application, and the 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 FIG1 and FIG2 or included therein, or can be a network device in other communication networks that has service scheduling requirements or included therein, and the service scheduling device is used to schedule services of each network device in the communication network.
- the scheduling method includes the following steps S301 to S303.
- step 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.
- 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.
- 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.
- 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.
- the service queue refers to a queue defined according to the communication protocol.
- the number of general service queues can 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 can be set.
- the service data is allocated to the corresponding service queue according to a predetermined traffic allocation strategy, and the traffic allocation strategy includes a priority division strategy or a load balancing allocation strategy.
- 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 assigned to the corresponding service queue according to the priority division strategy or the load balancing distribution strategy.
- 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 (VO), voice data (VI), best effort data (BE), background data (BK), etc., and may also be divided into priorities according to other methods, and the present application does not impose any restrictions on this.
- 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.
- 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.
- the service data is sent to the network device to which the service data belongs or the service type of the service data.
- the business data is allocated to the corresponding scheduling queue among the multiple scheduling queues, including: 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.
- the service type of the service data is determined; if the service type is the first service type, the service data is assigned to the scheduling queue with the highest scheduling priority among the multiple scheduling queues.
- the first service type can be a real-time service type or other high-priority service type, which is not limited in this application.
- 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.
- the second service type may be a normal service type.
- the corresponding scheduling queue is determined according to the static priority of the network device corresponding to the service data.
- 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.
- 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 certain service requirement of a 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.
- the scheduling 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.
- 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 scheduling queue.
- each scheduling queue has a queue transmission quota
- 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 transmission of service data in the scheduling queue, and the device transmission quota has a preset initial value and decreases accordingly with the transmission of service data of the network device, wherein after sending the service data, the scheduling method further includes: according to The sent business data updates the queue transmission quota of the scheduling queue; when the queue transmission quota is less than or equal to a first predetermined threshold, all business data in the scheduling queue are transferred to other scheduling queues in the multiple scheduling queues whose scheduling priority is lower than that of the scheduling queue.
- 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.
- the queue transmission quota of each scheduling queue is greater than the network transmission quota of a network device.
- 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.
- 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 determined by experimental simulation or empirical values.
- the setting of the queue transmission quota of the scheduling queue and the device transmission quota of the network devices in the scheduling queue of the present application is not restricted. 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.
- the queue transmission quota of the scheduling queue is updated according to the sent business data.
- 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 devices in the scheduling queue, and schedules the business data of the network devices in the scheduling queue according to 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.
- the service scheduling device 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 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 to 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 the 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 multiple scheduling queues with a scheduling priority lower than the scheduling queue, so as to ensure the fairness of scheduling.
- 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.
- 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.
- OFDMA orthogonal frequency division multiple access
- MUMIMO multi-user MIMO
- single-user transmission refers to the one-to-one transmission between AP and STA.
- multi-user transmission means 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.
- 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.
- 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.
- the updated queue transmission quota is:
- Slice STA i Slice STA i ⁇ Slice Use *BW i /BW Total , wherein Slice Use is the total transmission quota usage of this multi-user transmission, BW i is the resource block size of the current scheduling queue, and BW Total is the total resource block size of the multi-user transmission.
- 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.
- the device transmission quota of a network device in a scheduling queue with the highest priority meets certain conditions, it will generally be added to the scheduling queue with the highest priority again.
- the service scheduling device since the priority of the scheduling queue with the highest priority is higher than that of other scheduling queues, when there are network devices in the highest priority queue, the service scheduling device will always give priority to scheduling the network devices in the scheduling queue with the highest priority. Therefore, the network devices 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 a network device is transferred to a scheduling queue of other scheduling priorities based on the queue transmission quota of the scheduling queue.
- the queue transmission quota of the scheduling queue with the highest priority 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 in the multiple scheduling queues whose scheduling priority is lower than that of the scheduling queue.
- 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 back to the scheduling queue with the highest priority.
- 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.
- 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.
- the second threshold is determined by a minimum transmission quota used for one transmission during a service data scheduling process of the network device.
- the device transmission quota of the network device corresponding to the device transferred to the other scheduling queue is:
- Slice cur Slice+Factor*Slice last , wherein 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 a scaling factor.
- the device transmission quota of the service data of the network device 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, and the Slice last is negative.
- the service data of any network device is dropped from a high priority to a 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 will be penalized at the next level. Therefore, the scaling factor Factor is a value greater than 1, generally 1.1, or other values greater than 1.
- 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.
- the service queue also has an invalidation queue, and the service data in the invalidation queue is not sent.
- 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.
- the invalidation queue is the lowest level queue in the service queue.
- 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 is re-added to the multiple scheduling queues.
- 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.
- 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.
- 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.
- 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 a 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.
- 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.
- 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
- 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.
- the service data of a network device when the service data of a network device is newly added or the service data of a sleeping network device rejoins the scheduling queue, if it is directly added to the highest priority queue or the queue level when it was previously exited (for example, the level when the service data of the network device exits the scheduling queue after sleeping), 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 the priority level one level at a time), so in the embodiment of the present application, a highest priority level will be maintained, which is equal to the highest priority Q max of the service data of all network devices in the scheduling queue when the service data of the network device is added.
- the fourth scheduling queue 4 is a schematic diagram of forcibly reducing the service data of the network device in the highest priority to other scheduling queues according to an embodiment of the present application.
- the embodiment of the present application takes 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 for explanation.
- 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.
- 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.
- 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.
- the other scheduling queues 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 as required. Different from the scheduling queue with the highest priority, as long as the transmission quota of any station in the second sub-queue of the other scheduling queues meets the preset conditions, the service data of any network device will be reduced to a level lower than that of any station.
- 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.
- the scheduling method further includes: selecting a queue transmission quota and a device transmission quota based on a scheduling target, wherein the queue transmission quota and the device transmission quota are transmission time or transmission data volume.
- the queue transmission quota and the device transmission quota can be selected as transmission time or transmission data volume (bit).
- bit transmission data volume
- 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.
- 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.
- 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.
- a solution in 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.
- Factor TIDn,5 is the scaling factor between TID n and TID5.
- the service scheduling method based on the communication network provided by the present application can avoid the complex dynamic priority calculation of the traditional scheduling technology.
- 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 of the network device is redistributed through the service data transmission quota of the network device, the penalty of the device transmission quota, etc., and the service data priority of the desired network device is improved.
- the service data of the network device is newly added to the network or sleep, corresponding strategy optimization is also made, and the embodiment of the present application also takes into account the "hunger" phenomenon in certain scenarios, and further improves the fairness of scheduling.
- the service scheduling method described in the embodiment of the present application can meet the performance requirements of real-time services.
- 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.
- the transmission requirements of the 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.
- 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.
- 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.
- FIG5 is a schematic diagram of a communication network-based service scheduling method according to an embodiment of the present application.
- the scheduling queue with the highest priority in a service queue is the real-time queue RealTime
- the other scheduling queues are ordinary queues, where other scheduling queues include Q4, Q3, Q2, Q1, Q0, and the invalid queue Expire
- the network device is STA as an example for explanation.
- 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 embodiments 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 assigned to the real-time service queue according to their respective The remaining transmission quotas are eventually dropped to the ordinary queue Q4. 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 quotas in its Q4 and Q3 queues and has been moved down to the Q2 queue; STA1 has used up the quota of its Q4 queue and moved down to the Q3 queue, and STA2 has not used up the quota of the Q4 queue, so it remains in the Q4 queue.
- 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.
- 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 6 is a schematic diagram of data transmission of a multi-user OFDMA scheduling according to an embodiment of the present application.
- the scheduling of the TID7 queue 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.
- 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.
- 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.
- 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.
- FIG. 7 is a schematic diagram of data transmission of 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 the MUMIMO mode, and the NSS are 2, 1, and 2 respectively.
- 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.
- 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:
- 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;
- 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;
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the sending module 802 is used to update the queue transmission quota of the scheduling queue according to the sent business data after sending the business data; when the queue transmission quota is less than or equal to the first predetermined threshold, transfer all business data in the scheduling queue to the scheduling queue with a scheduling priority lower than the scheduling queue. In other dispatch queues of the same scheduling queue.
- 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.
- 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.
- 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:
- Slice STA i Slice STA i ⁇ Slice Use *BW i /BW Total , wherein Slice Use is the total transmission quota usage of this multi-user transmission, BW i is the resource block size of the current scheduling queue, and BW Total is the total resource block size of the multi-user transmission.
- the updated queue transmission quota of the scheduling queue is:
- Slice STA i Slice STA i -Slice Use *NSS i /NSS Total , where Slice Use is the total transmission quota usage of this multi-user transmission, NSS i is the number of spatial streams in the current scheduling queue, and NSS Total is the total number of spatial streams in the multi-user transmission.
- 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:
- Slice cur Slice+Factor*Slice last , wherein 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.
- 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.
- 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 in the memory and executable on the processor, and a data bus for realizing connection and communication between the processor and the memory.
- a service 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.
- An embodiment of the present application also 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, a service scheduling method according to any of the above embodiments is implemented.
- 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.
- 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 provided through the redistribution of the site transmission quota, the penalty of the transmission quota, etc., and 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, and further improves the fairness of scheduling.
- the service scheduling method, device, equipment and computer-readable storage medium described in the embodiments of the present application can meet the performance requirements of real-time services.
- 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.
- the service scheduling method, device, equipment and computer-readable storage medium described in the embodiments of the present application can meet the transmission requirements of customized priority services of different users.
- Each service has a static priority label, and different users can have different static priorities for service devices.
- the static priority will be mapped to different dynamic service queues. The larger the static priority, the larger the dynamic priority. Services with higher priority will get more transmission opportunities to meet the throughput or latency requirements of the services.
- 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.
- 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 physical components 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.
- a processor such as a central processing unit, a digital signal processor or a microprocessor
- Such software may be distributed on a computer-readable medium, which may include a computer-readable storage medium (or non-temporary medium) and a communication medium (or temporary medium).
- 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 disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, 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.
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请要求2023年6月30日提交的中国专利申请No.202310804968.9的优先权,该中国专利申请的内容通过引用的方式整体合并于此。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.
本申请涉及通信领域,具体涉及一种基于通信网络的业务调度方法、装置、设备及计算机可读存储介质。The present application relates to the field of communications, and in particular to a communication network-based service scheduling method, device, equipment, and computer-readable storage medium.
近年来,计算机和互联网的快速发展导致了实时业务的出现和快速传播。虚拟现实、云游戏、在线医疗等应用对通信时延(1-10毫秒)和可靠性提出了十分严格的要求。此外,当今家庭和办公环境中大量多媒体设备的接入使得在通信网络中支持实时业务的变得十分重要。但是实现实时业务所需级别的时延和可靠性是一个具有挑战的问题。例如在WiFi网络中对于这个问题的解决有两个主流方向:1)使用受限的定时唤醒机制(Restricted Target Wake Time,r-TWT)或类似的信道预约技术。该技术通过独占一段时间的信道使用从而达到实时业务的需求指标,但是受限于节点间较为复杂的信息交互和调度,该技术的实施效果并不如意。2)采用增强式信道接入(Enhanced Distributed Channel Access,EDCA)的多访问类别(Access Category,AC)优先级技术。该技术根据不同AC的EDCA参数调整来达到实时业务的低时延信道接入,但是由于接入点(Access Point,AP)和站点(Station,STA)都是使用基于载波侦听的多址接入技术,即使当前节点有高优先级,实时业务需要传输时也必须等待当前的传输结束。基于不同AC的优先级划分虽然能一定程度上缓解这个问题,但是颗粒度较大的AC优先级对于实时业务的高标准还是不足。此外,传统的WLAN调度技术没有将实时业务和普通业务区分,同一AC队列中可能混杂实时业务和普通业务,实时业务需等待优先级(动态优先级)较高的普通业务传输完毕,才能够进行传输,这对于实时业务来说几乎是不可以容忍的。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 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 by 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 due to the relatively complex information interaction and scheduling between nodes, the implementation effect of this technology is not satisfactory. 2) Use enhanced distributed channel access (EDCA) multi-access category (AC) priority technology. This technology adjusts the EDCA parameters of different ACs to achieve low-latency channel access for real-time services. 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, the real-time service must wait for the current transmission to end when it needs to be transmitted. 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 transmission of ordinary services with higher priority (dynamic priority) before they can be transmitted. This is almost intolerable for real-time services.
较大颗粒度的AC优先级划分不仅使得实时业务的性能恶化,也会对于传统音视频业务产生影响。不同视频、音频或者会议等流量的服务质量(Quality of Service,QoS)需求是不同的。具有不同QOS需求的音视频业务可能会被粗略的放入同一AC队列中,同一AC队列中的业务被提供相同的QoS,因此某些业务的QoS可能无法满足,从而导致用户体验不佳。 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 a poor user experience.
在保持基于EDCA的媒体访问控制(Media Access Control,MAC)框架下,解决当前问题的一个方向是在调度算法中考虑不同业务的优先级。在同一AC中的实时业务和音视频业务将被赋予不同的调度优先级,较高优先级的业务将会获得相较低优先级业务更多的传输聚会,从而保证此类业务的QoS。但是频繁的调度高优先级业务也会产生公平性方面的考虑,较低优先级业务可能会发生“饥饿现象”。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".
因此,相关技术中的通信网络存在实时业务的QoS支持较差,同一队列的业务无法区分QoS需求,调度公平性无法保证的问题。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.
发明内容Summary of the invention
本申请实施例提供了一种基于通信网络的业务调度方法,所述通信网络包括业务调度装置和至少一个网络设备,所述业务调度装置执行所述业务调度方法以对经由所述通信网络去往或来自所述网络设备的业务数据进行调度,所述方法包括:响应于接收到业务数据,按照预定的流量分配策略将所述业务数据分配给相应的业务队列,其中每个业务队列包括具有不同调度优先级的多个调度队列,每个业务队列具有相应的设备优先级表,所述设备优先级表记录所述网络设备与所述多个调度队列的动态对应关系;根据所述业务数据所属的网络设备或所述业务数据的业务类型将所述业务数据分配给所述多个调度队列中相应的调度队列;按照所述多个调度队列的调度优先级发送所述多个调度队列中的业务数据,其中,优先发送调度优先级较高的调度队列中的业务数据。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, wherein 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, and 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, 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.
本申请实施例还提供一种基于通信网络的业务调度装置,所述通信网络包括业务调度装置和至少一个网络设备,所述业务调度装置执行所述业务调度方法以对经由所述通信网络去往或来自所述网络设备的业务数据进行调度,所述装置包括:分配模块,响应于接收到业务数据,按照预定的流量分配策略将所述业务数据分配给相应的业务队列,其中每个业务队列包括具有不同调度优先级的多个调度队列,每个业务队列具有相应的设备优先级表,所述设备优先级表记录所述网络设备与所述多个调度队列的动态对应关系;所述分配模块,还用于根据所述业务数据所属的网络设备或所述业务数据的业务类型将所述业务数据分配给所述多个调度队列中相应的调度队列;发送模块,用于按照所述多个调度队列的调度优先级发送所述多个调度队列中的业务数据,其中,优先发送调度优先级较高的调度队列中的业务数据。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, wherein 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, and 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, and the device priority table 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 are sent first.
本申请实施例还提出一种基于通信网络的业务调度设备,所述设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现前述方法。 An embodiment of the present application also proposes a service scheduling device based on a communication network, the device comprising 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, wherein the program implements the aforementioned method when executed by the processor.
本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述业务调度方法。An embodiment of the present application also 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.
通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中: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 application will become easy to understand. 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:
图1为根据本申请实施例的一种通信网络的部署示意图;FIG1 is a schematic diagram of a deployment of a communication network according to an embodiment of the present application;
图2为根据本申请实施例中一种AP的结构框图;FIG2 is a structural block diagram of an AP according to an embodiment of the present application;
图3为根据本申请实施例的一种基于通信网络的业务调度方法的流程图;FIG3 is a flow chart of a service scheduling method based on a communication network according to an embodiment of the present application;
图4为根据本申请实施例的将最高优先级中的网络设备的业务数据强制降低到其他调度队列中的示意图;4 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;
图5为根据本申请实施例的一种基于通信网络的业务调度方法的示意图;FIG5 is a schematic diagram of a service scheduling method based on a communication network according to an embodiment of the present application;
图6为根据本申请实施例的多用户OFDMA调度的数据发送示意图;FIG6 is a schematic diagram of data transmission of multi-user OFDMA scheduling according to an embodiment of the present application;
图7为根据本申请实施例的多用户MUMIMO调度的数据发送示意图;FIG7 is a schematic diagram of data transmission of multi-user MUMIMO scheduling according to an embodiment of the present application;
图8为根据本申请实施例的一种基于通信网络的业务调度装置的示意图。FIG8 is a schematic diagram of a service scheduling device based on a communication network according to an embodiment of the present application.
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present application.
应当理解,本申请的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本申请的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。It should be understood that the terms "first", "second", "third", and "fourth" in the claims, specification, and drawings of the present application are used to distinguish different objects rather than to describe a specific order. The terms "include" and "comprise" used in the specification and claims of the present application 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.
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。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.
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的, 而并不意在限定本申请。如在本申请说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。It should also be understood that the terms used in this application specification are only for the purpose of describing specific embodiments. It is not intended to limit the present application. As used in the present 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 be further understood that the term "and/or" used in the present specification and claims refers to any combination of one or more of the associated listed items and all possible combinations, including these combinations.
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。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.
下面结合附图来详细描述本申请的具体实施方式。The specific implementation of the present application is described in detail below with reference to the accompanying drawings.
在本文中,术语“业务”、“流量”、“数据”、“业务数据”均可以用来指代经由通信网络传输的业务。In this document, the terms "service", "traffic", "data", and "service data" may all be used to refer to services transmitted via a communication network.
针对相关技术中的通信网络存在实时业务的QoS支持较差,同一队列的业务无法区分QoS需求,调度公平性无法保证的问题,本申请实施例提出一种基于通信网络的业务调度方法,旨在保证不同优先级的业务的需求,能够解决在同一业务队列下不同业务种类的调度需求。In view of the problems in the related art that the communication network has poor QoS support for real-time services, the services in the same queue cannot distinguish QoS requirements, and the scheduling fairness cannot be guaranteed, the embodiment of the present application proposes a service scheduling method based on the 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.
图1为根据本申请实施例的业务调度方法、业务调度装置适用的应用环境的一个示例的示意图。本申请实施例的业务调度方法可以由任意通信网络中具有业务调度需求的业务调度装置来执行,用于对经由通信网络去往或来自网络设备的多个业务进行调度。该业务调度装置可以被包括在通信网络中的一适当的网络设备中。在图1以及以下各实施例中,以无线局域网(WLAN)为例对本申请中的应用环境进行说明。可以理解的是,本申请中的业务调度方法、装置、设备及计算机可读存储介质不局限于此WLAN的应用环境,凡是具有调度需求且具备多个业务的通信网络均适用本发明。FIG. 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 FIG. 1 and the following embodiments, the application environment in the present application is described by taking a wireless local area network (WLAN) as an example. It can 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.
如图1所示,无线局域网包括多个基础服务集(Basic Service Set,BBS),每个基础服务集包括一个接入点(Access Point,AP),该接入点能与多个站点(Station,STA)相关联并进行流量数据的相互传输。为了便于说明,错误!未找到引用源。示例中仅部署了两个AP,基础服务集1(BSS1)中的AP1和BSS2中的AP2。AP1具有至少两个相关联的STA(STA1和STA2)并且同时工作在5GHz和6GHz频段,AP2具有至少3个相关联的STA(STA3、STA4和STA5)并且单独工作在5GHz。由于存在相同的频段范围或者通信范围,AP1的覆盖区域和AP2的覆盖区域相重叠,STA1位于AP1和AP2重叠的区域中。当AP与STA间进行流量数据传输时,AP或STA通过解析流量数据,得到该流量数据的地址,根据流量数据的地址确定该流量数据的接收方。As shown in FIG1 , the wireless LAN includes multiple basic service sets (BBS), each of which includes an access point (AP), which can be associated with multiple stations (STA) and transmit traffic data to each other. For the sake of explanation, error! Reference source not found. Only two APs are deployed in the example, 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 frequency 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 obtains the address of the traffic data by parsing the traffic data, and determines the receiver of the traffic data according to the address of the traffic data.
通常来说,错误!未找到引用源。中的AP是为STA提供网络服务的固定终端。然而在一些应用中,AP可以是移动终端或非固定终端;STA可以是固定、非固定或移动终端。STA 的示例包括但不限于:智能电话、个人计算机、多媒体设备、音频设备、用于物联网(Internet of things,IOT)的设备或者其他需要AP提供网络服务的无线终端设备。STA还可以被称为:移动单元、无线单元、移动终端、用户设备(User equipment,UE)或者其他一些合适的术语。STA可以使用协议栈来实现。协议栈包含用于根据无线信道的物理和电气规范实现的收发数据的物理层、用于无线信道接入访问的数据链路层、用于处理源地址到目的地址数据传输的网络层、用于对数据传输管理的传输层以及建立网络和连接所必须的其它层。Generally speaking, the AP in Error! Reference source not found. 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. STA Examples 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 called 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 data transmission management, and other layers necessary for establishing a network and connection.
尽管使用WLAN部署和IEEE 802.11网络为例进行描述,但是本发明中所描述的技术可以扩展到采用各种标准或协议的其他网络。例如,包括蓝牙、Hiper LAN(一组无线标准,可与IEEE 802.11标准相比较,主要在欧洲使用),以及在广域网(WAN)、WLAN、个域网(PAN)或现在已知或以后开发的其他合适的网络。因此,本发明所呈现的调度技术可以应用于任何合适的无线网络或其他网络,而与所使用的通信协议无关。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 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.
图2为根据本申请实施例的作为业务调度装置或业务调度方法的执行主体的AP的示例结构框图。需要说明的是,本申请实施例中的AP仅是一种示例,对于不同的通信网络,AP的结构可不相同,本申请对此不做任何限制。如图2所示,AP 100包括存储器110、至少一个处理器140及网络接口模块130。该至少一个处理器140可以通过总线进行内部通信,总线是AP100的多个组件或者子组件之间传输数据的通信系统。一个或多个处理器140可以包括基带处理器、数字信号处理器或收发处理器的一个或者组合。在本申请中,处理器140包含用于执行本申请所述的基于通信网络的调度技术的调度组件150,调度组件150包含硬件、软件,并且可以被配置为执行存储在存储器110(例如,计算机可读存储介质)中的代码或执行指令。调度组件150可以最大化网络容量,并为发送STA的数据保证时延、吞吐和公平性。存储器110包含多个STA的缓存数据以及储存在其中的数据的各种相关特性,例如,某些网络状态或者管理信息,实时语音或视频流数据等,数据可根据这些特性分为低时延、紧急、实时或普通业务,这会影响何时以及如何传输这些数据。网络接口模块130包括WLAN 802.11接口,在其他网络中,可以包括蓝牙接口、WiMax接口或者有线以太网接口。FIG2 is an example structural block diagram of an AP as an execution subject of a service scheduling device 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 only an example. For different communication networks, the structure of the AP may be different, and the present application does not impose any restrictions on this. As shown in FIG2, the 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, and the bus is a communication system for transmitting data between multiple components or subcomponents of the AP 100. One or more processors 140 may include one or a combination of a baseband processor, a digital signal processor, or a transceiver processor. In 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, and 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 the 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 classified as low-latency, emergency, real-time or normal business according to these characteristics, which affects when and how to transmit the data. The network interface module 130 includes a WLAN 802.11 interface, and in other networks, it may include a Bluetooth interface, a WiMax interface or a wired Ethernet interface.
图3为根据本申请实施例的一种基于通信网络的业务调度方法的流程图,该调度方法可由通信网络中的业务调度装置来执行。业务调度装置可以是例如上述图1及图2所述的AP或被包括在其中,还可以是其他通信网络中有业务调度需求的网络设备或被包括在其中,业务调度装置用于对通信网络中的各网络设备的业务进行调度。该调度方法包括以下步骤S301至S303。 FIG3 is a flow chart of a service scheduling method based on a communication network according to an embodiment of the present application, and the 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 FIG1 and FIG2 or included therein, or can be a network device in other communication networks that has service scheduling requirements or included therein, and the service scheduling device is used to schedule services of each network device in the communication network. The scheduling method includes the following steps S301 to S303.
在步骤S301中,响应于接收到业务数据,按照预定的流量分配策略将所述业务数据分配给相应的业务队列,其中每个业务队列包括具有不同调度优先级的多个调度队列,每个业务队列具有相应的设备优先级表,所述设备优先级表记录所述网络设备与所述多个调度队列的动态对应关系。In step 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.
在步骤S302中,根据所述业务数据所属的网络设备或所述业务数据的业务类型将所述业务数据分配给所述多个调度队列中相应的调度队列。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.
在步骤S303中,按照所述多个调度队列的调度优先级发送所述多个调度队列中的业务数据,其中,优先发送调度优先级较高的调度队列中的业务数据。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.
本申请实施例根据网络设备的业务数据的优先级进行调度,这种调度方法能够保障不同业务的需求,能够解决相同业务队列下不同业务种类的调度需求,使得较高优先级的队列能够获得更多的调度机会。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.
在本申请实施例中,业务队列指的是按照通信协议定义的队列。例如,在WLAN协议中,一般业务队列的数量可以根据AC的数量或者TID的数量决定。假设WLAN协议中有4个AC,则可以设置4个业务队列。在一些实施例中,按照预定的流量分配策略将所述业务数据分配给相应的业务队列,所述流量分配策略包括优先级划分策略或者负载均衡分配策略。In the embodiments of the present application, the service queue refers to a queue defined according to the communication protocol. For example, in the WLAN protocol, the number of general service queues can 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 can be set. In some embodiments, the service data is allocated to the corresponding service queue according to a predetermined traffic allocation strategy, and the traffic allocation strategy includes a priority division strategy or a load balancing allocation strategy.
以无线局域网为例,在调度过程中,AP中的调度组件首先生成至少一个业务队列,上层(例如网络层)传输来的流量数据先存储到相应的STA中,然后STA(包含上层传输来的流量数据)会根据优先级划分策略或者负载均衡分配策略被分配给对应的业务队列。在一些实施例中,优先级划分策略可以包括根据流量数据的类型划分优先级,例如流量数据类型可以包括视频数据(VO)、语音数据(VI)、尽力而为数据(BE)、背景数据(BK)等等,还可以是根据其他方式划分优先级,本申请对此不做任何限制。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 assigned to 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 (VO), voice data (VI), best effort data (BE), background data (BK), etc., and may also be divided into priorities according to other methods, and the present application does not impose any restrictions on this.
另外,可以理解的是,上层传输的流量数据包混杂着给各个网络设备的业务数据,因此,根据流量数据分配策略将该流量数据分配给多个业务队列时,每个业务队列中可能只包括部分的网络设备的业务数据。还可以理解的是,流量分配策略也并不是将该业务数据绝对互斥的进行划分,因此,存在某个网络设备数据至少属于两个业务队列中。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.
设备优先级表记录的是网络设备与调度队列之间的对应关系,每个网络设备对应一个调度队列,属于该网络设备的业务数据都在相对应的这个调度队列中。如果一个网络设备的任何业务曾被分配给这个业务队列,那么这个业务队列的设备优先级表中就记载有这个网络设备的对应的调度队列。网络设备与调度队列之间的对应关系是动态变化的。例如,下文提到的根据队列传输配额和设备传输配额而变化,具体描述和相关处理步骤详见下文。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.
在一些实施例中,根据所述业务数据所属的网络设备或所述业务数据的业务类型将所 述业务数据分配给所述多个调度队列中相应的调度队列包括:确定所述业务数据所属的网络设备,并查询所述业务队列的设备优先级表,以确定与所述业务数据所属的网络设备对应的调度队列;将所述业务数据分配给所确定的所述调度队列。In some embodiments, the service data is sent to the network device to which the service data belongs or the service type of the service data. The business data is allocated to the corresponding scheduling queue among the multiple scheduling queues, including: 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.
在一些实施例中,如果在所述设备优先级表中没有查询到所述业务数据所属的网络设备,则确定所述业务数据的业务类型;在所述业务类型为第一业务类型的情况下将所述业务数据分配给所述多个调度队列中具有最高调度优先级的调度队列。在一些实施例中,该第一业务类型可以为实时业务类型,也可以为其他优先级高的业务类型,本申请对此不做限定。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 assigned 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.
在一些实施例中,在所述业务类型为第二业务类型的情况下,确定所述业务数据所属的网络设备;根据所述业务数据所属的网络设备的静态优先级将所述业务数据分配给所述多个调度队列中的相应调度队列。具体地,该第二业务类型可以为普通业务类型。当业务类型为普通业务类型时,根据该业务数据对应的网络设备的静态优先级确定相应的调度队列。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.
在一些实施例中,根据所述业务数据所属的网络设备的静态优先级将所述业务数据分配给所述多个调度队列中的相应调度队列包括:根据所述业务数据所属的网络设备的静态优先级确定相对应的调度优先级;将所述业务数据分配给具有所述相对应的调度优先级的调度队列。具体地,网络设备的业务类型包括:第一业务类型例如实时业务类型,和第二业务类型例如非实时务类型,网络设备的静态优先级可根据具体实现的某种业务需求来设置。业务类型可包括游戏业务、视频业务、语音业务等等。不同的业务类型需要保证不同的性能,根据性能的差异化确定STA的静态优先级。例如,假设该STA是游戏业务,游戏业务需要时延比较低,因此会优先保证时延等。根据业务类型的不同确定相应的调度优先级。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 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 certain service requirement of a 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.
在一些实施例中,在将所述业务数据分配给所述相应的调度队列之后,所述调度方法还包括:更新所述业务队列的设备优先级表,以将所述业务数据所属的网络设备与所述相对应的调度队列之间的对应关系记载到所述设备优先级表中。具体地,业务队列的设备优先级表首先有个初始化值,,后续根据所述业务数据所属的网络设备与所述相对应的调度队列之间的对应关系更新到所述设备优先级表。In some embodiments, after the service data is assigned to the corresponding scheduling queue, the scheduling 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. 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 scheduling queue.
在一些实施例中,每个调度队列具有队列传输配额,每个网络设备具有对应于每个调度队列的设备传输配额,其中,所述队列传输配额具有预设的初始值并随着该调度队列中的业务数据的发送而相应减少,所述设备传输配额具有预设的初始值随着该网络设备的业务数据的发送而相应减少,其中,在发送所述业务数据之后,所述调度方法还包括:根据 所发送的所述业务数据更新所述调度队列的队列传输配额;在所述队列传输配额小于等于第一预定阈值的情况下,将该调度队列中的所有业务数据转移到所述多个调度队列中调度优先级低于该调度队列的其他调度队列中。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 with the transmission of service data in the scheduling queue, and the device transmission quota has a preset initial value and decreases accordingly with the transmission of service data of the network device, wherein after sending the service data, the scheduling method further includes: according to The sent business data updates the queue transmission quota of the scheduling queue; when the queue transmission quota is less than or equal to a first predetermined threshold, all business data in the scheduling queue are transferred to other scheduling queues in the multiple scheduling queues whose scheduling priority is lower than that of the scheduling queue.
在一些实施例中,,每个调度队列的队列传输配置是该调度队列中所有站点的公共配额,而每个调度队列中每个网络设备的设备传输配额属于自身的传输配额。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.
在一些实施例中,每个调度队列的队列传输配额大于一个网络设备的网络传输配额。In some embodiments, the queue transmission quota of each scheduling queue is greater than the network transmission quota of a network device.
在一些实施例中,每个调度队列的传输配额可以根据该调度队列中网络设备的数量和/或该调度队列中网络设备对应业务类型需求的性能要求确定,还可以根据经验值确定。同样,每个网络设备自身的设备传输配额也可以根据该网络设备对应业务类型需求的性能要求确定,或者通过实验仿真或者根据经验值确定。本申请调度队列的队列传输配额和调度队列中网络设备的设备传输配额的设置不做限制。在网络设备进行业务数据传输的过程中,调度队列的队列传输配额和调度队列中每个网络设备的设备传输配额是动态变化的。该业务数据每发送一次就会消耗调度队列的队列传输配额及网络设备自身的设备传输配额。根据发送的业务数据更新调度队列的队列传输配额。当队列传输配额小于等于第一预定阈值的情况下,就会将该调度队列中的业务数据强制转移到较低的调度队列中。本申请根据调度队列的队列传输配额和调度队列中网络设备的设备传输配额确定该调度队列中各个网络设备的优先级,根据调度队列中各个网络设备的优先级对调度队列中的网络设备的业务数据进行调度。可以理解的是,由于调度队列的队列传输配额和调度队列中每个网络设备的设备传输配额是动态变化的,因此调度队列中各个网络设备的优先级也是动态变化的。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 determined by experimental simulation or empirical values. The setting of the queue transmission quota of the scheduling queue and the device transmission quota of the network devices in the scheduling queue of the present application is not restricted. 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 devices in the scheduling queue, and schedules the business data of the network devices in the scheduling queue according to 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.
由于较高优先级的调度队列的优先级高于较低优先级的调度队列的优先级,当较高优先级的队列中存在网络设备时,业务调度装置总是会优先调度该较高优先级的调度队列中的网络设备;但,较高优先级的调度队列中的网络设备并不能够总是存在,否则会对较低调度队列中的网络设备产生饥饿现象。因此,在一些实施例中,当调度队列的网络设备的设备传输配小于等于第一预定阈值时,就会强制将较高优先级的调度队列中的网络设备的业务数据转移到多个调度队列中调度优先级低于该调度队列的其他调度队列中,以保证调度的公平性。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 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 to 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 the 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 multiple scheduling queues with a scheduling priority lower than the scheduling queue, so as to ensure the fairness of scheduling.
在一些实施例中,该业务调度方法还包括根据所发送的所述业务数据的传输模式,更新所述调度队列的队列传输配额。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.
在一些实施例中,传输模式包括单用户传输和多用户传输,而多用户传输还分为正交频分多址(Orthogonal Frequency Division Multiple Access,OFDMA)传输和多用户多用多出(Multi User MIMO,MUMIMO)传输。其中,单用户传输指的是AP与STA是一对一 的传输,而多用户传输指的是通信网络可以同时对多个网络设备进行传输。OFDMA指的是一组用户可以同时接入到信道中。OFDMA技术是指定每个用户使用OFDM所有子载波中的一个(或一组)。OFDMA将整个频带划分成更小的单位,多个用户可以同时使用整个额带,并且它的分配机制非常灵活,可以根据用户业务量的大小动态分配子载波的数量,不同的子载波上使用的调制方式和发射功率也可以不同。MUMIMO指的是在无线通信系统里,一个基站同时服务于多个移动终端,基站之间充分利用天线的空域资源与多个用户同时进行通信。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 the one-to-one transmission between AP and STA. transmission, while multi-user transmission means 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. It can dynamically allocate the number of subcarriers 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.
在一些实施例中,当该次传输调度为单用户传输时,更新调度队列的队列传输配额方法为:当前调度队列的传输配额减去当前调度队列该次传输使用的队列传输配额。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.
在一些实施例中,当该次传输调度的传输模式为OFDMA时,更新后的队列传输配额为:In some embodiments, when the transmission mode of the transmission scheduling is OFDMA, the updated queue transmission quota is:
SliceSTA i=SliceSTA i-SliceUse*BWi/BWTotal,其中,SliceUse为本次多用户传输的总传输配额使用,BWi为当前调度队列的资源块大小,BWTotal为多用户传输的总资源块大小。Slice STA i =Slice STA i −Slice Use *BW i /BW Total , wherein Slice Use is the total transmission quota usage of this multi-user transmission, BW i is the resource block size of the current scheduling queue, and BW Total is the total resource block size of the multi-user transmission.
在一些实施例中,当该次传输调度的传输模式为MUMIMO时,更新后的调度队列的队列传输配额为:SliceSTA i=SliceSTA i-SliceUse*NSSi/NSSTotal,其中,SliceUse为本次多用户传输的总传输配额使用,NSSi为当前调度队列的空间流数量,NSSTotal为多用户传输的总空间流数量。In some embodiments, when the transmission mode of the transmission scheduling is MUMIMO, the queue transmission quota of the updated scheduling queue is: Slice STA i = Slice STA i - Slice Use * NSS i / NSS Total , where Slice Use is the total transmission quota usage of this multi-user transmission, NSS i is the number of spatial streams of the current scheduling queue, and NSS Total is the total number of spatial streams of multi-user transmission.
在一些实施例中,在所述队列传输配额大于第一预定阈值的情况下,根据所发送的所述业务数据更新所述业务数据所属的网络设备的设备传输配额;在所述设备传输配额小于第二预定阈值的情况下,对于具有最高优先级的调度队列中的网络设备,将该网络设备中的所有业务数据重新转移到所述最高优先级的调度队列中;对于除最高优先级的调度队列中的其他调度队列,将该网络设备的所有业务数据从当前调度队列转移到所述多个调度队列中调度优先级低于所述当前调度队列的其他调度队列中。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.
当具有最高优先级的调度队列的网络设备的设备传输配额满足一定条件时,一般情况下会重现在加入最高优先级的调度队列,但是由于最高优先级的调度队列的优先级高于其他调度队列的优先级,当最高优先级的队列中存在网络设备时,业务调度装置总是会优先调度该最高优先级的调度队列中的网络设备。因此,最高优先级的调度队列中的网络设备并不能够总是存在,否则会对其他调度队列中的网络设备产生饥饿现象。本申请实施例根据调度队列的队列传输配额确定网络设备的业务数据是否被转移到其他调度优先级的调度队列中。具体地,当最高优先级的调度队列的队列传输配额小于等于第一阈值的情况下, 则会将该调度队列中的所有业务数据转移到所述多个调度队列中调度优先级低于该调度队列的其他调度队列。而在最高调度队列的队列传输配额大于第一预定阈值,且最高优先级的调度队列中网络设备的设备优先级小于第二预定阈值的情况下,将该网络设备中的所有业务数据重新转移到所述最高优先级的调度队列中。对于不是最高优先级的其他调度队列,同样,当在所述队列传输配额小于等于第一预定阈值的情况下,将该调度队列中的所有业务数据转移到所述多个调度队列中调度优先级低于该调度队列的其他调度队列中。而对于其他调度队列的网络设备的设备传输配额小于第二预定阈值时,将该网络设备的所有业务数据从当前调度队列转移到所述多个调度队列中调度优先级低于所述当前调度队列的其他调度队列中。When the device transmission quota of a network device in a scheduling queue with the highest priority meets certain conditions, it will generally be added to the scheduling queue with the highest priority again. However, since the priority of the scheduling queue with the highest priority is higher than that of other scheduling queues, when there are network devices in the highest priority queue, the service scheduling device will always give priority to scheduling the network devices in the scheduling queue with the highest priority. Therefore, the network devices 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 a network device is transferred to a scheduling queue of other scheduling priorities based on 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 in the multiple scheduling queues whose scheduling priority is lower than that of the scheduling queue. When 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 back to the scheduling queue with the highest priority. For other scheduling queues that are not the highest priority, similarly, when the queue transmission quota is less than or equal to the first predetermined threshold, all the service data in the scheduling queue will be 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 the network device in other scheduling queues is less than the second predetermined threshold, all the service data of the network device will be 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.
需要说明的是,虽然该网络设备的业务数据被移入到比该任网络设备的业务数据低一级的调度队列中,但是该任网络设备的业务数据的静态优先级不会改变,改变的只是该网络设备的业务数据根据设备传输配额确定的动态优先级。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.
在一些实施例中,上述提到的第二预定阈值指的是任一网络设备的业务数据的剩余传输配额小于第二预定阈值或所述任一网络设备的业务数据使用的传输配额超过所述任一网络设备的业务数据本申设备传输配额的传输配额小于第二预定阈值。也就是该任一网络设备的业务数据用完自身的传输配额时,但是大部分情况下该任一网络设备的业务数据的传输配额并不是刚好用完,可能该任一网络设备的业务数据的传输配额还有少许剩余配额,但是不够再进行一次业务数据的传输了,或者该任一网络设备的业务数据的实际使用的传输配额超过了该任一网络设备的业务数据自身的传输配额。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.
在一些实施例中,该第二阈值由网络设备的业务数据调度过程中一次传输所使用的最小传输配额确定。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.
在一些实施例中,所述将该网络设备的所有业务数据从当前调度队列转移到所述多个调度队列中调度优先级低于所述当前调度队列的其他调度队列中后,所述网络设备对应于被转移到其他调度队列的设备传输配额为: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:
Slicecur=Slice+Factor*Slicelast,其中,Slice为重新分配给所述网络设备的对应于所述其他调度队列的传输配额,Slicelast为所述网络设备对应于当前调度队列的设备传输配额,Factor为缩放因子。Slice cur = Slice+Factor*Slice last , wherein 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 a scaling factor.
具体地,当该网络设备的业务数据的设备传输配额为负数时,表示当前网络设备的业务数据的设备传输配额使用超出自身的传输配额时,则该Slicelast为负数。该任一网络设备的业务数据是从高优先级下降到低优先级的队列中,若该任一网络设备的业务数据的设备传输配额为超出自身的传输配额时,则对低优先级的网络设备的业务数据是不公平的。因 此,超出的这部分在下一级会有一个惩罚。所以该缩放因子Factor为大于1的数值,一般可取1.1,也可以为其他大于1的值。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, and the Slice last is negative. The service data of any network device is dropped from a high priority to a 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 will be penalized at the next level. Therefore, the scaling factor Factor is a value greater than 1, generally 1.1, or other values greater than 1.
在一些实施例中,在将网络设备的业务数据转移到其他调度队列中后,还包括更新设备优先级表,在所述设备优先级表中将所转移的业务数据所属的网络设备的对应调度队列修改为转移到的所述其他调度队列。即设备优先级表维护了一个动态的网络设备的业务数据的优先级。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.
在一些实施例中,所述业务队列还具有失效队列,对于失效队列中的业务数据不进行发送,其中,在所述业务队列中的所有网络设备的业务数据均被转移到所述失效队列时,将所述失效队列中的所述网络设备的业务数据重新转移到所述多个调度队列中。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.
具体地,将失效队列为业务队列中的最低一级队列,当业务队列中的所有网络设备的业务数据均下降到失效队列时,将失效队列中的网络设备的业务数据重新加入到所述多个调度队列中。随着多个网络设备的业务数据的传输,每个网络设备的业务数据的设备传输配额不断变化,进而各个网络设备的业务数据的优先级也不断发生变化,具体来说,各个网络设备的业务数据的优先级不断下降,直到下降到最后一级优先级中,即下降到失效队列中。当该业务队列中的所有网络设备的业务数据均下降到失效队列中时,业务调度装置会将失效队列中的所有网络设备的业务数据重新加入到业务队列中的调度队列,重新进行调度。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 is 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 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.
在一些实施例中,该调度方法中还包括新加入的网络设备的业务数据和重新加入的网络设备的业务数据,其中,新加入网络设备的业务数据的情形指的是又有新的网络设备接入了通信网络中,比如又有新的手机连接了WIFI信号等,重新加入的网络设备指的是处于休眠模式的网络设备被唤醒,比如手机处于休眠模式后又重新打开手机里的软件将手机唤醒等。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 a 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.
在一些实施例中,当失效队列中的网络设备的业务数据重新加入到多个调度队列中时,重新根据该网络设备的业务数据对应的业务类型或该网络设备的业务数据的静态优先级将过期队列中的网络设备的业务数据加入到所述多个调度队列中。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.
具体来说,当失效队列中的网络设备的业务数据对应的是具有最高优先级的调度队列的业务数据,例如实时业务类型的业务数据时,则将该网络设备的业务数据重新加入到具有最高优先级的调度队列中;当失效队列中的网络设备的业务数据对应的是非实时业务类型(即普通业务类型)时,则根据该网络设备的业务数据的静态优先级重新将该网络设备的业务数据加入到其他调度队列中。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.
在一些实施例中,所述调度方法包括当新的网络设备的业务数据加入到所述多个调度 队列中或睡眠网络设备的业务数据重新加入到所述多个调度队列中时,所述新的网络设备的业务数据或所述睡眠网络设备的业务数据选择的调度队列的调度优先级为Qin=min(Qmax,Qout),Qout为睡眠网络设备的业务数据退出调度队列时所述睡眠网络设备的业务数据所在的调度队列的调度优先级,Qmax为所述新的网络设备的业务数据加入时所述业务队列的设备优先级表中的调度队列的最高调度优先级。In some embodiments, the scheduling method includes when the service data of a new network device is added to the plurality of scheduling When the service data of the queue or the 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 Qin = 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, and Q max 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.
在一些实施例中,当网络设备的业务数据新加入或睡眠网络设备的业务数据重新加入调度队列时,若直接加入最高优先级的队列或者加入之前退出时的队列级别(例如网络设备的业务数据睡眠退出调度队列时的级别),低优先级网络设备的业务数据可能会经历较长时间的饥饿问题(高优先级网络设备的业务数据需要一级一级降低优先级),因此本申请实施例中会维护一个最高的优先级等级,该等级等于网络设备的业务数据加入时存在调度队列内的所有网络设备的业务数据的最高优先级Qmax。网络设备的业务数据加入或重新加入调度队列时,选择的队列优先级不能高于Qmax,即Qin=min(Qmax,Qout),Qout为睡眠网络设备的业务数据退出调度队列的队列优先级。In some embodiments, when the service data of a network device is newly added or the service data of a sleeping network device rejoins the scheduling queue, if it is directly added to the highest priority queue or the queue level when it was previously exited (for example, the level when the service data of the network device exits the scheduling queue after sleeping), 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 the priority level one level at a time), so in the embodiment of the present application, a highest priority level will be maintained, which is equal to the highest priority Q max of the service data of all network devices in the scheduling queue when the service data of the network device is added. When the service data of the network device joins or rejoins the scheduling queue, the selected queue priority cannot be higher than Q max , that is, Qin = min (Q max , Q out ), and Q out is the queue priority of the service data of the sleeping network device exiting the scheduling queue.
图4为根据本申请实施例的将最高优先级中的网络设备的业务数据强制降低到其他调度队列中的示意图。本申请实施例以最高优先级中的业务类型的业务数据为第一调度队列,其他调度队列为第二调度队列,网络设备为站点为例进行说明。在第一调度队列RealTime中包括STA1和STA2,经过多次的流量数据传输后,STA1和STA2的传输配额均满足预设条件后,将该STA1和STA2强制下降到第二调度队列(包括Q4、Q3)Q4中。4 is a schematic diagram of forcibly reducing the service data of the network device in the highest priority to other scheduling queues according to an embodiment of the present application. The embodiment of the present application takes 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 for explanation. 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.
在一些实施例中,该具有最高调度优先级的调度队列可以为实时业务队列,其他调度队列为普通业务队列。可以理解的是,该具有最高调度优先级的调度队列和其他调度队列还可以根据调度需求为其他不同优先级的调度队列,本申请对此不做限定。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.
在一些实施例中,其他调度队列包括多级第二子队列,每个第二子队列的优先级不相同,基于调度队列的传输配额和调度队列中每个网络设备的业务数据的设备传输配额对调度队列中的网络设备的业务数据进行梯度调度,包括:当第二子队列中的任一网络设备的业务数据的传输配额满足预设条件时,则将任一网络设备的业务数据降低到比任一网络设备的业务数据低一级的调度队列中,其中,比该任一网络设备的业务数据低一级的调度队列为比该任一网络设备的业务数据的低一级的第二子队列。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.
具体地,其他调度队列中同时包括不同优先级的多个第二子队列,该多个第二子队列从上到下优先级依次递减。第二调度队列中第二子队列的数量可以根据需求设置为3、4、5或更多个等。与具有最高优先级的调度队列不同的是,其他调度队列中第二子队列中的任一站点的传输配额只要满足预设条件,就会将该任一网络设备的业务数据降低到比该任 一网络设备的业务数据低一级的调度队列中。需要说明的是,虽然该任一网络设备的业务数据被移入到比该任一网络设备的业务数据低一级的调度队列中,但是该任一网络设备的业务数据的静态优先级不会改变,改变的只是该任一网络设备的业务数据根据传输配额确定的动态优先级。Specifically, the other scheduling queues 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 as required. Different from the scheduling queue with the highest priority, as long as the transmission quota of any station in the second sub-queue of the other scheduling queues meets the preset conditions, the service data of any network device will be reduced to a level lower than that of any station. 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.
在一些实施例中,在将任一网络设备的业务数据降低到比该任一网络设备的业务数据低一级的调度队列后,该调度方法还包括:对该任一网络设备的业务数据进行传输配额的重新分配。具体地,当该任一网络设备的业务数据的传输配额比较小时,也就是上述所述的满足预设条件时,才会将该任一网络设备的业务数据移入到比该网络设备的业务数据低一级的调度队列中,同时会对该网络设备的业务数据重新分配一定的传输配额,这样低优先级的网络设备的业务数据就可以在未来的一个预计的时间段内得到调度,从而改善调度的公平性。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.
在一些实施例中,所述调度方法还包括:基于调度目标选择队列传输配额和设备传输配额,其中,队列传输配额和设备传输配额为传输时间或者传输数据量。具体地,基于调度目标,队列传输配额和设备传输配额可选择为传输时间或者传输数据量(bit),当选择传输时间作为配额时,配额可配置为10ms,可达到空时公平目标;当选择传输数据量作为配额时,可达到带宽公平目标。本申请还可以根据其他调度目标选择其他的传输配额。In some embodiments, the scheduling method further includes: selecting a queue transmission quota and a device transmission quota based on a 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 be selected as 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.
在一些实施例中,每个业务队列的多个调度队列中同一调度队列中的网络设备的业务数据优先级相同,且在同一调度队列中的网络设备的业务数据通过轮询调度或者先入先出调度。本申请实施例是根据网络设备的业务数据的优先级将多个网络设备的业务数据分别对应到不同的调度队列中,同一调度队列里的网络设备的业务数据优先级是相同的。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.
在一些实施例中,当存在网络设备的业务数据STAi同时在至少两个业务队列中的优先级均高于第三阈值,网络设备的业务数据STAi在其中一个业务队列TIDm中被调度,且使用的设备传输配额为SliceSTAi,TIDm时,则网络设备的业务数据STAi在至少两个业务队列的其他业务队列中TIDn的设备传输配额为:SliceSTAi,TIDn=SliceSTAi,TIDn-FactorTiDn,m*SliceSTAi,TIDm,其中,FactorTiDn,m为至少两个业务队列之间的缩放因子。In some embodiments, when there is service data STAi of a network device whose priority 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,TIDm , then the device transmission quota of the service data STAi of the network device in the other service queue TIDn of the at least two service queues is: Slice STAi,TIDn = Slice STAi,TIDn -Factor TiDn,m *Slice STAi,TIDm , where Factor TiDn,m is a scaling factor between at least two service queues.
具体地,由于不同的业务队列中可能存在相同目的网络设备的业务数据,因此,若某个网络设备的业务数据在同一时刻在多个业务队列内都处于较高优先级,可能会出现在一个较短时间间隔内,相同的目的网络设备的业务数据被多次连续调度的问题,而其他较低优先级的网络设备的业务数据就会在较长时间内处于饥饿状态。因此,本申请实施例一个解决方法是当某TID队列的网络设备的业务数据被调度时对其他TID队列的网络设备的业务数据进行配额惩罚。例如,当TID5队列的STA1被调度且使用了SliceSTA1,TID5的设备传 输配额时,其他TID队列中的相同STA的设备传输配额将被扣减为SliceSTA1,TIDn=SliceSTA1,TIDn-FactorTIDn,5*SliceSTA1,TID5,FactorTIDn,5为TID n和TID5之间的缩放因子,当TID n的优先级大于TID5时,FactorTIDn,5一般为小于1的值,可设置为0.2,当TID n的优先级小于TID5时,FactorTIDn,5一般为大于等于取得值,可设置为1。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 starved for a longer period of time. Therefore, a solution in 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 in queue TID5 is scheduled and Slice STA1 is used, the device in queue TID5 transmits When the transmission quota is increased, the transmission quota of the device with 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 is the scaling factor between TID n and TID5. When the priority of TID n is greater than TID5, Factor TIDn,5 is generally 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 is generally greater than or equal to the obtained value and can be set to 1.
本申请提供的基于通信网络的业务调度方法,能够避免传统调度技术复杂的动态优先级计算。同时在流量数据传输过程中,根据各个网络设备的业务数据的动态传输配额确定各个网络设备的业务数据的动态优先级策略,每个优先级对应一个调度队列,每个队列中网络设备的业务数据的优先级会随着传输配额使用量的降低,且通过网络设备的业务数据设备传输配额的重新分配,设备传输配额的惩罚等提供了期望的网络设备的业务数据优先级提升,针对网络传输中的多用户传输、网络设备的业务数据新加入网络或睡眠等典型场景,也做出了对应的策略优化,且本申请实施例也考虑了某些场景下的“饥饿”现象,进一步提升的调度的公平性。The service scheduling method based on the communication network provided by the present application can avoid the complex dynamic priority calculation of the traditional scheduling technology. At the same time, in the process of traffic data transmission, 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 of the network device is redistributed through the service data transmission quota of the network device, the penalty of the device transmission quota, etc., and the service data priority of the desired network device is improved. For typical scenarios such as multi-user transmission in network transmission, the service data of the network device is newly added to the network or sleep, corresponding strategy optimization is also made, and the embodiment of the present application also takes into account the "hunger" phenomenon in certain scenarios, and further improves the fairness of scheduling.
进一步,采用本申请实施例所描述的业务调度方法后,能够应对实时业务的性能需求。通过在调度方法中设置优先级较高的实时业务队列,实时业务相较于普通业务能够获得更高的优先级和更多的传输机会,且在一定的传输时间或者数据量内,实时业务的优先级不会发生改变。Furthermore, the service 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.
进一步,采用本申请实施例所描述的业务调度方法与装置后,能够满足不同用户的自定义优先级业务的传输需求。每个业务具有静态优先级标签,不同用户可针对业务设备不同的静态优先级。在根据本申请实施例的业务调度方法中,静态优先级将被映射到不同的动态业务队列中,较大的静态优先级对应的动态优先级越大,动态优先级较大的业务将获得更多的传输机会从而满足业务的吞吐或时延需求。Furthermore, after adopting the service scheduling method and device described in the embodiment of the present application, the transmission requirements of the 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 service scheduling method according to 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.
本发明所涉及的优化方法,与相关技术相比,可以满足不同业务类型的调度需求,调度公平性较好,实现难度较低。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.
图5为根据本申请实施例的一种基于通信网络的业务调度方法的示意图。FIG5 is a schematic diagram of a communication network-based service scheduling method according to an embodiment of the present application.
如图5所示,以一个业务队列中的具有最高优先级的调度队列为实时队列RealTime,其他调度队列为普通队列,其中其他调度队列包括Q4、Q3、Q2、Q1、Q0,以及失效队列Expire,网络设备为STA为例进行说明。在T1时刻,所有STA按照静态优先级大小分别分配给第一调度队列RealTime或者第二调度队列的Q队列,STA的静态优先级按照业务类型分配,实时业务类型的STA放入RealTime队列,其他STA放入Q队列中的最高业务队列(最上层队列Q4,STA静态优先级相同),如STA1、STA2和STA3,本申请实施例中的STA假设都是实时业务。经过一段时间的流量数据传输后,在T2时刻,STA3、STA2、STA1根据各自 剩余的传输配额最终都被下降到普通队列Q4中。又经过一段时间的流量数据传输后,在T3时刻,STA3位于Q2队列中,这是因为[T2,T3]的时间段内,STA3用完其Q4和Q3队列中的配额,被下移到Q2队列中;STA1用完其Q4队列的配额下移到Q3队列,STA2因为其还没有用完Q4队列的配额,因此还停留在Q4队列中。由于本申请实施例中的业务调度方法会优先调度优先级较高的队列中的STA,因此若在T3时刻进行调度,STA2会获得最高的优先级。在T4时刻,STA3和STA4由于其接连用完每一层Q队列的配额,被从调度队列移入到Expire队列,位于Expire队列的STA不会被调度,因此若在T4时刻进行调度,STA1会获得最高的优先级。STA改变业务队列的过程就像一部楼梯,STA每次用完自己的配额后就下一层楼梯,以此类推,直至所有的STA均下降到失效队列中,将失效队列中的所有STA重新加入到调度队列中进行新一轮的调度。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 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 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 embodiments 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 assigned to the real-time service queue according to their respective The remaining transmission quotas are eventually dropped to the ordinary queue Q4. 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 quotas in its Q4 and Q3 queues and has been moved down to the Q2 queue; STA1 has used up the quota of its Q4 queue and moved down to the Q3 queue, and STA2 has not used up the quota of the Q4 queue, so it remains 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 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.
AP先后分别使用OFDMA和MUMIMO的多用户传输模式。空时时间作为配额指标,每次重新分配的配额可定为10ms。图6为根据本申请实施例的一种多用户OFDMA调度的数据发送示意图。在T1时刻,TID7队列调度情况如下:STA1和STA4位于Q4队列,STA2位于Q3队列,它们的配额分别为1ms、10ms和5ms。然后,AP经由STA分组组件得到多用户组,由STA1、STA2和STA4组成,使用OFDMA模式发送,资源分配组件得到每个STA的RU分配分别为484Tone、484Tone、242Tone;本次传输结束后,需要更新该TID队列的调度情况。在T2时刻,TID7队列调度情况如下:STA4位于Q4队列,STA1和STA2位于Q3队列,它们的配额分别为9ms、8ms和4ms。以STA1的配额计算为例,本次传输STA1消耗的配额为5*484Tone/(484Tone+484Tone+242Tone)=2ms,发送前STA1剩余配额为1ms,因此STA1配额更新为:10+1*(1-2)=9ms,这里的缩放因子选择为1。由于STA1消耗完了Q4队列的配额,因此被下移到Q3队列,其他STA计算类似。T3时刻TID6队列调度情况如下:STA1和STA5位于Q4队列,STA3位于Q3队列,它们的配额分别为7ms、8ms和2ms。不同TID队列可能具有相同的STA,这是因为同一STA可能同时具有不同TID的流量。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 6 is a schematic diagram of data transmission of a multi-user OFDMA scheduling according to 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, 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 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.
图7为根据本申请实施例的一种多用户MUMIMO调度的数据发送示意图。多用户分组由STA1、STA3和STA5组成,使用MUMIMO模式发送,NSS分别为2、1、2。当传输流程结束后,TID6队列调度情况如下:STA1位于Q4队列,STA3和STA5位于Q3队列,它们的配额分别为5ms、7ms和10ms。以STA5的配额计算为例,本次传输STA5消耗的配额为5*2NSS/(2NSS+2NSS+1NSS)=2ms,发送前STA1剩余配额为2ms,因此STA1配额更新为:10+1*(2-2)=10ms,这里的缩放因子选择为1。由于STA5消耗完了 Q4队列的配额,因此被下移到Q3队列,其他STA计算类似。Figure 7 is a schematic diagram of data transmission of 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 the 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 all The quota of the Q4 queue is therefore moved down to the Q3 queue. The calculation for other STAs is similar.
图8为根据本申请实施例的一种基于通信网络的业务调度装置800示意图,该业务调度装置800可应用于上述图1对应实施例的通信网络部署中及图2对应实施例的AP架构中,还可以应用于其他包括多个业务的通信网络环境,本申请对此不做限制。该装置800包括分配801、调度模块802,其中,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:
分配模块801,响应于接收到业务数据,用于按照预定的流量分配策略将所述业务数据分配给相应的业务队列,其中每个业务队列包括具有不同调度优先级的多个调度队列,每个业务队列具有相应的设备优先级表,所述设备优先级表记录所述网络设备与所述多个调度队列的动态对应关系;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;
分配模块801,还用于根据所述业务数据所属的网络设备或所述业务数据的业务类型将所述业务数据分配给所述多个调度队列中相应的调度队列;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;
发送模块802,用于按照所述多个调度队列的调度优先级发送所述多个调度队列中的业务数据,其中,优先发送调度优先级较高的调度队列中的业务数据。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.
在一些实施例中,分配模块801还用于确定所述业务数据所属的网络设备,并查询所述业务队列的设备优先级表,以确定与所述业务数据所属的网络设备对应的调度队列;将所述业务数据分配给所确定的所述调度队列。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.
在一些实施例中,分配模块801还用于如果在所述设备优先级表中没有查询到所述业务数据所属的网络设备,确定所述业务数据的业务类型;在所述业务类型为第一业务类型的情况下将所述业务数据分配给所述多个调度队列中具有最高调度优先级的调度队列。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.
在一些实施例中,分配模块801还用于在所述业务类型为第二业务类型的情况下,确定所述业务数据所属的网络设备;根据所述业务数据所属的网络设备的静态优先级将所述业务数据分配给所述多个调度队列中的相应调度队列。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.
在一些实施例中,分配模块801还用于根据所述业务数据所属的网络设备的静态优先级确定相对应的调度优先级;将所述业务数据分配给具有所述相对应的调度优先级的调度队列。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.
在一些实施例中,在将所述业务数据分配给所述相应的调度队列之后,分配模块801还用于更新所述业务队列的设备优先级表,以将所述业务数据所属的网络设备与所述相对应的调度队列之间的对应关系记载到所述设备优先级表中。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.
在一些实施例中,发送模块802用于在发送所述业务数据之后,根据所发送的所述业务数据更新所述调度队列的队列传输配额;在所述队列传输配额小于等于第一预定阈值的情况下,将该调度队列中的所有业务数据转移到所述多个调度队列中调度优先级低于该调 度队列的其他调度队列中。In some embodiments, the sending module 802 is used to update the queue transmission quota of the scheduling queue according to the sent business data after sending the business data; when the queue transmission quota is less than or equal to the first predetermined threshold, transfer all business data in the scheduling queue to the scheduling queue with a scheduling priority lower than the scheduling queue. In other dispatch queues of the same scheduling queue.
在一些实施例中,发送模块802用于在所述队列传输配额大于第一预定阈值的情况下,根据所发送的所述业务数据更新所述业务数据所属的网络设备的设备传输配额;在所述设备传输配额小于第二预定阈值的情况下,对于具有最高优先级的调度队列中的网络设备,将该网络设备中的所有业务数据重新转移到所述最高优先级的调度队列中;对于除最高优先级的调度队列中的其他调度队列,将该网络设备的所有业务数据从当前调度队列转移到所述多个调度队列中调度优先级低于所述当前调度队列的其他调度队列中。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.
在一些实施例中,发送模块802用于根据所发送的所述业务数据的传输模式,更新所述调度队列的队列传输配额。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.
在一些实施例中,发送模块802具体用于当所述传输模式为正交频分多址复用时,更新后的所述调度队列的队列传输配额为: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:
SliceSTA i=SliceSTA i-SliceUse*BWi/BWTotal,其中,SliceUse为本次多用户传输的总传输配额使用,BWi为当前调度队列的资源块大小,BWTotal为多用户传输的总资源块大小。Slice STA i =Slice STA i −Slice Use *BW i /BW Total , wherein Slice Use is the total transmission quota usage of this multi-user transmission, BW i is the resource block size of the current scheduling queue, and BW Total is the total resource block size of the multi-user transmission.
当所述传输模式为多用户多入多出时,更新后的所述调度队列的队列传输配额为:When the transmission mode is multi-user multiple-input multiple-output, the updated queue transmission quota of the scheduling queue is:
SliceSTA i=SliceSTA i-SliceUse*NSSi/NSSTotal,其中,SliceUse为本次多用户传输的总传输配额使用,NSSi为当前调度队列的空间流数量,NSSTotal为多用户传输的总空间流数量。Slice STA i =Slice STA i -Slice Use *NSS i /NSS Total , where Slice Use is the total transmission quota usage of this multi-user transmission, NSS i is the number of spatial streams in the current scheduling queue, and NSS Total is the total number of spatial streams in the multi-user transmission.
在一些实施例中,发送模块802具体还用于将该网络设备的所有业务数据从当前调度队列转移到所述多个调度队列中调度优先级低于所述当前调度队列的其他调度队列中后,所述网络设备对应于被转移到的其他调度队列的设备传输配额为: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:
Slicecur=Slice+Factor*Slicelast,其中,Slice为重新分配给网络设备的对应于其他调度队列的传输配额,Slicelast为所述网络设备对应于当前调度队列的设备传输配额,Factor为缩放因子。Slice cur = Slice+Factor*Slice last , wherein 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.
在一些实施例中,分配模块801还用于基于调度目标选择所述队列传输配额和所述设备传输配额,其中,所述设备传输配额和所述设备传输配额为传输时间或者传输数据量。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.
在一些实施例中,发送模块802还用于当新的网络设备的业务数据加入到所述多个调度队列中或睡眠网络设备的业务数据重新加入到所述多个调度队列中时,所述新的网络设备的业务数据或所述睡眠网络设备的业务数据选择的调度队列为Qin=min(Qmax,Qout), Qout为睡眠网络设备的业务数据退出调度队列时所述睡眠网络设备的业务数据所在的调度队列,Qmax为所述新的网络设备的业务数据加入时存在业务队列内的所有网络设备的业务数据中的最高调度队列。In some embodiments, the sending module 802 is further configured to, 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 queue selected by the service data of the new network device or the service data of the sleeping network device is Qin = 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, and Q max is the highest scheduling queue among the service data of all network devices in the service queue when the service data of the new network device is added.
在一些实施例中,发送模块802还用于当存在网络设备的业务数据STAi同时在至少两个业务队列中的优先级均高于第三阈值,所述网络设备的业务数据STAi在其中一个业务队列TIDm中被调度,且使用的设备传输配额为SliceSTAi,TIDm时,则所述网络设备的业务数据STAi在所述至少两个业务队列的其他业务队列中TIDn的设备传输配额为:SliceSTAi,TIDn=SliceSTAi,TIDn-FactorTiDn,m*SliceSTAi,TIDm,其中,FactorTiDn,m为所述至少两个业务队列之间的缩放因子。In some embodiments, the sending module 802 is also used for, when there is service data STAi of a network device whose priority 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,TIDm , then the device transmission quota of the service data STAi of the network device in the other service queues TIDn of the at least two service queues is: Slice STAi,TIDn = Slice STAi,TIDn -Factor TiDn,m *Slice STAi,TIDm , wherein Factor TiDn,m is the scaling factor between the at least two service queues.
本申请实施例还提供一种基于通信网络的业务调度设备,该业务调度设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,该程序被该处理器执行时实现上述实施例中的任一项调度方法。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 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 realized.
本申请实施例还提供一种计算机可读存储介质,该存储介质存储有一个或者多个程序,当一个或者多个程序可被一个或者多个处理器执行,以实现根据上述任一实施例的业务调度方法。An embodiment of the present application also provides a computer-readable storage medium, which stores one or more programs. When the one or more programs can be executed by one or more processors, a service scheduling method according to any of the above embodiments is implemented.
本申请提供的基于通信网络的业务调度方法、装置、设备、计算机可读存储介质,能够避免传统调度技术复杂的动态优先级计算。同时在流量数据传输过程中,根据各个站点的动态传输配额确定各个站点的动态优先级策略,每个优先级对应一个调度队列,每个队列中站点的优先级会随着传输配额使用量的降低,且通过站点传输配额的重新分配,传输配额的惩罚等提供了期望的站点优先级提升,针对网络传输中的多用户传输、节点新加入网络或睡眠等典型场景,也做出了对应的策略优化,且本申请实施例也考虑了某些场景下的“饥饿”现象,进一步提升的调度的公平性。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 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 provided through the redistribution of the site transmission quota, the penalty of the transmission quota, etc., and 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, and further improves the fairness of scheduling.
进一步,采用本申请实施例所描述的业务调度方法、装置、设备及计算机可读存储介质后,能够应对实时业务的性能需求。通过在调度方法中设置优先级较高的实时业务队列,实时业务相较于普通业务能够获得更高的优先级和更多的传输机会,且在一定的传输时间或者数据量内,实时业务的优先级不会发生改变。Furthermore, the service scheduling method, device, equipment and computer-readable 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.
进一步,采用本申请实施例所描述的业务调度方法、装置、设备及计算机可读存储介质后,能够满足不同用户的自定义优先级业务的传输需求。每个业务具有静态优先级标签,不同用户可针对业务设备不同的静态优先级。在本申请实施例中的业务调度方法中,静态优先级将被映射到不同的动态业务队列中,较大的静态优先级对应的动态优先级越大,动 态优先级较大的业务将获得更多的传输机会从而满足业务的吞吐或时延需求。Furthermore, the service scheduling method, device, equipment and computer-readable storage medium described in the embodiments of the present application can meet the transmission requirements of customized priority services of different users. Each service has a static priority label, and different users can have different static priorities for service devices. In the service scheduling method in the embodiments 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. Services with higher priority will get more transmission opportunities to meet the throughput or latency requirements of the services.
本发明所涉及的优化方法、装置、设备、计算机可读存储介质,与相关技术相比,可以满足不同业务类型的调度需求,调度公平性较好,实现难度较低。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.
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。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.
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机可读存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。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 may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some physical components 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-temporary 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 disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, 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, 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.
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。 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 (23)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310804968.9A CN119276680A (en) | 2023-06-30 | 2023-06-30 | Communication network-based service scheduling method, device, equipment and storage medium |
CN202310804968.9 | 2023-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2025001747A1 true WO2025001747A1 (en) | 2025-01-02 |
Family
ID=93937458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2024/096677 WO2025001747A1 (en) | 2023-06-30 | 2024-05-31 | Communication network-based service scheduling method, apparatus, device and storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN119276680A (en) |
WO (1) | WO2025001747A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070081515A1 (en) * | 2003-10-31 | 2007-04-12 | Koninklijke Philips Electronics N.V. | Integrated circuit and method for avoiding starvation of data |
CN107733689A (en) * | 2017-09-15 | 2018-02-23 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Dynamic weighting polling dispatching strategy process based on priority |
CN111314243A (en) * | 2020-01-21 | 2020-06-19 | 北京工业大学 | LoRa network QoS scheduling management method supporting complex service data transmission |
CN112887206A (en) * | 2021-01-20 | 2021-06-01 | 西安电子科技大学 | Router queue scheduling method based on dynamic priority in quantum metropolitan area network |
CN116137613A (en) * | 2021-11-17 | 2023-05-19 | 中兴终端有限公司 | Data scheduling method, system, device and computer readable storage medium |
-
2023
- 2023-06-30 CN CN202310804968.9A patent/CN119276680A/en active Pending
-
2024
- 2024-05-31 WO PCT/CN2024/096677 patent/WO2025001747A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070081515A1 (en) * | 2003-10-31 | 2007-04-12 | Koninklijke Philips Electronics N.V. | Integrated circuit and method for avoiding starvation of data |
CN107733689A (en) * | 2017-09-15 | 2018-02-23 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Dynamic weighting polling dispatching strategy process based on priority |
CN111314243A (en) * | 2020-01-21 | 2020-06-19 | 北京工业大学 | LoRa network QoS scheduling management method supporting complex service data transmission |
CN112887206A (en) * | 2021-01-20 | 2021-06-01 | 西安电子科技大学 | Router queue scheduling method based on dynamic priority in quantum metropolitan area network |
CN116137613A (en) * | 2021-11-17 | 2023-05-19 | 中兴终端有限公司 | Data scheduling method, system, device and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN119276680A (en) | 2025-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2547000C (en) | Quality of service scheduler for a wireless network | |
CN101849393B (en) | Scheduling a mixed flow of Best Effort flows and delayed QOS flows | |
US8634293B2 (en) | Service differentiation and service level agreements for wireless access clients | |
CN102448147B (en) | Method and device for accessing wireless service | |
CN102014500B (en) | Method for efficiently allocating bandwidths in wireless access network | |
WO2011139462A2 (en) | Techniques for initiating communication in a wireless network | |
TWI795089B (en) | A device and a method for scheduling data transmission | |
WO2014117347A1 (en) | Data scheduling method and apparatus | |
CN102970763A (en) | Resource scheduling method and device based on service qualities | |
Lin et al. | A latency and modulation aware bandwidth allocation algorithm for WiMAX base stations | |
EP4356677A1 (en) | Low latency fairness management | |
CN112953749A (en) | Transmission rate configuration method and device | |
CN116234018B (en) | 5G-TSN fusion deployment scene-oriented downlink wireless resource scheduling method and device | |
WO2025001747A1 (en) | Communication network-based service scheduling method, apparatus, device and storage medium | |
CN103391582B (en) | A kind of combined scheduling method based on buffer status and device | |
Yang et al. | A dynamic strategy for packet scheduling and bandwidth allocation based on channel quality in IEEE 802.16 e OFDMA system | |
Bankov et al. | Performance Evaluation of Wi-Fi 7 Networks with Restricted Target Wake Time | |
US9072079B2 (en) | Method for controlling channel access, access point and user equipment | |
Vijay et al. | Quality of Service Improvements in IEEE 802.11 AX Wi-Fi | |
Chuang et al. | A channel-aware downlink scheduling scheme for real-time services in long-term evolution systems | |
Rao et al. | QoS based radio resource management techniques for next generation MU-MIMO WLANs: A survey | |
Huang et al. | Research on dynamic bandwidth allocation algorithm in bluetooth piconet based on multipriority | |
Kartsakli et al. | Cross-layer scheduling with QoS support over a distributed queuing MAC for wireless LANs | |
WO2024214275A1 (en) | Access point and terminal | |
Hong et al. | Cross-layer resource scheduling and allocation with QoS support for cognitive radio systems |