Downlink data weighted scheduling method based on packet scheduling time
By adopting the technology based on packet scheduling time in the weighted scheduling method, the problem of failure to effectively utilize the scheduling bandwidth and failing to schedule based on the earliest/latest calculation of packet scheduling time in the prior art is solved, and more efficient bandwidth utilization and QoS guarantee are achieved.
Patent Information
- Application Number
- CN202411871788.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-18
- Publication Date
- 2025-03-25
AI Technical Summary
When processing air-interface data streams, the existing weighted scheduling algorithm fails to effectively utilize the residual bandwidth, and does not schedule based on the earliest/latest calculation of packet scheduling time, resulting in low bandwidth utilization.
A downlink data weighted scheduling method based on packet scheduling time is adopted. By estimating the bandwidth reference value of the total available bandwidth and data stream, estimating the traffic change trend, counting the amount of data to be sent, performing initial bandwidth allocation and reallocation, and finally calculating the earliest/latest scheduling time of the data packet for scheduling.
It realizes lower weighted scheduling performance overhead, can automatically redistribute surplus bandwidth, improves bandwidth utilization, and provides differentiated treatment and QoS guarantee for different services.
Smart Images

Figure CN119697776A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of network communication data processing, and in particular to a downlink data weighted scheduling method based on packet scheduling time. Background Art
[0002] The existing weighted scheduling algorithm implementations on the market are basically modified based on the above-mentioned original and derived weighted scheduling algorithms to adapt them to certain specific business scenarios. However, there is no mention of the corresponding implementation plan for the particularity of the aforementioned air interface data flow scheduling and how to automatically reallocate the excess bandwidth of a certain data flow. In some non-public weighted scheduling algorithm implementations, the particularity of the aforementioned air interface data flow scheduling is also taken into account, but the implementation method is not based on calculating the data packet scheduling time.
[0003] The weighted scheduling algorithms on the market are based on the premise that the bandwidth remains fixed. They are not based on the earliest / latest calculation of packet scheduling time, and do not automatically reallocate excess bandwidth for specific scenarios - when some data flows do not need to use all the allocated bandwidth. Summary of the invention
[0004] The purpose of the present invention is to provide a downlink data weighted scheduling method based on packet scheduling time, which only requires one switch between the earliest scheduling / latest scheduling queues. After determining the earliest / latest scheduling time of the data packet, it has a lower weighted scheduling performance overhead.
[0005] The technical solution adopted by the present invention is: A method for weighted scheduling of downlink data based on packet scheduling time, comprising the following steps: Step 1, estimating the total available bandwidth in the current weighted scheduling evaluation period, and calculating the available bandwidth reference value for each specific data flow according to the preset weight value; Furthermore, the specific steps of step 1 are as follows: Step 1-1, calculating the average MCS value of N periods before the current weighted scheduling evaluation period; Step 1-2, convert the MCS value into the modulation order and code rate according to the 5G protocol; Step 1-3, calculate the number of available REs (Resource Elements) based on the communication frequency domain (system bandwidth), subcarrier spacing, and uplink and downlink slot ratios currently configured by the base station.
[0006] Step 1-4: Calculate the average layer value (number of layers) of the previous scheduling period.
[0007] Step 1-5, multiplying the results of steps 1-1 to 1-4, and then multiplying by an empirical estimation coefficient, to finally obtain the total available bandwidth in the current weighted scheduling evaluation period; Step 1-6, accumulating the pre-set weight value of each data flow to obtain a total weight value; Step 1-7, referring to the ratio of the specific data flow weight value to the total weight value, sets the bandwidth reference value for each data flow.
[0008] Furthermore, the bandwidth baseline value available for each data stream in step 1 = total available bandwidth * data stream weight ratio.
[0009] Step 2: estimate the traffic change trend for each data flow and count the amount of data to be sent for each data flow; Furthermore, when counting the amount of data to be sent for each data flow in step 2, the amount of downlink data in the cache of each data flow is counted; if a data flow has a cache full situation during this weighted scheduling evaluation cycle, this data flow is marked as a cache full state; the cache full state means that the bandwidth baseline value needs to be 100% occupied when the bandwidth is initially allocated.
[0010] Step 3: initially allocating bandwidth to data streams based on traffic change trends and broadband baseline information to calculate initial bandwidth allocation values for all data streams; Step 4, according to the difference between the amount of data to be sent of each data flow and the initial bandwidth allocation value, collect the surplus bandwidth of each data flow for redistribution to determine the bandwidth finally allocated to each data flow; Furthermore, step 4 specifically includes the following steps: Step 4-1, traverse all data flows: if the amount of data to be sent of a data flow is greater than the initially allocated bandwidth, save this data flow to the queue that needs to be reallocated; If the amount of data to be sent for a data flow is less than or equal to the initially allocated bandwidth, the bandwidth finally allocated to this data flow is the bandwidth that just meets the amount of data to be sent. At the same time, the surplus unused bandwidth is accumulated to the reallocatable bandwidth counter.
[0011] Step 4-2, traverse all data flows in the queue waiting for reallocation: record the difference X = the amount of data to be sent by the data flow - the initial allocated bandwidth; If the reallocatable bandwidth counter value is greater than zero and greater than the difference value X, the bandwidth finally allocated to the data flow is "the initial allocated bandwidth + the difference value X", and the reallocatable bandwidth counter value is updated to "the original counter value - the difference value X"; If the reallocatable bandwidth counter value is greater than zero and less than or equal to the difference value X, the bandwidth finally allocated to the data flow is "initial allocation bandwidth + reallocatable bandwidth counter value", and the reallocatable bandwidth counter value is set to 0; Step 4-3: If the value of the reallocatable bandwidth counter is zero, or all data flows in the queue waiting for reallocation have been processed, the reallocation process ends.
[0012] Step 5, calculating the earliest / latest scheduling time of each data packet of the corresponding data flow with the bandwidth finally allocated; Among them, TTI: Transmission Time-Interval, which is the basic time unit for user scheduling.
[0013] The maximum number of bytes that can be transmitted in a TTI is the final allocated bandwidth (in bits) divided by the number of TTIs in the evaluation period. The result is then divided by 8 to convert bits into bytes.
[0014] Minimum number of bytes that can be transmitted in a TTI: a predefined value.
[0015] Earliest scheduling time: The size of the packet (in bytes) divided by the maximum number of bytes that can be transmitted in the TTI of the data stream, the result is the calculated earliest scheduling time.
[0016] Latest scheduling time: The size of the packet (unit: byte) divided by the number of bytes that can be transmitted in the minimum TTI of the data stream, the result is the calculated latest scheduling time.
[0017] Furthermore, the calculation formula for the earliest / latest scheduling time of each data packet in the data stream in step 5 is as follows: Earliest scheduling time = bandwidth allocated to a specific data flow / packet size; The latest scheduling time = predefined minimum guaranteed bandwidth / packet size.
[0018] Step 6: Scheduling is performed based on the priority of the data flow itself and the earliest / latest scheduling time of each data packet to achieve differentiated treatment of different services.
[0019] Furthermore, in step 6, a certain QoS guarantee function requirement is also provided.
[0020] The present invention adopts the above technical solution, first performs characteristic analysis on the data stream to be processed, and then sets different priorities for the data according to the analysis results; when encountering different downlink service data streams with the same priority, different scheduling weights are configured according to predefined labels, thereby finally realizing weighted scheduling of different types of different data streams. The present invention can efficiently schedule downlink data according to the differentiated 5QI weighted ratio. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The present invention is further described in detail below with reference to the accompanying drawings and specific embodiments; Figure 1 It is a schematic diagram of a flow chart for estimating flow rate change trend of the present invention; Figure 2 Schematic diagram of the process of initial bandwidth allocation for data streams. DETAILED DESCRIPTION
[0022] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0023] The core principles of weighted scheduling are the same. Common scheduling algorithms include: WRR (Weighted Round Robin) scheduling, DRR (Deficit Round Robin) scheduling, and DWRR (Deficit Weighted Round Robin) scheduling. However, the data flow of the base station has its own particularity. For example, each data flow may be in a situation where the rate demand fluctuates. In addition, since the air interface transmission environment itself is also interfered by various wireless noises, the actual total available bandwidth and rate of the system are also constantly changing. In order to maximize bandwidth utilization, a problem needs to be solved: when some data flows cannot fully utilize the allocated bandwidth, the scheduling algorithm can automatically reallocate and utilize the surplus bandwidth.
[0024] like Figure 1 As shown in or 2, the present invention discloses a downlink data weighted scheduling method based on packet scheduling time, which includes the following steps: Step 1, estimating the total available bandwidth in the current weighted scheduling evaluation period, and calculating the available bandwidth reference value for each specific data flow according to the preset weight value; Furthermore, the specific steps of step 1 are as follows: Step 1-1, calculating the average MCS value of N periods before the current weighted scheduling evaluation period; Step 1-2, convert the MCS value into the modulation order and code rate according to the 5G protocol; Step 1-3, calculate the number of available REs (Resource Elements) based on the communication frequency domain (system bandwidth), subcarrier spacing, and uplink and downlink slot ratios currently configured by the base station.
[0025] Step 1-4: Calculate the average layer value (number of layers) of the previous scheduling period.
[0026] Step 1-5, multiplying the results of steps 1-1 to 1-4, and then multiplying by an empirical estimation coefficient, to finally obtain the total available bandwidth in the current weighted scheduling evaluation period; Step 1-6, accumulating the pre-set weight value of each data flow to obtain a total weight value; Step 1-7, referring to the ratio of the specific data flow weight value to the total weight value, sets the bandwidth reference value for each data flow.
[0027] Furthermore, the bandwidth baseline value available for each data stream in step 1 = total available bandwidth * data stream weight ratio.
[0028] Step 2: estimate the traffic change trend for each data flow and count the amount of data to be sent for each data flow; Furthermore, when counting the amount of data to be sent for each data flow in step 2, the amount of downlink data in the cache of each data flow is counted; if a data flow has a cache full situation during this weighted scheduling evaluation cycle, this data flow is marked as a cache full state; the cache full state means that the bandwidth baseline value needs to be 100% occupied when the bandwidth is initially allocated.
[0029] Step 3: initially allocating bandwidth to data streams based on traffic change trends and broadband baseline information to calculate initial bandwidth allocation values for all data streams; Step 4, according to the difference between the amount of data to be sent of each data flow and the initial bandwidth allocation value, collect the surplus bandwidth of each data flow for redistribution to determine the bandwidth finally allocated to each data flow; Furthermore, step 4 specifically includes the following steps: Step 4-1, traverse all data flows: if the amount of data to be sent of a data flow is greater than the initially allocated bandwidth, save this data flow to the queue that needs to be reallocated; If the amount of data to be sent for a data flow is less than or equal to the initially allocated bandwidth, the bandwidth finally allocated to this data flow is the bandwidth that just meets the amount of data to be sent. At the same time, the surplus unused bandwidth is accumulated to the reallocatable bandwidth counter.
[0030] Step 4-2, traverse all data flows in the queue waiting for reallocation: record the difference X = the amount of data to be sent by the data flow - the initial allocated bandwidth; If the reallocatable bandwidth counter value is greater than zero and greater than the difference value X, the bandwidth finally allocated to the data flow is "the initial allocated bandwidth + the difference value X", and the reallocatable bandwidth counter value is updated to "the original counter value - the difference value X"; If the reallocatable bandwidth counter value is greater than zero and less than or equal to the difference value X, the bandwidth finally allocated to the data flow is "initial allocation bandwidth + reallocatable bandwidth counter value", and the reallocatable bandwidth counter value is set to 0; Step 4-3: If the value of the reallocatable bandwidth counter is zero, or all data flows in the queue waiting for reallocation have been processed, the reallocation process ends.
[0031] Step 5, calculating the earliest / latest scheduling time of each data packet of the corresponding data flow with the bandwidth finally allocated; Among them, TTI: Transmission Time-Interval, which is the basic time unit for user scheduling.
[0032] The maximum number of bytes that can be transmitted in a TTI is the final allocated bandwidth (in bits) divided by the number of TTIs in the evaluation period. The result is then divided by 8 to convert bits into bytes.
[0033] Minimum number of bytes that can be transmitted in a TTI: a predefined value.
[0034] Earliest scheduling time: The size of the packet (in bytes) divided by the maximum number of bytes that can be transmitted in the TTI of the data stream, the result is the calculated earliest scheduling time.
[0035] Latest scheduling time: The size of the packet (unit: byte) divided by the number of bytes that can be transmitted in the minimum TTI of the data stream, the result is the calculated latest scheduling time.
[0036] Furthermore, the calculation formula for the earliest / latest scheduling time of each data packet in the data stream in step 5 is as follows: Earliest scheduling time = bandwidth allocated to a specific data flow / packet size; The latest scheduling time = predefined minimum guaranteed bandwidth / packet size.
[0037] Step 6: Scheduling is performed based on the priority of the data flow itself and the earliest / latest scheduling time of each data packet to achieve differentiated treatment of different services.
[0038] Furthermore, in step 6, a certain QoS guarantee function requirement is also provided.
[0039] Weighted scheduling refers to allocating available bandwidth between data streams of the same priority according to the weight value. Data streams of different priorities will be scheduled in order from high to low priority. After the high-priority data stream is scheduled, if there is still available bandwidth left, the data streams of the next priority will be scheduled. The scheduling system of the present invention will take out the earliest / latest scheduling time of each data packet of each data stream, compare it with the current time, and thus determine whether the inserted queue is the earliest scheduling queue or the latest scheduling queue. The scheduling system will then insert the data packet into the earliest / latest scheduling queue under the corresponding priority according to the priority of the data stream where the data packet is located. The scheduling system will traverse the earliest / latest scheduling queue under each priority. If the current time is later than the earliest scheduling time of a data packet, only when there are still remaining downlink channel resources will the data packet be finally scheduled and the actual downlink resources will be allocated to it. If a data packet has not been scheduled, so that the current time is already later than the latest scheduling time of this data packet, then this data packet will be moved to the latest scheduling queue of the same priority. In the latest scheduling queue, the data packet will be scheduled first, so as to meet the minimum rate requirements of each data stream.
[0040] Specifically, when the cell is not congested and the user AMBR is not limited, if other conditions such as channel quality and traffic volume are the same, the present invention can ensure that the rate ratio of any two Non-GBR service bearers in the cell is the ratio of the configured weight values. For example: the scheduling weights configured for 5QI 6, 8, and 9 are 4:2:1 respectively. At the same time, 4 service bearers with 5QIs of 6, 6, 8, and 9 respectively perform full buffer services, and the rate ratio of the 4 bearers calculated by the weighted scheduling method is 4:4:2:1.
[0041] The present invention adopts the above technical solution, first performs characteristic analysis on the data stream to be processed, and then sets different priorities for the data according to the analysis results; when encountering different downlink service data streams within the same priority, different scheduling weights are configured according to predefined labels, thereby finally realizing weighted scheduling of different types of different data streams. The present invention can efficiently schedule downlink data according to the differentiated 5QI weighted ratio. The present invention can efficiently schedule downlink data according to the differentiated 5QI weighted ratio.
[0042] Obviously, the described embodiments are part of the embodiments of the present application, rather than all of the embodiments. In the absence of conflict, the embodiments in the present application and the features in the embodiments can be combined with each other. The components of the embodiments of the present application generally described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the detailed description of the embodiments of the present application is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians of the art without making creative work are within the scope of protection of the present application.
Claims
1. A weighted scheduling method for downlink data based on packet scheduling time, characterized in that: It includes the following steps: Step 1, estimating the total available bandwidth in the current weighted scheduling evaluation period, and calculating the available bandwidth reference value for each specific data flow according to the preset weight value; Step 2: estimate the traffic change trend for each data flow and count the amount of data to be sent for each data flow; Step 3: initially allocating bandwidth to data streams based on traffic change trends and broadband baseline information to calculate initial bandwidth allocation values for all data streams; Step 4, according to the difference between the amount of data to be sent of each data flow and the initial bandwidth allocation value, collect the surplus bandwidth of each data flow for redistribution to determine the bandwidth finally allocated to each data flow; Step 5, calculating the earliest / latest scheduling time of each data packet of the corresponding data flow with the bandwidth finally allocated; Step 6: Scheduling is performed based on the priority of the data flow itself and the earliest / latest scheduling time of each data packet to achieve differentiated treatment of different services.
2. The method for weighted scheduling of downlink data based on packet scheduling time according to claim 1, characterized in that: The specific steps of step 1 are as follows: Step 1-1, calculating the average MCS value of N periods before the current weighted scheduling evaluation period; Step 1-2, convert the MCS value into the modulation order and code rate according to the 5G protocol; Step 1-3, calculate the number of available REs according to the communication frequency domain, subcarrier spacing, and uplink and downlink slot ratio parameters currently configured by the base station; Step 1-4, calculate the average layer value of the last scheduling period; Step 1-5, multiplying the results of steps 1-1 to 1-4, and then multiplying by an empirical estimation coefficient, to finally obtain the total available bandwidth in the current weighted scheduling evaluation period; Step 1-6, accumulating the pre-set weight value of each data flow to obtain a total weight value; Step 1-7, referring to the ratio of the specific data flow weight value to the total weight value, sets the bandwidth reference value for each data flow.
3. The method for weighted scheduling of downlink data based on packet scheduling time according to claim 1, characterized in that: The bandwidth baseline value available for each data flow in step 1 = total available bandwidth * data flow weight ratio.
4. The method for weighted scheduling of downlink data based on packet scheduling time according to claim 1, characterized in that: In step 2, the amount of downlink data in the cache of each data flow is counted; if a data flow has a cache full situation during this weighted scheduling evaluation period, this data flow is marked as a cache full state; the cache full state means that the bandwidth baseline value needs to be 100% filled when the bandwidth is first allocated.
5. The method for weighted scheduling of downlink data based on packet scheduling time according to claim 1, characterized in that: Step 4 specifically includes the following steps: Step 4-1, traverse all data flows, and when the amount of data to be sent of a data flow is greater than the initially allocated bandwidth, save this data flow to the queue that needs to be reallocated; When the amount of data to be sent for a data flow is less than or equal to the initially allocated bandwidth, the bandwidth finally allocated to this data flow is the bandwidth that just meets the amount of data to be sent, and the surplus unused bandwidth is accumulated to the reallocatable bandwidth counter; Step 4-2, traverse all data flows in the queue waiting for reallocation, and calculate the difference value X corresponding to each data flow = the amount of data to be sent by the data flow - the initial allocated bandwidth; When the reallocatable bandwidth counter value is greater than zero and greater than the difference value X, the bandwidth finally allocated to the data flow is "the initial allocated bandwidth + the difference value X", and the reallocatable bandwidth counter value is updated to "the original counter value - the difference value X"; When the reallocatable bandwidth counter value is greater than zero and less than or equal to the difference value X, the bandwidth finally allocated to the data flow is "initial allocation bandwidth + reallocatable bandwidth counter value", and the reallocatable bandwidth counter value is set to 0; Step 4-3: When the value of the reallocatable bandwidth counter is zero, or all data flows in the waiting reallocation queue are processed, the reallocation process ends.
6. The method for weighted scheduling of downlink data based on packet scheduling time according to claim 1, characterized in that: The calculation formula for the earliest / latest scheduling time of each data packet in the data flow in step 5 is as follows: Earliest scheduling time = bandwidth allocated to a specific data flow / packet size; The latest scheduling time = predefined minimum guaranteed bandwidth / packet size.
7. The method for weighted scheduling of downlink data based on packet scheduling time according to claim 1, characterized in that: In step 6, a certain QoS guarantee function requirement is also provided.