Methods, systems, and processors for determining node deployment locations

By using automated tools to collect and analyze status data, the deployment location of target nodes is determined, solving the problem of uneven node deployment and achieving efficient and balanced node deployment.

CN116599835BActive Publication Date: 2025-10-28INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310539863.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-12
Publication Date
2025-10-28
Estimated Expiration
2043-05-12

AI Technical Summary

Technical Problem

The uneven node deployment in existing technologies results in low node deployment efficiency and fails to meet high availability requirements.

Method used

By obtaining planning requests, the system automatically collects status data using information collection units. Based on the status data and configuration strategy data, it determines the deployment location of target nodes and uses automated tools to calculate deployment strategies, thereby achieving automatic analysis and deployment of nodes.

Benefits of technology

It achieves balanced and efficient node deployment, improves the efficiency of node deployment, and meets the deployment needs of cloud environments in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116599835B_ABST
    Figure CN116599835B_ABST
Patent Text Reader

Abstract

This application discloses a method, system, and processor for determining node deployment locations. Relating to the field of operation and maintenance technology, the method includes: obtaining a planning request from a target object, wherein the planning request is used to request a target deployment location for a target node in a target application of the target object; responding to the planning request, obtaining status data collected by an information collection unit, wherein the status data is used to determine the usage status of a deployment area and / or the status information of the target application; based on the status data, determining the target deployment location of the target node in the deployment area; and deploying the target node at the target deployment location. This application solves the technical problem of uneven node deployment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of operation and maintenance technology, and more specifically, to a method, system, and processor for determining the deployment location of nodes. Background Technology

[0002] Currently, cloud environment provisioning is the foundation of production and operation systems, and the efficiency and methods of cloud environment provisioning play a crucial role in the entire provisioning process.

[0003] In related technologies, the deployment and setup of nodes are usually done manually, which leads to the technical problem of uneven node deployment.

[0004] There is currently no effective solution to the technical problem of uneven node deployment. Summary of the Invention

[0005] This application provides a method, system, and processor for determining node deployment locations to address the technical problem of uneven node deployment.

[0006] According to one aspect of this application, a method for determining the deployment location of a node is provided. The method may include: obtaining a planning request from a target object, wherein the planning request is used to request a target deployment location for a target node in a target application of the target object; in response to the planning request, obtaining status data collected by an information collection unit, wherein the status data is used to determine the usage status of a deployment area and the status information of the target application; determining the target deployment location of the target node in the deployment area based on the status data; and deploying the target node at the target deployment location.

[0007] Optionally, based on the status data, the target deployment location of the target node in the deployment area is determined, including: obtaining configuration policy data; and determining the target deployment location based on the configuration policy data and the status data.

[0008] Optionally, determining the target deployment location based on configuration policy data and status data includes: determining the target deployment area corresponding to the target node in the configuration policy data; determining the variance value corresponding to each target deployment sub-area in the target deployment area based on the resource data of the deployment area in the status data, wherein the target deployment area includes target deployment sub-areas; and determining the target deployment location based on the variance value corresponding to each target deployment sub-area.

[0009] Optionally, based on the resource data of the deployment area in the status data, the variance value corresponding to each target deployment sub-region in the target deployment area is determined, including: determining the number of nodes deployed in each target deployment sub-region in the resource data; determining the average number of nodes deployed in each target deployment sub-region based on the number of nodes deployed in each target deployment sub-region; and determining the variance value corresponding to the target deployment sub-region based on the number of target deployment sub-regions, the number of nodes in the target deployment sub-regions, and the average number of nodes deployed in the target deployment sub-regions.

[0010] Optionally, the target deployment location is determined based on the variance value corresponding to each target deployment sub-region, including: determining the minimum variance value among the variance values ​​corresponding to each target deployment sub-region; and determining the target deployment sub-region corresponding to the minimum variance value as the target deployment location.

[0011] Optionally, determining the target deployment location based on the variance value corresponding to each target deployment sub-region includes: sorting the variance values ​​corresponding to each target deployment sub-region from largest to smallest to obtain a sorting result; displaying the location of the target deployment sub-region corresponding to the variance value of the target position in the sorting result in the display interface of the target object; and determining the target deployment sub-region corresponding to the selection operation of the target object as the target deployment location in response to the selection operation of the target object in the display interface.

[0012] Optionally, the target deployment location can be displayed in a table format in the target object's display interface; the target deployment location can be modified in response to the target object's modification command.

[0013] Optionally, in response to a planning request, the status data collected by the information collection unit is obtained, including: in response to a planning request triggered by a target object, the status information of the target application, the performance data of the deployment area, and the resource data of the deployment area collected by the information collection unit.

[0014] According to another method of this application, another system for determining the deployment location of a node is also provided. This system may include: an information acquisition unit, configured to acquire status data in response to a planning request from a target object, wherein the planning request requests the target deployment location of a target node in a target application of the target object, and the status data is used to determine the usage status of the deployment area and / or the status information of the target application; and an analysis unit, configured to determine the target deployment location of the target node in the deployment area based on the status data, wherein the target deployment location is used to deploy the target node.

[0015] Optionally, the information collection unit includes: a configuration management module for collecting status information of the target application; a performance and capacity module for collecting performance data of the deployment area; and a resource distribution module for collecting resource information of the deployment area.

[0016] According to another method of this application, another device for determining the deployment location of a node is also provided. The device includes: a first acquisition unit for acquiring a planning request from a target object, wherein the planning request requests a target deployment location for a target node in a target application of the target object; a second acquisition unit for acquiring status data collected by an information acquisition unit in response to the planning request, wherein the status data is used to determine the usage status of the deployment area and the status information of the target application; a determination unit for determining the target deployment location of the target node in the deployment area based on the status data; and a deployment unit for deploying the target node at the target deployment location.

[0017] According to another aspect of the present invention, a processor is also provided, which is used to run a program, wherein the program executes a method for determining the deployment location of nodes during runtime.

[0018] According to another aspect of the present invention, an electronic device is also provided, comprising one or more processors and a memory; the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors execute a method for determining the deployment location of a node.

[0019] This application employs the following steps: obtaining a planning request from a target object, wherein the planning request requests the target deployment location of a target node in the target application of the target object; responding to the planning request, obtaining status data collected by an information collection unit, wherein the status data is used to determine the usage status of the deployment area and the status information of the target application; based on the status data, determining the target deployment location of the target node in the deployment area; and deploying the target node at the target deployment location. In other words, in this application, when a planning request is received from a target object, status data can be automatically collected by an information collection unit. Based on the status data, the target deployment location of the target node can be determined, thereby enabling the use of automated tools to automatically analyze the node deployment location and calculate deployment strategies, thus solving the technical problem of uneven node deployment and achieving the technical effect of balanced node deployment. Attached Figure Description

[0020] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments and descriptions of this application are used to explain this application and do not constitute an undue limitation of this application. In the drawings:

[0021] Figure 1 This is a flowchart of a method for determining the deployment location of a node according to an embodiment of this application;

[0022] Figure 2 This is a schematic diagram of a system for determining the deployment location of a node according to an embodiment of this application;

[0023] Figure 3 This is a schematic diagram of a node deployment based on related technologies;

[0024] Figure 4 This is a schematic diagram of an automatic resource supply system for a data center cloud environment according to an embodiment of this application;

[0025] Figure 5 This is a flowchart of an automatic node deployment method provided according to an embodiment of this application;

[0026] Figure 6 This is a schematic diagram of a node deployment according to an embodiment of this application;

[0027] Figure 7 This is a schematic diagram of a device for determining the deployment location of a node according to an embodiment of this application;

[0028] Figure 8 This is a hardware structure block diagram of an electronic device (or mobile device) for determining the node deployment location according to an embodiment of the present invention. Detailed Implementation

[0029] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0030] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, every other embodiment obtained by those skilled in the art without creative effort should fall within the scope of protection of the present application.

[0031] It should be noted that the terms "first," "second," etc., used in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be used interchangeably where appropriate for the embodiments of this application described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0032] For ease of description, the following explains some of the nouns or terms used in the embodiments of this application:

[0033] Multi-campus refers to data centers located in multiple locations, with deployment environments in each location;

[0034] The application name can be used to represent various self-defined applications (application, or app for short);

[0035] Node names can refer to different nodes within an application. For example, node names can be database nodes, application nodes, network file system (NFS) nodes, etc.

[0036] A cluster can be a group of servers that are managed together and participate in workload management; it can contain nodes or a single application server.

[0037] A node can be a physical computer system with different hosts running one or more application servers.

[0038] Example 1

[0039] It should be noted that the method and apparatus for determining the node deployment location in this application can be used in the field of operation and maintenance technology when deploying nodes, and can also be used in any field other than operation and maintenance technology when deploying nodes. The application field of the method for determining the node deployment location in this application is not limited.

[0040] The present invention will now be described in conjunction with preferred implementation steps.

[0041] To address the technical problem of uneven node deployment, this application provides an embodiment of a method for determining node deployment locations. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0042] Figure 1 This is a flowchart of a method for determining the deployment location of a node according to an embodiment of this application, such as... Figure 1 As shown, the method includes the following steps:

[0043] Step S102: Obtain a planning request from the target object, wherein the planning request is used to request the target deployment location of the target node in the target application of the target object;

[0044] Step S104: In response to the planning request, obtain the status data collected by the information collection unit, wherein the status data is used to determine the usage status of the deployment area and / or the status information of the target application;

[0045] Step S106: Based on the status data, determine the target deployment location of the target node in the deployment area;

[0046] Step S108: Deploy the target node at the target deployment location.

[0047] Through the above steps, when a target object wants to deploy a target node of the target application, it can issue a planning request. The environment setup process management system can obtain the planning request from the target object. In response to the planning request, it can obtain the status data collected by the information collection unit. Based on the status data, it can determine the usage status of the deployment area where the node can be deployed and the status information of the target application. Based on the usage status of the deployment area and the status information of the target application, it can determine the target deployment location of the target node in the deployment area and deploy the target node at the target deployment location. The planning request can be triggered by the target object and can be used to request the target deployment location of the target node in the target application of the target object. The target object can be a user, staff, programmers, etc., or an object that develops or uses the target application; no specific restrictions are placed on the target object here. The target application can be an application program, which can include multiple nodes. Nodes in the target application can be called target nodes; for example, target nodes can be data block nodes, application nodes, etc. No specific restrictions are placed on the type of target application here.

[0048] In this embodiment, in response to a planning request from the target object, status data collected by the information collection unit can be obtained. The information collection unit can be used to collect and organize the data. The status data can be used to determine the usage status of the deployment area and / or the status information of the target application. For example, the status data may include the utilization rate of the deployment area, used resources, and the distribution of used node locations, etc. This is only an example and no specific limitations are imposed on the status data. The deployment area can be a region used to deploy nodes, such as a cluster, servers in a data center or campus, network segments, etc. This is only an example and no specific limitations are imposed on the deployment area. The status information of the target application may include the application's high availability status information, master / slave relationship, node relationship, node types in the target application, distribution addresses, etc. This is only an example and no specific limitations are imposed on the status information.

[0049] Optionally, the target deployment location of the target node in the deployment area can be determined based on the status information, and the target node can be deployed at the target deployment location. The target deployment location can be used to deploy the target node of the target application, or to deploy resources; for example, the target deployment location can include a data center location, a cluster location, etc.

[0050] When deploying nodes, manual deployment can lead to low efficiency and may result in unsuitable environment allocation and setup for high availability. In this application, the environment setup process management system controls the information collection unit to collect status information. By analyzing the status information, the system determines the target deployment information for the target node and identifies the target deployment location based on this information. The system can then build or install the corresponding resources or target node at the target deployment location, thereby improving the efficiency of node deployment and achieving a balanced deployment of nodes.

[0051] For example, a planning request from a target object can be obtained. In response to the planning request, information such as the resource usage of parks A, B, and C, the usage of clusters D, E, and F, and the number of nodes in the target application can be obtained from the information collection unit, thus obtaining status data. Analyzing the status information, the target deployment information that the target nodes can be deployed in the deployment area can be determined. Based on the target deployment information (such as network settings and cluster distribution), it can be determined that the target deployment location of target node G is on cluster D in park A, and the target deployment location of target node F is on cluster E in park C. Therefore, target node G can be deployed on cluster D in park A, and target node F can be deployed on cluster E in park C.

[0052] For another example, the target object can issue a planning request by triggering a space in the display interface to request the deployment of the target node of the target application. In response to the planning request, the node deployment device can acquire status data collected by the information acquisition unit, analyze the status data to determine the possible locations for the target node in the deployment area, and display the possible deployment locations of the target node in the target object's display interface. The target object can choose whether to place the target node at the determined target deployment location. If the target object decides to place the target node at the target deployment location, then the target node can be deployed at the target deployment location.

[0053] In this application, a planning request is obtained from a target object, wherein the planning request requests the target deployment location of a target node in the target application of the target object; in response to the planning request, status data collected by an information collection unit is obtained, wherein the status data is used to determine the usage status of the deployment area and the status information of the target application; based on the status data, the target deployment location of the target node in the deployment area is determined; and the target node is deployed at the target deployment location. That is, in this application, when a planning request is obtained from a target object, status data can be automatically collected by an information collection unit, and the target deployment location of the target node can be determined based on the status data. This allows for the use of automated tools to automatically analyze the node deployment location and calculate deployment strategies, thereby solving the technical problem of uneven node deployment and achieving the technical effect of balanced node deployment.

[0054] The embodiments of the present invention will now be described in detail with reference to the steps described above.

[0055] As an optional embodiment, step S106, determining the target deployment location of the target node in the deployment area based on the status data, includes: obtaining configuration policy data; and determining the target deployment location based on the configuration policy data and the status data.

[0056] In this embodiment, configuration policy data can be obtained, and the target deployment location can be determined based on the configuration policy data and status data. The configuration policy data can be pre-defined according to actual needs, such as a multi-campus deployment policy for the central hub, a primary / backup relationship policy, or a policy specifying the region where nodes want to be deployed. This is merely an example, and no specific restrictions are imposed on the configuration policy data.

[0057] Optionally, configuration policy data pre-set according to actual needs can be obtained, and the target deployment location that conforms to the configuration policy data can be determined based on the configuration policy data and status data.

[0058] Optionally, environment deployment needs to follow certain rules, and configuration policy data for environment deployment can be preset. By obtaining the configuration policy data and based on the configuration policy data and status data, the target deployment location can be determined.

[0059] For example, based on the configuration strategy data of the multi-campus deployment in the center, it can be determined that target node 1 of target application a needs to be deployed in campus 1 and target node 2 of target application a needs to be deployed in campus 2. According to the primary and backup relationship, the primary and backup machines need to be set in different clusters respectively. Thus, based on the status data such as the usage of campuses and clusters in the deployment area, the appropriate target deployment location can be determined.

[0060] In this embodiment, configuration strategy data can be customized according to actual needs, realizing dynamic configuration of configuration strategies. This makes the method suitable for cloud environment deployment in complex environments, thereby achieving the technical effect of improving the applicability of the method.

[0061] As an optional embodiment, determining the target deployment location based on configuration policy data and status data includes: determining the target deployment area corresponding to the target node in the configuration policy data; determining the variance value corresponding to each target deployment sub-area in the target deployment area based on the resource data of the deployment area in the status data, wherein the target deployment area includes target deployment sub-areas; and determining the target deployment location based on the variance value corresponding to each target deployment sub-area.

[0062] In this embodiment, by acquiring configuration policy data, the target deployment region corresponding to the target node in the configuration policy data can be determined. Resource data for each deployment sub-region within the target deployment region is determined from the resource information of the deployment region in the status data. Based on the resource data of each deployment sub-region, the variance value of the target deployment sub-region is determined. Based on the variance value corresponding to the target deployment sub-region, the target deployment location is determined. The target deployment region can be the park where the target node wants to be deployed. The park includes at least one cluster resource (referred to as a cluster). The target deployment sub-region can be a cluster included in the target deployment region. The variance value can be used to measure the usage of nodes in the target deployment sub-region; for example, a larger variance value indicates that more nodes are being used in the target deployment sub-region. The resource data can be used to characterize the amount of resources in the deployment region, the resource usage of the deployment region, the number of deployed nodes, etc. This is only an example and does not impose specific limitations on the content of the resource data.

[0063] For example, when a planning request is received from a target object, the information collection unit collects status data of the deployment area and the target application. It can acquire the status data and configuration policy data collected by the information collection unit. Based on the target deployment area corresponding to the target node set in the configuration policy data, it can acquire the status data of the target deployment area from the status data. Based on the resource information of the deployment area in the status data, it can determine the resource data of the target deployment sub-area. Based on the resource data of the target deployment sub-area, it can determine the variance value corresponding to each target deployment sub-area in the target deployment area. Based on the variance value corresponding to each target deployment sub-area, it can determine the target deployment location of the target node.

[0064] For example, when a planning request is received from a target object, in response to the planning request, status data collected by the acquisition unit can be obtained, along with configuration strategy data. Based on the configuration strategy data, it can be determined that target node 1 of target application a needs to be deployed in the target deployment area of ​​park 1, and target node 2 needs to be deployed in the target deployment area of ​​park 2. Resource data of the target deployment areas is obtained from the status data. Based on the resource data of the target deployment areas, the usage of each target deployment sub-area within the target deployment area can be determined. This allows the determination of the variance value corresponding to each target deployment sub-area after target node 1 is placed. Based on the variance value, the target deployment position of target node 1 within the target deployment sub-area can be determined. Furthermore, based on the placement of target node 1, the variance value corresponding to each target deployment sub-area for target node 2 can be determined. Based on the variance value, the target deployment position of target node 2 within the target deployment sub-area can be determined.

[0065] In this embodiment, after determining the target deployment area, the deployed nodes in the target deployment area can be identified based on the resource usage of that area. Based on the resource allocation strategy, an exhaustive search method can be used to traverse the available resources (which can be the target deployment area itself) within the target deployment area. Based on the variance of the target deployment sub-region, the target deployment location is determined, and the target node is placed at that location. In other words, this embodiment of the application avoids resource waste and node clustering by calculating the variance value of the target deployment sub-region, thereby achieving the technical effect of improving resource utilization.

[0066] As an optional embodiment, based on the resource data of the deployment area in the status data, the variance value corresponding to each target deployment sub-region in the target deployment area is determined, including: determining the number of nodes deployed in each target deployment sub-region in the resource data; determining the average number of nodes deployed in each target deployment sub-region based on the number of nodes deployed in each target deployment sub-region; and determining the variance value corresponding to the target deployment sub-region based on the number of target deployment sub-regions, the number of nodes in the target deployment sub-regions, and the average number of nodes deployed in the target deployment sub-regions.

[0067] In this embodiment, the number of nodes deployed in each target deployment sub-region in the resource data can be determined. Based on the number of nodes deployed in each target deployment sub-region, the average number of nodes deployed in each target deployment sub-region can be determined. Based on the number of target deployment sub-regions, the number of nodes in the target deployment sub-regions, and the average number of nodes deployed in the target deployment sub-regions, the variance value corresponding to the target deployment sub-regions can be determined.

[0068] Alternatively, the variance value corresponding to the target deployment sub-region can be determined using the following formula;

[0069]

[0070] Among them, s i 2 x can be the variance value corresponding to cluster i; x can be the average number of nodes deployed in each cluster. i This can be the number of nodes in cluster i after the target node is deployed, and n can be the number of clusters in the target deployment area.

[0071] For example, suppose target application s needs to deploy two new target nodes. Currently, multiple nodes are distributed across multiple clusters. The target nodes need to be deployed to a specific cluster. The target deployment location can be determined based on the variance value corresponding to the target deployment sub-region. Based on configuration policy data, it can be determined that target node 1 of target application s needs to be deployed in cluster 1, and target node 2 needs to be deployed in cluster 2. By obtaining resource data from the target deployment area in the status data, it is determined that the number of target deployment sub-regions in the target deployment area is 2. The number of nodes already deployed (or simply the number of nodes) in target deployment sub-region (cluster) a in cluster 1 is 3, and the number of nodes already deployed in cluster b is 1. Therefore, the average number of nodes already deployed in each target deployment sub-region is determined to be 2. It can be determined that if target node 1 is placed in cluster a, the number of nodes in cluster a becomes 4. The variance value corresponding to cluster a is determined to be... The variance value corresponding to cluster b is If the variance of cluster b is less than that of cluster a, it can be determined that cluster b has more remaining slots, and therefore cluster b can be identified as the target deployment location. Following the same method used to determine target node 1, the target deployment location of target node 2 within park 2 can be determined.

[0072] As an optional embodiment, determining the target deployment location based on the variance value corresponding to each target deployment sub-region includes: determining the minimum variance value among the variance values ​​corresponding to each target deployment sub-region; and determining the target deployment sub-region corresponding to the minimum variance value as the target deployment location.

[0073] In this embodiment, the minimum variance value among the variance values ​​corresponding to each target deployment sub-region can be determined, and the target deployment sub-region corresponding to the minimum variance value can be determined as the target deployment location.

[0074] Optionally, the smaller the variance value, the more undeployed nodes there are in the deployment sub-region (cluster). In this case, the target node can be deployed in the target deployment sub-region corresponding to the minimum variance value. The target deployment sub-region corresponding to the minimum variance value can be determined as the target deployment location, thereby achieving the purpose of load balancing.

[0075] For example, suppose target application b needs to deploy a new target node. Currently, there are multiple nodes distributed in multiple clusters. If a node is randomly deployed to a certain cluster, the variance value corresponding to each cluster can be calculated. The cluster with the smallest variance value in the cluster can be determined as the target deployment location for the target node.

[0076] For another example, suppose we need to distribute the nodes evenly across data centers or multiple campuses. We would use an exhaustive search to iterate through each data center or campus and place the new node there. Then, we would calculate the variance for each data center or campus. Target application b needs to deploy one new target node. Currently, multiple nodes are distributed across multiple data centers. Assuming this target node is randomly deployed to a particular data center, the variance for data center b can be calculated using the following formula:

[0077]

[0078] Where s2 is the variance of data center 2, and y is the average number of nodes deployed in each data center. i 'n' represents the current number of nodes in data center 2, and 'n' represents the total number of data centers. By analogy, we can obtain the variance value for each data center. We can then determine the minimum variance value among all the variance values ​​for each data center, and identify the data center corresponding to the minimum variance value as the target deployment location for the target node.

[0079] In this embodiment, to accurately measure the usage of each deployment area and obtain resource data for that area, the system determines the number of deployed nodes and remaining undeployed resources in the target deployment sub-area based on the resource data. It then determines the variance of each target deployment sub-area based on the deployed node data and the average number of nodes in each sub-area (i.e., the average number of nodes). Finally, it determines the target deployment location within the deployment area based on the variance. In other words, this embodiment uses the variance to measure resource usage in the deployment sub-area, thereby more accurately determining the most suitable target deployment location for the target node and solving the technical problem of uneven resource deployment.

[0080] It should be noted that selecting the target deployment sub-region corresponding to the smallest variance value is only one of the implementation methods in this embodiment. Alternatively, target deployment sub-regions corresponding to the variance values ​​of the target number can be selected for the target object to choose from, so as to determine the target deployment location that meets the needs of the target object. The above implementation method is only for illustrative purposes and is not specifically limited here.

[0081] As an optional embodiment, determining the target deployment location based on the variance value corresponding to each target deployment sub-region includes: sorting the variance values ​​corresponding to each target deployment sub-region from largest to smallest to obtain a sorting result; displaying the location of the target deployment sub-region corresponding to the variance value at the target position in the sorting result in the display interface of the target object; and in response to the target object's selection operation on the display interface, determining the target deployment sub-region corresponding to the selection operation as the target deployment location.

[0082] In this embodiment, the variance value corresponding to each target deployment sub-region is determined. These variance values ​​can be sorted from largest to smallest to obtain a sorting result. The position of the target deployment sub-region corresponding to the variance value at the target ranking in the sorting result can be displayed on the target object's display interface. The target object can select the position displayed on the display interface. In response to the target object's selection operation on the display interface, the target deployment sub-region corresponding to the selection operation can be determined as the target deployment position. The target ranking can be a pre-set ranking, for example, a ranking between second and fifth place. This is merely an example, and no specific limitations are made on the content and determination method of the target ranking.

[0083] Optionally, to dynamically configure the deployment of target nodes according to actual conditions, in this embodiment, the target deployment area to be deployed for each target node can be determined based on configuration strategy data. Then, the target deployment sub-areas that meet the deployment conditions within the target deployment area can be measured based on variance values ​​to determine the target deployment location. Alternatively, after determining the variance value corresponding to each target deployment sub-area, the variance values ​​corresponding to all target deployment sub-areas can be sorted from largest to smallest to obtain a sorting result. The position of the target deployment sub-area corresponding to the variance value at the target position in the sorting result can be displayed in the target object's display interface. For example, "Cluster 1 - Variance value 0.5" and "Cluster 2 - Variance value 0.7" can be displayed in the display interface. It should be noted that this is only an example and does not impose specific limitations on the display method of variance values. The target object can select the target deployment sub-area to be deployed from the display interface according to actual needs. For example, the target object can select the target deployment sub-area to be deployed by clicking the display interface control. In response to the target object's selection operation on the display interface, the target deployment sub-area corresponding to the selection operation can be determined as the target deployment location.

[0084] As an optional embodiment, the method further includes: displaying the target deployment location in a table format in the display interface of the target object; and modifying the target deployment location in response to a modification instruction from the target object.

[0085] In this embodiment, when the target object wants to modify the target deployment location, it can select the modification command in the display interface. In response to the modification command of the target object, the target deployment location of the target node can be modified.

[0086] In this embodiment, not only can the target sub-region that meets the conditions be directly determined by the variance value, but the target deployment location can also be determined based on the selection operation of the target point object. The target object can also modify the determined target deployment location, so that the node construction is more in line with the needs of cloud environment deployment in complex environments. Furthermore, the location of the target node can be adaptively modified as the application is updated, thereby achieving the technical effect of improving the deployment efficiency of the node.

[0087] If a batch of tasks can only be deployed within a single cluster, cross-cluster load balancing cannot be achieved. Although the distribution of a single task within a cluster can achieve load balancing at the compute node level, in a distributed architecture, even for the same application, the number of servers is large, and the environment is built in multiple batches. The environment setup cannot adapt to system software upgrades and application version updates. In this embodiment, considering where each batch of servers should be deployed, we cannot only look at the deployment of a single batch but must consider the overall picture. Therefore, when the target object wants to modify the target deployment location, it can modify the target deployment location displayed on the interface. Responding to the modification command issued by the target object, the target deployment location of the target node can be modified, thereby achieving the beneficial effect that the environment setup can adapt to system software upgrades and application version updates. Furthermore, in the context of multiple data centers and multiple campuses, the high availability deployment of applications should not be limited to a single cluster, but should achieve load balancing at the data center level. For example, if a batch of target nodes can only be deployed in the same cluster, it cannot meet the high availability requirements of multi-campus deployment in data centers. In the embodiments of this application, configuration policy data can be set. By setting configuration policy data, the target nodes in the target application can be deployed in multiple clusters or in a set cluster, thereby achieving the goal of meeting the high availability requirements of multi-campus deployment in data centers.

[0088] As an optional embodiment, in response to a planning request, the status data collected by the information collection unit is acquired, including: in response to a planning request triggered by a target object, the status information of the target application, the performance data of the deployment area, and the resource data of the deployment area collected by the information collection unit.

[0089] In this embodiment, when a target object wants to deploy a target node in a target application, it can trigger a planning request. In response to the target object triggering the planning request, the information collection unit can automatically collect the target application's status information, the deployment area's performance data, and the deployment area's resource data. The target application's status information can include all high-availability status information, such as master-slave relationships, node types, and distribution addresses. This is merely an example and no specific limitations are imposed on the target application's status information. The deployment area's performance data can include the performance data of each server, such as file system usage and read / write performance. This is also merely an example and no specific limitations are imposed on the deployment area's performance data. The deployment area's resource data can include the number of deployed nodes, used resources, and available resources. This is also merely an example and no specific limitations are imposed on the resource data.

[0090] For example, the information acquisition unit (also known as an information acquisition device) can be used to collect, organize, and store the data required for resource analysis. The information acquisition unit can interface with the configuration management system (CMDB) to collect all high availability status information for each application, including master-slave relationships, node types, and distribution addresses. The information acquisition unit can interface with the performance and capacity management platform to obtain performance data for each server, including CPU utilization, file system utilization, and read / write performance. The information acquisition unit can interface with the resource distribution system to obtain current cluster information, including used resources and available resources.

[0091] In this embodiment, resource data can be acquired through an information acquisition device, and the analysis device can analyze and calculate the real-time data to determine the scenarios required for building new resources (target nodes). This analysis can include information such as data center location, network settings, and cluster distribution. The target object (e.g., an operator) can then build the corresponding resources at specific locations based on this information.

[0092] Optionally, target entities can submit deployment requirements and add them to the database. The resource assessment system can output the target deployment locations, such as the scenario, network segment, and cluster distribution required for building the new environment. Target entities can automatically or manually build the environment based on specific deployment elements. The built environment (i.e., the environment with the target nodes deployed) is then inspected to verify identity information, login information, server type, and other indicators.

[0093] In this embodiment of the application, when a planning request is received from the target object, status data can be automatically collected by the information collection unit. Based on the status data, the target deployment location of the target node can be determined. Thus, automated tools can be used to automatically analyze the node deployment location and calculate the deployment strategy, thereby solving the technical problem of uneven node deployment and achieving the technical effect of balanced node deployment.

[0094] Example 2

[0095] Figure 2 This is a schematic diagram of a node deployment location determination system provided in an embodiment of this application, such as... Figure 2 As shown, the system for determining the node deployment location may include: an information acquisition unit 202 and an analysis unit 204.

[0096] Information acquisition unit 202 is used to collect status data in response to a planning request from a target object. The planning request is used to request the target deployment location of the target node in the target application of the target object, and the status data is used to determine the usage status of the deployment area and the status information of the target application.

[0097] Analysis unit 204 is used to determine the target deployment location of the target node in the deployment area based on status data, wherein the target deployment location is used to deploy the target node.

[0098] In this embodiment, the analysis unit can be used to analyze the status data to determine the target deployment location of the target node in the deployment area.

[0099] For example, the analysis unit can analyze status data such as application name, server type, master-slave relationship, and resource status, and determine the target deployment location of the target node in the deployment area based on configuration strategy data and a pre-set variance calculation formula.

[0100] Optionally, the acquisition unit 202 may include a configuration management module for acquiring the status information of the target application; a performance and capacity module for acquiring the performance data of the deployment area; and a resource distribution module for acquiring the resource information of the deployment area.

[0101] For example, the information acquisition unit can be used to collect, organize, and store the data required for resource analysis. The information acquisition unit may include a configuration management module (also known as a configuration management system), which can collect status information of the target application, including master-slave relationships, node types, and distribution addresses. The information acquisition unit may also include a performance and capacity module (also known as a performance and capacity management platform), which can obtain performance data for each server, such as CPU utilization, file system utilization, and read / write performance. Finally, the information acquisition unit may include a resource distribution module (also known as a resource distribution system), which can obtain current cluster information, including used resources and available resources.

[0102] In this embodiment, an information acquisition unit collects status data in response to a planning request from a target object. The planning request requests the target deployment location of a target node in the target application of the target object, and the status data is used to determine the usage status of the deployment area and the status information of the target application. An analysis unit determines the target deployment location of the target node in the deployment area based on the status data. The target deployment location is used to deploy the target node, thereby solving the technical problem of uneven node deployment and achieving the technical effect of balanced node deployment.

[0103] Example 3

[0104] The following describes in detail another optional implementation method.

[0105] Cloud environment provisioning is the foundation of production operations and maintenance systems, and its efficiency and methods play a crucial role in the entire provisioning process. Effective cloud environment provisioning methods can improve the efficiency of operations and maintenance personnel and avoid redundancy and inefficiency in manual environment partitioning.

[0106] Currently, in cloud environment provisioning, environment setup is usually implemented by the system. However, when setting up environments in batches, it is necessary to manually determine which cluster to build on in order to meet the high availability policy rules. This method of manually determining cluster allocation has the problem of low efficiency when dealing with a large number of environment provisioning servers. Furthermore, manual operation may result in environment allocation and setup that do not meet high availability requirements, leading to system redundancy or insufficient supply.

[0107] Figure 3 This is a schematic diagram of a node deployment based on related technologies, such as... Figure 3 As shown, when nodes a and b need to be deployed in two clusters, cluster A and cluster B, the single-batch, single-time load balancing strategy will deploy node a in cluster A and node b in cluster B. In this case, a total of four nodes are deployed in cluster A and two nodes are deployed in cluster B. It can be seen that although single-batch deployment conforms to the load balancing strategy, it will lead to the technical problem of overall deployment imbalance.

[0108] Meanwhile, in the current cloud environment setup process, the same batch of tasks (which can be nodes) can only be deployed within a single cluster, making it impossible to achieve cross-cluster load balancing. Although the distribution of a single task within a cluster can achieve load balancing deployment at the computing node level, in a distributed architecture, even for the same application, there are a large number of nodes. Environment setup requires multiple batches, and the setup method needs to be updated with system software upgrades and application version iterations. Therefore, when setting up the environment, the location of each batch of servers should not be considered based on a single batch deployment, but rather on a global perspective.

[0109] However, in the context of multiple data centers in multiple locations and campuses, the high availability deployment of applications should not be limited to a single cluster. For example, deploying a batch of tasks in the same cluster does not meet the high availability requirements of multi-campus data center deployment. The node deployment method needs to achieve load balancing at the data center level.

[0110] To address the aforementioned technical issues, this application proposes an efficient method and system for automatic planning and provisioning of cross-data center cloud environment resources. Resource data is acquired through an information acquisition device, and the real-time data is analyzed and calculated by an analysis device to identify the scenarios required for building new resources (target nodes). This analysis may include information such as data center location, network settings, and cluster distribution. The target entity (e.g., operators) can then use this information to build the corresponding resources at specific locations, thereby achieving automatic handling and allocation of cloud environment resources, thus improving provisioning efficiency and the efficiency of configuring and using resource nodes.

[0111] Figure 4 This is a schematic diagram of an automatic resource provisioning system for a data center cloud environment according to an embodiment of this application, such as... Figure 4 As shown, the automatic resource provisioning system for data center cloud environments may include a demand input device 401, an information acquisition device 402, an analysis device 403, a configuration strategy module 404, and an output module 405. The acquisition device may include a configuration management system, a performance and capacity system, and a resource distribution system.

[0112] Figure 5 This is a flowchart illustrating an automatic node deployment method according to an embodiment of this application. Automatic node deployment may include several stages: user requirement environment submission, resource assessment, review, setup, delivery, and acceptance. Figure 5 As shown, the steps may include the following.

[0113] Step S501: The target object submits its requirements.

[0114] In this embodiment, the target object can initiate a planning request to submit deployment requirements and add them to the database.

[0115] Optionally, the requirements for the new environment can be collected and recorded using a requirements input device. These requirements may include application name, node name, server type, master / slave relationship, required network segment, operating system requirements, and file system requirements.

[0116] In step S502, in response to the request submitted by the target object, the information collection device collects resource data.

[0117] In this embodiment, in response to a request submitted by the target object, the information collection device can be controlled to collect resource data.

[0118] Optionally, the information acquisition unit (also known as an information acquisition device) can be used to collect, organize, and store the data required for resource analysis. The information acquisition unit can interface with the configuration management system (CMDB) to collect all high availability status information for each application, including master-slave relationships, node types, and distribution addresses. The information acquisition unit can interface with the performance and capacity management platform to obtain performance data for each server, including CPU utilization, file system utilization, and read / write performance. The information acquisition unit can interface with the resource distribution system to obtain current cluster information, including used resources and available resources.

[0119] Step S503: Obtain input data and perform resource assessment.

[0120] In this embodiment, in response to a request submitted by the target object, the target object's requirement data and resource data can be used as input data for the resource analysis device, which can then analyze the input data. The resource assessment system can then output the target deployment locations, such as the scenario, network segment, and cluster distribution required for building the new environment.

[0121] Optionally, the resource analysis device (also known as the analysis unit) can analyze status data such as application name, server type, master-slave relationship, and resource status, and determine the target deployment location of the target node in the deployment area based on configuration strategy data and a pre-set variance calculation formula.

[0122] Optionally, environment deployment needs to follow certain rules, and configuration policy data for environment deployment can be preset. By obtaining the configuration policy data and based on the configuration policy data and status data, the target deployment location can be determined.

[0123] For example, based on the configuration strategy data of the multi-campus deployment in the center, it can be determined that target node 1 of target application a needs to be deployed in campus 1 and target node 2 of target application a needs to be deployed in campus 2. According to the primary and backup relationship, the primary and backup machines need to be set in different clusters respectively. Thus, based on the status data such as the usage of campuses and clusters in the deployment area, the appropriate target deployment location can be determined.

[0124] In this embodiment, configuration strategy data can be customized according to actual needs, realizing dynamic configuration of configuration strategies. This makes the method suitable for cloud environment deployment in complex environments, thereby achieving the technical effect of improving the applicability of the method.

[0125] In this embodiment, a mathematical calculation model can be constructed. Once the target deployment area is determined, the deployed nodes in the target deployment area can be identified based on the resource usage of that area. Based on the resource allocation strategy, an exhaustive search method can be used to traverse the available resources (which can be the target deployment area itself) within the target deployment area. Based on the variance value of the target deployment sub-region, the target deployment location is determined, and the target node is placed at that location. In other words, this embodiment avoids resource waste and node clustering by calculating the variance value of the target deployment sub-region, thereby achieving the technical effect of improving resource utilization.

[0126] Alternatively, the variance value corresponding to the target deployment sub-region can be determined using the following formula;

[0127]

[0128] Among them, s i 2 x can be the variance value corresponding to cluster i; x can be the average number of nodes deployed in each cluster. i This can be the number of nodes in cluster i after the target node is deployed, and n can be the number of clusters in the target deployment area.

[0129] For example, suppose target application s needs to deploy two new target nodes. Currently, multiple nodes are distributed across multiple clusters. The target nodes need to be deployed to a specific cluster. The target deployment location can be determined based on the variance value corresponding to the target deployment sub-region. Based on configuration policy data, it can be determined that target node 1 of target application s needs to be deployed in cluster 1, and target node 2 needs to be deployed in cluster 2. By obtaining resource data from the target deployment area in the status data, it is determined that the number of target deployment sub-regions in the target deployment area is 2. The number of nodes already deployed (or simply the number of nodes) in target deployment sub-region (cluster) a in cluster 1 is 3, and the number of nodes already deployed in cluster b is 1. Therefore, the average number of nodes already deployed in each target deployment sub-region is determined to be 2. It can be determined that if target node 1 is placed in cluster a, the number of nodes in cluster a becomes 4. The variance value corresponding to cluster a is determined to be... The variance value corresponding to cluster b is If the variance of cluster b is less than that of cluster a, it can be determined that cluster b has more remaining slots, and therefore cluster b can be identified as the target deployment location. Following the same method used to determine target node 1, the target deployment location of target node 2 within park 2 can be determined.

[0130] For another example, suppose we need to distribute the nodes evenly across data centers or multiple campuses. We would use an exhaustive search to iterate through each data center or campus and place the new node there. Then, we would calculate the variance for each data center or campus. Target application b needs to deploy one new target node. Currently, multiple nodes are distributed across multiple data centers. Assuming this target node is randomly deployed to a particular data center, the variance for data center b can be calculated using the following formula:

[0131]

[0132] Where s2 is the variance of data center 2, and y is the average number of nodes deployed in each data center. i 'n' represents the current number of nodes in data center 2, and 'n' represents the total number of data centers. By analogy, we can obtain the variance value for each data center. We can then determine the minimum variance value among all the variance values ​​for each data center, and identify the data center corresponding to the minimum variance value as the target deployment location for the target node.

[0133] In this embodiment, when considering two scenarios, the variance value can be determined using the following formula, which allows us to determine the target deployment location based on the deployment situation corresponding to the minimum variance value:

[0134]

[0135] in, It can be used to characterize the average variance of two scenarios.

[0136] Figure 6 This is a schematic diagram of a node deployment according to an embodiment of this application, such as... Figure 6 As shown, cluster A has 3 nodes and cluster B has 1 node. Based on the variance value, it can be determined that the target deployment location is in cluster B, thus achieving the goal of balanced deployment.

[0137] For example, when it is necessary to deploy two or more nodes, you can first determine the deployment status of the first scenario. Based on the deployment status in the first step, you can then follow the above method to determine the target deployment locations of the two or more nodes in sequence.

[0138] For example, when there are multiple nodes to be deployed, we can first determine the deployment location of the first node in the data center resource distribution scenario S. Adding the deployment of the first node, we output the data center resource distribution scenario Q with the first node deployed. Following the same method, we determine the target deployment location of the second node in data center resource distribution scenario Q and deploy it there, resulting in a new data center resource distribution scenario H. Similarly, we can determine the target deployment location of the third node in data center resource distribution scenario H and deploy it there, resulting in another new data center resource distribution scenario Q. If there are more nodes, this process can be repeated sequentially; further details are omitted here.

[0139] In this embodiment, the computational model can be dynamically configured with influencing factors. In addition to the above-mentioned cluster and data center configuration items, other factors that need to be considered for environment deployment can also be added. Finally, the output information can be similar to the table below. Table 1 is the output data information table. As shown in Table 1, it can be determined that the target deployment area of ​​node a is the intersection of cluster A and network segment A in park A, and the primary / backup type of node a is primary; it can be determined that the target deployment area of ​​node b is the intersection of cluster B and network segment B in park B, and the primary / backup type of node b is backup.

[0140] Table 1 Output Data Information Table

[0141] node park Cluster network segment Primary / backup type a Park A Cluster A Network segment A host b Park B Cluster B B network segment Preparation

[0142] Step S504: Set up the environment based on the output data.

[0143] In this embodiment, after importing the output data table into the cloud environment building platform, the environment can be built according to the target deployment area of ​​the target node in the output data table.

[0144] Optionally, the target object can automatically or manually build the environment based on specific building elements.

[0145] Step S505: Accept the completed data.

[0146] In this embodiment, the built environment (i.e., the environment in which the target node is deployed) can be inspected to verify various indicators such as identity information, login information, and server type.

[0147] This invention achieves automated analysis and deployment strategy calculation for cloud environment deployment through automated tools, saving manpower and improving efficiency. By fully calculating various factors, the output results meet the requirements of a high-availability architecture, thereby improving resource utilization, avoiding clustered deployments, and eliminating idle resources. Through custom configuration, the configuration strategy and calculation model can be dynamically configured according to the actual situation, achieving the effect of meeting the needs of cloud environment deployment in complex environments.

[0148] In this embodiment of the application, when a planning request is received from the target object, status data can be automatically collected by the information collection unit. Based on the status data, the target deployment location of the target node can be determined. Thus, automated tools can be used to automatically analyze the node deployment location and calculate the deployment strategy, thereby solving the technical problem of uneven node deployment and achieving the technical effect of balanced node deployment.

[0149] Example 4

[0150] This application also provides a device for determining the node deployment location. It should be noted that the device for determining the node deployment location in this application can be used to perform... Figure 1 This application provides a method for determining node deployment locations. The following describes the apparatus for determining node deployment locations provided in this application.

[0151] Figure 7 This is a schematic diagram of a device for determining the deployment location of a node according to an embodiment of this application. Figure 7 As shown, the device may include: a first acquisition unit 702, a second acquisition unit 704, a determination unit 706, and a deployment unit 708.

[0152] The first acquisition unit 702 is used to acquire a planning request from the target object, wherein the planning request is used to request the target deployment location of the target node in the target application of the target object.

[0153] The second acquisition unit 704 is used to acquire status data collected by the information acquisition unit in response to a planning request. The status data is used to determine the usage status of the deployment area and the status information of the target application.

[0154] The determining unit 706 is used to determine the target deployment location of the target node in the deployment area based on the status data;

[0155] Deployment unit 708 is used to deploy the target node at the target deployment location.

[0156] The node deployment location determination device provided in this application embodiment acquires a planning request from a target object through a first acquisition unit, wherein the planning request is used to request the target deployment location of a target node in the target application of the target object; in response to the planning request, a second acquisition unit acquires status data collected by an information collection unit, wherein the status data is used to determine the usage status of the deployment area and the status information of the target application; and a determination unit determines the target deployment location of the target node in the deployment area based on the status data; and deploys the target node at the target deployment location, thereby enabling the use of automated tools to automatically analyze the node deployment location and calculate deployment strategies, thus solving the technical problem of unbalanced node deployment and achieving the technical effect of balanced node deployment.

[0157] The device for determining the deployment location of the aforementioned nodes may also include a processor and a memory. All of the aforementioned units are stored in the memory as program units, and the processor executes the aforementioned program units stored in the memory to realize the corresponding functions.

[0158] The aforementioned processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured, and by adjusting kernel parameters, graceful shutdown of devices of the same type awaiting shutdown can be controlled.

[0159] The aforementioned memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0160] This invention provides a computer-readable storage medium storing a program that, when executed by a processor, implements the above-described method for determining the node deployment location.

[0161] This invention provides a processor for running a program, wherein the program executes the above-described method for determining the node deployment location during runtime.

[0162] According to another aspect of the present invention, an electronic device is also provided, including one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the above-described method for determining the node deployment location.

[0163] Figure 8 This is a hardware structure block diagram of an electronic device (or mobile device) for determining a node deployment location according to an embodiment of the present invention. Figure 8As shown, the electronic device may include one or more processors 802 (shown as 802a, 802b, ..., 802n in the figure) 802 (processor 802 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 804 for storing data. In addition, it may include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the I / O interface), a network interface, a keyboard, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 8 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device described above. For example, the electronic device may also include components that are more... Figure 8 The more or fewer components shown, or having the same Figure 8 The different configurations shown.

[0164] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0165] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0166] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0167] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0168] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0169] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0170] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0171] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0172] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0173] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0174] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0175] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for determining the deployment location of a node, characterized in that, include: Obtain a planning request from the target object, wherein the planning request is used to request the target deployment location of the target node in the target application of the target object; In response to the planning request, status data collected by the information collection unit is obtained, wherein the status data is used to determine the usage status of the deployment area and / or the status information of the target application; Based on the status data, the target deployment location of the target node in the deployment area is determined; Deploy the target node at the target deployment location; The step of determining the target deployment location of the target node in the deployment area based on the status data includes: acquiring configuration policy data; determining the target deployment area corresponding to the target node in the configuration policy data, wherein the target deployment area includes target deployment sub-regions; determining the number of nodes deployed in each target deployment sub-region in the target deployment area from the resource data of the deployment area in the status data; determining the average number of nodes deployed in each target deployment sub-region based on the number of nodes deployed in each target deployment sub-region; determining the variance value corresponding to the target deployment sub-region based on the number of target deployment sub-regions, the number of nodes in the target deployment sub-regions, and the average number of nodes deployed in the target deployment sub-regions; and determining the target deployment location based on the variance value corresponding to each target deployment sub-region.

2. The method according to claim 1, characterized in that, Determining the target deployment location based on the variance value corresponding to each target deployment sub-region includes: Determine the minimum variance value among the variance values ​​corresponding to each of the target deployment sub-regions; The target deployment sub-region corresponding to the minimum variance value is determined as the target deployment location.

3. The method according to claim 1, characterized in that, Determining the target deployment location based on the variance value corresponding to each target deployment sub-region includes: The variance values ​​corresponding to each target deployment sub-region are sorted from largest to smallest to obtain the sorting result; The position of the target deployment sub-region corresponding to the variance value located at the target position in the sorting result is displayed in the display interface of the target object; In response to the target object's selection operation on the display interface, the target deployment sub-region corresponding to the selection operation is determined as the target deployment location.

4. The method according to claim 1, characterized in that, The method further includes: The target deployment location is displayed in a table format on the target object's display interface; In response to the modification command of the target object, the target deployment location is modified.

5. The method according to claim 1, characterized in that, In response to the planning request, the status data collected by the information collection unit is obtained, including: In response to the planning request triggered by the target object, the status information of the target application, the performance data of the deployment area, and the resource data of the deployment area collected by the information collection unit are obtained.

6. A system for determining the deployment location of nodes, characterized in that, include: An information acquisition unit is used to collect status data in response to a planning request from a target object, wherein the planning request is used to request the target deployment location of a target node in the target application of the target object, and the status data is used to determine the usage status of the deployment area and the status information of the target application; An analysis unit is configured to determine, based on the status data, the target deployment location of the target node in the deployment area, wherein the target deployment location is used to deploy the target node; The analysis unit is further configured to determine the target deployment location of the target node in the deployment area based on the status data through the following steps: obtaining configuration policy data; determining the target deployment area corresponding to the target node in the configuration policy data, wherein the target deployment area includes target deployment sub-areas; determining the number of nodes deployed in each target deployment sub-area in the target deployment area from the resource data of the deployment area in the status data; determining the average number of nodes deployed in each target deployment sub-area based on the number of nodes deployed in each target deployment sub-area; determining the variance value corresponding to the target deployment sub-area based on the number of target deployment sub-areas, the number of nodes in the target deployment sub-areas, and the average number of nodes deployed in the target deployment sub-areas; and determining the target deployment location based on the variance value corresponding to each target deployment sub-area.

7. The system according to claim 6, characterized in that, The information acquisition unit includes: The configuration management module is used to collect the status information of the target application; The performance capacity module is used to collect performance data of the deployment area; The resource distribution module is used to collect resource information of the deployment area.

8. A processor, characterized in that, The processor is used to run a program, wherein the program executes the method according to any one of claims 1 to 5 when it runs.

Citation Information

Patent Citations

  • Virtual machine deployment method and device

    CN111045790A