System resource scheduling method
By using automated system resource scheduling methods, combined with time-series scheduling, dynamic weighted scheduling, and load balancing scheduling, the problem of misjudgment caused by human intervention is solved, achieving efficient and accurate resource scheduling, reducing operating costs, and ensuring system stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- WEBANK (CHINA)
- Filing Date
- 2022-09-30
- Publication Date
- 2026-06-19
AI Technical Summary
Existing system resource scheduling methods require manual intervention, which can lead to misjudgments and scheduling errors, resulting in resource waste and increased operating costs, and can easily cause system anomalies.
By acquiring the resource scheduling requests and operational status information of the target system, and using a comprehensive scheduling model, resource scheduling is automatically performed based on system type and request time information, employing methods such as time-series scheduling, dynamic weighted scheduling, and load balancing scheduling to ensure system stability.
It reduced scheduling costs, improved the efficiency and accuracy of resource scheduling, avoided system anomalies, and optimized server resource utilization.
Smart Images

Figure CN115878314B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of financial technology (Fintech), and more particularly to a system resource scheduling method. Background Technology
[0002] With the development of computer technology, more and more technologies are being applied in the financial field, and the traditional financial industry is gradually transforming into Fintech. Currently, existing system resource scheduling generally involves manually initiating application instance resource requests and manually performing resource scheduling operations such as expansion or reclamation.
[0003] However, this resource scheduling method, which requires manual intervention, is labor-intensive and can easily waste server resources and increase operating costs for application systems. Furthermore, human error can lead to scheduling mistakes, such as reclaiming too many server resources, causing insufficient application system capacity, overload, and ultimately, system malfunctions.
[0004] Therefore, existing system resource scheduling methods require manual intervention, which can lead to misjudgments and scheduling errors. Summary of the Invention
[0005] This application provides a system resource scheduling method to solve the technical problem that existing system resource scheduling methods require manual intervention and may result in misjudgments and scheduling errors.
[0006] Firstly, this application provides a system resource scheduling method, comprising:
[0007] Obtain resource scheduling requests from one or more subsystems within the target system, as well as the target system's operational status information;
[0008] Based on the system type corresponding to each subsystem and the request time information corresponding to each resource scheduling request, the first request sequence and the second request sequence are determined. The system types include: the first type of system that can only process a single business request at a time and the second type of system that can process multiple business requests synchronously in batches at a time. Each subsystem corresponding to the first request sequence is a first type of system, and each subsystem corresponding to the second request queue is a second type of system.
[0009] Using a comprehensive scheduling model, resource scheduling requests in the first request sequence and the second request sequence are processed through different scheduling methods based on the running status information to determine resource scheduling instructions. The scheduling methods include at least one of time-series scheduling, dynamic weight scheduling, and load balancing scheduling, or a combination of at least two of them.
[0010] Resources in the target system are scheduled according to resource scheduling instructions.
[0011] Secondly, this application provides a system resource scheduling device, comprising:
[0012] The acquisition module is used to acquire resource scheduling requests from one or more subsystems in the target system, as well as the operating status information of the target system.
[0013] Processing module, used for:
[0014] Based on the system type corresponding to each subsystem and the request time information corresponding to each resource scheduling request, the first request sequence and the second request sequence are determined. The system types include: the first type of system that can only process a single business request at a time and the second type of system that can process multiple business requests synchronously in batches at a time. Each subsystem corresponding to the first request sequence is a first type of system, and each subsystem corresponding to the second request queue is a second type of system.
[0015] Using a comprehensive scheduling model, resource scheduling requests in the first request sequence and the second request sequence are processed through different scheduling methods based on the running status information to determine resource scheduling instructions. The scheduling methods include at least one of time-series scheduling, dynamic weight scheduling, and load balancing scheduling, or a combination of at least two of them.
[0016] Resources in the target system are scheduled according to resource scheduling instructions.
[0017] Thirdly, this application provides an electronic device, comprising:
[0018] Memory, used to store program instructions;
[0019] A processor for calling and executing program instructions in the memory, performing any of the possible methods provided in the first aspect.
[0020] Fourthly, this application provides a storage medium in which a computer program is stored, the computer program being used to perform any of the possible methods provided in the first aspect.
[0021] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements any of the possible methods provided in the first aspect.
[0022] This application provides a system resource scheduling method. It involves acquiring resource scheduling requests from one or more subsystems within a target system, along with the target system's operational status information. Based on the system type of each subsystem and the request time information for each resource scheduling request, a first request sequence and a second request sequence are determined. System types include: a first type of system that can only process a single business request at a time, and a second type of system that can simultaneously process multiple business requests in batches. Each subsystem corresponding to the first request sequence is a first-type system, and each subsystem corresponding to the second request sequence is a second-type system. Using a comprehensive scheduling model, based on the operational status information, different scheduling methods are applied to process the resource scheduling requests in the first and second request sequences to determine resource scheduling instructions. The scheduling methods include at least one of time-series scheduling, dynamic weighted scheduling, and load balancing scheduling, or a combination of at least two of these methods. Resources in the target system are then scheduled according to the resource scheduling instructions. While ensuring system stability, this method integrates time-series scheduling, dynamic weighted scheduling, and load balancing scheduling, solving the technical problem of existing system resource scheduling methods requiring manual intervention and prone to misjudgments, leading to scheduling errors. This achieves the technical effect of reducing scheduling costs and improving resource scheduling efficiency and accuracy. Attached Figure Description
[0023] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0024] Figure 1 A logical schematic diagram of an existing system resource scheduling method provided for embodiments of this application;
[0025] Figure 2 A flowchart illustrating a system resource scheduling method provided in this application;
[0026] Figure 3 This application provides a schematic diagram of the structural framework of a resource scheduling system according to an embodiment of the present application.
[0027] Figure 4 A flowchart illustrating the processing of resource scheduling requests in the first request sequence of S203, provided for the implementation of this application;
[0028] Figure 5 A flowchart illustrating the processing of resource scheduling requests in the second request sequence of S203, provided for the implementation of this application;
[0029] Figure 6 A schematic diagram of the structure of a system resource scheduling device provided in an embodiment of this application;
[0030] Figure 7This is a schematic diagram of the structure of an electronic device provided in this application. Detailed Implementation
[0031] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, 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, including but not limited to combinations of multiple embodiments, are within the scope of protection of this application.
[0032] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0033] The following is an explanation of the technical terms used in this application:
[0034] Containers: A lightweight virtualization technology, similar to virtual machines (servers).
[0035] Online systems: Application systems that process a single transaction request at a time.
[0036] Batch processing systems: Application systems that process multiple transaction requests simultaneously.
[0037] Hash algorithm: Takes an input of arbitrary length (also known as a pre-image) and transforms it into an output of fixed length through a hash algorithm. This output is the hash value.
[0038] LSTM Neural Network: Long Short-Term Memory (LSTM) is a type of temporal recurrent neural network (RNN).
[0039] Current system resource scheduling solutions, such as those for core bank deposit systems, primarily involve manually initiating application instance resource requests and manually performing resource scheduling operations such as scaling up or reclaiming resources. In some scenarios, automated tools may be used to directly initiate resource scheduling.
[0040] Figure 1 A logical diagram illustrating an existing system resource scheduling method provided in this application embodiment. For example... Figure 1 As shown, it is necessary to manually determine the resource status, such as the system's resource utilization status, resource scheduling request status, etc., and then manually initiate resource scheduling, that is, manually allocate the available resources of the system.
[0041] However, existing system resource scheduling methods have the following drawbacks:
[0042] (1) It requires manual or semi-manual intervention, which consumes high manpower costs and is easy to waste server resources for application systems, resulting in increased operating costs.
[0043] (2) Server resource scheduling through manual intervention or automated tools may lead to scheduling errors due to human judgment errors, such as: reclaiming too many server resources, causing insufficient application system capacity, causing application system overload, and resulting in system abnormalities.
[0044] To solve the above problems, the inventive concept of this application is as follows:
[0045] This paper proposes a novel system resource scheduling method. First, it obtains the current system load, such as server CPU utilization and server disk storage utilization, system capacity, and current business operation status. Based on the overall operational status of various business processes, it determines whether resource scheduling is necessary. When resource scheduling is required, automatic dynamic resource scheduling begins. At this point, system characteristics must be fully considered. During dynamic resource scheduling, system stability is prioritized. For example, when releasing resources for online systems, a waiting period is implemented, while resources for batch systems are scheduled directly. Furthermore, during dynamic scheduling, a greedy scheduling approach is adopted for online systems requiring resources (scheduling resources without waiting for those that do not need to be fulfilled, while continuing to wait for other resources), and a try-to-fulfill scheduling approach is adopted for batch systems requiring resources (waiting for all resources to be prepared before scheduling). Simultaneously, the system's resource requirements are calculated, and the required server resources are assessed. Scheduling stops once the overall resource requirements reach the assessed value. This process also incorporates the LSTM neural network algorithm to predict the real-time operation of the system, such as the transaction volume in the bank's core system. It also combines this prediction with the system's load and real-time server resource status to comprehensively determine future capacity and prepare for scheduling. This ensures that the system's server resource utilization remains at a high level, avoiding wasted resource costs while guaranteeing the system's operational quality.
[0046] The system resource scheduling method provided in this application is described in detail below:
[0047] Figure 2 This is a flowchart illustrating a system resource scheduling method provided in an embodiment of this application. Figure 2 As shown, the specific steps of the system resource scheduling method include:
[0048] S201. Obtain resource scheduling requests from one or more subsystems in the target system, as well as the operating status information of the target system.
[0049] In this step, the operational status information includes: the target system's capacity information, the target system's transaction volume, and the target system's load. Capacity information refers to a system's maximum processing capacity or maximum available resources; transaction volume includes the target system's data exchange volume. For example, in a bank's core system, each transaction can be considered a single transaction, and the current transaction volume is the amount of data being processed; load includes the amount of resources currently being used by the target system.
[0050] S202. Determine the first request sequence and the second request sequence based on the system type corresponding to each subsystem and the request time information corresponding to each resource scheduling request.
[0051] In this step, the system types include: a first type of system that can only process a single business request at a time and a second type of system that can process multiple business requests synchronously in batches at a time. Each subsystem corresponding to the first request sequence is a first type of system, and each subsystem corresponding to the second request queue is a second type of system.
[0052] It should be noted that the first type of system includes the online system mentioned above, which is an application system that processes only a single transaction request at a time, and the second type of system includes the batch system mentioned above, which is an application system that processes multiple transaction requests simultaneously.
[0053] S203. Using the integrated scheduling model, based on the operating status information, process the resource scheduling requests in the first request sequence and the second request sequence through different scheduling processing methods to determine the resource scheduling instructions.
[0054] In this step, the scheduling methods include at least one of time-series scheduling, dynamic weighted scheduling, and load balancing scheduling, or a combination of at least two of them. Time-series scheduling is used to respond to resource scheduling requests according to the order corresponding to the request time information; dynamic weighted scheduling is used to determine the order of responding to resource scheduling requests according to preset weight conditions; and load balancing scheduling is used to improve the load balancing of various resources.
[0055] In this embodiment, it specifically includes:
[0056] S2031. Using a comprehensive scheduling model, based on the resource scheduling requests and running status information corresponding to the first request sequence, perform time-series scheduling and / or dynamic weighted scheduling on the first request sequence to determine the first scheduling instruction.
[0057] In this step, it is determined whether the importance levels of each subsystem in the first request sequence are the same, and whether the remaining resources of the target system are greater than or equal to the resource requirements of each resource scheduling request in the first request sequence.
[0058] If so, then determining to perform time-series scheduling on the first request sequence includes: processing each resource scheduling request sequentially based on the request time information corresponding to each resource scheduling request in the first request sequence and the preset time sequence corresponding to the time-series scheduling, in order to determine the first scheduling instruction. Optionally, the preset time sequence includes: a time sequence from smallest to largest, or a time sequence from largest to smallest.
[0059] If not, then determine that the first request sequence will be dynamically weighted and scheduled, including:
[0060] Using a preset weight value model, the weight parameters corresponding to each subsystem are determined based on the importance level of each subsystem in the first request sequence and the running load in the running status information; the response ratio corresponding to each resource scheduling request is determined based on the waiting time and request service time in each resource scheduling request in the first request sequence, as well as each weight parameter; using a dynamic scheduling model, the execution order of resource scheduling requests is determined based on the size of the response ratio, and the first scheduling instruction is determined.
[0061] It is worth noting that the system characteristic indicators include: the first characteristic corresponding to the importance level of each subsystem, and the second characteristic corresponding to the running load of each resource scheduling request. The weight parameters include: the importance weight corresponding to the first characteristic and the load weight corresponding to the second characteristic.
[0062] S2032. Using a comprehensive scheduling model, based on the resource scheduling requests and operating status information corresponding to the second request sequence, perform dynamic weight scheduling and load balancing scheduling on the second request sequence to determine the second scheduling instruction.
[0063] In this step, firstly, using a comprehensive scheduling model, dynamic weighted scheduling is performed on the second request sequence based on the resource scheduling requests and running status information corresponding to each request, to determine the third scheduling instruction; then, load balancing scheduling is performed on the second request sequence, including: using a preset allocation model, allocating each batch job corresponding to each subsystem in the second request sequence to one or more business containers, where the business container is the business processing resource corresponding to the subsystem; finally, the second scheduling instruction is determined, including:
[0064] Based on the number of batch jobs corresponding to each business container, determine whether the load of the business container exceeds a preset threshold; if so, adjust the third scheduling instruction according to the preset adjustment rules to obtain the second scheduling instruction; if not, use the third scheduling instruction as the second scheduling instruction.
[0065] It should be noted that the resource scheduling instructions in this embodiment include: a first scheduling instruction and a second scheduling instruction.
[0066] S204. Schedule resources in the target system according to the resource scheduling instructions.
[0067] In this embodiment, after receiving the resource scheduling instruction, further resource checks can be performed, specifically including: inputting the transaction volume from the target system's operating status information in S201, i.e., the business processing volume of each subsystem, into a preset neural network model to predict and calculate the transaction volume corresponding to one or more subsystems in the next time period, obtaining the predicted transaction volume corresponding to each subsystem; based on the resource scheduling instruction, the predicted transaction volume, and the target system's capacity information, such as remaining available capacity, determining whether the resources after scheduling meet preset requirements, such as capacity requirements and / or usage cost requirements. If the preset requirements are met, resource scheduling begins according to the resource scheduling instruction; otherwise, it is necessary to return to S201 and recalculate the resource scheduling.
[0068] This application provides a system resource scheduling method. It obtains resource scheduling requests from one or more subsystems within a target system, along with the target system's operational status information. Based on the system type of each subsystem and the request time information corresponding to each resource scheduling request, a first request sequence and a second request sequence are determined. The system types include: a first type of system that can only process a single business request at a time, and a second type of system that can simultaneously process multiple business requests in batches. Each subsystem corresponding to the first request sequence is a first-type system, and each subsystem corresponding to the second request sequence is a second-type system. Using a comprehensive scheduling model, based on the operational status information, different scheduling processing methods are applied to the resource scheduling requests in the first and second request sequences to determine resource scheduling instructions. The scheduling processing methods include at least one of time-series scheduling, dynamic weighted scheduling, and load balancing scheduling, or a combination of at least two of these methods. Resources in the target system are scheduled according to the resource scheduling instructions. While ensuring system stability, this method integrates time-series scheduling, dynamic weighted scheduling, and load balancing scheduling, solving the technical problem of existing system resource scheduling methods requiring manual intervention and prone to misjudgments, leading to scheduling errors. This achieves the technical effect of reducing scheduling costs and improving resource scheduling efficiency and accuracy.
[0069] Figure 2 The system resource scheduling method of the illustrated embodiment can be applied to a resource scheduling system, or to a resource scheduling subsystem of a system, such as the resource scheduling system corresponding to the core system of a bank. The following will combine... Figure 3 To illustrate this application scenario.
[0070] Figure 3 This is a schematic diagram of the structural framework of a resource scheduling system provided in an embodiment of this application. Figure 3 As shown, the resource scheduling system 300 includes: an acquisition module 310, a resource scheduling module 320, and an inspection module 330.
[0071] The acquisition module 310 is used to: pull various data from external information sources, such as capacity platforms or monitoring platforms, i.e., the running status information in S201, such as system capacity information, system transaction volume, system load, etc., associate these data with the application system's server, and transmit them to the resource scheduling module 320.
[0072] The resource scheduling module 320 includes two sub-modules: a resource calculation module 321 and a scheduling initiation module 322. The resource calculation module 321 is used to: perform resource calculations on the obtained information source data through steps S202 and S203 to determine whether the target system needs resource scheduling. If the target system needs resource scheduling, it calculates and generates corresponding scheduling strategies based on the characteristics of each subsystem of the target system, i.e., the scheduling instructions in S203. The scheduling initiation module 322 is used to: automatically initiate resource scheduling for the target system based on the scheduling strategy and scheduling instructions obtained from the resource calculation module 321.
[0073] Specifically, the resource calculation module 321 determines whether each subsystem, i.e., application system, needs resource scheduling based on the acquired resource information of each subsystem in the target system. Then, based on the characteristics of each subsystem, i.e., application system, such as whether the subsystem is an online system or a batch system, and the running status of each subsystem in the target system acquired by the acquisition module 310, it performs resource calculation and analysis using S202-S203 and generates corresponding scheduling strategies, i.e., scheduling instructions. For online systems, the main approach is time-series scheduling + dynamic weighted scheduling, also known as the first-come, first-served scheduling algorithm + high response ratio first scheduling algorithm. Furthermore, when the resources of the target system are insufficient to support the resource needs of all subsystems, priority is given to scheduling the resources of the subsystems that can meet the needs. For batch systems, the main approach is load balancing scheduling, such as using a multi-level feedback queue scheduling algorithm + consistent hashing algorithm to achieve resource scheduling.
[0074] The inspection module 330 includes two sub-modules: a transaction volume prediction module 331 and a resource detection module 332. The transaction volume prediction module 331 is used to: predict the transaction volume of one or more subsystems (i.e., application systems) in the target system based on the transaction volume data obtained by the acquisition module 310, using a preset neural network algorithm, and send the predicted transaction volume to the resource detection module 332. The resource detection module 332 is used to: combine the current scheduled capacity of the target system with the predicted transaction volume to determine whether the scheduled resources meet the capacity requirements and / or cost requirements. If they do, the scheduling initiation module 322 can output the corresponding scheduling instruction.
[0075] To facilitate understanding of the different resource scheduling methods of the first type of system and the second type of system in S203, several embodiments will be used to illustrate them respectively.
[0076] Figure 4 This is a flowchart illustrating the process of handling the resource scheduling request in the first request sequence of S203, provided for the implementation of this application. For example... Figure 4 As shown, the specific steps include:
[0077] S401. Determine whether the importance levels of each subsystem in the first request sequence are the same, and whether the remaining resources of the target system are greater than or equal to the resource requirements of each resource scheduling request in the first request sequence.
[0078] In this step, if yes, then it is determined that the first request sequence will be scheduled in a time sequence, i.e., S402 is executed; otherwise, it is determined that the first request sequence will be scheduled in a dynamic weight sequence, i.e., S403 is executed.
[0079] In this embodiment, the first request sequence includes multiple first-type systems requesting resource scheduling, such as multiple online systems. Each first-type system can only process a single business request at a time. The importance level of each subsystem is pre-set and can be obtained by querying a pre-stored mapping table. Each resource scheduling request in the first request sequence contains the amount of resources requested, and the total resource requirement is obtained by adding up the resource amounts corresponding to each resource scheduling request in the first request sequence.
[0080] Then, based on the target system's capacity information and workload obtained in S201, the remaining capacity, i.e. the remaining available resources, can be obtained.
[0081] If all subsystems, i.e. application systems, in the first request sequence have the same importance level, then it is necessary to continue to determine whether the remaining capacity is greater than or equal to the total resource demand. If so, then S402 is executed, which means that resource scheduling is carried out according to the principle of first-come, first-served, or first-request-first-schedule.
[0082] S402. Based on the request time information corresponding to each resource scheduling request in the first request sequence and the preset timing corresponding to the timing scheduling, process each resource scheduling request in sequence to determine the first scheduling instruction.
[0083] In this step, the preset timing sequence includes either a timing sequence from smallest to largest, or a timing sequence from largest to smallest. In this embodiment, the preset timing sequence is a timing sequence from smallest to largest.
[0084] For example, the subsystems or application systems in the target system can be divided into three importance levels: Level A, Level B, and Level C. Suppose four subsystems or application systems have submitted resource scheduling requests. All four application systems are of Level B importance, and each application system requests two units of CPU (central processing unit) cores. If the remaining capacity of the target system is greater than or equal to two units of CPU cores, resource scheduling can be performed according to the order in which the application systems submitted their resource scheduling requests.
[0085] Specifically:
[0086] Subsystem 1 initiates a resource scheduling request at 17:00 (2 units of CPU core resources, with an expected resource usage time of 7 minutes). At this time, there is only one resource scheduling request in the first request sequence, and the target system's resource pool has a total of 2 units of CPU core resources remaining.
[0087] Subsystem 2 initiated a resource scheduling request at 17:02 (2 CPU core resources, with an expected resource occupation time of 4 minutes). At this time, the resource pool had no resources available for allocation and needed to wait.
[0088] Subsystem 3 initiated a resource request at 17:04 (requiring 2 CPU cores, with an expected resource usage time of 1 minute). At this time, the resource pool had no resources available for allocation and the system needed to wait.
[0089] Subsystem 4 initiated a resource request at 17:04 (requiring 2 CPU cores, with an expected resource usage time of 4 minutes). At this time, the resource pool had no resources available for allocation and the system needed to wait.
[0090] At 17:07, Subsystem 1 finished using the resources and returned them to the resource pool. At this time, there were Subsystem 2, Subsystem 3 and Subsystem 4 in the resource waiting queue. Since Subsystem 2 was the first to request resources (i.e., the longest waiting time), the resources were allocated to Subsystem 2.
[0091] At 17:11, Subsystem 2 returned the resources to the resource pool after using them, and the scheduler allocated the resources to Subsystem 3.
[0092] At 17:12, subsystem 3 returns the resources to the resource pool after using them, and the scheduler allocates the resources to subsystem 4.
[0093] S403. Using a preset weight value model, determine the weight parameters based on the importance level of each subsystem in the first request sequence and the running load in the running status information.
[0094] In this step, the weighting parameter is determined by the importance level of the subsystem and the operating load. The higher the importance level and the load, the larger the corresponding weighting parameter.
[0095] In this embodiment, firstly, the importance level of each subsystem and the runtime load corresponding to each resource scheduling request are recorded in different columns of a first matrix, with data in the same row of the first matrix corresponding to the same subsystem, and each column of the first matrix corresponding to a system characteristic indicator. Then, each data point in the first matrix is normalized to obtain a second matrix. Next, based on each parameter in the second matrix and the maximum and minimum values in the column containing that parameter, a key feature value corresponding to each parameter is calculated. Then, using a preset entropy model, the entropy value of each system characteristic indicator is determined based on the key feature values in the same column. Finally, using a preset weight model, the weight parameter corresponding to each system characteristic indicator is determined based on each entropy value.
[0096] It is worth noting that the system characteristic indicators include: the first characteristic corresponding to the importance level of each subsystem, and the second characteristic corresponding to the running load of each resource scheduling request. The weight parameters include: the importance weight corresponding to the first characteristic and the load weight corresponding to the second characteristic.
[0097] Specifically, firstly, based on the importance level C and the operating load L of each subsystem, construct an n-row m-column matrix A, where n represents the number of subsystems (i.e., application systems) and m represents the number of features, including the importance level C and the operating load L.
[0098] Matrix A is shown in formula (1):
[0099]
[0100] Where, x ij This represents the j-th feature in the i-th subsystem.
[0101] In this embodiment, for ease of understanding, it is assumed that m is 2, meaning only importance level C and operating load L are considered. It should be noted that m can be greater than 2, meaning that those skilled in the art can set more features for the subsystem according to different actual application scenarios, including but not limited to importance level C and operating load L.
[0102] Suppose that there is a subsystem 5 in the current first request sequence, and its importance level is B, then the corresponding matrix factor x 11 =2, the current load of subsystem 5 is 70%, then the corresponding matrix factor x 12 =7; In the current first request sequence, there exists a subsystem 6 with an importance level of A. Then the corresponding matrix factor x 21=3, the current load of subsystem 6 is 50%, then the corresponding matrix factor x 22 =5.
[0103] Then the first matrix, i.e., the matrix
[0104] Then, the first matrix is normalized to obtain the second matrix, namely matrix B. Assume that matrix B after normalization is:
[0105]
[0106] Then, based on each parameter in the second matrix, i.e., matrix B, and the maximum and minimum values in the column containing that parameter, calculate the key eigenvalue y corresponding to each parameter. ij The calculation formula is shown in formula (2):
[0107]
[0108] Wherein, minmax(x) i1 , ...x im ) represents the minimum value in the i-th row of the second matrix, max(x) i1 , ...x im ) represents the maximum value in the i-th row of the second matrix.
[0109] Next, using a pre-defined entropy model, the entropy value e of each system characteristic index is determined based on the key feature values in the same column. j The pre-defined entropy model can be represented by formula (3):
[0110]
[0111] Finally, using a pre-defined weighting model, the weight parameter W corresponding to each system feature index is determined based on each entropy value. j The pre-defined weight model can be expressed by formula (4):
[0112]
[0113] Therefore, based on formulas (1) to (4), the weight parameter corresponding to each feature can be calculated, that is, the weight parameter W corresponding to the importance level C. C The weight parameter W corresponding to the operating load L L .
[0114] S404. Based on the waiting time and request service time of each resource scheduling request in the first request sequence, as well as the weight parameters, determine the response ratio corresponding to each resource scheduling request.
[0115] In this step, the response ratio p can be calculated using formula (5), which is shown below:
[0116] p=(1+T w / T R )×f(W C W L (5)
[0117] Among them, T W For the waiting time, T R For the requested service time, f(W) C W L ) represents the weighting parameter, which is the weighting parameter W corresponding to the importance level C. C The weight parameter W corresponding to the operating load L L Jointly determined, for example, f(W) C W L ) = W C +W L , or f(W C W L ) = W C *W L .
[0118] It should be noted that the purpose of steps S403 and S404 is to identify system characteristics that directly affect the quality of application services, collect various system characteristics corresponding to subsystems, and convert different system characteristics into numerical data that can be recognized by computer formulas. These numerical data are then input into the calculation formula to obtain the influence weights of these influencing factors, which are then provided to the response ratio formula for calculation. The advantages of using the response ratio formula compared to existing technologies are mainly as follows: Existing scheduling algorithms are all static calculation methods, meaning that the calculation factors in the formula are predefined fixed constants. This formula is a dynamic calculation method, dynamically collecting data for each influencing factor and dynamically calculating the weight ratio of the influencing factors; this results in a more accurate final value, reducing application service unavailability caused by scheduling decision errors.
[0119] S405. Using a dynamic scheduling model, determine the execution order of resource scheduling requests based on the response ratio, and determine the first scheduling instruction.
[0120] In this step, the response ratio p corresponding to each resource scheduling request obtained in S404 is compared, and the corresponding resource scheduling requests are responded to in descending order of response ratio, thereby allocating resources to the corresponding subsystems.
[0121] In this embodiment, the response ratio of subsystem 5 is calculated to be 1.17 and the response ratio of subsystem 6 is 1.75 by formulas (1) to (5). When subsystem 6 initiates a resource request at 17:17, the scheduler will allocate resources to subsystem 6.
[0122] The system resource scheduling method provided in this application embodiment, compared with the prior art, has made a refined resource scheduling implementation for the first type of system, such as online systems. It can match resources more accurately, save server resource costs, respond quickly to server resource needs, improve the work efficiency of operation and maintenance personnel, and avoid system overload caused by insufficient resources. In addition, when making decision scheduling here, the weight calculation of application system related parameters, such as importance level and system operating load, is introduced. Compared with the existing technology of directly scheduling resources, when resource competition is fierce, it can ensure that resources are allocated to the application system that needs to be prioritized more quickly and accurately. Moreover, the above resource allocation belongs to the preemptive scheduling strategy, which ensures the flexibility of the scheduling algorithm. Furthermore, the formulas (1) to (5) support the calculation of new weight parameters. When there are new parameters that may affect the resource scheduling of the application system, they can be directly substituted into the formula for calculation, saving the step of re-executing the scheduling strategy.
[0123] Figure 5 This is a flowchart illustrating the process of handling the resource scheduling request in the second request sequence of S203, provided for the implementation of this application. For example... Figure 5 As shown, the specific steps include:
[0124] S501. Using the integrated scheduling model, based on the resource scheduling requests and running status information corresponding to the second request sequence, perform dynamic weight scheduling on the second request sequence to determine the third scheduling instruction.
[0125] The implementation of this step is the same as S403 to S405. The response ratio p of each resource scheduling request corresponding to the second request sequence is calculated using formulas (1) to (5). Then, resource scheduling is performed in descending order of response ratio to obtain the third scheduling instruction for each resource scheduling request corresponding to the second request sequence.
[0126] It should be noted that since the second type of system processes business in batches, its characteristics include longer execution time for business request tasks, greater demand for container resources, and a relatively constant resource demand duration. When a batch-type system (i.e., the second type of system) initiates a resource request, this embodiment makes a scheduling judgment based on relevant judgment parameters (such as application system importance level, application system load, and waiting time for resources). However, due to the unique characteristics of batch jobs—that jobs run in a fixed queue in the application for a long time, and the application queue is deployed on containers—the batch job execution queue can be considered as bound to container resources. Therefore, during resource scheduling, the job execution status also needs to be considered, and resource scheduling needs to be checked and decided. The subsequent steps S502 to S505 are to check the third scheduling instruction to achieve resource scheduling balance. For example, a scheduling judgment is made using a dynamic priority algorithm + consistent hash algorithm to calculate which container node the batch job runs on, thereby judging the rationality of the scheduling and avoiding excessive workload on one or more container nodes, which could cause container node congestion or crashes.
[0127] S502. Using a preset allocation model, each batch job corresponding to each subsystem in the second request sequence is allocated to one or more business containers. The business container is the business processing resource corresponding to the subsystem.
[0128] This step specifically includes:
[0129] S5021. Map one or more containers corresponding to each subsystem in the second request sequence to a preset value domain through a preset allocation model, and determine the first value corresponding to each container.
[0130] In this embodiment, the preset value range includes: a range of values, such as 1-100, or a circular range of values, such as 0-60 as one cycle, which repeats continuously like a clock.
[0131] Specifically, the identity codes corresponding to one or more containers of each subsystem in the second request sequence are hashed, and the hash result is then processed according to the 2 32 The modulo operation, also known as the modulo calculation, is performed and its result is mapped to a value within a preset value range to obtain the first value of each container within that range. This determines the first value corresponding to each container node within the preset value range. The formula for the modulo operation is: hash(container's IP address) % 2^32. This process is also called hash modulo.
[0132] For example, at 18:00, subsystem 7 initiates a resource scheduling request, hashes the IPs of its three corresponding containers, and maps them to three nodes A, B, and C in a preset ring value domain.
[0133] It's important to note that the concepts of modulo operation and remainder operation overlap but are not entirely identical. The main difference lies in the operations performed when dividing negative integers. Modulo is primarily used in computer terminology, while remainder is more of a mathematical concept. For example, for integers a and b, the methods for modulo or remainder operation are: 1. Find the integer quotient: c = [a / b]; 2. Calculate the modulus or remainder: r = ac * b.
[0134] The modulo operation and the remainder operation differ in the first step: the remainder operation rounds the value of c towards 0 (fix() function); while the modulo operation rounds the value of c towards negative infinity (floor() function).
[0135] Example 1. Calculate: -7 mod 4. Then: a = -7; b = 4;
[0136] Step 1: Find the integer quotient c:
[0137] ① Perform the modulo operation: c = [a / b] = -7 / 4 = -2 (rounding towards negative infinity).
[0138] ② Perform the remainder operation: c = [a / b] = -7 / 4 = -1 (rounding towards 0);
[0139] Step 2: The formulas for calculating the modulus and remainder are the same, but the values of c are different.
[0140] ① When calculating the modulus: r = ac * b = -7 - (-2) * 4 = 1,
[0141] ② When finding the remainder: r = ac * b = -7 - (-1) * 4 = -3.
[0142] Example 2. Calculate: 7 mod 4. Then: a = 7; b = 4;
[0143] Step 1: Find the integer quotient c:
[0144] ① Perform the modulo operation: c = [a / b] = 7 / 4 = 1
[0145] ② Perform the remainder operation: c = [a / b] = 7 / 4 = 1
[0146] Step 2: The formulas for calculating the modulus and remainder are the same.
[0147] ① When calculating the modulus: r = ac * b = 7 - (1) * 4 = 3,
[0148] ② When finding the remainder: r = ac * b = 7 - (1) * 4 = 3.
[0149] In summary: When the signs of a and b are the same, the values of c obtained by the modulo operation and the remainder operation are the same, therefore the results are consistent. When the signs are different, the results are different.
[0150] S5022. Map each batch job to a preset value range using a preset allocation model, and determine the second value corresponding to the batch job.
[0151] This step is similar in principle to S5021, mapping batch jobs to a preset value range, such as a hash ring, expressed by the formula: hash(job number) % 2^32. The resulting value in the preset value range is the second value. A one-to-one mapping relationship is established between the second value and the batch jobs.
[0152] S5023. Calculate the difference between each second value and each first value, and determine the set of differences corresponding to each second value.
[0153] S5024. When the first value is greater than or equal to the second value, and the difference is the minimum value among the differences, determine that the batch job corresponding to the second value is assigned to the container corresponding to the first value.
[0154] For S5023 and S5024, it can be understood that for each second value, a first value that is larger than the second value and is closest to it is found, and the batch job corresponding to the second value is assigned to the container corresponding to the first value for processing. If the preset value range is a circular value range, it can be understood as searching for the first value closest to the second value in a clockwise or counterclockwise direction.
[0155] It's important to note that with a fixed number of container nodes, a batch job will always be mapped to a fixed container node. Therefore, when resource scheduling is initiated, whether adding or removing nodes, the container nodes mapped to the batch jobs will change. For example, when container node B needs to be scheduled for recycling, job 3 should be cached in container B. However, after container B is recycled, according to the previously described consistent hash algorithm, job 3 should be cached in container C (the first container node encountered clockwise from the position of job 3 is container C). Therefore, while initiating resource scheduling for batch systems, this step also needs to check the third scheduling instruction in S501. Because changes in the number of nodes may cause jobs to be mapped to other container nodes, resulting in batch jobs being concentrated on a single container node, causing that container node to be overloaded. Therefore, the scheduling system needs to make other scheduling decisions, such as waiting for the job to complete before scheduling, or increasing the number of nodes to be scheduled, to ensure that jobs can run evenly across all container nodes.
[0156] S503. Based on the number of batch jobs corresponding to each business container, determine whether the load of the business container exceeds the preset threshold.
[0157] In this step, if yes, then execute S504; otherwise, it proves that no adjustment is needed, and execute S505.
[0158] S504. According to the preset adjustment rules, adjust the third scheduling instruction to obtain the second scheduling instruction.
[0159] In this embodiment, assuming that at 18:00, the batch job numbers running in subsystem 7 are also hashed and moduloed to correspond to three nodes A, B, and C respectively; then, the load of the container is determined by the mapping node status of the job set; if the load is higher than the preset load threshold, the scheduling is postponed until the job is completed, or the number of nodes to be scheduled is increased.
[0160] S505, Use the third scheduling instruction as the second scheduling instruction.
[0161] The system resource scheduling method provided in this embodiment is specifically designed for batch-type systems (i.e., the second type of system), and implements refined resource scheduling based on the characteristics of batch jobs. Related technologies do not differentiate between online and batch systems when scheduling server resources. If resource scheduling occurs while batch jobs are being executed, it can easily lead to abnormal batch job execution. This invention provides special handling for resource scheduling in batch-type application systems, ensuring graceful resource scheduling during job execution, and also incorporating... Figure 4 The dynamic weighted scheduling in the illustrated embodiment can ensure reasonable resource allocation and reduce server costs.
[0162] It should also be noted that, for the above embodiments, in addition to using Figure 5 In addition to checking the resources being scheduled using consistent hashing in the load balancing scheduling shown, a dedicated checking module can also be set up, such as... Figure 3The inspection module 330 shown checks the resources initiated for scheduling to determine their rationality. For example, it checks the resource load of the application system after scheduling (whether it is in a low-load or high-load state). If the load is low, some container resources need to be reclaimed; if the load is high, resource scheduling needs to be initiated again for expansion. Or, if the container resources initiated for scheduling become abnormal, they need to be isolated and reclaimed immediately. Additionally, the LSTM neural network algorithm is used to predict transaction volume, predicting the transaction trend of application instances and combining it with historical scheduling time points to determine whether resource scheduling needs to be performed at the next certain time point. The following figure is an example of using the LSTM neural network algorithm to predict transaction volume (performing resource scheduling in advance before the transaction volume reaches a peak / trough). The following are the steps of the LSTM neural network algorithm for predicting transaction volume (since the key technical point of this invention lies in the implementation of the scheduling algorithm, only a simple step description is given here).
[0163] a. Prepare historical transaction volume data for model training (e.g., historical transaction volume trend over 30 days): trainX→trainY[0:30,0:5]→[30,0][1:31,0:5]→[31,0][2:32,0:5]→[32,0];
[0164] b. Use the gridsearchCV algorithm for training and hyperparameter tuning, and fit the model to the trainX and trainY data: grid_search = grid_search.fit(trainX, trainY); my_model = grid_search.best_estimator_.model;
[0165] c. By adjusting parameters and performing inverse scaling of some data, a prediction model is obtained, and the predicted trading volume is plotted:
[0166] plt.plot(original,color='green',label='RealVOL')plt.plot(pred,color='red',label='PredictedVOL')plt.title('VOLPrediction')plt.xlabel('Time')plt.ylabel('VOL')plt.legend()plt.show().
[0167] Figure 6 This is a schematic diagram of a system resource scheduling device provided in an embodiment of this application. The system resource scheduling device 600 can be implemented by software, hardware, or a combination of both.
[0168] like Figure 6 As shown, the system resource scheduling device 600 includes:
[0169] The acquisition module 601 is used to acquire resource scheduling requests from one or more subsystems in the target system, as well as the operating status information of the target system.
[0170] Processing module 602 is used for:
[0171] Based on the system type corresponding to each subsystem and the request time information corresponding to each resource scheduling request, the first request sequence and the second request sequence are determined. The system types include: the first type of system that can only process a single business request at a time and the second type of system that can process multiple business requests synchronously in batches at a time. Each subsystem corresponding to the first request sequence is a first type of system, and each subsystem corresponding to the second request queue is a second type of system.
[0172] Using a comprehensive scheduling model, resource scheduling requests in the first request sequence and the second request sequence are processed through different scheduling methods based on the running status information to determine resource scheduling instructions. The scheduling methods include at least one of time-series scheduling, dynamic weight scheduling, and load balancing scheduling, or a combination of at least two of them.
[0173] Resources in the target system are scheduled according to resource scheduling instructions.
[0174] In one possible design, the processing module 602 is used for:
[0175] Using a comprehensive scheduling model, the first request sequence is scheduled in a time sequence and / or dynamically weighted according to the resource scheduling requests and running status information corresponding to the first request sequence, so as to determine the first scheduling instruction;
[0176] Using a comprehensive scheduling model, dynamic weight scheduling and load balancing scheduling are performed on the second request sequence based on the resource scheduling requests and running status information corresponding to the second request sequence, so as to determine the second scheduling instruction;
[0177] Resource scheduling instructions include: first scheduling instruction and second scheduling instruction.
[0178] In one possible design, the processing module 602 is used for:
[0179] Determine whether the importance levels of each subsystem in the first request sequence are the same, and whether the remaining resources of the target system are greater than or equal to the resource requirements of each resource scheduling request in the first request sequence;
[0180] If so, then determine the timing of the first request sequence, including:
[0181] Based on the request time information corresponding to each resource scheduling request in the first request sequence and the preset timing corresponding to the timing scheduling, each resource scheduling request is processed sequentially to determine the first scheduling instruction.
[0182] In one possible design, the processing module 602 is also used for:
[0183] If not, then determine to perform dynamic weight scheduling on the first request sequence, including:
[0184] Using a preset weight value model, the weight parameters are determined based on the importance level of each subsystem in the first request sequence and the running load in the running status information;
[0185] Based on the waiting time and request service time of each resource scheduling request in the first request sequence, as well as the weight parameters, determine the response ratio corresponding to each resource scheduling request;
[0186] Using a dynamic scheduling model, the execution order of resource scheduling requests is determined based on the response ratio, and the first scheduling instruction is determined.
[0187] In one possible design, the processing module 602 is also used for:
[0188] The importance level of each subsystem and the running load corresponding to each resource scheduling request are recorded in different columns of the first matrix, and the data in the same row of the first matrix correspond to the same subsystem. Each column of the first matrix corresponds to a system characteristic index.
[0189] Normalize each data point in the first matrix to obtain the second matrix;
[0190] Calculate the key feature value corresponding to each parameter based on each parameter in the second matrix and the maximum and minimum values in the column where the parameter is located;
[0191] Using a pre-defined entropy model, the entropy value of each system characteristic index is determined based on the key feature values in the same column;
[0192] Using a pre-defined weighting model, the weight parameters corresponding to each system feature index are determined based on each entropy value.
[0193] In one possible design, the processing module 602 is used for:
[0194] Using a comprehensive scheduling model, the second request sequence is dynamically weighted and scheduled according to the resource scheduling requests and running status information corresponding to the second request sequence in order to determine the third scheduling instruction;
[0195] Load balancing scheduling of the second request sequence includes:
[0196] Using a pre-defined allocation model, each batch job corresponding to each subsystem in the second request sequence is allocated to one or more business containers, where the business container is the business processing resource corresponding to the subsystem.
[0197] Determine the second scheduling instruction, including:
[0198] Based on the number of batch jobs corresponding to each business container, determine whether the load of the business container exceeds a preset threshold;
[0199] If so, the third scheduling instruction is adjusted according to the preset adjustment rules to obtain the second scheduling instruction;
[0200] If not, then the third scheduling instruction will be used as the second scheduling instruction.
[0201] In one possible design, the processing module 602 is used for:
[0202] By using a preset allocation model, one or more containers corresponding to each subsystem in the second request sequence are mapped to a preset value range, and the first value corresponding to each container is determined.
[0203] Each batch job is mapped to a preset value range by a preset allocation model, and the second value corresponding to the batch job is determined.
[0204] Calculate the difference between each second value and each first value, and determine the set of differences corresponding to each second value;
[0205] When the first value is greater than or equal to the second value, and the difference is the minimum of the differences, the batch job corresponding to the second value is assigned to the container corresponding to the first value.
[0206] In one possible design, the processing module 602 is also used for:
[0207] The transaction volume in the running status information is input into a preset neural network model to predict the transaction volume of one or more subsystems in the next time period, and the predicted transaction volume of each subsystem is obtained.
[0208] Based on resource scheduling instructions, predicted transaction volume, and target system capacity information, determine whether the scheduled resources meet the preset requirements.
[0209] If the preset requirements are met, resource scheduling will be performed according to the resource scheduling instructions.
[0210] It is worth noting that, Figure 6 The apparatus provided in the illustrated embodiments can execute the methods provided in any of the above method embodiments. Their specific implementation principles, technical features, explanations of technical terms, and technical effects are similar and will not be repeated here.
[0211] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 7 As shown, the electronic device 700 may include at least one processor 701 and a memory 702. Figure 7 The example shown is an electronic device using a processor.
[0212] The memory 702 is used to store programs. Specifically, the program may include program code, which includes computer operation instructions.
[0213] The memory 702 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0214] The processor 701 is used to execute computer execution instructions stored in the memory 702 to implement the methods of the above method embodiments.
[0215] The processor 701 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application.
[0216] Optionally, the memory 702 can be either standalone or integrated with the processor 701. When the memory 702 is a device independent of the processor 701, the electronic device 700 may further include:
[0217] Bus 703 is used to connect processor 701 and memory 702. The bus can be an industry standard architecture (ISA) bus, a peripheral component (PCI) bus, or an extended industry standard architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc., but this does not mean there is only one bus or one type of bus.
[0218] Optionally, in a specific implementation, if the memory 702 and the processor 701 are integrated on a single chip, the memory 702 and the processor 701 can communicate through an internal interface.
[0219] This application also provides a computer-readable storage medium, which may include various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a disk, or an optical disk. Specifically, the computer-readable storage medium stores program instructions, which are used in the methods described in the above-mentioned method embodiments.
[0220] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the methods described in the above-described method embodiments.
[0221] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application 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 and spirit of this application are indicated by the claims.
[0222] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A system resource scheduling method, characterized in that, include: Obtain resource scheduling requests initiated by one or more subsystems in the target system, as well as the operating status information of the target system; Based on the system type corresponding to each subsystem and the request time information corresponding to each resource scheduling request, a first request sequence and a second request sequence are determined. The system type includes: a first type of system that can only process a single business request at a time and a second type of system that can synchronously process multiple business requests in batches at a time. Each subsystem corresponding to the first request sequence is a first type of system, and each subsystem corresponding to the second request queue is a second type of system. The resource scheduling instructions are determined by using a comprehensive scheduling model and different scheduling methods based on the operational status information to process the resource scheduling requests in the first request sequence and the second request sequence, respectively: Using the comprehensive scheduling model, based on each resource scheduling request corresponding to the first request sequence and the operational status information, the first request sequence is subjected to time-series scheduling and dynamic weight scheduling to determine a first scheduling instruction; using the comprehensive scheduling model, based on each resource scheduling request corresponding to the second request sequence and the operational status information, the second request sequence is subjected to dynamic weight scheduling and load balancing scheduling to determine a second scheduling instruction; the resource scheduling instructions include the first scheduling instruction and the second scheduling instruction; the scheduling methods include at least one of time-series scheduling, dynamic weight scheduling, and load balancing scheduling, or a combination of at least two of them; the time-series scheduling is used to respond to the resource scheduling requests according to the order corresponding to the request time information; the dynamic weight scheduling is used to determine the order of responding to the resource scheduling requests according to preset weight conditions; and the load balancing scheduling is used to improve the load balancing of each resource. The transaction volume in the operation status information is input into a preset neural network model to predict the transaction volume of one or more of the subsystems in the next time period, so as to obtain the predicted transaction volume of each subsystem. Based on resource scheduling instructions, predicted transaction volume, and target system capacity information, determine whether the scheduled resources meet the preset requirements. If the preset requirements are met, resource scheduling will be performed according to the resource scheduling instructions.
2. The system resource scheduling method of claim 1, wherein, The step of utilizing the comprehensive scheduling model to perform time-series scheduling and dynamic weighted scheduling on the first request sequence based on each resource scheduling request corresponding to the first request sequence and the running status information, in order to determine the first scheduling instruction, includes: Determine whether the importance levels of each subsystem in the first request sequence are the same, and whether the remaining resources of the target system are greater than or equal to the resource requirements of each resource scheduling request in the first request sequence; If so, then determining to perform the timing scheduling on the first request sequence includes: Based on the request time information corresponding to each resource scheduling request in the first request sequence and the preset timing corresponding to the timing scheduling, each resource scheduling request is processed sequentially to determine the first scheduling instruction.
3. The method of claim 2, wherein, The preset timing sequence includes: a timing sequence from small to large, or a timing sequence from large to small.
4. The method of claim 2, wherein, After determining whether the importance levels of each subsystem in the first request sequence are the same, and whether the remaining resources of the target system are sufficient to meet the total resource requirements of the first request sequence, the method further includes: If not, then determine to perform the dynamic weight scheduling on the first request sequence, including: Using a preset weight value model, weight parameters are determined based on the importance level of each subsystem in the first request sequence and the operating load in the operating status information; Based on the waiting time and request service time of each resource scheduling request in the first request sequence, and the weight parameter, determine the response ratio corresponding to each resource scheduling request; Using a dynamic scheduling model, the execution order of the resource scheduling requests is determined based on the response ratio, and the first scheduling instruction is determined.
5. The method of claim 4, wherein, The step of determining weight parameters using a preset weight value model, based on the importance level of each subsystem in the first request sequence and the operating load in the operating status information, includes: The importance level of each subsystem and the operating load corresponding to each resource scheduling request are recorded in different columns of the first matrix, and the data in the same row of the first matrix correspond to the same subsystem. Each column of the first matrix corresponds to a system characteristic index. Normalize each data point in the first matrix to obtain the second matrix; Based on each parameter in the second matrix and the maximum and minimum values in the column containing the parameter, calculate the key feature value corresponding to each parameter; Using a preset entropy model, the entropy value of each system feature index is determined based on the key feature values in the same column; Using a preset weight model, the weight parameters corresponding to each system feature index are determined based on each entropy value.
6. The method of claim 5, wherein, The system feature indicators include: a first feature corresponding to the importance level of each subsystem, and a second feature corresponding to the operating load of each resource scheduling request. The weight parameters include: an importance weight corresponding to the first feature and a load weight corresponding to the second feature.
7. The method of claim 1-5, wherein, The dynamic weight scheduling of the second request sequence includes: Using the comprehensive scheduling model, the second request sequence is dynamically weighted and scheduled according to each resource scheduling request corresponding to the second request sequence and the running status information, so as to determine the third scheduling instruction; The load balancing scheduling of the second request sequence includes: Using a preset allocation model, each batch job corresponding to each subsystem in the second request sequence is allocated to one or more business containers, where the business container is the business processing resource corresponding to the subsystem; The determination of the second scheduling instruction includes: Based on the number of batch jobs corresponding to each business container, determine whether the load of the business container exceeds a preset threshold; If so, the third scheduling instruction is adjusted according to the preset adjustment rules to obtain the second scheduling instruction; If not, then the third scheduling instruction shall be used as the second scheduling instruction.
8. The method of claim 7, wherein, The step of allocating each batch job corresponding to each subsystem in the second request sequence to one or more business containers using a preset allocation model includes: The preset allocation model maps one or more containers corresponding to each subsystem in the second request sequence to a preset value range, thereby determining the first value corresponding to each container; The batch jobs are mapped to the preset value range using the preset allocation model to determine the second value corresponding to the batch jobs; Calculate the difference between each second value and each first value, and determine the set of differences corresponding to each second value; When the first value is greater than or equal to the second value, and the difference is the minimum value in the set of differences, the batch job corresponding to the second value is assigned to the container corresponding to the first value.