Deployment method, device and equipment for deployment object in cloud platform
Through the improved hybrid multi-objective gray wolf optimization algorithm (HMOGWO) to optimize the deployment solution of containers or virtual machines in wireless networks, the problem of low deployment efficiency and high cost in wireless networks is solved, and energy consumption and resource consumption are optimized.
Patent Information
- Application Number
- CN202510295320.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-13
- Publication Date
- 2025-06-06
AI Technical Summary
The prior art lacks the deployment method of containers or virtual machines suitable for wireless network scenarios, resulting in problems such as low deployment efficiency, high cost, and large power consumption.
The improved hybrid multi-objective gray wolf optimization algorithm (HMOGWO) is used to obtain information about the objects to be deployed and candidate physical machines, build an optimization model, optimize energy consumption, resource consumption and communication costs, and select appropriate deployment solutions based on the optimization model.
It realizes efficient deployment of containers or virtual machines in wireless network scenarios, reduces energy and resource consumption, optimizes communication costs, and solves the problems of low deployment efficiency and high cost.
Smart Images

Figure CN120111510A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of wireless technology, and in particular to a method, device and equipment for deploying deployment objects in a cloud platform. Background Art
[0002] As traditional mobile communication networks gradually evolve towards mobile information networks that integrate inter-sensory computing and intelligence, cloud computing technology will play an even more important role. The cloudification of wireless networks can greatly improve the elasticity, efficiency and observability of infrastructure, and effectively enable the future sixth generation mobile communication technology (6G) mobile information network that integrates inter-sensory computing and intelligence.
[0003] Based on the requirements of wireless networks for real-time processing performance, wireless network cloudification will be based on container technology, compatible with virtual machine technology, and deploy 6G telepresence computing applications in the form of containers or virtual machines. However, considering the more restricted deployment conditions of wireless networks, its requirements on cost, power consumption, efficiency and other aspects are more stringent, and the issue of how to deploy and place containers or virtual machines is more important in wireless networks. Summary of the invention
[0004] The embodiments of the present application provide a method, apparatus and device for deploying deployment objects in a cloud platform, which solves the problem that there is currently no deployment method for containers or virtual machines suitable for wireless network scenarios.
[0005] In a first aspect, to achieve the above-mentioned purpose, an embodiment of the present application provides a method for deploying a deployment object in a cloud platform, comprising:
[0006] Acquire first information of the object to be deployed and second information of the candidate physical machine;
[0007] constructing an optimization model according to the first information and the second information, wherein an optimization target of the optimization model is related to at least two of energy consumption, resource consumption, and communication cost;
[0008] Using an improved hybrid multi-objective grey wolf optimization HMOGWO algorithm, a deployment scheme that meets the optimization objective is selected;
[0009] According to the deployment plan, the to-be-deployed object is deployed on at least some of the candidate physical machines.
[0010] The improved hybrid multi-objective grey wolf optimization HMOGWO algorithm is used to select a deployment scheme that meets the optimization goal, including:
[0011] Based on the object to be deployed, generating a deployment request sequence;
[0012] Initializing HMOGWO algorithm parameters, wherein the HMOGWO algorithm parameters include a nonlinear convergence factor and a synergy vector;
[0013] Generating an initial deployment solution set corresponding to the to-be-deployed object in the deployment request sequence according to the resource utilization balancing requirement of the candidate physical machine;
[0014] Performing non-dominated sorting on the solutions in the initial deployment solution set to obtain non-dominated solutions, and establishing an archived solution set storing the non-dominated solutions;
[0015] Iteratively update the HMOGWO algorithm parameters and the archive solution set, and when the number of iterative updates reaches a maximum number of iterations, determine that the optimal solution in the updated archive solution set is the deployment solution that meets the optimization target of the optimization model.
[0016] Wherein, generating an initial deployment solution set corresponding to the to-be-deployed object in the deployment request sequence according to the resource utilization balancing requirement of the candidate physical machine includes:
[0017] According to the resource utilization balance requirements of the candidate physical machines, selecting a target physical machine for each of the objects to be deployed in the deployment request sequence from among the candidate physical machines;
[0018] Generate an original deployment solution set according to the target physical machine;
[0019] Performing reverse learning on the original deployment solution set to obtain a reverse deployment solution set;
[0020] The original deployment solution set and the reverse deployment solution set are combined to obtain the initial deployment solution set.
[0021] According to the resource utilization balance requirement of the candidate physical machines, selecting a target physical machine for each of the objects to be deployed in the deployment request sequence from among the candidate physical machines includes:
[0022] For any sequence in the deployment request sequence, calculate the probability that each candidate physical machine is in a resource-balanced state after any to-be-deployed object in the sequence is deployed on each candidate physical machine;
[0023] Determining the priority of each of the candidate physical machines according to the probability;
[0024] A target physical machine is selected for any object to be deployed according to the priorities of the candidate physical machines.
[0025] Wherein, iteratively updating the HMOGWO algorithm parameters and the archiving scheme set includes:
[0026] Update HMOGWO algorithm parameters according to the maximum number of iterations and the current number of iterations;
[0027] Selecting the best solution, the second best solution and the third best solution from the archived solution set;
[0028] For each scheme to be updated in the archived scheme set, according to the positions of the optimal scheme, the suboptimal scheme and the third optimal scheme, the updated HMOGWO algorithm parameters, and the degree of difference between the scheme to be updated and the optimal scheme, the suboptimal scheme and the third optimal scheme, the position of the scheme to be updated is updated; wherein the scheme to be updated is other schemes in the archived scheme set except the optimal scheme, the suboptimal scheme and the third optimal scheme;
[0029] The archived solution set is updated by performing non-dominated sorting on the to-be-updated solution, the optimal solution, the suboptimal solution and the tertiary solution after each update position, and based on the updated archived solution set, the step of "updating the HMOGWO algorithm parameters according to the maximum number of iterations and the current number of iterations" is performed until the number of iterative updates reaches the maximum number of iterations.
[0030] Wherein, updating the HMOGWO algorithm parameters according to the maximum number of iterations and the current number of iterations includes:
[0031] updating the nonlinear convergence factor according to the maximum number of iterations and the current number of iterations, wherein the nonlinear convergence factor includes a sine convergence factor and a cosine convergence factor;
[0032] Update the A vector in the cooperation vector according to one of the updated sine convergence factor and the updated cosine convergence factor, and a first random number;
[0033] According to the second random number, the C vector in the cooperation vector is updated.
[0034] Wherein, updating the position of the scheme to be updated according to the positions of the optimal scheme, the suboptimal scheme and the third optimal scheme, the updated HMOGWO algorithm parameters, and the difference between the scheme to be updated and the optimal scheme, the suboptimal scheme and the third optimal scheme includes:
[0035] Calculate, according to the updated HMOGWO algorithm parameters, the current position of the scheme to be updated, the position of the optimal scheme, the position of the suboptimal scheme, and the position of the third optimal scheme, a first guiding position, a second guiding position, and a third guiding position of the scheme to be updated relative to each of the optimal scheme, the suboptimal scheme, and the third optimal scheme;
[0036] Determine, according to the degree of difference between the scheme to be updated and each of the optimal scheme, the suboptimal scheme and the third optimal scheme, a first preference weight, a second preference weight and a third preference weight for updating the position of the scheme to be updated to the position of each of the optimal scheme, the suboptimal scheme and the third optimal scheme;
[0037] The position of the to-be-updated solution is updated according to the first guiding position, the second guiding position, the third guiding position, the first preference weight, the second preference weight, and the third preference weight.
[0038] The first information includes the number of the objects to be deployed and / or the resource requirement of each of the objects to be deployed;
[0039] The second information includes the number of the candidate physical machines and / or the available resource amount of each of the candidate physical machines;
[0040] The resources corresponding to the resource demand and the resource available include at least two items of a central processing unit (CPU), a memory and a network.
[0041] In a second aspect, in order to achieve the above-mentioned purpose, an embodiment of the present application provides a deployment device for a deployment object in a cloud platform, comprising:
[0042] An acquisition module, used to acquire first information of the object to be deployed and second information of the candidate physical machine;
[0043] A construction module, configured to construct an optimization model according to the first information and the second information, wherein an optimization target of the optimization model is related to at least two of energy consumption, resource consumption and communication cost;
[0044] A selection module, used to select a deployment scheme that meets the optimization goal by using an improved HMOGWO algorithm;
[0045] A deployment module is used to deploy the to-be-deployed object on at least some of the candidate physical machines according to the deployment plan.
[0046] In the third aspect, in order to achieve the above-mentioned purpose, an embodiment of the present application provides a device for deploying objects in a cloud platform, including a transceiver, a processor, a memory, and a program stored in the memory and executable on the processor; when the processor executes the program, the method for deploying deployment objects in the cloud platform as described in the first aspect is implemented.
[0047] In a fourth aspect, in order to achieve the above-mentioned purpose, an embodiment of the present application provides a readable storage medium on which a program or instruction is stored, and when the program or instruction is executed by a processor, a deployment method for deployment objects in the cloud platform as described in the first aspect of the right is implemented.
[0048] In a fifth aspect, in order to achieve the above-mentioned purpose, an embodiment of the present application provides a computer program product, including computer instructions, which, when executed by a processor, implement the deployment method of the deployment object in the cloud platform as described in the first aspect.
[0049] The beneficial effects of the above technical solution of the present application are as follows:
[0050] In an embodiment of the present application, first, first information of the object to be deployed and second information of the candidate physical machine are obtained; second, an optimization model is constructed based on the first information and the second information, wherein the optimization target of the optimization model is related to at least two of energy consumption, resource consumption and communication cost; third, the improved hybrid multi-objective grey wolf optimization HMOGWO algorithm is used to select a deployment scheme that meets the optimization target; finally, according to the deployment scheme, the object to be deployed is deployed on at least some of the candidate physical machines. In this way, the scheme of the present application can use the improved HMOGWO algorithm to screen out deployment schemes that meet the optimization targets related to at least two of energy consumption, resource consumption and communication cost, so as to deploy the object to be deployed on the candidate physical machine, thereby solving the problem that there is currently no deployment method for containers or virtual machines suitable for wireless network scenarios. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Figure 1 This is one of the flow diagrams of the method for deploying a deployment object in the cloud platform of an embodiment of the present application;
[0052] Figure 2 is the relationship between the linear convergence factor and the modulus of the A vector;
[0053] Figure 3 is the cosine convergence factor α in the embodiment of the present application 1 The relationship diagram between the modulus value of the A vector;
[0054] Figure 4 is the sinusoidal convergence factor α in the embodiment of the present application 2 The relationship diagram between the modulus value of the A vector;
[0055] Figure 5 This is a second flow chart of a method for deploying a deployment object in a cloud platform according to an embodiment of the present application;
[0056] Figure 6This is a comparison chart of energy consumption under different virtual machine scales corresponding to deployment solutions obtained using different algorithms;
[0057] Figure 7 A comparison chart of resource waste under different virtual machine scales corresponding to deployment solutions obtained using different algorithms;
[0058] Figure 8 A comparison chart of the communication costs of different virtual machine scales corresponding to the deployment solutions obtained using different algorithms;
[0059] Fig. 9 A schematic diagram of the structure of a deployment device for a deployment object in a cloud platform in an embodiment of the present application;
[0060] Fig.10 A schematic diagram of the structure of a deployment device for a deployment object in a cloud platform in an embodiment of the present application. DETAILED DESCRIPTION
[0061] In order to make the technical problems, technical solutions and advantages to be solved by the present application clearer, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.
[0062] It should be understood that the references to "one embodiment" or "an embodiment" throughout the specification mean that the specific features, structures, or characteristics associated with the embodiment are included in at least one embodiment of the present application. Therefore, the references to "in one embodiment" or "in an embodiment" appearing throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0063] In the various embodiments of the present application, it should be understood that the size of the serial numbers of the following processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0064] Additionally, the terms "system" and "network" are often used interchangeably herein.
[0065] In the embodiments provided in the present application, it should be understood that "B corresponding to A" means that B is associated with A, and B can be determined according to A. However, it should also be understood that determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information.
[0066] Before describing the embodiments of the present application, the relevant technical points are first described:
[0067] The container (virtual machine) placement problem aims to place each container (virtual machine) on a physical server, while meeting certain placement goals and restrictions, to achieve the goals of improving resource utilization, reducing energy consumption and network latency. For this type of problem, there are usually single-target placement algorithms and multi-target placement algorithms.
[0068] Among them, the single-objective placement algorithm focuses on optimizing a single objective such as reducing energy consumption or reducing bandwidth consumption to solve the placement plan. The multi-objective placement algorithm is to coordinately optimize multiple objectives such as reducing energy consumption and reducing resource waste in the process of solving the container (virtual machine) placement plan.
[0069] Among them, the single-target placement algorithms include: Best Fit Decreasing (BFD), Multipoint Best Fit Decreasing (MBFD), PMNeAR, etc. Among them, the BFD algorithm aims to reduce energy consumption, and uses learning automata theory, correlation coefficient and set prediction technology to assign the virtual machine to be placed to a host with the least correlation; the MBFD algorithm first classifies the list of containers (virtual machines) to be placed according to the central processing unit (CPU) utilization, and then places it on the host with the least energy consumption increment; the PMNeAR algorithm places the container (virtual machine) on the physical machine with the closest remaining CPU and memory ratio according to the ratio of the placement request CPU resources to memory resources, which has a certain improvement effect on reducing resource consumption compared with other algorithms. In addition, the placement strategy proposed by Shivastava et al. uses application awareness to reduce bandwidth consumption. According to the traffic between different virtual machines and the link framework of the data center, virtual machines with more traffic between each other are placed on the same physical machine.
[0070] Among them, multi-objective placement algorithms include Cuckoo Search (CS) algorithm, Greedy Randomized Virtual Machine Placement (DGRVMP) algorithm, Multi-Objective Mixed Integer Linear Programming (MOMILP) algorithm and container scheduling algorithm based on Fuzzy Inference System (FIS). However, the CS algorithm can only optimize the energy consumption and resource waste of the data center. The DGRVMP algorithm has a certain effect in reducing energy consumption and reducing resource waste; the MOMILP algorithm has certain advantages in resource utilization and reducing resource waste; the FIS container scheduling algorithm has certain advantages in improving resource utilization and reducing network costs.
[0071] Future wireless networks will need a container (virtual machine) placement method that optimizes multiple objectives, including energy consumption, resource waste, and network traffic, to meet the stringent requirements of wireless networks for the above objectives. Obviously, the above-mentioned single-objective container placement algorithm and multi-objective container placement algorithm cannot meet the requirements of wireless networks.
[0072] Since the above algorithm cannot meet the stringent requirements of wireless network for container (virtual machine) placement, the embodiment of the present application provides a method for deploying deployment objects in a cloud platform, such as Figure 1 As shown, the method includes:
[0073] Step 101: Obtain first information of an object to be deployed and second information of a candidate physical machine.
[0074] In the above step 101, the object to be deployed is an object that needs to be deployed on a candidate physical machine (or referred to as a candidate physical server), for example, the object to be deployed is a virtual machine and / or a container.
[0075] Exemplarily, the first information in the above step 101 includes at least one of the number of the objects to be deployed and the resource requirements of each of the objects to be deployed. For example, the resource requirement object includes at least one of the requirements for CPU resources, the requirements for memory (MEM) resources, and the requirements for network resources. Among them, the network resources include, for example, network traffic.
[0076] Exemplarily, the second information in the above step 101 includes at least one of the number of candidate physical machines and the resource requirements of each of the candidate physical machines. For example, the resource requirement object includes at least one of the available amount of CPU resources, the available amount of MEM resources, and the available amount of network resources. Among them, the network resources include, for example, network traffic.
[0077] Step 102: construct an optimization model based on the first information and the second information, wherein an optimization target of the optimization model is related to at least two of energy consumption, resource consumption and communication cost.
[0078] Among them, the three elements of the optimization model are: objective function, constraint conditions and variable definition. The objective function is determined based on the optimization goal.
[0079] The resource consumption in step 102 can also be referred to as resource waste. For example, resource consumption / resource waste is defined as the ratio of the balance of the remaining resources of the physical machine to the sum of the resource utilization of the physical machine after the deployment plan is executed (after the deployment object is deployed on the physical machine). In addition, the communication cost is defined as the sum of the product of the number of switches through which the deployment objects communicate and the communication traffic demand.
[0080] The optimization model in the above step 102 includes, for example, one, two or three of an energy consumption model, a resource consumption model and a network traffic model (which may also be referred to as a communication cost model).
[0081] As an example, the optimization goal of the optimization model in the above step 102 is to minimize energy consumption, minimize resource waste, and minimize communication cost.
[0082] Step 103, using an improved hybrid multi-objective grey wolf optimization (HMOGWO) algorithm, selecting a deployment scheme that meets the optimization goal;
[0083] Here, it should be noted that the Multi-Objective Grey Wolf Optimization (MOGWO) algorithm is suitable for multi-objective optimization scenarios of energy consumption, resource consumption and network traffic for container (virtual machine) placement problems, but direct application in wireless network scenarios will cause the following problems: the initial placement scheme generated by random initialization has uncertainty, the linear convergence factor limits the global exploration ability of the scheme optimization algorithm in the later stages of iteration, and the remaining schemes except the top three optimal schemes in the archived scheme set are indiscriminately updated according to the average position of α, β, and δ, ignoring the preference differences of the current scheme for α, β, and δ, and convergence is prone to occur at the end of iteration. Based on one or more of the above-mentioned problems of the MOGWO algorithm, the embodiments of the present application improve the algorithm. Among them, in the improved HMOGWO algorithm, firstly, the initial placement plan (or initial deployment plan) is generated based on the demand for balanced utilization of physical machine resources and reverse learning to solve the problem that the initial placement plan generated by random initialization has uncertainty; secondly, the linear convergence factor is improved to a nonlinear convergence factor to solve the problem that the linear convergence factor limits the global exploration ability of the solution optimization algorithm in the later stage of iteration; thirdly, artificial preference weights are introduced in the placement plan (or deployment plan) update process to solve the problem that the remaining plans except the top three optimal plans in the archived plan set are indiscriminately updated according to the average position of α, β, and δ, ignoring the preference differences of the current plan for α, β, and δ, and the convergence phenomenon is prone to occur at the end of iteration.
[0084] Step 104: deploy the to-be-deployed object on at least some of the candidate physical machines according to the deployment plan.
[0085] In an embodiment of the present application, first, first information of the object to be deployed and second information of the candidate physical machine are obtained; second, an optimization model is constructed based on the first information and the second information, wherein the optimization target of the optimization model is related to at least two of energy consumption, resource consumption and communication cost; third, a deployment scheme that meets the optimization target is selected using the improved HMOGWO algorithm; finally, according to the deployment scheme, the object to be deployed is deployed on at least some of the candidate physical machines. In this way, the scheme of the present application can use the improved HMOGWO algorithm to screen out deployment schemes that meet the optimization targets related to at least two of energy consumption, resource consumption and communication cost, so as to deploy the object to be deployed on the candidate physical machine, thereby solving the problem that there is currently no deployment method for deployment objects such as containers or virtual machines suitable for wireless network scenarios.
[0086] As an optional implementation, step 103 includes:
[0087] Based on the object to be deployed, a deployment request sequence is generated. This step may be to randomly initialize a certain number of deployment request sequences, wherein the number of deployment request sequences should not be less than the capacity L of the archive solution set.
[0088] Initialize HMOGWO algorithm parameters, wherein the HMOGWO algorithm parameters include a nonlinear convergence factor and a coordination vector; wherein the nonlinear convergence factor is related to the current number of iterations and the maximum number of iterations, and the coordination vector is related to the nonlinear convergence factor and / or a random number. Exemplarily, the nonlinear convergence factor may include a sine convergence factor and / or a cosine convergence factor, etc. On this basis, the initialization value of the sine convergence factor is, for example, 1, the initialization value of the cosine convergence factor is, for example, also 1, and the initialization values of the coordination vector are 2r and 2r, respectively. 1 -1 and 2r 2 , where r 1 and r 2 A random number in [0, 1].
[0089] According to the resource utilization balance requirement of the candidate physical machine, an initial deployment solution set corresponding to the to-be-deployed object in the deployment request sequence is generated. Here, compared with the random generation of the initial solution set in the existing MOGWO algorithm, this step generates the initial deployment solution set based on the resource utilization balance requirement of the candidate physical machine, which can solve the problem of uncertainty in the solution set of the initial deployment solution.
[0090] The solutions in the initial deployment solution set are non-dominated and sorted to obtain non-dominated solutions, and an archived solution set for storing the non-dominated solutions is established. This step is to calculate the objective function value of each solution in the initial deployment solution set, and to perform non-dominated sorting on the solutions in the initial deployment solution set based on the calculated objective function value. The general definition of a non-dominated solution is: for solutions p and q, if multiple optimization objectives (such as the aforementioned three optimization objectives) are met, p is not worse than q and at least one objective is better than q, then solution p is a non-dominated solution, and if p is not dominated by any other solution, then p is a non-dominated optimal solution.
[0091] Iteratively update the HMOGWO algorithm parameters and the archive solution set, and when the number of iterative updates reaches a maximum number of iterations, determine that the optimal solution in the updated archive solution set is the deployment solution that meets the optimization target of the optimization model.
[0092] Among the above optional implementations, first, the linear convergence factor of the existing algorithm is improved to a nonlinear convergence factor, which can avoid the limitation of the convergence factor on the global exploration capability of the solution optimization algorithm in the later iteration, and improve the globality of the deployment solution search. Second, the initial deployment solution set is generated based on the resource utilization balance requirements of the candidate physical machines, which can reduce the uncertainty of the initial deployment solution set.
[0093] As a specific implementation manner, generating an initial deployment solution set corresponding to the to-be-deployed object in the deployment request sequence according to the resource utilization balancing requirement of the candidate physical machine includes:
[0094] According to the resource utilization balance requirements of the candidate physical machines, a target physical machine is selected for each of the objects to be deployed in the deployment request sequence from among the candidate physical machines. Exemplarily, this step may select a corresponding target physical machine based on the probability that the candidate physical machine is in a resource-balanced state after the object to be deployed is placed on the candidate physical machine.
[0095] According to the target physical machine, an original deployment solution set is generated. Here, the original deployment solution set includes the target physical machine selected for each to-be-deployed object, and the corresponding relationship between the two.
[0096] The original deployment solution set is reversely learned to obtain a reverse deployment solution set. A possible formula for the direction learning of this step is as follows:
[0097] X B =k×(Ub+Lb)-X
[0098] Where k represents a random vector that follows a normal distribution, and Ub and Lb represent the upper and lower bounds of the original deployment solution set X.
[0099] The original deployment solution set and the reverse deployment solution set are combined to obtain the initial deployment solution set.
[0100] In the above specific implementation method, an original deployment plan set is generated based on the resource utilization balancing requirements of the candidate physical machines, and reverse learning is used to obtain the reverse deployment plan set corresponding to the initial deployment plan set. Finally, the original deployment plan set and the reverse deployment plan set are merged into the initial deployment plan set. On the one hand, the uncertainty of the initial deployment plan set is reduced. On the other hand, the initial deployment plan set can be distributed as evenly as possible in the solution space that meets the requirements, thereby improving the global search capability of solution optimization and avoiding falling into the local optimal situation due to the solution focusing on the optimization of a single goal.
[0101] As a more specific implementation, according to the resource utilization balance requirement of the candidate physical machines, selecting a target physical machine for each of the objects to be deployed in the deployment request sequence from among the candidate physical machines includes:
[0102] For any sequence in the deployment request sequence, the probability that each candidate physical machine is in a resource-balanced state after any to-be-deployed object in the sequence is deployed on each candidate physical machine is calculated.
[0103] According to the probability, the priority of each candidate physical machine is determined. Here, the priority of a candidate physical machine is positively correlated or proportional to the probability that the candidate physical machine is in a resource-balanced state after the object to be deployed is deployed on the candidate physical machine, that is, the greater the probability, the higher the priority.
[0104] As an example, the priority can be calculated by referring to the following formula:
[0105]
[0106] in:
[0107]
[0108] It indicates the probability that the ratio of the resources required by the object to be deployed (taking a virtual machine as an example) to the allocated resources in the physical machine does not exceed x, and it follows a normal distribution, m j represents the total number of virtual machines deployed on the jth physical machine, T over and T under Indicates the overload and underload thresholds of the physical machine. It means virtual machine V i Place it on physical machine P j After that, the probability that the physical machine is in a balanced resource utilization state (proportional to the placement priority) is calculated. That is, after the virtual machine is placed, the higher the probability that the physical machine is in a balanced resource utilization state, the higher the placement priority of the physical machine. represents the physical machine resources required by the i-th virtual machine, represents the total amount of resources of the jth physical machine, Represents the total demand of the j-th physical machine for res type resources.
[0109] According to the priorities of the candidate physical machines, a target physical machine is selected for any object to be deployed. Exemplarily, the target physical machine should be the candidate physical machine with the highest priority.
[0110] Here, it should be noted that after selecting a target physical machine for each object to be deployed in a deployment request sequence, it is further checked whether the deployment scheme corresponding to the deployment request sequence satisfies the constraint conditions of the optimization model. If so, a target physical machine is selected for each object to be deployed in the next deployment request sequence. If not, a target physical machine is selected again for each object to be deployed in the current deployment request sequence. The constraint conditions can be set based on actual needs and are not specifically limited here.
[0111] That is, for a deployment request sequence, after selecting a target physical machine for each to-be-deployed object in the deployment request sequence, the method further includes:
[0112] Checking whether the deployment solution corresponding to the deployment request sequence satisfies the constraint conditions of the optimization model;
[0113] If satisfied, select a target physical machine for each object to be deployed in the next deployment request sequence;
[0114] If not satisfied, a new target physical machine is selected for each object to be deployed in the current deployment request sequence.
[0115] As another optional implementation, iteratively updating the HMOGWO algorithm parameters and the archiving solution set includes:
[0116] According to the maximum number of iterations and the current number of iterations, the HMOGWO algorithm parameters are updated; that is, the HMOGWO algorithm parameters are related to the current number of iterations and the maximum number of iterations.
[0117] In the archived solution set, the best solution, the second best solution and the third best solution are selected; illustratively, this step is: selecting the above three solutions (the first three best solutions) in the archived solution set according to roulette, wherein the calculation formula of roulette is as follows:
[0118]
[0119] Among them, P i represents the probability value of the current solution becoming the optimal solution, c is a constant, N i is the number of non-dominated solutions obtained in the i-th segment of the grid mechanism. The grid mechanism is to find the maximum value max and minimum value min of the non-dominated solution in each objective function, and then divide this interval [min, max] into N equal parts, so that all individuals are divided into different grids, and the number of all solutions in the grid where each solution is located is its congestion degree.
[0120] For each scheme to be updated in the archived scheme set, according to the positions of the optimal scheme, the suboptimal scheme and the third optimal scheme, the updated HMOGWO algorithm parameters, and the degree of difference between the scheme to be updated and the optimal scheme, the suboptimal scheme and the third optimal scheme, the position of the scheme to be updated is updated; wherein the scheme to be updated is other schemes in the archived scheme set except the optimal scheme, the suboptimal scheme and the third optimal scheme;
[0121] The archived solution set is updated by performing non-dominated sorting on the to-be-updated solution, the optimal solution, the suboptimal solution and the tertiary solution after each update position, and based on the updated archived solution set, the step of “updating the HMOGWO algorithm parameters according to the maximum number of iterations and the current number of iterations” is performed until the iterative update number reaches the maximum number of iterations, thereby achieving iterative update of the HMOGWO algorithm parameters and the archived solution set.
[0122] After updating the archive scheme set, the method further includes:
[0123] Check whether the updated archive solution set has reached the preset capacity limit. If it has, calculate the crowding degree according to the grid mechanism and remove individuals that are too densely crowded.
[0124] Here, it should be noted that the relevant update formula in the traditional MOGWO algorithm is as follows:
[0125] D=C·X P (txt)
[0126] X(t+1)=X P (t)-A·D
[0127] A=2a·r 1 -a
[0128] C=2r 2
[0129] Where t represents the current iteration number, A and C are coordination vectors, X(t) represents the position vector of the current solution, Xp(t) represents the target position vector, and A iterates through a linear convergence factor.
[0130] However, in the embodiments of the present application, considering that the linear convergence factor of the conventional solution is insufficient, further improvement is needed. Figure 2 As shown in , the linear convergence factor a makes |A| always less than 1 in the middle and late stages of the iteration, which limits the optimization exploration ability of the algorithm in the late stages of the iteration to a certain extent. However, the nonlinear convergence factor, such as Figure 3 As shown, the cosine convergence factor α 1 , so that |A| remains greater than 1 in the middle and late stages of the iteration, which allows the solution optimization to maintain long-term exploration capabilities and have more opportunities to jump out of the local optimum. It is suitable for the optimal position of α (optimal solution) and β (suboptimal solution) in guiding the update process of other solutions, such as Figure 4 As shown, the sine convergence factor α 2 It makes |A| more likely to exceed the range of [0, 1], which is suitable for δ (the third best solution) to guide the remaining solutions to conduct a large-scale search in the target optimization space.
[0131] Based on this, as a specific implementation method, the HMOGWO algorithm parameters are updated according to the maximum number of iterations and the current number of iterations, including:
[0132] updating the nonlinear convergence factor according to the maximum number of iterations and the current number of iterations, wherein the nonlinear convergence factor includes a sine convergence factor and a cosine convergence factor;
[0133] Exemplarily, the cosine convergence factor can be expressed by the following formula:
[0134]
[0135] The sinusoidal convergence factor can be expressed by the following formula:
[0136]
[0137] Among them, t is the current iteration number and T is the maximum iteration number.
[0138] According to one of the updated sine convergence factor and the updated cosine convergence factor, and a first random number, the A vector in the cooperation vector is updated; illustratively, the A vector can be expressed by the following formula:
[0139] A=2a·r 1 -a
[0140] Among them, r 1 is a random number in [0, 1], a is α 1 or α 2 .
[0141] According to the second random number, the C vector in the coordination vector is updated; illustratively, the C vector can be expressed by the following formula:
[0142] C=2r 2
[0143] Among them, r 2 is a random number in [0, 1].
[0144] As a more specific implementation, updating the position of the solution to be updated according to the positions of the optimal solution, the suboptimal solution, and the third optimal solution, the updated HMOGWO algorithm parameters, and the difference between the solution to be updated and the optimal solution, the suboptimal solution, and the third optimal solution includes:
[0145] (1) calculating a first guiding position, a second guiding position, and a third guiding position of the scheme to be updated relative to each of the optimal scheme, the suboptimal scheme, and the third optimal scheme according to the updated HMOGWO algorithm parameters, the current position of the scheme to be updated, the position of the optimal scheme, the position of the suboptimal scheme, and the position of the third optimal scheme.
[0146] The general implementation formula of the above steps is as follows:
[0147] D i =|C·X j -X(t)|
[0148] X i =X j -A i ·D j (i=1,2,3)
[0149] Where D represents the distance vector between the current solution and the top three optimal solutions, X(t) represents the current position of the current solution, and X i represents the guidance position generated by the current solution according to the top three optimal solutions α, β, and δ, respectively, X j represents the position of the jth optimal solution, where for α, β, a = α 1 , for δ, a=α 2 .
[0150] (2) determining a first preference weight, a second preference weight, and a third preference weight for updating the position of the scheme to be updated to the position of each of the optimal scheme, the suboptimal scheme, and the third optimal scheme according to the degree of difference between the scheme to be updated and each of the optimal scheme, the suboptimal scheme, and the third optimal scheme;
[0151] In the above steps, the general expression formulas of the first preference weight, the second preference weight and the third preference weight are as follows:
[0152]
[0153] Among them, λ 1 represents the first preference weight, λ 2 represents the second preference weight, λ 3 represents the third preference weight; d i Indicates the difference between the current solution and the top three optimal solutions i, Among them, n = 3, which represents the energy consumption, resource waste, and network traffic characteristics of the deployment scheme of the object to be deployed. The dissimilarity represents the similarity between the current scheme and the optimal scheme (α) / suboptimal scheme (β) / third optimal scheme (δ). If the current scheme is very similar to α, then this d approaches 0, the weight is very low, and there is almost no update in the direction of α. If the similarity is very low, the weight is increased and updated in the direction of α. The three alpha wolves (schemes) α / β / δ are all comprehensively considered in the three-dimensional space of the optimization target.
[0154] (3) Update the position of the to-be-updated solution according to the first guiding position, the second guiding position, the third guiding position, the first preference weight, the second preference weight, and the third preference weight. This step can be expressed by the following formula:
[0155] X(t+1)=λ 1 X 1 +λ 2 X 2 +λ 3 X 3
[0156] In the above implementation, the preference weight is introduced when updating the solution position, which can solve the problem of the existing algorithm using the formula The update in the same weighted average way may lead to the problem of convergence, which can effectively enhance the diversity of placement schemes at the end of iteration and alleviate the phenomenon of scheme assimilation.
[0157] That is to say, the present application provides a HMOGWO algorithm that combines reverse learning, multi-nonlinear convergence factors and artificial preference weights for container (virtual machine) placement problems, so as to achieve the goals of minimizing energy consumption, minimizing resource waste, minimizing the communication cost between containers (virtual machines), and maximizing the balance of physical machine resource utilization. Specifically, the embodiment of the present application generates an original placement strategy according to the demand for balanced utilization of physical machine resources in the placement scenario, and then uses reverse learning to initialize the placement strategy. Compared with the random initialization strategy, the initial container (virtual machine) placement plan can be distributed as evenly as possible in the solution space that satisfies the optimization of energy consumption, resource waste and communication cost under the placement constraint conditions, thereby improving the global search capability of the solution optimization and avoiding the solution from focusing on the optimization of a single goal and falling into the local optimum; at the same time, a multi-nonlinear convergence factor is used to optimize the optimization process of the placement plan. Since the key to balancing the exploration and development capabilities in the gray wolf algorithm lies in the size of the coefficient A, and its size depends on the size of the convergence factor, compared with the traditional linear convergence factor, the introduction of cosine and sine convergence factors can ensure the effectiveness and globality of multi-objective optimization, thereby further improving the multi-objective collaborative optimization performance; in addition, considering the different optimization degrees of energy consumption, resource waste and network traffic in the later stage of each placement plan optimization, an artificial preference weight is introduced to update the placement plan. During the algorithm iteration process, compared with updating the plan based only on the feature mean of the three optimal virtualization or container placement plans, the diversity of the placement plans at the end of the iteration can be effectively enhanced, and the phenomenon of plan assimilation can be alleviated.
[0158] Thus, firstly, compared with the container (virtual machine) placement strategy of single-objective optimization, the embodiment of the present application can achieve the balanced effect of minimizing energy consumption, minimizing resource waste and minimizing communication network traffic. Secondly, compared with the multi-objective container (virtual machine) placement strategy based on the CS and DGRVMP algorithms, the embodiment of the present application has made more considerations in terms of communication network traffic and physical machine resource utilization balance, which can further improve data center performance and resource utilization. Thirdly, compared with the standard MOGWO algorithm, the embodiment of the present application proposes an initialization scheme suitable for the container (virtual machine) placement problem based on the data center's demand for balanced physical machine resource utilization and combined with reverse learning, reducing the phenomenon that the initial placement scheme generated by the original random initialization strategy deviates too much from the placement optimization problem, and introducing two nonlinear convergence factors, cosine and sine, to improve the multi-objective optimization performance of the scheme. Fourthly, the use of artificial preference weights to update the optimization direction of the scheme avoids the convergence phenomenon at the end of the scheme optimization.
[0159] Next, combine Figure 5 , a specific example of a method for deploying a deployment object in a cloud platform in an embodiment of the present application is described. Figure 5As shown, this specific example is described by taking the object to be deployed as a container or a virtual machine as an example, wherein the example specifically includes the following steps:
[0160] Step 510, parameter collection; here, the collected parameters are multiple related parameters in the placement problem; specifically, for example, they include: the number and parameters of containers (virtual machines) that need to be placed and the number and parameters of physical machines that can be used for placement, and the parameters include the required and available amounts of resources such as CPU, MEM, and network;
[0161] Step 520, construct a model to determine the constraints; here, the energy consumption model, resource consumption model and network traffic / communication cost model of the container (virtual machine) placement problem are constructed, and the placement constraints and optimization objective function are determined. Specifically, the optimization objectives are to minimize energy consumption, minimize resource waste and minimize communication cost, determine the placement objective function and determine the constraints of the placement model.
[0162] Step 530, the HMOGWO algorithm searches for a placement strategy; here, the HMOGWO algorithm searches for a placement solution that can simultaneously meet the three optimization goals of minimizing energy consumption and minimizing virtual machine communication costs; that is, the HMOGWO algorithm selects a placement strategy and determines the physical machine of the container (virtual machine).
[0163] Step 540, placement decision execution; that is, the obtained optimal solution is sent to the execution module for implementation of the solution; that is, the virtual machine is placed according to the optimal container (virtual machine) placement solution output in step 530.
[0164] Step 550, system resource information update; that is, after the container (virtual machine) is placed, the system updates the container (virtual machine) and physical machine resource information of the current data center. In other words, after the placement is completed, the system will update the physical machine and container (virtual machine) resource information in the data center.
[0165] The above step 530 specifically includes the following steps:
[0166] Step 531, input the archive solution set, algorithm parameters, etc., that is, input the archive solution set capacity L, the maximum number of iterations, the control parameter (or called convergence factor) α 1 and α 2 initial and final values, etc.
[0167] Step 532, initialize the placement solution set; that is, initialize the container (virtual machine) placement solution set and algorithm parameters (α 1 and α 2 , A and C, etc.);
[0168] Among them, the step of initializing the container (virtual machine) placement solution set includes: randomly initializing a certain number of container (virtual machine) placement request sequences (not less than the archive solution set capacity L), calculating the physical machine priority of all containers (virtual machines) to be placed in each sequence (this physical priority is proportional to the probability that the physical machine is in a resource balancing state after the current virtual machine is placed on the physical machine), selecting the physical machine with the highest priority among the available physical machines as the placement target physical machine, and checking whether the placement constraints are met. Repeat the above steps to obtain the original placement solution set X, and then use the reverse learning strategy to obtain the reverse placement solution set X B , the original placement solution set and the reverse placement solution set are combined to obtain the initial placement solution set.
[0169] Among them, the initialization algorithm parameters can be initialized according to the following formula:
[0170] A=2a·r 1 -a, where a = α 1 (optimal and suboptimal scenarios) or α 2 (Third best solution), r 1 is a random number in [0, 1];
[0171] C=2r 2 ; Among them, r 2 is a random number in [0, 1];
[0172] Among them, t is the current iteration number and T is the maximum iteration number.
[0173] Step 533, non-dominated sorting, establishing an archived solution set; this step is, for example: calculating the objective function value of each solution, performing non-dominated sorting on the solutions in the initial placement solution set, and establishing an archived solution set to store non-dominated solutions.
[0174] Step 534, update parameter α 1 , α 2 , A and C; that is, start the algorithm iteration, update α according to the formula in the aforementioned step 532 1 , α 2 , A and C.
[0175] Step 535, select the optimal solution α, β, δ according to the roulette wheel, and update the positions of the remaining solutions according to the manual preference weights; the specific implementation example of this step can refer to the description of the above-mentioned related implementation method.
[0176] Step 536, updating the archived solution set; that is, calculating the objective function values of all solutions after the updated position, performing non-dominated sorting, and updating the archived solution set at the same time, wherein, if the archived solution set reaches the set capacity upper limit, the congestion degree is calculated according to the grid mechanism, and individuals with too dense congestion are eliminated;
[0177] Step 537, determine whether the maximum number of iterations has been reached, if so, execute step 538, if not, execute step 534;
[0178] Step 538, output the optimal placement solution α.
[0179] Next, combine Figure 6 , Figure 7 and Figure 8 The following describes examples of the effects of applying the method of the embodiments of the present application and applying other algorithms to select deployment solutions.
[0180] This example is simulated in Matlab R1022a, which simulates the virtual machine placement strategy based on the improved HMOGWO in the embodiment of the present application and compares it with the virtual machine placement strategy based on the CS algorithm and the virtual machine placement strategy based on MOGWO.
[0181] Specifically, N virtual machines and parameters are obtained during the experiment ( etc.) and M physical machines and parameters available for placement ( etc.), define energy consumption, resource waste and network traffic models and constraints: define resource waste as the ratio of the balance of the remaining resources of the physical machine after the virtual machine placement plan is executed to the sum of the physical machine resource utilization, and define the communication cost as the product of the number of switches passed by the virtual machines and the communication traffic demand. Use the HMOGWO algorithm, CS algorithm and MOGWO algorithm to select and execute the virtual machine placement plan. Specific parameter settings:
[0182] The experiment uses two physical machine types, which are set as follows: physical machine type 1 (CPU: 40000 MIPS, memory: 32G, peak power consumption: 550W) and physical machine type 2 (CPU: 24000 MIPS, memory: 16G, peak power consumption: 420W). The number of the two physical machines is half. For each virtual machine, its CPU demand is randomly distributed in the interval [1000, 5000] MIPS, and its memory demand is randomly distributed in the interval [1.5, 5] GB. Considering that most of the services in the data center are small in scale and the proportion of services with large traffic rates is less than 1 / 10, the distribution of communication traffic between virtual machines is set as: 7 / 8 is distributed in [0, 10] Mbps, and 1 / 8 is distributed in [30, 50] Mbps. The experiment simulates the energy consumption, resource waste, and communication cost when there are 50 physical hosts and 30, 50, 70, and 90 virtual machines are deployed respectively. Each group of experiments is run 30 times, and the average is taken as the final result. For the three different virtual machine placement strategies, the initial virtual machine placement plan set capacity is uniformly set to 30, and the maximum number of iterations is set to 200. Comparison results Figure 6 , Figure 7 and Figure 8 shown.
[0183] Depend on Figure 5 , Figure 6 and Figure 7 It can be seen that under different virtual machine scales, the HMOGWO virtual machine placement strategy based on the embodiment of the present application has a certain degree of optimization in terms of energy consumption, resource waste and communication cost compared with the MOGWO virtual machine placement strategy based on CS and the virtual machine placement strategy based on the standard MOGWO algorithm, achieving the optimization goals of minimizing energy consumption, minimizing resource waste and minimizing virtual machine communication cost, and as the scale of virtual machines increases, the implementation method of the embodiment of the present application can still maintain superior performance.
[0184] The embodiment of the present application also provides a deployment device for a deployment object in a cloud platform, such as Fig. 9 As shown, including:
[0185] An acquisition module 901 is used to acquire first information of an object to be deployed and second information of a candidate physical machine;
[0186] A construction module 902 is used to construct an optimization model according to the first information and the second information, wherein the optimization target of the optimization model is related to at least two of energy consumption, resource consumption and communication cost;
[0187] A selection module 903 is used to select a deployment solution that meets the optimization goal by using an improved HMOGWO algorithm;
[0188] The deployment module 904 is used to deploy the to-be-deployed object on at least some of the candidate physical machines according to the deployment plan.
[0189] Wherein, the selection module 903 includes:
[0190] A first generating submodule, used for generating a deployment request sequence based on the object to be deployed;
[0191] An initialization submodule, used to initialize HMOGWO algorithm parameters, wherein the HMOGWO algorithm parameters include a nonlinear convergence factor and a synergy vector;
[0192] A second generation submodule is used to generate an initial deployment solution set corresponding to the to-be-deployed object in the deployment request sequence according to the resource utilization balancing requirement of the candidate physical machine;
[0193] A sorting submodule, used for performing non-dominated sorting on the solutions in the initial deployment solution set, obtaining non-dominated solutions, and establishing an archived solution set storing the non-dominated solutions;
[0194] The updating submodule is used to iteratively update the HMOGWO algorithm parameters and the archive solution set, and when the number of iterative updates reaches the maximum number of iterations, determine that the optimal solution in the updated archive solution set is the deployment solution that meets the optimization target of the optimization model.
[0195] Wherein, the second generation submodule includes:
[0196] A first selection unit, configured to select a target physical machine for each of the objects to be deployed in the deployment request sequence from among the candidate physical machines according to a resource utilization balancing requirement of the candidate physical machines;
[0197] A generating unit, configured to generate an original deployment solution set according to the target physical machine;
[0198] A reverse learning unit, used for performing reverse learning on the original deployment solution set to obtain a reverse deployment solution set;
[0199] A merging unit is used to merge the original deployment solution set and the reverse deployment solution set to obtain the initial deployment solution set.
[0200] Wherein, the first selection unit includes:
[0201] A first calculation subunit is used to calculate, for any sequence in the deployment request sequence, a probability that each candidate physical machine is in a resource-balanced state after any to-be-deployed object in the sequence is deployed on each candidate physical machine;
[0202] A first determining subunit, configured to determine the priority of each of the candidate physical machines according to the probability;
[0203] The selection subunit is used to select a target physical machine for any object to be deployed according to the priority of the candidate physical machine.
[0204] Wherein, the update submodule includes:
[0205] A first updating unit, configured to update HMOGWO algorithm parameters according to the maximum number of iterations and the current number of iterations;
[0206] A second selection unit, configured to select an optimal solution, a second optimal solution and a third optimal solution from the archived solution set;
[0207] A second updating unit is configured to update the position of each scheme to be updated in the archived scheme set according to the position of the optimal scheme, the suboptimal scheme and the third optimal scheme, the updated HMOGWO algorithm parameters, and the degree of difference between the scheme to be updated and the optimal scheme, the suboptimal scheme and the third optimal scheme; wherein the scheme to be updated is other schemes in the archived scheme set except the optimal scheme, the suboptimal scheme and the third optimal scheme;
[0208] The third updating unit is used to update the archived solution set by performing non-dominated sorting on the to-be-updated solution, the optimal solution, the suboptimal solution and the third optimal solution after each update position, and based on the updated archived solution set, execute the step of "updating the HMOGWO algorithm parameters according to the maximum number of iterations and the current number of iterations" until the number of iterative updates reaches the maximum number of iterations.
[0209] Wherein, the first updating unit comprises:
[0210] A first updating subunit, configured to update the nonlinear convergence factor according to the maximum number of iterations and the current number of iterations, wherein the nonlinear convergence factor includes a sine convergence factor and a cosine convergence factor;
[0211] A second updating subunit, configured to update the A vector in the coordination vector according to one of the updated sine convergence factor and the updated cosine convergence factor, and a first random number;
[0212] The third updating subunit is used to update the C vector in the coordination vector according to the second random number.
[0213] Wherein, the second updating unit comprises:
[0214] a second calculation subunit, configured to calculate a first guiding position, a second guiding position, and a third guiding position of the scheme to be updated relative to each of the optimal scheme, the suboptimal scheme, and the third optimal scheme according to the updated HMOGWO algorithm parameters, the current position of the scheme to be updated, the position of the optimal scheme, the position of the suboptimal scheme, and the position of the third optimal scheme;
[0215] A second determination subunit is used to determine a first preference weight, a second preference weight, and a third preference weight for updating the position of the scheme to be updated to the position of each of the optimal scheme, the suboptimal scheme, and the third optimal scheme according to the degree of difference between the scheme to be updated and each of the optimal scheme, the suboptimal scheme, and the third optimal scheme;
[0216] The fourth updating subunit is configured to update the position of the to-be-updated solution according to the first guiding position, the second guiding position, the third guiding position, the first preference weight, the second preference weight, and the third preference weight.
[0217] The first information includes the number of the objects to be deployed and / or the resource requirement of each of the objects to be deployed;
[0218] The second information includes the number of the candidate physical machines and / or the available resource amount of each of the candidate physical machines;
[0219] The resources corresponding to the resource demand and the resource available include at least two items of a central processing unit (CPU), a memory and a network.
[0220] It should be noted here that the deployment device for deployment objects in the above-mentioned cloud platform provided in the embodiment of the present application can implement all the method steps implemented in the deployment method embodiment of the above-mentioned cloud platform, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.
[0221] An embodiment of the present application also provides a deployment device for deployment objects in a cloud platform, comprising a transceiver 1010, a processor 1000, a memory 1020, and a program stored on the memory 1020 and executable on the processor 1000; wherein, when the processor 1000 executes the program, the deployment method for deployment objects in the cloud platform as described above is implemented.
[0222] The transceiver 1010 is used to receive and send data under the control of the processor 1000.
[0223] Among them, Fig.10In the embodiment, the bus architecture may include any number of interconnected buses and bridges, specifically one or more processors represented by processor 1000 and various circuits of memory represented by memory 1020 are linked together. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and are therefore not further described herein. The bus interface provides an interface. The transceiver 1010 may be a plurality of components, namely, a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium. For different devices, the user interface 1030 may also be an interface capable of externally connecting or internally connecting required devices, and the connected devices include but are not limited to a keypad, a display, a speaker, a microphone, a joystick, and the like.
[0224] The processor 1000 is responsible for managing the bus architecture and general processing, and the memory 1020 can store data used by the processor 1000 when performing operations.
[0225] An embodiment of the present application also provides a readable storage medium on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps in the deployment method of the deployment object in the cloud platform as described above are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0226] The processor is a processor in the device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0227] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, disk, CD), and includes a number of instructions for a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0228] Therefore, an embodiment of the present application also provides a computer program product, including computer instructions, which, when executed by a processor, implement the deployment method of deployment objects in the cloud platform as described above, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0229] The above exemplary embodiments are described with reference to the accompanying drawings, and many different forms and embodiments are feasible without departing from the spirit and teachings of the present application. Therefore, the present application should not be constructed as a limitation of the exemplary embodiments proposed herein. More specifically, these exemplary embodiments are provided so that the present application will be perfect and complete, and the scope of the present application will be conveyed to those who are familiar with the technology. In these figures, the component sizes and relative sizes may be exaggerated for clarity. The terms used here are only based on the purpose of describing specific exemplary embodiments and are not intended to be limiting. As used herein, unless the text clearly indicates otherwise, the singular forms "one", "an" and "the" are intended to include these multiple forms. It will be further understood that the terms "comprising" and / or "including" when used in this specification indicate the presence of the features, integers, steps, operations, components and / or components, but do not exclude the presence or increase of one or more other features, integers, steps, operations, components, components and / or their groups. Unless otherwise indicated, when stated, a range of values includes the upper and lower limits of that range and any subranges therebetween.
[0230] The above is a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles described in the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A method for deploying a deployment object in a cloud platform, characterized in that: include: Acquire first information of the object to be deployed and second information of the candidate physical machine; constructing an optimization model according to the first information and the second information, wherein an optimization target of the optimization model is related to at least two of energy consumption, resource consumption, and communication cost; Using an improved hybrid multi-objective grey wolf optimization HMOGWO algorithm, a deployment scheme that meets the optimization objective is selected; According to the deployment plan, the to-be-deployed object is deployed on at least some of the candidate physical machines.
2. The method according to claim 1, characterized in that Using the improved hybrid multi-objective grey wolf optimization HMOGWO algorithm, a deployment scheme that meets the optimization goal is selected, including: Based on the object to be deployed, generating a deployment request sequence; Initializing HMOGWO algorithm parameters, wherein the HMOGWO algorithm parameters include a nonlinear convergence factor and a synergy vector; Generating an initial deployment solution set corresponding to the to-be-deployed object in the deployment request sequence according to the resource utilization balancing requirement of the candidate physical machine; Performing non-dominated sorting on the solutions in the initial deployment solution set to obtain non-dominated solutions, and establishing an archived solution set storing the non-dominated solutions; Iteratively update the HMOGWO algorithm parameters and the archive solution set, and when the number of iterative updates reaches a maximum number of iterations, determine that the optimal solution in the updated archive solution set is the deployment solution that meets the optimization target of the optimization model.
3. The method according to claim 2, characterized in that Generating an initial deployment solution set corresponding to the to-be-deployed object in the deployment request sequence according to the resource utilization balancing requirement of the candidate physical machine, including: According to the resource utilization balance requirements of the candidate physical machines, selecting a target physical machine for each of the objects to be deployed in the deployment request sequence from among the candidate physical machines; Generate an original deployment solution set according to the target physical machine; Performing reverse learning on the original deployment solution set to obtain a reverse deployment solution set; The original deployment solution set and the reverse deployment solution set are merged to obtain the initial deployment solution set.
4. The method according to claim 3, characterized in that According to the resource utilization balance requirement of the candidate physical machines, selecting a target physical machine for each of the objects to be deployed in the deployment request sequence from the candidate physical machines includes: For any sequence in the deployment request sequence, calculate the probability that each candidate physical machine is in a resource-balanced state after any to-be-deployed object in the sequence is deployed on each candidate physical machine; Determining the priority of each of the candidate physical machines according to the probability; A target physical machine is selected for any object to be deployed according to the priorities of the candidate physical machines.
5. The method according to claim 2, characterized in that: Iteratively updating the HMOGWO algorithm parameters and the archiving solution set, including: Update HMOGWO algorithm parameters according to the maximum number of iterations and the current number of iterations; Selecting the best solution, the second best solution and the third best solution from the archived solution set; For each scheme to be updated in the archived scheme set, according to the positions of the optimal scheme, the suboptimal scheme and the third optimal scheme, the updated HMOGWO algorithm parameters, and the degree of difference between the scheme to be updated and the optimal scheme, the suboptimal scheme and the third optimal scheme, the position of the scheme to be updated is updated; wherein the scheme to be updated is other schemes in the archived scheme set except the optimal scheme, the suboptimal scheme and the third optimal scheme; The archived solution set is updated by performing non-dominated sorting on the to-be-updated solution, the optimal solution, the suboptimal solution, and the third optimal solution after each update position, and based on the updated archived solution set, the step of "updating the HMOGWO algorithm parameters according to the maximum number of iterations and the current number of iterations" is performed again until the number of iterative updates reaches the maximum number of iterations.
6. The method according to claim 5, characterized in that According to the maximum number of iterations and the current number of iterations, the HMOGWO algorithm parameters are updated, including: updating the nonlinear convergence factor according to the maximum number of iterations and the current number of iterations, wherein the nonlinear convergence factor includes a sine convergence factor and a cosine convergence factor; Update the A vector in the cooperation vector according to one of the updated sine convergence factor and the updated cosine convergence factor, and a first random number; According to the second random number, the C vector in the cooperation vector is updated.
7. The method according to claim 5, characterized in that Updating the position of the scheme to be updated according to the positions of the optimal scheme, the suboptimal scheme and the third optimal scheme, the updated HMOGWO algorithm parameters, and the degree of difference between the scheme to be updated and the optimal scheme, the suboptimal scheme and the third optimal scheme, comprises: Calculate, according to the updated HMOGWO algorithm parameters, the current position of the scheme to be updated, the position of the optimal scheme, the position of the suboptimal scheme, and the position of the third optimal scheme, a first guiding position, a second guiding position, and a third guiding position of the scheme to be updated relative to each of the optimal scheme, the suboptimal scheme, and the third optimal scheme; Determine, according to the degree of difference between the scheme to be updated and each of the optimal scheme, the suboptimal scheme and the third optimal scheme, a first preference weight, a second preference weight and a third preference weight for updating the position of the scheme to be updated to the position of each of the optimal scheme, the suboptimal scheme and the third optimal scheme; The position of the to-be-updated solution is updated according to the first guiding position, the second guiding position, the third guiding position, the first preference weight, the second preference weight, and the third preference weight.
8. The method according to claim 1, characterized in that: The first information includes the number of the objects to be deployed and / or the resource requirement of each of the objects to be deployed; The second information includes the number of the candidate physical machines and / or the available resource amount of each of the candidate physical machines; The resources corresponding to the resource demand and the resource available include at least two items of a central processing unit (CPU), a memory and a network.
9. A deployment device for a deployment object in a cloud platform, characterized in that: include: An acquisition module, used to acquire first information of the object to be deployed and second information of the candidate physical machine; A construction module, configured to construct an optimization model according to the first information and the second information, wherein an optimization target of the optimization model is related to at least two of energy consumption, resource consumption and communication cost; A selection module, used to select a deployment scheme that meets the optimization goal by using an improved HMOGWO algorithm; A deployment module is used to deploy the to-be-deployed object on at least some of the candidate physical machines according to the deployment plan.
10. A device for deploying objects in a cloud platform, comprising a transceiver, a processor, a memory, and a program stored in the memory and executable on the processor; characterized in that: When the processor executes the program, a method for deploying a deployment object in a cloud platform according to any one of claims 1 to 8 is implemented.
11. A readable storage medium having a program or instruction stored thereon, characterized in that: When the program or instruction is executed by the processor, the deployment method of the deployment object in the cloud platform as described in any one of claims 1 to 8 is implemented.
12. A computer program product, characterized in that It comprises computer instructions, which, when executed by a processor, implement the method for deploying a deployment object in a cloud platform as described in any one of claims 1 to 8.