Resource scheduling method and device

By predicting the resource requirements of the regulatory reporting business and allocating database resources, the problem of long-term server standby in the regulatory reporting business of financial institutions is solved, and efficient resource utilization and cost savings are achieved.

CN114884901BActive Publication Date: 2024-12-31AGRICULTURAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210391277.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-14
Publication Date
2024-12-31
Estimated Expiration
2042-04-14

AI Technical Summary

Technical Problem

In the regulatory reporting business, financial institutions have caused server clusters to be standby for a long time due to the periodic and frequency requirements of data reporting, which consumes huge resources and is difficult to effectively predict and allocate resources.

Method used

By obtaining historical operation and maintenance data, using time series prediction algorithms (such as support vector regression and RNN recurrent neural networks) to predict the CPU and memory resource requirements of the reporting service, allocate database resources based on the importance of the business, and determine the server based on the resource allocation results. The start and stop time of the cluster.

Benefits of technology

It shortens the standby time of the server cluster, reduces resource consumption, improves resource utilization, and saves operation and maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114884901B_ABST
    Figure CN114884901B_ABST
Patent Text Reader

Abstract

The present application provides a resource scheduling method and device, the method comprising: if the regulatory reporting business is a new business, then obtaining the historical operation and maintenance data of the first server cluster when reporting data for the regulatory reporting business; predicting the CPU resources and memory resources required for the regulatory reporting business in the future based on the historical operation and maintenance data, and obtaining the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business; allocating database resources to the regulatory reporting business based on the importance of the regulatory reporting business, and allocating CPU resources and memory resources to the regulatory reporting business based on the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster, and obtaining the resource allocation result; determining the start and stop time of the first server cluster based on the resource allocation result. The present application shortens the standby time of the first server cluster and reduces resource consumption.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the computer field, and in particular to a resource scheduling method and device. Background Art

[0002] According to the regulatory requirements of my country's regulatory authorities on the financial industry, various banking systems need to proactively report business data to various regulatory agencies. The system built to report business data to regulatory agencies as required is called a regulatory reporting system.

[0003] Due to the wide variety of statistical reports, frequent changes in statistical rules, and the increasing quality requirements of regulatory agencies for reported data, financial institutions usually build a unified platform to achieve data coordination, report processing, data reporting and other functions. Among them, regulatory reporting services are different from common Web services. They are not 7×24-hour services, but often require that regulatory data be reported periodically after data processing according to the time window issued by the regulatory agency. For example, the reporting frequency includes daily, weekly, monthly, quarterly, and annual reports.

[0004] At present, when the platform does not report data, the server cluster where the regulatory reporting business is located will be in standby mode. The extremely long standby time results in huge resource consumption. Summary of the invention

[0005] In view of this, the present application provides a resource scheduling method and device for shortening the standby time of the server cluster required for the regulatory reporting business and reducing resource consumption. The technical solution is as follows:

[0006] A resource scheduling method, comprising:

[0007] If the regulatory reporting business is not a new business, obtaining historical operation and maintenance data of the first server cluster when reporting data for the regulatory reporting business;

[0008] Predict the CPU resources and memory resources required for the regulatory reporting business in the future based on historical operation and maintenance data, and obtain the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business;

[0009] Allocate database resources for the regulatory reporting business based on the importance of the regulatory reporting business, and allocate CPU resources and memory resources for the regulatory reporting business based on the predicted CPU resource value and the predicted memory resource value corresponding to the regulatory reporting business and the total CPU resources, the CPU consumed resources, the total memory resources, and the memory consumed resources of each server in the first server cluster to obtain a resource allocation result;

[0010] The start and stop time of the first server cluster is determined according to the resource allocation result.

[0011] Optionally, also include:

[0012] If the regulatory reporting service is a new service, obtain the number of servers and reporting window duration required for the regulatory reporting service;

[0013] Determine the second server cluster corresponding to the regulatory reporting business based on the number of servers;

[0014] The start and stop time of the second server cluster is determined according to the length of the reporting window.

[0015] Optionally, the CPU resources and memory resources required for regulatory reporting services in the future are predicted based on historical operation and maintenance data, including:

[0016] Determine the amount of historical operation and maintenance data;

[0017] If the amount of historical operation and maintenance data is less than the preset threshold, the CPU resources and memory resources required for the regulatory reporting business in the future are predicted based on the support vector regression algorithm and historical operation and maintenance data;

[0018] If the amount of historical operation and maintenance data is greater than or equal to the preset threshold, the CPU resources and memory resources required for the regulatory reporting business in the future are predicted based on the RNN recurrent neural network and historical operation and maintenance data.

[0019] Optionally, based on the CPU resource prediction value and the memory resource prediction value corresponding to the supervision reporting service and the total CPU resources, the CPU consumed resources, the total memory resources and the memory consumed resources of each server in the first server cluster, the CPU resources and the memory resources are allocated to the supervision reporting service, including:

[0020] Determine the remaining CPU resources of each server in the first server cluster according to the total CPU resources and the consumed CPU resources of each server in the first server cluster, and determine the remaining memory resources of each server in the first server cluster according to the total memory resources and the consumed memory resources of each server in the first server cluster;

[0021] According to the remaining CPU resources of each server in the first server cluster and the predicted CPU resource value corresponding to each reporting service included in the regulatory reporting service, determine the server corresponding to each reporting service included in the regulatory reporting service from the first server cluster as the target server;

[0022] For each target server, if the remaining memory resources of the target server are greater than or equal to the sum of the predicted memory resource values ​​corresponding to all the reporting services corresponding to the server, the target server is allocated to the corresponding reporting service.

[0023] Optionally, determining, from the first server cluster, a server corresponding to each reporting service included in the supervision reporting service according to the remaining CPU resources of each server in the first server cluster and a predicted CPU resource value corresponding to each reporting service included in the supervision reporting service, includes:

[0024] Determine a first target reporting business from the reporting businesses included in the regulatory reporting business, where the first target reporting business is the reporting business with the smallest corresponding CPU resource prediction value among the reporting businesses whose corresponding servers have not been determined;

[0025] Determine a server corresponding to the first target reporting service from servers in the first server cluster whose remaining CPU resources meet the predicted CPU resource value corresponding to the first target reporting service;

[0026] According to the CPU resource prediction value corresponding to the first target reporting service, the remaining CPU resources of the server corresponding to the first target reporting service are updated;

[0027] Determine whether there are any reporting businesses in the regulatory reporting business whose corresponding servers have not been determined. If so, return to determine the first target reporting business from the reporting businesses included in the regulatory reporting business until all the reporting businesses included in the regulatory reporting business have determined corresponding servers.

[0028] Optionally, determining a server corresponding to the first target reporting service from servers in the first server cluster whose remaining CPU resources satisfy a predicted value of CPU resources corresponding to the first target reporting service includes:

[0029] Sorting the first server cluster in ascending order of remaining CPU resources to obtain a first sorted first server cluster;

[0030] The first server in the first server cluster after the first sorting whose remaining CPU resources meet the predicted value of CPU resources corresponding to the first target reporting service is used as the server corresponding to the first target reporting service.

[0031] Optionally, also include:

[0032] For each target server, if the remaining memory resources of the target server are less than the sum of the predicted memory resource values ​​corresponding to all the reported services corresponding to the target server, then the reported services are taken out one by one from all the reported services corresponding to the target server until the remaining memory resources of the server are greater than or equal to the sum of the predicted memory resource values ​​corresponding to all the reported services corresponding to the server, so as to obtain a reported service set consisting of the reported services taken out from each target server;

[0033] According to the CPU resource prediction value and the memory resource prediction value corresponding to the service reported in the service reporting center, the remaining CPU resource and the remaining memory resource of each server in the first server cluster are updated;

[0034] After the update, servers are allocated to the reporting services in the reporting service set according to the remaining CPU resources and remaining memory resources of each server in the first server cluster and the predicted CPU resources and predicted memory resources corresponding to the reporting services in the reporting service set.

[0035] Optionally, allocating a server to a reporting service in the reporting service center according to remaining CPU resources and remaining memory resources of each server in the first server cluster and predicted CPU resource values ​​and predicted memory resource values ​​corresponding to the reporting services in the reporting service center includes:

[0036] Determine a second target reporting service from the reporting service set, where the second target reporting service is a reporting service with the smallest corresponding memory resource prediction value among the reporting services to which no server is assigned in the reporting service set;

[0037] Allocate a server for the second target reporting service from the servers in the first server cluster whose remaining memory resources satisfy the predicted value of memory resources corresponding to the second target reporting service and whose remaining CPU resources satisfy the predicted value of CPU resources corresponding to the second target reporting service;

[0038] According to the predicted value of the memory resources corresponding to the second target reporting service, the remaining memory resources of the server allocated for the second target reporting service are updated;

[0039] It is determined whether there are any reporting services that have not been assigned a server in the reporting service set. If so, the process returns to executing the second target reporting service from the reporting service set until all the reporting services included in the reporting service set have been assigned a server.

[0040] Optionally, from the first server cluster, the servers whose remaining memory resources satisfy the predicted value of memory resources corresponding to the second target reporting service and whose remaining CPU resources satisfy the predicted value of CPU resources corresponding to the second target reporting service are allocated to the second target reporting service, including:

[0041] Sorting the first server cluster in ascending order of remaining memory resources to obtain a second sorted first server cluster;

[0042] In the first server cluster after the second sorting, the first server whose remaining CPU resources meet the predicted CPU resource value corresponding to the second target reporting business and whose remaining memory resources meet the predicted memory resource value corresponding to the second target reporting business is used as the server allocated to the second target reporting business.

[0043] A resource scheduling device, comprising: a data collection module, a data prediction module, a resource allocation module and a start-stop time determination module;

[0044] A data collection module, for obtaining historical operation and maintenance data of the first server cluster when reporting data for the regulatory reporting business if the regulatory reporting business is not a new business;

[0045] The data prediction module is used to predict the CPU resources and memory resources required for the regulatory reporting business in the future based on the historical operation and maintenance data, and obtain the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business;

[0046] A resource allocation module, configured to allocate database resources to the regulatory reporting business based on the importance of the regulatory reporting business, and allocate CPU resources and memory resources to the regulatory reporting business based on the CPU resource prediction value and the memory resource prediction value corresponding to the regulatory reporting business and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster, to obtain a resource allocation result;

[0047] The start and stop time determination module is used to determine the start and stop time of the first server cluster according to the resource allocation result.

[0048] Through the above technical solutions, it can be known that the resource scheduling method provided by the present application, if the regulatory reporting business is a new business, then obtains the historical operation and maintenance data of the first server cluster when reporting data for the regulatory reporting business, and then predicts the CPU resources and memory resources required for the regulatory reporting business in the future based on the historical operation and maintenance data, and obtains the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business, and then allocates database resources to the regulatory reporting business based on the importance of the regulatory reporting business, and allocates CPU resources and memory resources to the regulatory reporting business based on the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster, and obtains the resource allocation result, and finally determines the start and stop time of the first server cluster based on the resource allocation result. It can be seen that the present application can determine the start and stop time of the first server cluster, so that the first server cluster will not be in a standby state for a long time, shortening the standby time of the first server cluster and reducing resource consumption. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0050] Figure 1 A schematic diagram of a resource scheduling method provided in an embodiment of the present application;

[0051] Figure 2 A schematic diagram of the structure of a resource scheduling device provided in an embodiment of the present application;

[0052] Figure 3 A hardware structure block diagram of a resource scheduling device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0053] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0054] The present application provides a resource scheduling method, and the resource scheduling method provided by the present application is described in detail through the following embodiments.

[0055] See also Figure 1 , shows a schematic diagram of a process of a resource scheduling method provided in an embodiment of the present application, and the resource scheduling method may include:

[0056] Step S101: If the regulatory reporting business is not a new business, then obtain historical operation and maintenance data of the first server cluster when reporting data for the regulatory reporting business.

[0057] It is understandable that for the existing regulatory reporting business, the reporting business can be run through the first server cluster, and the business data generated during the operation can be reported to the regulatory agency. Based on this, this step can obtain the historical operation and maintenance data of the first server cluster when reporting data for the regulatory reporting business. Here, the first server cluster refers to a server cluster composed of servers required for non-new regulatory reporting business.

[0058] For example, in order to ensure the quality of service (QoS) of the regulatory reporting service, the reporting service may be manually run on trial for a period of time to obtain historical operation and maintenance data during the manual trial run.

[0059] Optionally, in this step, the historical operation and maintenance data may include the type, number, reported business volume, and resource usage of the first server cluster. Of course, the historical operation and maintenance data may also be other, which is not limited in this application.

[0060] Optionally, on the basis of ensuring service reliability, security and business sustainability, this step can deploy an operation and maintenance monitoring tool on each server in the first server cluster to monitor the server through the operation and maintenance monitoring tool to record the historical operation and maintenance data monitored at the second or minute level; optionally, the historical operation and maintenance data recorded by the operation and maintenance monitoring tool can also be preprocessed to obtain the historical operation and maintenance data in this step.

[0061] Step S102: predict the CPU resources and memory resources required for the regulatory reporting business in the future based on the historical operation and maintenance data, and obtain the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business.

[0062] Considering that in actual resource usage, the CPU resource demand and memory resource demand are often non-linear time series data, modern time series prediction algorithms can be used to predict the CPU resources and memory resources required for regulatory reporting business in the future based on historical operation and maintenance data.

[0063] Here, modern time series prediction algorithms involve machine learning, deep learning and other algorithms. For example, the modern time series prediction algorithm can make predictions based on recurrent neural networks (RNNs) and long short-term memory (LTSM) neural networks. This prediction method can exchange higher algorithm complexity for prediction accuracy. The modern time series prediction algorithm can also make predictions based on support vector regression by mapping nonlinear data to multidimensional space through kernel functions. In addition, the modern time series prediction algorithm can also make predictions based on reinforcement learning algorithms such as extreme gradient boosting trees and random forests combined with other machine learning algorithms, and so on.

[0064] In different scenarios, the magnitude of the training set, the size of the resources, the time requirements for model building, etc. are different. Based on this, optionally, this step can adopt a dual-mode prediction scheme to predict CPU resources and memory resources. Among them, mode 1 predicts resource demand through the support vector regression algorithm (SVR), which has low complexity and good non-linear time series data prediction accuracy. Mode 2 predicts resource demand through the RNN recurrent neural network, which has high complexity and good non-linear time series data prediction accuracy.

[0065] For example, optionally, for an old system that runs smoothly, the data set that can be collected is large, and the demand for regulatory reporting business is stable. In this case, mode 2 can be used for prediction to obtain a high-precision prediction model; while for a newly built regulatory reporting business system, the demand for regulatory reporting business is unstable, there are additions and deletions to demand, and the data set that can be collected and processed is small. In this case, mode 1 can be selected for prediction, that is, this step can first determine the data volume of historical operation and maintenance data. If the data volume of historical operation and maintenance data is less than a preset threshold, then based on the support vector regression algorithm and historical operation and maintenance data, the CPU resources and memory resources required for the regulatory reporting business in the future are predicted. If the data volume of historical operation and maintenance data is greater than or equal to the preset threshold, then based on the RNN recurrent neural network and historical operation and maintenance data, the CPU resources and memory resources required for the regulatory reporting business in the future are predicted.

[0066] It should be noted that the regulatory reporting service includes at least one reporting data, and the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting service obtained in this step refer to the CPU resource prediction value and memory resource prediction value corresponding to each reporting service included in the regulatory reporting service.

[0067] In addition, optionally, this step can also predict the future reporting volume of the regulatory reporting business based on historical operation and maintenance data.

[0068] Step S103: Allocate database resources to the regulatory reporting business based on the importance of the regulatory reporting business, and allocate CPU resources and memory resources to the regulatory reporting business based on the predicted CPU resource values ​​and predicted memory resource values ​​corresponding to the regulatory reporting business and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster to obtain a resource allocation result.

[0069] This step can allocate resources for the regulatory reporting business. Optionally, the regulatory reporting business involves data processing and data reporting. Based on this, the resources allocated to the regulatory reporting business in this step may include database resources, CPU resources, and memory resources. Here, considering the switching of the regulatory reporting business and the server mapping relationship, the allocation of database resources, CPU resources, and memory resources can be performed on a daily basis.

[0070] The method for allocating database resources is as follows: allocating database resources to the regulatory reporting business according to the importance of the regulatory reporting business. Here, the importance of the regulatory reporting business is a manually set value, which can be used as a weight to allocate database resources in sequence according to the weight.

[0071] The method for allocating CPU resources and memory resources is as follows: based on the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster, CPU resources and memory resources are allocated to the regulatory reporting business.

[0072] The above-mentioned database resources, CPU resources and memory resources can all be defined as platform shared resources, that is, the various reporting businesses included in the regulatory reporting business share database resources, CPU resources and memory resources.

[0073] Optionally, this step can also allocate network resources for regulatory reporting services. Considering the security of regulated business data, VPN, dedicated lines, and financial dedicated networks can be used for reporting. Then, this application can negotiate with the regulatory agency to complete the allocation of network resources before the system goes online. The resources are fixed and therefore exclusive.

[0074] Step S104: Determine the start and stop time of the first server cluster according to the resource allocation result.

[0075] The resource allocation result in this step refers to the allocation result of database resources, CPU resources and memory resources. According to the allocation result, the start and stop time (i.e., the start and stop time) of the first server cluster can be determined, so that according to the determined start and stop time, when the business data needs to be processed and reported, the corresponding server in the first server cluster can be started, and when the business data does not need to be processed and reported, the corresponding server in the first server cluster can be shut down.

[0076] The resource scheduling method provided by the present application, if the regulatory reporting business is a new business, then obtains the historical operation and maintenance data of the first server cluster when reporting data for the regulatory reporting business, and then predicts the CPU resources and memory resources required for the regulatory reporting business in the future based on the historical operation and maintenance data, and obtains the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business, and then allocates database resources to the regulatory reporting business based on the importance of the regulatory reporting business, and allocates CPU resources and memory resources to the regulatory reporting business based on the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster, and obtains the resource allocation result, and finally determines the start and stop time of the first server cluster based on the resource allocation result. It can be seen that the present application can determine the start and stop time of the first server cluster, so that the first server cluster will not be in a standby state for a long time, shortening the standby time of the first server cluster and reducing resource consumption.

[0077] At the same time, when the business data is not processed and reported, the corresponding servers of the first server cluster can be in a shutdown state, saving operation and maintenance costs; and, the present application will allocate resources for the regulatory reporting business, thereby improving resource utilization. Compared with the prior art, the present application provides a resource allocation solution so that for the same amount of regulatory reporting data, the number of servers required by the present application may be smaller than the number of servers required by the prior art, further saving operation and maintenance costs; in addition, the present application can predict future CPU resource and memory resource requirements based on historical operation and maintenance data, so that abnormal resource requirements can be known in advance, and early detection and early prevention can be achieved.

[0078] The aforementioned embodiment is a solution for how to determine the start and stop time of the first server cluster required for the regulatory reporting business in a scenario where the regulatory reporting business is not a newly created business. It is understandable that there may be some newly created regulatory reporting businesses. Since it is impossible to obtain the historical operation and maintenance data corresponding to the newly created regulatory reporting business, it is impossible to perform resource prediction. Therefore, the aforementioned embodiment cannot be used to determine the server start and stop time.

[0079] To this end, this embodiment is proposed to determine the start and stop time of the server cluster required for the newly created regulatory reporting business. In order to distinguish it from the above-mentioned first server cluster, this embodiment refers to the server cluster required for the newly created business data as the second server cluster, that is, the second server cluster refers to the server cluster composed of servers required for the newly created regulatory reporting business.

[0080] The process of determining the start and stop time of the second server cluster in this embodiment may include: if the regulatory reporting business is a new business, obtaining the number of servers and the reporting window duration required for the regulatory reporting business, determining the second server cluster corresponding to the regulatory reporting business based on the number of servers, and determining the start and stop time of the second server cluster based on the reporting window duration.

[0081] Specifically, for newly created regulatory reporting services, the number of servers and reporting window duration required for the regulatory reporting services can be determined manually based on empirical values. Thus, this embodiment can provide an interface for manual supplementary recording, through which the number of servers and reporting window duration for manual supplementary recording can be obtained. Based on the number of servers, the second server cluster corresponding to the regulatory reporting service can be determined. It is worth noting that for newly created services, since the method of manually supplementing the number of servers and reporting windows is adopted, in order to distinguish it from non-newly created regulatory reporting services, an exclusive server method can be used for resource allocation, that is, a second server cluster is separately allocated for the newly created service (the second server cluster and the first server cluster are different server clusters, and there is no intersection between the two).

[0082] After the second server cluster is determined, the start and stop time (ie, the opening and closing time) of the second server cluster can be determined according to the reporting window duration.

[0083] In an optional embodiment, based on the present embodiment, taking into account that the regulatory reporting business is not a new business, if the regulatory reporting business is a reporting business with a small sample size, the amount of historical operation and maintenance data obtained in the above step S101 may be very small. At this time, even if the support vector regression algorithm is used to predict CPU resources and memory resources, the predicted values ​​may be inaccurate. Based on this, for reporting businesses with a small sample size, the method provided in this embodiment can also be used to determine the server start and stop time.

[0084] In summary, for new services and / or reporting services with a small sample size, the method provided in this embodiment can be used to determine the server start and stop time. This embodiment is used as a supplement to the above embodiment, so that this application can cover any reporting service and has better practicality.

[0085] An embodiment of the present application provides a detailed introduction to the process of "allocating CPU resources and memory resources for the regulatory reporting business based on the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster" in step S103.

[0086] The allocation of CPU and memory resources can be understood as a two-dimensional packing problem and an NP-hard problem. This embodiment designs a two-stage best adaptation decreasing algorithm to allocate CPU and memory resources.

[0087] Among them, the first stage is to use the best adaptation decreasing algorithm according to the CPU usage of each server in the first server cluster to preliminarily determine the correspondence between each reporting business included in the regulatory reporting business and the first server cluster; in this embodiment, at the end of the first stage allocation, each server in the first server cluster may correspond to one or more reporting businesses.

[0088] Since the first stage is allocated based on the server's CPU resources without considering the server's memory resources, it is possible that the server's CPU resources meet the needs of the corresponding reporting business, while the memory resources do not meet the needs of the corresponding reporting business. At this time, the second stage can be used to compensate for the part of the reporting business that is not met by the memory resources, so that the server's CPU resources and memory resources can meet the needs of the corresponding reporting business at the same time; of course, if the server's memory resources meet the needs of the corresponding reporting business at the end of the first stage of allocation, there is no need to proceed to the second stage.

[0089] Specifically, the process of “allocating CPU resources and memory resources for the supervision reporting service based on the CPU resource prediction value and memory resource prediction value corresponding to the supervision reporting service and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster” may at least include the following steps S1 to S3:

[0090] Step S1: determine the remaining CPU resources of each server in the first server cluster according to the total CPU resources and the consumed CPU resources of each server in the first server cluster, and determine the remaining memory resources of each server in the first server cluster according to the total memory resources and the consumed memory resources of each server in the first server cluster.

[0091] Optionally, for each server in the first server cluster, the difference between 80% of the server's total CPU resources and the consumed CPU resources can be calculated, and the calculated difference can be used as the remaining CPU resources of the server; similarly, the difference between 80% of the server's total memory resources and the consumed memory resources can be calculated, and the calculated difference can be used as the remaining memory resources of the server.

[0092] It should be noted that, for CPU resources and memory resources, the above "80%" are all examples. In addition, it can also be other data, which can be determined according to actual conditions, and this application does not limit this.

[0093] Step S2: According to the remaining CPU resources of each server in the first server cluster and the predicted CPU resource value corresponding to each reporting service included in the regulatory reporting service, determine the server corresponding to each reporting service included in the regulatory reporting service from the first server cluster as the target server.

[0094] For example, assuming that the regulatory reporting business includes reporting businesses 1 to 10, if through the determination process of this step, reporting businesses 1 to 4 correspond to server 1, reporting businesses 5 to 7 correspond to server 2, reporting business 8 corresponds to server 3, and reporting businesses 9 and 10 correspond to server 4, then servers 1 to 4 are all target servers.

[0095] In an optional embodiment, the process may include the following steps S21 to S24:

[0096] Step S21: determining a first target reporting business from the reporting businesses included in the supervision reporting business, wherein the first target reporting business is the reporting business with the smallest corresponding CPU resource prediction value among the reporting businesses whose corresponding servers have not been determined.

[0097] Steps S21 to S24 are used to determine the corresponding server for each reporting service included in the regulatory reporting service. Since steps S21 to S24 cannot be performed once to determine the corresponding servers for all reporting services included in the regulatory reporting service, steps S21 to S24 need to be performed multiple times. Each time step S21 is performed, it is necessary to select the reporting service with the smallest CPU resource prediction value (denoted as y) from the reporting services included in the regulatory reporting service that have not determined the corresponding servers. min,c )’s reporting business shall be the first target reporting business.

[0098] Step S22: Determine a server corresponding to the first target reporting service from servers in the first server cluster whose remaining CPU resources satisfy the predicted CPU resource value corresponding to the first target reporting service.

[0099] It should be understood that the first target reporting service may be allocated to a server only if the remaining CPU resources of a server meet the predicted CPU resource value corresponding to the first target reporting service, that is, the remaining CPU resources of a server are greater than or equal to the predicted CPU resource value corresponding to the first target reporting service. Based on this, in an optional embodiment, the process of this step may include: from the first server cluster, determine the server whose remaining CPU resources meet the predicted CPU resource value corresponding to the first target reporting service, and select a server from the determined servers as the server corresponding to the first target reporting service. For example, this step may select a server with the smallest remaining CPU resources from the determined servers as the server corresponding to the first target reporting service.

[0100] In another optional embodiment, the process of this step may also include: sorting the first server cluster in ascending order of CPU remaining resources to obtain a first sorted first server cluster; reporting the CPU resource prediction value y corresponding to the first target reporting service in the first sorted first server cluster whose first CPU remaining resource meets the first target min,c The server corresponding to the first target reporting business is used as the server.

[0101] Step S23: According to the predicted value of the CPU resources corresponding to the first target reporting service, the remaining CPU resources of the server corresponding to the first target reporting service are updated.

[0102] Specifically, in this step, the difference between the remaining CPU resources of the server corresponding to the first target reporting service before the update and the predicted value of the CPU resources corresponding to the first target reporting service may be used as the remaining CPU resources of the server corresponding to the first target reporting service after the update.

[0103] Step S24, determine whether there are any reporting businesses in the regulatory reporting business whose corresponding servers have not been determined. If so, return to determine the first target reporting business from the reporting businesses included in the regulatory reporting business until all the reporting businesses included in the regulatory reporting business have determined corresponding servers.

[0104] Step S3: For each target server, if the remaining memory resources of the target server are greater than or equal to the sum of the predicted memory resources corresponding to all the reporting services corresponding to the server, the target server is allocated to the corresponding reporting service.

[0105] Through the determination process of the above steps S21 to S24, each target server corresponds to one or more reporting services. For example, target server 1 corresponds to reporting services 1 to 4, target server 2 corresponds to reporting services 5 to 7, target server 3 corresponds to reporting service 8, and target server 4 corresponds to reporting services 9 and 10.

[0106] Then, for each target server, it is necessary to determine whether the remaining memory resources of the target server meet the memory resource prediction value corresponding to the reporting business corresponding to the target server, that is, it is necessary to determine whether the remaining memory resources of the target server are greater than or equal to the sum of the memory resource prediction values ​​corresponding to all reporting businesses corresponding to the server. If so, it means that the CPU resources and memory resources of the target server both meet the requirements of the corresponding reporting business. At this time, the target server can be allocated to the corresponding reporting business.

[0107] For example, for the target server 1 mentioned above, if the remaining memory resources of the target server 1 are greater than or equal to the sum of the predicted memory resources corresponding to the reporting services 1-4, the target server 1 can be allocated to the reporting services 1-4.

[0108] In an optional embodiment, after step S2, the following steps S4 to S6 may also be included:

[0109] Step S4: For each target server, if the remaining memory resources of the target server are less than the sum of the predicted memory resource values ​​corresponding to all the reported services corresponding to the target server, then the reported services are taken out one by one from all the reported services corresponding to the target server until the remaining memory resources of the server are greater than or equal to the sum of the predicted memory resource values ​​corresponding to all the reported services corresponding to the server, so as to obtain a reported service set consisting of the reported services taken out from each target server.

[0110] Take an example to illustrate this step: assume that the target server 1 corresponds to reporting services 1 to 4. If the remaining memory resources of the target server 1 are less than the sum of the predicted memory resource values ​​corresponding to reporting services 1 to 4, then take out a reporting service, such as taking out reporting service 1, and then determine whether the remaining memory resources of the target server 1 are greater than or equal to the sum of the predicted memory resource values ​​corresponding to reporting services 2 to 4. If so, execute the process for the next target server; if not, take out another reporting service, such as taking out reporting service 2, and then determine whether the remaining memory resources of the target server 1 are greater than or equal to the sum of the predicted memory resource values ​​corresponding to reporting services 3 to 4. If so, execute the process for the next target server; if not, take out another reporting service, and so on, until the remaining memory resources of the target server 1 are greater than or equal to the sum of the predicted memory resource values ​​corresponding to all reporting services corresponding to the target server 1.

[0111] Through the operation of this step, the reporting services can be taken out from each target server, and the reporting services taken out from each target server form a reporting service set.

[0112] Optionally, in this step, each time a reported service is retrieved, a reported service may be retrieved randomly, or a reported service with the smallest CPU resource prediction value among the reported services corresponding to the target server may be retrieved.

[0113] Step S5: updating the remaining CPU resources and remaining memory resources of each server in the first server cluster according to the predicted CPU resource values ​​and the predicted memory resource values ​​corresponding to the services reported in the service reporting center.

[0114] Specifically, this step is to update the remaining CPU resources and remaining memory resources of each target server according to the CPU resource prediction value and memory resource prediction value corresponding to the service reported in the service reporting center.

[0115] Step S6: after the update, allocating servers to the reporting services in the reporting service set according to the remaining CPU resources and the remaining memory resources of each server in the first server cluster and the predicted CPU resources and the predicted memory resources corresponding to the reporting services in the reporting service set.

[0116] Optionally, this step may use an improved best-fit decreasing algorithm to allocate CPU resources and memory resources. Specifically, this step may include the following steps S61 to S64:

[0117] Step S61: Determine a second target reporting service from the reporting service set, where the second target reporting service is the reporting service with the smallest corresponding memory resource prediction value among the reporting services in the reporting service set that are not assigned to a server.

[0118] Steps S61 to S64 are used to allocate a server for each reporting service included in the reporting service set. Since steps S61 to S64 cannot be performed once to allocate servers for all reporting services included in the reporting service set, steps S61 to S64 need to be performed multiple times. Each time step S61 is performed, it is necessary to select the reporting service with the smallest memory resource prediction value (denoted as y) from the reporting services that are not allocated servers in the reporting service set. min,m )’s reporting business as the second target reporting business.

[0119] Step S62: Allocate a server for the second target reporting service from the servers in the first server cluster whose remaining memory resources satisfy the predicted memory resource value corresponding to the second target reporting service and whose remaining CPU resources satisfy the predicted CPU resource value corresponding to the second target reporting service.

[0120] It should be understood that the second target reporting service can only be allocated to the server if the remaining CPU resources of a server satisfy the predicted value of CPU resources corresponding to the second target reporting service, and the remaining memory resources satisfy the predicted value of memory resources corresponding to the second target reporting service, that is, the remaining CPU resources of a server are greater than or equal to the predicted value of CPU resources corresponding to the second target reporting service, and the remaining memory resources are greater than or equal to the predicted value of memory resources corresponding to the second target reporting service. Based on this, in an optional embodiment, the process of this step may include: from the first server cluster, determining the server whose remaining memory resources satisfy the predicted value of memory resources corresponding to the second target reporting service, and whose remaining CPU resources satisfy the predicted value of CPU resources corresponding to the second target reporting service, and selecting a server from the determined servers as the server corresponding to the second target reporting service. For example, this step may select a server with the smallest remaining memory resources or the smallest remaining CPU resources from the determined servers as the server corresponding to the second target reporting service.

[0121] In another optional embodiment, the process of this step may also include: sorting the first server cluster in ascending order of remaining memory resources to obtain a first server cluster after a second sort; in the first server cluster after the second sort, the first CPU remaining resource meets the CPU resource prediction value corresponding to the second target reporting service, and the memory remaining resource meets the memory resource prediction value y corresponding to the second target reporting service. min,m , as the server assigned to the second target reporting business.

[0122] Step S63: According to the predicted value of the memory resources corresponding to the second target reporting service, the remaining memory resources of the server allocated to the second target reporting service are updated.

[0123] Step S64, determining whether there are any reporting services in the reporting service set that have not been assigned to a server, if so, returning to determine a second target reporting service from the reporting service set until all the reporting services included in the reporting service set have been assigned to a server.

[0124] At the same time, for each target server, this embodiment will also allocate the unretrieved reporting services in the reporting services corresponding to the target server to the target server, thereby completing the entire allocation process.

[0125] The embodiment of the present application further provides a resource scheduling device. The resource scheduling device provided in the embodiment of the present application is described below. The resource scheduling device described below and the resource scheduling method described above can refer to each other.

[0126] See also Figure 2 , which shows a schematic diagram of the structure of the resource scheduling device provided in an embodiment of the present application, such as Figure 2 As shown, the resource scheduling device may include: a data collection module 201, a data prediction module 202, a resource allocation module 203 and a start and stop time determination module 204.

[0127] The data collection module 201 is used to obtain historical operation and maintenance data of the first server cluster when reporting data for the supervision reporting business if the supervision reporting business is not a new business.

[0128] The data prediction module 202 is used to predict the CPU resources and memory resources required for the supervision and reporting business in the future based on the historical operation and maintenance data, and obtain the CPU resource prediction value and memory resource prediction value corresponding to the supervision and reporting business.

[0129] The resource allocation module 203 is used to allocate database resources to the regulatory reporting business based on the importance of the regulatory reporting business, and to allocate CPU resources and memory resources to the regulatory reporting business based on the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster to obtain a resource allocation result.

[0130] The start and stop time determination module 204 is used to determine the start and stop time of the first server cluster according to the resource allocation result.

[0131] The resource scheduling device provided by the present application, if the supervision and reporting service is a new service, obtains the historical operation and maintenance data of the first server cluster when reporting data for the supervision and reporting service, and then predicts the CPU resources and memory resources required for the supervision and reporting service in the future based on the historical operation and maintenance data, and obtains the CPU resource prediction value and memory resource prediction value corresponding to the supervision and reporting service, and then allocates database resources to the supervision and reporting service based on the importance of the supervision and reporting service, and allocates CPU resources and memory resources to the supervision and reporting service based on the CPU resource prediction value and memory resource prediction value corresponding to the supervision and reporting service and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster, and obtains the resource allocation result, and finally determines the start and stop time of the first server cluster based on the resource allocation result. The present application can determine the start and stop time of the first server cluster, so that the first server cluster will not be in a standby state for a long time, shortening the standby time of the first server cluster and reducing resource consumption.

[0132] In a possible implementation, the resource scheduling device provided in the present application may further include: a manual demand resource supplementary recording module.

[0133] The manual demand resource supplementary recording module can be specifically used to obtain the number of servers and reporting window duration required for the regulatory reporting business if the regulatory reporting business is a new business, determine the second server cluster corresponding to the regulatory reporting business based on the number of servers, and determine the start and stop time of the second server cluster based on the reporting window duration.

[0134] In one possible implementation, the data prediction module 202 can be specifically used to determine the data volume of historical operation and maintenance data. If the data volume of the historical operation and maintenance data is less than a preset threshold, the CPU resources and memory resources required for the regulatory reporting business in the future are predicted based on the support vector regression algorithm and the historical operation and maintenance data. If the data volume of the historical operation and maintenance data is greater than or equal to the preset threshold, the CPU resources and memory resources required for the regulatory reporting business in the future are predicted based on the RNN recurrent neural network and the historical operation and maintenance data.

[0135] In one possible implementation, the resource allocation module 203 may include: a remaining resource determination module, a target server determination module and a first allocation module when allocating CPU resources and memory resources for the regulatory reporting business based on the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster.

[0136] Among them, the remaining resource determination module is used to determine the CPU remaining resources of each server in the first server cluster based on the total CPU resources and the CPU consumed resources of each server in the first server cluster, and to determine the memory remaining resources of each server in the first server cluster based on the total memory resources and the memory consumed resources of each server in the first server cluster.

[0137] The target server determination module is used to determine the server corresponding to each reporting business included in the regulatory reporting business from the first server cluster as the target server based on the CPU remaining resources of each server in the first server cluster and the CPU resource prediction value corresponding to each reporting business included in the regulatory reporting business.

[0138] The first allocation module is used to allocate each target server to the corresponding reporting service if the remaining memory resources of the target server are greater than or equal to the sum of the predicted memory resources corresponding to all the reporting services corresponding to the server.

[0139] In a possible implementation, the target server determination module may include: a first target reporting service determination module, a server corresponding module, a first updating module and a first judging module;

[0140] Among them, the first target reporting business determination module is used to determine the first target reporting business from the reporting businesses included in the regulatory reporting business, and the first target reporting business is the reporting business with the smallest corresponding CPU resource prediction value among the reporting businesses whose corresponding servers have not been determined.

[0141] The server corresponding module is used to determine the server corresponding to the first target reporting service from the servers in the first server cluster whose CPU remaining resources meet the CPU resource prediction value corresponding to the first target reporting service.

[0142] A first updating module, configured to update the remaining CPU resources of the server corresponding to the first target reporting service according to the predicted value of the CPU resources corresponding to the first target reporting service;

[0143] The first judgment module is used to judge whether there are any reporting businesses in the regulatory reporting business whose corresponding servers have not been determined. If so, it returns to execute the first target reporting business determination module until all the reporting businesses included in the regulatory reporting business have determined corresponding servers.

[0144] In a possible implementation, the server corresponding module may include: a first sorting module and a CPU remaining resource reference module.

[0145] The first sorting module is used to sort the first server cluster in ascending order of remaining CPU resources to obtain a first sorted first server cluster;

[0146] The CPU remaining resource reference module is used to take the first server whose CPU remaining resource meets the CPU resource prediction value corresponding to the first target reporting service in the first server cluster after the first sorting as the server corresponding to the first target reporting service.

[0147] In a possible implementation, the resource scheduling device provided in the present application may further include: a reporting service set determination module, a second updating module and a second allocation module.

[0148] Among them, the reporting service set determination module is used for, for each target server, if the remaining memory resources of the target server are less than the sum of the predicted memory resource values ​​corresponding to all the reporting services corresponding to the target server, then taking out the reporting services one by one from all the reporting services corresponding to the target server until the remaining memory resources of the server are greater than or equal to the sum of the predicted memory resource values ​​corresponding to all the reporting services corresponding to the server, so as to obtain a reporting service set consisting of the reporting services taken out from each target server.

[0149] The second updating module is used to update the remaining CPU resources and remaining memory resources of each server in the first server cluster according to the CPU resource prediction value and memory resource prediction value corresponding to the service reported in the service reporting center.

[0150] The second allocation module is used to allocate servers to the reporting services in the reporting service set according to the remaining CPU resources and remaining memory resources of each server in the first server cluster and the predicted CPU resources and predicted memory resources corresponding to the reporting services in the reporting service set after the update.

[0151] In a possible implementation, the second allocation module may include: a second target reporting service determination module, a server allocation module, a third updating module and a second judgment module.

[0152] The second target reporting service determination module is used to determine the second target reporting service from the reporting service set, where the second target reporting service is the reporting service with the smallest corresponding memory resource prediction value among the reporting services in the reporting service set that are not assigned to a server.

[0153] The server allocation module is used to allocate servers for the second target reporting business from the servers in the first server cluster whose remaining memory resources meet the predicted memory resource value corresponding to the second target reporting business and whose remaining CPU resources meet the predicted CPU resource value corresponding to the second target reporting business.

[0154] The third updating module is used to update the remaining memory resources of the server allocated to the second target reporting service according to the predicted value of the memory resources corresponding to the second target reporting service.

[0155] The second judgment module is used to judge whether there are any reporting services that have not been assigned to servers in the reporting service set. If so, it returns to execute the second target reporting service from the reporting service set until all the reporting services included in the reporting service set have been assigned to servers.

[0156] In a possible implementation, the server allocation module may include: a second sorting module and a memory remaining resource reference module.

[0157] The second sorting module is used to sort the first server cluster in ascending order of remaining memory resources to obtain the first server cluster after the second sorting.

[0158] The memory remaining resource reference module is used to use the server whose first CPU remaining resource meets the CPU resource prediction value corresponding to the second target reporting business and whose memory remaining resource meets the memory resource prediction value corresponding to the second target reporting business in the first server cluster after the second sorting as the server allocated for the second target reporting business.

[0159] The embodiment of the present application also provides a resource scheduling device. Optionally, Figure 3 The hardware structure diagram of the resource scheduling device is shown in FIG. Figure 3 , the hardware structure of the resource scheduling device may include: at least one processor 301, at least one communication interface 302, at least one memory 303 and at least one communication bus 304;

[0160] In the embodiment of the present application, the number of the processor 301, the communication interface 302, the memory 303, and the communication bus 304 is at least one, and the processor 301, the communication interface 302, and the memory 303 communicate with each other through the communication bus 304;

[0161] The processor 301 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention;

[0162] The memory 303 may include a high-speed RAM memory, and may also include a non-volatile memory, such as at least one disk memory;

[0163] The memory 303 stores a program, and the processor 301 can call the program stored in the memory 303, and the program is used to:

[0164] If the regulatory reporting business is not a new business, obtaining historical operation and maintenance data of the first server cluster when reporting data for the regulatory reporting business;

[0165] Predict the CPU resources and memory resources required for the regulatory reporting business in the future based on historical operation and maintenance data, and obtain the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business;

[0166] Allocate database resources for the regulatory reporting business based on the importance of the regulatory reporting business, and allocate CPU resources and memory resources for the regulatory reporting business based on the predicted CPU resource value and the predicted memory resource value corresponding to the regulatory reporting business and the total CPU resources, the CPU consumed resources, the total memory resources, and the memory consumed resources of each server in the first server cluster to obtain a resource allocation result;

[0167] The start and stop time of the first server cluster is determined according to the resource allocation result.

[0168] Optionally, the detailed functions and extended functions of the program may refer to the above description.

[0169] An embodiment of the present application further provides a readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the resource scheduling method as described above is implemented.

[0170] Optionally, the detailed functions and extended functions of the program may refer to the above description.

[0171] Finally, it should be noted that, in this article, relational terms such as and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "comprises a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0172] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0173] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A resource scheduling method, characterized in that: include: If the regulatory reporting business is not a new business, obtaining historical operation and maintenance data of the first server cluster when reporting data for the regulatory reporting business, the historical operation and maintenance data including the type, number, reported business volume, and resource usage of the first server cluster; Predicting the CPU resources and memory resources required for the regulatory reporting service in the future based on the historical operation and maintenance data, and obtaining the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting service; Allocate database resources to the regulatory reporting business based on the importance of the regulatory reporting business, and allocate CPU resources and memory resources to the regulatory reporting business based on the predicted CPU resource value and the predicted memory resource value corresponding to the regulatory reporting business and the total CPU resources, CPU consumed resources, total memory resources, and memory consumed resources of each server in the first server cluster to obtain a resource allocation result; Determining the start and stop time of the first server cluster according to the resource allocation result; The predicting of CPU resources and memory resources required for the regulatory reporting business in the future based on the historical operation and maintenance data includes: Determining the data volume of the historical operation and maintenance data; If the amount of the historical operation and maintenance data is less than a preset threshold, the CPU resources and memory resources required for the regulatory reporting business in the future are predicted based on the support vector regression algorithm and the historical operation and maintenance data; If the amount of the historical operation and maintenance data is greater than or equal to the preset threshold, the CPU resources and memory resources required for the regulatory reporting business in the future are predicted based on the RNN recurrent neural network and the historical operation and maintenance data.

2. The resource scheduling method according to claim 1, characterized in that: Also includes: If the regulatory reporting service is the newly created service, the number of servers and the reporting window duration required for the regulatory reporting service are obtained; Determining a second server cluster corresponding to the regulatory reporting business according to the number of servers; The start and stop time of the second server cluster is determined according to the duration of the reporting window.

3. The resource scheduling method according to claim 1, characterized in that: The allocating CPU resources and memory resources to the supervision reporting service based on the CPU resource prediction value and the memory resource prediction value corresponding to the supervision reporting service and the total CPU resources, CPU consumed resources, total memory resources, and memory consumed resources of each server in the first server cluster includes: Determine the remaining CPU resources of each server in the first server cluster according to the total CPU resources and the consumed CPU resources of each server in the first server cluster, and determine the remaining memory resources of each server in the first server cluster according to the total memory resources and the consumed memory resources of each server in the first server cluster; According to the remaining CPU resources of each server in the first server cluster and the predicted CPU resource value corresponding to each reporting service included in the regulatory reporting service, determining the server corresponding to each reporting service included in the regulatory reporting service from the first server cluster as the target server; For each target server, if the remaining memory resources of the target server are greater than or equal to the sum of the predicted memory resource values ​​corresponding to all the reporting services corresponding to the server, the target server is allocated to the corresponding reporting service.

4. The resource scheduling method according to claim 3, characterized in that: The determining, from the first server cluster, a server corresponding to each reporting service included in the supervision reporting service according to the remaining CPU resources of each server in the first server cluster and the predicted CPU resource value corresponding to each reporting service included in the supervision reporting service, comprises: Determining a first target reporting business from the reporting businesses included in the regulatory reporting business, wherein the first target reporting business is a reporting business having a minimum corresponding CPU resource prediction value among the reporting businesses whose corresponding servers have not been determined; Determine a server corresponding to the first target reporting service from servers in the first server cluster whose remaining CPU resources meet the predicted CPU resource value corresponding to the first target reporting service; According to the predicted value of the CPU resources corresponding to the first target reporting service, updating the remaining CPU resources of the server corresponding to the first target reporting service; Determine whether there are any reporting businesses in the regulatory reporting business whose corresponding servers have not been determined. If so, return to execute the step of determining the first target reporting business from the reporting businesses included in the regulatory reporting business until all the reporting businesses included in the regulatory reporting business have determined corresponding servers.

5. The resource scheduling method according to claim 4, characterized in that: The determining, from the servers in the first server cluster whose remaining CPU resources satisfy the predicted CPU resource values ​​corresponding to the first target reporting service, the server corresponding to the first target reporting service comprises: Sorting the first server clusters in ascending order of remaining CPU resources to obtain a first server cluster after a first sort; In the first server cluster after the first sorting, the first server whose remaining CPU resources meet the predicted CPU resource value corresponding to the first target reporting service is used as the server corresponding to the first target reporting service.

6. The resource scheduling method according to claim 3, characterized in that: Also includes: For each target server, if the remaining memory resources of the target server are less than the sum of the predicted memory resource values ​​corresponding to all the reported services corresponding to the target server, then the reported services are taken out one by one from all the reported services corresponding to the target server until the remaining memory resources of the server are greater than or equal to the sum of the predicted memory resource values ​​corresponding to all the reported services corresponding to the server, so as to obtain a reported service set consisting of the reported services taken out from each target server; updating the remaining CPU resources and remaining memory resources of each server in the first server cluster according to the predicted CPU resource values ​​and the predicted memory resource values ​​corresponding to the services reported in the service reporting center; After the update, servers are allocated to the reporting services in the reporting service set according to the remaining CPU resources and remaining memory resources of each server in the first server cluster and the predicted CPU resources and predicted memory resources corresponding to the reporting services in the reporting service set.

7. The resource scheduling method according to claim 6, characterized in that: The allocating a server to a reporting service in the reporting service set according to the remaining CPU resources and the remaining memory resources of each server in the first server cluster and the predicted CPU resource values ​​and the predicted memory resource values ​​corresponding to the reporting services in the reporting service set includes: Determine a second target reporting service from the reporting service set, where the second target reporting service is a reporting service with the smallest corresponding memory resource prediction value among the reporting services to which no server is assigned in the reporting service set; Allocate a server for the second target reporting service from the servers in the first server cluster whose remaining memory resources satisfy the predicted value of memory resources corresponding to the second target reporting service and whose remaining CPU resources satisfy the predicted value of CPU resources corresponding to the second target reporting service; According to the predicted value of the memory resources corresponding to the second target reporting service, the remaining memory resources of the server allocated for the second target reporting service are updated; It is determined whether there are any reporting services in the reporting service set that have not been assigned to a server. If so, the process returns to executing the step of determining a second target reporting service from the reporting service set until all the reporting services included in the reporting service set have been assigned to a server.

8. The resource scheduling method according to claim 7, characterized in that: The step of allocating a server for the second target reporting service from the servers in the first server cluster whose remaining memory resources satisfy the predicted value of memory resources corresponding to the second target reporting service and whose remaining CPU resources satisfy the predicted value of CPU resources corresponding to the second target reporting service comprises: Sorting the first server clusters in ascending order of remaining memory resources to obtain a second sorted first server cluster; In the first server cluster after the second sorting, the first server whose remaining CPU resources meet the predicted CPU resource value corresponding to the second target reporting business and whose remaining memory resources meet the predicted memory resource value corresponding to the second target reporting business is used as the server allocated to the second target reporting business.

9. A resource scheduling device, characterized in that: include: Data collection module, data prediction module, resource allocation module and start and stop time determination module; The data collection module is used to obtain historical operation and maintenance data of the first server cluster when reporting data for the regulatory reporting business if the regulatory reporting business is not a new business, and the historical operation and maintenance data includes the type, number, reported business volume and resource usage of the first server cluster; The data prediction module is used to predict the CPU resources and memory resources required for the regulatory reporting business in the future according to the historical operation and maintenance data, and obtain the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business; The resource allocation module is used to allocate database resources to the regulatory reporting business based on the importance of the regulatory reporting business, and allocate CPU resources and memory resources to the regulatory reporting business based on the CPU resource prediction value and memory resource prediction value corresponding to the regulatory reporting business and the total CPU resources, CPU consumed resources, total memory resources and memory consumed resources of each server in the first server cluster to obtain a resource allocation result; The start and stop time determination module is used to determine the start and stop time of the first server cluster according to the resource allocation result; the data prediction module is specifically used to determine the data volume of the historical operation and maintenance data; if the data volume of the historical operation and maintenance data is less than a preset threshold, the CPU resources and memory resources required for the regulatory reporting business in the future are predicted based on the support vector regression algorithm and the historical operation and maintenance data; If the amount of the historical operation and maintenance data is greater than or equal to the preset threshold, the CPU resources and memory resources required for the regulatory reporting business in the future are predicted based on the RNN recurrent neural network and the historical operation and maintenance data.