Resource scheduling method and device, electronic equipment and storage medium
By acquiring the QoS configuration information and data packet arrival time of the users to be scheduled, dividing the priority queue and calculating the priority coefficient, the problem of QoS rate control in resource scheduling methods in 5G systems when balancing throughput and user fairness is solved, realizing reasonable control of users to be scheduled and guaranteeing diversified service needs.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CORP LTD
- Filing Date
- 2023-04-28
- Publication Date
- 2026-06-23
AI Technical Summary
Existing 5G system resource scheduling methods struggle to effectively and reasonably control the QoS rate of users to be scheduled while balancing throughput and user fairness, thus failing to meet diverse business needs.
By obtaining the QoS configuration information and packet arrival time of the users to be scheduled, the remaining scheduling time of the header packets in the cache queue is determined, and the users are divided into a first priority queue and a second priority queue. Priority coefficients are calculated based on historical rates and packet error rates for resource scheduling.
It achieves reasonable control over the QoS rate of scheduled users, ensuring diverse business needs, and adaptively adjusts the latency budget, thereby improving throughput and user satisfaction.
Smart Images

Figure CN116528290B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of mobile communication technology, and in particular to a resource scheduling method, apparatus, electronic device, and storage medium. Background Technology
[0002] With the continuous development of mobile communication technology, and facing limited network resources, the resource scheduling method of 5G systems is crucial for ensuring QoS guarantees and improving user satisfaction while maintaining system throughput. To this end, different QoS Flow (Quality of Service Flow) service types can be defined in 5G systems. Their QoS parameters mainly include: resource type, priority level, PDB (Packet Delay Budget), PER (Packet Error Rate), and other performance indicators. Resource types include both guaranteed bit rate and non-guaranteed bit rate categories. This allows 5G systems to provide more granular services.
[0003] Therefore, there is an urgent need for a resource scheduling method that can take into account both throughput and user fairness, while comprehensively considering the QoS configuration information of the users to be scheduled, so as to ensure that the QoS rate of the users to be scheduled can be reasonably controlled and to guarantee diverse business needs.
[0004] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this disclosure, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention
[0005] This disclosure provides a resource scheduling method, apparatus, electronic device, and storage medium that takes into account, to a certain extent, the QoS configuration information of the users to be scheduled, so as to ensure that the QoS rate of the users to be scheduled can be reasonably controlled and to guarantee diverse business needs.
[0006] Other features and advantages of this disclosure will become apparent from the following detailed description, or may be learned in part by practice of this disclosure.
[0007] According to one aspect of the present disclosure, a resource scheduling method is provided, comprising: acquiring QoS configuration information and data packet arrival time information of each user to be scheduled, wherein the QoS configuration information includes a minimum rate threshold, a maximum rate threshold, and a latency budget; determining the remaining scheduling time of header data packets in the buffer queue of each user to be scheduled based on the QoS configuration information and data packet arrival time information of each user to be scheduled; determining a first priority queue and a second priority queue based on the remaining scheduling time corresponding to each user to be scheduled, wherein the first priority queue includes at least one user to be scheduled whose remaining scheduling time is lower than a time threshold, and the second priority queue includes at least one user to be scheduled whose remaining scheduling time is not lower than the time threshold; performing resource scheduling on each user to be scheduled in the first priority queue; and when resource scheduling on each user to be scheduled in the first priority queue is completed, performing resource scheduling on each user to be scheduled in the second priority queue.
[0008] In some embodiments of this disclosure, the remaining scheduling time of the header data packets in the buffer queue of each user to be scheduled is determined based on the QoS configuration information and the data packet arrival time information of each user to be scheduled. This includes: determining the data packet deadline for each user to be scheduled based on the QoS configuration information and the data packet arrival time information of each user to be scheduled; and determining the remaining scheduling time of the header data packets in the buffer queue of each user to be scheduled based on the data packet deadline for each user to be scheduled.
[0009] In some embodiments of this disclosure, the data packet deadline for any scheduled user is determined according to the following formula:
[0010]
[0011] in, This represents the deadline for scheduling the data packet corresponding to the k-th user to be scheduled. This refers to the arrival time information of data packets. The maximum rate threshold, Minimum rate threshold, For latency budget, S is the size of the header data packet, and L is the length of the buffer queue for the k-th user to be scheduled.
[0012] In some embodiments of this disclosure, the remaining scheduling time of the header data packets in the buffer queue of any user to be scheduled is determined according to the following formula:
[0013]
[0014] in, Let $\mathbf{k}$ be the remaining scheduling time for the header data packets in the buffer queue of the $k$-th user to be scheduled. Let t be the deadline for scheduling the data packet corresponding to the k-th user to be scheduled, and t be the current time.
[0015] In some embodiments of this disclosure, the time threshold is determined according to the following formula:
[0016]
[0017] in, The time threshold is used, and K represents the number of users to be scheduled. This represents the remaining scheduling time for the header data packet in the cache queue of the k-th user to be scheduled.
[0018] In some embodiments of this disclosure, resource scheduling for each user to be scheduled in the first priority queue includes: determining the historical buffer packet arrival rate, historical average rate, packet error rate, and instantaneous rate of each user to be scheduled in the first priority queue; calculating the priority coefficient of each user to be scheduled in the first priority queue based on the historical buffer packet arrival rate, historical average rate, packet error rate, and instantaneous rate of each user to be scheduled in the first priority queue; and performing resource scheduling for each user to be scheduled in the first priority queue in descending order of priority coefficients.
[0019] In some embodiments of this disclosure, the historical average rate is determined according to the following formula:
[0020]
[0021] in, The historical average rate corresponding to the current time t. To preset weights, This refers to the instantaneous rate.
[0022] In some embodiments of this disclosure, the QoS configuration information also includes a preset packet error rate threshold; wherein, the priority coefficient of any user to be scheduled in the first priority queue is determined according to the following formula:
[0023] ;
[0024] ;
[0025] ;
[0026] in, This represents the priority coefficient of the r-th user to be scheduled. This represents the factor influencing the error rate. For packet error rate, This represents the factor affecting the rate of entry and exit from the cache queue. For historical cache packet rate, The historical average rate, Where E is the instantaneous rate and E is the preset packet error rate threshold. The maximum rate threshold, This is the minimum rate threshold.
[0027] In some embodiments of this disclosure, the resource scheduling method provided by this disclosure further includes: updating the length of the cache queue when any data packet arrives at the cache queue for any user to be scheduled.
[0028] According to another aspect of this disclosure, a resource scheduling apparatus is provided, comprising:
[0029] The information acquisition module is used to acquire the QoS configuration information and data packet arrival time information of each user to be scheduled. The QoS configuration information includes the minimum rate threshold, the maximum rate threshold, and the latency budget.
[0030] The remaining scheduling time determination module is used to determine the remaining scheduling time of the header data packets in the buffer queue of each user to be scheduled based on the QoS configuration information of each user to be scheduled and the data packet arrival time information of each user to be scheduled.
[0031] The queue determination module is used to determine a first priority queue and a second priority queue based on the remaining scheduling time corresponding to each user to be scheduled. The first priority queue includes at least one user to be scheduled whose remaining scheduling time is less than the time threshold, and the second priority queue includes at least one user to be scheduled whose remaining scheduling time is not less than the time threshold.
[0032] The resource scheduling module is used to schedule resources for each user in the first priority queue. When the resource scheduling for each user in the first priority queue is completed, the module then schedules resources for each user in the second priority queue.
[0033] In some embodiments of this disclosure, the remaining scheduling time determination module is used to determine the data packet deadline for each user to be scheduled based on the QoS configuration information of each user to be scheduled and the data packet arrival time information of each user to be scheduled; and to determine the remaining scheduling time of the header data packets in the buffer queue of each user to be scheduled based on the data packet deadline for each user to be scheduled.
[0034] In some embodiments of this disclosure, the remaining scheduling time determination module is used to determine the data packet deadline for any user to be scheduled according to the following formula:
[0035]
[0036] in, This represents the deadline for scheduling the data packet corresponding to the k-th user to be scheduled. This refers to the arrival time information of data packets. The maximum rate threshold, Minimum rate threshold, For latency budget, S is the size of the header data packet, and L is the length of the buffer queue for the k-th user to be scheduled.
[0037] In some embodiments of this disclosure, the remaining scheduling time determination module is used to determine the remaining scheduling time of the header data packet in the buffer queue of any user to be scheduled according to the following formula:
[0038]
[0039] in, Let $\mathbf{k}$ be the remaining scheduling time for the header data packets in the buffer queue of the $k$-th user to be scheduled. Let t be the deadline for scheduling the data packet corresponding to the k-th user to be scheduled, and t be the current time.
[0040] In some embodiments of this disclosure, the queue determination module is used to determine the time threshold according to the following formula:
[0041]
[0042] in, The time threshold is used, and K represents the number of users to be scheduled. This represents the remaining scheduling time for the header data packet in the cache queue of the k-th user to be scheduled.
[0043] In some embodiments of this disclosure, the resource scheduling module is used to determine the historical cached packet rate, historical average rate, packet error rate, and instantaneous rate of each user to be scheduled in the first priority queue; calculate the priority coefficient of each user to be scheduled in the first priority queue based on the historical cached packet rate, historical average rate, packet error rate, and instantaneous rate of each user to be scheduled in the first priority queue; and perform resource scheduling on each user to be scheduled in the first priority queue according to the order of priority coefficients from high to low.
[0044] In some embodiments of this disclosure, the resource scheduling module is configured to determine the historical average rate according to the following formula:
[0045]
[0046] in, The historical average rate corresponding to the current time t. To preset weights, This refers to the instantaneous rate.
[0047] In some embodiments of this disclosure, the QoS configuration information also includes a preset packet error rate threshold; the resource scheduling module is used to determine the priority coefficient of any user to be scheduled in the first priority queue according to the following formula:
[0048] ;
[0049] ;
[0050] ;
[0051] in, This represents the priority coefficient of the r-th user to be scheduled. This represents the factor influencing the error rate. For packet error rate, This represents the factor affecting the rate of entry and exit from the cache queue. For historical cache packet rate, The historical average rate, Where E is the instantaneous rate and E is the preset packet error rate threshold. The maximum rate threshold, This is the minimum rate threshold.
[0052] In some embodiments of this disclosure, the resource scheduling device provided in this disclosure further includes: a length update module, used to update the length of the cache queue when any data packet arrives at the cache queue for any user to be scheduled.
[0053] According to another aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the resource scheduling method described above by executing the executable instructions.
[0054] According to another aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the resource scheduling method described above.
[0055] According to another aspect of this disclosure, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the resource scheduling method provided in various alternative embodiments of this disclosure.
[0056] The technical solution provided in this disclosure can comprehensively consider the minimum rate threshold, maximum rate threshold, and latency budget in the QoS configuration information to determine the remaining scheduling time, thus allowing for adjustments to the latency budget. Therefore, this disclosure can adaptively adjust the latency budget for different situations and reasonably control the QoS rate of users to be scheduled, ensuring diverse business needs.
[0057] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0058] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0059] Figure 1 A schematic diagram of a system architecture according to an embodiment of this disclosure is shown;
[0060] Figure 2 This diagram illustrates a resource scheduling method according to an embodiment of the present disclosure.
[0061] Figure 3 This diagram illustrates a method for determining the remaining scheduling time according to an embodiment of the present disclosure.
[0062] Figure 4 This invention discloses a flowchart illustrating a method for resource scheduling of each user to be scheduled in a first priority queue according to an embodiment of the present disclosure.
[0063] Figure 5 This illustration shows a flowchart of another resource scheduling method in an embodiment of the present disclosure;
[0064] Figure 6 This diagram illustrates a resource scheduling device according to an embodiment of the present disclosure.
[0065] Figure 7 A structural block diagram of an electronic device according to an embodiment of the present disclosure is shown. Detailed Implementation
[0066] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0067] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0068] Figure 1 A schematic diagram of an exemplary system architecture that can be applied to the resource scheduling method or resource scheduling apparatus of the present disclosure is shown.
[0069] like Figure 1 As shown, the system architecture 100 may include terminal devices 101, 102, and 103, as well as network-side device 104.
[0070] In this embodiment, terminal devices 101, 102, and 103 can each correspond to a user to be scheduled. Terminal devices 101, 102, and 103 can communicate with network-side devices. Network-side device 104 can perform resource scheduling on the users to be scheduled corresponding to terminal devices 101, 102, and 103 using the resource scheduling method provided in this embodiment.
[0071] Terminal devices 101, 102, and 103 can be various electronic devices, including but not limited to smartphones, tablets, laptops, desktop computers, wearable devices, augmented reality devices, virtual reality devices, etc.
[0072] Optionally, the client applications installed on different terminal devices 101, 102, and 103 may be the same, or clients of the same type of application based on different operating systems. Depending on the terminal platform, the specific form of the application client may also differ; for example, the application client may be a mobile client, a PC client, etc.
[0073] Network-side device 105 can be a base station or a server. For example, network-side device 105 can be an evolved Node B (eNB), a 5G base station (gNB), or a later version of a base station, a Radio Network Controller (RNC), a Node B (NB), a Base Station Controller (BSC), a Base Transceiver Station (BTS), a Home Evolved Node B (or Home Node B (HNB)), a Base Band Unit (BBU), a Wireless Fidelity (WIFI) Access Point (AP), a Transmission and Receiver Point (TRP) or Transmission Point (TP), or other terms in the relevant field, provided that the same technical effect is achieved. Network-side device 105 is not limited to specific technical terms.
[0074] Those skilled in the art will know that Figure 1 The number of terminal devices 101, 102, and 103, and network-side devices 104 shown in this disclosure is merely illustrative. Any number of terminal devices and network-side devices can be used as needed. This disclosure does not limit the number of such devices.
[0075] The following detailed description of this exemplary implementation method is provided in conjunction with the accompanying drawings and embodiments.
[0076] First, this disclosure provides a resource scheduling method that can be executed by any electronic device with computing power.
[0077] Figure 2 A flowchart of a resource scheduling method according to an embodiment of this disclosure is shown, such as... Figure 2 As shown, the resource scheduling method provided in this embodiment includes the following steps S202 to S208.
[0078] S202, obtain the QoS configuration information of each user to be scheduled and the data packet arrival time information of each user to be scheduled. The QoS configuration information includes the minimum rate threshold, the maximum rate threshold, and the delay budget.
[0079] This disclosure does not limit the application scenario; it can be applied to any scenario where resource allocation is required for selected users to be scheduled.
[0080] This disclosure does not limit the form of the QoS configuration information. For example, the QoS configuration information may include 5QI (5G QoS Identifier) and a QoS configuration file. Therefore, the latency budget mentioned above can be obtained by looking up the 5QI value. The minimum rate threshold and maximum rate threshold mentioned above can be obtained from the QoS configuration file.
[0081] In some exemplary embodiments, when the resource type is GBR (Guaranteed Bit Rate), the minimum rate threshold can correspond to GFBR (Guaranteed Flow Bit Rate), and the maximum rate threshold can correspond to MFBR (Maximum Flow Bit Rate).
[0082] When the resource type is Non-GBR (non-guaranteed bit rate), the minimum rate threshold can be set based on experience or application scenario. This maximum rate threshold can correspond to AMBR (Aggregated Maximum Bit Rate).
[0083] In one possible implementation, assuming the 5QI value is 1, the latency budget obtained by looking up the 5QI value in a table can be 100. When the resource type is GBR, the minimum rate threshold can be 64kbps (kilo-bits per second), and the maximum rate threshold can be 256kbps.
[0084] For example, the arrival time of each new data packet entering the cache queue for a user to be scheduled can be recorded, and this arrival time is the aforementioned data packet arrival time information.
[0085] In some embodiments, the resource scheduling method provided in this disclosure may further include: updating the length of the cache queue when a data packet arrives at the cache queue for any user to be scheduled.
[0086] For example, when any scheduled user has a new data packet entering the cache queue, the length of the cache queue corresponding to that scheduled user can be updated in real time.
[0087] This disclosure does not limit the order in which the length of the buffer queue is updated or the arrival time of data packets is recorded. For example, the length of the buffer queue can be updated first, followed by the recording of data packet arrival times. Alternatively, the arrival time of data packets can be recorded first, followed by the update of the buffer queue length. Or, the arrival time of data packets can be recorded simultaneously with the update of the buffer queue length.
[0088] S204. Based on the QoS configuration information of each user to be scheduled and the data packet arrival time information of each user to be scheduled, determine the remaining scheduling time of the header data packets in the buffer queue of each user to be scheduled.
[0089] like Figure 3 As shown, in some embodiments, the remaining scheduling time of the header data packets in the buffer queue of each user to be scheduled is determined according to the QoS configuration information of each user to be scheduled and the data packet arrival time information of each user to be scheduled, which may include the following steps S2041 and S2042.
[0090] S2041, based on the QoS configuration information of each user to be scheduled and the data packet arrival time information of each user to be scheduled, determine the data packet deadline for each user to be scheduled.
[0091] For example, for the cache of the kth user to be scheduled, the packet deadline for the header data packet can be calculated based on the minimum rate threshold, maximum rate threshold, and latency budget in the QoS configuration information.
[0092] It should be noted that the process of determining the data packet deadline can also be viewed as a process of correcting the delay budget. Therefore, the data packet deadline can also be called the corrected delay of the data packet.
[0093] In some embodiments, the data packet scheduling deadline for any scheduled user can be determined according to the following formula 1:
[0094] (1)
[0095] For example, in Formula 1, This represents the deadline for scheduling the data packet corresponding to the k-th user to be scheduled. This refers to the arrival time information of data packets. The maximum rate threshold, Minimum rate threshold, For latency budget, S is the size of the header data packet, and L is the length of the buffer queue for the k-th user to be scheduled.
[0096] This disclosure does not limit the method for obtaining the size S of the header data packet. For example, when the header data packet is stored in the cache queue, the header data packet can be parsed to determine the size of the header data packet.
[0097] The embodiments disclosed herein modify the latency budget by comprehensively considering the latency budget, the length of the cache queue, and the QoS rate limit (i.e., the maximum rate threshold and the minimum rate threshold). The latency budget can be adaptively adjusted for different service types and real-time cache amounts, thereby adapting to diverse services.
[0098] S2042, based on the data packet deadline for each scheduled user, determine the remaining scheduling time of the header data packet in the buffer queue of each scheduled user.
[0099] In some embodiments, the remaining scheduling time of the header data packets in the buffer queue of any user to be scheduled can be determined according to the following formula 2:
[0100] (2)
[0101] For example, in formula 2, Let $\mathbf{k}$ be the remaining scheduling time for the header data packets in the buffer queue of the $k$-th user to be scheduled. Let t be the deadline for scheduling the data packet corresponding to the k-th user to be scheduled, and t be the current time.
[0102] S206. Based on the remaining scheduling time corresponding to each user to be scheduled, determine a first priority queue and a second priority queue. The first priority queue includes at least one user to be scheduled whose remaining scheduling time is less than the time threshold, and the second priority queue includes at least one user to be scheduled whose remaining scheduling time is not less than the time threshold.
[0103] This disclosure does not limit the method for determining the time threshold. For example, the time threshold can be set manually. Alternatively, in some embodiments, the time threshold can be determined according to the following formula 3:
[0104] (3)
[0105] For example, in formula 3, The time threshold is used, and K represents the number of users to be scheduled. This represents the remaining scheduling time for the header data packets in the buffer queue of the k-th user awaiting scheduling. It can be calculated according to Formula 2.
[0106] This embodiment of the disclosure can prioritize each user to be scheduled based on the remaining scheduling time. Therefore, this embodiment of the disclosure comprehensively considers the QoS configuration information of each user to be scheduled, which can ensure reasonable control of the QoS rate of the users to be scheduled and guarantee diverse service needs.
[0107] S208, perform resource scheduling for each user to be scheduled in the first priority queue. When the resource scheduling for each user to be scheduled in the first priority queue is completed, perform resource scheduling for each user to be scheduled in the second priority queue.
[0108] like Figure 4 As shown, in some embodiments, resource scheduling for each user to be scheduled in the first priority queue may include the following steps S2081 and S2082.
[0109] S2081, determine the historical buffer packet arrival rate, historical average rate, packet error rate and instantaneous rate of each user to be scheduled in the first priority queue; calculate the priority coefficient of each user to be scheduled in the first priority queue based on the historical buffer packet arrival rate, historical average rate, packet error rate and instantaneous rate of each user to be scheduled in the first priority queue.
[0110] In some embodiments, the packet rate can be determined by statistically analyzing the historical cache size based on the amount of data entering the cache queue in the previous N scheduling cycles. This disclosure does not limit the value of N; N can be any positive integer. For example, N can be equal to 50.
[0111] In some embodiments, the corresponding MCS (Modulation Coding Mode) is obtained based on the CQI (Channel Quality Indication) value, and then the instantaneous rate can be calculated based on the MCS. It should be noted that this instantaneous rate is the instantaneous rate available at the current scheduling moment. This disclosure does not limit the method for obtaining the CQI value.
[0112] In some embodiments, the packet error rate can be determined based on HARQ (Hybrid Automatic Repeat Request) feedback.
[0113] In some embodiments, the historical average rate can be determined according to the following formula 4:
[0114] (4)
[0115] In formula 4, This can be the historical average rate corresponding to the current time t. To preset weights, The instantaneous rate is as described above. Exemplarily, this embodiment of the disclosure does not limit the value of the preset weight; exemplarily, the value of the preset weight can be greater than or equal to 0 and less than or equal to 1.
[0116] In some embodiments, the QoS configuration information also includes a preset packet error rate threshold.
[0117] For example, a preset packet error rate threshold is used to describe an acceptable packet error rate. This preset packet error rate threshold can be obtained by looking up a table using the 5QI value. Taking a 5QI value of 1 as an example, the preset packet error rate threshold obtained by looking up the 5QI value can be: .
[0118] In this case, the priority coefficient of any user to be scheduled in the first priority queue can be determined according to the following formulas 5 to 7:
[0119] (5)
[0120] (6)
[0121] (7)
[0122] in, This can represent the priority coefficient of the r-th user to be scheduled. This represents the factor influencing the error rate. For packet error rate, This represents the factor affecting the rate of entry and exit from the cache queue. For historical cache packet rate, The historical average rate, Where E is the instantaneous rate and E is the preset packet error rate threshold. The maximum rate threshold, This is the minimum rate threshold.
[0123] In one possible implementation, assume there are two users awaiting scheduling in the first priority queue. The packet error rate of user A awaiting scheduling is... =0.05, the packet error rate of user B to be scheduled is =0.1, the preset packet error rate threshold E for both user A and user B to be scheduled is 0.1. .therefore, =0.2, =0.1, meaning that the packet error rate impact factor of user A to be scheduled is higher than that of user B to be scheduled.
[0124] In one possible implementation, it is still assumed that there are two users to be scheduled in the first priority queue. The minimum rate threshold for users A and B to be scheduled is... The maximum rate thresholds for both user A and user B are equal, at 64kbps. The speed is also equal, both at 256kbps. Additionally, the historical cache of the user A to be scheduled can be used to adjust the packet speed. =512kbps, the historical cache packet rate of user B to be scheduled. =128kbps. Historical average rate of user A to be scheduled. =64kbps, the historical average rate of user B to be scheduled =64kbps.
[0125] Therefore, the inflow and outflow rate influence factor of the cache queue for user A to be scheduled can be calculated using Formula 7. =1, the influencing factor of the cache queue entry and exit rate of user B to be scheduled. =0.5.
[0126] S2082, according to the priority coefficient from high to low, perform resource scheduling on each user to be scheduled in the first priority queue.
[0127] In this embodiment of the disclosure, within the same priority scheduling queue, the priority coefficient of each user to be scheduled in the same priority queue can be determined by comprehensively considering historical buffer packet rate, historical average rate, packet error rate, and instantaneous rate. Therefore, this disclosure can effectively guarantee throughput and user satisfaction, and better meet differentiated business needs.
[0128] In some exemplary embodiments, when resource scheduling for each scheduled user in the first priority queue is completed, the method for resource scheduling for each scheduled user in the first priority queue can be used to schedule resources for each scheduled user in the second priority queue. This disclosure will not elaborate further on this.
[0129] It should be noted that when there are insufficient remaining resources, resources can be allocated to the scheduled users in the first priority queue first. When the remaining resources cannot be allocated to all scheduled users in the first priority queue, resources can be allocated to scheduled users with higher priority coefficients in the first priority queue first.
[0130] The method provided in this disclosure can comprehensively consider the minimum rate threshold, maximum rate threshold, and latency budget in the QoS configuration information to determine the remaining scheduling time, thereby allowing for adjustments to the latency budget. Therefore, this disclosure can adaptively adjust the latency budget for different situations and reasonably control the QoS rate of users to be scheduled, ensuring diverse business needs.
[0131] For example, such as Figure 5 As shown, a resource scheduling method provided in this embodiment may include steps S502 to S514.
[0132] S502, obtain the QoS configuration information of each user to be scheduled.
[0133] S504 calculates and corrects the latency for newly arrived data packets.
[0134] S506, calculate the remaining scheduling time for the header data packets in the buffer queue.
[0135] S508 assigns each user to be scheduled to either the first priority queue or the second priority queue.
[0136] S510 provides statistics on historical cached packet rate, historical average rate, packet error rate, and CQI value.
[0137] S512, calculate the priority coefficient of each user to be scheduled.
[0138] S514 performs resource scheduling based on the priority coefficients of each user to be scheduled and the remaining resources.
[0139] It should be noted that the implementation methods of each step from S502 to S514 can be found in the corresponding descriptions of S202 to S208 above, and will not be repeated here.
[0140] Based on the same inventive concept, this disclosure also provides a resource scheduling device, as described in the following embodiments. Since the principle by which this device solves the problem is similar to that of the method embodiments described above, the implementation of this device embodiment can refer to the implementation of the method embodiments described above, and repeated details will not be repeated.
[0141] Figure 6 This diagram illustrates a resource scheduling device according to an embodiment of the present disclosure, such as... Figure 6 As shown, the device includes:
[0142] The information acquisition module 601 is used to acquire the QoS configuration information of each user to be scheduled and the data packet arrival time information of each user to be scheduled. The QoS configuration information includes the minimum rate threshold, the maximum rate threshold, and the delay budget.
[0143] The remaining scheduling time determination module 602 is used to determine the remaining scheduling time of the header data packets in the buffer queue of each user to be scheduled based on the QoS configuration information of each user to be scheduled and the data packet arrival time information of each user to be scheduled.
[0144] The queue determination module 603 is used to determine a first priority queue and a second priority queue based on the remaining scheduling time corresponding to each user to be scheduled. The first priority queue includes at least one user to be scheduled whose remaining scheduling time is lower than the time threshold, and the second priority queue includes at least one user to be scheduled whose remaining scheduling time is not lower than the time threshold.
[0145] The resource scheduling module 604 is used to schedule resources for each user to be scheduled in the first priority queue. When the resource scheduling for each user to be scheduled in the first priority queue is completed, the resource scheduling for each user to be scheduled in the second priority queue is performed.
[0146] In some embodiments of this disclosure, the remaining scheduling time determination module 602 is used to determine the data packet deadline for each user to be scheduled based on the QoS configuration information of each user to be scheduled and the data packet arrival time information of each user to be scheduled; and to determine the remaining scheduling time of the header data packets in the buffer queue of each user to be scheduled based on the data packet deadline for each user to be scheduled.
[0147] In some embodiments of this disclosure, the remaining scheduling time determination module 602 is used to determine the data packet deadline for any user to be scheduled according to the following formula:
[0148]
[0149] in, This represents the deadline for scheduling the data packet corresponding to the k-th user to be scheduled. This refers to the arrival time information of data packets. The maximum rate threshold, Minimum rate threshold, For latency budget, S is the size of the header data packet, and L is the length of the buffer queue for the k-th user to be scheduled.
[0150] In some embodiments of this disclosure, the remaining scheduling time determination module 602 is used to determine the remaining scheduling time of the header data packet in the buffer queue of any user to be scheduled according to the following formula:
[0151]
[0152] in, Let $\mathbf{k}$ be the remaining scheduling time for the header data packets in the buffer queue of the $k$-th user to be scheduled. Let t be the deadline for scheduling the data packet corresponding to the k-th user to be scheduled, and t be the current time.
[0153] In some embodiments of this disclosure, the queue determination module 603 is used to determine a time threshold according to the following formula:
[0154]
[0155] in, The time threshold is used, and K represents the number of users to be scheduled. This represents the remaining scheduling time for the header data packet in the cache queue of the k-th user to be scheduled.
[0156] In some embodiments of this disclosure, the resource scheduling module 604 is used to determine the historical cached packet rate, historical average rate, packet error rate, and instantaneous rate of each user to be scheduled in the first priority queue; calculate the priority coefficient of each user to be scheduled in the first priority queue based on the historical cached packet rate, historical average rate, packet error rate, and instantaneous rate of each user to be scheduled in the first priority queue; and perform resource scheduling on each user to be scheduled in the first priority queue according to the order of priority coefficients from high to low.
[0157] In some embodiments of this disclosure, the resource scheduling module 604 is used to determine the historical average rate according to the following formula:
[0158]
[0159] in, The historical average rate corresponding to the current time t. To preset weights, This refers to the instantaneous rate.
[0160] In some embodiments of this disclosure, the QoS configuration information also includes a preset packet error rate threshold; the resource scheduling module 604 is used to determine the priority coefficient of any user to be scheduled in the first priority queue according to the following formula:
[0161] ;
[0162] ;
[0163] ;
[0164] in, This represents the priority coefficient of the r-th user to be scheduled. This represents the factor influencing the error rate. For packet error rate, This represents the factor affecting the rate of entry and exit from the cache queue. For historical cache packet rate, The historical average rate, Where E is the instantaneous rate and E is the preset packet error rate threshold. The maximum rate threshold, This is the minimum rate threshold.
[0165] In some embodiments of this disclosure, the resource scheduling device provided in this disclosure further includes: a length update module, used to update the length of the cache queue when any data packet arrives at the cache queue for any user to be scheduled.
[0166] The apparatus provided in this disclosure can comprehensively consider the minimum rate threshold, maximum rate threshold, and latency budget in the QoS configuration information to determine the remaining scheduling time, thereby allowing for adjustments to the latency budget. Therefore, this disclosure can adaptively adjust the latency budget for different situations and reasonably control the QoS rate of users to be scheduled, ensuring diverse service requirements.
[0167] Those skilled in the art will understand that various aspects of this disclosure can be implemented as systems, methods, or program products. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: entirely in hardware, entirely in software (including firmware, microcode, etc.), or in a combination of hardware and software, collectively referred to herein as “circuit,” “module,” or “system.”
[0168] The following reference Figure 7 To describe an electronic device 700 according to such an embodiment of the present disclosure. Figure 7 The electronic device 700 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.
[0169] like Figure 7 As shown, the electronic device 700 is manifested in the form of a general-purpose computing device. The components of the electronic device 700 may include, but are not limited to: at least one processing unit 710, at least one storage unit 720, and a bus 730 connecting different system components (including storage unit 720 and processing unit 710).
[0170] The storage unit stores program code that can be executed by the processing unit 710, causing the processing unit 710 to perform the steps described in the "Detailed Description" section of this specification according to various exemplary embodiments of this disclosure.
[0171] Storage unit 720 may include readable media in the form of volatile storage units, such as random access memory (RAM) 7201 and / or cache memory 7202, and may further include read-only memory (ROM) 7203.
[0172] The storage unit 720 may also include a program / utility 7204 having a set (at least one) program module 7205, such program module 7205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0173] Bus 730 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0174] Electronic device 700 can also communicate with one or more external devices 740 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 700, and / or with any device that enables electronic device 700 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 750. Furthermore, electronic device 700 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 760. As shown, network adapter 760 communicates with other modules of electronic device 700 via bus 730. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 700, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0175] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0176] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, which may be a readable signal medium or a readable storage medium. A program product capable of implementing the methods described above is stored thereon. In some possible implementations, various aspects of this disclosure may also be implemented as a program product including program code, which, when run on a terminal device, causes the terminal device to perform the steps of the various exemplary embodiments of this disclosure described in the "Detailed Description" section of this specification.
[0177] More specific examples of computer-readable storage media in this disclosure may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0178] In this disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of transmitting, propagating, or transmitting a program for use by or in connection with an instruction execution system, apparatus, or device.
[0179] Optionally, the program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0180] In practical implementation, program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0181] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0182] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0183] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0184] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope of this disclosure is indicated by the appended claims.
Claims
1. A resource scheduling method, characterized in that, include: Obtain the QoS configuration information and data packet arrival time information for each user to be scheduled. The QoS configuration information includes the minimum rate threshold, the maximum rate threshold, and the latency budget. Based on the minimum rate threshold, maximum rate threshold, latency budget, and data packet arrival time information of each user to be scheduled in the QoS configuration information, the remaining scheduling time of the header data packets in the buffer queue of each user to be scheduled is determined. Based on the remaining scheduling time for each user to be scheduled, a first priority queue and a second priority queue are determined. The first priority queue includes at least one user to be scheduled whose remaining scheduling time is lower than the time threshold, and the second priority queue includes at least one user to be scheduled whose remaining scheduling time is not lower than the time threshold. Resource scheduling is performed on each user to be scheduled in the first priority queue. When resource scheduling for each user to be scheduled in the first priority queue is completed, resource scheduling is performed on each user to be scheduled in the second priority queue.
2. The resource scheduling method according to claim 1, characterized in that, Based on the minimum rate threshold, maximum rate threshold, latency budget, and packet arrival time information of each user to be scheduled, the remaining scheduling time of the header packets in the buffer queue of each user to be scheduled is determined, including: Based on the QoS configuration information of each user to be scheduled and the data packet arrival time information of each user to be scheduled, the data packet deadline for scheduling each user to be scheduled is determined. Based on the deadline for scheduling the data packets corresponding to each user to be scheduled, determine the remaining scheduling time of the header data packets in the buffer queue of each user to be scheduled.
3. The resource scheduling method according to claim 2, characterized in that, The deadline for scheduling data packets for any user to be scheduled is determined using the following formula: in, This represents the deadline for scheduling the data packet corresponding to the k-th user to be scheduled. This refers to the arrival time information of data packets. The maximum rate threshold, Minimum rate threshold, For latency budget, S is the size of the header data packet, and L is the length of the buffer queue for the k-th user to be scheduled.
4. The resource scheduling method according to claim 2 or 3, characterized in that, The remaining scheduling time for the header data packets in the buffer queue of any user to be scheduled is determined using the following formula: in, Let $\mathbf{k}$ be the remaining scheduling time for the header data packets in the buffer queue of the $k$-th user to be scheduled. Let t be the deadline for scheduling the data packet corresponding to the k-th user to be scheduled, and t be the current time.
5. The resource scheduling method according to any one of claims 1 to 3, characterized in that, The time threshold is determined using the following formula: in, The time threshold is used, and K represents the number of users to be scheduled. This represents the remaining scheduling time for the header data packet in the cache queue of the k-th user to be scheduled.
6. The resource scheduling method according to claim 1, characterized in that, Resource scheduling is performed on each user to be scheduled in the first priority queue, including: Determine the historical cached packet rate, historical average rate, packet error rate, and instantaneous rate for each user to be scheduled in the first priority queue; Based on the historical cached packet rate, historical average rate, packet error rate, and instantaneous rate of each user to be scheduled in the first priority queue, calculate the priority coefficient of each user to be scheduled in the first priority queue. Resource scheduling is performed on each user to be scheduled in the first priority queue according to the priority coefficient from high to low.
7. The resource scheduling method according to claim 6, characterized in that, The historical average rate is determined according to the following formula: in, The historical average rate corresponding to the current time t. To preset weights, This refers to the instantaneous rate.
8. The resource scheduling method according to any one of claims 6 or 7, characterized in that, The QoS configuration information also includes a preset packet error rate threshold; The priority coefficient of any user to be scheduled in the first priority queue is determined according to the following formula: ; ; ; in, This represents the priority coefficient of the r-th user to be scheduled. This represents the factor influencing the error rate. For packet error rate, This represents the factor affecting the rate of entry and exit from the cache queue. For historical cache packet rate, The historical average rate, Where E is the instantaneous rate and E is the preset packet error rate threshold. The maximum rate threshold, This is the minimum rate threshold.
9. The resource scheduling method according to any one of claims 1 to 3, characterized in that, The method further includes: When a data packet arrives in the cache queue for any user to be scheduled, the length of the cache queue is updated.
10. A resource scheduling device, characterized in that, include: The information acquisition module is used to acquire the QoS configuration information and data packet arrival time information of each user to be scheduled. The QoS configuration information includes the minimum rate threshold, the maximum rate threshold, and the latency budget. The remaining scheduling time determination module is used to determine the remaining scheduling time of the header data packets in the buffer queue of each user to be scheduled based on the minimum rate threshold, maximum rate threshold, latency budget and data packet arrival time information of each user to be scheduled in the QoS configuration information of each user to be scheduled. The queue determination module is used to determine a first priority queue and a second priority queue based on the remaining scheduling time corresponding to each user to be scheduled. The first priority queue includes at least one user to be scheduled whose remaining scheduling time is lower than the time threshold, and the second priority queue includes at least one user to be scheduled whose remaining scheduling time is not lower than the time threshold. The resource scheduling module is used to perform resource scheduling on each user to be scheduled in the first priority queue. When the resource scheduling on each user to be scheduled in the first priority queue is completed, the module performs resource scheduling on each user to be scheduled in the second priority queue.
11. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the resource scheduling method of any one of claims 1 to 9 by executing the executable instructions.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the resource scheduling method according to any one of claims 1 to 9.