One-stop cloud data center server scheduling method and system
By using a combined system of task management, resource monitoring, scheduling algorithms and load balancing modules in a one-stop cloud data center, dynamically allocate requests to achieve load balancing, solving the problem of server load imbalance and improving the performance and capability of the system Extensibility.
Patent Information
- Application Number
- CN202411250855.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-06
- Publication Date
- 2024-12-13
AI Technical Summary
In the existing one-stop cloud data center server scheduling method, the server connection task request is unbalanced, resulting in unbalanced server load. Some servers may have too high load and performance degradation, while other servers are low load and waste resources, which affects user access. efficiency.
Using a system including task management module, resource monitoring module, scheduling algorithm module and load balancing module, dynamically allocate requests through the weighted minimum connection number (WLC) algorithm, select servers with strong processing capabilities and low load to perform tasks to ensure load Equalization and system stability.
It realizes optimal resource use and balanced load allocation, avoids single point of failure during server overload or failure, ensures efficient system operation and service continuity, and improves overall performance and scalability.
Smart Images

Figure CN119127502A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud data technology, and in particular to a one-stop cloud data center server scheduling method and system. Background Art
[0002] With the rapid development of cloud computing and big data, large-scale data centers have become an important infrastructure supporting modern information technology and services. Data centers need to efficiently manage and schedule server resources to meet the needs of different users and applications. In the field of one-stop cloud data, the scheduling of central servers will have a key impact on the efficiency of cloud services. A one-stop cloud data center is a comprehensive platform that integrates computing resources, storage resources, network resources and related services. It aims to provide enterprises with efficient, flexible and scalable IT infrastructure services. A one-stop cloud data center uses virtualization technology to encapsulate computing resources, storage resources and network resources into an independent virtual environment, calculate resource running time, running cost and running efficiency, and scientifically schedule central servers based on the calculation results.
[0003] In the existing one-stop cloud data center server scheduling method and system, the server connection task requests are unbalanced, that is, the server load is unbalanced. Some servers may have a high load, which leads to performance degradation, while other servers have a low load. Therefore, although there are remaining server resources, user access is still slow. Therefore, there is an urgent need to build a one-stop cloud data center server scheduling method and system. Summary of the invention
[0004] The object of the present invention is to provide a one-stop cloud data center server scheduling method and system to solve the problems raised in the above background technology.
[0005] To achieve the above object, the present invention provides the following technical solutions:
[0006] A one-stop cloud data center server scheduling system, the system includes: a task management module, a resource monitoring module, a scheduling algorithm module, a load balancing module, and a data storage and analysis module.
[0007] Task management module: responsible for receiving, parsing and distributing cloud computing tasks;
[0008] Resource monitoring module: real-time monitoring of resource usage and performance indicators of each server in the cloud data center;
[0009] Scheduling algorithm module: executes the scheduling algorithm according to task requirements and resource conditions, and selects the most suitable server to execute the task;
[0010] Load balancing module: balances the load between servers through load balancing algorithms to improve the efficiency and stability of the overall system;
[0011] Data storage and analysis module: stores and analyzes historical data to provide support for scheduling decisions;
[0012] Preferably, the load balancing module adopts weighted least connections WLC to distribute requests to the server with the least current connections. On the basis of the least connections, the load is further distributed according to the weight of the server, such as processing capacity, to ensure a more even load. It can dynamically distribute requests according to the current load conditions of the server, thereby improving the overall performance of the system.
[0013] A one-stop cloud data center server scheduling method, the scheduling method is as follows:
[0014] S1. The task management module receives tasks from the client and analyzes the specific requirements, required resources and other information of the tasks;
[0015] S2, based on the file type and computing requirements in the task, select a group of potential servers that can be used to perform the task from the cloud data center;
[0016] S3, analyze the task requirements of each potential server through the data storage and analysis module, calculate the amount of resources and time required to complete the task, and use machine learning to predict the amount of resources and time required to execute the task based on historical data and task characteristics;
[0017] S4. Calculate the CPU occupancy and throughput of the server through the scheduling algorithm module, and calculate the comprehensive performance of each server;
[0018] (1) Calculate the CPU occupancy rate through the scheduling algorithm module. The specific steps are as follows:
[0019] 1) Obtain the total system CPU time, which includes user state time, system state time and idle time, and can be obtained through the API or system files provided by the operating system;
[0020] 2) Record the time points of two measurements, such as 1 second apart, and obtain the CPU time change between the two time points;
[0021] 3) Calculate the CPU occupancy rate based on the CPU time change between the two time points.
[0022] CPU usage = (non-idle time change / total time change) * 100%
[0023] Among them, the non-idle time change = user state time change + system state time change;
[0024] Total time change = user state time change + system state time change + idle time change;
[0025] (2) The scheduling algorithm module calculates the CPU throughput TPS and TPS standard deviation. The specific steps are as follows:
[0026] 1) Determine the test cycle: Determine the total length of the test cycle, such as 1 second interval, and clarify the start and end time of the performance test;
[0027] 2) Record the number of completed transactions: During the test cycle, record the number of transactions successfully completed by the system, which can usually be obtained directly through performance testing tools such as LoadRunner and JMeter;
[0028] 3) Calculate the test time: The test time should be the total duration of the performance test, the time difference from the start of the test to the end of the test;
[0029] 4) Substitute the number of transactions recorded in step (2) and the test time calculated in step (3) into the TPS formula for calculation: TPS = number of completed transactions / test time;
[0030] 5) Calculating the TPS standard deviation usually requires performing multiple performance tests, recording the TPS value of each test, and then using the TPS value of the test to calculate the standard deviation;
[0031] (3) The scheduling algorithm module calculates the CPU efficiency value based on the CPU occupancy rate and CPU throughput TPS. The calculation formula is:
[0032]
[0033] The number of CPU threads is directly obtained by using the task manager. The larger the CPU efficiency value is, the more efficient the server can be used.
[0034] S5, combining the task requirements of step S3 and the comprehensive performance evaluation results of step S4, dynamically selecting a server with a larger CPU efficiency value to execute the scheduling task;
[0035] S6. During the scheduling process, the load between the servers is balanced through the WLC algorithm. The specific steps are as follows:
[0036] (1) According to the comprehensive performance of the server in step S4, a different weight value is dynamically set for each server. The size of the weight value represents the processing performance of the corresponding server. The higher the weight value, the stronger the processing capability of the server is, and the more connection requests it can handle;
[0037] (2) Dynamically adjust the weight according to the current load of the server. Servers with lower loads receive higher weights to receive more requests.
[0038] (3) Using the resource monitoring module to count the number of active connections and inactive connections of each server in real time or periodically;
[0039] (4) Based on the weight value set in step (1) and the number of active connections and inactive connections obtained in step (3), the weighted load of each server is calculated as follows:
[0040] Weighted load = (number of active connections × 256 + number of inactive connections) / weight value
[0041] Among them, the number of active connections refers to the number of connections currently being processed, and the number of inactive connections includes the number of connections that are idle or waiting to be processed;
[0042] When a new connection request arrives, the WLC algorithm will traverse all servers, calculate the weighted load of each server, and assign the new connection to the server with the smallest weighted load. When a server fails, the WLC algorithm will traverse all servers and select the server with the smallest weighted load to accept the connection based on their weighted loads, thus maintaining the continuous availability of the service and ensuring the efficient operation of the overall system.
[0043] S7. Monitor the server execution process in real time through the resource monitoring module, and adjust the scheduling strategy according to the real-time data to cope with sudden computing needs or failure situations.
[0044] Compared with the prior art, the beneficial effects of the present invention are as follows: through the WLC algorithm, resources can be dynamically allocated according to the actual load conditions of the servers, so as to achieve optimal use of resources and balanced distribution of loads, and avoid the situation where some servers are overloaded while other servers are idle; when a server fails, the WLC algorithm traverses all servers and selects the server with the smallest weighted load to accept the connection according to their weighted load conditions, so as to maintain the continuous availability of the service and avoid single point failures, which can not only improve the scalability of the system, but also ensure that when a server is overloaded or fails, other servers can take over the work and ensure the continuity of the service; it can also reduce the risk of single point failures, quickly restore services when failures occur, ensure uninterrupted business, and ensure the efficient operation of the overall system; through dynamic allocation of resources and load balancing, the work efficiency and operation effect between the servers can be effectively balanced, so as to ensure the stable and efficient performance of the overall system. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 A schematic diagram of a method flow of a one-stop cloud data center server scheduling method and system of the present invention;
[0046] Figure 2A schematic diagram of the amount of resources and time flow required for task execution in a one-stop cloud data center server scheduling method and system of the present invention;
[0047] Figure 3 A one-stop cloud data center server scheduling method and a comprehensive performance flow chart of servers in the system of the present invention;
[0048] Figure 4 A flowchart of calculating CPU occupancy rate in a one-stop cloud data center server scheduling method and system of the present invention;
[0049] Figure 5 A flowchart of calculating TPS standard deviation in a one-stop cloud data center server scheduling method and system of the present invention;
[0050] Figure 6 A flowchart of calculating CPU efficiency value in a one-stop cloud data center server scheduling method and system of the present invention;
[0051] Figure 7 The present invention provides a one-stop cloud data center server scheduling method and a WLC algorithm in the system to balance the load between the servers. DETAILED DESCRIPTION
[0052] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0053] Example
[0054] See also Figure 1-7 The embodiment provided by the present invention is a one-stop cloud data center server scheduling system, the system includes: a task management module, a resource monitoring module, a scheduling algorithm module, a load balancing module, and a data storage and analysis module.
[0055] Task management module: responsible for receiving, parsing and distributing cloud computing tasks;
[0056] Resource monitoring module: real-time monitoring of resource usage and performance indicators of each server in the cloud data center;
[0057] Scheduling algorithm module: executes the scheduling algorithm according to task requirements and resource conditions, and selects the most suitable server to execute the task;
[0058] Load balancing module: The load balancing algorithm is used to balance the load between servers and improve the efficiency and stability of the overall system. The load balancing module uses weighted least connections (WLC) to allocate requests to the server with the least number of current connections. Based on the least number of connections, the load is further allocated according to the weight of the server, such as processing capacity, to ensure a more even load. It can dynamically allocate requests according to the current load of the server, thereby improving the overall performance of the system.
[0059] Data storage and analysis module: stores and analyzes historical data to provide support for scheduling decisions;
[0060] A one-stop cloud data center server scheduling method, the scheduling method is as follows:
[0061] S1. The task management module receives tasks from the client and analyzes the specific requirements, required resources and other information of the tasks;
[0062] S2, based on the file type and computing requirements in the task, select a group of potential servers that can be used to perform the task from the cloud data center;
[0063] S3. Perform task demand analysis on each potential server through the data storage and analysis module, calculate the amount of resources and time required to complete the task, and use machine learning to predict the amount of resources and time required to execute the task based on historical data and task characteristics. The specific method is as follows:
[0064] (1) Obtain historical data related to task execution and the time taken for the task from start to finish from the data storage and analysis module;
[0065] (2) Preprocessing the acquired data, including data cleaning, data standardization or normalization, and feature selection;
[0066] (3) Select a regression model to predict resource usage or execution time;
[0067] (4) Use the preprocessed data and selected features to train the machine learning model. During the training process, the dataset is divided into a training set and a test set to evaluate the performance of the model. In addition, the model parameters, such as the learning rate, tree depth, and regularization term, need to be adjusted to optimize the model's predictive ability.
[0068] (5) After the model training is completed, the test set is used to evaluate the performance of the model, and the prediction accuracy and generalization ability of the model are understood through the mean square error (MSE), root mean square error (RMSE), and mean absolute error (MAE);
[0069] (6) Optimize the model based on the evaluation results, such as adjusting features, changing model structure, and using ensemble learning to improve prediction accuracy. After the optimization is completed, the model is deployed to the scheduling algorithm module to predict the amount of resources required to execute new tasks.
[0070] S4. Calculate the CPU occupancy and throughput of the server through the scheduling algorithm module, and calculate the comprehensive performance of each server;
[0071] (1) Calculate the CPU occupancy rate through the scheduling algorithm module. The specific steps are as follows:
[0072] 1) Obtain the total system CPU time, which includes user state time, system state time and idle time, and can be obtained through the API or system files provided by the operating system;
[0073] 2) Record the time points of two measurements, such as 1 second apart, and obtain the CPU time change between the two time points;
[0074] 3) Calculate the CPU occupancy rate based on the CPU time change between the two time points.
[0075] CPU usage = (non-idle time change / total time change) * 100%
[0076] Among them, the non-idle time change = user state time change + system state time change;
[0077] Total time change = user state time change + system state time change + idle time change;
[0078] CPU usage is an indicator to measure the efficiency of computer CPU usage. It is usually expressed as a percentage, indicating the proportion of CPU time used to execute tasks in a period of time, such as one second, to the total time. The higher the CPU usage, the busier the CPU is and the computing resources are fully utilized; otherwise, it means that the CPU is idle or the load is light.
[0079] (2) The scheduling algorithm module calculates the CPU throughput TPS and TPS standard deviation. The specific steps are as follows:
[0080] 1) Determine the test cycle: Determine the total length of the test cycle, such as 1 second interval, and clarify the start and end time of the performance test;
[0081] 2) Record the number of completed transactions: During the test cycle, record the number of transactions successfully completed by the system, which can usually be obtained directly through performance testing tools such as LoadRunner and JMeter;
[0082] 3) Calculate the test time: The test time should be the total duration of the performance test, the time difference from the start of the test to the end of the test;
[0083] 4) Substitute the number of transactions recorded in step (2) and the test time calculated in step (3) into the TPS formula for calculation: TPS = number of completed transactions / test time;
[0084] 5) To calculate the TPS standard deviation, you usually need to conduct multiple performance tests, record the TPS value of each test, and then use the TPS value of the test to calculate the standard deviation. Suppose there are n TPS values of performance tests, namely X1, X2, X3, ... X n , the mean value of the data can be calculated by the following formula:
[0085] Average value = (X1+X2+X3+…+X n ) / n
[0086] Where n represents the number of data;
[0087] TPS standard deviation = sqrt((Σ(Xi mean)^2) / n)
[0088] Among them, Σ represents the summation symbol, Xi represents the i-th data point, and n represents the number of data;
[0089] (3) The scheduling algorithm module calculates the CPU efficiency value based on the CPU occupancy rate and CPU throughput TPS. The calculation formula is:
[0090]
[0091] The number of CPU threads is directly obtained by using the task manager. The larger the CPU efficiency value is, the more efficient the server can be used.
[0092] S5, combining the task requirements of step S3 and the comprehensive performance evaluation results of step S4, dynamically selecting a server with a larger CPU efficiency value to execute the scheduling task;
[0093] S6. During the scheduling process, the load between the servers is balanced through the WLC algorithm. The specific steps are as follows:
[0094] (1) According to the comprehensive performance of the server in step S4, a different weight value is dynamically set for each server. The size of the weight value represents the processing performance of the corresponding server. The higher the weight value, the stronger the processing capability of the server is, and the more connection requests it can handle;
[0095] (2) Dynamically adjust the weight according to the current load of the server. Servers with lower loads receive higher weights to receive more requests.
[0096] (3) Using the resource monitoring module to count the number of active connections and inactive connections of each server in real time or periodically;
[0097] (4) Based on the weight value set in step (1) and the number of active connections and inactive connections obtained in step (3), the weighted load of each server is calculated as follows:
[0098] Weighted load = (number of active connections × 256 + number of inactive connections) / weight value
[0099] Among them, the number of active connections refers to the number of connections currently being processed, and the number of inactive connections includes the number of connections that are idle or waiting to be processed;
[0100] When a new connection request arrives, the WLC algorithm will traverse all servers, calculate the weighted load of each server, and assign the new connection to the server with the smallest weighted load. When a server fails, the WLC algorithm will traverse all servers and select the server with the smallest weighted load to accept the connection based on their weighted loads, thus maintaining the continuous availability of the service and ensuring the efficient operation of the overall system.
[0101] S7. Monitor the server execution process in real time through the resource monitoring module, and adjust the scheduling strategy according to the real-time data to cope with sudden computing needs or failure situations.
[0102] It will be apparent to those skilled in the art that the invention is not limited to the details of the exemplary embodiments described above and that the invention can be implemented in other specific forms without departing from the spirit or essential features of the invention. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description, and it is intended that all variations falling within the meaning and scope of the equivalent elements of the claims be included in the invention. Any reference numeral in a claim should not be considered as limiting the claim to which it relates.
Claims
1. A one-stop cloud data center server scheduling system, characterized in that: The system includes: a task management module, a resource monitoring module, a scheduling algorithm module, a load balancing module, and a data storage and analysis module. Task management module: responsible for receiving, parsing and distributing cloud computing tasks; Resource monitoring module: real-time monitoring of resource usage and performance indicators of each server in the cloud data center; Scheduling algorithm module: executes the scheduling algorithm according to task requirements and resource conditions, and selects the most suitable server to execute the task; Load balancing module: balances the load between servers through load balancing algorithms to improve the efficiency and stability of the overall system; Data storage and analysis module: stores and analyzes historical data to provide support for scheduling decisions.
2. The one-stop cloud data center server scheduling system according to claim 1, characterized in that: The load balancing module adopts weighted least connections WLC to distribute requests to the server with the least current connections. On the basis of the least number of connections, the load is further distributed according to the weight of the server, such as processing capacity, to ensure a more even load. It can dynamically distribute requests according to the current load of the server, thereby improving the overall performance of the system.
3. A one-stop cloud data center server scheduling method, characterized in that: The scheduling method is as follows: S1. The task management module receives tasks from the client and analyzes the specific requirements, required resources and other information of the tasks; S2, based on the file type and computing requirements in the task, select a group of potential servers that can be used to perform the task from the cloud data center; S3, analyze the task requirements of each potential server through the data storage and analysis module, calculate the amount of resources and time required to complete the task, and use machine learning to predict the amount of resources and time required to execute the task based on historical data and task characteristics; S4. Calculate the CPU occupancy and throughput of the server through the scheduling algorithm module, and calculate the comprehensive performance of each server; (1) Calculate the CPU occupancy rate through the scheduling algorithm module. The specific steps are as follows: 1) Obtain the total system CPU time, which includes user state time, system state time and idle time, and can be obtained through the API or system files provided by the operating system; 2) Record the time points of two measurements, such as 1 second apart, and obtain the CPU time change between the two time points; 3) Calculate the CPU occupancy rate based on the CPU time change between the two time points. CPU usage = (non-idle time change / total time change) * 100% Among them, the non-idle time change = user state time change + system state time change; Total time change = user state time change + system state time change + idle time change; (2) The scheduling algorithm module calculates the CPU throughput TPS and TPS standard deviation. The specific steps are as follows: 1) Determine the test cycle: Determine the total length of the test cycle, such as 1 second interval, and clarify the start and end time of the performance test; 2) Record the number of completed transactions: During the test cycle, record the number of transactions successfully completed by the system, which can usually be obtained directly through performance testing tools such as LoadRunner and JMeter; 3) Calculate the test time: The test time should be the total duration of the performance test, the time difference from the start of the test to the end of the test; 4) Substitute the number of transactions recorded in step (2) and the test time calculated in step (3) into the TPS formula for calculation: TPS = number of completed transactions / test time; 5) Calculating the TPS standard deviation usually requires performing multiple performance tests, recording the TPS value of each test, and then using the TPS value of the test to calculate the standard deviation; (3) The scheduling algorithm module calculates the CPU efficiency value based on the CPU occupancy rate and CPU throughput TPS. The calculation formula is: The number of CPU threads is directly obtained by using the task manager. The larger the CPU efficiency value is, the more efficient the server can be used. S5, combining the task requirements of step S3 and the comprehensive performance evaluation results of step S4, dynamically selecting a server with a larger CPU efficiency value to execute the scheduling task; S6. During the scheduling process, the load between the servers is balanced through the WLC algorithm. The specific steps are as follows: (1) According to the comprehensive performance of the server in step S4, a different weight value is dynamically set for each server. The size of the weight value represents the processing performance of the corresponding server. The higher the weight value, the stronger the processing capability of the server is, and the more connection requests it can handle; (2) Dynamically adjust the weight according to the current load of the server. Servers with lower loads receive higher weights to receive more requests. (3) Using the resource monitoring module to count the number of active connections and inactive connections of each server in real time or periodically; (4) Based on the weight value set in step (1) and the number of active connections and inactive connections obtained in step (3), the weighted load of each server is calculated as follows: Weighted load = (number of active connections × 256 + number of inactive connections) / weight value Among them, the number of active connections refers to the number of connections currently being processed, and the number of inactive connections includes the number of connections that are idle or waiting to be processed; When a new connection request arrives, the WLC algorithm will traverse all servers, calculate the weighted load of each server, and assign the new connection to the server with the smallest weighted load. When a server fails, the WLC algorithm will traverse all servers and select the server with the smallest weighted load to accept the connection based on their weighted loads, thus maintaining the continuous availability of the service and ensuring the efficient operation of the overall system. S7. Monitor the server execution process in real time through the resource monitoring module, and adjust the scheduling strategy according to the real-time data to cope with sudden computing needs or failure situations.
