Server scheduling method, device, system and product of a business system
By combining deep reinforcement learning prediction models with basic resource data from business systems, the number of servers can be predicted and scheduled, solving the problems of unstable operation and low utilization of business systems, and achieving stable operation and energy consumption optimization.
Patent Information
- Application Number
- CN202410919172.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-10
- Publication Date
- 2026-01-23
- Estimated Expiration
- 2044-07-10
AI Technical Summary
In existing technologies, business systems are unstable and server utilization is not improving effectively. Existing methods cannot effectively address the problems of unstable operation and insignificant improvement in server utilization caused by changes in business system access volume.
By combining the resource base data of the business system, a deep reinforcement learning prediction model is used to predict server demand, and scheduling is carried out based on the prediction results, including server wake-up and hibernation, in order to improve server resource utilization.
It has enabled the stable operation of business systems and improved server resource utilization, reduced energy consumption and improved server efficiency.
Smart Images

Figure CN118869697B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of server scheduling, in particular to a server scheduling method, device, system and product of a business system. BACKGROUND
[0002] In recent years, the high energy consumption of a business system has gradually become a prominent problem, and in the face of more computing resources and storage resources, the efficient management of the energy consumption of a server has become a great challenge.
[0003] At present, in the prior art, the management of a server usually adopts a preset threshold to adjust the server, and there is also a method of using virtualization technology to virtually form a plurality of servers from one server for use by a plurality of business systems, so as to realize the improvement of the utilization rate of the server, the reduction of the actual number of physical servers, and the reduction of energy consumption.
[0004] For the method of adjusting the server by using the preset threshold, the characteristics and other information of the business system are not considered, and the threshold is directly used for judgment, so that when the access volume of the business system changes, the phenomenon of unstable operation is easily caused; for the method of improving the utilization rate of the server by using the virtualization technology, the energy saving effect is not obvious in the case where the scale of the existing server does not change, and the effect of improving the utilization rate of the server is not good. SUMMARY
[0005] The present application provides a server scheduling method, device, system and product of a business system, which solves the defects of unstable operation of a business system and poor utilization rate of a server in the prior art, realizes the prediction of the real-time number of servers required by a business system by effectively combining the resource basic data of the business system and using a model prediction method, and finally schedules the servers according to the predicted number of servers to improve the resource utilization rate of the server.
[0006] The present application provides a server scheduling method of a business system, which is applied to a policy configuration device connected with a resource pool management device and a load balancer, and includes the following steps.
[0007] The resource basic data of the business system obtained by the resource pool management device is received, and the list data obtained by the load balancer is received; wherein the resource basic data includes the current processor demand and the current memory demand, and the list data is the data of the servers in the server management device supporting the work of the business system.
[0008] The current processor demand and the current memory demand are input into a deep reinforcement learning prediction model for quantity prediction to determine the predicted number of servers required by the business system; wherein the predicted number of servers refers to the number of servers required by the business system determined by prediction.
[0009] The server scheduling is performed according to the predicted server quantity, the current server quantity of the business system and the list data, and a service scheduling result is determined.
[0010] According to the server scheduling method of the business system provided by the application, the resource basis data further includes historical processor demand and historical memory demand; the deep reinforcement learning prediction model is a model obtained through model training based on the historical processor demand, the historical memory demand, a reward function and an evaluation network; the reward function is used for guiding the training of the deep reinforcement learning prediction model, and the evaluation network is used for adjusting the stability of the deep reinforcement learning prediction model.
[0011] According to the server scheduling method of the business system provided by the application, the service scheduling result includes a first service scheduling result and a second service scheduling result; the server scheduling is performed according to the predicted server quantity, the current server quantity of the business system and the list data, and the service scheduling result is determined, including: if the predicted server quantity is greater than the current server quantity, a server increasing strategy is formulated according to the predicted server quantity, the current server quantity and the list data, and the first service scheduling result is determined based on the server increasing strategy; if the predicted server quantity is less than the current server quantity, a server decreasing strategy is formulated according to the predicted server quantity, the current server quantity and the list data, and the second service scheduling result is determined based on the server decreasing strategy; the first service scheduling result and the second service scheduling result are used for controlling the servers allocated to the business system.
[0012] The application further provides a server scheduling method of a business system, which is applied to a resource pool management device, the resource pool management device is connected with a policy configuration device and a load balancer respectively, and includes the following steps.
[0013] Resource basis data of the business system is acquired.
[0014] The resource basis data is sent to the policy configuration device.
[0015] A service scheduling result determined by the policy configuration device based on the resource basis data is received.
[0016] The service scheduling result is used for controlling the servers allocated to the business system.
[0017] According to the server scheduling method of the business system provided by the application, the service scheduling result comprises a first service scheduling result and a second service scheduling result; when it is determined that the first service scheduling result is received, the server allocated to the business system is controlled based on the service scheduling result, comprising: sending a wake-up instruction to the server management device based on the first service scheduling result, so that the server management device wakes up the server based on the wake-up instruction; wherein the server management device contains the server allocated to the business system; receiving the server increasing instruction sent by the server management device; sending the server increasing instruction to the load balancer, so that the load balancer allocates the server to the business system according to the server increasing instruction, and determines the increasing result; wherein the increasing result is used to feed back the increasing situation of the server in the server management device according to the server increasing instruction by the load balancer; receiving the increasing result sent by the load balancer, and synchronously sending the increasing result to the policy configuration device.
[0018] According to the server scheduling method of the business system provided by the application, when it is determined that the second service scheduling result is received, the server allocated to the business system is controlled based on the service scheduling result, comprising: sending a server decreasing instruction to the load balancer based on the second service scheduling result, so that the load balancer allocates the server to the business system according to the server decreasing instruction, and determines the decreasing result; wherein the decreasing result is used to feed back the decreasing situation of the server in the server management device according to the server decreasing instruction by the load balancer; receiving the decreasing result sent by the load balancer, and synchronously sending the decreasing result to the policy configuration device; receiving the dormancy instruction determined by the policy configuration device based on the decreasing result; sending the dormancy instruction to the server management device, so that the server management device dormancy the server based on the dormancy instruction.
[0019] The application further provides a server scheduling device of a business system, which is applied to a policy configuration device and comprises the following modules.
[0020] The data receiving module is used for receiving resource basic data of the business system acquired by the resource pool management device, and receiving list data acquired by the load balancer; wherein the resource basic data comprises a current processor demand and a current memory demand, and the list data is data of the server in the server management device supporting the work of the business system.
[0021] The quantity determining module is used for inputting the current processor demand and the current memory demand into a deep reinforcement learning prediction model to perform quantity prediction, and determining a predicted server quantity required by the business system; wherein the predicted server quantity refers to the number of servers required by the business system determined by prediction.
[0022] A result determining module is configured to determine a service scheduling result according to the predicted server quantity, the current server quantity of the business system and the list data, wherein the current server quantity is the number of servers currently allocated to the business system.
[0023] The application further provides a server scheduling device of a business system, which is applied to a resource pool management equipment and comprises the following modules.
[0024] A data obtaining module is configured to obtain resource basic data of the business system.
[0025] A data sending module is configured to send the resource basic data to a policy configuration equipment.
[0026] A result receiving module is configured to receive a service scheduling result determined by the policy configuration equipment based on the resource basic data.
[0027] A result controlling module is configured to allocate servers to the business system based on the service scheduling result.
[0028] The application further provides an electronic equipment comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements any one of the above server scheduling methods of the business system when executing the program.
[0029] The application further provides a non-transient computer readable storage medium, which stores a computer program, and the computer program is executable on the processor to implement any one of the above server scheduling methods of the business system.
[0030] The application further provides a computer program product, which comprises a computer program, and the computer program is executable on the processor to implement any one of the above server scheduling methods of the business system.
[0031] The application provides a server scheduling method, device, system and product of a business system, which is applied to a policy configuration device, the policy configuration device is connected with a resource pool management device and a load balancer respectively, resource basic data of the business system acquired by the resource pool management device is received, and list data acquired by the load balancer is received, wherein the resource basic data comprises current processor demand and current memory demand, and the list data is data of servers in a server management device supporting work of the business system; the current processor demand and the current memory demand are input into a deep reinforcement learning prediction model for quantity prediction, and a predicted server quantity required by the business system is determined; wherein the predicted server quantity refers to a quantity of servers required by the business system and allocated through prediction; server scheduling is performed according to the predicted server quantity, a current server quantity of the business system and the list data, and a service scheduling result is determined; wherein the current server quantity is a quantity of servers currently allocated by the business system. The technical scheme of the application is used to solve the defects that the business system is unstable in operation and the utilization rate of the server is poor in the prior art, the real-time server quantity required by the business system is predicted through effective combination of resource basic data of the business system and a model prediction method, and finally the server is scheduled according to the predicted server quantity, so that the resource utilization rate of the server is improved. BRIEF DESCRIPTION OF DRAWINGS
[0032] In order to more clearly illustrate the technical solutions in the application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, the drawings in the following description are some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.
[0033] Figure 1 Fig. 1 is one of flow diagrams of a server scheduling method of a business system provided by the application.
[0034] Figure 2 Fig. 2 is another of flow diagrams of a server scheduling method of a business system provided by the application.
[0035] Figure 3 Fig. 3 is a flow diagram of a server scheduling method of a business system provided by the application.
[0036] Figure 4 Fig. 4 is a flow diagram of a server scheduling method of a business system provided by the application.
[0037] Figure 5 Fig. 5 is a schematic diagram of a server scheduling system of a business system provided by the application.
[0038] Figure 6 Fig. 6 is one of structural schematic diagrams of a server scheduling device of a business system provided by the application.
[0039] Figure 7 Fig. 2 is a schematic structural view of a server scheduling device of a service system according to the present application.
[0040] Figure 8 Fig. 3 is a schematic structural view of an electronic device according to the present application.
[0041] Reference signs:
[0042] 51: policy configuration device; 52: resource pool management device; 53: load balancer; 54: server management device. DETAILED DESCRIPTION
[0043] In order to make the objects, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be described clearly and completely below with reference to the drawings in the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.
[0044] The service system server scheduling method provided by the present application will be described below. Figures 1-2 The service system server scheduling method provided by the present application can be applied to the scheduling of servers. The execution subject of the method can be an electronic device, which can be a policy configuration device or a server scheduling device of a service system arranged in the electronic device. The server scheduling device of the service system can be realized by software, hardware or a combination of both. Figure 1 Fig. 1 is a flowchart of a service system server scheduling method according to the present application, which is applied to a policy configuration device. The policy configuration device is connected with a resource pool management device and a load balancer respectively. As shown in Fig. 1, the method comprises the following steps. Figure 1
[0045] Step 101: receiving resource base data of a service system obtained by a resource pool management device and list data obtained by a load balancer.
[0046] In the step, the resource base data includes current processor demand and current memory demand, and the list data is the data of the servers in the server management device supporting the operation of the business system; the resource base data further includes historical processor demand and historical memory demand. The current processor demand is the demand of the processor required in the current operation of the business system; the current memory demand is the demand of the memory required in the current operation of the business system. The historical processor demand is the demand of the processor required in processing the same type of task as the task of the business system; and the historical memory demand is the demand of the memory required in processing the same type of task as the task of the business system.
[0047] The policy configuration device is mainly responsible for scheduling the servers, regularly acquiring the configuration data and the processor and memory usage data of the servers of each business system from the resource pool management device, and storing the data; and is further responsible for automatically analyzing the configuration data and the usage data of the servers of the business system, so as to predict the demand of the business system for the servers in the future time period.
[0048] The resource pool management device is responsible for managing all the device hardware including the servers under its jurisdiction, monitoring the running state of all the managed devices such as the servers, and collecting the configuration data of the servers, the processor of the servers, and the memory usage of the servers; the resource pool management device is further responsible for allocating the servers to the business systems according to the resource demand of each business system, and is responsible for putting the servers to sleep and waking up the servers.
[0049] The load balancer is responsible for acquiring the list data of the servers in the server management device of each business system, and the list data can specifically include the name of the business system, the number of servers supporting the operation of the business system, and the address information of the servers, etc., which are not limited in the embodiment. The load balancer is further responsible for balancing the request requests to the server management device, and ensuring the load balancing of all the servers under the business system. Further, the load balancer is further responsible for information interaction with the resource pool management device and the policy configuration device.
[0050] Specifically, the policy configuration device receives the resource base data sent by the resource pool management device, and the resource base data includes the current processor demand required in the current operation of the business system and the current memory demand required in the current operation of the business system. The current processor demand and the current memory demand are acquired by the resource pool management device. Meanwhile, the policy configuration device receives the list data acquired by the load balancer, and the list data is the data of the servers in the server management device supporting the operation of the business system.
[0051] In step 102, the current processor requirement and the current memory requirement are input into a deep reinforcement learning prediction model for quantity prediction to determine the predicted server quantity required by the business system.
[0052] In this step, the predicted server quantity refers to the quantity of servers allocated by the business system determined through prediction; the deep reinforcement learning prediction model is a model obtained through model training based on historical processor requirements, historical memory requirements, a reward function and an evaluation network; the reward function is used to guide the training of the deep reinforcement learning prediction model, and the evaluation network is used to adjust the stability of the deep reinforcement learning prediction model.
[0053] The deep reinforcement learning prediction model is an optimal strategy for mapping the state s of the server in the prediction server management device to the action a based on a deep reinforcement learning algorithm The basic principle is that the policy configuration device and the resource pool management device continuously interact and learn to maximize the return and predict the predicted server quantity. When determining the deep reinforcement learning prediction model, first, the state space, i.e., the input of the deep reinforcement learning prediction model, is determined. The state is data reflecting the server management device, which can be collected by the resource pool management device. Therefore, the state space can be defined as . Wherein, Type is the business system characteristic, Access is the business system historical access volume, the business system historical access volume refers to the concurrent user quantity of the accessed business system or the click quantity of the business system and the like, these parameters will affect the consumption quantity (demand quantity) of the business system to the server processor and memory, Con(t) is the historical server processor and memory configuration of the business system, Load(t) is the historical server processor and memory load of the business system, t represents t moment, t-1 represents t-1 moment, th is the reasonable running threshold interval of the server, the running threshold interval refers to the reasonable utilization rate (utilization rate) interval of the server processor and memory of the business system set by human (such as x%-y%, this threshold interval needs to be reasonably set according to the running characteristics of the business system, and the threshold interval of different business systems may be different. The business system server processor and memory utilization rate runs in the threshold interval, which not only ensures that the business system server resources are fully utilized (without waste) but also ensures the smooth running of the business system (without the problem of slow or interrupted running of the business system due to insufficient resources). The running characteristics of the business system refer to the individual factors that cause the business system software to have special or certain requirements for server resources due to the business system software architecture, specific functions, performance requirements and data processing methods and the like. The operation and maintenance personnel need to consider these factors when allocating server resources to the business system, otherwise it may have a certain impact on the smooth running of the business system. The business system can be classified into transaction type and database type according to the scene, and different types of business systems have certain differences in the demand for server resources. Therefore, for business systems with different characteristics, a certain amount of redundancy needs to be considered in different aspects when considering server resource allocation to ensure the smooth running of the business system. The analysis of how the characteristic data of the business system affects the allocation of the server is as follows: (1) Functional requirement data storage: if the business system involves a large amount of data storage, the server will need higher hard disk storage capacity. Data analysis: for business systems that need to perform complex data analysis, the server needs powerful processor and memory resources to support fast data processing and calculation. Data display: although data display itself has relatively low demand for server resources, if real-time updating or processing of a large number of concurrent user requests is required, the server still needs to have sufficient processing capacity and network bandwidth. (2) Performance requirement response time: when the business system needs to respond quickly to user requests, the server should have low delay and high concurrency processing capacity. Concurrency processing capacity: in a high concurrency scenario, the server needs to be able to handle a large number of simultaneous user requests, which requires the server to have sufficient processor, memory and network bandwidth resources. Data processing speed: for business systems that need to process a large amount of data in real time, the server should have high-speed data processing capacity, including fast read and write of processor and memory and high-speed computer interface channel.(3) Data management requirements Data backup and recovery: If the business system needs to regularly backup data or has the ability to quickly recover data, the server will need additional storage space to store backup data and sufficient performance to support backup and recovery operations. Data security: For business systems involving sensitive data, the server needs to have higher levels of security and data encryption functions to protect the integrity and confidentiality of data. This may require additional processor and memory resources to support encryption and decryption operations. (4) System stability requirements For business systems that need to run continuously and stably (such as bank transaction systems, e-commerce platforms, etc.), the server needs to have high reliability and fault tolerance capabilities. This may require the use of redundant configurations, load balancing, and other technologies to improve system stability and availability. (5) Mobile support requirements If the business system needs to support mobile device access and operation (such as mobile office, online shopping, etc.), the server needs to have good network performance and response speed to support fast access and data transmission for mobile devices. Assuming that the server management device contains m servers, the processor configuration is p cores q processors, and the memory is u GB, the historical server processor consumption of the business system is , and the historical server memory consumption of the business system is . Where b and c are the historical server processor and memory load rates of the business system, respectively. Then determine the action space, which is the output of the deep reinforcement learning prediction model, and the action is the predicted server quantity inferred by the policy configuration device based on the state s. The action is defined as follows: . Where is the future business system server processor requirement, is the future predicted business system server memory requirement, and the final calculation of the future time period business system server resource requirement, i.e. the predicted server quantity, is . Further determine the reward function and evaluation network, the reward function is used to evaluate the good and bad of the policy configuration device execution, to guide the training of the deep reinforcement learning prediction model, the designed reward function is defined as , where is the total power consumption of the server management device at time t, is the user evaluation of service quality at time t. , To adjust the factor, so that the reward value is in the same order of magnitude, has the same driving force. For adjusting the stability of the deep reinforcement learning prediction model, the state space of the server in the server management device is represented according to the estimated value of the action value, so that the model learning of the reinforcement learning prediction model is more stable and an independent target evaluation network is set. The evaluation network is defined as a deep neural network as the action value function of the server in the server management device, taking the state space as the input and outputting the value estimate corresponding to each action, determining the predicted server quantity, and the target evaluation network adopts the same network model structure.
[0054] For training the reinforcement learning prediction model, the following steps are included: step 1, collecting historical processor demand and historical memory demand from the resource management pool device; step 2, initializing the evaluation network; step 3, determining the target evaluation network according to the initialized evaluation network and initializing the target evaluation network, wherein the target evaluation network acts as a label for the evaluation network; step 4, initializing the state space and the historical processor demand and historical memory demand collected from the resource management pool device; step 5, initializing the state; step 6, randomly selecting a random action; step 7, predicting the predicted server quantity by the historical processor demand and the historical memory demand ; step 8, the strategy configuration device obtains the predicted server quantity; step 9, starting to obtain the reward function and the next state from the server management device; step 10, storing the sample in the experience pool (including the state space), and the sample contains determining whether the current round is ended; step 11, randomly sampling a certain batch of samples from the experience pool; step 12, calculating the target evaluation network according to the collected batch of samples; step 13, determining the minimum loss function according to the target evaluation network and updating the parameters of the evaluation network; step 14, updating the target evaluation network once every certain time; step 15, if the prediction of the server quantity is completed within a certain time, the predicted server quantity is determined, then entering the next time and returning to execute step 6; step 16, if the reinforcement learning prediction model reaches the predetermined number of steps per round, then returning to execute step 5; step 17, if the reinforcement learning prediction model reaches the maximum number of rounds, then the process is ended and the final trained reinforcement learning prediction model is determined.
[0055] Specifically, when the current processor demand and the current memory demand are determined, the current processor demand and the current memory demand are input into the deep reinforcement learning prediction model for quantity prediction, an evaluation network and a target evaluation network are called, and then the current processor demand and the current memory demand are collected from the resource management device as inputs of the deep reinforcement learning prediction model, an action is selected, the current processor demand and the current memory demand are predicted by the deep reinforcement learning prediction model, so as to calculate and determine the initial predicted server quantity, the next state of the server is further obtained from the server management device, and the execution of selecting an action is returned, the current processor demand and the current memory demand are predicted by the deep reinforcement learning prediction model, and finally the optimal server demand quantity is determined as the predicted server quantity.
[0056] In step 103, server scheduling is performed according to the predicted server quantity, the current server quantity of the business system, and the list data, and a service scheduling result is determined.
[0057] In this step, the current server quantity is the number of servers currently allocated to the business system. The service scheduling result includes a first service scheduling result and a second service scheduling result. The first service scheduling result is a scheduling result determined by reducing the number of servers, and the second service scheduling result is a scheduling result determined by increasing the number of servers. The first service scheduling result and the second service scheduling result are used to control the servers allocated to the business system.
[0058] In a specific embodiment, server scheduling is performed according to the predicted server quantity, the current server quantity of the business system, and the list data, and a service scheduling result is determined. The specific embodiment includes: if the predicted server quantity is greater than the current server quantity, a server increase strategy is formulated according to the predicted server quantity, the current server quantity, and the list data, and a first service scheduling result is determined based on the server increase strategy; if the predicted server quantity is less than the current server quantity, a server reduction strategy is formulated according to the predicted server quantity, the current server quantity, and the list data, and a second service scheduling result is determined based on the server reduction strategy; wherein the first service scheduling result and the second service scheduling result are used to control the servers allocated to the business system.
[0059] In this step, the server increase strategy is to increase the server devices used for running the business system in the server management device based on the predicted server quantity and the current server quantity, and the server reduction strategy is to reduce the server devices used for running the business system in the server management device based on the predicted server quantity and the current server quantity.
[0060] Specifically, when the predicted server quantity is determined, it is determined whether the predicted server quantity is equal to the current server quantity, and when it is determined that the predicted server quantity is equal to the current server quantity, it is determined that the servers in the server device supporting the operation of the business system do not need to be adjusted at this time; if the predicted server quantity is greater than the current server quantity, a server increase strategy is formulated according to the predicted server quantity, the current server quantity and the list quantity, the server increase strategy is to increase new servers for the business system from the server management device, the address and other information of the new servers are determined, and a first service scheduling result is determined based on the server increase strategy; if the predicted server quantity is less than the current server quantity, a server decrease strategy is formulated according to the predicted server quantity, the current server quantity and the list quantity, the server decrease strategy is to decrease servers for the business system from the server management device, the address and other information of the decreased servers are determined, and a second service scheduling result is determined based on the server decrease strategy; wherein the first service scheduling result and the second service scheduling result are used to control the servers allocated to the business system. If the predicted server quantity is equal to the current server quantity, the servers allocated to the business system do not need to be scheduled and controlled.
[0061] The advantage of such a setting is that, by predicting the number of servers allocated to the business system, the servers allocated to the business system are controlled in real time, thereby improving the use efficiency of the servers and reducing the overall energy consumption.
[0062] The server scheduling method of the business system provided by the application is applied to a policy configuration device, which is connected with a resource pool management device and a load balancer respectively; resource basic data of the business system obtained by the resource pool management device is received, and list data obtained by the load balancer is received; wherein the resource basic data includes a current processor demand and a current memory demand, and the list data is data of servers in a server management device supporting the operation of the business system; the current processor demand and the current memory demand are input into a deep reinforcement learning prediction model for quantity prediction, and a predicted server quantity required by the business system is determined; wherein the predicted server quantity refers to the number of servers required by the business system determined by prediction; server scheduling is performed according to the predicted server quantity, a current server quantity of the business system and the list data, and a service scheduling result is determined; wherein the current server quantity is the number of servers currently allocated to the business system. The technical scheme of the application is used to solve the defects that the business system is unstable and the utilization rate of the servers is not good in the prior art, the real-time server quantity required by the business system is predicted by effectively combining the resource basic data of the business system and using the model prediction method, and finally the servers are scheduled according to the predicted server quantity, thereby improving the resource utilization rate of the servers.
[0063] Figure 2 is a flowchart of a server scheduling method of a service system provided by the present application, the server scheduling method of the service system provided by the present application is applicable to the scheduling of a server, the execution subject of the method can be an electronic device, for example, can be a resource pool management device, or can be a server scheduling device of a service system arranged in the electronic device, the server scheduling device of the service system can be realized by software, hardware or a combination of both. When applied to a resource pool management device, the resource pool management device is connected with a policy configuration device and a load balancer respectively; as shown in Figure 2 the method comprises the following steps.
[0064] Step 201, obtaining resource basic data of a service system.
[0065] In this step, the resource basic data includes current processor demand and current memory demand, and the list data is the data of the servers in the server management device supporting the work of the service system; the resource basic data further includes historical processor demand and historical memory demand. The current processor demand is the demand for the processor required in the current running process of the service system; the current memory demand is the demand for the memory required in the current running process of the service system. The historical processor demand is the demand for the processor required when processing the same type of task as the task of the service system; the historical memory demand is the demand for the memory required when processing the same type of task as the task of the service system.
[0066] Specifically, the resource pool management device is connected with the server management device, and directly obtains the current processor demand required in the current running process of the service system and the current memory demand required in the current running process of the service system in the server management device.
[0067] Step 202, sending the resource basic data to the policy configuration device.
[0068] In this step, the policy configuration device is mainly responsible for scheduling the server, regularly obtains the configuration data and processor, memory and other usage rate data of the current service system server from the resource pool management device and stores them; and is also responsible for automatically analyzing the configuration data and usage rate data of the service system server, so as to predict the demand of the service system for the server in the future time period.
[0069] Specifically, after obtaining the resource basic data, the resource pool management device sends the resource basic data to the policy configuration device.
[0070] Step 203, receiving the service scheduling result determined by the policy configuration device based on the resource basic data.
[0071] In this step, the service scheduling result includes a first service scheduling result and a second service scheduling result.
[0072] Specifically, after the resource pool management device sends the resource base data to the policy configuration device, the policy configuration device performs quantity prediction according to the resource base data and the deep reinforcement learning prediction model, determines the predicted server quantity required by the business system, further performs server scheduling according to the predicted server quantity, the current server quantity of the business system and the list data, determines the service scheduling result, and receives the service scheduling result determined by the policy configuration device based on the resource base data.
[0073] Step 204, controlling the servers allocated to the business system based on the service scheduling result.
[0074] Specifically, after receiving the service scheduling result, the servers allocated to the business system are controlled based on the service scheduling result.
[0075] In a specific embodiment, Figure 3 is a server scheduling flowchart of the business system provided by the application, as Figure 3 shown, when it is determined that the first service scheduling result is received, the servers allocated to the business system are controlled based on the service scheduling result, and the specific embodiment includes the following steps.
[0076] Step 301, sending a wake-up instruction.
[0077] In this step, the wake-up instruction is an instruction determined based on the first service scheduling result that the server needs to be woken up, and it is determined which servers need to be woken up.
[0078] Specifically, after the resource pool management module receives the first scheduling result sent by the policy configuration device, the wake-up instruction is determined based on the first service scheduling result, and the wake-up instruction is sent to the server management device, so that the server management device wakes up the server based on the wake-up instruction; wherein the server management device contains the servers allocated to the business system.
[0079] Step 302, receiving a server increasing instruction.
[0080] In this step, the server increasing instruction is the address information and identification information of the woken-up server determined by the server management device after the server is woken up based on the wake-up instruction, for example, it can be the name, memory quantity, processor quantity, etc. of the woken-up server, which is not limited in this embodiment.
[0081] Specifically, the resource pool management device sends the wake-up instruction to the server management device, so that the server management device wakes up the server based on the wake-up instruction, determines the server increasing instruction, and then feeds back the server increasing instruction to the resource pool management device.
[0082] Step 303, sending the server increasing instruction.
[0083] Specifically, after receiving the server increasing instruction sent by the server management device, the server increasing instruction is sent to the load balancer, so that the load balancer adjusts the list data according to the server increasing instruction, allocates the server of the business system according to the adjusted list data, and determines the increasing result; wherein the increasing result is used to feed back the increasing situation of the server in the server management device according to the server increasing instruction.
[0084] Step 304, receiving the increasing result.
[0085] Specifically, the increasing result sent by the load balancer is received, and the increasing result is synchronously sent to the policy configuration device.
[0086] In a specific embodiment, Figure 4 is a server reducing flowchart of the business system provided by the application, as Figure 4 shown, when it is determined that the second service scheduling result is received, the server allocated to the business system is controlled based on the service scheduling result, and the specific embodiment includes the following steps.
[0087] Step 401, sending the server reducing instruction.
[0088] In this step, the server reducing instruction is an instruction determined by the server management device based on the second scheduling result that the server needs to be reduced.
[0089] Specifically, after receiving the second service scheduling result, the number of servers that need to be reduced is determined according to the second service scheduling result, the server reducing instruction is determined based on the number of servers that need to be reduced, and the server reducing instruction is sent to the load balancer.
[0090] Step 402, receiving the reducing result.
[0091] In this step, the reducing result is used to feed back the reducing situation of the server in the server management device according to the server reducing instruction.
[0092] Specifically, after sending the server reducing instruction to the load balancer, the load balancer allocates the server of the business system according to the server reducing instruction, and determines the reducing result of the reducing situation of the server in the server management device according to the server reducing instruction.
[0093] Step 403, sending the adjustment result.
[0094] Specifically, the adjustment result sent by the load balancer is received, and the adjustment result is synchronously sent to the policy configuration device, so that the policy configuration device determines the sleep instruction based on the adjustment result.
[0095] Step 404, receiving the sleep instruction.
[0096] In this step, after the adjustment result is synchronized to the policy configuration device, the policy configuration device determines the instruction for scheduling the server in the server management device based on the adjustment result.
[0097] Step 405, sending the sleep instruction.
[0098] Specifically, the sleep instruction is sent to the server management device, so that the server management device sleeps the server based on the sleep instruction.
[0099] The advantage of such a setting is that the configuration of the server of the business system is adjusted in time, the server is reasonably allocated, the energy consumption of the server is reduced, manual operation is reduced, and the efficiency of server scheduling is improved.
[0100] The server scheduling method of the business system provided by the application is applied to a resource pool management device, and the resource pool management device is connected with a policy configuration device and a load balancer; resource basic data of a business system is acquired; the resource basic data is sent to the policy configuration device; a service scheduling result determined by the policy configuration device based on the resource basic data is received; and the server allocated to the business system is controlled based on the service scheduling result. The technical scheme of the application is used to solve the defects that the business system is unstable and the utilization rate of the server is not good in the prior art. By effectively combining the resource basic data of the business system, receiving the service scheduling result determined by the policy configuration device based on the resource basic data, and finally controlling the server allocated to the business system based on the service scheduling result, the resource utilization rate of the server is improved.
[0101] Figure 5 is a schematic diagram of the server scheduling system of the business system provided by the application, as Figure 3 shown, the server scheduling system of the business system includes a policy configuration device 51, a resource pool management device 52, a load balancer 53, and a server management device 54; the policy configuration device is connected with the resource pool management device and the load balancer, and the resource pool management device is connected with the server management device and the load balancer; the specific implementation steps include the following.
[0102] Step 501, acquiring resource basic data from the server management device.
[0103] In this step, the resource pool management device is responsible for managing all device hardware including servers under its jurisdiction, monitoring the running state of all jurisdictional devices such as servers, and collecting configuration data of servers, processor of servers, and memory usage of servers.
[0104] Specifically, the resource pool management device periodically obtains the current processor demand and the current memory demand of the server currently managed by the server management device for service management of the business system from the server management device. The historical processor demand and the historical memory demand are also synchronously obtained. The historical processor demand is the demand for the processor when processing the same type of task of the business system; and the historical memory demand is the demand for the memory when processing the same type of task of the business system.
[0105] Step 502, send the resource base data to the policy configuration device.
[0106] Specifically, after the resource pool management device obtains the resource base data, the policy configuration device is used to periodically obtain the resource base data from the resource pool management device.
[0107] Step 503, determine the predicted server quantity according to the resource base data.
[0108] Specifically, the resource base data is obtained, the historical processor demand and the historical memory demand in the resource base data are used to train the deep reinforcement learning prediction model, after the training is completed, the current processor demand and the current memory demand are input into the trained deep reinforcement learning prediction model for quantity prediction, the evaluation network and the target evaluation network are called, and then the current processor demand and the current memory demand are collected from the resource management device as the input of the deep reinforcement learning prediction model, an action is selected, the current processor demand and the current memory demand are predicted by the deep reinforcement learning prediction model, so as to calculate and determine the initial predicted server quantity, further obtain the next state of the server from the server management device, and return to execute the action selected, the current processor demand and the current memory demand are predicted by the deep reinforcement learning prediction model, and finally the optimal server demand quantity is determined as the predicted server quantity.
[0109] Step 504, receive the list data sent by the load balancer.
[0110] In this step, the list data is the data of the server in the server management device supporting the business system, which specifically includes the name, processor quantity, and memory quantity of the server, and the embodiment is not limited thereto.
[0111] Specifically, the load balancer is responsible for list management of the servers in the server management device, so as to determine the list data, and then send the determined list data to the policy configuration device.
[0112] Step 505, determining the service scheduling result according to the list data and the predicted server number.
[0113] In this step, the service scheduling result includes a first service scheduling result and a second service scheduling result; the first service scheduling result is a scheduling result determined by server reduction, and the second service scheduling result is a scheduling result determined by server increase; the first service scheduling result and the second service scheduling result are used to control the servers allocated to the business system.
[0114] Specifically, the policy configuration device determines the service scheduling result according to the predicted server number, the list data and the current server number. When the predicted server number is determined, it is determined whether the predicted server number is equal to the current server number; when it is determined that the predicted server number is equal to the current server number, it is determined that the servers in the server device supporting the operation of the business system do not need to be adjusted at this time; if the predicted server number is greater than the current server number, a server increase strategy is formulated according to the predicted server number, the current server number and the list number, the server increase strategy is to increase new servers for the business system from the server management device, the address and other information of the new servers are determined, and the first service scheduling result is determined based on the server increase strategy; if the predicted server number is less than the current server number, a server reduction strategy is formulated according to the predicted server number, the current server number and the list number, the server reduction strategy is to reduce the servers for the business system from the server management device, the address and other information of the reduced servers are determined, and the second service scheduling result is determined based on the server reduction strategy.
[0115] Step 506, sending the service scheduling result to the resource pool management device.
[0116] Step 507, determining the wake-up instruction according to the first service scheduling result.
[0117] In this step, the wake-up instruction is an instruction determined based on the first service scheduling result, which needs to wake up the servers, and determines which servers need to be woken up.
[0118] Step 508, sending the wake-up instruction to the server management device.
[0119] In this step, the server management device includes the servers allocated to the business system.
[0120] Specifically, when the resource pool management module receives the first scheduling result sent by the policy configuration device, a wake-up instruction is determined based on the first service scheduling result, and the wake-up instruction is sent to the server management device, so that the server management device wakes up the server based on the wake-up instruction.
[0121] Step 509, receiving the server increasing instruction sent by the server management device.
[0122] In this step, the server increasing instruction is the address information and identification information of the server after being woken up by the server management device based on the wake-up instruction, which can be the name, memory capacity, processor capacity, etc. of the server after being woken up, and the embodiment is not limited thereto.
[0123] Specifically, after sending the wake-up instruction to the server management device, the resource pool management device makes the server management device wake up the server based on the wake-up instruction, determines the server increasing instruction, and then feeds back the server increasing instruction to the resource pool management device.
[0124] Step 510, sending the server increasing instruction to the load balancer.
[0125] Specifically, after receiving the server increasing instruction sent by the server management device, the server increasing instruction is sent to the load balancer, so that the load balancer adjusts the list data according to the server increasing instruction, allocates servers to the business system according to the adjusted list data, and determines the increasing result; wherein the increasing result is used to feed back the increasing situation of the server in the server management device according to the server increasing instruction.
[0126] Step 511, receiving the increasing result sent by the load balancer.
[0127] Specifically, the increasing result sent by the load balancer is received, and the increasing result is synchronously sent to the policy configuration device.
[0128] Step 512, sending the server decreasing instruction to the load balancer.
[0129] In this step, the server decreasing instruction is an instruction determined by the server management device based on the second scheduling result, which needs to reduce the server.
[0130] Specifically, after receiving the second service scheduling result, the number of servers that need to be reduced is determined according to the second service scheduling result, the server decreasing instruction is determined based on the number of servers that need to be reduced, and the server decreasing instruction is sent to the load balancer.
[0131] Step 513, receiving the decreasing result sent by the load balancer.
[0132] In this step, the adjustment result is used to feed back the load balancer to adjust the servers in the server management device according to the adjustment server instruction.
[0133] Specifically, after sending the adjustment server instruction to the load balancer, the load balancer allocates the servers of the service system according to the adjustment server instruction, and determines the adjustment result of the adjustment of the servers in the server management device according to the adjustment server instruction.
[0134] Step 514, send the adjustment result to the policy configuration device.
[0135] Specifically, the adjustment result sent by the load balancer is received, and the adjustment result is synchronously sent to the policy configuration device, so that the policy configuration device determines the sleep instruction based on the adjustment result.
[0136] Step 515, receive the sleep instruction sent by the policy configuration device.
[0137] In this step, after synchronizing the adjustment result to the policy configuration device, the policy configuration device determines the instruction for scheduling the servers in the server management device based on the adjustment result.
[0138] Step 516, send the sleep instruction to the server management device.
[0139] Specifically, the sleep instruction is sent to the server management device, so that the server management device sleeps the servers based on the sleep instruction.
[0140] In step 506, after determining the service scheduling result, when the service scheduling result is the first service scheduling result, steps 507-511 are continued to be executed; when the service scheduling result is the second service scheduling result, steps 512-516 are continued to be executed.
[0141] The application provides a server scheduling system of a service system, a resource pool management device obtains resource basic data from a server management device; the resource pool management device sends the resource basic data to a policy configuration device; the policy configuration device determines a predicted server quantity according to the resource basic data; the policy configuration device receives list data sent by a load balancer; the policy configuration device determines a service scheduling result according to the list data and the predicted server quantity; the policy configuration device sends the service scheduling result to the resource pool management device; the resource pool management device determines a wake-up instruction according to the first service scheduling result; the resource pool management device sends the wake-up instruction to the server management device; the resource pool management device receives a server increasing instruction sent by the server management device; the resource pool management device sends the server increasing instruction to the load balancer; the resource pool management device receives an increasing result sent by the load balancer; the resource pool management device sends a server decreasing instruction to the load balancer; the resource pool management device receives a decreasing result sent by the load balancer; the resource pool management device sends the decreasing result to the policy configuration device; the resource pool management device receives a sleep instruction sent by the policy configuration device; and the resource pool management device sends the sleep instruction to the server management device. The technical scheme of the application is used to solve the defects that the service system is unstable and the server utilization rate is poor in the prior art, the resource basic data of the service system is effectively combined, the service scheduling result determined by the policy configuration device based on the resource basic data is received, and finally the server allocated to the service system is controlled based on the service scheduling result, thereby improving the resource utilization rate of the server.
[0142] The server scheduling device of the service system provided by the application is described below, and the server scheduling device of the service system described below can be correspondingly referred to the server scheduling device of the service system described above.
[0143] Figure 6 is one of the structural schematic diagrams of the server scheduling device of the service system provided by the application, which is applied to a policy configuration device, and the policy configuration device is connected with a resource pool management device and a load balancer respectively; as shown in Figure 6 The server scheduling device of the service system comprises a data receiving module 601, a quantity determining module 602 and a result determining module 603.
[0144] The data receiving module 601 is used for receiving resource basic data of the service system obtained by the resource pool management device and receiving list data obtained by the load balancer; wherein the resource basic data comprises a current processor demand quantity and a current memory demand quantity, and the list data is data of servers in the server management device supporting the work of the service system.
[0145] The quantity determination module 602 is configured to input the current processor requirement and the current memory requirement into a deep reinforcement learning prediction model to perform quantity prediction, and determine a predicted server quantity required by the business system; the predicted server quantity refers to a quantity of servers required by the business system and allocated by prediction.
[0146] The result determination module 603 is configured to perform server scheduling according to the predicted server quantity, a current server quantity of the business system and list data, and determine a service scheduling result; the current server quantity refers to a quantity of servers currently allocated to the business system.
[0147] In an example embodiment, the resource base data further includes historical processor requirements and historical memory requirements; the deep reinforcement learning prediction model is a model obtained by model training based on the historical processor requirements, the historical memory requirements, a reward function and an evaluation network; the reward function is used to guide the training of the deep reinforcement learning prediction model, and the evaluation network is used to adjust the stability of the deep reinforcement learning prediction model.
[0148] In an example embodiment, the service scheduling result includes a first service scheduling result and a second service scheduling result.
[0149] In an example embodiment, the result determination module 603 is specifically configured to: if the predicted server quantity is greater than the current server quantity, a server increasing strategy is formulated according to the predicted server quantity, the current server quantity and a list quantity, and the first service scheduling result is determined based on the server increasing strategy; if the predicted server quantity is less than the current server quantity, a server decreasing strategy is formulated according to the predicted server quantity, the current server quantity and the list quantity, and the second service scheduling result is determined based on the server decreasing strategy; the first service scheduling result and the second service scheduling result are used to control the servers allocated to the business system.
[0150] The apparatus of the embodiment can be used to perform the method of any one of the server scheduling method-side embodiments of the business system, and the specific implementation process and technical effects are similar to those of the server scheduling method-side embodiments of the business system. For details, refer to the detailed description in the server scheduling method-side embodiments of the business system, which will not be described here.
[0151] The server scheduling apparatus of the business system provided by the application is described below, and the server scheduling apparatus of the business system described below can be mutually corresponding and referred to.
[0152] Figure 7 is a structure diagram of the server scheduling apparatus of the business system provided by the application, which is applied to a resource pool management device, and the resource pool management device is connected with a policy configuration device and a load balancer, respectively;Figure 7 As shown, the server scheduling apparatus of the service system comprises a data acquisition module 701, a data sending module 702, a result receiving module 703 and a result control module 704.
[0153] The data acquisition module 701 is configured to acquire resource base data of the service system.
[0154] The data sending module 702 is configured to send the resource base data to the policy configuration device.
[0155] The result receiving module 703 is configured to receive a service scheduling result determined by the policy configuration device based on the resource base data.
[0156] The result control module 704 is configured to allocate servers of the service system based on the service scheduling result.
[0157] In an example embodiment, the service scheduling result comprises a first service scheduling result and a second service scheduling result.
[0158] In an example embodiment, when it is determined that the first service scheduling result is received, the result control module 704 is specifically configured to: send a wake-up instruction to the server management device based on the first service scheduling result, so that the server management device wakes up the servers based on the wake-up instruction; wherein the server management device comprises the servers allocated for the service system; receive a server increasing instruction sent by the server management device; send the server increasing instruction to the load balancer, so that the load balancer allocates the servers of the service system according to the server increasing instruction and determines an increasing result; wherein the increasing result is used to feed back the increasing situation of the servers in the server management device according to the server increasing instruction; receive the increasing result sent by the load balancer and synchronously send the increasing result to the policy configuration device.
[0159] In an example embodiment, when it is determined that the second service scheduling result is received, the result control module 704 is specifically configured to: send a server decreasing instruction to the load balancer based on the second service scheduling result, so that the load balancer allocates the servers of the service system according to the server decreasing instruction and determines a decreasing result; wherein the decreasing result is used to feed back the decreasing situation of the servers in the server management device according to the server decreasing instruction; receive the decreasing result sent by the load balancer and synchronously send the decreasing result to the policy configuration device; receive a hibernation instruction determined by the policy configuration device based on the decreasing result; send the hibernation instruction to the server management device, so that the server management device hibernates the servers based on the hibernation instruction.
[0160] The apparatus of this embodiment can be used to execute the method of any embodiment in the server scheduling method side embodiment of the business system. Its specific implementation process and technical effects are similar to those in the server scheduling method side embodiment of the business system. For details, please refer to the detailed description in the server scheduling method side embodiment of the business system, which will not be repeated here.
[0161] Figure 8 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 8 As shown, the electronic device may include: a processor 810, a communications interface 820, a memory 830, and a communications bus 840, wherein the processor 810, the communications interface 820, and the memory 830 communicate with each other through the communications bus 840. The processor 810 can invoke logical instructions in the memory 830 to execute a server scheduling method for the business system. This method includes: applying to a policy configuration device, which is connected to both a resource pool management device and a load balancer; receiving basic resource data of the business system obtained by the resource pool management device and list data obtained by the load balancer; wherein the basic resource data includes current processor requirements and current memory requirements, and the list data consists of server data from the server management device supporting the business system; inputting the current processor requirements and current memory requirements into a deep reinforcement learning prediction model to predict the number of servers required by the business system; wherein the predicted number of servers refers to the number of servers allocated to the business system as determined by prediction; performing server scheduling based on the predicted number of servers, the current number of servers in the business system, and the list data to determine a service scheduling result; wherein the current number of servers is the number of servers currently allocated to the business system; or, applying to a resource pool management device, which is connected to both the policy configuration device and the load balancer; obtaining basic resource data of the business system; sending the basic resource data to the policy configuration device; receiving the service scheduling result determined by the policy configuration device based on the basic resource data; and controlling the allocation of servers to the business system based on the service scheduling result.
[0162] In addition, the logic instructions in the memory 830 described above can be implemented in the form of software functional units and sold or used as independent products, and can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application or the part of the technical solutions that make essential contributions to the prior art or the part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the embodiments of the method of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.
[0163] In another aspect, the present application also provides a computer program product, the computer program product comprising a computer program, the computer program being stored on a non-transitory computer readable storage medium, and the computer program being executable by a processor to cause a computer to perform a server scheduling method of a service system provided by the above-mentioned methods, the method comprising: applied to a policy configuration device, the policy configuration device being connected with a resource pool management device and a load balancer respectively; receiving resource base data of the service system obtained by the resource pool management device, and receiving list data obtained by the load balancer; wherein the resource base data comprises a current processor demand and a current memory demand, and the list data is data of servers in a server management device supporting the service system; inputting the current processor demand and the current memory demand into a deep reinforcement learning prediction model for quantity prediction to determine a predicted server quantity required by the service system; wherein the predicted server quantity refers to a quantity of servers required by the service system determined by prediction; performing server scheduling according to the predicted server quantity, a current server quantity of the service system, and the list data to determine a service scheduling result; wherein the current server quantity is a quantity of servers currently allocated to the service system; or applied to the resource pool management device, the resource pool management device being connected with the policy configuration device and the load balancer respectively; obtaining resource base data of the service system; sending the resource base data to the policy configuration device; receiving a service scheduling result determined by the policy configuration device based on the resource base data; and controlling servers allocated to the service system based on the service scheduling result.
[0164] In yet another aspect, the present application also provides a non-transitory computer-readable storage medium having stored thereon a computer program, which, when executed by a processor, implements a server scheduling method of a service system provided by each of the above methods, the method comprising: applied to a policy configuration device, the policy configuration device being connected with a resource pool management device and a load balancer respectively; receiving resource base data of the service system obtained by the resource pool management device, and receiving list data obtained by the load balancer; wherein the resource base data comprises a current processor demand and a current memory demand, and the list data is data of servers in a server management device supporting work of the service system; inputting the current processor demand and the current memory demand into a deep reinforcement learning prediction model for quantity prediction to determine a predicted server quantity required by the service system; wherein the predicted server quantity refers to a quantity of servers required by the service system determined by prediction; performing server scheduling according to the predicted server quantity, a current server quantity of the service system, and the list data to determine a service scheduling result; wherein the current server quantity is a quantity of servers currently allocated to the service system; or applied to the resource pool management device, the resource pool management device being connected with the policy configuration device and the load balancer respectively; obtaining resource base data of the service system; sending the resource base data to the policy configuration device; receiving a service scheduling result determined by the policy configuration device based on the resource base data; and controlling servers allocated to the service system based on the service scheduling result.
[0165] The device embodiments described above are merely illustrative, wherein the units described as separate components can or can not be physically separated, and the components displayed as units can or can not be physical units, i.e., can be located in one place or distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the embodiment according to actual needs. Those skilled in the art can understand and implement without creative labor.
[0166] From the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be realized by means of software and necessary universal hardware platforms, and of course can also be realized by hardware. Based on such understanding, the above technical solutions can be embodied in the form of a software product, which can be stored in a computer readable storage medium, such as a ROM / RAM, a magnetic disk, an optical disk, etc., and includes a plurality of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute the methods described in each embodiment or some parts of the embodiments.
[0167] It should be pointed out finally that the above embodiments are only used to illustrate the technical solutions of the present application, but not to limit the same; and although the present application has been described in detail with reference to the foregoing embodiments, it should be appreciated by those skilled in the art that the technical solutions recorded in the foregoing embodiments can be modified, or some technical features thereof can be replaced equivalently; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A server scheduling method for a business system, characterized in that, Applied to a policy configuration device, the policy configuration device being connected to a resource pool management device and a load balancer respectively; including: The system receives basic resource data of the business system obtained from the resource pool management device and list data obtained from the load balancer; wherein, the basic resource data includes the current processor requirement and the current memory requirement, and the list data is the server data in the server management device that supports the operation of the business system. The current processor and memory requirements are input into a deep reinforcement learning prediction model for quantity prediction to determine the number of predicted servers required by the business system. The predicted server number refers to the number of servers that the business system needs to allocate, as determined by prediction. This process includes: after determining the current processor and memory requirements, inputting them into the deep reinforcement learning prediction model for quantity prediction; calling an evaluation network and a target evaluation network; collecting the current processor and memory requirements from a resource management device as input to the deep reinforcement learning prediction model; selecting an action; predicting the current processor and memory requirements using the deep reinforcement learning prediction model to determine the initial predicted server number; further obtaining the next state of the servers from the server management device; returning to execute the next action; predicting the current processor and memory requirements using the deep reinforcement learning prediction model; and finally determining the optimal number of servers required as the predicted server number. Server scheduling is performed based on the predicted number of servers, the current number of servers in the business system, and the list data to determine the service scheduling result; wherein, the current number of servers is the number of servers currently allocated to the business system.
2. The server scheduling method for a business system according to claim 1, characterized in that, The resource base data also includes historical processor requirements and historical memory requirements; the deep reinforcement learning prediction model is a model trained based on the historical processor requirements, the historical memory requirements, the reward function, and the evaluation network; wherein, the reward function is used to guide the training of the deep reinforcement learning prediction model, and the evaluation network is used to adjust the stability of the deep reinforcement learning prediction model.
3. The server scheduling method for a business system according to claim 1, characterized in that, The service scheduling result includes a first service scheduling result and a second service scheduling result; the step of determining the service scheduling result by performing server scheduling based on the predicted number of servers, the current number of servers in the business system, and the list data includes: If the predicted number of servers is greater than the current number of servers, a server adjustment strategy is formulated based on the predicted number of servers, the current number of servers, and the list data, and the first service scheduling result is determined based on the server adjustment strategy. If the predicted number of servers is less than the current number of servers, a server reduction strategy is formulated based on the predicted number of servers, the current number of servers, and the list data, and the second service scheduling result is determined based on the server reduction strategy; wherein, the first service scheduling result and the second service scheduling result are used to control the servers allocated to the business system.
4. A server scheduling method for a business system, characterized in that, An application is made to a resource pool management device, which is connected to a policy configuration device and a load balancer respectively in the server scheduling method of the business system described in claims 1 to 3; comprising: Obtain basic resource data from the business system; Send the basic resource data to the policy configuration device; Receive the service scheduling result determined by the policy configuration device based on the resource base data; The server allocated to the business system is controlled based on the service scheduling result.
5. The server scheduling method for a business system according to claim 4, characterized in that, The service scheduling results include the first service scheduling result and the second service scheduling result; When it is determined that the first service scheduling result has been received, the step of controlling the allocation of the server to the business system based on the service scheduling result includes: A wake-up command is sent to the server management device based on the first service scheduling result, so that the server management device wakes up the server based on the wake-up command; wherein, the server management device includes a server allocated for the business system; Receive the server increase command sent by the server management device; The server increase instruction is sent to the load balancer, so that the load balancer allocates the servers to the business system according to the server increase instruction and determines the increase result; wherein, the increase result is used to provide feedback on the load balancer's increase of the servers in the server management device according to the server increase instruction. The system receives the adjustment result sent by the load balancer and synchronously sends the adjustment result to the policy configuration device.
6. The server scheduling method for a business system according to claim 5, characterized in that, When it is determined that the second service scheduling result has been received, the step of controlling the allocation of the server to the business system based on the service scheduling result includes: Based on the second service scheduling result, a server reduction instruction is sent to the load balancer, so that the load balancer allocates the servers to the business system according to the server reduction instruction and determines the reduction result; wherein, the reduction result is used to provide feedback on the reduction of the servers in the server management device by the load balancer according to the server reduction instruction. Receive the load reduction result sent by the load balancer, and synchronously send the load reduction result to the policy configuration device; Receive the hibernation command determined by the policy configuration device based on the reduction result; The hibernation command is sent to the server management device so that the server management device puts the server into hibernation based on the hibernation command.
7. A server scheduling device for a business system, characterized in that, The policy configuration device applied in the server scheduling method of the business system according to claims 1 to 3 includes: The data receiving module is used to receive basic resource data of the business system obtained by the resource pool management device and list data obtained by the load balancer; wherein, the basic resource data includes the current processor requirement and the current memory requirement, and the list data is the server data in the server management device that supports the operation of the business system; The quantity determination module is used to input the current processor requirement and the current memory requirement into a deep reinforcement learning prediction model to perform quantity prediction and determine the number of prediction servers required by the business system; wherein, the number of prediction servers refers to the number of servers that need to be allocated to the business system as determined by prediction; inputting the current processor requirement and the current memory requirement into the deep reinforcement learning prediction model to perform quantity prediction and determine the number of prediction servers required by the business system includes: after determining the current processor requirement and the current memory requirement, inputting the current processor requirement and the current memory requirement into the deep reinforcement learning prediction model... The number of servers is predicted by calling the evaluation network and the target evaluation network, and then collecting the current processor demand and the current memory demand from the resource management device as inputs to the deep reinforcement learning prediction model. An action is selected, and the deep reinforcement learning prediction model is used to predict the current processor demand and the current memory demand to determine the initial number of predicted servers. The next state of the servers is then obtained from the server management device, and the process returns to select an action, use the deep reinforcement learning prediction model to predict the current processor demand and the current memory demand, and finally determine the optimal number of servers required as the predicted number of servers. The result determination module is used to perform server scheduling based on the predicted number of servers, the current number of servers in the business system, and the list data, and determine the service scheduling result; wherein, the current number of servers is the number of servers currently allocated to the business system.
8. A server scheduling device for a business system, characterized in that, The resource pool management device applied in the server scheduling method of the business system according to claims 4 to 6 includes: The data acquisition module is used to acquire basic resource data from the business system. The data sending module is used to send the basic resource data to the policy configuration device; The result receiving module is used to receive the service scheduling result determined by the policy configuration device based on the resource basic data; The result control module is used to allocate the server to the business system based on the service scheduling result.
9. A server scheduling system for a business system, characterized in that, include: A policy configuration device is applied to the server scheduling method of the business system as described in any one of claims 1-3; a resource pool management device, a load balancer, and a server management device are applied to the server scheduling method of the business system as described in any one of claims 4-6; the policy configuration device is connected to the resource pool management device and the load balancer respectively, and the resource pool management device is connected to the server management device and the load balancer respectively.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the server scheduling method of the business system according to any one of claims 1 to 3, or implements the steps of the server scheduling method of the business system according to any one of claims 4 to 6.
Citation Information
Patent Citations
Deep learning task resource optimal configuration method and system based on service quality demand
CN113157413A
Data center service load scheduling method and system based on deep reinforcement learning
CN114116183A