WO2014101475A1 - 云平台应用部署方法及装置 - Google Patents

云平台应用部署方法及装置 Download PDF

Info

Publication number
WO2014101475A1
WO2014101475A1 PCT/CN2013/083226 CN2013083226W WO2014101475A1 WO 2014101475 A1 WO2014101475 A1 WO 2014101475A1 CN 2013083226 W CN2013083226 W CN 2013083226W WO 2014101475 A1 WO2014101475 A1 WO 2014101475A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
deployed
node
identifier
deployment
Prior art date
Application number
PCT/CN2013/083226
Other languages
English (en)
French (fr)
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 WO2014101475A1 publication Critical patent/WO2014101475A1/zh

Links

Classifications

    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Definitions

  • Cloud platform application deployment method and device The application claims the priority of the Chinese patent application filed on December 28, 2012, the Chinese Patent Office, the application number is 201210583901.9, and the invention name is "cloud platform application deployment method and device", the entire contents thereof This is incorporated herein by reference.
  • the present invention relates to the field of communications, and in particular, to a cloud platform application deployment method and apparatus.
  • Cloud computing is a service delivery and consumption model.
  • the Cloud Service Provider (CSP) connects a large number of computing resources to the network and performs unified management, distribution, and scheduling to form a huge resource pool to provide services to the Cloud Service Consumer (CSC).
  • CSC Cloud Service Consumer
  • cloud resources can be expanded indefinitely, with features such as on-demand and pay-per-use.
  • the TOSCA Topic and Orchestration Specification for Cloud Applications
  • OASIS Advancing Open Standards for the Information Society
  • the CSC sends an application deployment request to the CSP server through the CSC device, where the request includes at least one application deployment package based on the TOSCA standard description;
  • the CSP server allocates computing resources for each node whose deployed product type is mirrored; (4) the CSP server executes the deployment plan to complete the deployment;
  • the CSP server allocates independent computing resources for each such node, because the individual nodes The use of computing resources is less, resulting in wasted computing resources.
  • the invention provides a cloud platform application deployment method and device for saving computing resources.
  • the first aspect provides a method for deploying a cloud platform application, including: receiving an application deployment request sent by a cloud service consumption device, where the application deployment request includes: an identifier of an application to be deployed, and a used device for the cloud service Deploying information of the computing resources allocated by the application; determining, according to the information of the computing resources allocated for the deployed application, the existing computing resources allocated by the cloud service server to the deployed application of the cloud service consuming device, The computing resource is deployed to deploy the application to be deployed.
  • the information is an identifier of a computing resource allocated to a node of the deployed application, and determining, according to the information of the computing resource allocated for the deployed application, the cloud service server is the An existing computing resource allocated by the deployed application of the cloud service consuming device, the deploying the application by using the existing computing resource, including: determining, according to the identifier of the computing resource, a cloud service server allocated to a node of the deployed application The computing resource is deployed, and the application to be deployed is deployed by using the determined existing computing resource.
  • the information is an identifier of the deployed application and an identifier of a node of the deployed application, where the information is determined by information of a computing resource allocated by the deployed application.
  • the identification of the computing resource determines the existing calculations assigned by the cloud service server to the nodes of
  • the application deployment request further includes: an identifier of the first node of the application to be deployed and a deployed product of the first node, where The identifier of the computing resource is specifically carried in the deployed product of the first node; the deploying the application to be deployed by using the existing computing resource includes: determining an existing computing resource according to the identifier of the computing resource; Deploying the first node according to the deployed product of the first node using the existing computing resource.
  • the method further includes: according to the to-be-deployed Creating an application identifier of the application to be deployed, and recording the application identifier The mapping relationship between the instance identifier and the identifier of the application to be deployed.
  • the deploying the first node by using the existing computing resource according to the deployed product of the first node includes: recording an application instance of the application to be deployed And a mapping relationship between the identifier, the identifier of the first node, and the identifier of the computing resource.
  • the deploying the first node by using the existing computing resource according to the deployed product of the first node further includes: applying from the saved deployed application Obtaining, by the mapping between the instance identifier, the node identifier, and the identifier of the computing resource corresponding to the node, the application instance identifier of the deployed application corresponding to the identifier of the computing resource; Obtaining a prerequisite for the deletion plan in the application deployment package of the deployed application from the application deployment package corresponding to the application instance identifier of the deployed application, and adding the application to be deployed to the prerequisite of the deletion plan The condition that has been deleted.
  • the second aspect provides a cloud platform application deployment method, where the cloud platform application deployment method includes: receiving an application deployment instruction, where the application deployment instruction includes: an identifier of an application to be deployed and information of a computing resource of the deployed application; Sending an application deployment request to the cloud service server, where the application deployment request includes an identifier of the application to be deployed, and information of the computing resource of the deployed application, so that the cloud service server is configured according to the deployed application.
  • the information of the computing resource determines the existing computing resource allocated by the cloud service server to the deployed application of the cloud service consuming device, and the application to be deployed is deployed by using the existing computing resource.
  • the information about the computing resource of the deployed application includes: an identifier of the deployed application and an identifier of a node of the deployed application or a computing resource allocated to the node Logo.
  • a cloud service server including: a receiving unit, configured to receive an application deployment request sent by a cloud service consumption device, where the application deployment request includes: an identifier of an application to be deployed, and a consumption device for the cloud service Information about the allocated computing resources of the deployed application; a deployment unit, configured to determine, according to the information about the computing resources allocated for the deployed application, that the cloud service server allocates the deployed application for the cloud service consuming device There is a computing resource, and the application to be deployed is deployed by using the existing computing resource.
  • the information received by the receiving unit is an identifier of a computing resource allocated to a node of the deployed application;
  • the deployment unit includes: a determining subunit, configured to The identifier of the computing resource determines that the cloud service server allocates the node for the deployed application An existing computing resource; a deployment subunit, configured to deploy the application to be deployed by using the determined existing computing resource.
  • the information received by the receiving unit is an identifier of the deployed application and an identifier of a node of the deployed application
  • the deploying unit further includes: acquiring a subunit, And acquiring an application instance identifier of the deployed application from a mapping relationship between the identifier of the saved deployed application and the application instance identifier of the deployed application according to the identifier of the deployed application, and according to the acquired
  • the application instance identifier of the deployed application and the identifier of the node of the deployed application are obtained from the mapping relationship between the saved application identifier of the deployed application, the node identifier of the deployed application, and the identifier of the computing resource corresponding to the node.
  • the identifier of the computing resource corresponding to the identifier of the node where the application has been deployed.
  • the application deployment request received by the receiving unit further includes: an identifier of the first node of the application to be deployed and a deployed product of the first node
  • the identifier of the computing resource is specifically carried in the deployed product of the first node; the deployment sub-unit is specifically configured to deploy the first by using the existing computing resource according to the deployed product of the first node node.
  • the deploying unit further includes: a creating subunit, configured to deploy the existing computing resource according to the deployed product of the first node in the deploying unit Before the first node, the application instance identifier of the application is created according to the identifier of the application to be deployed; and the recording subunit is configured to record a mapping relationship between the application instance identifier and the identifier of the application.
  • the recording subunit is further configured to: record an application instance identifier of the to-be-deployed application, an identifier of the first node, and the computing resource Identifies the mapping relationship between the three.
  • the acquiring subunit is further configured to: map, between the application instance identifier of the saved deployed application, the node identifier, and the identifier of the computing resource corresponding to the node. Obtaining, in the relationship, the application instance identifier of the deployed application corresponding to the identifier of the computing resource; the deploying unit further includes: a modifying subunit, based on the obtained application instance identifier of the deployed application, from the deployed application The application instance identifies a prerequisite for obtaining a deletion plan in the application deployment package of the deployed application in the corresponding application deployment package, and adds a condition that the application to be deployed has been deleted in the prerequisite of the deletion plan.
  • the fourth aspect provides a cloud service consumption device, including: a receiving unit, configured to receive an application department
  • the application deployment instruction includes: an identifier of the application to be deployed and information of the computing resource of the deployed application; a sending unit, configured to send an application deployment request to the cloud service server, where the application deployment request includes the to-be-set Deploying an identifier of the application, and information of the computing resource of the deployed application, to enable the cloud service server to determine, according to the information of the computing resource of the deployed application, the cloud service server as the deployed application of the cloud service consuming device
  • the existing computing resources are allocated, and the application to be deployed is deployed by using the existing computing resources.
  • the application deployment instruction received by the receiving unit further includes: an identifier of the first node of the application to be deployed
  • the device further includes: a constructing unit, configured to use, according to the first node
  • the identifier is configured to configure the deployed product of the first node, where the information of the computing resource of the deployed application is specifically carried in the deployed product of the first node
  • the sending unit is further configured to: send the cloud service server to the cloud service server Transmitting the deployment artifact, such that the cloud service server deploys the first node according to the deployed artifact using the existing computing resource.
  • the cloud platform application deployment method and device in the embodiment of the present invention can reduce the cost of the user and improve the use efficiency of the computing resource by deploying the shared node by using the existing computing resources.
  • Figure 1 shows an application topology diagram in the TOSCA standard
  • FIG. 2A is a schematic flow chart of a cloud platform application deployment method according to an embodiment of the present invention
  • FIG. 2B is a schematic flowchart showing a cloud platform application deployment method according to another embodiment of the present invention
  • FIG. 3B shows a schematic flowchart of step 309 of FIG. 3A;
  • Figure 3C shows a schematic flow chart of step 308 of Figure 3A
  • FIG. 4A is a schematic diagram of a cloud platform application deployment method according to an embodiment of the present invention
  • FIG. 4B is a schematic flowchart of a cloud platform application deployment method according to another embodiment of the present invention
  • FIG. 5B is a schematic block diagram of a cloud service consumption device according to another embodiment of the present invention.
  • FIG. 6A is a schematic block diagram of a cloud service server according to an embodiment of the present invention.
  • 6B is a schematic block diagram of a cloud service server according to another embodiment of the present invention.
  • 6C is a schematic block diagram of a cloud service server in accordance with still another embodiment of the present invention.
  • TOSCA Topology and Orchestration Specification for Cloud Applications
  • OASIS Advancing Open Standards for the Information Society
  • the application deployment package contains at least one application deployment description file.
  • the deployment description file is suffixed with ste to describe the deployment information of the application in XML language.
  • the root element of the deployment description file is the service template ServiceTemplate, which is used to completely describe the deployment information of an application.
  • the sub-elements of the service template ServiceTemplate include the topology template TopologyTemplate, the node type NodeType, the node template NodeTemplate, the relationship type RelationshipType, the relationship template RelationshipTemplate, The deployment plan BuildPlan, delete plan RemovePlan, etc., their relationship is shown in Figure 1.
  • the name attribute of the ServiceTemplate is the application ID. When the server is deployed, the server creates a unique identifier for the application. The identifier is the application instance ID.
  • FIG. 1 shows a topology diagram of a TOSCA application according to an embodiment of the present invention.
  • a topology template TopologyTemplate is used in the TOSCA standard to describe an application topology.
  • Each node in the topology is a node template NodeTemplate whose identity value is the node identifier, and its type is defined by the node type NodeType.
  • NodeTemplate you can define the deployment artifact of the node (Development Artifact, called DA).
  • DA deployment artifact
  • the deployment product DA of the node that needs the computing resource can only be defined as the image artifact type of Image Artifact, that is, the image type.
  • Node Type NodeType is used to define the metadata of the node template NodeTemplate, such as which properties the node has, defined by Properties; and the management interface of the node, defined by Interfaces.
  • Each Interfaces can contain multiple Interfaces, and each Interface can contain multiple methods, namely operation; each method corresponds to a method artifact, defined by Implementation Artifact.
  • Each NodeType contains at least one Interface.
  • the Interface contains at least four methods for the lifecycle management of the node, and the other ones are install, uninstalK start, and stop.
  • Each edge in the topology is a relationship template RelationshipTemplate, relationship template
  • the RelationshipTemplate is an instance of the relation type RelationshipType, which defines the starting point of the edge, defined by the SourceElement; and the end point, defined by the TargetElement.
  • each application deployment package also contains a description of the planned Plan.
  • the plan includes the deployment plan BuildPlan and the delete plan RemovePlan.
  • the deployment/deletion plan is an executable process described in a standardized language such as BPMN2.0.
  • the deployment/deletion plan has its own prerequisites, defined with Precondition, indicating the necessary conditions before the plan is executed.
  • FIG. 2A is a schematic flowchart of a cloud platform application deployment method according to an embodiment of the present invention. As shown in FIG. 2A, the method includes:
  • the application deployment request includes: an identifier of the application to be deployed, and information of a computing resource allocated for the deployed application of the cloud service consuming device;
  • the cloud service server receives an application deployment request sent by the cloud service consumption device, where the application deployment request includes the identifier of the application to be deployed and the computing resource allocated by the cloud service server for the deployed application of the cloud service consumption device,
  • the information about the computing resource may include an identifier of the deployed application and an identifier of a node of the deployed application, or an identifier of a computing resource allocated to the node.
  • the cloud service server may determine, according to the identifier of the computing resource, the node that is allocated for the deployed application.
  • An existing computing resource is used to deploy an application to be deployed.
  • the cloud service server may first identify the saved deployed application according to the identifier of the deployed application. Obtaining the application instance identifier of the deployed application in the mapping relationship of the applied application identifier of the deployed application, and then identifying the application instance identifier of the saved deployed application according to the obtained application instance identifier and the identifier of the node of the application to be deployed.
  • the computing resource identifier corresponding to the node identifier is obtained by mapping the identifier of the node of the deployed application and the identifier of the computing resource corresponding to the node.
  • the existing computing resources allocated to the node of the deployed application are determined according to the identifier of the computing resource, and the application to be deployed is deployed by using the existing computing resource.
  • FIG. 2B is a schematic flowchart of a cloud platform application deployment method according to an embodiment of the present invention.
  • the cloud platform application deployment method includes: 203. Receive an application deployment request sent by the cloud service consuming device, where the application deployment request includes: an application deployment description file of the application to be deployed, where the application deployment description file includes an identifier of the application to be deployed, and the first node of the application to be deployed. And identifying, by the cloud service server, an application deployment request sent by the cloud service message device according to the application deployment instruction of the cloud service consumer, where the deployment request includes at least a reference to the deployed application.
  • An application deployment description file corresponding to the identifier of the computing resource where the application deployment description file includes at least an identifier of the application to be deployed, a deployed product of the first node of the application to be deployed, and the deployed product of the first node references the computing resource Logo.
  • the first node of the application to be deployed has the same type of the node of the deployed application corresponding to the identifier of the computing resource.
  • the CSC device receives an application deployment instruction sent by the CSC, where the application deployment instruction includes an identifier of a computing resource corresponding to the node where the application is deployed, an identifier of the application to be deployed, and an application to be deployed.
  • the application deployment instruction may not include the identifier of the computing resource corresponding to the node of the deployed application, but only the identifier of the deployed application and the identifier of the node of the deployed application, and the CSC device may be deployed according to the deployed The identifier of the application and the identifier of the node of the deployed application, the mapping relationship between the identifier of the locally saved deployed application and the application instance identifier of the deployed application, the deployed application instance identifier, the identifier of the deployed application node, and the node corresponding to the node.
  • Obtaining, by the mapping relationship between the identifiers of the computing resources, the identifiers of the computing resources corresponding to the nodes of the deployed application, or the CSC device requests the cloud service server according to the identifier of the deployed application and the identifier of the node of the deployed application.
  • the application deployment instruction may further include other information required for deploying the application, such as: information about deployed product information of the non-shared node of the application to be deployed, and a deployment plan, where the non-shared node does not use the existing information.
  • the node that computes the resource deployment may further include other information required for deploying the application, such as: information about deployed product information of the non-shared node of the application to be deployed, and a deployment plan, where the non-shared node does not use the existing information.
  • the CSC device may be configured according to the identifier of the computing resource corresponding to the node of the deployed application and other information required to deploy the application to be deployed, such as: information about the deployed product of the non-shared node, and the identifier of the application to be deployed.
  • the application deployment package is constructed by the information of the shared node, the identifier of the non-shared node, and the deployment plan.
  • the constructed application deployment package includes at least one application deployment description file.
  • the application deployment description file describes at least the identifier of the application to be deployed and the information of the shared node.
  • the shared node information may include a shared node identifier and a node reference of the shared node that references the deployed application. The deployment of the identified product of the computing resource.
  • the application deployment package may further include a deployment plan of the application to be deployed.
  • the application deployment description file may further describe non-shared node information, where the non-shared node information may include a non-shared node identifier and a deployed product of the non-shared node.
  • the CSC device After the application deployment package is configured, the CSC device sends the configured application deployment package to the CSP server, so that the CSP server deploys the application to be deployed according to the application deployment package.
  • the CSP server determines the existing computing resource according to the identifier of the computing resource corresponding to the node of the deployed application in the application deployment description file, and deploys the deployed computing resource according to the deployed product in the application deployment description. Shared node.
  • the CSP server may also allocate a new computing resource to the non-shared node, and use the new computing resource to deploy the non-shared node according to the deployed product of the non-shared node.
  • the cloud platform application deployment method of the embodiment of the present invention can reduce the user cost and improve the use efficiency of the computing resource by deploying the application when the application is deployed.
  • FIG. 3A is a schematic flowchart of a cloud platform application deployment method according to another embodiment of the present invention. As shown in FIG. 3, the cloud platform application deployment method includes:
  • the CSC device receives an application deployment instruction, where the command includes the information about the computing resource of the node where the application is deployed, the identifier of the application to be deployed, and the identifier of the shared node that uses the existing computing resource.
  • 302. Determine, according to the information of the computing resource. The ID of the computing resource of the node where the application has been deployed;
  • the CSC device constructs an application deployment package according to the identifier of the computing resource, the identifier of the application to be deployed, and the identifier of the shared node.
  • the CSC device sends an application deployment request to the CSP server, where the application deployment request includes the application deployment package constructed in step 303.
  • the CSP server parses the application deployment package to obtain an identifier of the application to be deployed, creates an application instance identifier of the application to be deployed, and records a mapping relationship between the identifier of the application to be deployed and the application instance identifier. 306.
  • the CSP server sets the current processing.
  • the node is the current node to be deployed, and obtains the identifier of the node to be deployed.
  • the CSP server determines whether the node to be deployed is a shared node.
  • the CSP server can determine, according to the deployed product of the node to be deployed, whether the node to be deployed is a shared node, and specifically, whether the deployed product of the node to be deployed is determined.
  • the computing resource identifier of the node that has been deployed is referenced. If referenced, the node to be deployed is a shared node, otherwise it is a non-shared node.
  • the CSP server may determine whether the current node is a shared node according to whether the identifier of the node to be deployed is consistent with the identifier of the shared node. If the node is the same, the currently deployed node is a shared node. Non-shared node;
  • the CSP server obtains the deployed product of the node to be deployed, and deploys the current node to be deployed according to the deployed product of the current node.
  • step 308 is as shown in FIG. 3C, and includes:
  • the application deployment package is configured to obtain a reference resource type of the deployed product of the node to be deployed. 3082. Determine whether the referenced resource type of the deployed product of the node to be deployed is a non-mirror type.
  • the current node to be deployed does not need to be a computing resource, and the application instance identifier of the application to be deployed and the identifier of the current node to be deployed are directly recorded.
  • special characters can be used to indicate the computing resource identifier, such as "null".
  • the referenced resource type of the currently deployed node is a mirror type, parsing the application deployment package to obtain a reference resource in the deployed product, the reference resource is an image file, and the node is allocated a new computing resource and loaded and deployed.
  • the resource referenced by the product that is, the image file; the identifier of the new computing resource is created, and the mapping relationship between the application instance identifier of the application to be deployed, the identifier of the current node to be deployed, and the identifier of the created computing resource is recorded.
  • the CSP server parses the application deployment package to obtain the identifier of the computing resource of the node of the deployed application referenced in the deployed product of the current node to be deployed, and obtains the identifier of the computing resource according to the identifier of the computing resource. There are computing resources to deploy the nodes that are currently being deployed.
  • Step 309 specifically includes:
  • the CSP server checks whether the state of the existing computing resource is in the "Run” state, that is, normal operation.
  • the state of the row if the state of the existing computing resource is not the "Run” state, the start method of the node corresponding to the existing computing resource is called, and the node is started according to the corresponding node start method, so that the existing computing resource of the node is obtained.
  • the status changes to the "Run” state.
  • the CSP server maintains the mapping relationship between the identifier of the node of the deployed application and the identifier of the computing resource corresponding to the node when the CSP server deploys the deployed application corresponding to the computing resource.
  • the identifier of the computing resource can obtain the identifier of the corresponding node, and each node of the application corresponding to the existing computing resource has four methods of lifecycle management, namely install, uninstalK start and stop. The four methods are described in the application deployment descriptor for the node.
  • the CSP server maintains a mapping relationship between the application identifier, the application instance identifier, the identifier of the node of the application, and the identifier of the computing resource corresponding to the node identifier, and the CSP server calculates the mapping relationship according to the mapping relationship.
  • the identifier of the resource may obtain the application instance identifier of the deployed application corresponding to the identifier of the computing resource.
  • the deployed application corresponding to the existing computing resource has a prerequisite for deleting the plan and the deleting plan. Since the existing computing resources are used by the application to be deployed, the deleted plan of the deployed application corresponding to the existing computing resources must ensure that the application to be deployed has been deleted before being executed, that is, in the "REMOVED" state. Therefore, it is necessary to modify the prerequisites of the deployed application deletion plan corresponding to the identifier of the computing resource of the node of the deployed application to "the application to be deployed has been deleted"
  • the CSP server performs a deployment plan to complete the deployment.
  • the cloud platform application deployment method of the embodiment of the present invention can directly reduce the cost of the user and improve the use efficiency of the computing resource by directly using the existing resource deployment application.
  • the computing resource deployment of the MySql node of the application A is used as an example to further illustrate the cloud platform application deployment method according to another embodiment of the present invention.
  • FIG. 4A shows an application scenario diagram of an embodiment of the present invention.
  • the CSC deploys a web application A 10 on the cloud platform
  • the web application A 10 runs, the CSC needs to be deployed.
  • Web application B ll the web application B 11 is consistent with the web application A 10 topology. Since the web application A 10 has a small amount of access, the resource load of the MySQL node 101 is low, so the CSC determines the web application B11 and the web application A10. MySQL nodes share the same computing resources to save costs.
  • the MySQL node 111 of the web application B11 is called a shared node, and the other nodes of the web application B11 are called non-shared nodes.
  • FIG. 4B is a schematic flowchart of a cloud platform application deployment method according to another embodiment of the present invention. As shown in FIG. 4B, the method includes:
  • the CSC device receives an application deployment instruction, where the instruction includes information about a computing resource of a MySql node of Application A.
  • the application identifier of the application B to be deployed is appB, and all the node identifiers of the application B are: AppWarB, DbB, Apache, MySql, and the node topology diagram can be referred to FIG. 4A.
  • the process of the deployment plan is: (1) deploying the application War package; (2) running the MySql node; (3) installing the database file; (4) obtaining the network information of the MySql node, such as the IP and port number; (5) using the acquisition
  • the network information of the MySql node is configured for the Apache node; (6) stopping the MySql node;
  • the deployment plan is specifically defined as follows:
  • the deployment product DA can be defined as follows:
  • ArtifactType which represents the type of resource referenced by the DA.
  • ArtifactType that represents the image type is defined as follows:
  • the attribute name describes the identity of the ArtifactType
  • the attribute targetNamespace describes the namespace of the ArtifactType.
  • An ArtifactTemplate can be defined based on ArtifactType, and a resource can be referenced in the ArtifactTemplate.
  • an ArtifactTemplate that references an Apache image file can be defined as follows, and its identifier is ApacheAT.
  • the identifier describes the identifier of the ArtifactTemplate
  • the type describes the type of the ArtifactTemplate
  • each ArtifactTemplate can define multiple ArtifactReferences, which are defined in ArtifactReferences, and each ArtifactReference has a reference to the resource, in this example , referenced the image file Apache.xva.
  • the node Apache and its D A can be defined as follows:
  • the attribute of the DA describes the identity of the DA
  • the artifactRef describes the ArtifactTemplate of the DA reference
  • the attribute artifactType describes the type of the ArtifactTemplate referenced.
  • the Apache node defines a DA identified as ApacheDA, which references ApacheAT, and ApacheAT references the image file Apache.xva. That is, you can deploy the Apache node using Apache.xva.
  • Table 1 shows the node identifier of the application B non-shared node, the type of the DA reference resource, and the mapping relationship table of the reference resource.
  • the first line shows that the DA of the node AppWarB is a War package, the War package type is defined by War Artifact, and the reference resource is appB.war; the second line indicates that the DA of the node DbB is a database file, and the database file type is defined by Db Artifact.
  • the reference resource is appBDB.mysql; the third line indicates that the node Apache DA is a mirror, the image type is defined by Image Artifact, and the reference resource is Apache, xva.
  • the application instance identifier created by the CSP server for the application A is app A1
  • the application instance identifier corresponding to the existing computing resource and the identifier of the node corresponding to the existing computing resource are appAl and MySql respectively.
  • the mapping of the computing resource of the node of the deployed application is determined according to the information of the computing resource.
  • the CSP server maintains the mapping relationship between the application instance identifier, the node identifier, and the identifier of the corresponding computing resource, as shown in Table 2.
  • the mapping relationship table of the application instance identifier, the node identifier, and the identifier of the computing resource (where "Null" means the node does not need computing resources)
  • the CSC device After receiving the application deployment instruction, the CSC device directly parses the deployment instruction if the information of the computing resource is the identifier of the computing resource allocated for the node of the deployed application, and obtains the identifier of the computing resource;
  • the CSC device after receiving the application deployment instruction, sends an identifier request for acquiring the computing resource to the CSP server, where the request is Information about the received computing resources, such as: appAl and MySql.
  • the CSP server can obtain the node resource table of the application, that is, Table 2, and according to the node identifier of the deployed application in the request, that is, MySql, the identifier of the computing resource corresponding to the node can be queried from the table 2 as App Al -MySql and send the appAl -MySql to the CSC device.
  • the CSC device first defines the deployed product DA of the shared node according to the identifier of the computing resource acquired in step 402. Because the TOSCA currently defines the DA of the node that needs to calculate the resource, only the DA can be used.
  • Image Artifact type which indicates that the type of the DA reference resource is a mirror, not an existing computing resource. Therefore, a new ArtifactType "ExistingResourceArtifact" must be defined, indicating that the DA reference resource type is "Existing Computing Resources", which is defined as follows:
  • the node MySql and its DA can be defined as
  • artifactType ExistingResource Artifact
  • artifactRef MySQLAT
  • the CSC device Based on the DA definition of the shared node MySql, the CSC device combines other information required for deploying the application B in the instruction of step 401, such as: deployment product information of the non-shared node, identifier of the application to be deployed, identity of the shared node, and non-shared node Information such as identification and deployment plans can be used to construct application deployment packages for application B in accordance with the TOSC A standard.
  • the CSC device sends an application B deployment request to the CSP server, where the request includes the application deployment package of the constructed application B.
  • the CSP server parses the application deployment package of the application B, obtains the identifier of the application to be deployed, and creates an application instance identifier of the application to be deployed, and records the mapping relationship between the identifier of the application to be deployed and the application instance identifier, and according to the application to be deployed.
  • the application deployment package processes the four nodes of the application to be deployed. Specifically, the CSP server creates an application instance identifier for the application and maintains the mapping relationship between the application identifier and the application instance identifier. In this step, the CSP server first parses the response. Use the application deployment package of B to obtain the application identifier as appB. Then, create an application instance identifier as appBl, and record the mapping relationship between the application B identifier and the application instance identifier. Table 3 lists the application identifier and application instance identifier mapping of application B. Relational tables.
  • Step 411 The current node to be deployed is AppWarB, and the identifier of the node to be deployed is AppWarB.
  • Step 412 Acquire the reference resource of the node AppWarB as War Artifact instead of the ExistingResource Artifact, determine that the node AppWarB is a non-shared node sharing node, and skip to step 413.
  • Step 413 includes:
  • Step 413.1 Determine that the DA reference resource type is WarArtifact, not the mirror type, and skip to step 413.2;
  • Step 413.2 Record the application instance identifier (appBl) of the application B, the node identifier (AppWarB) to be deployed, and the identifier of the computing resource corresponding to the node to be deployed (ie, "Null").
  • the result is shown in Table 4 for the application B.
  • Step 421 The node to be deployed is DbB, and the node identifier to be deployed is DbB.
  • Step 423.1 Determine that the DA reference resource type is DbArtifact, not the mirror type, skip to the step
  • Step 423.2 Record the application instance identifier (appBl), the node identifier (DbB) to be deployed, and the computing resource identifier (ie, "Null") corresponding to the node identifier to be deployed.
  • the result is shown in Table 5, which is the node DbB of the application B.
  • a mapping table with the identification of the application instance identifier and the computing resource.
  • Step 431 The node to be deployed is Apache, and the identifier of the node to be deployed is Apache.
  • Step 432 Obtain the node
  • the type of the Apache DA reference resource is ImageArtifact, instead of the ExistingResource Artifact. If the node Apache is a non-shared node, go to step 433.
  • Step 433.1 Determine that the DA reference resource type is ImageArtifact, which is a mirror type, and skip to step 433.2;
  • Step 433.2 The CSP server parses the application deployment package to obtain the reference resource Apache.xva in the deployed product, allocates the computing resource and loads Apache.xva, creates the computing resource identifier as appBl-Apache, and records the application instance identifier and the currently deployed node.
  • the mapping relationship between the node identifier and the created computing resource identifier see Table 6 for the mapping relationship between the node Apache of application B and the application instance identifier and computing resources.
  • Step 441 Set the node to be deployed to MySql, and the node identifier to be deployed is MySql.
  • Step 442 Obtain the node MySql DA reference resource type is ExistingResource Artifact, determine that the node MySql is a shared node, and skip to step 443.
  • Step 443 includes:
  • Step 443.1 Parsing the application deployment package to obtain the reference referenced in the node deployment product to be deployed currently
  • Step 443.2 Check that the status of the existing computing resource appAl-MySQL is "RUN", so there is no need to call the start method;
  • Step 443.3 The mapping relationship between the application identifier, the application instance identifier, the node identifier, and the identifier of the corresponding computing resource is maintained by the CSP server when the application A is deployed. See Table 7 and Table 8 for the application identifier and application instance of the application A. Identity mapping table
  • the application instance identifier corresponding to the identifier of the computing resource can be found as appAl , and then based on the table 7, the application identifier is appAl to find the corresponding application identifier as app A.
  • Step 443.4 According to the application identifier, obtain the deletion plan of appA, and set the prerequisites that were not originally set. Now change to
  • the description language of the prerequisites can be any standard language recognized by the server, as indicated by the attribute expressionLanguage.
  • this embodiment uses a natural language description, that is, the executable condition of the application A's deletion plan is that the state of the application B is REMOVED (ie, deleted).
  • Step 443.5 Record the mapping relationship between the application instance identifier (appBl), the identifier of the node to be deployed (MySQL), and the computing resource identifier (app Al-MySQL). See Table 9
  • the process of the deployment plan is: (1) deploying the application War package; (2) running the MySql node; (3) installing the database file; (4) obtaining the network information of the MySql node, such as the IP and port number; Use the network information of the obtained MySql node to configure the Apache node; (6) Stop the MySql node.
  • the implementation of the deployment plan is an existing technology and will not be described here.
  • FIG. 5A is a schematic block diagram of a cloud service consumption device according to an embodiment of the present invention, including:
  • the receiving unit 501 is configured to receive an application deployment instruction, where the application deployment instruction includes: an identifier of the application to be deployed and information of the computing resource of the deployed application, and optionally, the information of the computing resource includes: the deployed application And an identifier of the node of the deployed application, or an identifier of a computing resource allocated to a node of the deployed application;
  • the sending unit 504 is configured to send an application deployment request to the cloud service server, where the application deployment request includes an identifier of the application to be deployed, and information about a computing resource of the deployed application, so that the cloud service server is configured according to the The information of the computing resources of the deployed application determines the existing computing resources allocated by the cloud service server to the deployed application of the cloud service consuming device, and the application to be deployed is deployed by using the existing computing resources.
  • the device may further include an obtaining unit 502, and the receiving unit 501 is configured to obtain the identifier of the computing resource according to the identifier information of the deployed application in the application deployment instruction received by the receiving unit.
  • the receiving unit 501 receives
  • the application deployment instruction further includes an identifier of the shared node that uses the existing computing resource.
  • the optional device may further include a constructing unit 503, and the obtaining unit 502 is connected to the identifier of the computing resource acquired according to the obtaining unit 502.
  • the identifier of the shared node constructs a deployed article of the shared node, and the deployed article references an identifier of the computing resource;
  • the sending unit 504 is connected to the constructing unit 503, and is further configured to send the deployed product of the shared node constructed by the constructing unit 503 to the cloud service server, so that the cloud service server deploys the existing computing resource according to the deployed product.
  • the shared node is connected to the constructing unit 503, and is further configured to send the deployed product of the shared node constructed by the constructing unit 503 to the cloud service server, so that the cloud service server deploys the existing computing resource according to the deployed product.
  • the shared node is connected to the constructing unit 503, and is further configured to send the deployed product of the shared node constructed by the constructing unit 503 to the cloud service server, so that the cloud service server deploys the existing computing resource according to the deployed product.
  • the application deployment request received by the receiving unit 501 may further include the identifier of the non-shared node and the identifier of the non-shared node, where the sending unit 504 is further configured to send the non-shared node to the cloud service server. Deploying the artifacts, so that the cloud service server allocates new computing resources to the non-shared nodes, and deploys the non-shared nodes according to the deployed artifacts of the non-shared nodes using the new computing resources.
  • the cloud service consumption device of the embodiment of the present invention may be used to participate in or execute the cloud platform application deployment method as described in FIG. 2 to FIG. 4.
  • the specific execution process can be described with reference to FIG. 2 to FIG. 4. Content, will not repeat them here.
  • FIG. 5B illustrates a cloud service consuming device according to another embodiment of the present invention.
  • the cloud server consuming device includes: the terminal device includes:
  • the processor 510, the memory 512, the communication interface 514, and the bus 513 are connected between the processor 510, the memory 512, and the communication interface 514 via the bus 513 and complete communication with each other.
  • the processor 510 may be a single core or a multi-core central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more configured to implement the embodiments of the present invention. Integrated circuits.
  • the memory 512 may be a high speed RAM memory or a non-volatile memory such as at least one disk memory.
  • Memory 512 is used to store program 515.
  • program code may be included in program 515, and the program code includes computer operation instructions.
  • Processor 510 runs program 515 to execute:
  • the application deployment instruction includes: an identifier of the application to be deployed and information of a computing resource of the deployed application;
  • the application deployment request includes an identifier of the application to be deployed, and information of the computing resource of the deployed application, so that the cloud service server is configured according to the deployed application.
  • the information of the computing resource determines the existing computing resource allocated by the cloud service server to the deployed application of the cloud service consuming device, and the application to be deployed is deployed by using the existing computing resource.
  • the cloud server consumption device of the embodiment of the present invention may participate in the implementation of the embodiment as described in FIG. 2 to FIG. 4, and details are not described herein again.
  • FIG. 6 is a schematic block diagram of a cloud service server according to an embodiment of the present invention. As shown in FIG. 6A, the cloud service server includes:
  • the receiving unit 601 is configured to receive an application deployment request sent by the cloud service consuming device, where the application deployment request includes: an identifier of the application to be deployed, and information of the computing resource allocated for the deployed application of the cloud service consuming device;
  • the deployment unit 602 is configured to determine, according to the information about the computing resource allocated for the deployed application, an existing computing resource allocated by the cloud service server to the deployed application of the cloud service consuming device, using the existing computing The resource deploys the application to be deployed.
  • the information received by the receiving unit 601 is a corresponding to the node of the deployed application. Calculate the identity of the resource;
  • the deployment unit 602 further includes:
  • a determining subunit 6021 configured to determine, according to the identifier of the computing resource, an existing computing resource allocated by the cloud service server for the node of the deployed application; a deployment subunit 6022 connected to the determining subunit, configured to use the determining The existing computing resources determined by the sub-unit 6021 deploy the application to be deployed.
  • the information received by the receiving unit 601 is an identifier of the deployed application and an identifier of a node of the deployed application
  • the deployment unit 602 further includes an acquiring subunit connected to the determining subunit 6021. 6023.
  • the identifier of the computing resource corresponding to the identifier of the node of the deployed application is obtained by the mapping between the instance identifier, the node identifier of the deployed application, and the identifier of the computing resource corresponding to the node.
  • the application deployment request received by the receiving unit 601 further includes: an identifier of the first node of the application to be deployed and a deployed product of the first node, where the identifier of the computing resource is specifically carried in the a deployment product of a node; the deployment sub-unit 6022 is specifically configured to determine an existing computing resource according to the existing computing resource identifier; deploying the first computing resource according to the deployed product of the first node One node.
  • the deployment unit 602 further includes a creating subunit 6024, configured to: before the deploying unit subunit 6022 deploys the first node according to the deployed product of the first node, using the existing computing resource, according to the The identifier of the application to be deployed creates an application instance identifier of the application;
  • the recording unit sub-6025 connected to the creating sub-unit 6024 is configured to record the mapping relationship between the application instance identifier created by the creating unit 6024 and the identifier of the application, and is also used to record the application instance identifier of the application to be deployed. And a mapping relationship between the identifier of the first node and the identifier of the computing resource.
  • the obtaining sub-unit 6023 is further configured to acquire, from the mapping relationship between the application instance identifier of the saved deployed application, the node identifier, and the identifier of the computing resource corresponding to the node, the deployed application corresponding to the identifier of the computing resource.
  • the deployment unit 602 further includes a modification sub-unit 6026 connected to the record sub-unit 6025, configured to obtain, according to the acquired application instance identifier of the deployed application, an application deployment package corresponding to the application instance identifier of the deployed application.
  • a prerequisite for the deletion plan in the application deployment package of the deployed application, and a condition that the application to be deployed has been deleted is added in the prerequisite of the deletion plan.
  • the cloud service server of the embodiment of the present invention can be used to participate in or execute the cloud platform application deployment method as described in FIG. 2 to FIG. 4. For the specific execution process, reference may be made to the content described in FIG. 2 to FIG. 4, and details are not described herein again.
  • FIG. 6B a schematic block diagram of a cloud service server according to another embodiment of the present invention is shown in FIG. 6C.
  • the cloud service server includes:
  • the processor 510, the memory 512, the communication interface 514, and the bus 513 are connected between the processor 510, the memory 512, and the communication interface 514 via the bus 513 and complete communication with each other.
  • the processor 510 may be a single core or a multi-core central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more configured to implement the embodiments of the present invention. Integrated circuits.
  • the memory 512 may be a high speed RAM memory or a non-volatile memory such as at least one disk memory.
  • Memory 512 is used to store program 515.
  • program code may be included in program 515, and the program code includes computer operation instructions.
  • Processor 510 runs program 515 to execute:
  • the application deployment request includes: an identifier of the application to be deployed, and information of a computing resource allocated for the deployed application of the cloud service consuming device;
  • the information about the allocated computing resources is used to determine the existing computing resources allocated by the cloud service server for the deployed application of the cloud service consuming device, and the application to be deployed is deployed by using the existing computing resources.
  • cloud service server of the embodiment of the present invention may be used to participate in or execute the cloud platform application deployment method as described in FIG.
  • the cloud service server of the embodiment of the present invention may be used to participate in or execute the cloud platform application deployment method as described in FIG.
  • details of the execution process refer to the descriptions in Figure 2 to Figure 4, and details are not described here.
  • the disclosed systems, devices, and methods may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
  • the components displayed by the unit may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种云平台应用部署的方法及装臵,其中方法包括:接收云服务消费设备发送的应用部署请求,所述应用部署请求包括:待部署应用的标识,和为所述云服务消费设备的已部署应用分配的计算资源的信息,根据所述为已部署应用分配的计算资源的信息,确定云服务服务器为所述云服务消费设备的所述已部署应用分配的已有计算资源,使用所述已有计算资源部署所述待部署的应用。本发明实施例的云平台应用部署方法,利用已有计算资源部署共享节点,可以减少用户的成本,提高计算资源的使用效率。

Description

云平台应用部署方法及装置 本申请要求于 2012 年 12 月 28 日提交中国专利局、 申请号为 201210583901.9、 发明名称为 "云平台应用部署方法及装置" 的中国专利申请 的优先权, 其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信领域, 尤其涉及一种云平台应用部署方法及装置。
背景技术
云计算是一种服务的交付和消费模式。 云服务供应商 (Cloud Service Provider, CSP )将大量计算资源用网络连接起来并进行统一的管理、 分配和 调度,构成一个巨大的资源池向云服务消费者( Cloud Service Consumer, CSC ) 提供服务。 对 CSC而言, 云资源可无限扩展, 具有按需索取、 按使用付费等高 效灵活的特点。
信息社会高级开放标准 ( Advancing Open Standards for the Information Society, 筒称 OASIS ) 的 TOSCA ( Topology and Orchestration Specification for Cloud Applications , 筒称 TOSCA )标准规范化了应用的拓朴和运维流程的描述 方式。
根据 TOSCA标准, CSC在 CSP服务器上部署一个应用时, 需要经过如下步 骤:
( 1 ) CSC通过 CSC设备向 CSP服务器发送应用部署请求, 该请求中至少包 含一个基于 TOSCA标准描述的应用部署包;
( 2 ) CSP R务器解析应用部署包;
( 3 ) CSP服务器为每个部署制品类型为镜像的节点分配计算资源; ( 4 ) CSP服务器执行部署计划以完成部署;
目前, 由于需要计算资源的节点的部署制品 ( Deployment Artifact , 筒称 DA )类型只能定义为 ImageArtifact类型, 即镜像类型, CSP服务器会为每个 此类节点分配独立的计算资源, 这样因为个别节点计算资源使用较少, 从而导 致计算资源浪费。
发明内容
本发明提供一种节省计算资源的云平台应用部署方法及装置。 第一方面, 提供一种云平台应用部署的方法, 包括: 接收云服务消费设备 发送的应用部署请求, 所述应用部署请求包括: 待部署应用的标识, 和为所述 云服务消费设备的已部署应用分配的计算资源的信息; 根据所述为已部署应用 分配的计算资源的信息, 确定云服务服务器为所述云服务消费设备的所述已部 署应用分配的已有计算资源, 使用所述已有计算资源部署所述待部署的应用。
结合第一发明的第一实施方式中, 所述信息是为所述已部署应用的节点分 配的计算资源的标识, 所述根据为已部署应用分配的计算资源的信息确定云服 务服务器为所述云服务消费设备的已部署应用分配的已有计算资源, 使用所述 已有计算资源部署所述应用, 包括: 根据所述计算资源的标识确定云服务服务 器为所述已部署应用的节点分配的已有计算资源, 使用所述确定的已有计算资 源部署所述待部署的应用。
结合第一方面的第二实施方式中, 所述信息为所述已部署应用的标识和所 述已部署应用的节点的标识, 所述^ ^艮据为已部署应用分配的计算资源的信息确 定云服务服务器为所述云服务消费设备的已部署应用分配的已有计算资源, 使 用所述已有计算资源部署所述应用, 包括: 根据所述已部署应用的标识从保存 的已部署应用的标识和已部署应用的应用实例标识间的映射关系中获取所述已 部署应用的应用实例标识, 再根据获取的所述已部署应用的应用实例标识和所 述已部署应用的节点的标识从保存的已部署应用的应用实例标识、 已部署应用 的节点标识及该节点所对应的计算资源的标识间的映射关系中获取所述已部署 应用的节点的标识对应的计算资源的标识; 根据所述计算资源的标识确定云服 务服务器为所述已部署应用的节点分配的已有计算资源, 使用所述确定的已有 计算资源部署所述待部署的应用。
结合第一方面第二实施方式或第三实施方式的第四实施方式中, 所述应用 部署请求还包括: 所述待部署应用的第一节点的标识和所述第一节点的部署制 品, 所述计算资源的标识具体被携带在所述第一节点的部署制品中; 所述使用 所述已有计算资源部署所述待部署的应用包括: 根据所述计算资源的标识确定 已有计算资源; 根据所述第一节点的部署制品使用所述已有计算资源部署所述 第一节点。
结合第一方面第四实施方式的第五实施方式中, 在根据所述第一节点的部 署制品使用所述已有计算资源部署所述第一节点之前, 所述方法还包括: 根据 所述待部署应用的标识创建所述待部署应用的应用实例标识, 记录所述应用实 例标识与所述待部署应用的标识间的映射关系。
结合第一方面第五实施方式的第六实施方式中, 所述根据所述第一节点的 部署制品使用所述已有计算资源部署所述第一节点包括: 记录所述待部署应用 的应用实例标识、 所述第一节点的标识以及所述计算资源的标识三者间的映射 关系。
结合第一方面第六实施方式的第七实施方式中, 所述根据所述第一节点的 部署制品使用所述已有计算资源部署所述第一节点还包括: 从保存的已部署应 用的应用实例标识、 节点标识及该节点所对应的计算资源的标识间的映射关系 中获取所述计算资源的标识对应的已部署应用的应用实例标识; 基于所述获取 的已部署应用的应用实例标识, 从所述已部署应用的应用实例标识对应的应用 部署包中获取所述已部署应用的应用部署包中的删除计划的先决条件, 在所述 删除计划的先决条件中增加所述待部署的应用已被删除的条件。
第二方面, 提供在云服务消费设备中, 一种云平台应用部署方法, 包括: 接收应用部署指令, 所述应用部署指令中包括: 待部署应用的标识和已部署应 用的计算资源的信息; 向云服务服务器发送应用部署请求, 所述应用部署请求 中包括所述待部署应用的标识, 和所述已部署应用的计算资源的信息, 以使所 述云服务服务器根据所述已部署应用的计算资源的信息确定云服务服务器为所 述云服务消费设备的所述已部署应用分配的已有计算资源, 使用所述已有计算 资源部署所述待部署的应用。
结合第二方面的第一实施方式中,所述已部署应用的计算资源的信息包括: 所述已部署应用的标识和所述已部署应用的节点的标识或者为所述节点分配的 计算资源的标识。
第三方面, 提供一种云服务服务器, 包括: 接收单元, 用于接收云服务消 费设备发送的应用部署请求, 所述应用部署请求包括: 待部署应用的标识, 和 为所述云服务消费设备的已部署应用分配的计算资源的信息; 部署单元, 用于 根据所述为已部署应用分配的计算资源的信息, 确定云服务服务器为所述云服 务消费设备的所述已部署应用分配的已有计算资源, 使用所述已有计算资源部 署所述待部署的应用。
结合第三方面的第一实施方式中, 所述接收单元接收的所述信息是为所述 已部署应用的节点分配的计算资源的标识; 所述部署单元包括: 确定子单元, 用于根据所述计算资源的标识确定云服务服务器为所述已部署应用的节点分配 的已有计算资源; 部署子单元, 用于使用所述确定的已有计算资源部署所述待 部署的应用。
结合第三方面的第二实施方式中, 所述接收单元接收的所述信息为所述已 部署应用的标识和所述已部署应用的节点的标识, 所述部署单元还包括: 获取 子单元, 用于根据根据所述已部署应用的标识从保存的已部署应用的标识和已 部署应用的应用实例标识间的映射关系中获取所述已部署应用的应用实例标识, 再根据获取的所述已部署应用的应用实例标识和所述已部署应用的节点的标识 从保存的已部署应用的应用实例标识、 已部署应用的节点标识及该节点所对应 的计算资源的标识间的映射关系中获取所述已部署应用的节点的标识对应的计 算资源的标识。
结合第三方面第一或第二实施方式的第三实施方式中, 所述接收单元接收 的应用部署请求还包括: 所述待部署应用的第一节点的标识和所述第一节点的 部署制品, 所述计算资源的标识具体被携带在所述第一节点的部署制品中; 所述部署子单元具体用于根据所述第一节点的部署制品使用所述已有计算资源 部署所述第一节点。
结合第三方面第三实施方式的第四实施方式中, 所述部署单元还包括: 创建子单元, 用于在所述部署单元根据所述第一节点的部署制品使用所述 已有计算资源部署所述第一节点之前, 根据所述待部署的应用的标识创建所述 应用的应用实例标识; 记录子单元, 用于记录所述应用实例标识与所述应用的 标识间的映射关系。
结合第三方面第四实施方式的第五实施方式中, 所述所述记录子单元还用 于: 记录所述待部署应用的应用实例标识、 所述第一节点的标识以及所述计算 资源的标识三者间的映射关系。
结合第三方面第五实施方式的第六实施方式中, 所述获取子单元, 还用于 从保存的已部署应用的应用实例标识、 节点标识及该节点所对应的计算资源的 标识间的映射关系中获取所述计算资源的标识对应的已部署应用的应用实例标 识; 所述部署单元还包括: 修改子单元, 基于所述获取的已部署应用的应用实 例标识, 从所述已部署应用的应用实例标识对应的应用部署包中获取所述已部 署应用的应用部署包中的删除计划的先决条件, 在所述删除计划的先决条件中 增加所述待部署的应用已被删除的条件。
第四方面, 提供一种云服务消费设备, 包括: 接收单元, 用于接收应用部 署指令, 所述应用部署指令中包括: 待部署应用的标识和已部署应用的计算资 源的信息; 发送单元, 用于向云服务服务器发送应用部署请求, 所述应用部署 请求中包括所述待部署应用的标识, 和已部署应用的计算资源的信息, 以使所 述云服务服务器根据所述已部署应用的计算资源的信息确定云服务服务器为所 述云服务消费设备的所述已部署应用分配的已有计算资源, 使用所述已有计算 资源部署所述待部署的应用。
结合第四方面的第一实施方式中, 所述接收单元接收的应用部署指令中还 包括: 所述待部署应用第一节点的标识, 所述设备还包括: 构造单元, 用于根 据第一节点的标识构造所述第一节点的部署制品, 所述已部署应用的计算资源 的信息具体被携带在所述第一节点的部署制品中; 所述发送单元还用于: 向所 述云服务服务器发送所述部署制品, 以便于所述云服务服务器根据所述部署制 品使用所述已有计算资源部署所述第一节点。
本发明实施例云平台应用部署方法及装置, 利用已有计算资源部署共享节 点, 可以减少用户的成本, 提高计算资源的使用效率。
附图说明
图 1示出了 TOSCA标准中的应用拓朴图;
图 2 A示出了本发明一实施例的云平台应用部署方法示意流程图; 图 2B示出了本发明另一实施例的云平台应用部署方法示意流程图 图 3 A示出了本发明又一实施例的云平台应用部署方法示意流程图; 图 3B示出了图 3A步骤 309细化示意流程图;
图 3C示出了图 3A步骤 308细化示意流程图;
图 4A示出了本发明一实施例的云平台应用部署方法应用场景图; 图 4B示出了本发明另一实施例的云平台应用部署方法示意流程图; 图 5 A示出了本发明一实施例的云服务消费设备示意框图;
图 5B示出了本发明另一实施例的云服务消费设备示意框图;
图 6A示出了本发明一实施例的云服务服务器示意框图;
图 6B示出了本发明另一实施例的云服务服务器示意框图;
图 6C示出了本发明又一实施例的云服务服务器示意框图。
具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
下面介绍一下本发明实施例的应用场景, 信息社会高级开放标准
( Advancing Open Standards for the Information Society , 筒称 OASIS )的 TOSCA ( Topology and Orchestration Specification for Cloud Applications , 筒称 TOSCA ) 标准规范化了云计算应用的拓朴结构和运维流程的描述方式。
TOSCA标准中将部署一个应用所需的全部信息都在云业务存档 CSAR ( Cloud Service Archive, 筒称 CSAR ) 的应用部署包中进行描述。 应用部署包 至少包含一个应用部署描述文件, 该部署描述文件后缀为 ste, 以 XML语言描述 应用的部署信息。 该部署描述文件的根元素为业务模板 ServiceTemplate , 用来 完整描述一个应用的部署信息, 业务模板 ServiceTemplate的子元素包括拓朴模 板 TopologyTemplate、 节点类型 NodeType、 节点模板 NodeTemplate、 关系类型 RelationshipType, 关系模板 RelationshipTemplate、 部署计划 BuildPlan、 删除计 划 RemovePlan等,他们的关系如图 1所示。 ServiceTemplate的 name属性值为应用 标识, 服务器实际部署应用时, 会为该应用再创建一个唯一的标识, 该标识为 应用实例标识。
图 1示出了本发明一实施例的 TOSCA应用拓朴图, 如图 1所示, TOSCA标 准中使用拓朴模板 TopologyTemplate来描绘一个应用拓朴结构。 拓朴中每个节 点都是一个节点模板 NodeTemplate, 其标识属性值即为节点标识, 其类型由节 点类型 NodeType定义。 在节点模板 NodeTemplate中可以定义该节点的部署制品 ( Deployment Artifact, 筒称 DA ) , 目前, 需要计算资源的节点的部署制品 DA 只能定义为镜像制品 Image Artifact类型, 即镜像类型。
节点类型 NodeType用来定义节点模板 NodeTemplate的元数据,如该节点具 备哪些属性, 用 Properties定义; 和该节点的管理接口, 用 Interfaces定义。 每个 Interfaces可包含多个 Interface ,而每个 Interface中可包含多个方法,即 operation; 每个方法对应一个方法制品, 用 Implementation Artifact定义。 每个 NodeType至 少包含一个 Interface, 该 Interface至少包含该节点生命周期管理的 4个方法, 分 另 ll为 install、 uninstalK start和 stop。
拓朴中的每条边都是一个关系模板 RelationshipTemplate, 关系模板
RelationshipTemplate是关系类型 RelationshipType的一个实例, 定义了该边的起 点, 用 SourceElement定义; 和终点, 用 TargetElement定义。 同时, 每个应用部署包中还包含对计划 Plans 的描述, 计划包含部署计划 BuildPlan和删除计划 RemovePlan,部署 /删除计划是用标准化语言(如 BPMN2.0 ) 描述的可执行流程。部署 /删除计划都有自己的先决条件,用 Precondition定义, 表明执行该计划前的必要条件。
图 2A示出了本发明一实施例的云平台应用部署方法示意流程图, 如图 2A 所示, 该方法包括:
201、 接收云服务消费设备发送的应用部署请求, 所述应用部署请求包括: 待部署应用的标识, 和为所述云服务消费设备的已部署应用分配的计算资源的 信息;
具体的, 云服务服务器接收云服务消费设备发送的应用部署请求, 该应用 部署请求中包括待部署应用的标识和该云服务服务器为该云服务消费设备的已 部署应用分配的计算资源的信息, 可选的, 该计算资源的信息可以包括该已部 署应用的标识和该已部署应用的节点的标识, 或者为该节点分配的计算资源的 标识。
202、根据所述为已部署应用分配的计算资源的信息,确定云服务服务器为 所述云服务消费设备的所述已部署应用分配的已有计算资源, 使用所述已有计 算资源部署所述待部署的应用。
具体的, 若部署请求携带的计算资源的信息是为已部署应用的某节点分配 的计算资源的标识, 则该云服务服务器可以根据该计算资源的标识确定为该已 部署应用的该节点分配的已有计算资源, 使用该已有计算资源部署待部署的应 用。
若部署请求携带的计算资源的信息为该已部署应用的标识和该已部署应用 的某节点的标识, 则云服务服务器可以先根据该已部署应用的标识从保存的已 部署应用的标识与该已部署应用的应用实例标识的映射关系中获取该已部署应 用的应用实例标识, 然后根据获取的该应用实例标识以及该待部署应用的节点 的标识从保存的已部署应用的应用实例标识、 该已部署应用的节点的标识及该 节点对应的计算资源的标识的映射关系中获取与该节点标识对应的计算资源标 识。 再根据该计算资源的标识确定为该已部署应用的该节点分配的已有计算资 源, 使用该已有计算资源部署待部署的应用。
图 2B 示出了本发明一实施例的云平台应用部署方法示意流程图, 如图 2 所示, 该云平台应用部署方法包括: 203、 接收云服务消费设备发送的应用部署请求, 所述应用部署请求包括: 待部署应用的应用部署描述文件,该应用部署描述文件包括待部署应用的标识、 该待部署应用的第一节点的标识以及已部署应用的节点对应的计算资源的标识; 具体的, 云服务服务器接收云服务消息设备根据云服务消费者的应用部署 指令发送的应用部署请求, 该部署请求中至少包括引用已部署应用的节点对应 的计算资源的标识的应用部署描述文件, 该应用部署描述文件至少包括待部署 应用的标识、 该待部署应用的第一节点的部署制品, 该第一节点的部署制品引 用该计算资源的标识。
可选的, 该待部署应用的第一节点与该计算资源的标识对应的已部署应用 的节点的类型一致。
一种可选的实施方式中, CSC设备接收 CSC发送的应用部署指令,该应用 部署指令中包括已部署应用的节点对应的计算资源的标识、待部署应用的标识, 以及该待部署应用中使用已有计算资源的共享节点的标识, 其中共享节点为使 用已有计算资源部署的节点;
可选的, 该应用部署指令中也可以不包括已部署应用的节点对应的计算资 源的标识, 而仅携带已部署应用的标识及该已部署应用的节点的标识, CSC设 备可以根据该已部署应用的标识及该已部署应用的节点的标识从本地保存的已 部署应用的标识与已部署应用的应用实例标识间的映射关系和已部署应用实例 标识、 已部署应用节点的标识及该节点对应的计算资源的标识间的映射关系中 获取已部署应用的节点对应的计算资源的标识,或者 CSC设备根据该已部署应 用的标识及该已部署应用的节点的标识向云服务服务器请求获取与该已部署应 用的节点的标识对应的计算资源的标识。
可选的, 该应用部署指令中还可以包括部署该应用所需的其他信息, 如: 该待部署应用的非共享节点的部署制品信息以及部署计划等信息, 其中非共享 节点为不使用已有计算资源部署的节点。
进一步的, CSC设备可以根据获取的已部署应用的节点对应的计算资源的 标识以及接收的部署该待部署应用所需的其他信息, 如: 非共享节点的部署制 品信息, 待部署应用的标识, 共享节点的标识、 非共享节点的标识以及部署计 划等信息构造应用部署包, 构造后的应用部署包至少包括一个应用部署描述文 件。 该应用部署描述文件至少描述了待部署应用的标识和共享节点的信息。 共 享节点信息可以包括共享节点标识以及共享节点的引用已部署应用的节点对应 的计算资源的标识的部署制品。
可选的, 该应用部署包还可以包括该待部署应用的部署计划。
可选的, 该应用部署描述文件还可以描述非共享节点信息, 该非共享节点 信息可以包括非共享节点标识以及该非共享节点的部署制品。
CSC设备在构造完应用部署包后, 向 CSP服务器发送构造的应用部署包, 以便于该 CSP服务器根据该应用部署包中部署该待部署的应用。
204、 根据所述应用部署描述文件中的计算资源的标识确定已有计算资源, 使用该已有计算资源部署第一节点;
具体的, CSP服务器根据应用部署描述文件中的已部署应用的节点对应的 计算资源的标识确定已有计算资源, 根据该应用部署描述中的共享节点的部署 制品使用该获取的已有计算资源部署共享节点。
可选的, CSP服务器还可以为非共享节点分配新的计算资源, 使用该新的 计算资源才艮据该非共享节点的部署制品部署该非共享节点。
本发明实施例的云平台应用部署方法, 在部署应用时, 使用已有计算资源 部署应用, 可以减少用户成本, 提高计算资源的使用效率。
图 3A示出了本发明另一实施例的云平台应用部署方法示意流程图,如图 3 所示, 该云平台应用部署方法包括:
301、 CSC设备接收应用部署指令, 该指令中包括已部署应用的节点的计 算资源的信息、 待部署应用的标识以及使用已有计算资源的共享节点的标识; 302、 根据该计算资源的信息确定已部署应用的节点的计算资源的标识;
303、 CSC设备根据该计算资源的标识、 待部署应用的标识、 共享节点的 标识构造应用部署包;
304、 CSC设备向 CSP服务器发送应用部署请求, 该应用部署请求中包括 步骤 303构造的应用部署包;
305、 CSP服务器解析应用部署包获取待部署应用的标识,创建该待部署应 用的应用实例标识,并记录该待部署应用的标识和应用实例标识间的映射关系; 306、 CSP服务器设当前处理的节点为当前待部署的节点,并获取当前待部 署的节点的标识;
307、 CSP服务器判断当前待部署的节点是否为共享节点;
具体的, CSP服务器可以根据当前待部署的节点的部署制品判断当前待部 署的节点是否为共享节点, 具体的, 判断当前待部署的节点的部署制品中是否 引用了已部署应用的节点的计算资源标识, 若引用, 则当前待部署的节点为共 享节点, 否则为非共享节点。
可选的, CSP服务器也可以根据当前待部署的节点的标识与共享节点的标 识是否一致判断当前节点是否为共享节点, 若一致, 则当前部署的节点为共享 节点, 若不一致, 则当前节点为非共享节点;
308、 若当前待部署的节点为非共享节点, 则 CSP服务器获取当前待部署 的节点的部署制品, 根据该当前节点的部署制品部署当前待部署的节点;
具体的, 步骤 308如图 3C所示, 包括:
3081、 解析应用部署包获取当前待部署的节点的部署制品引用资源类型; 3082、 判断该当前待部署的节点的部署制品引用资源类型是否为非镜像类 型;
3083、 若该当前待部署的节点的部署制品引用资源类型为非镜像类型, 则 表明该当前待部署的节点不需要计算资源, 直接记录待部署应用的应用实例标 识、 当前待部署的节点的标识和当前待部署的节点所对应的计算资源的标识间 的映射关系。 可选的, 因为当前待部署的节点不需要计算资源, 可以用特殊字 符来表示计算资源标识, 如" Null"。
3084、 若该当前待部署的节点的部署制品引用资源类型为镜像类型, 则解 析应用部署包获取部署制品中的引用资源, 该引用资源为镜像文件, 为该节点 分配新的计算资源并加载部署制品所引用的资源, 即该镜像文件; 创建新的计 算资源的标识, 并记录该待部署应用的应用实例标识、 当前待部署的节点的标 识以及该创建的计算资源的标识间的映射关系。
309、 若当前待部署的节点为共享节点, 则 CSP服务器解析应用部署包获 取当前待部署节点的部署制品中引用的已部署应用的节点的计算资源的标识, 并根据该计算资源的标识获取已有计算资源来部署当前待部署的节点。
具体的, 如图 3B示出了图 3A步骤 309细化示意流程图, 步骤 309具体包 括:
3091、 解析应用部署包获取当前待部署的节点的部署制品中引用的已部署 应用的节点的计算资源的标识;
3092、 根据该计算资源的标识确定已有计算资源;
3093、 确定该已有计算资源正常运行;
具体的, CSP服务器检查已有计算资源的状态是否为" Run"状态, 即正常运 行状态,若已有计算资源的状态非为 "Run"状态,则调用已有计算资源所对应的 节点的 start方法,根据该对应的节点 start方法启动该节点,使该节点的已有计 算资源状态更变为" Run"状态。
需要注意的是, CSP服务器部署已有计算资源所对应的已部署应用时, 会 维护该已部署应用的节点的标识和该节点对应的计算资源的标识间的映射关系, 基于已部署应用的节点的计算资源的标识可以获取该对应节点的标识, 并且已 有计算资源所对应的应用的每一个节点都会有生命周期管理的四个方法, 即 install, uninstalK start和 stop。 该四个方法在该节点的应用部署描述文件中进 行描述。
3094、 基于该计算资源的标识获取该计算资源的标识所对应的已部署应用 的应用实例标识;
因为 CSP服务器在部署每个应用时, 都会维护应用标识、 应用实例标识、 该应用的节点的标识和该节点标识所对应计算资源的标识之间的映射关系, 基 于该映射关系, CSP服务器根据计算资源的标识可以获取该计算资源的标识所 对应的已部署应用的应用实例标识。
3095、 才艮据获取的计算资源的标识所对应的已部署应用的应用实例标识获 取并修改该已部署应用删除计划的先决条件;
具体的, 已有计算资源所对应的已部署应用都有删除计划和该删除计划的 先决条件。 由于已有计算资源会被现在待部署应用使用, 所以已有计算资源所 对应的已部署的应用的删除计划在执行前必须确保该待部署的应用已被删除, 即处于 "REMOVED"状态。 因此需要将已部署应用的节点的计算资源的标识所 对应的已部署应用删除计划的先决条件修改为"待部署的应用已被删除"
3096、 记录待部署应用的应用实例标识、 当前待部署的节点的标识和已部 署应用的节点的计算资源的标识间的映射关系。
310、 CSP服务器执行部署计划完成部署。
本发明实施例的云平台应用部署方法, 对于共享节点直接使用已有资源部 署应用, 可以减少用户的成本, 提高计算资源的使用效率。
下面以 CSC部署应用 B时, 使用应用 A的 MySql节点的计算资源部署为 例进一步阐述本发明另一实施例的云平台应用部署方法。
图 4A示出了本发明一实施例的应用场景图, 如图 4A所示, 在 CSC在云 平台部署了一个 Web应用 A 10后,在 Web应用 A 10运行之后, CSC需要部署 Web应用 B ll , 该 Web应用 B 11与 Web应用 A 10拓朴一致, 由于 Web应用 A 10访问量不大, 其 MySQL节点 101的资源负载较低, 所以 CSC决定 Web 应用 B11和 Web应用 A10 的 MySQL节点共享同一计算资源以节省成本。 其 中 Web应用 B11的 MySQL节点 111称为共享节点, Web应用 B11其他节点都 叫非共享节点。
图 4B 示出了本发明另一实施例的云平台应用部署方法示意流程图, 如图 4B所示, 该方法包括:
401、 CSC设备收到应用部署指令, 该指令中包括应用 A的 MySql节点的 计算资源的信息;
具体的, 待部署的应用 B的应用标识为 appB , 应用 B所有节点标识分别 为: AppWarB、 DbB、 Apache、 MySql, 节点拓朴图可参照图 4A所示。
部署计划的流程为: ( 1 )部署应用 War包; ( 2 )运行 MySql节点; ( 3 ) 安装数据库文件; (4 )获取 MySql节点的网络信息, 如 IP和端口号等; (5 ) 使用获取的 MySql节点的网络信息对 Apache节点进行配置; ( 6 )停止 MySql节 点;
部署计划具体定义如下:
BuildPlan:
( 1 ) AppWarB.install(); II install方法定义在节点 AppWarB的 NodeType中; ( 2 ) MySql. start(); II start方法定义在节点 MySql的 NodeType中; ( 3 ) DbB.install(); 〃 install方法定义在节点 DbB的 NodeType中;
( 4 ) MySql.retrieveNetAddO; II retrieveNetAdd方法定义在节点 MySql的 NodeType中;
( 5 ) Apache. configO; II config方法定义在节点 Apache的 NodeType中; ( 6 ) MySql.stopO; II stop方法定义在节点 MySql的 NodeType中;
TOSCA标准中, 部署制品 DA可以通过如下方式定义:
首先定义 ArtifactType , 表示 DA所引用资源的类型。 例如: 表示镜像类型 的 ArtifactType定义如下:
< ArtifactType name= "Image Artifact"
targetNamespace="http://docs. oasisopen.org/tosca/ns/2011/12/ Artifacts "/>
其中属性 name描述了该 ArtifactType的标识,而属性 targetNamespace描述了 该 ArtifactType的命名空间。 基于 ArtifactType可以定义 ArtifactTemplate ,在 ArtifactTemplate中引用资源, 例如引用一个 Apache镜像文件的 ArtifactTemplate可如下定义, 其标识为 ApacheAT
< ArtifactTemplate 标识 ="ApacheAT" type="ImageArtifact">
<ArtifactReferences>
< ArtifactReference reference:" Apache. xva "/>
</ArtifactReferences>
</ArtifactTemplate>
其中,标识描述了该 ArtifactTemplate的标识, type描述了该 ArtifactTemplate 的类型, 每个 ArtifactTemplate可以定义多个 ArtifactReference , 都定义在 ArtifactReferences , 每个 ArtifactReference 有属' t"生 reference以引用资源, 口本 例中, 引用了镜像文件 Apache.xva。
节点 Apache及其 D A可以如下定义:
< NodeTemplate 标识 =" Apache" nodeType="ApacheServer">
<DeploymentArtifacts>
<DeploymentArtifact artifactRef=" ApacheAT" artifactType= "Image Artifact" name="ApacheDA"/>
</DeploymentArtifacts>
…〃其他定义
</ NodeTemplate >
DA的属性 name描述该 DA的标识, artifactRef描述了该 DA引用的 ArtifactTemplate , 属性 artifactType描述了所引用的 ArtifactTemplate的类型。 本 例中, Apache节点定义了一个标识为 ApacheDA的 DA, 该 DA引用 ApacheAT, 而 ApacheAT引用了镜像文件 Apache.xva。 也就是说, 可以使用 Apache.xva部署 该 Apache节点。
为了筒单起见, 这里不给出应用 B的 3个非共享节点 DA的完整定义, 仅给 出节点标识、 DA引用资源的类型、 引用资源的映射关系。 表 1为应用 B非共享 节点的节点标识、 DA引用资源的类型、 引用资源的映射关系表
节点标识 DA引用资源的类型 引用资源
AppWarB War Artifact appB.war
DbB DbArtifact appBDB.mysql Apache ImageArtifact Apache, xva
表 1
其中第一行说明节点 AppWarB的 DA是一个 War包, War包类型用 War Artifact定义, 引用资源为 appB.war; 第二行说明节点 DbB的 DA是一个数据 库文件, 数据库文件类型用 Db Artifact定义, 引用资源为 appBDB.mysql; 第三行 说明节点 Apache的 DA是一个镜像, 镜像类型用 Image Artifact定义, 引用资源为 Apache, xva。
由于已有计算资源是应用 A的 MySql节点的计算资源,设 CSP服务器为应用 A创建的应用实例标识为 app A1 , 已有计算资源所对应的应用实例标识和已有计 算资源所对应节点的标识分别为 appAl和 MySql。
402、 根据计算资源的信息确定已部署应用的节点的计算资源的标识; CSP服务器在部署应用 A时, 会维护应用实例标识、 节点标识和对应计算 资源的标识的映射关系, 如表 2所示为应用 A中, 应用实例标识、 节点标识和计 算资源的标识的映射关系表。 (其中" Null"表示该节点不需要计算资源)
Figure imgf000016_0001
表 2
CSC设备在收到应用部署指令后, 若计算资源的信息是为已部署应用的节 点分配的计算资源的标识则直接解析部署指令, 获取该计算资源的标识;
可选的, 若计算资源的信息为已部署应用的标识和该已部署应用的节点的 标识, 则 CSC设备在收到应用部署指令后, 向 CSP服务器发送获取计算资源 的标识请求, 该请求中携带接收的计算资源的信息, 如: appAl和 MySql。 CSP 服务器根据请求中 appAl可以获取该应用的节点资源表, 即表 2, 再根据请求 中已部署应用的节点标识, 即 MySql, 可从该表 2中查询到该节点对应的计算 资源的标识为 app Al -MySql , 并将该 appAl -MySql发送给 CSC设备。
403、 构造应用 B的应用部署包;
具体的, CSC设备首先根据步骤 402获取的计算资源的标识定义共享节点的 部署制品 DA, 由于 TOSCA中, 目前定义需要计算资源的节点的 DA时只能使用 Image Artifact类型, 该类型表示 DA引用资源的类型为镜像, 而不是已有计算资 源。 因此, 必须定义新的 ArtifactType"ExistingResourceArtifact", 表示 DA引用 资源类型为"已有计算资源", 其定义如下:
<ArtifactType name="ExistingResource Artifact"
targetNamespace="http://docs. oasisopen.org/tosca/ns/2011/12/ Artifacts "/>
定义 ArtifactTemplate并指定其 type为 ExistingResource Artifact , 并引用已 部署应用的节点的计算资源标识, 即 appAl-MySQL。
< ArtifactTemplate 标识 ="MySQLAT" type="ExistingResource Artifact "> <ArtifactReferences>
<ArtifactReference reference="appAl-MySQL"/>
</ArtifactReferences>
</ArtifactTemplate>
基于定义的 ArtifactTemplate , 节点 MySql及其 DA可以定义为
<NodeTemplate 标识 ="MySql" nodeType="MySQLServer">
<DeploymentArtifacts>
Deployment Artifact name:" MySQLDA"
artifactType=" ExistingResource Artifact" artifactRef=" MySQLAT"/> </DeploymentArtifacts>
... II其他定义
</NodeTemplate>
基于上述共享节点 MySql的 DA定义, CSC设备结合步骤 401指令中的部署 应用 B所需其他信息, 如: 非共享节点的部署制品信息, 待部署应用的标识, 共享节点的标识、 非共享节点的标识以及部署计划等信息即可根据 TOSC A标准 构造应用 B的应用部署包。
404、 CSC设备向 CSP服务器发送应用 B部署请求, 该请求中包括构造的应 用 B的应用部署包。
405、 CSP服务器解析应用 B的应用部署包, 获取待部署应用的标识, 创建 待部署应用的应用实例标识, 记录该待部署应用的标识和应用实例标识的映射 关系, 并根据该待部署应用的应用部署包逐步处理该待部署应用的四个节点; 具体的, CSP服务器在部署应用时, 会为该应用创建应用实例标识, 并维 护应用标识和应用实例标识的映射关系。 在本步骤中, CSP服务器首先解析应 用 B的应用部署包, 获取应用标识为 appB; 然后创建应用实例标识为 appBl , 并 记录应用 B的标识和应用实例标识的映射关系,如表 3为应用 B的应用标识和应用 实例标识的映射关系表。
Figure imgf000018_0002
Figure imgf000018_0001
四个节点的处理流程如下:
处理节点 AppWarB的流程:
步骤 411 : 设当前待部署的节点为 AppWarB , 则当前待部署的节点的标识 即为 AppWarB;
步骤 412 : 获取节点 AppWarB的引用资源的类型为 War Artifact , 而不是 ExistingResource Artifact , 判断节点 AppWarB为非共享节点共享节点, 跳至步骤 413。
步骤 413包括:
步骤 413.1 : 判断 DA引用资源类型为 WarArtifact, 不是镜像类型, 跳至步 骤 413.2;
步骤 413.2: 记录应用 B的应用实例标识 (appBl ) 、 当前待部署的节点标 识 (AppWarB ) 、 当前待部署的节点所对应计算资源的标识 (即" Null" ) , 结 果见表 4为应用 B的节点 AppWarB与应用实例标识和计算资源的标识的映射关 系表。
Figure imgf000018_0003
表 4 处理节点 DbB的流程:
步骤 421 :设当前待部署的节点为 DbB , 当前待部署的节点标识即为 DbB; 步骤 422 : 获取节点 DbB的 DA引用资源的类型为 DbArtifact , 而不是 ExistingResource Artifact , 判断节点 DbB为非共享节点, 跳至步骤 423。
步骤 423:
步骤 423.1 : 判断 DA引用资源类型为 DbArtifact, 不是镜像类型, 跳至步骤
423.2; 步骤 423.2:记录应用实例标识( appBl )、当前待部署的节点标识( DbB )、 当前待部署的节点标识所对应计算资源标识(即" Null" ) , 结果见表 5 , 为应用 B的节点 DbB与应用实例标识和计算资源的标识的映射关系表。
Figure imgf000019_0002
Figure imgf000019_0001
处理节点 Apache的流程:
步骤 431 : 设当前待部署的节点为 Apache, 当前待部署的节点的标识即为 Apache;
步骤 432: 获取节点 Apache的 DA引用资源的类型为 ImageArtifact, 而不是 ExistingResource Artifact , 判断节点 Apache为非共享节点, 跳至步骤 433。
步骤 433:
步骤 433.1 : 判断 DA引用资源类型为 ImageArtifact, 是镜像类型, 跳至步 骤 433.2;
步骤 433.2: CSP服务器解析应用部署包获取部署制品中引用资源 Apache.xva , 分配计算资源并力口载 Apache.xva , 创建计算资源标识为 appBl -Apache, 并记录应用实例标识、 当前待部署的节点的节点标识、 创建的 计算资源标识的映射关系, 见表 6为应用 B的节点 Apache与应用实例标识和计算 资源的映射关系表
Figure imgf000019_0003
见表 6
处理节点 MySql的流程:
步骤 441 : 设当前待部署的节点为 MySql , 当前待部署的节点标识即为 MySql;
步骤 442: 获取节点 MySql的 DA引用资源的类型为 ExistingResource Artifact, 判断节点 MySql为共享节点, 跳至步骤 443。
步骤 443包括:
步骤 443.1 : 解析应用部署包获取当前待部署的节点部署制品中引用的计 步骤 443.2: 检查已有计算资源 appAl-MySQL的状态为" RUN", 故无需调 用 start方法;
步骤 443.3: 由于 CSP服务器在部署应用 A时会维护应用 A的应用标识、 应 用实例标识、 节点标识、 所对应计算资源的标识的映射关系, 见表 7和表 8 应用 A的应用标识和应用实例标识的映射关系表
Figure imgf000020_0002
表 7
应用 A的节点 MySQL与应用实例标识和计算资源的映射关系表
Figure imgf000020_0003
Figure imgf000020_0001
因此, 基于表 8根据 app Al -MySQL可查找与该计算资源的标识对应的应用 实例标识为 appAl , 再基于表 7才艮据应用实例标识为 appAl可查找对应的应用标 识为 app A。
步骤 443.4: 根据应用标识, 获取 appA的删除计划, 设原先没有设置先决 条件, 现在改为
<Plan标识 ="removePlan">
<PreCondition expressionLanguage="www. example.com/text">? the state of appBl is REMOVED
</PreCondition>
</ Plan >
先决条件的描述语言可以是任何服务器可识别的标准语言, 通过属性 expressionLanguage指明。 筒单起见, 本实施例使用了自然语言描述, 即应用 A 的删除计划的可执行的必要条件为应用 B的状态为 REMOVED (即被删除) 。
步骤 443.5: 记录应用实例标识 ( appBl ) 、 当前待部署的节点的标识 ( MySQL ) 、 计算资源标识( app Al -MySQL ) 的映射关系, 见表 9
应用 B的节点 MySQL与应用实例标识和计算资源的映射关系表
Figure imgf000020_0004
表 9 步骤 11 : 执行部署计划。
具体的, 部署计划的流程为: ( 1 )部署应用 War包; ( 2 )运行 MySql节 点; (3 ) 安装数据库文件; (4 )获取 MySql节点的网络信息, 如 IP和端口号 等; (5 )使用获取的 MySql节点的网络信息对 Apache节点进行配置; (6 )停 止 MySql节点。 执行部署计划为现有技术, 在此不再赘述。
图 5A示出了本发明一实施例的云服务消费设备示意框图, 包括:
接收单元 501 , 用于接收应用部署指令, 所述应用部署指令中包括: 待部 署应用的标识和已部署应用的计算资源的信息, 可选的, 该计算资源的信息包 括: 所述已部署应用的标识和所述已部署应用的节点的标识, 或者为所述已部 署应用的节点分配的计算资源的标识;
发送单元 504, 用于向云服务服务器发送应用部署请求, 所述应用部署请 求中包括所述待部署应用的标识, 和已部署应用的计算资源的信息, 以使所述 云服务服务器根据所述已部署应用的计算资源的信息确定云服务服务器为所述 云服务消费设备的所述已部署应用分配的已有计算资源, 使用所述已有计算资 源部署所述待部署的应用。
可选的, 该设备还可以包括获取单元 502, 和接收单元 501相连, 用于根 据接收单元接收的应用部署指令中已部署应用的标识信息获取计算资源的标识; 可选的, 接收单元 501接收的应用部署指令还包括使用所述已有计算资源 的共享节点的标识, 可选的该设备还可以包括构造单元 503 , 和获取单元 502 相连, 用于根据获取单元 502获取的计算资源的标识和所述共享节点的标识构 造所述共享节点的部署制品, 所述部署制品引用所述计算资源的标识;
所述发送单元 504, 与构造单元 503相连, 还用于将构造单元 503构造的 共享节点的部署制品给云服务服务器, 以使所述云服务服务器根据所述部署制 品使用该已有计算资源部署该共享节点。
可选的, 接收单元 501接收的应用部署请求中还可以包括非共享节点的部 署制品及非共享节点的标识, 所述发送单元 504还用于向所述云服务服务器发 送所述非共享节点的部署制品, 以便于所述云服务服务器为所述非共享节点分 配新的计算资源, 根据所述非共享节点的部署制品使用所述新的计算资源部署 所述非共享节点。
需要注意的是, 本发明实施例的云服务消费设备可用于参与或执行如图 2- 图 4所描述的云平台应用部署方法。 具体执行流程, 可参照图 2-图 4所描述的 内容, 在此不再赘述。
图 5B示出了本发明又一实施例的云服务消费设备, 如图 5B所示, 该云服务 器消费设备包括: 该终端设备包括:
处理器 510、 存储器 512、 通信接口 514和总线 513 , 所述处理器 510、 存储器 512和通信接口 514之间通过所述总线 513连接并完成相互间的通信。
处理器 510可能为单核或多核中央处理单元( Central Processing Unit , CPU ), 或者为特定集成电路(Application Specific Integrated Circuit, 筒称 ASIC ) , 或 者为被配置成实施本发明实施例的一个或多个集成电路。
存储器 512可以为高速 RAM存储器,也可以为非易失性存储器( non-volatile memory ) , 例如至少一个磁盘存储器。
存储器 512用于存放程序 515。 具体的, 程序 515中可以包括程序代码, 所述 程序代码包括计算机操作指令。
处理器 510运行程序 515以执行:
接收应用部署指令, 所述应用部署指令中包括: 待部署应用的标识和已部 署应用的计算资源的信息;
向云服务服务器发送应用部署请求, 所述应用部署请求中包括所述待部署 应用的标识, 和所述已部署应用的计算资源的信息, 以使所述云服务服务器根 据所述已部署应用的计算资源的信息确定云服务服务器为所述云服务消费设备 的所述已部署应用分配的已有计算资源, 使用所述已有计算资源部署所述待部 署的应用。
具体的,本发明实施例的云服务器消费设备可参与执行如图 2-图 4所描述的 实施例, 此处不再赘述。
图 6Α示出了本发明一实施例的云服务服务器示意框图, 如图 6Α所示, 该 云服务服务器, 包括:
接收单元 601 , 用于接收云服务消费设备发送的应用部署请求, 所述应用 部署请求包括: 待部署应用的标识, 和为所述云服务消费设备的已部署应用分 配的计算资源的信息;
部署单元 602, 用于根据所述为已部署应用分配的计算资源的信息, 确定 云服务服务器为所述云服务消费设备的所述已部署应用分配的已有计算资源, 使用所述已有计算资源部署所述待部署的应用。
可选的, 接收单元 601接收的所述信息为所述已部署应用的节点对应的计 算资源的标识;
所述部署单元 602进一步包括:
确定子单元 6021 , 用于根据所述计算资源的标识确定云服务服务器为所述 已部署应用的节点分配的已有计算资源; 与确定子单元相连的部署子单元 6022, 用于使用所述确定子单元 6021确定的已有计算资源部署所述待部署的应用。
可选的, 所述接收单元 601接收的所述信息为所述已部署应用的标识和所 述已部署应用的节点的标识,所述部署单元 602还包括与确定子单元 6021相连 的获取子单元 6023 , 用于才艮据所述已部署应用的标识和所述已部署应用的节点 的标识从保存的已部署应用的标识和已部署应用的应用实例标识间的映射关系 以及已部署应用的应用实例标识、 已部署应用的节点标识及该节点所对应的计 算资源的标识间的映射关系中获取所述已部署应用的节点的标识对应的计算资 源的标识。
可选的, 该接收单元 601接收的应用部署请求还包括: 所述待部署应用的 第一节点的标识和所述第一节点的部署制品, 所述计算资源的标识具体被携带 在所述第一节点的部署制品中;该部署子单元 6022可具体用于根据所述已有计 算资源标识确定已有计算资源; 根据所述第一节点的部署制品使用所述已有计 算资源部署所述第一节点。
可选的, 该部署单元 602还包括创建子单元 6024, 用于在部署单元子单元 6022根据所述第一节点的部署制品使用所述已有计算资源部署所述第一节点 之前, 根据所述待部署的应用的标识创建所述应用的应用实例标识;
与创建子单元 6024相连的记录单元子 6025 , 用于记录该创建单元 6024创 建的所述应用实例标识与所述应用的标识间的映射关系, 还用于记录所述待部 署应用的应用实例标识、 所述第一节点的标识以及所述计算资源的标识三者间 的映射关系。
所述获取子单元 6023 , 还用于从保存的已部署应用的应用实例标识、 节点 标识及该节点所对应的计算资源的标识间的映射关系中获取所述计算资源的标 识对应的已部署应用的应用实例标识;
该部署单元 602还包括与记录子单元 6025相连的修改子单元 6026, 用于 基于所述获取的已部署应用的应用实例标识, 从所述已部署应用的应用实例标 识对应的应用部署包中获取所述已部署应用的应用部署包中的删除计划的先决 条件, 在所述删除计划的先决条件中增加所述待部署的应用已被删除的条件。 需要注意的是, 本发明实施例的云服务服务器, 可用于参与或执行如图 2- 图 4所描述的云平台应用部署方法。 具体执行流程, 可参照图 2-图 4所描述的 内容, 在此不再赘述。
如图 6B所示, 为本发明又一实施例的云服务服务器示意框图, 如图 6C所 示, 该云服务服务器包括:
处理器 510、 存储器 512、 通信接口 514和总线 513 , 所述处理器 510、 存储器 512和通信接口 514之间通过所述总线 513连接并完成相互间的通信。
处理器 510可能为单核或多核中央处理单元( Central Processing Unit , CPU ), 或者为特定集成电路(Application Specific Integrated Circuit, 筒称 ASIC ) , 或 者为被配置成实施本发明实施例的一个或多个集成电路。
存储器 512可以为高速 RAM存储器,也可以为非易失性存储器( non-volatile memory ) , 例如至少一个磁盘存 4诸器。
存储器 512用于存放程序 515。 具体的, 程序 515中可以包括程序代码, 所述 程序代码包括计算机操作指令。
处理器 510运行程序 515以执行:
接收云服务消费设备发送的应用部署请求, 所述应用部署请求包括: 待部 署应用的标识,和为所述云服务消费设备的已部署应用分配的计算资源的信息; 根据所述为已部署应用分配的计算资源的信息, 确定云服务服务器为所述 云服务消费设备的所述已部署应用分配的已有计算资源, 使用所述已有计算资 源部署所述待部署应用。
需要注意的是, 本发明实施例的云服务服务器, 可用于参与或执行如图 2- 图 4所描述的云平台应用部署方法。 具体执行流程, 可参照图 2-图 4所描述的 内容, 在此不再赘述。
本领域普通技术人员可以意识到, 结合本文中所公开的实施例描述的各示 例的单元及算法步骤, 能够以电子硬件、 计算机软件或者二者的结合来实现, 为了清楚地说明硬件和软件的可互换性, 在上述说明中已经按照功能一般性地 描述了各示例的组成及步骤。 这些功能究竟以硬件还是软件方式来执行, 取决 于技术方案的特定应用和设计约束条件。 专业技术人员可以对每个特定的应用 来使用不同方法来实现所描述的功能, 但是这种实现不应认为超出本发明的范 围。
所属领域的技术人员可以清楚地了解到, 为了描述的方便和筒洁, 上述描 述的系统、 装置和单元的具体工作过程, 可以参考前述方法实施例中的对应过 程, 在此不再赘述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统、 装置和方 法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示意性 的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另 外的划分方式, 例如多个单元或组件可以结合或者可以集成到另一个系统, 或 一些特征可以忽略, 或不执行。 另外, 所显示或讨论的相互之间的耦合或直接 耦合或通信连接可以是通过一些接口、 装置或单元的间接耦合或通信连接, 也 可以是电的, 机械的或其它的形式连接。 单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者 也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或者全部 单元来实现本发明实施例方案的目的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在, 也可以是两个或两个以上单元集成在一个单 元中。 上述集成的单元既可以采用硬件的形式实现, 也可以采用软件功能单元 的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或 使用时, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本发明 的技术方案本质上或者说对现有技术做出贡献的部分, 或者该技术方案的全部 或部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介 质中, 包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。 而前述 的存储介质包括: U盘、移动硬盘、 只读存储器(ROM, Read-Only Memory )、 随机存取存储器 (RAM, Random Access Memory )、 磁碟或者光盘等各种可以 存储程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限于 此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到 各种等效的修改或替换, 这些修改或替换都应涵盖在本发明的保护范围之内。 因此, 本发明的保护范围应以权利要求的保护范围为准。

Claims

权 利 要 求
1、 在云服务服务器中, 一种云平台应用部署方法, 包括:
接收云服务消费设备发送的应用部署请求, 所述应用部署请求包括: 待部 署应用的标识,和为所述云服务消费设备的已部署应用分配的计算资源的信息; 根据所述为已部署应用分配的计算资源的信息, 确定云服务服务器为所述 云服务消费设备的所述已部署应用分配的已有计算资源, 使用所述已有计算资 源部署所述待部署应用。
2、如权利要求 1所述的方法,所述为已部署应用分配的计算资源的信息包 括: 所述已部署应用的标识和所述已部署应用的节点的标识, 或者为所述已部 署应用的节点分配的计算资源的标识。
3、如权利要求 2所述的方法,所述为已部署应用分配的计算资源的信息是 为所述已部署应用的节点分配的计算资源的标识, 所述^ ^艮据为已部署应用分配 的计算资源的信息确定云服务服务器为所述云服务消费设备的已部署应用分配 的已有计算资源, 使用所述已有计算资源部署所述应用, 包括:
根据所述计算资源的标识确定云服务服务器为所述已部署应用的节点分配 的已有计算资源, 使用所述确定的已有计算资源部署所述待部署的应用。
4、如权利要求 2所述的方法, 所述为已部署应用分配的计算资源的信息为 所述已部署应用的标识和所述已部署应用的节点的标识, 所述才艮据为已部署应 用分配的计算资源的信息确定云服务服务器为所述云服务消费设备的已部署应 用分配的已有计算资源, 使用所述已有计算资源部署所述应用, 包括:
根据所述已部署应用的标识从保存的已部署应用的标识和已部署应用的应 用实例标识间的映射关系中获取所述已部署应用的应用实例标识, 再根据获取 的所述已部署应用的应用实例标识和所述已部署应用的节点的标识从保存的已 部署应用的应用实例标识、 已部署应用的节点标识及该节点所对应的计算资源 的标识间的映射关系中获取所述已部署应用的节点的标识对应的计算资源的标 识;
根据所述计算资源的标识确定云服务服务器为所述已部署应用的节点分配 的已有计算资源, 使用所述确定的已有计算资源部署所述待部署的应用。
5、 如权利要求 3所述的方法, 所述应用部署请求还包括:
所述待部署应用的第一节点的标识和所述第一节点的部署制品, 所述计算 资源的标识具体被携带在所述第一节点的部署制品中; 所述使用所述已有计算资源部署所述待部署的应用包括:
根据所述第一节点的部署制品使用所述已有计算资源部署所述第一节点。
6、如权利要求 5所述的方法,在根据所述第一节点的部署制品使用所述已 有计算资源部署所述第一节点之前, 所述方法还包括:
才艮据所述待部署应用的标识创建所述待部署应用的应用实例标识, 记录所 述待部署应用的应用实例标识与所述待部署应用的标识间的映射关系。
7、如权利要求 6所述的方法,所述根据所述第一节点的部署制品使用所述 已有计算资源部署所述第一节点包括:
记录所述待部署应用的应用实例标识、 所述第一节点的标识以及所述计算 资源的标识三者间的映射关系。
8、如权利要求 7所述的方法,所述根据所述第一节点的部署制品使用所述 已有计算资源部署所述第一节点还包括:
从保存的已部署应用的应用实例标识、 节点标识及该节点所对应的计算资 源的标识间的映射关系中获取所述计算资源的标识对应的已部署应用的应用实 例标识;
基于所述获取的已部署应用的应用实例标识, 从所述已部署应用的应用实 例标识对应的应用部署包中获取所述已部署应用的应用部署包中的删除计划的 先决条件, 在所述删除计划的先决条件中增加所述待部署的应用已被删除的条 件。
9、 在云服务消费设备中, 一种云平台应用部署方法, 包括:
接收应用部署指令, 所述应用部署指令中包括: 待部署应用的标识和已部 署应用的计算资源的信息;
向云服务服务器发送应用部署请求, 所述应用部署请求中包括所述待部署 应用的标识, 和所述已部署应用的计算资源的信息, 以使所述云服务服务器根 据所述已部署应用的计算资源的信息确定云服务服务器为所述云服务消费设备 的所述已部署应用分配的已有计算资源, 使用所述已有计算资源部署所述待部 署的应用。
10、 如权利 9所述的方法, 所述已部署应用的计算资源的信息包括: 所述 已部署应用的标识和所述已部署应用的节点的标识, 或者为所述节点分配的计 算资源的标识。
11、 一种云服务服务器, 包括: 接收单元, 用于接收云服务消费设备发送的应用部署请求, 所述应用部署 请求包括: 待部署应用的标识, 和为所述云服务消费设备的已部署应用分配的 计算资源的信息;
部署单元, 用于根据所述为已部署应用分配的计算资源的信息, 确定云服 务服务器为所述云服务消费设备的所述已部署应用分配的已有计算资源, 使用 所述已有计算资源部署所述待部署的应用。
12、如权利要求 11所述的服务器, 所述接收单元接收的所述信息是为所述 已部署应用的节点分配的计算资源的标识;
所述部署单元包括:
确定子单元, 用于根据所述计算资源的标识确定云服务服务器为所述已部 署应用的节点分配的已有计算资源;
部署子单元, 用于使用所述确定的已有计算资源部署所述待部署的应用。
13、 如权利要求 11所述的服务器, 所述接收单元接收的所述信息为所述 已部署应用的标识和所述已部署应用的节点的标识, 所述部署单元还包括: 获取子单元, 用于根据所述已部署应用的标识从保存的已部署应用的标识 和已部署应用的应用实例标识间的映射关系中获取所述已部署应用的应用实例 标识, 再才艮据获取的所述已部署应用的应用实例标识和所述已部署应用的节点 的标识从保存的已部署应用的应用实例标识、 已部署应用的节点标识及该节点 所对应的计算资源的标识间的映射关系中获取所述已部署应用的节点的标识对 应的计算资源的标识。
14、如权利要求 12所述的服务器, 所述接收单元接收的应用部署请求还包 括: 所述待部署应用的第一节点的标识和所述第一节点的部署制品, 所述计算 资源的标识具体被携带在所述第一节点的部署制品中;
所述部署子单元具体用于根据所述第一节点的部署制品使用所述已有计算 资源部署所述第一节点。
15、 如权利要求 14所述的服务器, 所述部署单元还包括:
创建子单元, 用于在所述部署子单元根据所述第一节点的部署制品使用所 述已有计算资源部署所述第一节点之前, 根据所述待部署的应用的标识创建所 述待部署应用的应用实例标识;
记录子单元, 用于记录所述待部署应用的应用实例标识与所述待部署应用 的标识间的映射关系; 所述记录子单元还用于记录所述待部署应用的应用实例 标识、 所述第一节点的标识以及所述计算资源的标识三者间的映射关系。
16、 如权利要求 13所述的服务器, 所述获取子单元, 还用于从保存的已部 署应用的应用实例标识、 节点标识及该节点所对应的计算资源的标识间的映射 关系中获取所述计算资源的标识对应的已部署应用的应用实例标识; 所述部署 单元还包括:
修改子单元, 基于所述获取的已部署应用的应用实例标识, 从所述已部署 应用的应用实例标识对应的应用部署包中获取所述已部署应用的应用部署包中 的删除计划的先决条件, 在所述删除计划的先决条件中增加所述待部署的应用 已被删除的条件。
17、 一种云服务消费设备, 包括:
接收单元, 用于接收应用部署指令, 所述应用部署指令中包括: 待部署应 用的标识和已部署应用的计算资源的信息;
发送单元, 用于向云服务服务器发送应用部署请求, 所述应用部署请求中 包括所述待部署应用的标识, 和已部署应用的计算资源的信息, 以使所述云服 务服务器根据所述已部署应用的计算资源的信息确定云服务服务器为所述云服 务消费设备的所述已部署应用分配的已有计算资源, 使用所述已有计算资源部 署所述待部署的应用。
18、如权利要求 17所述的设备, 所述接收单元接收的应用部署指令中还包 括: 所述待部署应用第一节点的标识, 所述设备还包括:
构造单元, 用于根据第一节点的标识构造所述第一节点的部署制品, 所述 已部署应用的标识信息具体被携带在所述第一节点的部署制品中;
所述发送单元还用于: 向所述云服务服务器发送所述部署制品, 以便于所 述云服务服务器根据所述部署制品使用所述已有计算资源部署所述第一节点。
PCT/CN2013/083226 2012-12-28 2013-09-10 云平台应用部署方法及装置 WO2014101475A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210583901.9 2012-12-28
CN201210583901.9A CN103905508B (zh) 2012-12-28 2012-12-28 云平台应用部署方法及装置

Publications (1)

Publication Number Publication Date
WO2014101475A1 true WO2014101475A1 (zh) 2014-07-03

Family

ID=50996663

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/083226 WO2014101475A1 (zh) 2012-12-28 2013-09-10 云平台应用部署方法及装置

Country Status (2)

Country Link
CN (1) CN103905508B (zh)
WO (1) WO2014101475A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220294851A1 (en) * 2021-03-12 2022-09-15 Agarik Sas Control interface for the deployment of an application, system and method using such a control interface
WO2022231495A1 (en) * 2021-04-28 2022-11-03 Attini Cloud Solutions International AB Efficient deployment of cloud resources

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592130B (zh) * 2014-09-26 2019-04-05 华为技术有限公司 一种服务部署方法、服务管理方法及装置
CN104618164B (zh) * 2015-02-12 2018-12-21 北京航空航天大学 云计算平台应用快速部署的管理方法
CN106528262B (zh) 2015-09-10 2019-10-22 华为技术有限公司 镜像部署方法、装置
CN107147509B (zh) * 2016-03-01 2022-03-11 中兴通讯股份有限公司 虚拟专用网业务实现方法、装置及通信系统
CN107766042A (zh) * 2016-08-23 2018-03-06 南京中兴软件有限责任公司 一种基于csar的模型文件的可视化设计方法及装置
CN107786517B (zh) * 2016-08-30 2020-11-03 中国电信股份有限公司 云安全业务的部署方法、系统以及安全控制系统
CN110291502B (zh) * 2017-11-15 2022-01-11 华为技术有限公司 一种调度加速资源的方法、装置及加速系统
CN110740069B (zh) * 2019-11-18 2022-06-03 中国银行股份有限公司 一种跨云平台托管装置和方法
CN115118585A (zh) * 2021-03-18 2022-09-27 华为技术有限公司 一种业务的部署方法、装置及系统
EP4290819A1 (en) * 2021-03-18 2023-12-13 Huawei Technologies Co., Ltd. Service deployment method, apparatus, and system
CN113515288B (zh) * 2021-04-26 2024-02-23 中国工商银行股份有限公司 基于发布单元的自动化部署方法及装置
CN115150242B (zh) * 2022-06-23 2023-04-25 北京青云科技股份有限公司 一种PaaS应用的部署方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938416A (zh) * 2010-09-01 2011-01-05 华南理工大学 一种基于动态重配置虚拟资源的云计算资源调度方法
CN102567119A (zh) * 2011-12-31 2012-07-11 曙光信息产业股份有限公司 云计算设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002250260A1 (en) * 2001-03-08 2002-11-05 Tririga, Inc. Data storage and access system employing clustering of servers
CN102222090B (zh) * 2011-06-02 2012-12-05 清华大学 一种云环境下海量数据资源管理框架

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938416A (zh) * 2010-09-01 2011-01-05 华南理工大学 一种基于动态重配置虚拟资源的云计算资源调度方法
CN102567119A (zh) * 2011-12-31 2012-07-11 曙光信息产业股份有限公司 云计算设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220294851A1 (en) * 2021-03-12 2022-09-15 Agarik Sas Control interface for the deployment of an application, system and method using such a control interface
US11785085B2 (en) * 2021-03-12 2023-10-10 Agarik Sas Control interface for the deployment of an application, system and method using such a control interface
WO2022231495A1 (en) * 2021-04-28 2022-11-03 Attini Cloud Solutions International AB Efficient deployment of cloud resources

Also Published As

Publication number Publication date
CN103905508B (zh) 2017-07-28
CN103905508A (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
WO2014101475A1 (zh) 云平台应用部署方法及装置
US11704144B2 (en) Creating virtual machine groups based on request
CN107689882B (zh) 一种虚拟化网络中业务部署的方法和装置
US9999030B2 (en) Resource provisioning method
WO2019184967A1 (zh) 一种网络切片的部署方法及装置
US20170331867A1 (en) Method, device and system for pushing file
WO2018166398A1 (zh) 一种nfv网络中许可证的管理系统
CN110262902B (zh) 信息处理方法及系统、介质和计算设备
CN106856438B (zh) 一种网络业务实例化的方法、装置及nfv系统
WO2021227999A1 (zh) 云计算服务系统和方法
WO2017080257A1 (zh) 一种基于键值对的数据处理方法及系统
CN111930525B (zh) Gpu资源使用方法、电子设备及计算机可读介质
CN111258627A (zh) 一种接口文档生成方法和装置
WO2014190544A1 (zh) 应用部署方法和设备
WO2017054533A1 (zh) 云互通的外部资源管理方法、装置及系统
CN112162852A (zh) 一种多架构cpu节点的管理方法、装置及相关组件
WO2019001140A1 (zh) 一种管理vnf实例化的方法和设备
CN114565502A (zh) Gpu资源管理方法、调度方法、装置、电子设备及存储介质
CN116800616B (zh) 虚拟化网络设备的管理方法及相关装置
CN112631680A (zh) 微服务容器调度系统、方法、装置和计算机设备
WO2021232860A1 (zh) 通信方法、装置及系统
WO2013097237A1 (zh) 一种部署应用进程的方法、设备和系统
WO2020098352A1 (zh) 一种工作流调度方法、装置和系统
WO2018120222A1 (zh) 一种管理vnffg的方法、装置和系统
JP5492253B2 (ja) 制御装置、制御方法および制御プログラム

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: 13867973

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13867973

Country of ref document: EP

Kind code of ref document: A1