Application resource recommendation deployment method and device, equipment, medium and program product

By analyzing the historical resource usage data of data center applications, determining resource-intensive types and usage types, and recommending resource colocation and elastic scaling deployment methods, we solve the problems of low resource utilization and insufficient flexibility in data center resources, and achieve efficient resource utilization and stable operation.

CN120704696APending Publication Date: 2025-09-26INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510799951.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-16
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

Data centers have problems with low resource utilization and insufficient flexibility when deploying application resources, resulting in resource waste.

Method used

By obtaining the historical resource usage data of the application to be recommended, its resource-intensive type and target historical resource usage data are determined. Based on this data, the resource usage type is determined. Based on this data, the appropriate application resource deployment method is recommended, including co-location and elastic scaling deployment methods.

Benefits of technology

It improves the resource utilization and flexibility of application resource deployment, ensures stable operation of resources under high load, and reduces resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120704696A_ABST
    Figure CN120704696A_ABST
Patent Text Reader

Abstract

The invention discloses an application resource recommendation deployment method, device and equipment, a medium and a program product, and relates to the field of financial science and technology. The method is applied to a data center and comprises the following steps: acquiring historical resource use data of a to-be-recommended application; according to the historical resource use data of the to-be-recommended application, determining a resource dense type of the to-be-recommended application and corresponding target historical resource use data; determining a resource use type of the resource intensive type according to target historical resource use data corresponding to the resource intensive type; and determining an application resource recommendation deployment mode of the to-be-recommended application according to the resource use type of the resource dense type, and feeding back the application resource recommendation deployment mode to the to-be-recommended application. According to the technical scheme, the resource utilization rate and flexibility of the application resource deployment mode are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of financial technology, and in particular to a method, device, equipment, medium and program product for recommending and deploying application resources. Background Art

[0002] Currently, data centers deploy application resources primarily by requesting resources based on typical configurations or by configuring resources based on application requirements. In these cases, data centers can provide applications with some typical configurations and their associated usage scenarios; applications can also request resources based on business needs to meet the demands of specific scenarios.

[0003] To ensure that applications can run stably even under short bursts of high load, data centers often allocate a large number of resources for applications when deploying them. These resources often remain idle most of the time, resulting in low resource utilization across clusters and wasted data center resources. This demonstrates that existing data center application resource deployment methods suffer from low resource utilization and insufficient flexibility. Summary of the Invention

[0004] The present invention provides an application resource recommendation deployment method, device, equipment, medium and program product, which improves the resource utilization and flexibility of the application resource deployment mode.

[0005] According to one aspect of the present invention, a method for recommending and deploying application resources is provided, which is applied to a data center. The method includes:

[0006] Obtain historical resource usage data of the application to be recommended;

[0007] Determining the resource-intensive type of the application to be recommended and the corresponding target historical resource usage data according to the historical resource usage data of the application to be recommended;

[0008] determining a resource usage type of the resource-intensive type according to target historical resource usage data corresponding to the resource-intensive type;

[0009] Determine a recommended deployment mode of application resources for the application to be recommended according to the resource usage type of the resource-intensive type, and provide feedback to the application to be recommended.

[0010] According to another aspect of the present invention, there is provided an application resource recommendation and deployment device, which is applied to a data center and includes:

[0011] A historical resource usage data acquisition module is used to obtain historical resource usage data of the application to be recommended;

[0012] a resource-intensive type determination module, configured to determine the resource-intensive type of the application to be recommended and the corresponding target historical resource usage data based on the historical resource usage data of the application to be recommended;

[0013] a resource usage type determination module, configured to determine a resource usage type of the resource-intensive type according to target historical resource usage data corresponding to the resource-intensive type;

[0014] The recommended deployment mode determination module is used to determine the recommended deployment mode of application resources of the application to be recommended according to the resource usage type of the resource-intensive type, and provide feedback to the application to be recommended.

[0015] According to another aspect of the present invention, an electronic device is provided, comprising:

[0016] at least one processor; and

[0017] a memory communicatively connected to the at least one processor; wherein,

[0018] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the application resource recommendation and deployment method described in any embodiment of the present invention.

[0019] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the application resource recommendation and deployment method described in any embodiment of the present invention when executed.

[0020] According to another aspect of the present invention, a computer program product is provided. The computer program product includes a computer program. When the computer program is executed by a processor, the application resource recommendation and deployment method according to any embodiment of the present invention is implemented.

[0021] The technical solution of the embodiment of the present invention determines the resource-intensive type and target historical resource usage data of the application to be recommended based on the historical resource usage data of the application to be recommended, determines the resource usage type corresponding to the resource-intensive type based on the target historical resource usage data, and then determines the application resource recommendation deployment method of the application to be recommended, which is fed back to the application to be recommended by the data center. The resource intensity and resource changes of the application to be recommended are taken into consideration, and the obtained application resource recommendation method of the application to be recommended is more compatible with the application to be recommended, thereby improving the resource utilization and flexibility of the application resource deployment method.

[0022] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0024] Figure 1 This is a flowchart of a method for recommending and deploying application resources according to a first embodiment of the present invention;

[0025] Figure 2 This is a flowchart of a method for recommending and deploying application resources according to a second embodiment of the present invention;

[0026] Figure 3 This is a flowchart of a method for recommending and deploying application resources according to a second embodiment of the present invention;

[0027] Figure 4 This is a structural diagram of an application resource recommendation and deployment device provided according to a third embodiment of the present invention;

[0028] Figure 5 It is a structural diagram of an electronic device for implementing the application resource recommendation and deployment method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0029] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.

[0030] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0031] Example 1

[0032] Figure 1 This is a flowchart of a method for recommending and deploying application resources provided in Example 1 of the present invention. This embodiment of the present invention is applicable to situations where a data center is used to determine a recommended deployment method for application resources for recommended applications. This method can be performed by an application resource recommendation and deployment device, which can be implemented in hardware and / or software and can be configured in an electronic device that carries the application resource recommendation and deployment function, such as a data center.

[0033] See also Figure 1 The recommended deployment method for application resources shown is applicable to data centers and includes:

[0034] S110: Obtain historical resource usage data of the application to be recommended.

[0035] The data center can be used to determine the recommended deployment mode of application resources for the application to be recommended based on the historical resource usage data of the application to be recommended. The data center can provide cluster resources to the application to be recommended. The application to be recommended can be the analysis object and recommendation object of the recommended deployment mode of application resources. The historical resource usage data can be the resource usage data of the application to be recommended in the historical time period. Exemplarily, the historical time period can be 1 year, 1 month, 1 week or 3 days. The historical resource usage data can be used to characterize the resource usage of the application to be recommended. Optionally, the data dimension corresponding to the historical resource usage data can be determined by the application template. Exemplarily, the historical resource usage data can include CPU (Central Processing Unit) usage, memory usage and I / O (Input / Output) usage, etc.

[0036] Specifically, an application template may be used to obtain historical resource usage data of the application to be recommended in a historical time period.

[0037] S120 : Determine the resource-intensive type of the application to be recommended and the corresponding target historical resource usage data based on the historical resource usage data of the application to be recommended.

[0038] The resource-intensive type can be used to characterize the resources that are intensively used by the application to be recommended. The target historical resource usage data can be historical resource usage data corresponding to the resource-intensive type in the historical resource usage data of the application to be recommended. Optionally, the application to be recommended can have at least one resource-intensive type.

[0039] Specifically, historical resource usage data of the applications to be recommended can be collected to determine the historical resource usage of each resource type. The historical resource usage of each resource type can be compared, and the resource type with the highest historical resource usage can be determined as the resource-intensive type of the application to be recommended. The resource-intensive type of the application to be recommended can be used to filter the historical resource usage data to determine the target historical resource usage data corresponding to the resource-intensive type of the application to be recommended.

[0040] In an optional embodiment of the present invention, the resource-intensive type of the application to be recommended is determined based on the historical resource usage data of the application to be recommended, including: for the resource type of a single dimension, the original resource utilization of the resource type is calculated based on the resource usage of the resource type in the historical resource usage data of the application to be recommended and the resource usage of the largest node in the cluster; the original resource utilization of each resource type is normalized to obtain the target resource utilization of each resource type; the target resource utilization of each resource type is compared to determine the resource-intensive type of the application to be recommended.

[0041] Resource types can be used to represent different data dimensions of historical resource usage data. The resource usage of a resource type can be the average resource usage of the resource type over a historical time period. The resource usage of a resource type can be used to represent the resource usage of a single resource type in the application to be recommended. The resource usage of the largest node in the cluster can be the maximum value of the average resource usage of the resource type in a single dimension in the cluster. The largest node in the cluster can be the cluster node with the maximum resource usage of the resource type in a single dimension in the cluster. The raw resource utilization can be the ratio between the resource usage of the resource type in the historical resource usage data of the application to be recommended and the resource usage of the largest node in the cluster. The raw resource utilization can be used to represent the resource usage of the resource type in a single dimension of the application to be recommended. The target resource utilization can be the normalized result of the raw resource utilization. Compared to the raw resource utilization, the target resource utilization is more accurate when comparing the resource intensity of resource types in different dimensions.

[0042] Specifically, for a single dimension of resource type, the average resource usage of the resource corresponding to the resource type of the application to be recommended over a historical time period can be calculated to obtain the resource usage of the resource type of the application to be recommended. The average resource usage of the resource corresponding to the resource type of each cluster node over a historical time period can be calculated to obtain the resource usage of the resource type of each cluster node. The resource usage of each cluster node can be compared, and the maximum resource usage of the resource type can be selected to obtain the resource usage of the largest cluster node. The ratio of the resource usage of the resource type in the historical resource usage data of the application to be recommended to the resource usage of the largest cluster node can be calculated to obtain the raw resource utilization of the resource type. The raw resource utilization of each resource type can be normalized using a maximum-minimum normalization method, and the raw resource utilization can be linearly converted to the interval [0, 1] to obtain the target resource utilization of each resource type. The target resource utilization of each resource type can be compared, and the resource type with the highest target resource utilization can be determined as the resource-intensive type for the application to be recommended.

[0043] This solution determines the resource utilization of a single-dimensional resource type based on the resource usage of the resource type and the resource usage of the largest node in the cluster, and then determines the resource-intensive type of the application to be recommended, thereby improving the efficiency and accuracy of determining the resource-intensive type of the application to be recommended.

[0044] S130: Determine the resource usage type of the resource-intensive type according to the target historical resource usage data corresponding to the resource-intensive type.

[0045] The resource usage type can be used to characterize the change of the target historical resource usage data of the application to be recommended. For example, the resource usage type can include a steady type or a non-steady type; the resource usage type can also include a periodic type or a non-periodic type.

[0046] Specifically, the usage rate of the target historical resource usage data corresponding to the resource type can be detected, and the resource usage type of the resource-intensive type can be determined to be stable or non-stable based on the degree of change in the usage rate of the target historical resource usage data.

[0047] For example, the usage rate of the target historical resource usage data corresponding to the resource type may be detected. The degree of change in the usage rate of the target historical resource usage data may be detected. When the degree of change in the usage rate of the target resource usage data is less than or equal to a preset degree of change, the resource usage type of the resource-intensive type is determined to be stable; when the degree of change in the usage rate of the target resource usage data is greater than the preset degree of change, the resource usage type of the resource-intensive type is determined to be non-stationary.

[0048] Optionally, the usage rate of the target historical resource usage data corresponding to the resource type may be detected. The resource usage type of the resource-intensive type may be determined to be periodic or aperiodic based on the change period of the usage rate of the target historical resource usage data.

[0049] For example, the usage rate of the target historical resource usage data corresponding to the resource type may be detected. The change cycle of the usage rate of the target historical resource usage data may be detected. When the usage rate of the target resource usage data has a change cycle, the resource usage type of the resource-intensive type is determined to be periodic; when the usage rate of the target resource usage data does not have a change cycle, the resource usage type of the resource-intensive type is determined to be non-periodic.

[0050] S140: Determine a recommended deployment mode of application resources for the application to be recommended based on the resource usage type of the resource-intensive type, and provide feedback to the application to be recommended.

[0051] The recommended application resource deployment method can be determined based on the historical resource usage data of the application to be recommended. This recommended application resource deployment method, determined based on the historical resource usage data of the application to be recommended, takes into account the resource intensity and resource variability of the application to be recommended, resulting in a higher level of adaptability between the application to be recommended and the application to be recommended. A preset correspondence can exist between resource usage types and recommended application resource deployment methods. Accordingly, a corresponding recommended application resource deployment method can be determined based on the resource usage type.

[0052] Specifically, based on the resource usage type of the resource-intensive category and the corresponding relationship between the resource usage type and the recommended application resource deployment method, the recommended application resource deployment method corresponding to the resource-intensive category is determined, the recommended application resource deployment method for the application to be recommended is obtained, and feedback is provided to the application to be recommended. Accordingly, after receiving the recommended application resource deployment method sent by the data center, the application to be recommended can choose to adopt the recommended application resource deployment method to optimize the application to be recommended.

[0053] The technical solution of the embodiment of the present invention determines the resource-intensive type and target historical resource usage data of the application to be recommended based on the historical resource usage data of the application to be recommended, determines the resource usage type corresponding to the resource-intensive type based on the target historical resource usage data, and then determines the application resource recommendation deployment method of the application to be recommended, which is fed back to the application to be recommended by the data center. The resource intensity and resource changes of the application to be recommended are taken into consideration, and the obtained application resource recommendation method of the application to be recommended is more compatible with the application to be recommended, thereby improving the resource utilization and flexibility of the application resource deployment method.

[0054] In an optional embodiment of the present invention, before obtaining the historical resource usage data of the application to be recommended, it also includes: obtaining the application priority of the application to be recommended; when the application to be recommended is a high-priority application, determining that the application resource recommendation deployment method of the application to be recommended is a traditional deployment method; obtaining the historical resource usage data of the application to be recommended, including: when the application to be recommended is a low-priority application, obtaining the historical resource usage data of the application to be recommended.

[0055] The application priority of a recommended application can be used to represent the importance of the recommended application. The application priority of a recommended application can be determined based on the application type of the recommended application. A high-priority application can be a highly important recommended application. A low-priority application can be a less important recommended application. High-priority applications require greater application resources. The traditional deployment mode can be used to deploy application resources to ensure stable operation of applications under short periods of high load. The traditional deployment mode can maximize the stable operation of high-priority applications.

[0056] Specifically, before obtaining the historical resource usage data of the application to be recommended, the application type of the application to be recommended can be detected, the application priority corresponding to the application type can be determined, and the application priority of the application to be recommended can be obtained. If the application to be recommended is a high-priority application, the application resource recommendation deployment method for the application to be recommended can be determined to be a traditional deployment method. If the application to be recommended is a low-priority application, the historical resource usage data of the application to be recommended is obtained.

[0057] This solution takes into account the application priority of the application to be recommended and determines the recommended deployment method of application resources based on different application priorities. That is, when the application to be recommended is a high-priority application, the recommended deployment method of application resources for the application to be recommended is determined to be the traditional deployment method. When the application to be recommended is a low-priority application, the technical solution of the embodiment of the present invention is used to determine the recommended deployment method of application resources. Under the premise of ensuring the stable operation of high-priority applications, the flexibility of the recommended deployment method of application resources is further improved.

[0058] Example 2

[0059] Figure 2A flow chart of an application resource recommendation and deployment method provided for the second embodiment of the present invention. Based on the above embodiments, the embodiment of the present invention concretizes the "resource usage type" into "stable type and periodic type", and concretizes "determining the recommended deployment mode of application resources for the application to be recommended based on the resource usage type of the resource-intensive type" into "when the resource usage type of the resource-intensive type is stable, determining the recommended deployment mode of application resources for the application to be recommended as a mixed resource deployment mode; when the resource usage type of the resource-intensive type is periodic, determining the recommended deployment mode of application resources for the application to be recommended as an elastic scaling deployment mode", which further improves the efficiency of determining the application resource deployment mode. It should be noted that for the parts not described in detail in the embodiments of the present invention, please refer to the description of other embodiments.

[0060] See also Figure 2 The recommended deployment method for application resources shown is applicable to data centers and includes:

[0061] S210: Obtain historical resource usage data of the application to be recommended.

[0062] S220: Determine the resource-intensive type of the application to be recommended and the corresponding target historical resource usage data based on the historical resource usage data of the application to be recommended.

[0063] S230: Determine the resource usage type of the resource-intensive type according to the target historical resource usage data corresponding to the resource-intensive type.

[0064] Optionally, the resource usage type of the resource-intensive type is determined based on the target historical resource usage data corresponding to the resource-intensive type, including: detecting the degree of change of the target historical resource usage data corresponding to the resource-intensive type; when it is detected that the degree of change of the target historical resource usage data corresponding to the resource-intensive type is less than or equal to a first preset degree of change, determining that the resource usage type of the resource-intensive type is a stable type; when it is detected that the degree of change of the target historical resource usage data corresponding to the resource-intensive type is greater than a second preset degree of change, detecting the change cycle of the usage rate of the target historical resource usage data; when there is a change cycle in the usage rate of the target resource usage data, determining that the resource usage type of the resource-intensive type is a periodic type.

[0065] The first preset degree of change can be used to characterize the upper limit of the degree of change of the target historical resource usage data when the resource-intensive type is stable. The second preset degree of change can be used to characterize the lower limit of the degree of change of the target historical resource usage data when the resource-intensive type changes drastically or is non-stationary. The first preset degree of change is different from the second preset degree of change. The first preset degree of change is less than the second preset degree of change. The change cycle of the utilization rate of the target historical resource usage data can be used to characterize the change pattern of the utilization rate of the target historical resource usage data. The stable type can be used to characterize that the resource utilization rate corresponding to the resource-intensive type is stable (with small fluctuations). The periodic type can be used to characterize that the resource utilization rate corresponding to the resource-intensive type is unstable (with large fluctuations) but there is a regularity in the frequency of change. For example, the periodic type can be used to characterize resources whose resource utilization rate surges at a certain period.

[0066] Specifically, the degree of change of the target historical resource usage data corresponding to the resource-intensive type can be detected. When it is detected that the degree of change of the target historical resource usage data corresponding to the resource-intensive type is less than or equal to a first preset degree of change, the resource usage type of the resource-intensive type can be determined to be a stable type. When it is detected that the degree of change of the target historical resource usage data corresponding to the resource-intensive type is greater than a second preset degree of change, the change cycle of the usage rate of the target historical resource usage data can be detected. When there is a change cycle in the usage rate of the target resource usage data, the resource usage type of the resource-intensive type can be determined to be a periodic type.

[0067] This solution achieves rapid determination of resource usage types of resource-intensive types through the first preset change degree, the second preset change degree and the change cycle, thereby improving the efficiency of determining resource usage types of resource-intensive types.

[0068] S240: When the resource usage type of the resource-intensive type is a stable type, determine that the recommended deployment mode of application resources of the application to be recommended is a resource co-location deployment mode, and provide feedback to the application to be recommended.

[0069] The resource colocation deployment method can be an application resource deployment method that uses resource colocation technology to utilize idle application resources in the cluster. This resource colocation deployment method can fully utilize idle application resources in the cluster.

[0070] Specifically, when the resource usage type of the resource-intensive type is a stable type, it may be determined that the recommended deployment mode of the application resources of the application to be recommended is a resource co-location deployment mode.

[0071] In an optional embodiment of the present invention, after determining that the recommended deployment mode of application resources of the application to be recommended is the resource co-location deployment mode and providing feedback to the application to be recommended, it also includes: configuring a co-location switch through the application to be recommended; and reusing idle application resources of other applications through the co-location switch of the application to be recommended.

[0072] The colocation switch can be used to reuse idle application resources from other applications. These other application resources can be applications in the cluster other than the recommended application. Optionally, these other applications can be high-priority applications. High-priority applications offer more comprehensive resource deployment. By reusing the application resources of high-priority applications, application resource utilization can be maximized while ensuring the operational stability of these applications.

[0073] Specifically, after determining that the recommended deployment mode for application resources of the recommended application is a co-location mode and providing feedback to the recommended application, the application can configure a co-location switch in the recommended application. The co-location switch of the recommended application can reuse idle application resources of other applications.

[0074] This solution considers that the resource usage type of the recommended application is stable. By using the recommended application and the colocation switch, idle application resources of other applications are reused, further improving resource utilization.

[0075] S250: When the resource usage type of the resource-intensive type is a periodic type, determine that the recommended deployment mode of application resources of the application to be recommended is an elastic scaling deployment mode, and provide feedback to the application to be recommended.

[0076] The elastic scaling deployment method dynamically adjusts the application resources of the recommended application based on the application load. The elastic scaling deployment method is more suitable for periodic resource usage.

[0077] Specifically, when the resource usage type of the resource-intensive type is a periodic type, it may be determined that the recommended deployment mode of the application resources of the application to be recommended is an elastic scaling deployment mode.

[0078] In an optional embodiment of the present invention, after determining that the recommended deployment mode of application resources of the application to be recommended is an elastic scaling deployment mode and providing feedback to the application to be recommended, it also includes: when the application to be recommended application detects that the application load of the application to be recommended increases, the application resources of the application to be recommended are automatically increased; when the application to be recommended application detects that the application load of the application to be recommended decreases, the application resources of the application to be recommended are automatically reduced.

[0079] Application load can be used to represent the usage level of the recommended application. An increase in application load can be understood as an increase in the usage level of the recommended application, and accordingly, more application resources are required for the recommended application. A decrease in application load can be understood as a decrease in the usage level of the recommended application, and accordingly, fewer application resources are required for the recommended application.

[0080] Specifically, after determining that the recommended deployment method for application resources of the to-be-recommended application is an elastic scaling deployment method and providing feedback to the to-be-recommended application, the to-be-recommended application can detect the application load of the to-be-recommended application. When an increase in the application load of the to-be-recommended application is detected, the application resources of the to-be-recommended application are automatically increased. When a decrease in the application load of the to-be-recommended application is detected, the application resources of the to-be-recommended application are automatically decreased.

[0081] This solution takes into account that the resource usage type of the application to be recommended is periodic, and further improves resource utilization by adjusting the application resources of the application to be recommended according to the load changes of the application to be recommended.

[0082] The technical solution of the embodiment of the present invention further improves the efficiency of determining the application resource deployment method by concretizing the resource usage type into stable and periodic types, and determining the stable application resource deployment method as a mixed resource deployment method, and the periodic application resource deployment method as an elastic scaling deployment method.

[0083] Based on the above embodiments, the present invention also provides a preferred embodiment of a method for recommending and deploying application resources. Figure 3 The recommended deployment method for application resources shown is applicable to data centers and includes:

[0084] S310: Obtain historical resource usage data.

[0085] Specifically, the resource monitoring system may be used to query the application to be recommended for historical resource usage data corresponding to the application template.

[0086] For example, the system monitoring alarm framework can be used to query historical resource usage data such as CPU usage, memory usage, and I / O usage of the application to be recommended in the past month.

[0087] S320: Computational resource intensive type.

[0088] Specifically, the first phase calculates the raw resource utilization of the recommended application. The second phase normalizes the raw resource utilization. The third phase, based on the normalized raw resource utilization, determines the resource-intensive type of the recommended application.

[0089] For example, the formula for calculating the original resource utilization of the application to be recommended in the first stage is:

[0090] Original resource utilization = resource usage of resource type / resource usage of the largest node in the cluster;

[0091] Among them, the resource usage of a resource type is the average resource usage of the recommended application in this resource type in the past three days; the resource usage of the cluster's maximum node is the maximum average resource usage of this resource type by a single cluster node in a cluster in the past three days; among them, the cluster's maximum node is the cluster node corresponding to the maximum average resource usage of this resource type in a cluster in the past three days.

[0092] The normalization process in the second stage can use maximum and minimum normalization to linearly transform the original resource utilization into the interval [0,1] to obtain the target resource utilization.

[0093] In the third stage, the resource-intensive type of the recommended application is determined by comparing the target resource utilization rates of resource types in different dimensions and selecting the resource type with the highest target resource utilization rate as the resource-intensive type. Optionally, if there are multiple highest target resource utilization rates, there can be multiple resource-intensive types. The resource-intensive type can be used to indicate which resource type in the recommended application is more resource-intensive. For example, the resource-intensive type may include CPU-intensive or memory-intensive.

[0094] S330: Determine the resource usage type.

[0095] Specifically, the applications to be recommended may be classified into different resource usage types according to changes in historical resource usage data.

[0096] For example, based on the changes in CPU and memory usage, recommended applications can be categorized as either stable or periodic. For example, a stable type can indicate that resource usage fluctuates little throughout the day, while a periodic type can indicate that CPU or memory usage spikes periodically.

[0097] S340: Comprehensively determine a recommended deployment method for application resources of the application to be recommended.

[0098] Specifically, for high-priority applications, the traditional deployment method can be recommended by default; for low-priority applications, the resource-intensive type and resource usage type can be comprehensively considered to derive the recommended deployment mode for application resources.

[0099] For example, for stable applications to be recommended, a resource colocation deployment method can be recommended. This means that resource colocation technology can be used to configure a colocation switch so that the recommended application can reuse high-level application resources.

[0100] For example, periodic applications to be recommended can be deployed using elastic scaling. This means that elastic scaling technology can be used to adjust application resources. Adjustment methods can include automatic or manual scaling. Optionally, automatic scaling can automatically trigger an increase in application resources when the application load of the recommended application increases to ensure the normal operation of the recommended application; and automatically trigger a decrease in application resources when the application load decreases to free up idle resources. Optionally, the increase or decrease of application resources for the recommended application can also be manually triggered to meet the needs of the recommended application.

[0101] For another example, the resource usage type of the application to be recommended may be determined based on the target historical resource usage data corresponding to the resource-intensive type of the application to be recommended. The application resource recommendation deployment mode of the application to be recommended may be determined based on the resource usage type to be recommended.

[0102] S350: Display and notify the recommended application rectification.

[0103] The data center can display the application resource usage of the recommended application. It can notify the recommended application of the recommended application resource deployment method based on the data center's recommendation, and confirm and correct the recommended application resource deployment model for the recommended application.

[0104] This solution is based on the historical resource usage of the actual application resources, calculates the resource-intensive type and resource usage type of the application, combines the application priority, and comprehensively derives the recommended application resource deployment method. It further notifies the application to make rectifications and adjustments, and recommends appropriate application resource deployment methods based on the specific situation of the application. It overcomes the shortcomings of low resource utilization and insufficient flexibility in existing technologies, and to a certain extent improves resource utilization and the flexibility of application resource recommendation deployment.

[0105] Example 3

[0106] Figure 4 This is a schematic diagram of the structure of an application resource recommendation and deployment device provided in Example 3 of the present invention. This embodiment of the present invention is applicable to situations where a data center is used to determine a recommended application resource deployment method. The device can execute an application resource recommendation and deployment method. The device can be implemented in hardware and / or software and can be configured in an electronic device that carries the application resource recommendation and deployment function, such as a data center.

[0107] See also Figure 4The application resource recommendation and deployment device shown is applied to a data center and includes: a historical resource usage data acquisition module 410, a resource-intensive type determination module 420, a resource usage type determination module 430, and a recommended deployment method determination module 440. The historical resource usage data acquisition module 410 is used to acquire the historical resource usage data of the application to be recommended; the resource-intensive type determination module 420 is used to determine the resource-intensive type of the application to be recommended and the corresponding target historical resource usage data based on the historical resource usage data of the application to be recommended; the resource usage type determination module 430 is used to determine the resource usage type of the resource-intensive type based on the target historical resource usage data corresponding to the resource-intensive type; and the recommended deployment method determination module 440 is used to determine the recommended application resource deployment method of the application to be recommended based on the resource usage type of the resource-intensive type, and provide feedback to the application to be recommended.

[0108] The technical solution of the embodiment of the present invention determines the resource-intensive type and target historical resource usage data of the application to be recommended based on the historical resource usage data of the application to be recommended, determines the resource usage type corresponding to the resource-intensive type based on the target historical resource usage data, and then determines the application resource recommendation deployment method of the application to be recommended, which is fed back to the application to be recommended by the data center. The resource intensity and resource changes of the application to be recommended are taken into consideration, and the obtained application resource recommendation method of the application to be recommended is more compatible with the application to be recommended, thereby improving the resource utilization and flexibility of the application resource deployment method.

[0109] In an optional embodiment of the present invention, the resource usage type includes a steady type and a periodic type; accordingly, the recommended deployment method determination module 440 includes: a resource mixed deployment method determination unit, used to determine that the recommended deployment method of the application resources of the to-be-recommended application is a resource mixed deployment method when the resource usage type of the resource-intensive type is a steady type; and an elastic scaling deployment method determination unit, used to determine that the recommended deployment method of the application resources of the to-be-recommended application is an elastic scaling deployment method when the resource usage type of the resource-intensive type is a periodic type.

[0110] In an optional embodiment of the present invention, the device further includes: a co-location switch configuration module for the application to be recommended, configured to configure a co-location switch after determining that the recommended application resource deployment mode for the application to be recommended is a resource co-location deployment mode and providing feedback to the application to be recommended; the co-location switch is configured to reuse idle application resources of other applications.

[0111] In an optional embodiment of the present invention, the device also includes: a first application resource adjustment module for the application to be recommended, which is used to automatically increase the application resources of the application to be recommended when it is detected that the application load of the application to be recommended increases after determining that the recommended deployment mode of the application resources of the application to be recommended is an elastic scaling deployment mode and feeding back to the application to be recommended; and a second application resource adjustment module for the application to be recommended, which is used to automatically reduce the application resources of the application to be recommended when it is detected that the application load of the application to be recommended decreases.

[0112] In an optional embodiment of the present invention, the device also includes: an application priority determination module, which is used to obtain the application priority of the application to be recommended before obtaining the historical resource usage data of the application to be recommended; a traditional deployment method determination module, which is used to determine that the application resource recommendation deployment method of the application to be recommended is a traditional deployment method when the application to be recommended is a high-priority application; the historical resource usage data acquisition module 410 includes: a historical resource usage data acquisition unit, which is used to obtain the historical resource usage data of the application to be recommended when the application to be recommended is a low-priority application.

[0113] In an optional embodiment of the present invention, the resource-intensive type determination module 420 includes: an original resource utilization calculation unit, which is used to calculate the original resource utilization of the resource type in a single dimension based on the resource usage of the resource type in the historical resource usage data of the application to be recommended and the resource usage of the largest node in the cluster; an original resource utilization determination unit, which is used to normalize the original resource utilization of each resource type to obtain the target resource utilization of each resource type; and a resource-intensive type determination unit, which is used to compare the target resource utilization of each resource type to determine the resource-intensive type of the application to be recommended.

[0114] The application resource recommendation and deployment device provided in the embodiment of the present invention can execute the application resource recommendation and deployment method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0115] In the technical solution of the embodiment of the present invention, the collected information is information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data comply with the relevant laws, regulations and standards of the relevant countries and regions, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0116] Example 4

[0117] According to an embodiment of the present invention, the present invention further provides an electronic device, a readable storage medium and a computer program product.

[0118] Figure 5 A schematic diagram of the structure of an electronic device 500 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0119] like Figure 5 As shown, the electronic device 500 includes at least one processor 501, and a memory connected to the at least one processor 501 in communication, such as a read-only memory (ROM) 502, a random access memory (RAM) 503, etc., wherein the memory stores a computer program that can be executed by the at least one processor, and the processor 501 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 502 or the computer program loaded from the storage unit 508 into the random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic device 500 can also be stored. The processor 501, ROM 502 and RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0120] Multiple components in the electronic device 500 are connected to the I / O interface 505, including: an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a magnetic disk, an optical disk, etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the electronic device 500 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0121] The processor 501 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of the processor 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors that run machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 501 executes the various methods and processes described above, such as the application resource recommendation deployment method.

[0122] In some embodiments, the application resource recommendation deployment method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the processor 501, one or more steps of the application resource recommendation deployment method described above can be performed. Alternatively, in other embodiments, the processor 501 can be configured to execute the application resource recommendation deployment method in any other appropriate manner (for example, by means of firmware).

[0123] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0124] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program may be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0125] In the context of the present invention, computer-readable storage media can be tangible media that can contain or store a computer program for use with an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Computer-readable storage media can include but are not limited to electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, computer-readable storage media can be machine-readable signal media. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0126] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0127] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0128] A computing system may include clients and servers. The clients and servers are generally remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within a cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS (Virtual Private Server) services.

[0129] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.

[0130] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.

Claims

1. A method for recommending and deploying application resources, characterized in that: Applied to a data center, the method includes: Obtain historical resource usage data of the application to be recommended; Determining the resource-intensive type of the application to be recommended and the corresponding target historical resource usage data according to the historical resource usage data of the application to be recommended; determining a resource usage type of the resource-intensive type according to target historical resource usage data corresponding to the resource-intensive type; Determine a recommended deployment mode of application resources for the application to be recommended according to the resource usage type of the resource-intensive type, and provide feedback to the application to be recommended.

2. The method according to claim 1, characterized in that The resource usage types include steady type and periodic type; Accordingly, determining the recommended deployment mode of application resources for the application to be recommended according to the resource usage type of the resource-intensive type includes: When the resource usage type of the resource-intensive type is a stable type, determining that the recommended deployment mode of the application resources of the to-be-recommended application is a resource co-location deployment mode; When the resource usage type of the resource-intensive type is a periodic type, it is determined that the recommended deployment mode of the application resources of the to-be-recommended application is an elastic scaling deployment mode.

3. The method according to claim 2, characterized in that After determining that the recommended deployment mode of application resources of the application to be recommended is a mixed resource deployment mode and providing feedback to the application to be recommended, the method further includes: Configure the colocation switch based on the recommended application. Idle application resources of other applications are reused through the colocation switch of the application to be recommended.

4. The method according to claim 2, characterized in that After determining that the recommended deployment mode of the application resources of the application to be recommended is the elastic scaling deployment mode and providing feedback to the application to be recommended, the method further includes: When detecting, through the application to be recommended, an increase in the application load of the application to be recommended, automatically increasing the application resources of the application to be recommended; When it is detected through the application to be recommended that the application load of the application to be recommended is reduced, the application resources of the application to be recommended are automatically reduced.

5. The method according to claim 1, wherein Before obtaining the historical resource usage data of the application to be recommended, the method further includes: Get the application priority of the application to be recommended; When the application to be recommended is a high-priority application, determining that the recommended deployment mode of application resources of the application to be recommended is a traditional deployment mode; The step of obtaining historical resource usage data of the application to be recommended includes: When the application to be recommended is a low-priority application, historical resource usage data of the application to be recommended is obtained.

6. The method according to claim 1, wherein The determining the resource-intensive type of the application to be recommended based on the historical resource usage data of the application to be recommended includes: For a resource type of a single dimension, the original resource utilization rate of the resource type is calculated based on the resource usage of the resource type in the historical resource usage data of the application to be recommended and the resource usage of the largest node in the cluster; Normalizing the original resource utilization of each resource type to obtain the target resource utilization of each resource type; The target resource utilization rates of the resource types are compared to determine the resource-intensive type of the application to be recommended.

7. An application resource recommendation and deployment device, characterized in that: Applied to a data center, the device includes: A historical resource usage data acquisition module is used to obtain historical resource usage data of the application to be recommended; a resource-intensive type determination module, configured to determine the resource-intensive type of the application to be recommended and the corresponding target historical resource usage data based on the historical resource usage data of the application to be recommended; a resource usage type determination module, configured to determine a resource usage type of the resource-intensive type according to target historical resource usage data corresponding to the resource-intensive type; The recommended deployment mode determination module is used to determine the recommended deployment mode of application resources of the application to be recommended according to the resource usage type of the resource-intensive type, and provide feedback to the application to be recommended.

8. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the application resource recommendation and deployment method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the application resource recommendation and deployment method according to any one of claims 1 to 6 when executed.

10. A computer program product, characterized in that The computer program product includes a computer program, and when the computer program is executed by a processor, the computer program implements the application resource recommendation and deployment method according to any one of claims 1 to 6.