WO2024011860A1 - Cloud operating system deployment method and device - Google Patents

Cloud operating system deployment method and device Download PDF

Info

Publication number
WO2024011860A1
WO2024011860A1 PCT/CN2022/141608 CN2022141608W WO2024011860A1 WO 2024011860 A1 WO2024011860 A1 WO 2024011860A1 CN 2022141608 W CN2022141608 W CN 2022141608W WO 2024011860 A1 WO2024011860 A1 WO 2024011860A1
Authority
WO
WIPO (PCT)
Prior art keywords
management
remaining
nodes
preset
resource information
Prior art date
Application number
PCT/CN2022/141608
Other languages
French (fr)
Chinese (zh)
Inventor
杨帆
何玥
刘磊
闫海娜
Original Assignee
天翼云科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 天翼云科技有限公司 filed Critical 天翼云科技有限公司
Publication of WO2024011860A1 publication Critical patent/WO2024011860A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources

Definitions

  • the present invention relates to the field of cloud computing technology, and in particular, to a cloud operating system deployment method and device.
  • Cloud computing is a popular technology field in recent years. It can obtain the required resources from a configurable resource sharing pool anytime, anywhere, conveniently and on demand. Resources can be quickly supplied and released, which reduces the workload of resource management and service provision. Business interactions are reduced to a minimum. Among them, in the practice of DevOps (a combination of Development and Operations) of cloud operating systems, testing of different features cannot be completed on the same cloud operating system, so multiple cloud operating systems are needed to test different features.
  • DevOps a combination of Development and Operations
  • one cloud operating system is generally deployed in a server cluster, so that when multiple cloud operating systems need to be deployed, multiple server clusters are required, which is costly.
  • Embodiments of the present application provide a cloud operating system deployment method and device for deploying multiple cloud operating systems on a server cluster to save costs.
  • a cloud operating system deployment method applied to a first server cluster, and the method includes:
  • the first request is used to request the deployment of a first management service corresponding to the first cloud operating system, and the first request includes the number of management nodes required by the first management service;
  • the remaining resource information of multiple preset management nodes wherein the multiple preset management nodes belong to the first server cluster, and the remaining resource information is the operation of the second cloud when the multiple preset management nodes are deployed.
  • the target management node corresponding to the first management service is determined based on the remaining resource information and the number of management nodes.
  • determining the target management node based on the remaining resource information and the number of management nodes includes:
  • the target management node is determined based on the remaining resource information of the second preset management node and the number of management nodes; wherein the second preset management node is the plurality of preset management nodes except the first preset management node. Set other default management nodes besides the management node.
  • the remaining resource information includes remaining central processing unit information, remaining memory capacity information and remaining network resource information, and the first preset method for determining that the remaining resource information in the plurality of preset management nodes does not meet preset conditions is Set up management nodes, including:
  • any ratio among the first preset management nodes is less than the corresponding threshold, it is determined that the remaining resource information of the first preset management node does not meet the preset condition.
  • determining the target management node based on the remaining resource information and the number of management nodes includes:
  • the target management node is determined based on the remaining resource information, the correlation coefficient and the number of management nodes.
  • determining the target management node based on the remaining resource information, the correlation coefficient and the number of management nodes includes:
  • Score each preset management node based on the remaining resource information and the correlation coefficient; wherein the score is used to indicate the degree to which each preset management node meets the deployment of the first management service;
  • the target management node is determined based on the sorting result and the number of management nodes.
  • the method also includes:
  • a second computing node is randomly determined from the plurality of first computing nodes as the target computing node corresponding to the computing service.
  • the port used by the second cloud operating system is different from that used by the first cloud operating system.
  • a cloud operating system deployment device applied to a first server cluster, and the device includes:
  • a communication module configured to receive a first request; wherein the first request is used to request the deployment of a first management service corresponding to the first cloud operating system, and the first request includes the management required by the first management service. number of nodes;
  • a processing module configured to obtain remaining resource information of multiple preset management nodes; wherein the multiple preset management nodes belong to the first server cluster, and the remaining resource information is the location of the multiple preset management nodes. The remaining available resources after deploying the second management service corresponding to the second cloud operating system;
  • the processing module is further configured to determine a target management node corresponding to the first management service based on the remaining resource information and the number of management nodes.
  • processing module is specifically used for:
  • the target management node is determined based on the remaining resource information of the second preset management node and the number of management nodes; wherein the second preset management node is the plurality of preset management nodes except the first preset management node. Set other default management nodes besides the management node.
  • the remaining resource information includes remaining CPU information, remaining memory capacity information and remaining network resource information.
  • the processing module is specifically used to:
  • any ratio among the first preset management nodes is less than the corresponding threshold, it is determined that the remaining resource information of the first preset management node does not meet the preset condition.
  • processing module is specifically used for:
  • the target management node is determined based on the remaining resource information, the correlation coefficient and the number of management nodes.
  • processing module is specifically used for:
  • Score each preset management node based on the remaining resource information and the correlation coefficient; wherein the score is used to indicate the degree to which each preset management node meets the deployment of the first management service;
  • the target management node is determined based on the sorting result and the number of management nodes.
  • the communication module is also used for:
  • a second computing node is randomly determined from the plurality of first computing nodes as the target computing node corresponding to the computing service.
  • the port used by the second cloud operating system is different from that used by the first cloud operating system.
  • an electronic device in a third aspect, includes:
  • Memory used to store program instructions
  • a processor configured to call program instructions stored in the memory, and execute the steps included in any of the methods described in the first aspect according to the obtained program instructions.
  • a computer-readable storage medium stores computer-executable instructions.
  • the computer-executable instructions are used to cause a computer to execute any of the methods included in the first aspect. step.
  • a computer program product containing instructions is provided.
  • the computer program product When the computer program product is run on a computer, it causes the computer to execute the cloud operating system deployment method described in the above various possible implementations.
  • the first request sent by the user is received.
  • the first request is used to request the deployment of the first management service corresponding to the first cloud operating system.
  • the first request includes the number of management nodes required for the first management service, Obtain the remaining resource information of multiple preset management nodes.
  • the multiple preset management nodes belong to the first server cluster.
  • the remaining resource information is the remaining resource information of the multiple preset management nodes after deploying the second management service corresponding to the second cloud operating system. available resources, and determine the target management node corresponding to the first management service based on the remaining resource information and the number of management nodes.
  • the multiple preset management nodes of the first server cluster of the present application deploy the second management service
  • they receive the user's request to deploy the first management service they can also obtain the remaining resources of the multiple preset management nodes.
  • Resource information deploy the first management service based on the remaining resource information, and deploy multiple cloud operating systems in one server cluster by reusing the management nodes in the first server cluster through the management services corresponding to multiple cloud operating systems, thereby saving costs.
  • Figure 1 is a structural diagram of a server cluster provided by an embodiment of the present application.
  • FIG. 2 is a structural diagram of another server cluster provided by an embodiment of the present application.
  • FIG. 3 is a structural block diagram of a control node provided by an embodiment of the present application.
  • Figure 4 is a flow chart of a cloud operating system deployment method provided by an embodiment of the present application.
  • FIG. 5 is an interaction diagram of each module in the control node provided by the embodiment of this application.
  • Figure 6 is a structural block diagram of a cloud operating system deployment device provided by an embodiment of the present application.
  • Figure 7 is a schematic structural diagram of a computer device in an embodiment of the present invention.
  • the first server cluster 10 includes a control node 101, a management node 102 and a computing node 103.
  • the control node 101 is used to deploy management services corresponding to the cloud operating system in the management node 102.
  • the computing node 103 Deploying computing services corresponding to the cloud operating system, that is, the cloud operating system deployment method provided in the embodiments of this application is mainly implemented through the control node 101.
  • the number of servers included in the control node 101, the management node 102 and the computing node 103 included in the first server cluster 10 can be determined according to actual needs.
  • each server is not A node is limited by the number of servers it contains.
  • the control node 101 receives the first request sent by the user, obtains the remaining resource information of the management node 102, and selects the corresponding management node from the management node 102 based on the remaining resource information and the number of management nodes included in the first request.
  • the node serves as the target management node for deploying the first management service corresponding to the first cloud operating system.
  • the first server cluster includes 10 servers.
  • servers 1-3 are preset as control nodes, servers 4-7 are used as management nodes, servers 8-10 are used as computing nodes, and any one of servers 1-3
  • the server determines that deploying the first management service corresponding to the first cloud operating system requires three copies of deployment (that is, the number of management nodes required for the first management service is 3), and obtains the remaining resources of servers 4-7 information, select 3 servers from servers 4-7 as target management nodes for deploying the first management service based on the remaining resource information of the server 4-7, for example, select servers 4, 5, and 6 as targets for deploying the first management service.
  • Management node Management node.
  • control node 103 provided by the embodiment of the present application includes an application programming interface (Application Programming Interface, API) module 103-1, a scheduling module 103-2, and a collection module 103 -3.
  • API Application Programming Interface
  • API module 103-1 is used to provide a Restful-style API interface to the outside world. Users can interact with data through command line tools (Command Line Interface, CLI) or by sending Hyper Text Transfer Protocol (Hyper Text Transfer Protocol, HTTP) messages. .
  • CLI Common Line Interface
  • HTTP Hyper Text Transfer Protocol
  • the API module provides the functions of adding (deploying), deleting, modifying, and querying the cloud operating system, adding (deploying), deleting, and querying the computing nodes of the cloud operating system, and the resources of the first server cluster (CPU, memory, remaining ports) Update and query functions; as well as parameter verification, parameter format processing, configuration file inspection, image inspection, etc.
  • the scheduling module 103-2 is used to select management nodes and computing nodes from the first server cluster, and deploy management services and computing services corresponding to the cloud operating system.
  • the collection module 103-3 is connected to the network of each management node, and is used to collect the hardware resource information of each management node and the service status information of the management service corresponding to the cloud operating system, where the hardware resource information of the management node includes CPU, memory , disk, port occupation and other information.
  • Management node service status information includes the status of containers running cloud operating systems, such as nova, cinder, etc.
  • a scheduled task can be built into the collection module 103-3 to regularly trigger the task of collecting the aforementioned hardware resource information and the service status information of the management service corresponding to the cloud operating system.
  • the collection module 103-3 Ansible can be used to collect the aforementioned hardware resource information and the service status information of the management service corresponding to the cloud operating system (such as docker stats, etc.).
  • Deployment module 103-4 is used to deploy on a designated host (the host refers to the server where the container running the cloud operating system is located, including the container running the management service corresponding to the cloud operating system and the container running the computing service corresponding to the cloud operating system). Deploy and clear the cloud operating system on the server (for example, the management node and computing node described in the embodiment of this application). Specifically, it includes deploying and clearing the management node and computing node corresponding to the cloud operating system, and it is necessary before deploying the management service. Allocate port numbers for different cloud operating systems and different services (services of the same type in different cloud operating systems are distinguished based on the combination of IP address and port number).
  • the control node since port numbers of different cloud operating systems and different services need to be allocated in advance, in the embodiment of this application, the control node also needs to be connected to the code hosting platform network, so that the deployment module 103-4 can be connected from the code hosting platform Download the deployment configuration, allocate ports according to the port occupancy of the host, write the deployment configuration file, and finally deploy the host through ansible, initialize the cloud operating system after the deployment is completed, and return the endpoint information and administrator credentials of the cloud operating system information.
  • Database 103-5 is used to save basic information of the cloud operating system and manage node resource occupancy.
  • the database can use MySql, for example, and in order to ensure improved reliability, the database can be deployed in a cluster and backed up regularly.
  • a message queue is used in the embodiment of the present application to asynchronously transmit messages between modules.
  • Step 401 Receive the first request
  • the first request is used to request the deployment of the first management service corresponding to the first cloud operating system, and the first request includes the number of management nodes required for the first management service.
  • the code hosting platform can use gerrit, for example, and the administrator reviews it on the gerrit platform
  • the deployment configuration submitted by the user is merged into the configuration after being reviewed and approved.
  • the user can initiate a first request for deploying the first management service corresponding to the first cloud operating system.
  • the first request also includes deployment parameters submitted by the user. Therefore, when receiving the first request, the aforementioned API module can also be used to verify whether the parameters submitted by the user are legal, whether there is a mirror, etc. , and execute step 402 after the verification passes. If the verification fails, an error is returned to instruct the user to resubmit the deployment parameters.
  • Step 402 Obtain the remaining resource information of multiple preset management nodes
  • the first server cluster includes a control node for deploying the cloud operating system, a management node for deploying management services corresponding to the cloud operating system, and a management node for deploying the cloud operating system.
  • Computing nodes that deploy computing services corresponding to the cloud operating system, where the management nodes used to deploy management services corresponding to the cloud operating system are the plurality of preset management nodes described in the embodiments of this application.
  • the remaining resource information is the remaining available resources of multiple preset management nodes after deploying the second management service corresponding to the second cloud operating system.
  • the remaining resource information includes remaining central processor information and remaining memory. Capacity information and remaining network resource information. It should be noted that the specific content included in the above remaining resource information is exemplary. During the specific implementation process, it may also include other information (remaining disk capacity information and remaining port number information), and other information also belongs to this application. Protection scope of the embodiment.
  • each server in the first server cluster is configured with a 40-core CPU, 384GB of memory and 6 network cards (including: 4 Gigabit network cards and 2 10G network cards).
  • 6 network cards including: 4 Gigabit network cards and 2 10G network cards.
  • bond1 is used for the cloud operating system management network
  • two Gigabit network cards are used as bond1 for the cloud operating system business network
  • two 10G network cards are used as bond1 for the cloud operating system storage external network (if there is distributed storage).
  • the resource information used by the second management service corresponding to the second cloud operating system i.e., the multiple preset management nodes
  • the usage information of each preset management node in the management node) and the configuration information of each preset management node determine the remaining resource information, Specifically, it includes determining remaining CPU information, remaining memory capacity information, remaining disk capacity information, and remaining port number information.
  • Step 403 Determine the target management node corresponding to the first management service based on the remaining resource information and the number of management nodes.
  • a specific implementation method of determining the target management node corresponding to the first management service based on the remaining resource information and the number of management nodes is provided.
  • a first possible implementation manner determine the first preset management node whose remaining resource information does not meet the preset conditions among multiple preset management nodes, and deploy the first management service corresponding to the remaining resource information of the second preset management node.
  • the number of management nodes determines the target management node, wherein the second default management node is the other default management node among the plurality of default management nodes except the first default management node.
  • each preset management node may be determined based on the remaining resource information of each preset management node among the plurality of preset management nodes.
  • the remaining CPU ratio, remaining memory capacity ratio, remaining disk capacity ratio and remaining port number ratio are determined to determine whether the remaining CPU ratio, remaining memory capacity ratio and remaining network resource ratio are all greater than or equal to the corresponding threshold. If the first predetermined If any ratio among the management nodes is less than the corresponding threshold, it is determined that the remaining resource information of the first preset management node does not meet the preset condition.
  • the Kalman filter load smoothing model structure includes state equation, observation equation, time update equation and observation update equation.
  • L CPU is the CPU load
  • L MEM is the memory load
  • L NET is the network load
  • ⁇ L CPU is the CPU load change rate
  • ⁇ LMEM is the memory load change rate
  • ⁇ L NET is the network load change rate.
  • the time update equation is as follows:
  • P k-1 is the state covariance matrix of the previous iteration
  • Q is the process noise covariance matrix.
  • K g is the Kalman gain
  • H is the coefficient matrix in the observation equation
  • R is the observation noise covariance matrix
  • Y k is the kth observation value, that is Collect the collection results of module 103-3.
  • R is saved in the configuration file.
  • the load situation of each preset management node (the load situation is used to determine the remaining resource information) is only at a certain time.
  • the load situation at a certain time is not stable and cannot reflect each Changes in the preset management node within a period of time. Therefore, the Kalman filter load smoothing model can effectively deal with sudden loads.
  • the comprehensive historical record values of CPU, memory, etc. are used to correct the single load observation results, so that the smoothed load Observed values are more conducive to even scheduling of cloud operating system control services, making the performance of each cloud operating system used for Devops more balanced.
  • target management nodes with sufficient resources to run the container of the first management service corresponding to the first cloud operating system can be selected to avoid the failure of the container of the cloud operating system due to insufficient remaining resources. operating conditions.
  • the second possible implementation method normalize the remaining resource information of each preset management node to obtain a normalized vector, and determine the correlation coefficient between the normalized vector and the resource vector required for the first management service, where , the correlation coefficient is used to indicate the degree of matching between the remaining resources and the resources required by the first management service, and then the target management node is determined based on the remaining resource information, the correlation coefficient and the number of management nodes corresponding to the deployment of the first management service.
  • the formula for determining the correlation coefficient between the normalized vector (for example, vector H) and the resource vector required for the first management service for example, vector D) is as follows:
  • each preset management node can be scored based on the remaining resource information and the correlation coefficient, where the scoring score Used to indicate the extent to which each preset management node meets the deployment of the first management service, and each preset management node is sorted in order from high to low score, based on the sorting result and the management node corresponding to the first management service The number determines the target management node.
  • the formula for scoring each preset management node based on the remaining resource information and correlation coefficient is as follows:
  • is the remaining CPU ratio
  • is the remaining memory capacity ratio
  • is the remaining network resource ratio
  • the first possible implementation mode and the second possible implementation mode mentioned above can be used alone or in combination.
  • the first possible implementation mode and the second possible implementation mode are used in combination, the first possible implementation mode
  • the execution order of the implementation mode and the second possible implementation mode may be random, and is not limited by the embodiments of this application.
  • the control node after determining the target management node corresponding to the deployment of the first management service, the control node selects a port different from that of the second cloud operating system to deploy the first management service, that is, the second deployment of the first cloud operating system and the third
  • the ports used by the two cloud operating systems are different, and the aforementioned target management node synchronizes the image from the mirror platform.
  • the user can also initiate a second request to deploy the computing service corresponding to the first cloud operating system.
  • the control node can determine a plurality of preset computing nodes that have not deployed the computing service.
  • a computing node randomly determines a second computing node from a plurality of first computing nodes as the target computing node corresponding to the computing service.
  • the second request may also include the number of computing nodes required to deploy the computing service, and the control node determines a corresponding number of second computing nodes from the plurality of first computing nodes as targets based on the number. calculate node.
  • each cloud operating system is independent of each other, that is, when the control node determines the computing node to deploy the computing task corresponding to the first cloud operating system, it cannot reuse the computing node corresponding to the deployed second cloud operating system.
  • Compute node for computing tasks For example, there are three servers (server a, server b and server c) in the first server cluster for deploying computing tasks. If server a has deployed the computing service corresponding to the second cloud operating system, the control node determines When deploying the computing service corresponding to the first cloud operating system, the target computing node can only be randomly selected from server b and server c.
  • Figure 5 shows the interaction process of each module in the control node provided by the embodiment of the present application.
  • the specific interaction steps are as follows:
  • Step 1 The API module receives the request initiated by the user to deploy the management service corresponding to the cloud operating system
  • Step 2 The API module performs parameter verification and parameter processing based on the parameters in the request, and detects whether the configuration file exists in the code hosting platform, and detects whether there is a mirror in the mirror platform;
  • Step 3 After the API module successfully verifies the parameters and detects that a configuration file exists on the code hosting platform and a mirror exists on the mirroring platform, it sends scheduling information to the scheduling module;
  • Step 4 The scheduling module sends instruction information to the collection module, instructing the collection module to obtain the usage information of the server;
  • Step 5 The collection module obtains the usage information of the server and sends the obtained results to the scheduling module;
  • Step 6 The scheduling module selects servers that can be used to deploy the aforementioned management services based on the server usage information
  • Step 7 The scheduling module uses the Kalman filter load prediction model to predict the load of each server based on historical collection information
  • Step 8 The scheduling module determines the remaining resource information of each server based on the load prediction results, and scores the server based on the remaining resource information;
  • Step 9 Based on the scoring results, the scheduling module selects N servers as target servers for deploying the aforementioned management services;
  • Step 10 The scheduling module returns the scheduling results to the API module
  • Step 11 The API module triggers the deployment of management services corresponding to the cloud operating system to the deployment module;
  • Step 12 The deployment module obtains the configuration file from the code hosting platform, controls the target server to obtain the image from the mirror platform, and deploys the aforementioned management services on the target server;
  • Step 13 The deployment module controls the target server to start the container running the aforementioned management service on the specified port;
  • Step 14 The deployment module initializes the cloud operating system and returns administrator credential information.
  • FIG. 2 the process of the cloud operation deployment system provided by the embodiment of the present application is explained.
  • OS Operating Systems
  • OS1 and OS2 the process of deploying OS2 is first introduced, and then the process of deploying OS1 is introduced.
  • Step 1 The API module receives a request sent by the user to deploy the second management service corresponding to the second cloud operating system (OS2);
  • OS2 second cloud operating system
  • Step 2 API module verification parameters (at this time, both configuration files and images for deployment exist);
  • Step 3 The collection module obtains the usage information of servers 4-7, including remaining CPU, remaining memory capacity, remaining network resources, remaining disk capacity, remaining number of ports, and the container (docker) running the management service corresponding to the cloud operating system on the server.
  • the CPU usage and memory usage of container therefore, it can be concluded that the CPU and memory usage of the container running the management service corresponding to the cloud operating system on the host are both 0;
  • Step 6 The scheduling module selects servers that can be used for scheduling from servers 4-7 based on the usage information of servers 4-7 in step 5. Among them, since servers 4-7 do not have existing cloud operating systems, it is determined that servers 4-7 can all be used for scheduling;
  • Step 7 The scheduling module uses the Kalman filter model to predict the CPU and memory load of the containers on servers 4-7. At this time, if it is assumed that there was only the collection result of step 5 before, then the server load prediction can be calculated according to formulas (3) and (4) to be 0;
  • Step 8 The scheduling module normalizes the remaining resource (total resources - load) information to obtain a normalized vector, and calculates the specification demand vector of the container running the second management service (i.e., the resource vector required by the second management service) Correlation coefficient with normalized vector;
  • Step 9 The scheduling module scores the servers based on the remaining resource information, correlation coefficient and other information. For example, servers 4-6 are selected for deployment of the second management service (assuming here that the user requires the deployment of a copy of the second cloud operating system 3, that is, The number of management nodes required for the second management service is 3);
  • Step 10 The deployment module deploys the second management service to the server 4-6. Among them, the deployment module randomly selects a port when deploying the second management service;
  • Step 11 The API module receives the request sent by the user to deploy the computing service corresponding to OS2;
  • Step 12 API module verification parameters (at this time, both the configuration and image for deployment exist);
  • Step 13 The collection module collects usage information of servers 8-10. Since there was no cloud operating system in stock before, there are no containers running the computing services corresponding to the cloud operating system on servers 8-10. At this time, the containers running the computing services corresponding to the cloud operating system have a uniform usage rate of the host's CPU and memory. is 0;
  • Step 14 The scheduling module selects servers available for scheduling from servers 8-10 based on the usage information in step 13. Since there was no existing cloud operating system before, servers 8-10 can be used for scheduling. For example, the scheduling module randomly selects server 8 for deploying computing services corresponding to OS2.
  • Step 15 The deployment module deploys the computing service corresponding to OS2 to server 8.
  • Step 1 The API module receives a request sent by the user to deploy the first management service corresponding to the first cloud operating system (OS1);
  • OS1 cloud operating system
  • Step 2 API module verification parameters (at this time, both the configuration and image for deployment exist);
  • Step 3 The collection module collects usage information of servers 4-7. Since OS2 has been deployed in servers 4-6 in the first server cluster before, servers 4-6 have certain CPU and memory loads (for example, the CPU load ratios are 0.1, 0.1, 0.2, and the memory load ratios are 0.1, 0.2, 0.2, the network load is 0.1, 0.1, 0.3), server 7 has no cloud operating system load;
  • Step 4 The scheduling module selects servers that can be used for scheduling from servers 4-7 based on the information in step 3. Since servers 4-7 still have sufficient resources, this step still does not filter any servers;
  • Step 5 The scheduling module uses the Kalman filter model to predict the CPU and memory load of the container running the second management service on the server.
  • the CPU load of servers 4-7 is 0.1, 0.15, 0.2, 0, the memory load is 0.1, 0.15, 0.15, 0, and the network load is 0.1, 0.1, 0.25, 0;
  • Step 6 The scheduling module scores servers 4-7 as 2.84, 2.74, 2.68, and 3.15 according to formula (6). Servers 4-7 are sorted into servers 7, 4, 5, and 6 according to the score from large to small. Therefore, servers 4, 5, and 7 are selected as servers for deploying the first management service;
  • Step 7 The deployment module deploys the first management service to servers 4, 5, and 7. Among them, when the deployment module deploys the first management service, it randomly selects from the remaining ports and does not mix them with the ports for deploying the second management service, so that although the two cloud operating systems share a physical network, they are isolated from each other through the ports;
  • Step 8 The API module receives the request sent by the user to deploy the computing service corresponding to OS1;
  • Step 9 API module verification parameters (at this time, both the configuration and image for deployment exist);
  • Step 10 The collection module collects usage information of servers 8-10.
  • server 8 has been used to deploy computing services corresponding to OS2, and servers 9-10 do not have the management service container of the cloud operating system;
  • Step 11 The scheduling module randomly selects servers that can be used for scheduling from servers 9-10 based on the usage information in step 10. For example, the scheduling module randomly selects server 9 for deploying computing services corresponding to OS1;
  • Step 12 The deployment module deploys the computing service corresponding to OS1 to server 9.
  • the cloud operating system deployment device may be a hardware structure, a software module, or a hardware structure plus a software module.
  • the cloud operating system deployment device can be implemented by a chip system.
  • the chip system can be composed of chips, or can also include chips and other discrete devices.
  • the cloud operating system deployment device includes a communication module 601 and a processing module 602. in:
  • Communication module 601 configured to receive a first request; wherein the first request is used to request the deployment of a first management service corresponding to the first cloud operating system, and the first request includes the information required by the first management service. Number of management nodes;
  • the processing module 602 is used to obtain the remaining resource information of multiple preset management nodes; wherein the multiple preset management nodes belong to the first server cluster, and the remaining resource information is the multiple preset management nodes.
  • the remaining available resources after deploying the second management service corresponding to the second cloud operating system;
  • the processing module 602 is also configured to determine the target management node corresponding to the first management service based on the remaining resource information and the number of management nodes.
  • processing module 602 is specifically used for:
  • the target management node is determined based on the remaining resource information of the second preset management node and the number of management nodes; wherein the second preset management node is the plurality of preset management nodes except the first preset management node. Set other default management nodes besides the management node.
  • the remaining resource information includes remaining CPU information, remaining memory capacity information and remaining network resource information.
  • the processing module 602 is specifically used to:
  • any ratio among the first preset management nodes is less than the corresponding threshold, it is determined that the remaining resource information of the first preset management node does not meet the preset condition.
  • processing module 602 is specifically used for:
  • the target management node is determined based on the remaining resource information, the correlation coefficient and the number of management nodes.
  • processing module 602 is specifically used for:
  • Score each preset management node based on the remaining resource information and the correlation coefficient; wherein the score is used to indicate the degree to which each preset management node meets the deployment of the first management service;
  • the target management node is determined based on the sorting result and the number of management nodes.
  • the communication module 601 is also used to:
  • a second computing node is randomly determined from the plurality of first computing nodes as the target computing node corresponding to the computing service.
  • the port used by the second cloud operating system is different from that used by the first cloud operating system.
  • each functional module in each embodiment of the present application may be integrated into one processing unit. In the device, it can exist physically alone, or two or more modules can be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or software function modules.
  • the electronic device includes at least one processor 701 and a memory 702 connected to the at least one processor.
  • the specific connection medium between the processor 701 and the memory 702 is not limited in the embodiment of this application.
  • Figure 7 In the figure, the connection between the processor 701 and the memory 702 through the bus 700 is taken as an example.
  • the bus 700 is represented by a thick line in Figure 7.
  • the connection methods between other components are only schematically illustrated and are not limiting. .
  • the bus 700 can be divided into an address bus, a data bus, a control bus, etc. For ease of presentation, only one thick line is used to represent it in Figure 7, but it does not mean that there is only one bus or one type of bus.
  • the memory 702 stores instructions that can be executed by at least one processor 701. By executing the instructions stored in the memory 702, at least one processor 701 can perform the steps included in the aforementioned cloud operating system deployment method.
  • the processor 701 is the control center of the electronic device. It can use various interfaces and lines to connect various parts of the entire electronic device. By running or executing instructions stored in the memory 702 and calling data stored in the memory 702, the electronic device various functions and process data to conduct overall monitoring of electronic equipment.
  • the processor 701 may include one or more processing units.
  • the processor 701 may integrate an application processor and a modem processor.
  • the application processor mainly processes operating systems and application programs, and the modem processor Mainly deals with wireless communications. It can be understood that the above-mentioned modem processor may not be integrated into the processor 701.
  • the processor 701 and the memory 702 can be implemented on the same chip, and in some embodiments, they can also be implemented on separate chips.
  • Processor 701 may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, or Implement or execute each method, step and logical block diagram disclosed in the embodiments of this application.
  • a general-purpose processor may be a microprocessor or any conventional processor, etc.
  • the steps of the cloud operating system deployment method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • the memory 702 can be used to store non-volatile software programs, non-volatile computer executable programs and modules.
  • the memory 702 may include at least one type of storage medium, for example, may include flash memory, hard disk, multimedia card, card-type memory, random access memory (Random Access Memory, RAM), static random access memory (Static Random Access Memory, SRAM), Programmable Read Only Memory (PROM), Read Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Magnetic Memory, Disk , CD, etc.
  • Memory 702 is, but is not limited to, any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
  • the memory 702 in the embodiment of the present application can also be a circuit or any other device capable of realizing a storage function, used to store program instructions and/or data.
  • the code corresponding to the cloud operating system deployment method introduced in the previous embodiment can be solidified into the chip, so that the chip can execute the steps of the cloud operating system deployment method during runtime. How? Designing and programming the processor 701 is a technique well known to those skilled in the art, and will not be described in detail here.
  • embodiments of the present application also provide a computing-readable storage medium.
  • the computing-readable storage medium stores computer instructions.
  • the computer instructions When the computer instructions are run on the computer, the computer executes the cloud operating system deployment as mentioned above. Method steps.
  • various aspects of the cloud operating system deployment method provided by this application can also be implemented in the form of a program product, which includes program code.
  • the program product When the program product is run on an electronic device, the program code is used to The detection device is caused to perform the steps in the cloud operating system deployment method according to various exemplary embodiments of the present application described above in this specification.
  • embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment that combines software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory that causes a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction means, the instructions
  • the device implements the functions specified in a process or processes of the flowchart and/or a block or blocks of the block diagram.
  • These computer program instructions may also be loaded onto a computer or other programmable data processing device, causing a series of operating steps to be performed on the computer or other programmable device to produce computer-implemented processing, thereby executing on the computer or other programmable device.
  • Instructions provide steps for implementing the functions specified in a process or processes of a flowchart diagram and/or a block or blocks of a block diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

Embodiments of the present application provide a cloud operating system deployment method and device, for use in deploying a plurality of cloud operating systems on a server cluster, thereby reducing the cost. The method comprises: receiving a first request, wherein the first request is used for requesting to deploy a first management service corresponding to a first cloud operating system, and the first request comprises the number of management nodes required by the first management service; obtaining remaining resource information of a plurality of preset management nodes, wherein the plurality of preset management nodes belong to a first server cluster, and the remaining resource information indicates remaining available resources of the plurality of preset management nodes after a second management service corresponding to a second cloud operating system is deployed; and determining, on the basis of the remaining resource information and the number of management nodes, a target management node corresponding to the first management service.

Description

一种云操作***部署方法及装置A cloud operating system deployment method and device 技术领域Technical field
本发明涉及云计算技术领域,尤其涉及一种云操作***部署方法及装置。The present invention relates to the field of cloud computing technology, and in particular, to a cloud operating system deployment method and device.
背景技术Background technique
云计算是近年来热门的技术领域,它可以实现随时随地、便捷随需地从可配置资源共享池中获取所需的资源,资源能够快速供应并释放,使管理资源的工作量、与服务提供商的交互都减小到最低限度。其中,在云操作***的DevOps(Development和Operations的组合词)实践中,对不同特性的测试不能在同一个云操作***上完成,因此需要多个云操作***用于进行不同特性的测试。Cloud computing is a popular technology field in recent years. It can obtain the required resources from a configurable resource sharing pool anytime, anywhere, conveniently and on demand. Resources can be quickly supplied and released, which reduces the workload of resource management and service provision. Business interactions are reduced to a minimum. Among them, in the practice of DevOps (a combination of Development and Operations) of cloud operating systems, testing of different features cannot be completed on the same cloud operating system, so multiple cloud operating systems are needed to test different features.
技术问题technical problem
目前,部署云操作***时,一般是在一个服务器集群中部署一个云操作***,使得当需要部署多个云操作***时,需要多个服务器集群,成本较高。At present, when deploying a cloud operating system, one cloud operating system is generally deployed in a server cluster, so that when multiple cloud operating systems need to be deployed, multiple server clusters are required, which is costly.
技术解决方案Technical solutions
本申请实施例提供了一种云操作***部署方法及装置,用于在一个服务器集群上部署多个云操作***,节约成本。Embodiments of the present application provide a cloud operating system deployment method and device for deploying multiple cloud operating systems on a server cluster to save costs.
第一方面,提供一种云操作***部署方法,应用于第一服务器集群,所述方法包括:In a first aspect, a cloud operating system deployment method is provided, applied to a first server cluster, and the method includes:
接收第一请求;其中,所述第一请求用于请求部署第一云操作***对应的第一管理服务,所述第一请求中包括所述第一管理服务所需要的管理节点数量;Receive a first request; wherein the first request is used to request the deployment of a first management service corresponding to the first cloud operating system, and the first request includes the number of management nodes required by the first management service;
获取多个预设管理节点的剩余资源信息;其中,所述多个预设管理节点属于所述第一服务器集群,所述剩余资源信息为所述多个预设管理节点在部署第二云操作***对应的第二管理服务之后剩余的可用资源;Obtain the remaining resource information of multiple preset management nodes; wherein the multiple preset management nodes belong to the first server cluster, and the remaining resource information is the operation of the second cloud when the multiple preset management nodes are deployed. The remaining available resources after the second management service corresponding to the system;
基于所述剩余资源信息和所述管理节点数量确定所述第一管理服务对应的目标管理节点。The target management node corresponding to the first management service is determined based on the remaining resource information and the number of management nodes.
可选的,所述基于所述剩余资源信息和所述管理节点数量确定目标管理节点,包括:Optionally, determining the target management node based on the remaining resource information and the number of management nodes includes:
确定所述多个预设管理节点中剩余资源信息不满足预设条件的第一预设管理节点;Determine the first preset management node whose remaining resource information among the plurality of preset management nodes does not meet the preset condition;
基于第二预设管理节点的剩余资源信息和所述管理节点数量确定所述目标管理节点;其中,所述第二预设管理节点为所述多个预设管理节点中除去所述第一预设管理节点之外的其它预设管理节点。The target management node is determined based on the remaining resource information of the second preset management node and the number of management nodes; wherein the second preset management node is the plurality of preset management nodes except the first preset management node. Set other default management nodes besides the management node.
可选的,所述剩余资源信息包括剩余中央处理器信息、剩余内存容量信息和剩余网络资源信息,所述确定所述多个预设管理节点中剩余资源信息不满足预设条件的第一预设管理节 点,包括:Optionally, the remaining resource information includes remaining central processing unit information, remaining memory capacity information and remaining network resource information, and the first preset method for determining that the remaining resource information in the plurality of preset management nodes does not meet preset conditions is Set up management nodes, including:
基于所述剩余资源信息确定每个预设管理节点的剩余中央处理器比率、剩余内存容量比率和剩余网络资源比率;Determine the remaining CPU ratio, remaining memory capacity ratio and remaining network resource ratio of each preset management node based on the remaining resource information;
确定所述剩余中央处理器比率、剩余内存容量比率和剩余网络资源比率是否均大于或等于对应阈值;Determine whether the remaining CPU ratio, remaining memory capacity ratio and remaining network resource ratio are all greater than or equal to the corresponding threshold;
若所述第一预设管理节点中任一比率小于对应阈值,则确定所述第一预设管理节点的剩余资源信息不满足所述预设条件。If any ratio among the first preset management nodes is less than the corresponding threshold, it is determined that the remaining resource information of the first preset management node does not meet the preset condition.
可选的,所述基于所述剩余资源信息和所述管理节点数量确定目标管理节点,包括:Optionally, determining the target management node based on the remaining resource information and the number of management nodes includes:
将每个预设管理节点的剩余资源信息进行归一化处理,得到归一化向量;Normalize the remaining resource information of each preset management node to obtain a normalized vector;
确定所述归一化向量与所述第一管理服务所需资源向量的相关系数;其中,所述相关系数用于指示剩余资源与所述第一管理服务所需资源的匹配程度;Determine the correlation coefficient between the normalized vector and the resource vector required by the first management service; wherein the correlation coefficient is used to indicate the matching degree of the remaining resources and the resources required by the first management service;
基于所述剩余资源信息、所述相关系数和所述管理节点数量确定所述目标管理节点。The target management node is determined based on the remaining resource information, the correlation coefficient and the number of management nodes.
可选的,所述基于所述剩余资源信息、所述相关系数和所述管理节点数量确定所述目标管理节点,包括:Optionally, determining the target management node based on the remaining resource information, the correlation coefficient and the number of management nodes includes:
基于所述剩余资源信息和所述相关系数对所述每个预设管理节点进行评分;其中,评分分值用于指示所述每个预设管理节点符合部署所述第一管理服务的程度;Score each preset management node based on the remaining resource information and the correlation coefficient; wherein the score is used to indicate the degree to which each preset management node meets the deployment of the first management service;
将所述每个预设管理节点按照评分分值从高到底的顺序进行排序;Sort each of the preset management nodes according to the order of score from high to low;
基于排序结果和所述管理节点数量确定所述目标管理节点。The target management node is determined based on the sorting result and the number of management nodes.
可选的,所述方法还包括:Optionally, the method also includes:
接收第二请求;其中,所述第二请求用于请求部署所述第一云操作***对应的计算服务;Receive a second request; wherein the second request is used to request the deployment of a computing service corresponding to the first cloud operating system;
从多个预设计算节点中确定未部署计算服务的多个第一计算节点;Determine a plurality of first computing nodes on which computing services are not deployed from a plurality of preset computing nodes;
从所述多个第一计算节点中随机确定第二计算节点为所述计算服务对应的目标计算节点。A second computing node is randomly determined from the plurality of first computing nodes as the target computing node corresponding to the computing service.
可选的,所述第二云操作***与所述第一云操作***所使用的端口不同。Optionally, the port used by the second cloud operating system is different from that used by the first cloud operating system.
第二方面,提供一种云操作***部署装置,应用于第一服务器集群,所述装置包括:In a second aspect, a cloud operating system deployment device is provided, applied to a first server cluster, and the device includes:
通信模块,用于接收第一请求;其中,所述第一请求用于请求部署第一云操作***对应的第一管理服务,所述第一请求中包括所述第一管理服务所需要的管理节点数量;A communication module, configured to receive a first request; wherein the first request is used to request the deployment of a first management service corresponding to the first cloud operating system, and the first request includes the management required by the first management service. number of nodes;
处理模块,用于获取多个预设管理节点的剩余资源信息;其中,所述多个预设管理节点属于所述第一服务器集群,所述剩余资源信息为所述多个预设管理节点在部署第二云操作系 统对应的第二管理服务之后剩余的可用资源;A processing module configured to obtain remaining resource information of multiple preset management nodes; wherein the multiple preset management nodes belong to the first server cluster, and the remaining resource information is the location of the multiple preset management nodes. The remaining available resources after deploying the second management service corresponding to the second cloud operating system;
所述处理模块,还用于基于所述剩余资源信息和所述管理节点数量确定所述第一管理服务对应的目标管理节点。The processing module is further configured to determine a target management node corresponding to the first management service based on the remaining resource information and the number of management nodes.
可选的,所述处理模块,具体用于:Optional, the processing module is specifically used for:
确定所述多个预设管理节点中剩余资源信息不满足预设条件的第一预设管理节点;Determine the first preset management node whose remaining resource information among the plurality of preset management nodes does not meet the preset condition;
基于第二预设管理节点的剩余资源信息和所述管理节点数量确定所述目标管理节点;其中,所述第二预设管理节点为所述多个预设管理节点中除去所述第一预设管理节点之外的其它预设管理节点。The target management node is determined based on the remaining resource information of the second preset management node and the number of management nodes; wherein the second preset management node is the plurality of preset management nodes except the first preset management node. Set other default management nodes besides the management node.
可选的,所述剩余资源信息包括剩余中央处理器信息、剩余内存容量信息和剩余网络资源信息,所述处理模块,具体用于:Optionally, the remaining resource information includes remaining CPU information, remaining memory capacity information and remaining network resource information. The processing module is specifically used to:
基于所述剩余资源信息确定每个预设管理节点的剩余中央处理器比率、剩余内存容量比率和剩余网络资源比率;Determine the remaining CPU ratio, remaining memory capacity ratio and remaining network resource ratio of each preset management node based on the remaining resource information;
确定所述剩余中央处理器比率、剩余内存容量比率和剩余网络资源比率是否均大于或等于对应阈值;Determine whether the remaining CPU ratio, remaining memory capacity ratio and remaining network resource ratio are all greater than or equal to the corresponding threshold;
若所述第一预设管理节点中任一比率小于对应阈值,则确定所述第一预设管理节点的剩余资源信息不满足所述预设条件。If any ratio among the first preset management nodes is less than the corresponding threshold, it is determined that the remaining resource information of the first preset management node does not meet the preset condition.
可选的,所述处理模块,具体用于:Optional, the processing module is specifically used for:
将每个预设管理节点的剩余资源信息进行归一化处理,得到归一化向量;Normalize the remaining resource information of each preset management node to obtain a normalized vector;
确定所述归一化向量与所述第一管理服务所需资源向量的相关系数;其中,所述相关系数用于指示剩余资源与所述第一管理服务所需资源的匹配程度;Determine the correlation coefficient between the normalized vector and the resource vector required by the first management service; wherein the correlation coefficient is used to indicate the matching degree of the remaining resources and the resources required by the first management service;
基于所述剩余资源信息、所述相关系数和所述管理节点数量确定所述目标管理节点。The target management node is determined based on the remaining resource information, the correlation coefficient and the number of management nodes.
可选的,所述处理模块,具体用于:Optional, the processing module is specifically used for:
基于所述剩余资源信息和所述相关系数对所述每个预设管理节点进行评分;其中,评分分值用于指示所述每个预设管理节点符合部署所述第一管理服务的程度;Score each preset management node based on the remaining resource information and the correlation coefficient; wherein the score is used to indicate the degree to which each preset management node meets the deployment of the first management service;
将所述每个预设管理节点按照评分分值从高到底的顺序进行排序;Sort each of the preset management nodes according to the order of score from high to low;
基于排序结果和所述管理节点数量确定所述目标管理节点。The target management node is determined based on the sorting result and the number of management nodes.
可选的,所述通信模块,还用于:Optionally, the communication module is also used for:
接收第二请求;其中,所述第二请求用于请求部署所述第一云操作***对应的计算服务;Receive a second request; wherein the second request is used to request the deployment of a computing service corresponding to the first cloud operating system;
从多个预设计算节点中确定未部署计算服务的多个第一计算节点;Determine a plurality of first computing nodes on which computing services are not deployed from a plurality of preset computing nodes;
从所述多个第一计算节点中随机确定第二计算节点为所述计算服务对应的目标计算节点。A second computing node is randomly determined from the plurality of first computing nodes as the target computing node corresponding to the computing service.
可选的,所述第二云操作***与所述第一云操作***所使用的端口不同。Optionally, the port used by the second cloud operating system is different from that used by the first cloud operating system.
第三方面,提供一种电子设备,所述电子设备包括:In a third aspect, an electronic device is provided, and the electronic device includes:
存储器,用于存储程序指令;Memory, used to store program instructions;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面中任一所述的方法包括的步骤。A processor, configured to call program instructions stored in the memory, and execute the steps included in any of the methods described in the first aspect according to the obtained program instructions.
第四方面,提供一种计算可读存储介质,所述计算可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面中任一所述的方法包括的步骤。In a fourth aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores computer-executable instructions. The computer-executable instructions are used to cause a computer to execute any of the methods included in the first aspect. step.
第五方面,提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的云操作***部署方法。In a fifth aspect, a computer program product containing instructions is provided. When the computer program product is run on a computer, it causes the computer to execute the cloud operating system deployment method described in the above various possible implementations.
在本申请实施例中,接收用户发送的第一请求,第一请求用于请求部署第一云操作***对应的第一管理服务,第一请求中包括第一管理服务所需要的管理节点数量,获取多个预设管理节点的剩余资源信息,多个预设管理节点属于第一服务器集群,剩余资源信息为多个预设管理节点在部署第二云操作***对应的第二管理服务之后剩余的可用资源,基于剩余资源信息和管理节点数量确定第一管理服务对应的目标管理节点。In this embodiment of the present application, the first request sent by the user is received. The first request is used to request the deployment of the first management service corresponding to the first cloud operating system. The first request includes the number of management nodes required for the first management service, Obtain the remaining resource information of multiple preset management nodes. The multiple preset management nodes belong to the first server cluster. The remaining resource information is the remaining resource information of the multiple preset management nodes after deploying the second management service corresponding to the second cloud operating system. available resources, and determine the target management node corresponding to the first management service based on the remaining resource information and the number of management nodes.
也就是说,本申请第一服务器集群的多个预设管理节点在部署第二管理服务之后,若收到用户部署第一管理服务的请求时,还可以基于获取多个预设管理节点的剩余资源信息,基于剩余资源信息部署第一管理服务,通过多个云操作***对应的管理服务复用第一服务器集群中的管理节点的方式实现在一个服务器集群部署多个云操作***,节约成本。That is to say, after the multiple preset management nodes of the first server cluster of the present application deploy the second management service, if they receive the user's request to deploy the first management service, they can also obtain the remaining resources of the multiple preset management nodes. Resource information, deploy the first management service based on the remaining resource information, and deploy multiple cloud operating systems in one server cluster by reusing the management nodes in the first server cluster through the management services corresponding to multiple cloud operating systems, thereby saving costs.
附图说明Description of drawings
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。In order to more clearly explain the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only for the purpose of the present application. Some examples.
图1为本申请实施例提供的一种服务器集群的结构图;Figure 1 is a structural diagram of a server cluster provided by an embodiment of the present application;
图2为本申请实施例提供的另一种服务器集群的结构图;Figure 2 is a structural diagram of another server cluster provided by an embodiment of the present application;
图3为本申请实施例提供的控制节点的结构框图;Figure 3 is a structural block diagram of a control node provided by an embodiment of the present application;
图4为本申请实施例提供的一种云操作***部署方法的流程图;Figure 4 is a flow chart of a cloud operating system deployment method provided by an embodiment of the present application;
图5为本申请实施例提供的控制节点中每个模块的交互图;Figure 5 is an interaction diagram of each module in the control node provided by the embodiment of this application;
图6为本申请实施例提供的一种云操作***部署装置的结构框图;Figure 6 is a structural block diagram of a cloud operating system deployment device provided by an embodiment of the present application;
图7为本发明实施例中的计算机设备的结构示意图。Figure 7 is a schematic structural diagram of a computer device in an embodiment of the present invention.
本发明的实施方式Embodiments of the invention
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。In order to make the purpose, technical solutions and advantages of the present application more clear, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only These are part of the embodiments of this application, but not all of them. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of this application. If there is no conflict, the embodiments and features in the embodiments in this application can be combined with each other arbitrarily. Also, although a logical order is shown in the flowchart diagrams, in some cases the steps shown or described may be performed in a different order than herein.
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。The terms "first" and "second" in the description and claims of this application and the above-mentioned drawings are used to distinguish different objects, rather than describing a specific sequence. Furthermore, the term "includes" and any variations thereof are intended to cover non-exclusive protection. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally also includes steps or units that are not listed, or optionally also includes Other steps or units inherent to such processes, methods, products or devices. "Multiple" in this application may mean at least two, for example, it may be two, three or more, which is not limited by the embodiment of this application.
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。In addition, the term "and/or" in this article is only an association relationship that describes related objects, indicating that there can be three relationships. For example, A and/or B can mean: A alone exists, and A and B exist simultaneously. There are three cases of B alone. In addition, the character "/" in this article, unless otherwise specified, generally indicates that the related objects are in an "or" relationship.
在介绍本申请实施例提供的云操作***部署方法之前,首先对本申请实施例的技术方案的应用场景做一些简单的介绍。Before introducing the cloud operating system deployment method provided by the embodiments of this application, first, some brief introduction will be made to the application scenarios of the technical solutions of the embodiments of this application.
如图1所示,第一服务器集群10包括控制节点101、管理节点102和计算节点103,其中,控制节点101用于在管理节点102中部署云操作***对应的管理服务,在计算节点103中部署云操作***对应的计算服务,即本申请实施例所提供的云操作***部署方法主要通过控制节点101实现。需要说明的是,本申请实施例中第一服务器集群10中包含的控制节点101、管理节点102和计算节点103包含的服务器的数量可以根据实际需求进行确定,在本申请实施例中不对每个节点包含服务器的数量进行限定。As shown in Figure 1, the first server cluster 10 includes a control node 101, a management node 102 and a computing node 103. The control node 101 is used to deploy management services corresponding to the cloud operating system in the management node 102. In the computing node 103 Deploying computing services corresponding to the cloud operating system, that is, the cloud operating system deployment method provided in the embodiments of this application is mainly implemented through the control node 101. It should be noted that in the embodiment of the present application, the number of servers included in the control node 101, the management node 102 and the computing node 103 included in the first server cluster 10 can be determined according to actual needs. In the embodiment of the present application, each server is not A node is limited by the number of servers it contains.
在本申请实施例中,控制节点101接收用户发送的第一请求,获取管理节点102的剩余资源信息,基于剩余资源信息和第一请求中包括的管理节点数量从管理节点102中选取对应的管理节点,作为部署第一云操作***对应的第一管理服务的目标管理节点。以图2为例,第一服务器集群包括10台服务器,其中,预先设置服务器1-3作为控制节点,服务器4-7作为管理节点,服务器8-10作为计算节点,服务器1-3中任一服务器在接收到第一请求 时,确定部署第一云操作***对应的第一管理服务需要三副本部署(即第一管理服务所需要的管理节点数量为3),获取服务器4-7的剩余资源信息,基于服务器4-7的剩余资源信息从服务器4-7中选择3个服务器作为用于部署第一管理服务的目标管理节点,例如选取服务器4、5、6作为部署第一管理服务的目标管理节点。In this embodiment of the present application, the control node 101 receives the first request sent by the user, obtains the remaining resource information of the management node 102, and selects the corresponding management node from the management node 102 based on the remaining resource information and the number of management nodes included in the first request. The node serves as the target management node for deploying the first management service corresponding to the first cloud operating system. Taking Figure 2 as an example, the first server cluster includes 10 servers. Among them, servers 1-3 are preset as control nodes, servers 4-7 are used as management nodes, servers 8-10 are used as computing nodes, and any one of servers 1-3 When receiving the first request, the server determines that deploying the first management service corresponding to the first cloud operating system requires three copies of deployment (that is, the number of management nodes required for the first management service is 3), and obtains the remaining resources of servers 4-7 information, select 3 servers from servers 4-7 as target management nodes for deploying the first management service based on the remaining resource information of the server 4-7, for example, select servers 4, 5, and 6 as targets for deploying the first management service. Management node.
作为一种可能的实施方式,如图3所示,本申请实施例所提供的控制节点103包括应用程序编程接口(Application Programming Interface,API)模块103-1、调度模块103-2、采集模块103-3、部署模块103-4和数据库103-5。其中,As a possible implementation manner, as shown in Figure 3, the control node 103 provided by the embodiment of the present application includes an application programming interface (Application Programming Interface, API) module 103-1, a scheduling module 103-2, and a collection module 103 -3. Deploy module 103-4 and database 103-5. in,
API模块103-1,用于对外提供Restful风格的API接口,用户通过命令行工具(Command Line Interface,CLI)或通过发送超文本传输协议(Hyper Text Transfer Protocol,HTTP)报文的形式进行数据交互。API模块提供云操作***的增加(部署)、删除、修改、查询的功能,云操作***计算节点的增加(部署)、删除、查询功能以及第一服务器集群的资源(CPU、内存、剩余端口)的更新、查询功能;以及进行参数校验、参数格式处理、配置文件检查、镜像检查等工作。API module 103-1 is used to provide a Restful-style API interface to the outside world. Users can interact with data through command line tools (Command Line Interface, CLI) or by sending Hyper Text Transfer Protocol (Hyper Text Transfer Protocol, HTTP) messages. . The API module provides the functions of adding (deploying), deleting, modifying, and querying the cloud operating system, adding (deploying), deleting, and querying the computing nodes of the cloud operating system, and the resources of the first server cluster (CPU, memory, remaining ports) Update and query functions; as well as parameter verification, parameter format processing, configuration file inspection, image inspection, etc.
调度模块103-2,用于从第一服务器集群中挑选管理节点和计算节点,部署云操作***对应的管理服务和计算服务。The scheduling module 103-2 is used to select management nodes and computing nodes from the first server cluster, and deploy management services and computing services corresponding to the cloud operating system.
采集模块103-3,与每个管理节点网络连通,用于采集每个管理节点的硬件资源信息和云操作***对应的管理服务的服务状态信息,其中,管理节点的硬件资源信息包括CPU、内存、磁盘、端口占用等信息。管理节点服务状态信息包括运行云操作***的容器的状态,如:nova、cinder等。作为一种可能的实施方式,可以在采集模块103-3内置定时任务,定时触发采集前述的硬件资源信息和云操作***对应的管理服务的服务状态信息的任务,具体的,采集模块103-3可以采用ansible采集前述的硬件资源信息和云操作***对应的管理服务的服务状态信息(如:docker stats等)。The collection module 103-3 is connected to the network of each management node, and is used to collect the hardware resource information of each management node and the service status information of the management service corresponding to the cloud operating system, where the hardware resource information of the management node includes CPU, memory , disk, port occupation and other information. Management node service status information includes the status of containers running cloud operating systems, such as nova, cinder, etc. As a possible implementation, a scheduled task can be built into the collection module 103-3 to regularly trigger the task of collecting the aforementioned hardware resource information and the service status information of the management service corresponding to the cloud operating system. Specifically, the collection module 103-3 Ansible can be used to collect the aforementioned hardware resource information and the service status information of the management service corresponding to the cloud operating system (such as docker stats, etc.).
部署模块103-4,用于在指定宿主机(宿主机指运行云操作***的容器所在的服务器,包括运行云操作***对应的管理服务的容器和运行云操作***对应的计算服务的容器所在的服务器,例如,本申请实施例所述的管理节点和计算节点)上部署、清除云操作***,具体的,包括部署、清除云操作***对应的管理节点和计算节点,以及在部署管理服务前需要分配好不同云操作***,不同服务的端口号(不同云操作***的同种类服务根据IP地址和端口号的组合进行区分)。其中,由于需要提前分配好不同云操作***和不同服务的端口号等,因此,在本申请实施例中,控制节点还需要与代码托管平台网络连通,以使部署模块103-4从代码托管平台下载部署配置,根据宿主机的端口占用情况分配端口,写入部署的配 置文件,最后通过ansible部署宿主机,并在部署完成后初始化云操作***,返回该云操作***的端点信息和管理员凭证信息。Deployment module 103-4 is used to deploy on a designated host (the host refers to the server where the container running the cloud operating system is located, including the container running the management service corresponding to the cloud operating system and the container running the computing service corresponding to the cloud operating system). Deploy and clear the cloud operating system on the server (for example, the management node and computing node described in the embodiment of this application). Specifically, it includes deploying and clearing the management node and computing node corresponding to the cloud operating system, and it is necessary before deploying the management service. Allocate port numbers for different cloud operating systems and different services (services of the same type in different cloud operating systems are distinguished based on the combination of IP address and port number). Among them, since port numbers of different cloud operating systems and different services need to be allocated in advance, in the embodiment of this application, the control node also needs to be connected to the code hosting platform network, so that the deployment module 103-4 can be connected from the code hosting platform Download the deployment configuration, allocate ports according to the port occupancy of the host, write the deployment configuration file, and finally deploy the host through ansible, initialize the cloud operating system after the deployment is completed, and return the endpoint information and administrator credentials of the cloud operating system information.
数据库103-5,用于保存云操作***的基本信息,以及管理节点资源占用情况。其中,数据库例如可以采用MySql,且为了保障提升可靠性,数据库可以采用集群的方式部署,并定期备份。Database 103-5 is used to save basic information of the cloud operating system and manage node resource occupancy. Among them, the database can use MySql, for example, and in order to ensure improved reliability, the database can be deployed in a cluster and backed up regularly.
在一种可能的实施方式中,为使API模块与调度模块、采集模块等模块间不同服务进程间通信达到更大的吞吐量,本申请实施例中采用消息队列异步传递模块间消息。In one possible implementation, in order to achieve greater throughput in communication between different service processes between the API module, the scheduling module, the collection module and other modules, a message queue is used in the embodiment of the present application to asynchronously transmit messages between modules.
下面结合说明书附图对本申请实施例提供的云操作***部署方法进行介绍。请参见图4所示,本申请实施例中的云操作***部署方法的流程描述如下:The cloud operating system deployment method provided by the embodiment of the present application is introduced below with reference to the accompanying drawings of the description. Please refer to Figure 4. The process of the cloud operating system deployment method in the embodiment of this application is described as follows:
步骤401:接收第一请求;Step 401: Receive the first request;
其中,第一请求用于请求部署第一云操作***对应的第一管理服务,第一请求中包括第一管理服务所需要的管理节点数量。The first request is used to request the deployment of the first management service corresponding to the first cloud operating system, and the first request includes the number of management nodes required for the first management service.
作为一种可能的实施方式,当用户需要部署第一云操作***时,首先需要提交部署配置到代码托管平台,在本申请实施例中,代码托管平台例如可以采用gerrit,管理员在gerrit平台审阅用户提交的部署配置,并在审阅通过后合入配置。用户在确定合入配置之后,可以发起第一请求,用于部署第一云操作***对应的第一管理服务。As a possible implementation manner, when the user needs to deploy the first cloud operating system, he first needs to submit the deployment configuration to the code hosting platform. In the embodiment of this application, the code hosting platform can use gerrit, for example, and the administrator reviews it on the gerrit platform The deployment configuration submitted by the user is merged into the configuration after being reviewed and approved. After determining the merged configuration, the user can initiate a first request for deploying the first management service corresponding to the first cloud operating system.
作为一种可能的实施方式,第一请求中还包括用户提交的部署参数,因此,在接收到第一请求时,还可以通过前述的API模块校验用户提交的参数是否合法,是否存在镜像等,并在校验通过后执行步骤402,若校验未通过,则返回错误,用于指示用户重新提交部署参数。As a possible implementation, the first request also includes deployment parameters submitted by the user. Therefore, when receiving the first request, the aforementioned API module can also be used to verify whether the parameters submitted by the user are legal, whether there is a mirror, etc. , and execute step 402 after the verification passes. If the verification fails, an error is returned to instruct the user to resubmit the deployment parameters.
步骤402:获取多个预设管理节点的剩余资源信息;Step 402: Obtain the remaining resource information of multiple preset management nodes;
其中,多个预设管理节点属于第一服务器集群,如前所述,第一服务器集群包括用于部署云操作***的控制节点、用于部署云操作***对应的管理服务的管理节点以及用于部署云操作***对应的计算服务的计算节点,其中,用于部署云操作***对应的管理服务的管理节点即为本申请实施例所述的多个预设管理节点。Among them, a plurality of preset management nodes belong to the first server cluster. As mentioned above, the first server cluster includes a control node for deploying the cloud operating system, a management node for deploying management services corresponding to the cloud operating system, and a management node for deploying the cloud operating system. Computing nodes that deploy computing services corresponding to the cloud operating system, where the management nodes used to deploy management services corresponding to the cloud operating system are the plurality of preset management nodes described in the embodiments of this application.
剩余资源信息为多个预设管理节点在部署第二云操作***对应的第二管理服务之后剩余的可用资源,在一种可能的实施方式中,剩余资源信息包括剩余中央处理器信息、剩余内存容量信息和剩余网络资源信息。需要说明的是,上述的剩余资源信息包括的具体内容为示例性的,在具体的实施过程中,还可能包含其他信息(剩余磁盘容量信息和剩余端口数量信息),而其他信息也属于本申请实施例的保护范围。The remaining resource information is the remaining available resources of multiple preset management nodes after deploying the second management service corresponding to the second cloud operating system. In a possible implementation, the remaining resource information includes remaining central processor information and remaining memory. Capacity information and remaining network resource information. It should be noted that the specific content included in the above remaining resource information is exemplary. During the specific implementation process, it may also include other information (remaining disk capacity information and remaining port number information), and other information also belongs to this application. Protection scope of the embodiment.
具体的,例如,配置第一服务器集群中每台服务器40内核的CPU、384GB的内存和6块网卡(包括:千兆网卡4块、万兆网卡2块),其中,两块千兆网卡做bond1用于云操作***管理网,两块千兆网卡做bond1用于云操作***业务网,两块万兆网卡做bond1用于云操作***存储外网(如有分布式存储)。在本申请实施例中,获取多个预设管理节点中每个预设节点的剩余资源信息时,可以基于部署第二云操作***对应的第二管理服务所使用的资源信息(即多个预设管理节点中每个预设管理节点的使用情况信息)和每个预设管理节点的配置信息(即每个预设管理节点在未部署云操作***时的可用资源信息)确定剩余资源信息,具体的,包括确定剩余中央处理器信息、剩余内存容量信息、剩余磁盘容量信息和剩余端口数量信息。Specifically, for example, each server in the first server cluster is configured with a 40-core CPU, 384GB of memory and 6 network cards (including: 4 Gigabit network cards and 2 10G network cards). Among them, two Gigabit network cards are used. bond1 is used for the cloud operating system management network, two Gigabit network cards are used as bond1 for the cloud operating system business network, and two 10G network cards are used as bond1 for the cloud operating system storage external network (if there is distributed storage). In the embodiment of the present application, when obtaining the remaining resource information of each preset node among the multiple preset management nodes, the resource information used by the second management service corresponding to the second cloud operating system (i.e., the multiple preset management nodes) can be obtained. Assume that the usage information of each preset management node in the management node) and the configuration information of each preset management node (that is, the available resource information of each preset management node when the cloud operating system is not deployed) determine the remaining resource information, Specifically, it includes determining remaining CPU information, remaining memory capacity information, remaining disk capacity information, and remaining port number information.
步骤403:基于剩余资源信息和管理节点数量确定第一管理服务对应的目标管理节点。Step 403: Determine the target management node corresponding to the first management service based on the remaining resource information and the number of management nodes.
在本申请实施例中,提供基于剩余资源信息和管理节点数量确定第一管理服务对应的目标管理节点的具体实施方式。In the embodiment of this application, a specific implementation method of determining the target management node corresponding to the first management service based on the remaining resource information and the number of management nodes is provided.
第一种可能的实施方式:确定多个预设管理节点中剩余资源信息不满足预设条件的第一预设管理节点,基于第二预设管理节点的剩余资源信息和部署第一管理服务对应的管理节点数量确定目标管理节点,其中,第二预设管理节点为多个预设管理节点中除去第一预设管理节点的其它预设管理节点。A first possible implementation manner: determine the first preset management node whose remaining resource information does not meet the preset conditions among multiple preset management nodes, and deploy the first management service corresponding to the remaining resource information of the second preset management node. The number of management nodes determines the target management node, wherein the second default management node is the other default management node among the plurality of default management nodes except the first default management node.
上述确定不满预设条件的第一预设管理节点时,作为一种可能的实施方式,可以分别基于多个预设管理节点中每个预设管理节点的剩余资源信息确定每个预设管理节点的剩余中央处理器比率、剩余内存容量比率、剩余磁盘容量比率和剩余端口数量比率,确定剩余中央处理器比率、剩余内存容量比率和剩余网络资源比率是否均大于或等于对应阈值,若第一预设管理节点中任一比率小于对应阈值,则确定第一预设管理节点的剩余资源信息不满足预设条件。其中,在基于多个预设管理节点中每个预设管理节点的剩余资源信息确定每个预设管理节点的剩余中央处理器比率、剩余内存容量比率、剩余磁盘容量比率和剩余端口数量比率之前,还可以获取每个预设管理节点的剩余磁盘容量和剩余端口数量,将剩余磁盘容量和剩余端口数量不满足部署第一管理服务的端口数量的服务器过滤筛除。When determining the first preset management node that is not satisfied with the preset conditions, as a possible implementation, each preset management node may be determined based on the remaining resource information of each preset management node among the plurality of preset management nodes. The remaining CPU ratio, remaining memory capacity ratio, remaining disk capacity ratio and remaining port number ratio are determined to determine whether the remaining CPU ratio, remaining memory capacity ratio and remaining network resource ratio are all greater than or equal to the corresponding threshold. If the first predetermined If any ratio among the management nodes is less than the corresponding threshold, it is determined that the remaining resource information of the first preset management node does not meet the preset condition. Wherein, before determining the remaining CPU ratio, the remaining memory capacity ratio, the remaining disk capacity ratio and the remaining port number ratio of each preset management node based on the remaining resource information of each preset management node among the plurality of preset management nodes , you can also obtain the remaining disk capacity and number of remaining ports of each preset management node, and filter out servers whose remaining disk capacity and number of remaining ports do not meet the number of ports for deploying the first management service.
作为另一种可能的实施方式,可以基于卡尔曼滤波负载平滑模型对多个预设管理节点进行筛选。其中,卡尔曼滤波负载平滑模型结构包括状态方程、观测方程、时间更新方程和观测更新方程。As another possible implementation, multiple preset management nodes can be screened based on the Kalman filter load smoothing model. Among them, the Kalman filter load smoothing model structure includes state equation, observation equation, time update equation and observation update equation.
状态方程如下:The state equation is as follows:
Figure PCTCN2022141608-appb-000001
Figure PCTCN2022141608-appb-000001
其中,L CPU为CPU负载,L MEM为内存负载,L NET为网络负载。ΔL CPU为CPU负载变化速率,Δ LMEM为内存负载变化速率,ΔL NET为网络负载变化速率。 Among them, L CPU is the CPU load, L MEM is the memory load, and L NET is the network load. ΔL CPU is the CPU load change rate, ΔLMEM is the memory load change rate, and ΔL NET is the network load change rate.
观测方程如下:The observation equation is as follows:
Figure PCTCN2022141608-appb-000002
Figure PCTCN2022141608-appb-000002
时间更新方程如下:The time update equation is as follows:
Figure PCTCN2022141608-appb-000003
Figure PCTCN2022141608-appb-000003
其中,
Figure PCTCN2022141608-appb-000004
为状态的时间更新,A为状态方程中的系数矩阵,
Figure PCTCN2022141608-appb-000005
为上一次迭代的预测值,即,
in,
Figure PCTCN2022141608-appb-000004
is the time update of the state, A is the coefficient matrix in the state equation,
Figure PCTCN2022141608-appb-000005
is the predicted value of the previous iteration, that is,
Figure PCTCN2022141608-appb-000006
Figure PCTCN2022141608-appb-000006
Figure PCTCN2022141608-appb-000007
为状态协方差矩阵的时间更新,P k-1为上一次迭代的状态协方差矩阵,Q为过程噪声协方差矩阵。P的初始值和Q均保存于配置文件。
Figure PCTCN2022141608-appb-000007
is the time update of the state covariance matrix, P k-1 is the state covariance matrix of the previous iteration, and Q is the process noise covariance matrix. The initial values of P and Q are saved in the configuration file.
观测更新方程如下:The observation update equation is as follows:
Figure PCTCN2022141608-appb-000008
Figure PCTCN2022141608-appb-000008
其中,K g为卡尔曼增益,H为观测方程中的系数矩阵,R为观测噪声协方差矩阵,Y k为第k次的观测值,即
Figure PCTCN2022141608-appb-000009
采集模块103-3的采集结果。R保存于配 置文件。
Among them, K g is the Kalman gain, H is the coefficient matrix in the observation equation, R is the observation noise covariance matrix, Y k is the kth observation value, that is
Figure PCTCN2022141608-appb-000009
Collect the collection results of module 103-3. R is saved in the configuration file.
在具体的实施过程中,考虑到每个预设管理节点的负载情况(负载情况用于确定剩余资源信息)只是某一时刻的,某一时刻的负载情况并不是稳定的,不能反映出每个预设管理节点在一段时间内的变化,因此,通过卡尔曼滤波负载平滑模型可以有效应对突发的负载,采用CPU、内存等综合的历史记录值校正单次负载观测结果,使得平滑后的负载观测值更有利于云操作***控制服务的均匀调度,使每个用于Devops的云操作***性能更为均衡。以及根据多个预设管理节点的剩余资源信息可以筛选出资源足够让第一云操作***对应的第一管理服务的容器运行的目标管理节点,避免由于剩余资源不足导致云操作***的容器无法正常运行的情况。During the specific implementation process, it is considered that the load situation of each preset management node (the load situation is used to determine the remaining resource information) is only at a certain time. The load situation at a certain time is not stable and cannot reflect each Changes in the preset management node within a period of time. Therefore, the Kalman filter load smoothing model can effectively deal with sudden loads. The comprehensive historical record values of CPU, memory, etc. are used to correct the single load observation results, so that the smoothed load Observed values are more conducive to even scheduling of cloud operating system control services, making the performance of each cloud operating system used for Devops more balanced. And based on the remaining resource information of multiple preset management nodes, target management nodes with sufficient resources to run the container of the first management service corresponding to the first cloud operating system can be selected to avoid the failure of the container of the cloud operating system due to insufficient remaining resources. operating conditions.
第二种可能的实施方式:将每个预设管理节点的剩余资源信息进行归一化处理,得到归一化向量,确定归一化向量与第一管理服务所需资源向量的相关系数,其中,相关系数用于指示剩余资源与第一管理服务所需资源的匹配程度,然后基于剩余资源信息、相关系数和部署第一管理服务对应的管理节点数量确定目标管理节点。其中,确定归一化向量(例如是向量H)与第一管理服务所需资源向量(例如是向量D)的相关系数的公式如下:The second possible implementation method: normalize the remaining resource information of each preset management node to obtain a normalized vector, and determine the correlation coefficient between the normalized vector and the resource vector required for the first management service, where , the correlation coefficient is used to indicate the degree of matching between the remaining resources and the resources required by the first management service, and then the target management node is determined based on the remaining resource information, the correlation coefficient and the number of management nodes corresponding to the deployment of the first management service. The formula for determining the correlation coefficient between the normalized vector (for example, vector H) and the resource vector required for the first management service (for example, vector D) is as follows:
Figure PCTCN2022141608-appb-000010
Figure PCTCN2022141608-appb-000010
具体的,基于剩余资源信息、相关系数和部署第一管理服务对应的管理节点数量确定目标管理节点时,可以基于剩余资源信息和相关系数对每个预设管理节点进行评分,其中,评分分值用于指示每个预设管理节点符合部署第一管理服务的程度,将每个预设管理节点按照评分分值从高到低的顺序进行排序,基于排序结果和第一管理服务对应的管理节点数量确定目标管理节点。其中,基于剩余资源信息和相关系数对每个预设管理节点进行评分的公式如下:Specifically, when determining the target management node based on the remaining resource information, the correlation coefficient and the number of management nodes corresponding to the deployment of the first management service, each preset management node can be scored based on the remaining resource information and the correlation coefficient, where the scoring score Used to indicate the extent to which each preset management node meets the deployment of the first management service, and each preset management node is sorted in order from high to low score, based on the sorting result and the management node corresponding to the first management service The number determines the target management node. Among them, the formula for scoring each preset management node based on the remaining resource information and correlation coefficient is as follows:
score=α+β+γ+r(D,H)         (7)score=α+β+γ+r(D,H) (7)
其中,α为剩余中央处理器比率,β为剩余内存容量比率,γ为剩余网络资源比率。Among them, α is the remaining CPU ratio, β is the remaining memory capacity ratio, and γ is the remaining network resource ratio.
上述的第一种可能的实施方式和第二种可能的实施方式可以单独使用,或者结合使用,当第一种可能的实施方式和第二种可能的实施方式结合使用时,第一种可能的实施方式和第二种可能的实施方式执行顺序可以是随机的,本申请实施例不做限制。The first possible implementation mode and the second possible implementation mode mentioned above can be used alone or in combination. When the first possible implementation mode and the second possible implementation mode are used in combination, the first possible implementation mode The execution order of the implementation mode and the second possible implementation mode may be random, and is not limited by the embodiments of this application.
在本申请实施例中,确定部署第一管理服务对应的目标管理节点之后,控制节点选取与第二云操作***不同的端口部署该第一管理服务,即第二部署第一云操作***和第二云操作***所使用的端口不同,且前述的目标管理节点从镜像平台同步镜像。In this embodiment of the present application, after determining the target management node corresponding to the deployment of the first management service, the control node selects a port different from that of the second cloud operating system to deploy the first management service, that is, the second deployment of the first cloud operating system and the third The ports used by the two cloud operating systems are different, and the aforementioned target management node synchronizes the image from the mirror platform.
在一些其它的实施例中,用户还可以发起部署第一云操作***对应的计算服务的第二请求,此时,控制节点可以从多个预设计算节点中确定未部署计算服务的多个第一计算节点,从多个第一计算节点中随机确定第二计算节点为计算服务对应的目标计算节点。在一种可能的实施方式中,第二请求中还可以包括部署计算服务所需要的计算节点的数量,控制节点根据该数量从多个第一计算节点中确定对应数量的第二计算节点为目标计算节点。需要说明的是,每个云操作***使用的计算节点是相互独立,即控制节点在确定部署第一云操作***对应的计算任务的计算节点时,不能复用已部署第二云操作***对应的计算任务的计算节点。例如,第一服务器集群中有3个服务器(服务器a,服务器b和服务器c)用于部署计算任务,其中,若服务器a已部署了第二云操作***对应的计算服务,则控制节点在确定部署第一云操作***对应的计算服务时,只能从服务器b和服务器c中随机选择目标计算节点。In some other embodiments, the user can also initiate a second request to deploy the computing service corresponding to the first cloud operating system. At this time, the control node can determine a plurality of preset computing nodes that have not deployed the computing service. A computing node randomly determines a second computing node from a plurality of first computing nodes as the target computing node corresponding to the computing service. In a possible implementation, the second request may also include the number of computing nodes required to deploy the computing service, and the control node determines a corresponding number of second computing nodes from the plurality of first computing nodes as targets based on the number. calculate node. It should be noted that the computing nodes used by each cloud operating system are independent of each other, that is, when the control node determines the computing node to deploy the computing task corresponding to the first cloud operating system, it cannot reuse the computing node corresponding to the deployed second cloud operating system. Compute node for computing tasks. For example, there are three servers (server a, server b and server c) in the first server cluster for deploying computing tasks. If server a has deployed the computing service corresponding to the second cloud operating system, the control node determines When deploying the computing service corresponding to the first cloud operating system, the target computing node can only be randomly selected from server b and server c.
为了更好的理解本申请的技术方案,下面将结合具体的实施例对本申请提供的云操作***部署方法进行解释说明。In order to better understand the technical solution of this application, the cloud operating system deployment method provided by this application will be explained below with reference to specific embodiments.
实施例1Example 1
如图5所示,图5为本申请实施例提供的控制节点中每个模块的交互过程,具体交互步骤如下:As shown in Figure 5, Figure 5 shows the interaction process of each module in the control node provided by the embodiment of the present application. The specific interaction steps are as follows:
步骤1:API模块接收用户发起的部署云操作***对应的管理服务的请求;Step 1: The API module receives the request initiated by the user to deploy the management service corresponding to the cloud operating system;
步骤2:API模块基于请求中的参数进行参数校验和参数处理,并检测代码托管平台中是否存在配置文件,以及检测镜像平台中是否存在和镜像;Step 2: The API module performs parameter verification and parameter processing based on the parameters in the request, and detects whether the configuration file exists in the code hosting platform, and detects whether there is a mirror in the mirror platform;
步骤3:API模块在参数校验成功,且检测到代码托管平台存在配置文件,镜像平台存在镜像之后,向调度模块发送调度信息;Step 3: After the API module successfully verifies the parameters and detects that a configuration file exists on the code hosting platform and a mirror exists on the mirroring platform, it sends scheduling information to the scheduling module;
步骤4:调度模块向采集模块发送指示信息,指示采集模块获取服务器的使用情况信息;Step 4: The scheduling module sends instruction information to the collection module, instructing the collection module to obtain the usage information of the server;
步骤5:采集模块获取服务器的使用情况信息,并将获取结果发送给调度模块;Step 5: The collection module obtains the usage information of the server and sends the obtained results to the scheduling module;
步骤6:调度模块根据服务器的使用情况信息筛选可用于部署前述管理服务的服务器;Step 6: The scheduling module selects servers that can be used to deploy the aforementioned management services based on the server usage information;
步骤7:调度模块采用卡尔曼滤波的负载预测模型基于历史采集信息预测每个服务器负载;Step 7: The scheduling module uses the Kalman filter load prediction model to predict the load of each server based on historical collection information;
步骤8:调度模块根据负载预测结果确定每个服务器的剩余资源信息,基于剩余资源信息对服务器进行打分;Step 8: The scheduling module determines the remaining resource information of each server based on the load prediction results, and scores the server based on the remaining resource information;
步骤9:调度模块基于打分结果,挑出N个服务器作为部署前述管理服务的目标服务器;Step 9: Based on the scoring results, the scheduling module selects N servers as target servers for deploying the aforementioned management services;
步骤10:调度模块向API模块返回调度结果;Step 10: The scheduling module returns the scheduling results to the API module;
步骤11:API模块向部署模块触发云操作***对应的管理服务部署;Step 11: The API module triggers the deployment of management services corresponding to the cloud operating system to the deployment module;
步骤12:部署模块从代码托管平台获取配置文件,以及控制目标服务器从镜像平台获取镜像,在目标服务器部署前述管理服务;Step 12: The deployment module obtains the configuration file from the code hosting platform, controls the target server to obtain the image from the mirror platform, and deploys the aforementioned management services on the target server;
步骤13:部署模块控制目标服务器在指定端口启动运行前述管理服务的容器;Step 13: The deployment module controls the target server to start the container running the aforementioned management service on the specified port;
步骤14:部署模块初始化云操作***,并返回管理员凭证信息。Step 14: The deployment module initializes the cloud operating system and returns administrator credential information.
上述实施例中仅列出了部署第一云操作***对应的第一管理服务过程中,控制节点中每个模块的交互过程,而部署第一云操作***对应的计算服务的过程,控制节点中每个模块的交互过程可参考前述交互过程,在此不再赘述。The above embodiment only lists the interaction process of each module in the control node during the process of deploying the first management service corresponding to the first cloud operating system, and the process of deploying the computing service corresponding to the first cloud operating system, the control node The interaction process of each module can be referred to the aforementioned interaction process and will not be described again here.
实施例2Example 2
以图2为例对本申请实施例提供的云操作部署***的过程进行解释说明。在本申请实施例中,以用户创建两个云操作***(Operating System,OS)为例(即OS1和OS2),其中,OS2对应于前述的第二云操作***,OS1对应于前述的第一云操作***,在该实施例中,先介绍部署OS2的过程,再介绍部署OS1的过程。Taking Figure 2 as an example, the process of the cloud operation deployment system provided by the embodiment of the present application is explained. In the embodiment of this application, take the user creating two cloud operating systems (Operating Systems, OS) as an example (i.e., OS1 and OS2), where OS2 corresponds to the aforementioned second cloud operating system, and OS1 corresponds to the aforementioned first cloud operating system. Cloud operating system, in this embodiment, the process of deploying OS2 is first introduced, and then the process of deploying OS1 is introduced.
步骤1:API模块接收用户发送的部署第二云操作***(OS2)对应的第二管理服务的请求;Step 1: The API module receives a request sent by the user to deploy the second management service corresponding to the second cloud operating system (OS2);
步骤2:API模块校验参数(此时部署用的配置文件和镜像均存在);Step 2: API module verification parameters (at this time, both configuration files and images for deployment exist);
步骤3:采集模块获取服务器4-7的使用情况信息,包括剩余CPU、剩余内存容量、剩余网络资源、剩余磁盘容量、剩余端口数量以及服务器上运行云操作***对应的管理服务的容器(docker)的CPU使用率、内存使用率,其中,由于之前没有服务器4-7上未部署云操作***(即没有存量的云操作***),且服务器4-7上均没有运行云操作***对应的管理服务的容器,因此,可以得出运行云操作***对应的管理服务的容器对宿主机的CPU、内存使用率均为0;Step 3: The collection module obtains the usage information of servers 4-7, including remaining CPU, remaining memory capacity, remaining network resources, remaining disk capacity, remaining number of ports, and the container (docker) running the management service corresponding to the cloud operating system on the server. The CPU usage and memory usage of container, therefore, it can be concluded that the CPU and memory usage of the container running the management service corresponding to the cloud operating system on the host are both 0;
步骤6:调度模块根据步骤5中服务器4-7的使用情况信息从服务器4-7中筛选可用于调度的服务器。其中,由于服务器4-7没有存量的云操作***,因此,确定服务器4-7均可用于调度;Step 6: The scheduling module selects servers that can be used for scheduling from servers 4-7 based on the usage information of servers 4-7 in step 5. Among them, since servers 4-7 do not have existing cloud operating systems, it is determined that servers 4-7 can all be used for scheduling;
步骤7:调度模块采用卡尔曼滤波模型预测服务器4-7上容器的CPU和内存负载。此时如果假设之前只有步骤5的采集结果,则根据公式(3)和(4)计算可得服务器负载预测为0;Step 7: The scheduling module uses the Kalman filter model to predict the CPU and memory load of the containers on servers 4-7. At this time, if it is assumed that there was only the collection result of step 5 before, then the server load prediction can be calculated according to formulas (3) and (4) to be 0;
步骤8:调度模块将剩余资源(总资源-负载)信息进行归一化处理,得到归一化向量,计 算运行第二管理服务的容器的规格需求向量(即第二管理服务所需资源向量)与归一化向量的相关系数;Step 8: The scheduling module normalizes the remaining resource (total resources - load) information to obtain a normalized vector, and calculates the specification demand vector of the container running the second management service (i.e., the resource vector required by the second management service) Correlation coefficient with normalized vector;
步骤9:调度模块根据剩余资源信息、相关系数等信息对服务器打分,例如,挑选出服务器4-6用于部署第二管理服务的服务器(这里假设用户要求第二云操作***3副本部署,即第二管理服务所需要的管理节点数量为3);Step 9: The scheduling module scores the servers based on the remaining resource information, correlation coefficient and other information. For example, servers 4-6 are selected for deployment of the second management service (assuming here that the user requires the deployment of a copy of the second cloud operating system 3, that is, The number of management nodes required for the second management service is 3);
步骤10:部署模块部署第二管理服务到服务器4-6。其中,部署模块部署第二管理服务时随机选取端口;Step 10: The deployment module deploys the second management service to the server 4-6. Among them, the deployment module randomly selects a port when deploying the second management service;
步骤11:API模块接收用户发送的部署OS2对应的计算服务的请求;Step 11: The API module receives the request sent by the user to deploy the computing service corresponding to OS2;
步骤12:API模块校验参数(此时部署用的配置和镜像均存在);Step 12: API module verification parameters (at this time, both the configuration and image for deployment exist);
步骤13:采集模块采集服务器8-10的使用情况信息。由于之前没有存量的云操作***,服务器8-10上均没有运行云操作***对应的计算服务的容器,此时,运行云操作***对应的计算服务的容器对宿主机的CPU、内存使用率均为0;Step 13: The collection module collects usage information of servers 8-10. Since there was no cloud operating system in stock before, there are no containers running the computing services corresponding to the cloud operating system on servers 8-10. At this time, the containers running the computing services corresponding to the cloud operating system have a uniform usage rate of the host's CPU and memory. is 0;
步骤14:调度模块根据步骤13的使用情况信息从服务器8-10中筛选可用于调度的服务器。由于之前没有存量的云操作***,服务器8-10均可用于调度。例如,调度模块随机挑选服务器8用于部署OS2对应的计算服务。Step 14: The scheduling module selects servers available for scheduling from servers 8-10 based on the usage information in step 13. Since there was no existing cloud operating system before, servers 8-10 can be used for scheduling. For example, the scheduling module randomly selects server 8 for deploying computing services corresponding to OS2.
步骤15:部署模块部署OS2对应的计算服务到服务器8。Step 15: The deployment module deploys the computing service corresponding to OS2 to server 8.
以上为部署OS2的过程,一下介绍部署OS1的过程。The above is the process of deploying OS2. Let’s introduce the process of deploying OS1.
步骤1:API模块接收用户发送的部署第一云操作***(OS1)对应的第一管理服务的请求;Step 1: The API module receives a request sent by the user to deploy the first management service corresponding to the first cloud operating system (OS1);
步骤2:API模块校验参数(此时部署用的配置和镜像均存在);Step 2: API module verification parameters (at this time, both the configuration and image for deployment exist);
步骤3:采集模块采集服务器4-7的使用情况信息。由于第一服务器集群中之前已经在服务器4-6中部署了OS2,服务器4-6有一定CPU和内存负载(例如,CPU负载比率分别为0.1、0.1、0.2,内存负载比率为0.1、0.2、0.2,网络负载为0.1,0.1,0.3),服务器7没有云操作***的负载;Step 3: The collection module collects usage information of servers 4-7. Since OS2 has been deployed in servers 4-6 in the first server cluster before, servers 4-6 have certain CPU and memory loads (for example, the CPU load ratios are 0.1, 0.1, 0.2, and the memory load ratios are 0.1, 0.2, 0.2, the network load is 0.1, 0.1, 0.3), server 7 has no cloud operating system load;
步骤4:调度模块根据步骤3的信息从服务器4-7中筛选可用于调度的服务器。由于服务器4-7资源仍充裕,此步骤仍然没有过滤任何服务器;Step 4: The scheduling module selects servers that can be used for scheduling from servers 4-7 based on the information in step 3. Since servers 4-7 still have sufficient resources, this step still does not filter any servers;
步骤5:调度模块采用卡尔曼滤波模型预测服务器上运行第二管理服务的容器的CPU和内存负载。此时根据公式(3)和(4)计算可得服务器4-7的CPU负载为0.1、0.15、0.2、0,内存负载为0.1、0.15、0.15、0,网络负载为0.1、0.1、0.25、0;Step 5: The scheduling module uses the Kalman filter model to predict the CPU and memory load of the container running the second management service on the server. At this time, according to formulas (3) and (4), the CPU load of servers 4-7 is 0.1, 0.15, 0.2, 0, the memory load is 0.1, 0.15, 0.15, 0, and the network load is 0.1, 0.1, 0.25, 0;
步骤6:调度模块根据公式(6)对服务器4-7打分为2.84、2.74、2.68、3.15。对服务 器4-7按照评分分值从大到小的顺序排序为服务器7、4、5、6,因此,选择服务器4、5、7作为部署第一管理服务的服务器;Step 6: The scheduling module scores servers 4-7 as 2.84, 2.74, 2.68, and 3.15 according to formula (6). Servers 4-7 are sorted into servers 7, 4, 5, and 6 according to the score from large to small. Therefore, servers 4, 5, and 7 are selected as servers for deploying the first management service;
步骤7:部署模块部署第一管理服务到服务器4、5、7。其中,部署模块部署第一管理服务时,从剩余端口中随机选择,不与部署第二管理服务的端口混合,使得两个云操作***虽然共用一个物理网络,但是通过端口进行了相互隔离;Step 7: The deployment module deploys the first management service to servers 4, 5, and 7. Among them, when the deployment module deploys the first management service, it randomly selects from the remaining ports and does not mix them with the ports for deploying the second management service, so that although the two cloud operating systems share a physical network, they are isolated from each other through the ports;
步骤8:API模块接收用户发送的部署OS1对应的计算服务的请求;Step 8: The API module receives the request sent by the user to deploy the computing service corresponding to OS1;
步骤9:API模块校验参数(此时部署用的配置和镜像均存在);Step 9: API module verification parameters (at this time, both the configuration and image for deployment exist);
步骤10:采集模块采集服务器8-10的使用情况信息。其中,服务器8已用于部署OS2对应的计算服务,服务器9-10上均没有云操作***的管理服务容器;Step 10: The collection module collects usage information of servers 8-10. Among them, server 8 has been used to deploy computing services corresponding to OS2, and servers 9-10 do not have the management service container of the cloud operating system;
步骤11:调度模块根据步骤10的使用情况信息从服务器9-10中随机挑选可用于调度的服务器,例如,调度模块随机挑选服务器9用于部署OS1对应的计算服务;Step 11: The scheduling module randomly selects servers that can be used for scheduling from servers 9-10 based on the usage information in step 10. For example, the scheduling module randomly selects server 9 for deploying computing services corresponding to OS1;
步骤12:部署模块部署OS1对应的计算服务到服务器9。Step 12: The deployment module deploys the computing service corresponding to OS1 to server 9.
基于同一发明构思,本申请实施例提供了一种云操作***部署装置,该云操作***部署装置能够实现前述的云操作***部署方法对应的功能。该云操作***部署装置可以是硬件结构、软件模块、或硬件结构加软件模块。该云操作***部署装置可以由芯片***实现,芯片***可以由芯片构成,也可以包含芯片和其他分立器件。请参见图6所示,该云操作***部署装置包括通信模块601和处理模块602。其中:Based on the same inventive concept, embodiments of the present application provide a cloud operating system deployment device, which can realize the functions corresponding to the aforementioned cloud operating system deployment method. The cloud operating system deployment device may be a hardware structure, a software module, or a hardware structure plus a software module. The cloud operating system deployment device can be implemented by a chip system. The chip system can be composed of chips, or can also include chips and other discrete devices. Referring to Figure 6, the cloud operating system deployment device includes a communication module 601 and a processing module 602. in:
通信模块601,用于接收第一请求;其中,所述第一请求用于请求部署第一云操作***对应的第一管理服务,所述第一请求中包括所述第一管理服务所需要的管理节点数量; Communication module 601, configured to receive a first request; wherein the first request is used to request the deployment of a first management service corresponding to the first cloud operating system, and the first request includes the information required by the first management service. Number of management nodes;
处理模块602,用于获取多个预设管理节点的剩余资源信息;其中,所述多个预设管理节点属于所述第一服务器集群,所述剩余资源信息为所述多个预设管理节点在部署第二云操作***对应的第二管理服务之后剩余的可用资源;The processing module 602 is used to obtain the remaining resource information of multiple preset management nodes; wherein the multiple preset management nodes belong to the first server cluster, and the remaining resource information is the multiple preset management nodes. The remaining available resources after deploying the second management service corresponding to the second cloud operating system;
所述处理模块602,还用于基于所述剩余资源信息和所述管理节点数量确定所述第一管理服务对应的目标管理节点。The processing module 602 is also configured to determine the target management node corresponding to the first management service based on the remaining resource information and the number of management nodes.
可选的,所述处理模块602,具体用于:Optionally, the processing module 602 is specifically used for:
确定所述多个预设管理节点中剩余资源信息不满足预设条件的第一预设管理节点;Determine the first preset management node whose remaining resource information among the plurality of preset management nodes does not meet the preset condition;
基于第二预设管理节点的剩余资源信息和所述管理节点数量确定所述目标管理节点;其中,所述第二预设管理节点为所述多个预设管理节点中除去所述第一预设管理节点之外的其它预设管理节点。The target management node is determined based on the remaining resource information of the second preset management node and the number of management nodes; wherein the second preset management node is the plurality of preset management nodes except the first preset management node. Set other default management nodes besides the management node.
可选的,所述剩余资源信息包括剩余中央处理器信息、剩余内存容量信息和剩余网络资 源信息,所述处理模块602,具体用于:Optionally, the remaining resource information includes remaining CPU information, remaining memory capacity information and remaining network resource information. The processing module 602 is specifically used to:
基于所述剩余资源信息确定每个预设管理节点的剩余中央处理器比率、剩余内存容量比率和剩余网络资源比率;Determine the remaining CPU ratio, remaining memory capacity ratio and remaining network resource ratio of each preset management node based on the remaining resource information;
确定所述剩余中央处理器比率、剩余内存容量比率和剩余网络资源比率是否均大于或等于对应阈值;Determine whether the remaining CPU ratio, remaining memory capacity ratio and remaining network resource ratio are all greater than or equal to the corresponding threshold;
若所述第一预设管理节点中任一比率小于对应阈值,则确定所述第一预设管理节点的剩余资源信息不满足所述预设条件。If any ratio among the first preset management nodes is less than the corresponding threshold, it is determined that the remaining resource information of the first preset management node does not meet the preset condition.
可选的,所述处理模块602,具体用于:Optionally, the processing module 602 is specifically used for:
将每个预设管理节点的剩余资源信息进行归一化处理,得到归一化向量;Normalize the remaining resource information of each preset management node to obtain a normalized vector;
确定所述归一化向量与所述第一管理服务所需资源向量的相关系数;其中,所述相关系数用于指示剩余资源与所述第一管理服务所需资源的匹配程度;Determine the correlation coefficient between the normalized vector and the resource vector required by the first management service; wherein the correlation coefficient is used to indicate the matching degree of the remaining resources and the resources required by the first management service;
基于所述剩余资源信息、所述相关系数和所述管理节点数量确定所述目标管理节点。The target management node is determined based on the remaining resource information, the correlation coefficient and the number of management nodes.
可选的,所述处理模块602,具体用于:Optionally, the processing module 602 is specifically used for:
基于所述剩余资源信息和所述相关系数对所述每个预设管理节点进行评分;其中,评分分值用于指示所述每个预设管理节点符合部署所述第一管理服务的程度;Score each preset management node based on the remaining resource information and the correlation coefficient; wherein the score is used to indicate the degree to which each preset management node meets the deployment of the first management service;
将所述每个预设管理节点按照评分分值从高到底的顺序进行排序;Sort each of the preset management nodes according to the order of score from high to low;
基于排序结果和所述管理节点数量确定所述目标管理节点。The target management node is determined based on the sorting result and the number of management nodes.
可选的,所述通信模块601,还用于:Optionally, the communication module 601 is also used to:
接收第二请求;其中,所述第二请求用于请求部署所述第一云操作***对应的计算服务;Receive a second request; wherein the second request is used to request the deployment of a computing service corresponding to the first cloud operating system;
从多个预设计算节点中确定未部署计算服务的多个第一计算节点;Determine a plurality of first computing nodes on which computing services are not deployed from a plurality of preset computing nodes;
从所述多个第一计算节点中随机确定第二计算节点为所述计算服务对应的目标计算节点。A second computing node is randomly determined from the plurality of first computing nodes as the target computing node corresponding to the computing service.
可选的,所述第二云操作***与所述第一云操作***所使用的端口不同。Optionally, the port used by the second cloud operating system is different from that used by the first cloud operating system.
前述的云操作***部署方法的实施例涉及的各步骤的所有相关内容均可援引到本申请施例中的云操作***部署装置所对应的功能模块的功能描述,在此不再赘述。All relevant contents of each step involved in the foregoing embodiments of the cloud operating system deployment method can be quoted from the functional description of the functional modules corresponding to the cloud operating system deployment device in the embodiments of this application, and will not be described again here.
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。The division of modules in the embodiments of the present application is schematic and is only a logical function division. In actual implementation, there may be other division methods. In addition, each functional module in each embodiment of the present application may be integrated into one processing unit. In the device, it can exist physically alone, or two or more modules can be integrated into one module. The above integrated modules can be implemented in the form of hardware or software function modules.
基于同一发明构思,本申请实施例提供一种电子设备。请参见图7所示,该电子设备包括至少一个处理器701,以及与至少一个处理器连接的存储器702,本申请实施例中不限定处理器701与存储器702之间的具体连接介质,图7中是以处理器701和存储器702之间通过总线700连接为例,总线700在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线700可以分为地址总线、数据总线、控制总线等,为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。Based on the same inventive concept, embodiments of the present application provide an electronic device. Please refer to Figure 7. The electronic device includes at least one processor 701 and a memory 702 connected to the at least one processor. The specific connection medium between the processor 701 and the memory 702 is not limited in the embodiment of this application. Figure 7 In the figure, the connection between the processor 701 and the memory 702 through the bus 700 is taken as an example. The bus 700 is represented by a thick line in Figure 7. The connection methods between other components are only schematically illustrated and are not limiting. . The bus 700 can be divided into an address bus, a data bus, a control bus, etc. For ease of presentation, only one thick line is used to represent it in Figure 7, but it does not mean that there is only one bus or one type of bus.
在本申请实施例中,存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702存储的指令,可以执行前述的云操作***部署方法中所包括的步骤。In this embodiment of the present application, the memory 702 stores instructions that can be executed by at least one processor 701. By executing the instructions stored in the memory 702, at least one processor 701 can perform the steps included in the aforementioned cloud operating system deployment method.
其中,处理器701是电子设备的控制中心,可以利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器702内的指令以及调用存储在存储器702内的数据,电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器701可包括一个或多个处理单元,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。在一些实施例中,处理器701和存储器702可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。Among them, the processor 701 is the control center of the electronic device. It can use various interfaces and lines to connect various parts of the entire electronic device. By running or executing instructions stored in the memory 702 and calling data stored in the memory 702, the electronic device various functions and process data to conduct overall monitoring of electronic equipment. Optionally, the processor 701 may include one or more processing units. The processor 701 may integrate an application processor and a modem processor. The application processor mainly processes operating systems and application programs, and the modem processor Mainly deals with wireless communications. It can be understood that the above-mentioned modem processor may not be integrated into the processor 701. In some embodiments, the processor 701 and the memory 702 can be implemented on the same chip, and in some embodiments, they can also be implemented on separate chips.
处理器701可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的云操作***部署方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。 Processor 701 may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, or Implement or execute each method, step and logical block diagram disclosed in the embodiments of this application. A general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the cloud operating system deployment method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or executed by a combination of hardware and software modules in the processor.
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器702可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序 指令和/或数据。As a non-volatile computer-readable storage medium, the memory 702 can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 702 may include at least one type of storage medium, for example, may include flash memory, hard disk, multimedia card, card-type memory, random access memory (Random Access Memory, RAM), static random access memory (Static Random Access Memory, SRAM), Programmable Read Only Memory (PROM), Read Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Magnetic Memory, Disk , CD, etc. Memory 702 is, but is not limited to, any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. The memory 702 in the embodiment of the present application can also be a circuit or any other device capable of realizing a storage function, used to store program instructions and/or data.
通过对处理器701进行设计编程,可以将前述实施例中介绍的云操作***部署方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的云操作***部署方法的步骤,如何对处理器701进行设计编程为本领域技术人员所公知的技术,这里不再赘述。By designing and programming the processor 701, the code corresponding to the cloud operating system deployment method introduced in the previous embodiment can be solidified into the chip, so that the chip can execute the steps of the cloud operating system deployment method during runtime. How? Designing and programming the processor 701 is a technique well known to those skilled in the art, and will not be described in detail here.
基于同一发明构思,本申请实施例还提供一种计算可读存储介质,该计算可读存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的云操作***部署方法的步骤。Based on the same inventive concept, embodiments of the present application also provide a computing-readable storage medium. The computing-readable storage medium stores computer instructions. When the computer instructions are run on the computer, the computer executes the cloud operating system deployment as mentioned above. Method steps.
在一些可能的实施方式中,本申请提供的云操作***部署方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使该检测设备执行本说明书上述描述的根据本申请各种示例性实施方式的云操作***部署方法中的步骤。In some possible implementations, various aspects of the cloud operating system deployment method provided by this application can also be implemented in the form of a program product, which includes program code. When the program product is run on an electronic device, the program code is used to The detection device is caused to perform the steps in the cloud operating system deployment method according to various exemplary embodiments of the present application described above in this specification.
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will understand that embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment that combines software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to the present application. It will be understood that each process and/or block in the flowchart illustrations and/or block diagrams, and combinations of processes and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing device produce a use A device for realizing the functions specified in one process or multiple processes of the flowchart and/or one block or multiple blocks of the block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory that causes a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction means, the instructions The device implements the functions specified in a process or processes of the flowchart and/or a block or blocks of the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions may also be loaded onto a computer or other programmable data processing device, causing a series of operating steps to be performed on the computer or other programmable device to produce computer-implemented processing, thereby executing on the computer or other programmable device. Instructions provide steps for implementing the functions specified in a process or processes of a flowchart diagram and/or a block or blocks of a block diagram.
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. In this way, if these modifications and variations of the present application fall within the scope of the claims of the present application and equivalent technologies, the present application is also intended to include these modifications and variations.

Claims (10)

  1. 一种云操作***部署方法,其特征在于,应用于第一服务器集群,所述方法包括:A cloud operating system deployment method, characterized in that it is applied to a first server cluster, and the method includes:
    接收第一请求;其中,所述第一请求用于请求部署第一云操作***对应的第一管理服务,所述第一请求中包括所述第一管理服务所需要的管理节点数量;Receive a first request; wherein the first request is used to request the deployment of a first management service corresponding to the first cloud operating system, and the first request includes the number of management nodes required by the first management service;
    获取多个预设管理节点的剩余资源信息;其中,所述多个预设管理节点属于所述第一服务器集群,所述剩余资源信息为所述多个预设管理节点在部署第二云操作***对应的第二管理服务之后剩余的可用资源;Obtain the remaining resource information of multiple preset management nodes; wherein the multiple preset management nodes belong to the first server cluster, and the remaining resource information is the operation of the second cloud when the multiple preset management nodes are deployed. The remaining available resources after the second management service corresponding to the system;
    基于所述剩余资源信息和所述管理节点数量确定所述第一管理服务对应的目标管理节点。The target management node corresponding to the first management service is determined based on the remaining resource information and the number of management nodes.
  2. 如权利要求1所述的方法,其特征在于,所述基于所述剩余资源信息和所述管理节点数量确定目标管理节点,包括:The method of claim 1, wherein determining the target management node based on the remaining resource information and the number of management nodes includes:
    确定所述多个预设管理节点中剩余资源信息不满足预设条件的第一预设管理节点;Determine the first preset management node whose remaining resource information among the plurality of preset management nodes does not meet the preset condition;
    基于第二预设管理节点的剩余资源信息和所述管理节点数量确定所述目标管理节点;其中,所述第二预设管理节点为所述多个预设管理节点中除去所述第一预设管理节点之外的其它预设管理节点。The target management node is determined based on the remaining resource information of the second preset management node and the number of management nodes; wherein the second preset management node is the plurality of preset management nodes except the first preset management node. Set other default management nodes besides the management node.
  3. 如权利要求2所述的方法,其特征在于,所述剩余资源信息包括剩余中央处理器信息、剩余内存容量信息和剩余网络资源信息,所述确定所述多个预设管理节点中剩余资源信息不满足预设条件的第一预设管理节点,包括:The method of claim 2, wherein the remaining resource information includes remaining CPU information, remaining memory capacity information and remaining network resource information, and the determining remaining resource information in the plurality of preset management nodes The first preset management node that does not meet the preset conditions includes:
    基于所述剩余资源信息确定每个预设管理节点的剩余中央处理器比率、剩余内存容量比率和剩余网络资源比率;Determine the remaining CPU ratio, remaining memory capacity ratio and remaining network resource ratio of each preset management node based on the remaining resource information;
    确定所述剩余中央处理器比率、剩余内存容量比率和剩余网络资源比率是否均大于或等于对应阈值;Determine whether the remaining CPU ratio, remaining memory capacity ratio and remaining network resource ratio are all greater than or equal to the corresponding threshold;
    若所述第一预设管理节点中任一比率小于对应阈值,则确定所述第一预设管理节点的剩余资源信息不满足所述预设条件。If any ratio among the first preset management nodes is less than the corresponding threshold, it is determined that the remaining resource information of the first preset management node does not meet the preset condition.
  4. 如权利要求1所述的方法,其特征在于,所述基于所述剩余资源信息和所述管理节点数量确定目标管理节点,包括:The method of claim 1, wherein determining the target management node based on the remaining resource information and the number of management nodes includes:
    将每个预设管理节点的剩余资源信息进行归一化处理,得到归一化向量;Normalize the remaining resource information of each preset management node to obtain a normalized vector;
    确定所述归一化向量与所述第一管理服务所需资源向量的相关系数;其中,所述相关系数用于指示剩余资源与所述第一管理服务所需资源的匹配程度;Determine the correlation coefficient between the normalized vector and the resource vector required by the first management service; wherein the correlation coefficient is used to indicate the matching degree of the remaining resources and the resources required by the first management service;
    基于所述剩余资源信息、所述相关系数和所述管理节点数量确定所述目标管理节点。The target management node is determined based on the remaining resource information, the correlation coefficient and the number of management nodes.
  5. 如权利要求4所述的方法,其特征在于,所述基于所述剩余资源信息、所述相关系数和所述管理节点数量确定所述目标管理节点,包括:The method of claim 4, wherein determining the target management node based on the remaining resource information, the correlation coefficient and the number of management nodes includes:
    基于所述剩余资源信息和所述相关系数对所述每个预设管理节点进行评分;其中,评分分值用于指示所述每个预设管理节点符合部署所述第一管理服务的程度;Score each preset management node based on the remaining resource information and the correlation coefficient; wherein the score is used to indicate the degree to which each preset management node meets the deployment of the first management service;
    将所述每个预设管理节点按照评分分值从高到底的顺序进行排序;Sort each of the preset management nodes according to the order of score from high to low;
    基于排序结果和所述管理节点数量确定所述目标管理节点。The target management node is determined based on the sorting result and the number of management nodes.
  6. 如权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1, further comprising:
    接收第二请求;其中,所述第二请求用于请求部署所述第一云操作***对应的计算服务;Receive a second request; wherein the second request is used to request the deployment of a computing service corresponding to the first cloud operating system;
    从多个预设计算节点中确定未部署计算服务的多个第一计算节点;Determine a plurality of first computing nodes on which computing services are not deployed from a plurality of preset computing nodes;
    从所述多个第一计算节点中随机确定第二计算节点为所述计算服务对应的目标计算节点。A second computing node is randomly determined from the plurality of first computing nodes as the target computing node corresponding to the computing service.
  7. 如权利要求1-6任一项所述的方法,其特征在于,所述第二云操作***与所述第一云操作***所使用的端口不同。The method according to any one of claims 1 to 6, characterized in that the ports used by the second cloud operating system and the first cloud operating system are different.
  8. 一种云操作***部署装置,其特征在于,应用于第一服务器集群,所述装置包括:A cloud operating system deployment device, characterized in that it is applied to a first server cluster, and the device includes:
    通信模块,用于接收第一请求;其中,所述第一请求用于请求部署第一云操作***对应的第一管理服务,所述第一请求中包括所述第一管理服务所需要的管理节点数量;A communication module, configured to receive a first request; wherein the first request is used to request the deployment of a first management service corresponding to the first cloud operating system, and the first request includes the management required by the first management service. number of nodes;
    处理模块,用于获取多个预设管理节点的剩余资源信息;其中,所述多个预设管理节点属于所述第一服务器集群,所述剩余资源信息为所述多个预设管理节点在部署第二云操作***对应的第二管理服务之后剩余的可用资源;A processing module configured to obtain remaining resource information of multiple preset management nodes; wherein the multiple preset management nodes belong to the first server cluster, and the remaining resource information is the location of the multiple preset management nodes. The remaining available resources after deploying the second management service corresponding to the second cloud operating system;
    所述处理模块,还用于基于所述剩余资源信息和所述管理节点数量确定所述第一管理服务对应的目标管理节点。The processing module is further configured to determine a target management node corresponding to the first management service based on the remaining resource information and the number of management nodes.
  9. 一种电子设备,其特征在于,包括:An electronic device, characterized by including:
    存储器,用于存储程序指令;Memory, used to store program instructions;
    处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-7任一项所述的方法包括的步骤。A processor, configured to call program instructions stored in the memory, and execute the steps included in the method according to any one of claims 1-7 according to the obtained program instructions.
  10. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-7任一项所述的方法。A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program, and the computer program includes program instructions. When executed by a computer, the program instructions cause the computer to execute the claims. The method described in any one of 1-7.
PCT/CN2022/141608 2022-07-15 2022-12-23 Cloud operating system deployment method and device WO2024011860A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210835020.5A CN115242598A (en) 2022-07-15 2022-07-15 Cloud operating system deployment method and device
CN202210835020.5 2022-07-15

Publications (1)

Publication Number Publication Date
WO2024011860A1 true WO2024011860A1 (en) 2024-01-18

Family

ID=83673778

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/141608 WO2024011860A1 (en) 2022-07-15 2022-12-23 Cloud operating system deployment method and device

Country Status (2)

Country Link
CN (1) CN115242598A (en)
WO (1) WO2024011860A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242598A (en) * 2022-07-15 2022-10-25 天翼云科技有限公司 Cloud operating system deployment method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104104720A (en) * 2014-07-10 2014-10-15 浪潮(北京)电子信息产业有限公司 Server cluster management method and system
CN109298868A (en) * 2018-08-22 2019-02-01 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Intelligent dynamic deployment and unloading method for mapping image data processing software
CN111405055A (en) * 2020-03-23 2020-07-10 北京达佳互联信息技术有限公司 Multi-cluster management method, system, server and storage medium
CN112311886A (en) * 2020-10-30 2021-02-02 新华三大数据技术有限公司 Multi-cluster deployment method, device and management node
US11194566B1 (en) * 2020-03-16 2021-12-07 Amazon Technologies, Inc. Decentralized, cluster-managed deployment of software updates in a multi-cluster environment
CN115242598A (en) * 2022-07-15 2022-10-25 天翼云科技有限公司 Cloud operating system deployment method and device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064740A (en) * 2011-10-19 2013-04-24 鸿富锦精密工业(深圳)有限公司 Guest operating system predict migration system and method
TWI592808B (en) * 2012-08-17 2017-07-21 High-speed automated cluster system deployment using virtual disks
CN104536832B (en) * 2015-01-21 2017-12-08 北京邮电大学 A kind of virtual machine deployment method
CN108737463A (en) * 2017-04-17 2018-11-02 北京神州泰岳软件股份有限公司 A kind of software deployment method, server and system
CN109687987A (en) * 2017-10-19 2019-04-26 北京金山云网络技术有限公司 A kind of cloud platform dispositions method, device, electronic equipment and readable storage medium storing program for executing
CN110535894B (en) * 2018-05-25 2023-09-19 深圳先进技术研究院 Dynamic allocation method and system for container resources based on load feedback
CN109032618B (en) * 2018-07-11 2021-08-20 郑州云海信息技术有限公司 Deployment and docking method and system for OpenStack cloud management platform
CN109213555B (en) * 2018-08-16 2020-04-10 北京交通大学 Resource dynamic scheduling method for virtual desktop cloud
CN109376006B (en) * 2018-09-04 2021-09-21 西安电子科技大学 Resource integration method based on time-varying characteristics of user requirements in cloud computing environment
CN109634915A (en) * 2018-11-28 2019-04-16 深圳市网心科技有限公司 File dispositions method, Cloud Server, system and storage medium
CN109947616A (en) * 2019-02-11 2019-06-28 北京国电通网络技术有限公司 A kind of automatically-monitored operational system of the cloud operating system based on OpenStack technology
CN113032085A (en) * 2019-12-24 2021-06-25 中兴通讯股份有限公司 Management method, device, server, management system and medium of cloud operating system
CN111176697B (en) * 2020-01-02 2024-02-13 广州虎牙科技有限公司 Service instance deployment method, data processing method and cluster federation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104104720A (en) * 2014-07-10 2014-10-15 浪潮(北京)电子信息产业有限公司 Server cluster management method and system
CN109298868A (en) * 2018-08-22 2019-02-01 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Intelligent dynamic deployment and unloading method for mapping image data processing software
US11194566B1 (en) * 2020-03-16 2021-12-07 Amazon Technologies, Inc. Decentralized, cluster-managed deployment of software updates in a multi-cluster environment
CN111405055A (en) * 2020-03-23 2020-07-10 北京达佳互联信息技术有限公司 Multi-cluster management method, system, server and storage medium
CN112311886A (en) * 2020-10-30 2021-02-02 新华三大数据技术有限公司 Multi-cluster deployment method, device and management node
CN115242598A (en) * 2022-07-15 2022-10-25 天翼云科技有限公司 Cloud operating system deployment method and device

Also Published As

Publication number Publication date
CN115242598A (en) 2022-10-25

Similar Documents

Publication Publication Date Title
EP3761170B1 (en) Virtual machine creation method and apparatus
US8104038B1 (en) Matching descriptions of resources with workload requirements
EP2724244A2 (en) Native cloud computing via network segmentation
US8516487B2 (en) Dynamic job relocation in a high performance computing system
CN110389903B (en) Test environment deployment method and device, electronic equipment and readable storage medium
WO2024011860A1 (en) Cloud operating system deployment method and device
CN113535385A (en) Virtual network function deployment method, device, equipment and storage medium
US11442763B2 (en) Virtual machine deployment system using configurable communication couplings
CN101256484A (en) Method and equipment for determining to call at least one application program frequency
CN114296909A (en) Automatic node capacity expansion and reduction method and system according to kubernets event
CN113626173A (en) Scheduling method, device and storage medium
US11561843B2 (en) Automated performance tuning using workload profiling in a distributed computing environment
US8095684B2 (en) Intelligent device and media server selection for optimized backup image duplication
CN111831408A (en) Asynchronous task processing method and device, electronic equipment and medium
US20210049071A1 (en) Gpu-based advanced memory diagnostics over dynamic memory regions for faster and efficient diagnostics
CN114338386B (en) Network configuration method and device, electronic equipment and storage medium
CN115964176A (en) Cloud computing cluster scheduling method, electronic device and storage medium
US11829493B2 (en) Device access control system
CN112860532B (en) Performance test method, device, equipment, medium and program product
US11157322B2 (en) Hyper-converged infrastructure (HCI) ephemeral workload/data provisioning system
US11003612B2 (en) Processor/endpoint connection configuration system
CN112764897A (en) Method, device and system for processing task request and computer readable storage medium
CN111143033A (en) Operation execution method and device based on scalable operating system
CN114090329A (en) Server restarting method under full-unloading architecture and related equipment
US20230273824A1 (en) Establishing coherent message analysis across distributed locations

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22950967

Country of ref document: EP

Kind code of ref document: A1