Component deployment method, device, electronic device, and computer-readable storage medium

By rationally deploying components based on the network performance requirements of the components and the network performance of the local cloud and central cloud, the problems of local cloud node resource limitation and low remote control reliability in distributed cloud scenarios are solved, and high-reliability cloud services are achieved.

CN114816455BActive Publication Date: 2025-08-08ALIBABA (CHINA) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210501491.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-09
Publication Date
2025-08-08
Estimated Expiration
2042-05-09

AI Technical Summary

Technical Problem

In distributed cloud scenarios, local cloud node resources are limited, making it difficult to achieve high availability design, remote control reliability is low, and network stability and delay requirements are high, resulting in unreliable cloud services.

Method used

According to the network performance requirements of the components and the network performance between the local cloud and the central cloud, determine the deployment location of the components and reasonably deploy the components in the local cloud or central cloud to reduce the management and control overhead of the on-premises cloud and provide high-reliable management and control capabilities.

Benefits of technology

By rationally deploying components, the overhead of the on-premises cloud management and control is reduced, while improving the reliability and stability of cloud services, ensuring high availability of cloud services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114816455B_ABST
    Figure CN114816455B_ABST
Patent Text Reader

Abstract

This application proposes a component deployment method, apparatus, electronic device, and computer-readable storage medium. The method includes: determining N components corresponding to cloud services deployed in a local cloud; and determining the deployment locations of the N components based on the network performance requirements of the N components and the network performance between the local cloud and a central cloud. According to embodiments of the application, highly reliable management and control capabilities can be provided while reducing the management and control overhead of the local cloud.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud computing, and in particular to a component deployment method, device, electronic device, and computer-readable storage medium. Background Art

[0002] In many cloud computing scenarios, especially distributed cloud scenarios, local or external data centers are limited in their environments and scale. Therefore, it's often impossible to deploy all cloud service-related control components, hindering the ability to achieve complete cloud computing high availability. Furthermore, remote control of edge clouds from a central cloud is often necessary, but remote control often suffers from low reliability. Summary of the Invention

[0003] The present application provides a component deployment method, apparatus, electronic device, and computer-readable storage medium to address the problems of related technologies. The technical solutions are as follows:

[0004] In a first aspect, an embodiment of the present application provides a component deployment method, including:

[0005] Determine N components corresponding to the cloud service deployed in the local cloud; where N is an integer greater than or equal to 1;

[0006] Determine the deployment locations of the N components based on their network performance requirements and the network performance between the local cloud and the central cloud.

[0007] In a second aspect, an embodiment of the present application provides a component deployment device, including:

[0008] A component determination module, configured to determine N components corresponding to the cloud service deployed in the local cloud; wherein N is an integer greater than or equal to 1;

[0009] The location determination module is used to determine the deployment locations of N components based on the network performance requirements of the N components and the network performance between the local cloud and the central cloud.

[0010] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory, wherein the processor implements the method provided in any embodiment of the present application when executing the computer program.

[0011] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the method provided in any embodiment of the present application is implemented.

[0012] The technical solution of the embodiment of the present application determines the deployment location of the components related to the cloud services of the local cloud based on the network performance requirements of the components and the network performance between the local cloud and the central cloud, so that the components can be reasonably deployed in the local cloud and the central cloud, providing highly reliable management and control capabilities while reducing the management and control overhead of the local cloud.

[0013] The above summary is for illustrative purposes only and is not intended to be limiting in any way. In addition to the illustrative aspects, embodiments and features described above, further aspects, embodiments and features of the present application will be readily apparent by reference to the accompanying drawings and the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the multiple drawings represent the same or similar components or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments disclosed in this application and should not be construed as limiting the scope of this application.

[0015] Figure 1 It is a schematic diagram of an application scenario of an embodiment of the present application;

[0016] Figure 2 is a flowchart of a component deployment method according to an embodiment of the present application;

[0017] Figure 3 is a schematic diagram of an application example of the component deployment method according to an embodiment of the present application;

[0018] Figure 4 is a structural block diagram of a component deployment device according to an embodiment of the present application;

[0019] Figure 5 It is a structural block diagram of an electronic device used to implement the component deployment method of an embodiment of the present application. DETAILED DESCRIPTION

[0020] Hereinafter, only certain exemplary embodiments are briefly described. As will be appreciated by those skilled in the art, the described embodiments may be modified in various ways without departing from the spirit or scope of the present application. Therefore, the drawings and description are to be regarded as illustrative in nature and not restrictive.

[0021] To facilitate understanding of the technical solutions of the embodiments of the present application, the application scenarios and related technologies of the embodiments of the present application are described below. The following related technologies can be arbitrarily combined with the technical solutions of the embodiments of the present application as optional solutions, and they all fall within the protection scope of the embodiments of the present application.

[0022] Figure 1A schematic diagram of an application scenario of an embodiment of the present application is shown, which is a distributed cloud scenario. Figure 1 As shown in Figure 2, when cloud service providers deploy distributed cloud services, one or more central clouds typically control multiple local cloud nodes, forming a unified distributed cloud architecture. Generally speaking, after determining the cloud services to deploy based on the scale and service requirements of the local cloud, the relevant cloud service components can be determined, including the control components used to implement management and control functions.

[0023] In related technologies, the following solutions can be used to deploy components:

[0024] (1) Deploy all control components in the data center or computer room of the local cloud node to achieve complete control capabilities. The disadvantage of this solution is that it requires high resources from the local cloud node and has low efficiency. At the same time, due to the limited scale of local cloud nodes, it is difficult to achieve high availability design of the local cloud (such as multi-active, multi-replica, master-slave capabilities, etc.). Once a control node fails, control failure will occur, and even the entire local cloud service will not work properly.

[0025] For example, in some exemplary scenarios, to achieve high availability, the components required for cloud services in the local cloud can adopt a master-slave design. Generally, the component's master node is operational, while the slave nodes are inoperative. If the master node experiences a problem, the slave node takes over the service. This master-slave design consumes a significant amount of resources, but local cloud resources are limited, so minimizing the use of these resources is crucial.

[0026] (2) Deploy control components in the central cloud, that is, the central cloud controls the local cloud nodes. This solution places high demands on the stability of the network link between the local cloud and the central cloud. Once a network failure occurs, the cloud services deployed in the local computer room will not work. At the same time, it also places high demands on the network latency between the central cloud and the local cloud, which will further put pressure on the network bandwidth.

[0027] In order to solve the above technical problems, the embodiment of the present application adopts a component deployment device to determine the deployment location of each component based on the network performance requirements of the component and the network performance between the local cloud and the central cloud. Figure 1 As shown, the component deployment device can be independent of the local cloud and the central cloud. Optionally, the component deployment device can also be a node in the local cloud or a node in the central cloud.

[0028] In order to provide a more detailed understanding of the features and technical content of the embodiments of this application, the following describes the cloud service components. For example, the cloud service components can be divided into three categories:

[0029] Category 1 components: Components that need to be deployed in the local cloud. Once it is determined that the local cloud needs to provide relevant cloud services, these components must be deployed in the local cloud. These components are primarily runtime-dependent components or essential control components required for local management and control. They must be deployed in the local cloud data center to maintain basic operational use of the local cloud data center. Examples of these components are operating nodes for cloud services deployed in the local cloud data center, such as virtualization hosts, block storage nodes, load balancing nodes, and local physical device management / control nodes. Because these components are locally dependent, they must be deployed in the local cloud and can adopt normal high-availability design solutions.

[0030] Category 2 components: These are special components that can be deployed in either the local cloud or the central cloud. They function normally through the network between the central cloud and the local cloud. Examples of these components include the liveness detection component for elastic cloud hosts and the liveness detection component for load balancing.

[0031] Category 3 components: These components must be deployed in the central cloud. Because the central cloud has abundant resources, they can achieve high availability in the central cloud. Examples of these components include unified management and control components for relational databases and unified billing system components.

[0032] It should be noted that the examples of various components above are for illustrative purposes only. The various components can be determined based on the actual application situation and the actual technical architecture, and the division of various components is not completely fixed. For example, the first-category components under different situations or different technical architectures may be different, or the same component under different situations or different technical architectures may be a first-category component, a second-category component, or a third-category component. Those skilled in the art can determine this based on the actual scenario.

[0033] The technical solution of the embodiment of the present application can be used to deploy components for the second type of components. The implementation of the embodiment of the present application is described in detail below with reference to the accompanying drawings, which are for reference only and are not intended to limit the embodiment of the present application.

[0034] Figure 2 1 shows a flow chart of a component deployment method according to an embodiment of the present application. The method can optionally be executed by the above-mentioned component deployment device, but is not limited thereto. Figure 2 As shown, the component deployment method may include:

[0035] S210. Determine N components corresponding to the cloud service deployed in the local cloud, where N is an integer greater than or equal to 1.

[0036] S220. Determine the deployment locations of the N components based on the network performance requirements of the N components and the network performance between the local cloud and the central cloud.

[0037] For example, the local cloud in the embodiments of this application may refer to a cloud data center close to the application side in a distributed cloud architecture, which can be used to enable the application side to access cloud services nearby. The central cloud may refer to a cloud data center at the core of the distributed cloud architecture, which has more resources and more powerful computing capabilities.

[0038] Optionally, step S210 may be performed after determining the cloud services deployed in the local cloud. Specifically, the cloud services required for deployment in the local cloud may be determined based on the node scale and requirements of the local cloud. Cloud services include, but are not limited to, ECS (Elastic Compute Service), EBS (Elastic Block Store), OSS (Object Storage Service), SLS (Simple Log Service), and RDS (Relational Database Service).

[0039] For example, in the embodiments of this application, the components corresponding to a cloud service may refer to the functional components used to build the cloud service. Different cloud services may correspond to different components. Taking ECS as an example, its corresponding components may include instances, images, block storage, snapshots, security groups, etc.

[0040] Optionally, in step S210, the N components may include all or part of the management and control components corresponding to the cloud services deployed in the local cloud. For example, the N components may include components that have no restrictions on deployment location, such as components that can be deployed in both the local cloud and the central cloud, i.e., the second category of components, such as the elastic cloud host liveness detection component and the load balancing liveness detection component.

[0041] For example, the network performance requirements of a component may refer to the component's requirements for network QoS (Quality of Service), which may be specifically expressed using threshold values of certain performance parameters. Such performance parameters may include network latency, network bandwidth, etc., and the network performance requirements may be expressed using the maximum latency allowed by the component, the minimum bandwidth required by the component, etc. Correspondingly, the network performance between the local cloud and the central cloud may also be expressed using the above-mentioned performance parameters, such as network latency, network bandwidth, etc.

[0042] According to the above method, for components related to the cloud services of the local cloud, the deployment location of the components will be determined based on the network performance requirements of the components and the network performance between the local cloud and the central cloud.

[0043] In some scenarios, the overall deployment location can be determined for N components. For example, if the network performance between the local cloud and the central cloud can meet the overall network performance requirements of the N components (for example, it can meet the total bandwidth required by the N components), then all N components can be deployed in the central cloud. If the network performance between the local cloud and the central cloud cannot meet the overall network performance requirements of the N components, then all N components can be deployed in the local cloud.

[0044] In other scenarios, the deployment location can also be determined for each component. For example, if the network performance between the local cloud and the central cloud meets the component's network performance requirements, the component can be deployed in the central cloud. If the network performance between the local cloud and the central cloud does not meet the component's network performance requirements, the component can be deployed in the local cloud.

[0045] Since the above method takes into account the actual network performance and the network performance requirements of the components when determining the deployment location of the components, it is possible to deploy components that do not require local reliance in the central cloud and ensure that the network performance meets the stability requirements of the components, thereby reducing the management and control overhead of the local cloud while providing highly reliable management and control capabilities.

[0046] Optionally, in step S220, based on the network performance requirements of the N components and the network performance between the local cloud and the central cloud, determining the deployment locations of the N components may include:

[0047] In response to a network performance requirement of a first component among the N components meeting a first condition, determining that the deployment location of the first component includes a central cloud; wherein the first condition is related to the network performance between the local cloud and the central cloud.

[0048] According to the above optional solution, a first condition related to the network performance between the local cloud and the central cloud can be pre-set. This condition is then used to determine whether the first component's deployment location includes the central cloud. Pre-screening components that meet the conditions and confirming their deployment in the central cloud helps ensure the stability of components deployed in the central cloud. Deployment locations for other components can be determined separately.

[0049] Exemplarily, the first component may represent any one of the N components, or a specific one of the N components. For example, for each of the N components, if the network performance requirements of the component meet the first condition, the deployment location of the component is determined to include the central cloud. In other words, the first condition is used to determine whether the component is deployed in the central cloud for each component. For another example, different conditions may be used to determine whether the component is deployed in the central cloud based on the component type.

[0050] For example, the first condition may include at least one of the following:

[0051] The maximum latency allowed by the component is greater than or equal to a first threshold value, where the first threshold value is determined based on the network latency between the local cloud and the central cloud;

[0052] The minimum bandwidth required by the component is less than or equal to a second threshold value, and the second threshold value is determined based on the network bandwidth between the local cloud and the central cloud.

[0053] Optionally, the network delay between the local cloud and the central cloud can be directly used as the first threshold value, and the network bandwidth between the local cloud and the central cloud can be used as the second threshold value. Considering the need to reserve bandwidth for the transmission of application data, a preset first factor can be used to control the remote control bandwidth within a certain range, that is, the second threshold value can be obtained based on the network bandwidth between the local cloud and the central cloud and the first factor. For example, the first factor is 0.1, and the product of the network bandwidth between the local cloud and the central cloud and the first factor is used as the second threshold value, thereby controlling the bandwidth occupied by the control component to within 10% of the total bandwidth.

[0054] In some exemplary embodiments, each component may be configured with a scaling factor for latency and / or bandwidth, so that different thresholds can be used to determine deployment locations based on the sensitivity of different components to latency and / or bandwidth. For example, the first threshold may be determined based on network latency and a second factor (latency sensitivity factor) configured for the component; the second threshold may be determined based on network bandwidth and a third factor (bandwidth occupancy factor) configured for the component.

[0055] For example, for components that are more sensitive to delay, a larger delay sensitivity factor can be configured, such as a delay sensitivity factor of 2. If the network delay is 100ms (milliseconds), the first threshold value is 200ms. Only when the maximum delay allowed by the component is greater than or equal to 200ms can the component be deployed in the central cloud. For components that are not sensitive to delay, a smaller delay sensitivity factor can be configured, such as a delay sensitivity factor of 1. If the network delay is 100ms, the first threshold value is 100ms. As long as the maximum delay allowed by the component is greater than or equal to 100ms, the component can be considered for deployment in the central cloud.

[0056] Optionally, for components whose deployment locations include the central cloud, embodiments of the present application also provide a specific deployment solution for a master-slave design. Specifically, based on the network performance requirements of the N components and the network performance between the local cloud and the central cloud, the deployment locations of the N components are determined, and the following is also included:

[0057] Based on the components whose deployment locations include the central cloud among the N components, a target component set is obtained;

[0058] Select M components from the target component set; wherein the sum of the minimum bandwidths required by the M components is less than or equal to a third threshold value, and M is a positive integer less than or equal to N;

[0059] Determine that the deployment location of the master nodes of the M components is the central cloud, and the deployment location of the slave nodes of the M components is the central cloud or the local cloud.

[0060] Specifically, the first condition described above can be applied to each of the N components to determine whether their deployment location includes the central cloud. Components whose deployment location includes the central cloud can be considered target components, thereby obtaining a target component set based on all target components in the N components. Furthermore, based on the minimum bandwidth required by each target component, M components can be selected. The sum of the minimum bandwidth required by these M components must be less than or equal to the third threshold.

[0061] Optionally, M components can be selected in a variety of ways, for example, randomly selected from the target component set, or selected from small to large based on the minimum bandwidth required by each component in the target component set. Each time a component is selected, it is calculated whether the sum of the minimum bandwidths required by the selected components is less than or equal to a third threshold value. If it is less than or equal to the third threshold value, the next component can be selected; if it is greater than the third threshold value, the component is discarded, and the selection of components is ended, thereby controlling the sum of the minimum bandwidths required by the selected components to be within the third threshold value. For the M selected components, their master nodes can be deployed in the central cloud, and their slave nodes can be deployed in the central cloud or the local cloud.

[0062] According to the above optional solution, the total bandwidth required by the components of all master nodes deployed in the central cloud can be limited to within the third threshold value, thereby avoiding excessive pressure on the bandwidth when multiple components occupy the bandwidth at the same time.

[0063] Optionally, based on the network performance requirements of the N components and the network performance between the local cloud and the central cloud, determining the deployment locations of the N components may also include:

[0064] Determine that the deployment location of the master nodes of the other components except the M components in the target component set is the local cloud, and the deployment location of the slave nodes of the other components is the central cloud.

[0065] According to this optional solution, for components not selected in the target component set, their master nodes can be deployed in the local cloud, and their slave nodes can be deployed in the central cloud. Since slave nodes are generally inactive and only take over when the master node fails (with a low probability), deploying slave nodes in the central cloud only temporarily occupies a portion of the bandwidth between the local cloud and the central cloud. Under normal operation, this does not increase bandwidth pressure, thereby fully utilizing the resources of the central cloud and ensuring the stability of component operation.

[0066] Optionally, the third threshold value can be determined based on the network bandwidth between the local cloud and the central cloud and a preset first factor. For example, if the first factor is 0.1, the product of the network bandwidth between the local cloud and the central cloud and the first factor is used as the third threshold value, thereby controlling the total bandwidth occupied by the control components to within 10% of the total bandwidth.

[0067] Optionally, the embodiment of the present application also provides a deployment solution for components that do not meet the first condition. Specifically, the above step S220, based on the network performance requirements of the N components and the network performance between the local cloud and the central cloud, determines the deployment locations of the N components, and may also include:

[0068] In response to a network performance requirement of a second component among the N components not meeting the first condition, it is determined that the deployment location of the second component does not include the central cloud.

[0069] According to the above optional scheme, when the network performance requirements of the second component do not meet the first condition, determining that the deployment location of the second component does not include the central cloud or determining that the deployment location of the second component is only the local cloud can avoid deploying unsuitable components to the central cloud and ensure the stability of the component operation.

[0070] The second component may be the same component as the first component, or a component different from the first component. For example, the second component may be any one of the N components, or a specific one of the N components.

[0071] Optionally, for a component whose deployment location includes a local cloud, such as the second component described above, determining that the deployment location of the second component includes the local cloud may include:

[0072] Determine that the deployment location of the master node of the second component and the deployment location of the slave node of the second component are both the local cloud.

[0073] That is to say, when the network performance requirements of the component do not meet the first condition, the master and slave nodes of the component are not deployed in the central cloud, thereby ensuring that the master and slave nodes of the component have sufficient reliability.

[0074] In order to more clearly present the technical ideas of this application, a specific application example is provided below. In this application example, Figure 3 As shown, the component deployment method includes the following stages:

[0075] Phase 1: Based on the scale and needs of the local cloud, determine the cloud services that need to be deployed on the local cloud, including but not limited to ECS, EBS, OSS, SLS, and RDS. After determining the cloud services to be deployed, determine the first, second, and third category components.

[0076] Phase 2: Deploy the first type of components in the local cloud and the third type of components in the central cloud. Specifically, the master and slave nodes of the first type of components are deployed in the local cloud. The master and slave nodes of the third type of components are deployed in the central cloud. For the second type of components, they can be deployed in the local cloud or in the central cloud, but it needs to be determined based on the network conditions. Specifically, first determine the network latency and bandwidth between the local cloud and the central cloud. For each component in the second type of components, when the network latency and network bandwidth meet the requirements of the central cloud deployment, determine that the component can be considered for deployment in the central cloud. In this way, the components that can be considered for central cloud deployment are determined, and then combined with the overall bandwidth requirements of these components, the master-slave deployment (or master-slave deployment) of the local cloud and the central cloud is carried out.

[0077] Specifically, the deployment method of the second type of components is as follows:

[0078] Assume that set O is the set of second-category components that need to be deployed on the local cloud node N, which includes n components. The network delay from the local node N to the central cloud is T N , bandwidth is W N .w i is the minimum bandwidth requirement of component i in set O (i.e. the minimum bandwidth required), t j is the delay tolerance requirement of component j in set O (i.e., the maximum allowed delay).

[0079] In the local cloud node N, the set of components in set O that meet the latency requirements is:

[0080]

[0081] Among them, t j is the delay tolerance requirement of component j, β j is the delay sensitivity factor (second factor) of component j, which can be set according to the application situation. If the delay is more sensitive, it can be set higher.

[0082] In the local cloud node N, the set of components in set O that meet the bandwidth requirements is:

[0083]

[0084] Among them, w i is the minimum bandwidth requirement of component i, α i is the bandwidth occupancy factor (third factor) of component i, which can be set according to the application. Components with higher bandwidth requirements can set a smaller α i , to reduce the impact on bandwidth. P and Q are both subsets of set O.

[0085] Then the set of the second type of components deployed in the central cloud can be considered to be S:

[0086] S=P∩Q;

[0087] The remaining second-category components must deploy both master and slave nodes in the local cloud, and their collection is the OS.

[0088] Furthermore, if the master nodes of all components are deployed in the central cloud, it will put a greater pressure on the network. Based on this, in this application example, the master nodes of the components in the subset R of the set S are deployed in the central cloud. The set R is:

[0089]

[0090] Among them, w k is the minimum bandwidth requirement of component k, γ N It is a constant not greater than 1, which can be understood as the bandwidth ratio that can be occupied by the remote control capability of each local cloud node. Different values can be set according to individual needs. When the bandwidth is abundant, it can be set larger. Generally, α i ≤γ N ≤1. Based on this, the total bandwidth required by the control components of all master nodes deployed in the central cloud can be limited to no more than γ N W N Each component in the set R is deployed in the central cloud using the master node, and the slave nodes (also called standby nodes) can be deployed in the central cloud or local cloud depending on the situation.

[0091] For components in set S other than those in set R, the master node can be deployed in the local cloud, while the backup node can be deployed in the central cloud. That is, the set of components V that needs to deploy the master node in the local cloud and the backup node in the central cloud is:

[0092] V=SR.

[0093] When the master node is deployed in local cloud N, it does not occupy any additional bandwidth between the central cloud and the local cloud under normal operation. However, if the control node in the local cloud fails (with a low probability), the backup node deployed in the central cloud can quickly take over, temporarily occupying some bandwidth between the central cloud and the local cloud.

[0094] The following uses three local cloud deployments as examples for explanation.

[0095] Local cloud 1: latency to the central cloud is T1 = 100 ms (large), bandwidth is W1 = 10 G (large).

[0096] Local cloud 2: latency to the central cloud is T2 = 10 ms (relatively low), and bandwidth is W2 = 1 Gb (relatively low).

[0097] Local cloud 3: latency to the central cloud T3 = 20ms (medium), bandwidth W3 = 2G (medium).

[0098] Assume that the bandwidth occupied by various remote control systems of each local cloud does not exceed 10% of the total bandwidth, that is, γ N =0.1.

[0099] For local cloud 1, assume that local cloud 1 needs to deploy two second-category components:

[0100] a) Component 1 occupies a large amount of network bandwidth (w1 = 100M) but is not sensitive to latency (t1 = 150ms). The corresponding bandwidth occupancy factor α1 = 0.1 and the latency sensitivity factor β1 = 1. Therefore, w1 < α1 * W1 = 1000M, t1 > β1 * T1 = 100ms. In this case, component 1 can be deployed in the central cloud for remote management and control.

[0101] b) Component 2 has a relatively high latency requirement (t2 = 30ms) and a small single-bandwidth occupancy (w2 = 5M). The corresponding bandwidth occupancy factors are α2 = 0.1 and β2 = 1. Therefore, w2 < α2*W1 = 1000M, but t2 < β2*T1 = 100ms. The latency cannot meet the requirements, so Component 2 needs to be deployed in the local cloud for local management and control.

[0102] c) Component 1 can be deployed in the central cloud, while component 2 must be deployed in the local cloud 1.

[0103] d) For component 1 that can be deployed in the central cloud, since γ2 = 0.1 and the bandwidth occupied by component 1 does not exceed 10% of the total bandwidth, the preferred solution is to deploy component 1 in the central cloud to improve the utilization of local cloud resources (V is an empty set).

[0104] For local cloud 2, assume that local cloud 2 needs to deploy two second-category components:

[0105] a) Component 1 has a large network bandwidth usage (w1 = 100M) and is insensitive to latency (t1 = 150ms). α1 = 0.1, β1 = 1. Therefore, w1 = α1*W2 = 100M, t1 > β1*T2 = 10ms. This part of component 1 can be managed and controlled remotely by deploying it in the central cloud.

[0106] b) Component 2 has a relatively high latency requirement (t2=30ms) and occupies a small single bandwidth (w2=5M). α2=0.1, β2=1, w2<α2*W2=100M, t2>β2*T2=10ms. Component 2 can be deployed in the central cloud for remote management and control.

[0107] c) However, if both master nodes are deployed in the central cloud, assuming γ2 = 0.1, the total bandwidth requirement is: w1 + w2 = 105, which is greater than γ2 * W2 = 100M. Therefore, it is impossible to deploy both master nodes in the central cloud. In this case, the master node of component 1 can be deployed in the local cloud, and the backup node can be deployed in the central cloud. For component 2, the master node can be deployed in the central cloud, and the slave nodes can be deployed in either the local cloud or the central cloud.

[0108] d) In summary, the master node of component 1 needs to be deployed in local cloud 2 for local management and control, while the master node of component 2 can be deployed in the central cloud for remote management and control.

[0109] For local cloud 3: Assume that local cloud 3 needs to deploy two second-category components:

[0110] a) Component 1 occupies a large amount of network bandwidth (w1 = 100M) but is not sensitive to latency (t1 = 150ms). α1 = 0.1, β1 = 1. Therefore, w1 < α1 * W3 = 200M, t1 > β1 * T3 = 20ms. In this case, the master node of component 1 can be deployed in the central cloud for remote management and control.

[0111] b) Component 2 has a relatively high latency requirement (t2 = 30ms), and a small single-bandwidth occupancy (w2 = 5M). α2 = 0.1, β2 = 1, w2 < α2*W3 = 200M, and t2 > β2*T3 = 20ms. Therefore, the master node of component 2 can be deployed in the central cloud for remote management and control.

[0112] c) When both are deployed in the central cloud, the overall bandwidth requirement is w1+w2=105M, which is less than γ3*W3(200M).

[0113] d) In summary, both Component 1 and Component 2 can be deployed in the central cloud for remote management and control.

[0114] It can be seen that according to the method of the embodiment of the present application, for components related to the cloud services of the local cloud, the deployment location of the components will be determined based on the network performance requirements of the components and the network performance between the local cloud and the central cloud, so that each component can be reasonably deployed in the local cloud and the central cloud, while reducing the management and control overhead of the local cloud and providing highly reliable management and control capabilities.

[0115] Corresponding to the application scenario and method of the method provided in the embodiment of the present application, the embodiment of the present application also provides a component deployment device 400. Figure 4 , the apparatus 400 may include:

[0116] The component determination module 410 is configured to determine N components corresponding to the cloud service deployed in the local cloud; wherein N is an integer greater than or equal to 1;

[0117] The location determination module 420 is used to determine the deployment locations of the N components based on the network performance requirements of the N components and the network performance between the local cloud and the central cloud.

[0118] Optionally, the location determination module 420 may include:

[0119] The first location determination unit is used to determine that the deployment location of the first component includes the central cloud in response to the network performance requirement of the first component among N components meeting the first condition; wherein the first condition is related to the network performance between the local cloud and the central cloud.

[0120] Optionally, the first condition includes at least one of the following:

[0121] The maximum latency allowed by the component is greater than or equal to a first threshold value, where the first threshold value is determined based on the network latency between the local cloud and the central cloud;

[0122] The minimum bandwidth required by the component is less than or equal to a second threshold value, and the second threshold value is determined based on the network bandwidth between the local cloud and the central cloud.

[0123] Optionally, the location determination module 420 may further include:

[0124] A target component set determining unit, configured to obtain a target component set based on components of a deployment location including a central cloud;

[0125] A component selection unit is configured to select M components from the target component set, wherein the sum of minimum bandwidths required by the M components is less than or equal to a third threshold value, and M is an integer greater than or equal to 1 and less than or equal to N;

[0126] The first central cloud deployment unit is used to determine that the deployment location of the master nodes of the M components is the central cloud, and the deployment location of the slave nodes of the M components is the central cloud or the local cloud.

[0127] Optionally, the location determination module 420 may further include:

[0128] The second central cloud deployment unit is used to determine that the deployment location of the master nodes of the other components except M components in the target component set is the local cloud, and the deployment location of the slave nodes of other components is the central cloud.

[0129] Optionally, the third threshold is determined based on the network bandwidth between the local cloud and the central cloud and a preset first factor.

[0130] Optionally, the location determination module 420 may further include:

[0131] The second location determining unit is configured to determine that the deployment location of the second component does not include the central cloud in response to a network performance requirement of the second component among the N components not meeting the first condition.

[0132] Optionally, the second position determining unit is specifically configured to:

[0133] Determine that the deployment location of the master node of the second component and the deployment location of the slave node of the second component are both the local cloud.

[0134] The functions of each module in each device in the embodiments of the present application can be found in the corresponding description in the above method, and have corresponding beneficial effects, which will not be repeated here.

[0135] An embodiment of the present application also provides an electronic device for implementing the above method. Figure 5 FIG. 1 shows a structural block diagram of an electronic device according to an embodiment of the present application. Figure 5 As shown, the electronic device includes: a memory 510 and a processor 520. The memory 510 stores a computer program that can be executed on the processor 520. When the processor 520 executes the computer program, the component deployment method in the above embodiment is implemented. The number of the memory 510 and the processor 520 can be one or more.

[0136] The electronic device also includes:

[0137] The communication interface 530 is used to communicate with external devices and perform data exchange transmission.

[0138] If the memory 510, processor 520, and communication interface 530 are implemented independently, the memory 510, processor 520, and communication interface 530 can be connected to each other via a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 5 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.

[0139] Optionally, in a specific implementation, if the memory 510, the processor 520 and the communication interface 530 are integrated on a chip, the memory 510, the processor 520 and the communication interface 530 can communicate with each other through an internal interface.

[0140] An embodiment of the present application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the method provided in any embodiment of the present application.

[0141] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements the method provided in any embodiment of the present application.

[0142] An embodiment of the present application also provides a chip, which includes a processor for calling and executing instructions stored in the memory from the memory, so that a communication device equipped with the chip executes the method provided in the embodiment of the present application.

[0143] An embodiment of the present application also provides a chip, including: an input interface, an output interface, a processor and a memory. The input interface, the output interface, the processor and the memory are connected through an internal connection path. The processor is used to execute the code in the memory. When the code is executed, the processor is used to execute the method provided in the embodiment of the application.

[0144] It should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor that supports the Advanced RISC Machines (ARM) architecture.

[0145] Furthermore, optionally, the above-mentioned memory may include a read-only memory and a random access memory, and may also include a non-volatile random access memory. The memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may include a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may include a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available. For example, static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct rambus random access memory (DR RAM).

[0146] In the above embodiments, all or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented in the form of a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another.

[0147] In the description of this specification, the reference terms "one embodiment," "some embodiments," "example," "specific example," or "some examples" mean that the specific features, structures, materials, or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. Moreover, the specific features, structures, materials, or characteristics described may be combined in any appropriate manner in any one or more embodiments or examples. In addition, those skilled in the art may combine and combine different embodiments or examples described in this specification, as well as features of different embodiments or examples, unless they are mutually inconsistent.

[0148] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. Throughout the description of this application, "plurality" means two or more, unless otherwise specifically defined.

[0149] Any process or method description in a flow chart or otherwise described herein can be understood to represent a module, segment or portion of code comprising one or more executable instructions for implementing the steps of a specific logical function or process. The scope of the preferred embodiments of the present application includes additional implementations in which the functions may be performed in a different order than shown or discussed, including in a substantially simultaneous manner or in a reverse order depending on the functions involved.

[0150] The logic and / or steps represented in the flowchart or otherwise described herein may be considered, for example, as an ordered list of executable instructions for implementing logical functions, and may be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other system that can fetch and execute instructions from an instruction execution system, apparatus, or device).

[0151] It should be understood that various parts of the present application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. All or part of the steps of the above embodiment method can be completed by instructing the relevant hardware through a program, which can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiment.

[0152] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing module, or each unit may exist physically separately, or two or more units may be integrated into a single module. The aforementioned integrated modules may be implemented in the form of hardware or in the form of software functional modules. If the aforementioned integrated modules are implemented in the form of software functional modules and sold or used as independent products, they may also be stored in a computer-readable storage medium. The storage medium may be a read-only memory, a magnetic disk, or an optical disk, etc.

[0153] The above are only specific embodiments of the present application, but the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily conceive of various modifications or substitutions within the technical scope disclosed in this application, and such modifications or substitutions should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. A component deployment method, comprising: Determine N components corresponding to the cloud service deployed in the local cloud; wherein the N components include a control component for implementing control functions that can be deployed in both the local cloud and the central cloud; N is an integer greater than or equal to 1; In response to a network performance requirement of a first component among the N components meeting a first condition, determining that a deployment location of the first component includes the central cloud; wherein the first condition is related to network performance between the local cloud and the central cloud; Based on the components whose deployment locations include the central cloud among the N components, a target component set is obtained, and M components are selected from the target component set; wherein the sum of minimum bandwidths required by the M components is less than or equal to a third threshold value, and M is a positive integer less than or equal to N; Determine that the deployment locations of the master nodes of the M components are the central cloud, and the deployment locations of the slave nodes of the M components are the central cloud or the local cloud; determine that the deployment locations of the master nodes of other components in the target component set except the M components are the local cloud, and the deployment locations of the slave nodes of the other components are the central cloud.

2. The method according to claim 1, wherein The first condition includes at least one of the following: The maximum delay allowed by the component is greater than or equal to a first threshold value, where the first threshold value is determined based on the network delay between the local cloud and the central cloud; The minimum bandwidth required by the component is less than or equal to a second threshold value, where the second threshold value is determined based on a network bandwidth between the local cloud and the central cloud.

3. The method according to claim 1, wherein The third threshold is determined based on the network bandwidth between the local cloud and the central cloud and a preset first factor.

4. The method according to any one of claims 2 to 3, further comprising: In response to a network performance requirement of a second component among the N components not meeting the first condition, it is determined that a deployment location of the second component does not include the central cloud.

5. The method according to claim 4, wherein The determining that the deployment location of the second component does not include the central cloud includes: Determine that the deployment location of the master node of the second component and the deployment location of the slave node of the second component are both the local cloud.

6. A component deployment device, comprising: A component determination module, configured to determine N components corresponding to the cloud service deployed in the local cloud; wherein the N components include a control component for implementing control functions that can be deployed in both the local cloud and the central cloud; N is an integer greater than or equal to 1; A location determination module is used to determine that the deployment location of a first component among the N components includes the central cloud in response to the network performance requirement of the first component meeting the first condition; wherein the first condition is related to the network performance between the local cloud and the central cloud; based on the components among the N components whose deployment locations include the central cloud, a target component set is obtained, and M components are selected from the target component set; wherein the sum of the minimum bandwidths required by the M components is less than or equal to a third threshold value, and M is a positive integer less than or equal to N; determine that the deployment location of the master nodes of the M components is the central cloud, and the deployment location of the slave nodes of the M components is the central cloud or the local cloud; determine that the deployment location of the master nodes of other components in the target component set except the M components is the local cloud, and the deployment location of the slave nodes of the other components is the central cloud.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor implements the method according to any one of claims 1 to 5 when executing the computer program.

8. A computer-readable storage medium, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • System and method for deploying application components on distributed it resources

    US20180260200A1