A data stream scheduling method, device, medium, and product based on quality of service.
By dynamically adjusting the scheduling priority score and weight factor of logical channels, the problem of statically setting the weight of logical channel priority calculation in 5G communication systems is solved, thus achieving resource guarantee for high-priority services and improving system performance.
Patent Information
- Application Number
- CN202510827924.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-20
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2045-06-20
AI Technical Summary
In existing 5G communication systems, the weights for calculating logical channel priorities are usually set statically and cannot be dynamically adjusted according to different service requirements, which makes it impossible to effectively guarantee the allocation of resources for high-priority services.
By combining the 5QI value, data volume, and scheduling cycle of the logical channel, the scheduling priority score and weighting factor of the logical channel are dynamically adjusted, including modulation and coding scheme, service level, latency urgency, queue load, and token fairness factor, to perform comprehensive priority scoring and resource scheduling.
It enables dynamic priority adjustment based on business needs, ensuring resource guarantees for high-priority businesses, improving resource utilization efficiency and system performance, and adapting to the differentiated scheduling needs of different types of businesses.
Smart Images

Figure CN120358619B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data stream scheduling technology, and in particular to a data stream scheduling method, device, medium and product based on quality of service. Background Technology
[0002] Priority calculation weights in existing technologies typically involve the following factors: 5QI (Quality of Service Stream Indicator), MCS (Modulation and Coding Scheme), qload (queue load), and PDB (Packet Delay Budget). These weight values are usually set uniformly at the cell level and resource allocation is performed using a round-robin scheduling method. In traditional 5G communication systems, the weights for logical channel (LC) priority calculation are usually based on static settings, which cannot dynamically adjust priorities according to different service requirements. Summary of the Invention
[0003] The purpose of this application is to provide a data stream scheduling method, device, medium, and product based on quality of service, which can dynamically adjust the priority of each logical channel after the scheduling period ends.
[0004] To achieve the above objectives, this application provides the following solution:
[0005] Firstly, this application provides a data flow scheduling method based on quality of service, including:
[0006] The scheduling priority score of the logical channel is determined by combining the 5QI value, data volume, and scheduling period of the logical channel. The scheduling priority score includes: the priority score of the logical channel in terms of modulation and coding scheme indicators, the priority score in terms of service level indicators, the priority score in terms of latency urgency indicators, the priority score in terms of queue load indicators, and the priority score in terms of token fairness factor indicators.
[0007] Based on service quality requirements and network characteristics, the scheduling priority weight factors of logical channels are determined; the scheduling priority weight factors include: priority weight factors of logical channels on modulation and coding scheme indicators, priority weight factors on service level indicators, priority weight factors on delay urgency indicators, priority weight factors on queue load indicators, and priority weight factors on token fairness factor indicators.
[0008] Calculate the comprehensive priority score for each logical channel based on the scheduling priority score and the scheduling priority weight factor;
[0009] The resource scheduling order of each logical channel is determined based on the comprehensive priority score;
[0010] At the end of each scheduling cycle, the performance parameters of the logical channel are obtained; the performance parameters include: average header packet delay, maximum header packet delay, average modulation and coding exponent, scheduling success rate, token consumption, and queue load.
[0011] Based on the changes in performance parameters after each scheduling cycle, update the scheduling priority weight factor of the corresponding logical channel.
[0012] Based on the scheduling priority score and the updated scheduling priority weight factor, calculate the comprehensive priority score for each logical channel to obtain the updated comprehensive priority score;
[0013] The resource scheduling order of each logical channel is updated based on the updated comprehensive priority score.
[0014] In a second aspect, this application provides a computer device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the data flow scheduling method based on quality of service as described above.
[0015] Thirdly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the quality-of-service-based data flow scheduling method described above.
[0016] Fourthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the quality-of-service-based data flow scheduling method described above.
[0017] According to the specific embodiments provided in this application, the following technical effects are disclosed:
[0018] This application provides a data stream scheduling method, device, medium, and product based on Quality of Service (QoS). The method includes: determining a scheduling priority score for a logical channel by combining its 5QI value, data volume, and scheduling period; the scheduling priority score includes: a priority score for the logical channel on modulation and coding scheme metrics, a priority score on service level metrics, a priority score on latency urgency metrics, a priority score on queue load metrics, and a priority score on token fairness factor metrics; and determining a scheduling priority weight factor for the logical channel based on QoS requirements and network characteristics; the scheduling priority weight factor includes: a priority weight factor for the logical channel on modulation and coding scheme metrics, a priority weight factor for service level metrics, a priority weight factor for latency urgency metrics, and a priority weight factor for queue load metrics. The system includes a scheduling priority factor and a priority weight factor on the token fairness factor index; it calculates a comprehensive priority score for each logical channel based on the scheduling priority score and the scheduling priority weight factor; it determines the resource scheduling order for each logical channel based on the comprehensive priority score; at the end of each scheduling cycle, it obtains the performance parameters of the logical channel, including: average head packet delay, maximum head packet delay, average modulation and coding exponent, scheduling success rate, token consumption, and queue load; it updates the scheduling priority weight factor of the corresponding logical channel based on the changes in the performance parameters after each scheduling cycle; it calculates a comprehensive priority score for each logical channel based on the scheduling priority score and the updated scheduling priority weight factor, obtaining an updated comprehensive priority score; and it updates the resource scheduling order for each logical channel based on the updated comprehensive priority score. In this application, at the end of each scheduling cycle, the performance parameters of the logical channel are obtained, and then the priority of each logical channel is dynamically adjusted based on these performance parameters, thereby solving the technical problem that in traditional 5G communication systems, the weights for calculating the priority of logical channels are usually based on static settings. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a flowchart illustrating a data flow scheduling method based on quality of service (QoS) according to an embodiment of this application.
[0021] Figure 2 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0022] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0023] This application relates to a scheduling method that can dynamically adjust the weight of logical channel (LC) priority calculation according to service requirements, in order to solve the problem of inflexible priority calculation in the prior art, especially in ensuring the scheduling of high-priority services, and can perform customized resource allocation according to the needs of different services.
[0024] In traditional 5G communication systems, the weights for logical channel (LC) priority calculation are typically based on static settings, which cannot dynamically adjust priorities according to different service requirements. Existing priority calculation weights usually involve the following factors: 5QI (Quality of Service Stream Indicator), MCS (Modulation and Coding Scheme), qload (queue load), and PDB (Packet Delay Budget). These weight values are usually uniformly set at the cell level and resource allocation is performed using a round-robin scheduling method. Traditional round-robin scheduling schemes typically lead to the following problems: 1. Round-robin scheduling allocates resources equally to all user terminals (UEs), failing to prioritize services with higher priorities; 2. Priority calculations do not meet actual needs: for example, a UE set to 5QI1 requires the highest priority, but its channel conditions (such as MCS) and data volume (such as qload) are relatively low; while a UE set to 5QI4 should have a lower priority, but its channel conditions and data volume are relatively high, resulting in a higher-than-expected priority calculation. Therefore, traditional scheduling schemes cannot reasonably allocate network resources according to specific service requirements and cannot meet the guarantee requirements of high-priority services.
[0025] This application provides a QoS (Quality of Service)-based data flow scheduling method that can dynamically adjust the weights of logical channel (LC) priority calculations according to specific service requirements and provide priority guarantees for high-priority services. This method overcomes the limitations of traditional scheduling schemes in priority calculation by configuring personalized weights for different service requirements.
[0026] Each logical channel includes the following 5 priority categories:
[0027]
[0028] Among them, Weight is the priority weight factor for each parameter, with a value of 0 to 10; Priority is the specific value of the priority score for each parameter, with a value of 0 to 100.
[0029] The core technical solutions are as follows: 1. Dynamic priority configuration: The calculation weight is dynamically adjusted based on factors such as 5QI, MCS, qload, and PDB for each service, and the UE priority is determined based on the comprehensive influence of these factors; 2. Customized weight configuration: Different weight configurations can be set for services of different 5QI types to ensure that high-priority services are scheduled first; 3. Comprehensive consideration of multiple factors: Priority calculation needs to consider the combined influence of factors such as MCS, qload, and PDB; 4. Flexible parameter adjustment: When there is no clear priority requirement, the weight can be uniformly configured to enhance the flexibility of scheduling.
[0030] Special Note: The W weighting factor mentioned above typically ranges from 0 to 10, and is used to adjust the relative importance of each priority scoring factor (P1~P5) in the overall weight calculation. Weight values can be set based on preset static configurations or dynamically fine-tuned according to system statistical indicators. The system also supports a feedback-based dynamic adjustment mechanism, periodically updating the values of W1~W5 based on parameters such as scheduling success rate, HoL latency, MCS distribution, and token consumption, thereby optimizing resource allocation.
[0031] Compared with traditional scheduling schemes, this application has the following technical advantages: 1. Prioritizes high-priority services and improves the resource availability rate of critical services; 2. Meets the differentiated scheduling needs of different types of services through parameterized configuration; 3. Optimizes resource utilization efficiency and improves the overall system performance; 4. Has good scalability and environmental adaptability.
[0032] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0033] In one exemplary embodiment, such as Figure 1 As shown, a data flow scheduling method based on quality of service is provided. This method is executed by a computer device, specifically by a terminal or server alone, or by both a terminal and a server. In this embodiment, the method is described using a server as an example, and includes the following steps S1 to S8. Wherein:
[0034] S1. Combine the 5QI value, data volume, and scheduling period of the logical channel to determine the scheduling priority score of the logical channel; the scheduling priority score includes: the priority score of the logical channel on the modulation and coding scheme index, the priority score on the service level index, the priority score on the delay urgency index, the priority score on the queue load index, and the priority score on the token fairness factor index.
[0035] Specifically:
[0036] S11. Obtain the priority score of the logical channel in terms of modulation and coding scheme indicators.
[0037] Obtain the modulation and coding scheme level value used by the logical channel; according to the preset predefined level table, map the modulation and coding scheme level value to the priority score of the corresponding logical channel on the modulation and coding scheme index.
[0038] In this embodiment, parameter P1 (priority score of the logical channel in terms of modulation and coding scheme indicators) is used to obtain the MCS (Modulation and Coding Scheme) level value of the current logical channel. A higher value indicates better link quality. The MCS level value is mapped to a predefined level table, such as MCS=0 corresponding to P1=20, MCS=28 corresponding to P1=100, using a linear interval assignment method. The priority configurations corresponding to different MCS levels are as follows:
[0039] MCS=0 corresponds to P1=20, MCS=1 corresponds to P1=22, MCS=2 corresponds to P1=24, MCS=3 corresponds to P1=26, MCS=4 corresponds to P1=28, MCS=5 corresponds to P1=30, MCS=6 corresponds to P1=32, MCS=7 corresponds to P1=34, MCS=8 corresponds to P1=36, MCS=9 corresponds to P1=38, MCS=10 corresponds to P1=40, MCS=11 corresponds to P1=42, MCS=12 corresponds to P1=44, MCS=13 corresponds to P1=46, MCS=14 corresponds to P1=4 8. MCS=15 corresponds to P1=50, MCS=16 corresponds to P1=52, MCS=17 corresponds to P1=54, MCS=18 corresponds to P1=56, MCS=19 corresponds to P1=58, MCS=20 corresponds to P1=60, MCS=21 corresponds to P1=65, MCS=22 corresponds to P1=70, MCS=23 corresponds to P1=75, MCS=24 corresponds to P1=80, MCS=25 corresponds to P1=85, MCS=26 corresponds to P1=90, MCS=27 corresponds to P1=95, and MCS=28 corresponds to P1=100.
[0040] S12. Determine the priority score of the logical channel in the service level index based on the 5QI value of the logical channel.
[0041] In this embodiment, parameter P2 (priority score of logical channels on the Service Level Indicator) is preset based on the service type corresponding to each logical channel, i.e., the 5QI value, and is usually statically determined during the system design phase. Different 5QI values represent different service types, and each service type has different requirements for Quality of Service (QoS), so the corresponding priority scores (P2 scores) also differ.
[0042] The following is a typical mapping method from 5QI values to P2 scores, as shown in Table 1:
[0043] Table 1. Typical mapping methods from 5QI values to P2 scores
[0044]
[0045] Therefore, when determining the initial P2 score for the services carried by the logical channel, the corresponding score value is obtained directly by referring to the preset basic priority table based on the 5QI type of the service. This ensures that the basic service quality requirements of the service type are fully reflected in the overall scheduling priority calculation.
[0046] S13. Based on the packet delay budget and link delay of the logical channel, determine the priority score of the logical channel on the delay urgency index by querying a preset relationship table.
[0047] In this embodiment, parameter P3 (priority score of the logical channel on the delay urgency index) is first used to determine the packet delay budget of the logical channel based on the 5QI value of the logical channel.
[0048] In this embodiment, different 5QI (QoS Identifier) levels are distinguished according to the service, and different PDB (Packet Delay Budget) delays are configured for different 5QI services. Delay is a key indicator for measuring system performance in 5G communication systems.
[0049] Then, the link delay of the logical channel is calculated using the formula: DELAY = current_tick – tick_bo_received, where current_tick represents the current recording time, tick_bo_received represents the time of receiving data, and DELAY represents the link delay.
[0050] In this embodiment, the current Head-of-Line Delay (HoL delay, link delay) of the logical channel is calculated.
[0051] Finally, based on the packet delay budget and link delay of the logical channel, the priority score of the logical channel on the delay urgency index is determined by querying a preset relationship table; wherein, the preset relationship table is a preset priority score query table for the logical channel on the delay urgency index based on the comparison relationship between link delay and packet delay budget.
[0052] In this embodiment, priorities are set based on a comparison between the DELAY value and the PDB (Packet Delay Budget). Priority scores are assigned to each DELAY interval, as shown in Table 2 below:
[0053] Table 2 Priority scoring table for each DELAY interval
[0054]
[0055] Different PDB values are set for different 5QI services. For services with 5QI=1, the PDB is set to 80ms; for services with 5QI=2, the PDB is set to 110ms; for services with 5QI=3, the PDB is set to 120ms; and for services with 5QI=4, the PDB is set to 150ms. The DELAY value is then obtained by calculating the link delay using the formula, and the priority score is determined by looking up the table.
[0056] For example, for a service with 5QI of 1 and PDB set to 80ms, the corresponding priority is shown in Table 3 below. Then, the priority value is determined by looking up the table using the latency value calculated above.
[0057] Table 3 Priority scoring table for each DELAY interval after PDB is set to 80ms
[0058]
[0059] S14. Determine the priority score of the logical channel on the queue load index based on the data volume of the queue load of the logical channel.
[0060] In this embodiment, parameter P4 (priority score of the logical channel on the queue load index) is an important indicator reflecting the current data load level of the logical channel. Its specific value is generally determined by statistically analyzing the number of bits or data packets of data to be scheduled in the logical channel's buffer queue, and then setting different priority scores based on this data volume. In this embodiment, the queue load priority score (P4) is generally set using a segmented mapping method, as shown in Table 4 below:
[0061] Table 4. Priority Scoring Table for Logical Channels in Queue Load Metrics
[0062]
[0063] The bit ranges mentioned above are for illustrative purposes only and can be adjusted according to specific network environments and business needs.
[0064] S15. Determine the priority score of the logical channel on the token fairness factor index according to the scheduling period.
[0065] In this embodiment, parameter P5 (priority score of logical channels on the token fairness factor index) is used to evaluate the scheduling performance of each logical channel under the fair scheduling mechanism, ensuring that each logical channel can obtain scheduling resources reasonably and fairly. At the beginning of each scheduling period, a fixed number of initial tokens (e.g., 10) are allocated to each logical channel. Each token represents one scheduling opportunity; that is, if a logical channel successfully obtains scheduling resources once, one token is deducted accordingly.
[0066] S2. Determine the scheduling priority weight factors for logical channels based on service quality requirements and network characteristics; the scheduling priority weight factors include: priority weight factor W1 for the logical channel in modulation and coding scheme indicators, priority weight factor W2 for service level indicators, priority weight factor W3 for delay urgency indicators, priority weight factor W4 for queue load indicators, and priority weight factor W5 for token fairness factor indicators.
[0067] In this embodiment, the initial values of W1 to W5 are first determined: the method for determining the initial values of each weight factor W1 to W5 can be specifically defined as follows: the initial value of each weight factor W is generally statically preset based on the QoS requirements and network characteristics of different service types (e.g., URLLC, eMBB, BE, etc.) so that the initial scheduling strategy can effectively reflect the typical QoS requirements of the service. Specifically, the initial settings of W1 to W5 are usually as shown in Table 5 below:
[0068]
[0069] Typical W values for various business scenarios are shown in Table 6 below:
[0070] Table 6. Examples of typical W values for various business scenarios
[0071]
[0072] S3. Calculate the comprehensive priority score for each logical channel based on the scheduling priority score and the scheduling priority weight factor.
[0073] The QoS data stream scheduling method in this application primarily determines the allocation order of scheduling resources through a comprehensive priority score of logical channels. The comprehensive priority score of each logical channel is calculated using the following formula:
[0074] LC_WEIGHT=W1×P1+W2×P2+W3×P3+W4×P4+W5×P5;
[0075] Wherein, LC_WEIGHT represents the overall priority score of the logical channel, W1 represents the priority weight factor of the logical channel in the modulation and coding scheme index, P1 represents the priority score of the logical channel in the modulation and coding scheme index, W2 represents the priority weight factor of the logical channel in the service level index, P2 represents the priority score of the logical channel in the service level index, W3 represents the priority weight factor of the logical channel in the delay urgency index, P3 represents the priority score of the logical channel in the delay urgency index, W4 represents the priority weight factor of the logical channel in the queue load index, P4 represents the priority score of the logical channel in the queue load index, W5 represents the priority weight factor of the logical channel in the token fairness factor index, and P5 represents the priority score of the logical channel in the token fairness factor index.
[0076] S4. Determine the resource scheduling order for each logical channel based on the comprehensive priority score.
[0077] S5. At the end of each scheduling cycle, obtain the performance parameters of the logical channel; the performance parameters include: average header packet delay, maximum header packet delay, average modulation and coding exponent, scheduling success rate, token consumption, and queue load.
[0078] Statistical scheduling metrics. At the end of each scheduling cycle, the scheduler collects key performance metrics for each logical channel to evaluate the effectiveness of the current scheduling strategy, including but not limited to:
[0079] Parameter 1: Average header packet delay HOL_Delay[i]:
[0080] Meaning: The average queuing delay of the first packet in the queue of the i-th logical channel reflects the current latency guarantee status of this service.
[0081] Detailed acquisition method: Within each statistical period (e.g., 100ms to 500ms), the latency of the header data packets in each logical channel queue is calculated. Specifically:
[0082] ;
[0083] Where: current_tick is the current system count or timestamp; tick_bo_received is the count or timestamp when the header data packet enters the queue (first queued into the buffer).
[0084] At the end of the statistical period, the arithmetic mean of the latency values of all header data packets is calculated, resulting in:
[0085] ;
[0086] Where N is the number of times the header packet of the logical channel is sampled within the statistical period.
[0087] Parameter 2: Maximum header packet delay HOL_Delay_max[i]:
[0088] Meaning: The maximum queuing delay of the first packet in the queue of the i-th logical channel, used to capture the risk of sudden delays that may occur in this service.
[0089] Detailed acquisition method: Within the statistical period, the calculation method for the header packet delay of each sampling is the same as described above:
[0090] ;
[0091] After each sample, compare it with the recorded maximum value; if it is larger, update:
[0092] HOL_Delay_max[i] = max(HOL_Delay_max[i], DELAY), which ultimately records the maximum delay value within the period.
[0093] Parameter 3: Average MCS level MCS_Used[i] (average modulation and coding index):
[0094] Meaning: The average modulation and coding index actually used during scheduling, used to assess link quality and whether scheduling is overly biased towards users with high channel quality.
[0095] Detailed acquisition method: After each scheduling is completed, record the MCS value used by the logical channel. Calculate the average value after M schedulings within a period.
[0096] ;
[0097] Where MCS_j is the MCS level used in the j-th scheduling.
[0098] Parameter 4: Scheduling success rate Sched_Success_Rate[i]:
[0099] Meaning: The proportion of successful scheduling attempts for the i-th logical channel out of the total number of scheduling attempts, which measures the fairness of scheduling resource allocation among channels (a lower success rate indicates that the channel may not receive sufficient resources for a long time).
[0100] Detailed acquisition method: During each scheduling attempt, if the logical channel is successfully allocated resources, the number of successes is recorded; otherwise, the number of failures is recorded. The calculation formula is:
[0101] Sched_Success_Rate[i] = Number of successful scheduling attempts / Total number of scheduling attempts;
[0102] For example, if 10 scheduling attempts are made within a cycle and 7 are successful, the success rate is 70%.
[0103] Parameter 5: Token consumption Token_Consumption[i]:
[0104] Meaning: The number of tokens consumed by the i-th logical channel in the current period, reflecting the triggering and usage of the token bucket fair scheduling mechanism (a value that is too low indicates that the tokens of this channel have not been used for a long time).
[0105] Detailed acquisition method: Each logical channel is allocated a token bucket mechanism. At the beginning of the period, a certain number of tokens are initially allocated. Each successful scheduling deducts a corresponding number of tokens (e.g., one token is deducted for each successful scheduling). At the end of the period, the total token consumption for that logical channel is calculated.
[0106] Token_Consumption[i] = Initial number of tokens at the start of the cycle - Number of tokens remaining at the end of the cycle;
[0107] If no token is consumed within the period, it means that the logical channel has not received a scheduling opportunity or has received very few opportunities.
[0108] Parameter 6: Queue load Qload[i]:
[0109] Meaning: The amount of data (e.g., number of bits, which can be the average or maximum value within the period) in the current buffer of the i-th logical channel is used to measure the congestion level and queuing demand of the channel.
[0110] Detailed acquisition method: Within the statistical period, the data volume in the logical channel buffer queue is sampled and recorded multiple times (e.g., the queue bit count is recorded every 1ms or 5ms), with a total sampling count of L. After the statistical period ends, the following can be calculated:
[0111] Average load: ;
[0112] Qload k This represents the number of bits of data to be sent in the queue during the k-th sampling. L This represents the total number of samples.
[0113] S6. Update the scheduling priority weight factor of the corresponding logical channel according to the changes in the performance parameters after each scheduling cycle ends.
[0114] In this embodiment, the acquired performance parameters are first normalized. To facilitate subsequent decision-making, the collected raw data is normalized and trends are extracted. Specifically, each performance parameter is converted into a relative value:
[0115] Average header delay ratio Di = HOL_Delay_avg[i] / PDB[i].
[0116] Maximum head packet latency ratio .
[0117] Average MCS ratio MCS_max=28 is the maximum encoding level currently supported by gNB.
[0118] Scheduling success rate =Number of successful scheduling attempts / Number of scheduling attempts.
[0119] Token consumption rate Token_init is the total number of tokens allocated to this LC in this cycle, which is 10.
[0120] Average queue occupancy ratio Qload_th can be set to the upper limit of the buffer or a "congestion threshold" (such as 500KB) defined by the operator.
[0121] The details are shown in Table 7 below:
[0122] Table 7 Example of performance parameter normalization
[0123]
[0124] Trigger condition determination and weight fine-tuning: In this embodiment, the scheduler uses a statistical period of 100ms, and collects and normalizes six indicators for each logical channel for two consecutive periods (i.e., 200ms): average headpacket delay ratio. Maximum head packet latency ratio Average MCS ratio Scheduling success rate Token consumption rate and average queue occupancy ratio .like ≥0.80 and ≥0.90 (continuous high latency) ≤0.70 (Insufficient scheduling success rate) ≤0.20 or 5QI≥4 and =0 (Token / Low-Priority Business Starvation) ≥0.75 (long-term queue congestion), or ≥0.80 and If any one of the conditions ≥0.90 (high MCS monopoly) is met consecutively, the weight adjustment process begins; furthermore, if any sample shows A sudden spike to ≥0.95 triggers an emergency adjustment.
[0125] The specific steps for updating the scheduling priority weight factor of the corresponding logical channel based on the changes in performance parameters after each scheduling cycle are as follows:
[0126] S61. When the average header delay of the logical channel is greater than the first preset threshold and the maximum header delay is greater than the second preset threshold after two consecutive scheduling cycles, the priority weight factor on the delay urgency index is increased by the first preset value, and the priority weight factor on the modulation and coding scheme index is decreased by the second preset value.
[0127] In this embodiment, the normalized performance parameters are specifically applied for implementation:
[0128] Sustained High Latency: If the average header packet delay ratio Di ≥ 0.80 and the maximum header packet delay ratio Di_max ≥ 0.90, and this holds true for two consecutive cycles, then the latency weight (priority weight factor in latency urgency indicators) W3 will be increased by Δ, while the channel quality weight (priority weight factor in modulation and coding scheme indicators) W1 will be decreased by Δ / 2. Purpose: To prioritize latency-sensitive services and moderately reduce preference for users with high MCS.
[0129] S62. When the scheduling period ends, if the average header packet delay of the logical channel is greater than the third preset threshold, the priority weight factor on the delay urgency index will be increased by the third preset value.
[0130] In this embodiment, the normalized performance parameters are specifically applied for implementation:
[0131] Instantaneous latency exceeds the limit: any sampling occurs If the value is ≥0.95, immediately increase W3 by 2Δ. The purpose is to quickly suppress extreme latency and prevent it from exceeding the limit again.
[0132] S63. When the scheduling success rate is less than the fourth preset threshold after two consecutive scheduling cycles, the priority weight factor on the token fairness factor index is increased by the fourth preset value, and the priority weight factor on the modulation and coding scheme index is decreased by the fifth preset value.
[0133] In this embodiment, the normalized performance parameters are specifically applied for implementation:
[0134] If the scheduling success rate Si ≤ 0.70 for two consecutive cycles, increase the fairness weight W5 by Δ and decrease W1 by Δ / 2. The purpose is to give more opportunities to "weaker" logical channels while suppressing excessive bias towards good channels.
[0135] S64. When the token consumption is less than the fifth preset threshold after two consecutive scheduling cycles, the priority weight factor on the token fairness factor index is increased to the fifth preset value.
[0136] In this embodiment, the normalized performance parameters are specifically applied for implementation:
[0137] If the token consumption rate Ti ≤ 0.20 for two consecutive cycles, W5 will be increased by Δ. The purpose is to ensure that the token scheduling mechanism truly plays a fair role.
[0138] S65. When the queue load is greater than the sixth preset threshold after two consecutive scheduling cycles, the priority weight factor on the queue load index is increased by the sixth preset value, and the priority weight factor on the modulation and coding scheme index is decreased by the seventh preset value.
[0139] In this embodiment, the normalized performance parameters are specifically applied for implementation:
[0140] Congestion-related: If the average queue occupancy ratio Qi ≥ 0.75 for two consecutive cycles, then increase the queue load weight W4 by Δ and decrease W1 by Δ / 2. Purpose: To prioritize alleviating severe queue congestion while curbing the scheduling strategy of "only picking the best channels".
[0141] S66. When the average modulation and coding index is greater than the seventh preset threshold and the scheduling success rate is greater than the eighth preset threshold after two consecutive scheduling cycles, the priority weight factor on the modulation and coding scheme index is lowered to the eighth preset value, and the priority weight factor on the service level index or the priority weight factor on the queue load index is raised to the ninth preset value.
[0142] In this embodiment, the normalized performance parameters are specifically applied for implementation:
[0143] If the average MCS ratio Mi ≥ 0.80 for two consecutive cycles and the scheduling success rate Si ≥ 0.90, then W1 is reduced by Δ, and W2 or W4 is increased by Δ / 2.
[0144] Furthermore, if 5QI ≥ 4 and Si = 0 for two consecutive periods, then W5 is increased by Δ and W2 is decreased by Δ / 2. Purpose: To ensure all businesses receive at least basic resources and avoid extreme unfairness.
[0145] The default value for Δ is 5% (i.e., 1.05 × current Wk). A maximum of two weight factor dimensions can be modified per cycle, and the adjusted values are mandatory to satisfy 0 ≤ Wk ≤ 10. Weight updates are immediately written to the operation table, take effect in the next Time Interval (TTI), and are simultaneously recorded in the Operations & Maintenance Log (O&M Log), an automatic log generated by the communication equipment for daily maintenance, troubleshooting, and auditing, facilitating KPI retrospective analysis. If multiple conditions are triggered in the same cycle, they are executed according to priority: instantaneous peak latency > sustained high latency > congestion-related conditions; other conditions are deferred to the next cycle to avoid conflicting actions.
[0146] S7. Calculate the comprehensive priority score for each logical channel based on the scheduling priority score and the updated scheduling priority weight factor to obtain the updated comprehensive priority score.
[0147] In this embodiment, after completing the above weight adjustment decision, the scheduling module updates the weight factors W1 to W5 in the priority calculation formula for each logical channel (LC). The specific implementation is as follows:
[0148] Replace the weight factors used in the previous scheduling cycle with the new adjusted values (W1~W5) of the weight factors determined above. These new weight factors will take effect in the calculation of the next scheduling cycle and will be used to recalculate the comprehensive priority score (LC_WEIGHT) of each logical channel.
[0149] At the start of a new scheduling period, the scheduler uses the updated weighting factors (W1-W5) to recalculate the overall priority score for all logical channels using a formula.
[0150] S8. Update the resource scheduling order of each logical channel according to the updated comprehensive priority score.
[0151] In this embodiment, the updated comprehensive priority score is used to reorder each logical channel, thereby determining the resource scheduling order of each logical channel in the new cycle.
[0152] This embodiment employs a closed-loop feedback mechanism: through the aforementioned closed-loop process, namely "measurement → normalization processing → trigger condition determination → weight fine-tuning → weight update and application", the weight factors W1 to W5 can be continuously and dynamically optimized according to changes in real-time network status and service requirements, gradually approaching the optimal configuration, thereby enabling the scheduling system to adaptively optimize resource allocation strategies and ensure flexible response to service QoS requirements.
[0153] This embodiment continuously executes this closed-loop feedback and dynamic optimization mechanism, enabling the scheduling strategy to always effectively respond to changes in actual network load and user service needs, significantly improving network resource utilization efficiency and user experience quality.
[0154] In one exemplary embodiment, a computer device is provided, which may be a server or a terminal, and its internal structure diagram may be as follows. Figure 2 As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and databases. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media to run. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a quality-of-service (QoS) based data flow scheduling method.
[0155] Those skilled in the art will understand that Figure 2 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0156] In one exemplary embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0157] In one exemplary embodiment, a computer-readable storage medium is provided storing a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.
[0158] In one exemplary embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.
[0159] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0160] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM).
[0161] The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0162] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0163] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A data flow scheduling method based on quality of service, characterized in that, include: The scheduling priority score of the logical channel is determined by combining the 5QI value, data volume, and scheduling period of the logical channel. The scheduling priority score includes: the priority score of the logical channel on the modulation and coding scheme index, the priority score on the service level index, the priority score on the delay urgency index, the priority score on the queue load index, and the priority score on the token fairness factor index. Based on service quality requirements and network characteristics, the scheduling priority weight factors of logical channels are determined; the scheduling priority weight factors include: priority weight factors of logical channels on modulation and coding scheme indicators, priority weight factors on service level indicators, priority weight factors on delay urgency indicators, priority weight factors on queue load indicators, and priority weight factors on token fairness factor indicators. Calculate the comprehensive priority score for each logical channel based on the scheduling priority score and the scheduling priority weight factor; The resource scheduling order of each logical channel is determined based on the comprehensive priority score; At the end of each scheduling cycle, the performance parameters of the logical channel are obtained; the performance parameters include: average header packet delay, maximum header packet delay, average modulation and coding exponent, scheduling success rate, token consumption, and queue load. Based on the changes in performance parameters at the end of each scheduling cycle, the scheduling priority weight factor of the corresponding logical channel is updated, specifically including: After two consecutive scheduling cycles have ended, if the average header delay of the logical channel is greater than the first preset threshold and the maximum header delay is greater than the second preset threshold, then the priority weight factor on the delay urgency index will be increased by the first preset value, and the priority weight factor on the modulation and coding scheme index will be decreased by the second preset value. If the scheduling success rate is less than the fourth preset threshold, the priority weight factor on the token fairness factor index will be increased by the first preset value, and the priority weight factor on the modulation and coding scheme index will be decreased by the second preset value. If the token consumption is less than the fifth preset threshold, the priority weight factor on the token fairness factor index will be increased by the first preset value. If the queue load is greater than the sixth preset threshold, the priority weight factor on the queue load index will be increased by the first preset value, and the priority weight factor on the modulation and coding scheme index will be decreased by the second preset value. If the average modulation and coding index is greater than the seventh preset threshold and the scheduling success rate is greater than the eighth preset threshold, then the priority weight factor on the modulation and coding scheme index will be lowered by the second preset value, and the priority weight factor on the service level index or the priority weight factor on the queue load index will be raised by the first preset value. When the scheduling period ends, if the average header packet delay of the logical channel is greater than the third preset threshold, the priority weight factor on the delay urgency index will be increased by the first preset value. Based on the scheduling priority score and the updated scheduling priority weight factor, calculate the comprehensive priority score for each logical channel to obtain the updated comprehensive priority score; The resource scheduling order of each logical channel is updated based on the updated comprehensive priority score.
2. The data flow scheduling method based on quality of service according to claim 1, characterized in that, The process of determining the scheduling priority score of the logical channel by combining the 5QI value, data volume, and scheduling period of the logical channel specifically includes: Obtain the priority score of the logical channel in terms of modulation and coding scheme indicators; Based on the 5QI value of the logical channel, determine the priority score of the logical channel in the service level index; Based on the packet delay budget and link delay of the logical channel, the priority score of the logical channel on the delay urgency index is determined by querying a preset relationship table. The priority score of the logical channel on the queue load index is determined based on the amount of data in the queue load of the logical channel. Based on the scheduling period, determine the priority score of the logical channel on the token fairness factor index.
3. The data flow scheduling method based on quality of service according to claim 2, characterized in that, The process of obtaining the score of the logical channel on the modulation and coding scheme index specifically includes: Obtain the modulation and coding scheme level value used by the logical channel; According to a predefined grading table, the modulation and coding scheme grading value is mapped to the priority score of the corresponding logical channel in the modulation and coding scheme index.
4. The data flow scheduling method based on quality of service according to claim 2, characterized in that, Based on the packet delay budget and link delay of the logical channel, the priority score of the logical channel on the delay urgency index is determined by querying a preset relationship table, specifically including: Based on the 5QI value of the logical channel, determine the packet delay budget of the logical channel; The link delay of the logical channel is calculated using the formula: DELAY = current_tick – tick_bo_received, where current_tick represents the current recording time, tick_bo_received represents the time of receiving data, and DELAY represents the link delay. Based on the packet delay budget and link delay of the logical channel, the priority score of the logical channel on the delay urgency index is determined by querying a preset relationship table; wherein, the preset relationship table is a preset priority score query table for the logical channel on the delay urgency index based on the comparison relationship between link delay and packet delay budget.
5. The data flow scheduling method based on quality of service according to claim 1, characterized in that, When multiple situations are triggered within the same period, they are processed in a preset order, and only two weight factors are modified within each period.
6. The data flow scheduling method based on quality of service according to claim 1, characterized in that, Based on the scheduling priority score and the scheduling priority weight factor, the formula for calculating the comprehensive priority score of each logical channel is as follows: LC_WEIGHT=W1×P1+W2×P2+W3×P3+W4×P4+W5×P5; Wherein, LC_WEIGHT represents the overall priority score of the logical channel, W1 represents the priority weight factor of the logical channel in the modulation and coding scheme index, P1 represents the priority score of the logical channel in the modulation and coding scheme index, W2 represents the priority weight factor of the logical channel in the service level index, P2 represents the priority score of the logical channel in the service level index, W3 represents the priority weight factor of the logical channel in the delay urgency index, P3 represents the priority score of the logical channel in the delay urgency index, W4 represents the priority weight factor of the logical channel in the queue load index, P4 represents the priority score of the logical channel in the queue load index, W5 represents the priority weight factor of the logical channel in the token fairness factor index, and P5 represents the priority score of the logical channel in the token fairness factor index.
7. A computer device, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor executes the computer program to implement the quality-of-service-based data flow scheduling method according to any one of claims 1-6.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the quality-of-service-based data flow scheduling method as described in any one of claims 1-6.
9. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the quality-of-service-based data flow scheduling method as described in any one of claims 1-6.
Citation Information
Patent Citations
Method for determining queuing priority, communication equipment, device and storage medium
CN114698008A
Multi-user downlink scheduling method and device, equipment and storage medium
CN117545085A