WO2014190544A1 - 应用部署方法和设备 - Google Patents

应用部署方法和设备 Download PDF

Info

Publication number
WO2014190544A1
WO2014190544A1 PCT/CN2013/076559 CN2013076559W WO2014190544A1 WO 2014190544 A1 WO2014190544 A1 WO 2014190544A1 CN 2013076559 W CN2013076559 W CN 2013076559W WO 2014190544 A1 WO2014190544 A1 WO 2014190544A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
application
description file
node
abstract
Prior art date
Application number
PCT/CN2013/076559
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 华为技术有限公司
Priority to EP13886121.6A priority Critical patent/EP2988211A4/en
Priority to CN201380000827.6A priority patent/CN105051687B/zh
Priority to PCT/CN2013/076559 priority patent/WO2014190544A1/zh
Publication of WO2014190544A1 publication Critical patent/WO2014190544A1/zh
Priority to US14/947,374 priority patent/US20160080479A1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the present invention relates to communications technologies, and in particular, to an application deployment method and device.
  • Cloud computing is a service delivery and consumption model.
  • Cloud Service Provider connects cloud computing resources with networks and performs unified management, allocation and scheduling to form a resource pool to cloud services.
  • the consumer Cloud Service Consumer, referred to as: CSC) provides services.
  • the application deployment server of the CSP allocates the cloud computing resource according to the application deployment request of the CSC, and executes a deployment plan corresponding to the application deployment request, where the application deployment request includes an application deployment package, where the deployment package includes the required application for deploying the application. All data.
  • the TOSCA Topic and Orchestration Specification for Cloud Appl ications
  • the application deployment package is used to describe all the information required for deploying the application.
  • the application deployment package includes at least one description file, which describes the application complete topology, the deployment product information of the nodes in the topology, the method and method product information of the nodes in the topology, and the application deployment package further includes the deployed products of the nodes and the methods of the methods.
  • Method artifacts and deployment plans (Plan).
  • a deployment plan is an executable workflow, and an application deployment server allocates cloud computing resources to execute the deployment meter.
  • the complete topology of the application can include an application content topology and a resource topology, and the nodes in the topology include application nodes and resource nodes.
  • the server may provide a resource package for a certain type of application, and the resource package provides a resource topology, a resource node, a deployment product of the resource node, and
  • the application deployment device Appl ication Deployer, AD for short
  • the user only needs to use the application deployment device (Appl ication Deployer, AD for short) to search for the resource package suitable for the application, orchestrate the application content topology and add the deployment product of the application node.
  • an application deployment method including:
  • the application deployment request includes a resource bundle identifier of the resource bundle, at least one method artifact, a correspondence between the method artifact and an abstract method described by the resource description file in the resource bundle, and Method product information for each method article;
  • the resource package includes: the resource description file and a deployment plan;
  • the resource description file describes the abstract method, where the deployment plan refers to the abstract method;
  • a method of performing an abstract method referenced by the deployment plan in accordance with the application deployment descriptor is a method of performing an abstract method referenced by the deployment plan in accordance with the application deployment descriptor.
  • the resource description file further describes an application node and a resource node; the description of the abstract method is included in the application node and/or the node of the resource node Type.
  • the abstract method is included in a node type of the application node, where the application deployment request includes a node type execution of the application node NTI, the correspondence between the method article and the abstract method described by the resource description file in the resource package is described in the node type execution NTI of the application node; adding the method product information to the resource description file Specifically, the NTI of the application node is added to the resource description file; or the abstract method is included in the node type of the resource node, where the application deployment request includes a boundary definition, and the method and the method are In the resource package
  • the correspondence between the abstract methods described by the resource description file is described in the boundary definition; the adding the method artifact information to the resource description file is specifically: adding the method article information described in the boundary definition Go to the NTI of the resource node of the resource description file.
  • the method further includes: modifying an attribute of the abstract method in the node type in the resource description file to be a normal method; and/or, Add the method artifacts contained in the application deployment request to the resource bundle.
  • the application deployment request further includes: a deployment product of the application node; After the resource package identifier is obtained by the resource package, the method further includes: using the deployed product of the application node in the application deployment request as a deployment product of an application node in the resource description file
  • the application deployment request further includes the deployed product information of the deployed product, where the application deployment request is The deployed product of the application node as the deployment product of the application node in the resource description file is specifically: adding the deployed product information to the resource description file; and adding the deployed product of the application node in the application deployment request Go to the resource bundle.
  • the method product information is added to the resource description file to form an application Before the deployment description file, the method further includes: determining that the method marked with the abstract identifier keyword in the resource description file is an abstract method.
  • an application deployment method including:
  • the application deployment request includes the resource package identifier, a correspondence between the method artifacts and an abstract method in the resource description file, method product information and a method of each method product Method product;
  • the obtaining the resource description file of the resource package according to the resource package identifier includes: sending a resource package acquisition request to the application deployment server, where the resource package acquisition request is Carrying a resource package identifier; receiving a resource package corresponding to the resource package identifier sent by the application deployment server, and acquiring the resource description file from the resource package; or sending a resource description file acquisition request to the application deployment server, where the resource is Describe the resource package identifier of the resource package to which the resource description file belongs in the request for obtaining the content; and receive the resource description file included in the resource package corresponding to the resource package identifier sent by the application deployment server.
  • the resource description file describes an application node
  • the abstract method includes a node type of the application node
  • Generating, according to at least one abstract method described by the resource description file, a method artifact corresponding to each of the abstract methods comprising: abstracting according to a node type included in the application node according to the resource description file a method, the method product corresponding to the abstract method of the application node is generated; the method further includes: describing the application node in an application deployment request according to an application node described in the resource description file;
  • the correspondence between the abstract methods in the resource description file and the method artifact information described in the node type execution NTI of the application node described in the application deployment request are described in the NTI.
  • the resource description file further describes a resource node;
  • the at least one abstract method described in the resource description file generates a method product corresponding to each of the abstract methods, including: according to the resource description file included in the resource An abstract method in a node type of a node, generating a method artifact corresponding to the abstract method of the resource node; a correspondence between the method artifact and an abstract method in the resource description file, and product information of the method in the method Described in the boundary definition in the application deployment request.
  • the method before the sending the application deployment request to the application deployment server, the method further includes: generating a deployment product of the application node and the deploying The deployed product information of the product, the application deployment request further includes: a deployed product of the application node and deployed product information of the deployed product.
  • the method before the deployed product of the application node and the deployed product information of the deployed product are generated, the method further The method includes: determining that an application node in the resource description file is labeled with an abstract identifier key, and the resource description file does not include deployment product information of the application node.
  • an application deployment server including:
  • a request receiving unit configured to receive an application deployment request, where the application deployment request includes a resource package identifier of the resource package, at least one method product, an abstract method in each method product, and a resource description file in the resource package Corresponding relationship between, and method product information of each method article;
  • An information acquiring unit configured to acquire the resource package according to the resource package identifier that is included in the application deployment request that is received by the request receiving unit, where the resource package includes: the resource description file and a deployment plan;
  • the description file describes the abstract method, the deployment plan references the abstract method;
  • An information processing unit configured to: according to a correspondence between each method product included in the application deployment request received by the request receiving unit and an abstract method in a resource description file in the resource package, The method product information is added to the resource description file included in the resource package acquired by the information acquiring unit to form an application deployment description file;
  • an application deployment unit configured to execute the abstract method referenced by the deployment plan according to the application deployment description file formed by the information processing unit.
  • the resource description file further describes an application node and a resource node; the description of the abstract method is included in the application node and/or the node of the resource node Type.
  • the abstract method is included in a node type of the application node, where the application deployment request includes a node type execution of the application node NTI, a correspondence between the method article and an abstract method in the resource description file in the resource package is described in a node type execution NTI of the application node; the information processing unit adds the method product information to The resource description file included in the resource package obtained by the information acquiring unit is specifically: adding an NTI of the application node to a resource description file; or, the abstract method is included in the resource node.
  • the application deployment request includes a boundary definition, and a correspondence between the method artifact and an abstract method in the resource description file in the resource package is described in the boundary definition; the information processing unit Adding the method product information to the said one included in the resource package acquired by the information acquiring unit
  • the resource description file is specifically: adding the method article information described in the boundary definition to an NTI of a resource node of the resource description file.
  • the information processing unit is further configured to: modify the information included in the resource package acquired by the information acquiring unit
  • the attribute of the abstract method in the node type in the resource description file is a normal method; and/or, the method product included in the application deployment request received by the request receiving unit is added to the resource package.
  • the application deployment request further includes: a deployed product of the application node; the information processing unit After the information obtaining unit acquires the resource package according to the resource package identifier, the method further includes: acquiring, by the information acquiring unit, the deployed product of the application node in the application deployment request received by the request receiving unit The deployed product of the application node in the resource description file included in the resource package.
  • the application deployment request further includes the deployed product information of the deployed product; the information processing unit sends the request receiving unit And the deployed product of the application node in the resource package that is obtained by the information acquiring unit, and the deployed product of the application node in the resource description file included in the resource package is: Adding to the resource description file; and adding the deployed product of the application node in the application deployment request to the resource package.
  • the information processing unit is configured to deploy the application received by the request receiving unit
  • the method product information included in the request is added to the resource description file included in the resource package acquired by the information acquiring unit to form an application deployment description file, and is further used to determine an abstraction in the resource description file.
  • the way to identify keyword annotations is an abstract method.
  • the fourth aspect provides an application deployment device, including:
  • An information obtaining unit configured to obtain a resource package identifier of a resource package of an application to be deployed, and obtain a resource description file of the resource package according to the resource package identifier, where the resource description file describes at least one abstract method;
  • An information generating unit configured to generate, according to at least one abstract method of the resource description file description acquired by the information acquiring unit, a method product corresponding to each of the abstract methods;
  • a request generating unit configured to generate an application deployment request, where the application deployment request includes the resource package identifier acquired by the information acquiring unit, each method product generated by the information generating unit, and a location acquired by the information acquiring unit Corresponding relationship between an abstract method in a resource description file, method product information of each method article, and the method article;
  • a deployment requesting unit configured to send, to the application deployment server, the application deployment request generated by the request generation unit.
  • the information acquiring unit that obtains the resource description file of the resource package according to the resource resource identifier is: sending a resource resource acquisition request to the application deployment server, where the resource package is Receiving, by the application deployment server, a resource package corresponding to the resource package identifier, and acquiring the resource description file from the resource package; or sending a resource description file acquisition request to the application deployment server,
  • the resource description carries a resource package identifier in the cipher acquisition request, and receives a resource description file included in the resource package corresponding to the resource package identifier sent by the application deployment server.
  • the resource description file describes an application node, where the abstract method includes a node type of the application node And generating, by the information generating unit, the method product corresponding to each of the abstract methods according to the at least one abstract method described in the resource description file acquired by the information acquiring unit, specifically: according to the resource description file included in An abstract method in the node type of the application node, generating a method product corresponding to the abstract method of the application node; the request generating unit is further configured to describe in the resource description file acquired according to the information acquiring unit
  • the application node describes the application node in an application deployment request; a correspondence between the method artifact and an abstract method in the resource description file, and an application node described by the method article information in the application deployment request
  • the node type is described in the NTI implementation.
  • the resource description file further describes a resource node;
  • the information generating unit generates, according to the at least one abstract method described by the resource description file, the method product corresponding to each of the abstract methods is: An abstract method included in a node type of the resource node, generating a method artifact corresponding to the abstract method of the resource node; a correspondence between the method artifact and an abstract method in the resource description file, and Method Product information is described in the boundary definition in the application deployment request.
  • the information generating unit sends, in the deployment requesting unit, the application deployment generated by the request generating unit to an application deployment server Before the request, generating the deployment artifact of the application node and the deployment artifact information of the deployment artifact; the application deployment request further includes: a deployment artifact of the application node and deployment artifact information of the deployment artifact.
  • the information generating unit is further configured to determine the information acquired by the information acquiring unit before generating the deployed product of the application node and the deployed product information of the deployed product
  • the application node in the resource description file is labeled with an abstract identifier key, and the resource description file does not include the deployed product information of the application node.
  • an application deployment server including: a communication interface, a processor, and a storage;
  • the network interface is configured to communicate with an external device, and receive an application deployment request, where the application deployment request includes a resource package identifier of the resource package, at least one method product, the method product, and the resource description file in the resource package. Corresponding relationship between an abstract method described, and method product information of each method article;
  • the memory storage application The memory storage application
  • the processor invokes an application stored in the memory, and acquires the resource package according to the resource package identifier, where the resource package includes: the resource description file and a deployment plan; the resource description file describes the An abstract method, the deployment plan references the abstract method; adding the method article information to the corresponding method according to a correspondence between each method article and an abstract method described by the resource description file in the resource package
  • the method description file is formed in the resource description file to form an application deployment description file; and the method method of executing the abstract method referenced by the deployment plan according to the application deployment description file.
  • the sixth aspect provides an application deployment device, including: a communication interface, a processor, and a memory; the communication interface is configured to communicate with an external device, and obtain a resource package identifier of a resource package of the application to be deployed, according to the resource package. Identifying a resource description file for obtaining a resource package, where the resource description file describes at least one abstract method;
  • the memory storage application The memory storage application
  • the processor calls an application stored in the memory, according to the resource description file Depicting at least one abstract method, generating a method artifact corresponding to each of the abstract methods; generating an application deployment request, the application deployment request including the resource package identifier, the method artifact and the resource description file description Correspondence between an abstract method, method product information for each method article, and the method article;
  • the communication interface is further configured to send the application deployment request to an application deployment server.
  • the technical effect of the application deployment method and device provided by the present invention is: By setting an abstract method in the resource package, the user deploying the application only needs to provide the method product corresponding to the abstract method to satisfy the user's own needs, so relative to the present Technology has improved the scalability of application deployment.
  • 1A is a schematic structural diagram of an application template described in an application deployment description file on which an application deployment method is provided according to an embodiment of the present invention
  • FIG. 1B is a schematic structural diagram of a deployment plan corresponding to FIG. 1A according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of an application topology described in an application deployment description file in an application deployment method according to an embodiment of the present disclosure
  • FIG. 3 is a schematic flowchart of an application deployment method according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of an application deployment method according to an embodiment of the present invention.
  • FIG. 5 is a schematic flowchart of an application deployment method according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic diagram of a resource description file in an application deployment method according to an embodiment of the present disclosure
  • FIG. 6B is a schematic diagram of a deployment plan in an application deployment method according to an embodiment of the present invention
  • FIG. 6C is a schematic diagram of correspondence between an application content package and a resource package in an application deployment method according to an embodiment of the present disclosure
  • FIG. 7 is a schematic structural diagram of an application deployment server according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of an application deployment device according to an embodiment of the present invention
  • FIG. 9 is a schematic structural diagram of an application deployment server according to an embodiment of the present invention
  • FIG. 10 is a schematic structural diagram of an application deployment device according to an embodiment of the present invention; schematic diagram.
  • the application deployment method provided by the embodiment of the present invention can be applied to the TOSCA standard and can also be applied to Other aspects, and not limited to the T0SCA standard.
  • the information required for deploying an application is described in an application deployment package named Cloud Service Archive (CSAR) in the application deployment server.
  • the application deployment package includes at least one application deployment description file suffixed with ste.
  • the application deployment description file of the ste can describe the application deployment information in an XML language.
  • the root element of the application deployment description file of the ste is the application template Service. Template o
  • the ServiceTemplate can be used to completely describe the information of the application to be deployed. *. ste application deployment
  • the child elements of the description file include topology template TopologyTemplate, node type NodeType, node template NodeTemplate, relationship type RelationshipType, relationship template
  • FIG. 1A is a schematic structural diagram of an application template described in an application deployment description file based on an application deployment method according to an embodiment of the present invention.
  • an embodiment of the present invention uses a TopologyTemplate to describe an application topology.
  • the application topology includes node templates for four nodes a1, a2, a3, and a4, that is, each node template represents a node.
  • the type of each NodeTemplate is defined by the NodeType (the type attribute of the NodeTemplate describes the NodeType corresponding to the NodeTemplate).
  • the NodeType defines the properties of the node (defined by Properties), the interface of the node (defined by the interface collection Interfaces), and the NodeTemplate is an instance of NodeType.
  • the interface collection Interfaces in the Node type can contain at least one interface Interface, and each Interface can contain one or more methods (ie, Operation), and each method corresponds to a method artifact.
  • the method of the node refers to the function function required to operate the node.
  • a typical web application includes an application server node.
  • the configuration file of the application server needs to be configured (such as setting the IP address and port number of the database server), then the configuration process can be encapsulated into a method.
  • the method name is config (ie Operation name)
  • the parameters are DBIP (the IP address of the database server) and DBP0RT (the port number of the database server).
  • the method product refers to a specific implementation corresponding to the above method, and may be an executable file, such as a script file.
  • the method config method artifact can be config. javao.
  • each node corresponds to a deployment artifact.
  • the deployment artifact refers to an installation package or file of the node, which can be a mirror image or a Installable packages, etc.; for example, the deployed artifact of a web application node is a WAR package.
  • Each NodeType is associated with a Node Type Implementation (NTI).
  • the NTI describes the information about the method products of the nodes corresponding to the NodeType and the method products of all the methods included in the Interface in the NodeType.
  • the node template of the node a corresponding to each interface in the Interfaces in the NodeType describes at least one method, and each method corresponds to one method product; and the NTI corresponding to the NodeType describes the deployed product for the node a1. And information about the method artifacts of all the methods contained in the Interface in the NodeType.
  • Each side of the connection node in the TopologyTemplate is a
  • RelationshipTemplate is a prior art, and the embodiment of the present invention will not be described in detail herein.
  • Each application deployment package also includes a deployment plan (Plan).
  • FIG. 1B is a schematic structural diagram of a deployment plan corresponding to FIG. 1A according to an embodiment of the present invention.
  • the deployment plan is an executable workflow, which is actually A workflow consisting of multiple referenced methods.
  • the tasks to be performed in each step of the workflow are the methods defined in the NodeType and can be described in a standardized language, as described in BPMN 2.0.
  • Executing the workflow is actually the method artifact corresponding to each method that constitutes the workflow.
  • the application deployment server sequentially runs the method products corresponding to the methods corresponding to the tasks according to the definition of the deployment plan. For example, referring to FIG.
  • the plan includes tasks cl, c2, and c3.
  • the execution order is to execute the task cl first, then the task c2, and then the task c3 ;
  • Cl, c2, and c3 are the methods corresponding to the interface in the NodeType.
  • the method product corresponding to the method is actually executed.
  • the method product corresponding to the cl is actually executed.
  • the corresponding relationship between the method and the method product is defined in the NTI in the application deployment description file. Therefore, the application deployment server can execute the method product corresponding to the cl in the NTI according to the correspondence between the method and the method product in the NTI in the application deployment description file.
  • each ServiceTemplate is bounded by a boundary (defined by BoundaryDefinitions), and some components defined in the ServiceTemplate are presented to the user within the BoundaryDefinitions; the component is the above-mentioned NodeTemplateN deployment product, method product, and the like.
  • an application deployment package includes information required for deploying the application, an application deployment description file, a deployment plan, a deployed product of the node, and a method product of each method. among them,
  • the application deployment description file describes the complete topology of the application, the deployment artifact information of the nodes in the topology, the method and method product information of the nodes in the topology, and the application deployment package also includes.
  • FIG. 2 is a schematic diagram of an application topology described in an application deployment description file in an application deployment method according to an embodiment of the present disclosure.
  • a typical WEB application is usually deployed, and its complete application topology can include both application content topology and resource topology.
  • the application topology includes node templates for the four nodes AppWar, DB, Apache, and MySql.
  • AppWar and DB are application nodes (the deployment products are War package and database files respectively), and the templates of AppWar and DB constitute the application content topology
  • Apache and MySql are resource nodes (the deployment products are Apache respectively)
  • the MySql software image file) Apache and MySql these two nodes constitute the resource topology.
  • the application topology also includes two types of application nodes and resource nodes.
  • the application deployment device AD of the CSC can introduce third-party monitoring and real-time monitoring of its own cloud computing resources.
  • the embodiment of the present invention designs an application deployment of a virtual framework (Virtual Framework, VF for short). mode.
  • VF mode the resource bundle contains an abstraction method for AD to extend the abstract method. That is, AD needs a method artifact that provides the abstract method.
  • the method artifact is a program file connectMonitor.py, which implements monitoring with a third party by executing the program file.
  • AD can also expand other requirements, and it is only necessary to provide a method product corresponding to the demand as a method product of the above abstract method.
  • FIG. 3 is a schematic flowchart of an application deployment method according to an embodiment of the present invention.
  • the method for performing the method in this embodiment is an application deployment server. As shown in FIG. 3, the method may include:
  • the application deployment request includes a resource package identifier of a resource package, at least one method product, and a correspondence between each method product and an abstract method described by the resource description file in the resource package. Relationship, and method product information of each method article; specifically, a correspondence between each method article and an abstract method described in the resource description file in the resource package, and each method product
  • the method artifact information can be described in the application deployment description file.
  • the method artifact, the application deployment description file is included by the application content package, and the application deployment request includes the application content package and the resource package identifier.
  • the application deployment server may be a server responsible for deploying an application, and the application deployment service Receiving an application deployment request sent by the application deployment device AD, where the application deployment request includes a resource package identifier of the resource package, at least one method artifact, an abstract method described by each method artifact and the resource description file in the resource bundle Correspondence between, and method product information for each of the method articles. That is, in an application deployment request, a method artifact corresponds to an abstract method described by the resource description file.
  • the resource bundle is provided by the resource provider and has been registered on the application deployment server.
  • the unique ID that the application deployment server creates for the resource bundle when the resource bundle provider registers the resource bundle is called the resource bundle identifier.
  • the resource bundle is a resource bundle in VF mode, which contains information needed to use the resource bundle, such as a resource description file and a deployment plan; wherein the resource description file describes an abstract method, and the abstract method is referenced in the deployment plan.
  • the abstract method is to lack the method artifact information in the resource description file, and the method package is not defined in the resource package. Since the general method has its corresponding method product information in the resource description file, the abstract method defined in this embodiment has no method product information.
  • AD searches the application deployment server for the resource package of the application to be deployed and obtains the identity of the resource package. And obtain the resource description file of the resource package description by identifying the resource package. Specifically, the AD sends a resource package acquisition request to the application deployment server, where the resource package acquisition request carries the resource package identifier, and receives the resource package corresponding to the resource package identifier sent by the application deployment server, and obtains the resource package from the resource package. A resource description file. As an optional method, the AD further sends a resource description file acquisition request to the application deployment server, where the resource description message carrying the resource package identifier is received by the application deployment server, and the resource package corresponding to the resource package identifier sent by the application deployment server is included. Resource description file.
  • the resource package obtaining request may be a request for a getResourcePackage, and the resource package identifier is carried in the request.
  • the resource description file acquisition request may be
  • Getdescriptiondocument and carry the resource bundle identifier in the request.
  • the AD After obtaining the resource description file, the AD provides the data required to use the resource package according to the description of the required data in the resource description file: a method product that provides an abstract method described by the resource description file, and/or provides an application node. Deployed products. Specifically, the AD generates a corresponding method product according to the description of the abstract method in the resource description file. It should be noted that the process of the AD generation method product belongs to the user programming process, and the embodiment of the present invention is not described in detail herein.
  • AD will generate the method artifacts and/or deployment artifacts, as well as information describing the data (such as application content description files), It is carried in the deployment request in the form of an application content package, and the resource package identifier of the resource package is also carried in the deployment request and sent to the application deployment server.
  • the resource package includes: the resource description file and a deployment plan; the resource description file describes the abstract method, where the deployment plan refers to the abstraction Method
  • the application deployment server obtains a resource package according to the resource package identifier carried in the application deployment request, where the resource package includes a resource description file and a deployment plan; the resource description file describes an abstract method, where the deployment is performed.
  • the plan references the abstract method.
  • the resource description file further describes an application node and a resource node; the description of the abstract method is included in the node type of the application node and/or the resource node.
  • the abstract method is included in a node type of the application node, where the application deployment request includes a node type of an application node to perform NTI, and the method and the abstract method described by the resource description file in the resource package
  • the corresponding relationship is described in the NTI of the node type of the application node; the adding the method product information to the resource description file is specifically: adding the NTI of the application node to the resource description file.
  • the abstract method is included in a node type of the resource node, where the application deployment request includes a boundary definition, and a correspondence between the method product and an abstract method described by the resource description file in the resource package
  • the application deployment server can also add method artifacts to the resource bundle. It is worth noting that: The node type of the application node performs NTI and the boundary definition can be included in the application content description file.
  • the attribute of the abstract method described by the node type in the resource description file may be modified as an ordinary method.
  • the application deployment server may define an abstract method in the resource description file according to the following method: determining that the method in the resource description file uses an abstract target The keyword annotation is identified, and the resource description file does not include the method artifact information of the method, and then the method for labeling with the abstract identifier keyword described in the resource description file is determined to be an abstract method.
  • the application deployment request further includes: a deployment product of the application node and deployment product information of the deployed product; after the obtaining the resource package according to the resource package identifier, the method further includes: The deployment product information of the application node is added to the node type corresponding to the application node in the resource description file of the resource package to execute the NTI, and the deployed product of the application node in the application deployment request is used as the resource.
  • the application deployment description file defines the abstract method
  • the deployment plan refers to an abstract method (ie, a name containing each abstract method).
  • a deployment plan is actually a workflow composed of multiple methods, and the execution of the workflow is actually the method artifact corresponding to each method that constitutes the workflow.
  • the method product corresponding to the abstract method is executed, and the method product is provided by the AD development, so the implementation of the first deployment plan can introduce the own needs of the AD to expand the product by using the method, for example, Three-way monitoring.
  • the application deployment server can also generate application deployment packages based on the deployment deployment descriptors, resource packages, and application deployment requests, respectively, and the deployment plans in the resource bundle.
  • the application deployment package includes the deployment plan, the application deployment profile, each deployment artifact, and method artifact.
  • the method article comprises a method article of an abstract method.
  • the user deploying the application by setting an abstract method in the resource package, the user deploying the application only needs to provide the method product corresponding to the abstract method to meet the user's own needs, so the application deployment is improved compared with the prior art. Scalability.
  • FIG. 4 is a schematic flowchart of an application deployment method according to an embodiment of the present invention.
  • the method is performed by an application deployment device, such as an AD.
  • the method may include:
  • Obtain a resource package identifier of a resource package of the application to be deployed obtain a resource description file of the resource package according to the resource package identifier, where the resource description file describes at least one abstract method; the resource package includes: a resource description file and a deployment Plan; the resource description file describes at least one abstract method.
  • the deployment plan in the resource package refers to the at least one abstract method, as shown in the figure.
  • the application deployment device AD can obtain the resource package identifier through the interface search, and send a resource package acquisition request to the application deployment server, where the resource package acquisition request carries the resource package identifier;
  • the resource package corresponding to the resource package identifier, and the resource description file is obtained from the resource package;
  • the application deployment device AD may send a resource description file acquisition request to the application deployment server, and the resource description The resource package of the resource package to which the file belongs; receiving the resource description file included in the resource package corresponding to the resource package identifier sent by the application deployment server.
  • the AD develops and provides a method product corresponding to the abstract method according to the description of the abstract method in the resource description file, and is an abstract method corresponding to a method product.
  • the AD also describes the correspondence between each of the method artifacts and an abstract method described by the resource description file, as well as the method artifact information for each method artifact.
  • the resource description file describes an application node, where the abstract method is included in a node type of the application node, and at least one abstract method according to the resource description file is generated to generate a corresponding to each of the abstract methods.
  • the method product includes: generating, according to an abstract method of the node type description of the application node in the resource description file, a method product corresponding to the abstract method of the application node; the method further includes: The application node described in the resource description file describes the application node in an application deployment request;
  • the resource description file further describes a resource node; the abstract method is included in a node type of the resource node; and the at least one abstract method according to the resource description file is generated and generated by each The method method corresponding to the abstract method, comprising: generating a method product corresponding to the abstract method of the resource node according to an abstract method included in a node type description of the resource node in the resource description file; Abstract description of the resource description file.
  • the node type of the application node performs NTI, and the boundary definition is included in the application content description file, and the application deployment request includes the application content description file.
  • the AD further determines that the application node in the resource description file is labeled with an abstract identifier key, and the resource description file does not include the deployed product information of the application node, and the AD generates an application node according to the resource description file.
  • Deploying the article and the deployed article information of the deployed article, the application deployment request further includes: a deployment article of the application node and a deployment system of the deployed article, it is worth noting that the deployment product information of the node node is also included in the application The node type of the node performs NTI.
  • the application deployment request includes the resource package identifier, a correspondence between each method product and an abstract method described by the resource description file, and method product information of each method product. And the method artifact; sending the application deployment request to an application deployment server.
  • the application deployment request includes the resource package identifier, a correspondence between the method product and an abstract method in the resource description file, method product information of each method product, and the method product.
  • the application deployment server obtains the resource package according to the resource package identifier, and generates an application deployment package for deploying the application according to the resource package and the application deployment request, where the application deployment package includes an application.
  • the method description product, the deployment plan, and the method method corresponding to the abstract method are configured, so that the application deployment server executes the method product corresponding to the abstract method when executing the deployment plan according to the application deployment description file.
  • the method artifact is provided by AD as an abstract method, thus enabling AD to introduce AD's own needs by providing method methods corresponding to the abstract method.
  • the method further includes: determining that the application node in the resource description file is labeled with an abstract identifier key, and the resource description file The deployed product information of the application node is not included.
  • FIG. 5 is a schematic flowchart of an application deployment method according to an embodiment of the present invention. This embodiment describes a detailed and complete process of the application deployment method, including obtaining a resource description file, and how the AD carries the application deployment request according to the resource description file. Content, as well as application deployment servers such as How to generate an application deployment package and execute the deployment plan based on the resource bundle and the application content package. As shown in FIG. 5, the method includes:
  • FIG. 6 is a schematic diagram of a topology of a resource description file in an application deployment method according to an embodiment of the present invention.
  • FIG. 6B is a schematic diagram of a deployment plan in an application deployment method according to an embodiment of the present invention.
  • the resource description file contains node templates for nodes War-A, DB-A, Apache, and Mysql.
  • Apache and MySql are resource nodes
  • Apache's NodeType is ApacheServer
  • Apache is Apache.
  • NodeTypelmplementation is ApacheServerNTL
  • MySql's NodeType is MySQLServer
  • MySql's NodeTypelmplementation is
  • MySQLServerNTI o ApacheServer and MySQLServer define an abstract method in each of the two NodeTypes (the abstract method can be defined in the Interface in NodeType), named startMonitor (this abstract method is the name given in this embodiment, the specific implementation Of course, it can be another method name). That is, the two resource nodes each contain an abstract method called startMonitor.
  • the definition of the abstract method may be included in the NodeType of the node, and the specific definition manner may be: adding an optional, Optional attribute to the method Operation, such as an abstract abstract, if the attribute value is yes, Indicates that the method is an abstract method; if no, it is a normal method; the default is no.
  • the specific definition is:
  • the method Operation is defined under the Interface of Interfaces.
  • the method name is described by the name attribute, that is, the method name is the pair of Operation name above.
  • the attribute abstract indicates whether the method named value of the string field is an abstract method. See the definition example above, which means that one is included in Interfaces.
  • the abstract attribute ear has a value of yes, that is, the method string is an abstract method.
  • the above-mentioned Apache node and MySql node's abstract method startMoni tor can be defined as:
  • the startMonitor method is an abstract method.
  • the present embodiment includes the abstract methods of the two resource nodes in the boundary BoundaryDef initions of the resource description file for presentation to the user.
  • the Operation contained in BoundaryDef init ions is defined in a separate Interface and can be mapped to the interface in the node type.
  • the abstract method of the Apache node and the MySql node startMonitor is described in BoundaryDef initions as:
  • BoundaryDefinitions defines Interfaces and interfaces.
  • Interface name is "listening boundary: monitor_ boundary,,.
  • monitor_ boundary describes two operations, and the other lj is
  • startMonitor MySql and startMonitor - Apache which means that the two methods are abstract methods for the MySql and Apache nodes respectively.
  • startMonitor - MySql defines a
  • NodeOperation which means startMonitor - MySql maps to the NodeOperatior
  • NodeOperation contains three properties, which are used to point to a method, nodeRef describes the node name, interfaceName describes the interface name, and operationName describes the name of the method.
  • nodeRef describes the node name
  • interfaceName describes the interface name
  • operationName describes the name of the method.
  • startMonitor MySql corresponds to the startMonitor method in the monitor interface of the MySql node
  • startMonitor Apache corresponds to the startMonitor method in the monitor interface of the Apache node.
  • startMonitor the Nodetype of the node MySql is MySQLServer, which contains the interface named "monitor”. Under the interface "monitor”, the abstract method named "startMonitor” is defined.
  • the abstract attribute is yes); then, according to the above abstract method presented in BoundaryDefinitions with the name "startMonitor", which maps to (or corresponds to) the abstract method in MySQLServer via NodeOperation.
  • the mapping method is as shown above.
  • the node name (nodeRef ) is " MySql " (pointing the node name, you know that the abstract method is defined by the interface in the node corresponding to the node)
  • the interfaceName is "monitor”
  • the method name ( operationName ) is " startMonitor”
  • Jingyou establishes the mapping relationship between the abstract methods in BoundaryDefinitions and the abstract methods of the actual nodes.
  • the mapping of abstract methods in Apache nodes is the same, and will not be described again.
  • the abstract method startMonitor of the Apache node and the MySql node is already included in the deployment plan Bui ldPlan of FIG. 6B, for example, the deployment plan of the FIG. 6B Bui ldPlan used:
  • the NodeTypes of the War-A node and the DB-A node are WebApp-A and AppDB-A, respectively, and WebApp-A and AppDB-A have no defined methods, that is, two abstract application nodes War-A.
  • DB-A does not contain any methods in the node type. Therefore, the node types of War_A and DB-A are abstract NodeTypes (abstract NodeTypes), so the two nodes are abstract application nodes. Since the NodeType of the abstract application node does not contain the deployed artifacts and the Operation defined in the Node Type is an abstract method. Therefore, AD needs to provide a deployed product of the abstract application node, and an operational method of the Operation.
  • the abstract method is marked with an abstract identifier in the resource description file, and the content of the corresponding method article is not included in the NTI of the node.
  • the abstract application node also uses the abstract identifier abstract in the resource description file, and does not include the deployment product information of the node in the resource description file. That is, the abstract application node is an application node that does not have a corresponding deployment artifact, and if the abstract application node contains a method, then all methods included in the abstract application node are abstract methods.
  • the abstract method contained in the abstract application node can be abstracted without the abstract identifier.
  • the resource package contains information required to use the resource package, including a resource description file describing the topology information shown in FIG. 6A, and a deployment plan and the like shown in FIG. 6B, which describes the resource description file.
  • Application topology abstract application nodes, resource nodes.
  • the resource node includes an abstract method (that is, the abstract method is defined in the Interface of the resource node's Nodetype) as an example.
  • an abstract method may be included in an abstract application node and/or a resource node (and/or, representing at least one of an abstract application node and a resource node), and an abstract method is used in the deployment plan.
  • the data that the AD needs to provide by using the resource package includes: a deployment product of the application node, and all abstract methods (this embodiment is an example in which the resource node has an abstract method).
  • Products (as mentioned above, abstract methods have no method artifacts, need to be provided), in order to distinguish the method artifacts of the abstract methods in the abstract application node and the method methods of the abstract methods in the resource nodes, the method products of the abstract method in the abstract application node can be called The method product is applied, and the method product of the abstract method in the resource node is referred to as a resource method product.
  • the resource description file of the AD resolution resource package describes the node corresponding to the node in the resource package.
  • the AD parses the resource description file of the resource package MoniRes, obtains the NodeType of the resource description file as WebApp-A and AppDB-A, and the application nodes War-A and DB-A carry the abstract identification keywords, respectively, and respectively create the node type of the application node.
  • WebApp and AppDB the node type WebApp contains all the contents of WebApp-A
  • the AppDB also contains all the contents of AppDB-A.
  • the NodeTemplate of WebApp is AppWar
  • the NodeTemplate of AppDB is DB.
  • AppWar and DB are application nodes.
  • the AD may further create an application content description file, and include the created node template, node type, and NTI in the application content description file.
  • FIG. 6C is a schematic diagram of correspondence between an application content package and a resource package in an application deployment method according to an embodiment of the present invention. Since the node types of WebApp and AppDB contain all the contents of WebApp-A and AppDB-A, the NodeTypes of the application nodes AppWar and DB are WebApp and AppDB respectively, and the NodeTypes of the abstract application nodes War-A and DB-A are respectively WebApp-A. And AppDB - A. Therefore, the application nodes AppWar and DB correspond to the application nodes War_A and DB-Ao in the resource description file respectively.
  • AD creates the NTI of WebApp and AppDB, and describes the deployed products of AppWar and DB in NTI;
  • the AD creates the NTI of the WebApp and the AppDB in the application content description file (the NTI can describe the deployment product of the NodeType and the method product information), respectively, WebAppNTI and AppDBNTI (see FIG. 6C).
  • AD also describes the deployment artifacts app. war and app. db in WebAppNTI and AppDBNTI, respectively. Since the application nodes AppWar and DB's NodeType are different from WebApp and AppDB, and WebAppNTI and AppDBNTI are NTI of WebApp and AppDB respectively, the above deployed products app. war and app.db are respectively deployed corresponding to application nodes AppWar and DB. product.
  • the application nodes AppWar and DB respectively correspond to application nodes in the resource description file War—A and DB—A. Therefore, the information of AppWar and app.db of AppWar and DB described in WebAppNTI and AppDBNTI corresponds to the deployment product information of application nodes War_A and DB_A. Since the application nodes War_A and DB-A of the present embodiment do not include any method, only the deployed product information is described in WebAppNTI and AppDBNTI. If the abstract method is defined in the NodeType of the resource package War-A and DB-A, the method product information of the abstract method is also described in WebAppNTI and AppDBNTI, such as describing the correspondence between the abstract method and the method product, that is, in the application content. Corresponding relationship between the method description product in the NTI of the application node corresponding to the abstract application node in the description file and the abstract method of the abstract application node in the resource description file in the resource package.
  • AD describes, in a BoundaryDefinitions in the application content description file, a method product information of the abstract method defined in a node type of the resource node in the resource package, and a corresponding relationship between the method product and the abstract method in the resource description file.
  • the abstract method of the resource bundle is an abstraction method defined in the node type of the resource node, and is presented to the user through BoundaryDefinitions.
  • the method artifact information for the abstract method is also described in the application of the content description file BoundaryDefinitions, that is, between the boundary definition in the application content description file BoundaryDefinition describes the method artifact and the abstract method of the resource node in the resource description file in the resource package. Correspondence.
  • AD describes the resource method artifact (ie connectMonitor.py) of the abstract method defined by the resource node (ie Apache and Mysql) in the BoundaryDefinitions in the above application content description file.
  • This embodiment describes the method article in Boundary Definitions using the following method. Specifically, an optional way is described by the square ifac ts in ⁇ w cc3 ⁇ 4 /fe i ii io ⁇ as follows:
  • interfaceName is the interface name in the BoundaryDefinitions of the abstract method corresponding to the method artifact described in the resource description file;
  • operationName is the method corresponding to the described method artifact in the resource description file
  • the artifactType is the type of the method artifact, where the type of the method article contains the file type of the script file of the method article, for example, the method product type of the Python script is
  • startMonitor The startMonitor in the node template of MySql is in the resource description file.
  • the interface name of the BoundaryDef initions and the method name are separated by lj for monitor-level and startMonitor- MySql. Therefore, the abstract method for the MySql node startMonitor's ImplementationArtif act's interfaceName property and the operationName property are respectively monitor-level and startMonitor— MySql ; since connectMonitor.py is a Python script, the value of the artifactType property is
  • Http //docs. oasisopen. org/ tosca/ ns/ScriptArtif act/Python, and the value of the artifactRef property is connectMonitor.py (direct reference to the program file).
  • the abstract method for the Apache node startMonitor is similar to the ImplementationArtif act, which is no longer awkward.
  • AD the application content description file created above and the deployment product app. war and app.db, and the method product connectMonitor.py corresponding to the abstract method startMonitor are carried in the application deployment request and sent to the application deployment server, wherein the application deployment request Contains the resource package identifier as well;
  • AD will describe the correspondence between the method method connectMonitor.py provided by AD and the abstract method startMonitor in the resource bundle, and the method product information of connectMonitor.py in the boundary definition in the application content description file.
  • the application content description file describes the correspondence between the method product and the abstract method startMonitor in the resource node. If the resource package in the implementation has an abstract method included in the abstract application node, the AD also needs to provide an application method product corresponding to the abstract method of the abstract application node, and describe the application method product and the abstract application in the application content description file. The correspondence between abstract methods in a node.
  • the application deployment server receives an application deployment request sent by the AD, and obtains the resource package according to the resource package identifier carried in the request.
  • the application deployment server receives an application deployment request sent by the AD, where the application deployment request includes at least one resource package identifier of the resource package, at least one method product, one of each method product, and one of the resource description files in the resource package.
  • Correspondence between abstract methods, and method product information for each method article As an example, a correspondence between each method article and an abstract method in a resource description file in the resource package, and each method product The method product information is included in the application content description file.
  • the resource bundle ID is: MoniRes
  • Application method product Since the abstract application node of the embodiment has no method, there is no application method product in the application content package;
  • the application content description file describes the following information:
  • the deployment product information of the application node the deployment product app.war of the application node AppWar, the deployment product app.db of the application node DB, the information of the deployed products described in the application content description file; the application method of the application node product information:
  • the abstract application node of this embodiment has no method, and therefore the application content description file has no application method product information of the application node.
  • the application nodes AppWar and DB respectively correspond to the abstract application nodes War_A and DB_A (the NodeTypes embodied in the application nodes AppWar and DB respectively include the application node War-A) And DB-A's NodeType);
  • Resource method artifacts connectMonitor.py corresponds to resource nodes Apache and MySql abstract methods
  • startMonitor (Because this embodiment uses T0SCA description, the abstract method startMonitor needs to be described in the BoundaryDefinition under the new Interface and Operation, so the method product connectMonitor. py corresponds to the abstract method startMonitor
  • the resource bundle obtained by the application deployment server based on the resource bundle ID.
  • the resource package obtained by the application deployment server contains the resource description file and the deployment plan.
  • the resource description file describes the application topology, abstract application nodes, resource nodes, and deployment plans that the resource bundle can support. Among them, the resource node defines the abstract method, and the deployment plan uses the abstract method.
  • the resource description file may also include referenced deployment artifacts and method artifacts: a method product mainly for resource node deployment products and a non-abstract method, which has little relationship with the process of the embodiment. I won't go into details here.
  • War-A and DB-A Application node: War-A and DB-A;
  • Resource nodes Apache and MySql;
  • the application node and/or the resource node define an abstract method: the abstract application node of this embodiment has no definition method, and the resource nodes Apache and MySql respectively define an abstract method, which is called startMonitor;
  • the deployment plan uses an abstraction method; as shown in Figure 6B, Sections 6, 7 of the deployment plan (ie BuildPlan) use an abstract method called startMonitor.
  • the deployed product information is added to the resource description file.
  • the application deployment server may further add the deployed product of the application node in the application deployment request to the resource package.
  • the application deployment server copies information of the deployed product of the application node described in the application content description file to a node type corresponding to the abstract application node in the resource description file of the resource package, and performs Node Typelmplementation. As information about the deployed artifacts of the abstract application node.
  • the NodeTypes (WebApp and AppDB) of the application nodes AppWar and DB respectively include the NodeTypes (WebApp-A and DB-A) of the application nodes War-A and DB-A, respectively.
  • the information about the deployed products of the node types WebApp and AppDB is described in the corresponding NTI (ie WebAppNTI and AppDBNTI). Therefore, you only need to modify the nodeType attributes of WebAppNTI and AppDBNTI to WebApp-A and AppDB-A in the resource description file of the resource package (that is, WebAppNTI and AppDBNTI are the NTIs of WebApp-A and AppDB-A respectively), and then modify WebApp-A.
  • each method product and an abstract in the resource description file in the resource package Corresponding relationship between the methods, adding the method product information to the resource description file to form an application deployment description file;
  • An abstract method for the application deployment server to process the resource node in the resource package adding the method product information of the abstract method to the resource description file to form an application deployment description according to the correspondence between the method artifact and the abstract method included in the resource node File; modify the properties of the abstract method to be a normal method, and further add the method method of the abstract method to the resource package.
  • the method for adding the method product information of the abstract method to the resource description file to form the application deployment description file is specifically: the method product described in the boundary definition in the application content description file and the resource node in the resource description file in the resource package
  • the correspondence between abstract methods is added to the NTI of the resource node of the resource description file.
  • the abstract method startMonitor of the resource node in the resource bundle is defined in the NodeType of the resource node, and is presented to the user through the new Interface and Operation in the BoundaryDef inition.
  • the method product of the resource node in the application deployment request is defined in the NodeType of the resource node, and is presented to the user through the new Interface and Operation in the BoundaryDef inition.
  • the first one Get the application deployment request (also in the application deployment request in the application content brown file)
  • the value of the Node Name and the Operation Name of the NodeOperation are equal to the values of the Interface Name and the Operation name obtained from the application deployment request.
  • the third parameter the value of the nodeRef and interfaceName n operationName of the NodeOperation;
  • the ImplementationArtifact information is all copied to the ImplementationArtifacts item in the NTI of the NodeType of the node whose node name is the obtained nodeRef value in the resource description file, and the attribute of the ImplementationArtifact in the NTI is modified.
  • operationName is the interfaceName of the NodeOperation
  • the value of operationName The fifth parameter: delete the abstract attribute of the abstract method in the node type of the resource node, or modify the abstract value of the abstract method in the node type of the resource node.
  • the node name of the abstract method is the value of the nodeRef obtained by the third node
  • the interface name is the value of the interfaceName obtained by the third file
  • the method name is the value of the operationName obtained by the third file.
  • ImplementationArtifact interfaceName and operationName values are monitor-level and startMonitor- MySql;
  • the second one Ear and NodeOperation, where the NodeOperation property Interface name and Operation name are respectively monitor-level and mouth
  • the third parameter the obtained NodeOperation properties nodeRef interfaceName and operationName values are MySql, monitor and startMonitor;
  • This embodiment is described by taking an abstract method included in a node type of a resource node.
  • the method article and the resource description file in the resource package are The correspondence between abstract methods is described in the NTI of the node type of the application node.
  • the method article information of the abstract method is added to The forming the application deployment description file in the resource description file is specifically: adding an NTI of the application node corresponding to the abstract application node in the application content description file to the resource description file to form an application deployment description file.
  • the application deployment server is configured according to the method of performing the abstract method referenced by the deployment plan according to the application deployment description file.
  • the application deployment server copies the deployed artifacts (ie, app. war n app. db ) and the resource method artifacts (ie, connectMonitor.py) in the application content package to the resource bundle.
  • the AD after searching for the resource package MoniRes for the application to be deployed, the AD describes the abstract method according to the resource description file in the resource package, and knows that the process of establishing a connection with the third-party monitoring is implemented by using the program, and the program is used.
  • File As an abstract method of Apache node and MySql node, the method of startMonitor can implement AD requirements.
  • the user deploying the application only needs to provide the method product corresponding to the abstract method. The user's own needs can be met, so the scalability of the application deployment is improved relative to the prior art.
  • the embodiment of the present invention further provides an optional solution, that is, the AD obtains the resource package identifier of the resource package of the application to be deployed, and obtains the resource description file of the resource package according to the resource package identifier, and may further A general method described by a resource description file, generating a method article corresponding to the normal method, method article information of the method article, and correspondence between the method product and an ordinary method in the resource description file Relationship, and information generated by the AD in the application deployment request, so that the application deployment server executes the method product of the AD transmission when executing the method method of the common method referenced by the deployment plan according to the application deployment description file.
  • the AD may carry the method product information of the method product in the application deployment request by using the method shown in FIG. 3 to FIG. 5, and an ordinary method in the method product and the resource description file. Correspondence between them.
  • the method artifact of the general method is a method artifact of an application node
  • the AD may carry the method artifact information in the NTI of the application node and the correspondence between the method artifact and the method of the application node in the resource description file.
  • the method artifact of the normal method is a method artifact of a resource node
  • AD may carry the method in the boundary definition of the application content description file. Product information and the correspondence between the method article and the method of the resource node in the resource description file.
  • the application deployment server may determine, according to the application deployment request, whether the method sent by the AD is a method product of an abstract method in the resource description file or a method product of a common method in the resource description file, if It is a method product for the abstract method in the resource description file, and the application deployment server is processed according to the relevant steps of the embodiment corresponding to FIG. 2 to FIG. 5. If the method is a method for the common method in the resource description file, the application deployment server needs to delete the method product of the common method in the resource package, and then use the method method of the common method carried in the application deployment request as the common method in the resource description file. Method of manufacture.
  • the application deployment server may also delete the method product information of the common method in the resource description file, and add the method product information of the common method in the application deployment request to the resource description.
  • the method article of the common method in the application deployment request may be the same as the method article name of the common method in the resource package, and the information of the method article is also the same.
  • the application deployment server can directly use the method product of the common method in the application deployment request as a method product to be executed when the application is deployed.
  • FIG. 7 is a schematic structural diagram of an application deployment server according to an embodiment of the present invention.
  • the server may perform the method according to any embodiment of the present invention.
  • the server may include: a request receiving unit 71, an information acquiring unit 72, and information.
  • the processing unit 73 and the application deployment unit 74 are configured to receive an application deployment request, where the application deployment request includes a resource package identifier of the resource package, at least one method product, each method product, and the method Correspondence between an abstract method described by the resource description file in the resource package, and method product information of each method article;
  • the information obtaining unit 72 is configured to acquire the resource package according to the resource package identifier that is included in the application deployment request that is received by the request receiving unit, where the resource package includes: the resource description file and a deployment plan;
  • the resource description file describes the abstract method, and the deployment plan references the abstract method;
  • the information processing unit 73 is configured to: according to a correspondence between each method product included in the application deployment request received by the request receiving unit and an abstract method described in the resource description file in the resource package, Method product information is added to the information obtained by the information acquisition unit The resource description file included in the resource package to form an application deployment description file; the application deployment unit 74, the method for executing the abstract method referenced by the deployment plan according to the application deployment description file formed by the information processing unit product.
  • the resource description file further describes an application node and a resource node; the description of the abstract method is included in the node type of the application node and/or the resource node.
  • the abstract method is included in a node type of the application node
  • the application deployment request includes a node type of an application node to perform NTI
  • the method and the abstract method described by the resource description file in the resource package The correspondence between the two is described in the NTI of the node type of the application node
  • the information processing unit 73 adds the method product information to the resource included in the resource package acquired by the information acquiring unit 72.
  • the description file specifically includes: adding the NTI of the application node to the resource description file; or
  • the abstract method is included in a node type of the resource node, where the application deployment request includes a boundary definition, and a correspondence between the method product and an abstract method described by the resource description file in the resource package is Described in the boundary definition; the information processing unit 73 adds the method product information to the resource description file included in the resource package acquired by the information obtaining unit 72, which is specifically: The method article information is added to the NTI of the resource node of the resource description file.
  • the information processing unit 73 is further configured to: modify an attribute of the abstract method of the resource description file node type description included in the resource package acquired by the information acquiring unit 72 to an ordinary method; and/ Or, adding the method product included in the application deployment request received by the request receiving unit 71 to the resource package.
  • the application deployment request further includes: a deployment product of the application node; the information processing unit 73 is further configured to: after the information acquisition unit 72 acquires the resource package according to the resource package identifier, The deployed product of the application node in the application deployment request received by the request receiving unit 71 is used as the deployed product of the application node in the resource description file included in the resource package acquired by the information acquiring unit 72.
  • the application deployment request further includes deployment product information of the deployed product; the information processing unit 73 uses the deployed product of the application node in the application deployment request received by the request receiving unit 71 as a
  • the deployed product of the application node in the resource description file included in the resource package obtained by the information obtaining unit 72 is specifically: adding the information about the deployed product And to the resource description file; and adding the deployed product of the application node in the application deployment request to the resource package.
  • the information processing unit 73 adds the method product information included in the application deployment request received by the request receiving unit 71 to the location included in the resource package acquired by the information acquiring unit 72.
  • the method for determining that the resource description file is marked with an abstract identifier key is an abstract method.
  • FIG. 8 is a schematic structural diagram of an embodiment of an application deployment device according to an embodiment of the present invention.
  • the device may perform the method according to any embodiment of the present invention.
  • the device is, for example, an AD.
  • the device may include: an information acquiring unit. 81.
  • the information obtaining unit 81 is configured to obtain a resource package identifier of the resource package of the application to be deployed, and obtain a resource description file of the resource package according to the resource package identifier, where the resource description file describes at least one abstract method;
  • the information generating unit 82 is configured to generate, according to at least one abstract method of the resource description file description acquired by the information acquiring unit 81, a method product corresponding to each of the abstract methods, and method product information of the method product And a correspondence between each of the method artifacts and an abstract method described by the resource description file;
  • the request generating unit 83 is configured to generate an application deployment request, where the application deployment request includes the resource package identifier acquired by the information acquiring unit 81, each method product generated by the information generating unit 82, and the information acquiring unit. 81.
  • the information obtaining unit 81 obtains the resource description file of the resource package according to the resource package identifier, which is: sending a resource package acquisition request to the application deployment server, where the resource package acquisition request carries the resource package identifier; Deploying a resource package corresponding to the resource package identifier sent by the server, and acquiring the resource description file from the resource package; or sending a resource description file acquisition request to the application deployment server, where the resource description is carried in the cipher acquisition request The resource package identifier of the resource package to which the resource description file belongs; and the resource description file included in the resource package corresponding to the resource package identifier sent by the application deployment server.
  • the resource package identifier is: sending a resource package acquisition request to the application deployment server, where the resource package acquisition request carries the resource package identifier; Deploying a resource package corresponding to the resource package identifier sent by the server, and acquiring the resource description file from the resource package; or sending a resource description file acquisition request to the application deployment server, where the resource description is carried
  • the resource description file describes an application node, and the abstract method is included in a node type of the application node;
  • the information generating unit 82 is configured according to the resource description file acquired by the information acquiring unit 81.
  • At least one abstract method for generating a method corresponding to each of the abstract methods is specifically: generating an abstract method with the application node according to an abstract method included in a node type of the application node in the resource description file Corresponding method product;
  • the request generating unit 83 is further configured to describe the application node in an application deployment request according to the application node described in the resource description file acquired by the information acquiring unit 81;
  • the correspondence between the abstract methods in the resource description file and the method article information are described in the NTI of the node type of the application node described in the application deployment request.
  • the resource description file further describes a resource node; the abstract method is included in a node type of the resource node; and the information generating unit 82 is described according to the resource description file acquired by the information acquiring unit 81.
  • generating, by the at least one abstract method, a method product corresponding to each of the abstract methods generating an abstract method corresponding to the resource node according to an abstract method included in a node type of the resource node in the resource description file Method of manufacture; a correspondence between the method artifact and an abstract method in the resource description file and a boundary definition of the method artifact information in the application deployment request.
  • the information generation unit 82 generates a deployment product of the application node according to the resource description file, and The deployed product information of the deployed product; the application deployment request further includes: a deployed product of the application node and deployed product information of the deployed product.
  • the information generating unit 82 further determines the resource acquired by the information acquiring unit 81 before generating the deployed product of the application node and the deployed product information of the deployed product according to the resource description file.
  • the application node in the description file is annotated with an abstract identification key, and the resource description file does not include the deployed artifact information of the application node.
  • FIG. 9 is a schematic diagram of an entity structure of an application deployment server according to an embodiment of the present invention, which is used to implement an application deployment method according to an embodiment of the present invention.
  • the application deployment server may include: a memory 901, a processor 902, a bus 903, and a communication interface 904.
  • the processor 902 and the memory 901 and the communication interface 904 are connected by a bus 903 and complete communication with each other.
  • Processor 902 may be single or multi-core central processing Central processing unit (CPU), or a specific integrated circuit
  • the memory 901 may be a high speed RAM memory or a non-volatile memory such as at least one disk memory.
  • the communication interface 904 is configured to communicate with an external device, and receive an application deployment request, where the application deployment request includes a resource package identifier of the resource package, at least one method product, each method product, and the resource package. A correspondence between an abstract method described by the resource description file, and method product information of each method article.
  • the memory 901 stores an application program; the processor 902 calls an application stored in the memory 901, and acquires the resource package according to the resource package identifier, where the resource package includes: the resource description file and a deployment plan
  • the resource description file describes the abstract method, the deployment plan references the abstract method; and according to a correspondence between each method article and an abstract method described by the resource description file in the resource package; Adding the method artifact information to the resource description file to form an application deployment description file; and executing the method artifact of the abstract method referenced by the deployment plan according to the application deployment description file.
  • the resource description file further describes an application node and a resource node; the description of the abstract method is included in the node type of the application node and/or the resource node.
  • the abstract method is included in a node type of the application node
  • the application deployment request includes a node type of an application node to perform NTI
  • the method and the abstract method described by the resource description file in the resource package The corresponding relationship is described in the NTI of the node type of the application node
  • the processor 902 adds the method product information to the resource description file, specifically: adding the NTI of the application node to the resource description
  • the abstract method is included in a node type of the resource node, where the application deployment request includes a boundary definition, and the method article and the abstract method described by the resource description file in the resource package
  • Corresponding relationship is described in the boundary definition
  • the processor 902 adds the method product information to the resource description file, specifically: adding the method product information described in the boundary definition to a resource node of the resource description file In the NTI.
  • the processor 902 further adds an attribute for modifying an abstract method in a node type in the resource description file to an ordinary method; and/or, adding a method product included in the application deployment request. Go to the resource bundle.
  • the application deployment request further includes: a deployment product of the application node; the processor 902, configured to: after the obtaining the resource package according to the resource package identifier, the application deployment request
  • the deployed product of the application node serves as a deployed product of an application node in the resource description file.
  • the application deployment request further includes deployment product information of the deployment product; the processor 902 uses the deployed product of the application node in the application deployment request as an application node in the resource description file.
  • the article is specifically: adding the deployed product information to the resource description file; and adding the deployed product of the application node in the application deployment request to the resource package.
  • the processor 902 adds the method product information to the resource description file to form an application deployment description file
  • the method for determining that the resource description file is marked with an abstract identifier key is Abstract method.
  • FIG. 10 is a schematic diagram of an entity structure of an application deployment device according to an embodiment of the present invention, which is used to implement an application deployment method according to an embodiment of the present invention.
  • the application deployment device may include: a memory 1001, a processor 1002, a bus 1003, and a communication interface 1004.
  • the processor 1002 and the memory 1001 and the communication interface 1004 are connected via the bus 1003 and complete communication with each other.
  • the processor 1002 may be a single-core or multi-core central processing unit (CPU), or an specific integrated circuit (ASIC), or configured to implement the embodiments of the present invention.
  • the memory 1001 may be a high speed RAM memory or a non-volatile memory such as at least one disk memory.
  • the communication interface 1004 is configured to communicate with an external device, obtain a resource package identifier of a resource package of the application to be deployed, and obtain a resource description file of the resource package according to the resource package identifier, where the resource description file describes at least An abstract method.
  • the memory 1001 stores an application; the processor 1002 invokes an application stored in the memory 1001, and generates a method product corresponding to each of the abstract methods according to at least one abstract method described by the resource description file, Correspondence between method article information of the method article, and an abstract method described by each method article and the resource description file Generating an application deployment request, where the application deployment request includes the resource package identifier, a correspondence between the method artifacts and an abstract method in the resource description file, and method product information of each method product And the method product; the communication interface 1004 is further configured to send the application deployment request to an application deployment server.
  • the processor 1002 obtains the resource description file of the resource package according to the resource package identifier, which is: sending a resource package acquisition request to the application deployment server, where the resource package acquisition request carries the resource package identifier; The resource package corresponding to the resource package identifier sent by the server, and the resource description file is obtained from the resource package; or the resource description file acquisition request is sent to the application deployment server, where the resource description message carries the resource in the request.
  • the resource description file describes an application node
  • the abstract method is included in a node type of the application node
  • the processor 1002 generates and each according to at least one abstract method described by the resource description file.
  • the method product corresponding to the abstract method is specifically: generating a method product corresponding to the abstract method of the application node according to an abstract method included in a node type of the application node in the resource description file;
  • the device 1002 is further configured to: describe the application node in an application deployment request according to an application node described in the resource description file; a correspondence between the method article and an abstract method described in the resource description file, and
  • the method artifact information is described in the NTI of the node type of the application node described in the application deployment request.
  • the resource description file further describes a resource node; the abstract method is included in a node type of the resource node; and the processor 1002 generates and executes according to at least one abstract method described by the resource description file.
  • the method product corresponding to the abstract method is specifically: generating a method product corresponding to the abstract method of the resource node according to an abstract method described in the resource description file included in a node type of the resource node; The correspondence between the method artifacts and the abstract methods described in the resource description file and the method artifact information are described in the boundary definition in the application deployment request.
  • the processor 1002 is further configured to generate a deployment product of the application node and deployment product information of the deployed product, where the application deployment request further includes: Deployment artifacts of nodes and deployment of the deployed artifacts Further, before the processor 1002 generates the deployed article of the application node and the deployed article information of the deployed article, determining that the application node in the resource description file is labeled with an abstract identifier key, and the resource description file is not The deployed article information of the application node is included.
  • the aforementioned program can be stored in a computer readable storage medium.
  • the program when executed, performs the steps including the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as ROM, RAM, disk or optical disk.

Abstract

本发明提供一种应用部署方法和设备,其中方法包括:接收应用部署请求,请求包括资源包的资源包标识、至少一个方法制品、每个方法制品与资源包中资源描述文件中的一个抽象方法之间的对应关系、以及每个方法制品的方法制品信息;根据资源包标识获取资源包,资源包包括:资源描述文件和部署计划;资源描述文件描述了抽象方法,部署计划引用了抽象方法;根据每个方法制品与资源包中资源描述文件中的一个抽象方法之间的对应关系,将方法制品信息增加到资源描述文件中以形成应用部署描述文件;根据应用部署描述文件执行部署计划引用的抽象方法的方法制品。本发明提高了应用部署的可扩展性。

Description

应用部署方法和设备 技术领域 本发明涉及通信技术, 尤其涉及一种应用部署方法和设备。
背景技术
云计算是一种服务的交付和消费模式, 云服务供应商 (Cloud Service Provider, 简称: CSP)将云计算资源用网络连接起来并进行统一的管理、 分 配和调度, 构成一个资源池向云服务消费者 (Cloud Service Consumer, 简 称: CSC )提供服务。具体是由 CSP的应用部署服务器根据 CSC的应用部署请 求, 分配云计算资源并执行该应用部署请求对应的部署计划, 该应用部署请 求中包括应用部署包, 该部署包中包含部署应用所需要的所有数据。
例如, 在现有技术中 , TOSCA ( Topology and Orchestration Specification for Cloud Appl ications ) 标准规范化了应用的拓扑和运维 流程的描述方式; 根据该 T0SCA标准, 采用应用部署包描述部署应用所需的 全部信息, 该应用部署包至少包含一个描述文件, 该描述文件描述应用完整 拓扑、 拓扑中节点的部署制品信息、 拓扑中节点的方法和方法制品信息, 应 用部署包还包括节点的部署制品、 各方法的方法制品以及部署计划(Plan) 。 部署计划是可执行的工作流, 应用部署服务器分配云计算资源执行该部署计 应用的完整拓扑可以包含应用内容拓扑和资源拓扑, 拓扑中的节点包括 应用节点和资源节点。 例如在虚拟应用 (Virtual Appl ication, 简称: VA) 的应用部署模式中, 服务器可以给用户提供针对某一类型应用的资源包, 资 源包中提供了资源拓扑、 资源节点、 资源节点的部署制品和所有方法的方法 制品、 部署计划, 用户只需要使用应用部署设备 (Appl ication Deployer, 简称: AD ) 搜索到适合应用的资源包, 编排应用内容拓扑并添加应用节点的 部署制品即可。
然而, 与当前的部署计划中的方法对应的方法制品都是由服务器提供的 资源包中包含的, 用户只能按照部署计划去执行资源包中的方法制品以部署 应用。 因此, 现有的应用部署模式例如 VA虽然简便, 但是其封装度太高, 用 户无法在现有资源包的基础上进行扩展和二次开发从而导致应用的部署不灵 活, 无法满足用户的需求。 比如, 当用户希望了解及监控资源的部署过程, 如观察获得的云计算服务是否符合服务水平协议(service level agreement , 简称: SLA) 时, 当前的部署模式是不支持的, 从而无法满足用户的需求。 发明内容 本发明提供一种应用部署方法和设备, 以提高应用部署的可扩展性。 第一方面, 提供一种应用部署方法, 包括:
接收应用部署请求, 所述应用部署请求包括资源包的资源包标识、 至少 一个方法制品、 所述每个方法制品与所述资源包中资源描述文件描述的一个 抽象方法之间的对应关系、 以及所述每个方法制品的方法制品信息;
根据所述资源包标识获取所述资源包, 所述资源包包括: 所述资源描述 文件和部署计划; 所述资源描述文件描述了所述抽象方法, 所述部署计划引 用了所述抽象方法;
根据所述每个方法制品与所述资源包中资源描述文件描述的一个抽象方 法之间的对应关系, 将所述方法制品信息增加到所述资源描述文件中以形成 应用部署描述文件;
根据所述应用部署描述文件执行所述部署计划引用的抽象方法的方法制 品。
结合第一方面, 在第一种可能的实现方式中, 所述资源描述文件还描述 了应用节点和资源节点;所述抽象方法的描述包含在所述应用节点和 /或所述 资源节点的节点类型中。
结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述抽象方法包含在所述应用节点的节点类型中, 所述应用部署请求包含应 用节点的节点类型执行 NTI , 所述方法制品与所述资源包中资源描述文件描 述的抽象方法之间的对应关系在所述应用节点的节点类型执行 NTI中描述; 所述将所述方法制品信息增加到资源描述文件中具体为: 将所述应用节点的 NTI增加到资源描述文件中; 或, 所述抽象方法包含在所述资源节点的节点 类型中, 所述应用部署请求中包含边界定义, 所述方法制品与所述资源包中 资源描述文件描述的抽象方法之间的对应关系在所述边界定义中描述;所述 将所述方法制品信息增加到资源描述文件具体为: 将所述边界定义中描述的 所述方法制品信息增加到资源描述文件的资源节点的 NTI中。
结合第一方面的第二种可能的实现方式, 在第三种可能的实现方式中, 该方法进一歩包括: 修改资源描述文件中节点类型中的抽象方法的属性为普 通方法; 和 /或, 将应用部署请求包含的方法制品增加到资源包中。
结合第一方面的第二种可能的实现方式或者第三种可能的实现方式, 在 第四种可能的实现方式中, 所述应用部署请求还包括: 应用节点的部署制品; 在所述根据所述资源包标识获取所述资源包之后该方法还包括: 将所述应用 部署请求中所述应用节点的部署制品作为所述资源描述文件中应用节点的部 署制品
结合第一方面的第四种可能的实现方式, 在第五种可能的实现方式中, 所述应用部署请求还包括所述部署制品的部署制品信息, 所述将所述应用部 署请求中所述应用节点的部署制品作为所述资源描述文件中应用节点的部署 制品具体为: 将所述部署制品信息增加到资源描述文件中; 以及, 将所述应 用部署请求中所述应用节点的部署制品增加到资源包中。
结合第一方面至第一方面的第五种可能的实现方式中的任一种, 在第六 种可能的实现方式中, 在将所述方法制品信息增加到所述资源描述文件中以 形成应用部署描述文件之前, 还包括: 确定所述资源描述文件中用抽象标识 关键字标注的方法是抽象方法。
第二方面, 提供一种应用部署方法, 包括:
获取待部署应用的资源包的资源包标识, 根据所述资源包标识获取资源 包的资源描述文件, 所述资源描述文件中描述了至少一个抽象方法;
根据所述资源描述文件描述的至少一个抽象方法, 生成与每个所述抽象 方法对应的方法制品、 与所述方法制品的方法制品信息, 以及所述每个方法 制品与所述资源描述文件描述的一个抽象方法之间的对应关系;
生成应用部署请求, 所述应用部署请求包括所述资源包标识、 所述每个 方法制品与所述资源描述文件中的一个抽象方法之间的对应关系、 每个方法 制品的方法制品信息和所述方法制品;
向应用部署服务器发送所述应用部署请求。 结合第二方面, 在第一种可能的实现方式中, 所述根据所述资源包标识 获取资源包的资源描述文件, 包括: 向应用部署服务器发送资源包获取请求, 所述资源包获取请求中携带资源包标识; 接收应用部署服务器发送的与资源 包标识对应的资源包, 并从所述资源包中获取所述资源描述文件; 或者, 向 应用部署服务器发送资源描述文件获取请求, 所述资源描述文伯获取请求中 携带资源描述文件所属的资源包的资源包标识; 接收应用部署服务器发送的 与资源包标识对应的资源包包含的资源描述文件。
结合第二方面或第二方面的第一种可能的实现方式, 在第二种可能的实 现方式中, 所述资源描述文件描述了应用节点, 所述抽象方法包含在所述应 用节点的节点类型中; 所述根据所述资源描述文件描述的至少一个抽象方法 生成与每个所述抽象方法对应的方法制品, 包括: 根据所述资源描述文件中 包含在所述应用节点的节点类型中的抽象方法, 生成与所述应用节点的抽象 方法对应的方法制品;该方法进一歩包括:根据所述资源描述文件中描述的应 用节点在应用部署请求中描述所述应用节点; 所述方法制品与所述资源描述 文件中的抽象方法之间的对应关系以及所述方法制品信息在所述应用部署请 求中描述的应用节点的节点类型执行 NTI中描述。
结合第二方面至第二方面的第二种可能的实现方式中的任一种, 在第三 种可能的实现方式中, 所述资源描述文件还描述了资源节点; 所述抽象方法 包含在所述资源节点的节点类型中; 所述根据所述资源描述文件描述的至少 —个抽象方法生成与每个所述抽象方法对应的方法制品, 包括: 根据所述资 源描述文件中包含在所述资源节点的节点类型中的抽象方法, 生成与所述资 源节点的抽象方法对应的方法制品; 所述方法制品与所述资源描述文件中的 抽象方法之间的对应关系以及所述方法制品信息在所述应用部署请求中的边 界定义中描述。
结合第二方面的第二种可能的实现方式中,在第四种可能的实现方式中, 在所述向应用部署服务器发送应用部署请求之前, 还包括: 生成应用节点的 部署制品以及所述部署制品的部署制品信息, 所述应用部署请求还包括: 应 用节点的部署制品以及所述部署制品的部署制品信息。
结合第二方面的第四种可能的实现方式, 在第五种可能的实现方式中, 生成应用节点的部署制品以及所述部署制品的部署制品信息之前, 该方法还 包括: 确定所述资源描述文件中的应用节点用抽象标识关键字标注, 并且所 述资源描述文件不包括所述应用节点的部署制品信息。
第三方面, 提供一种应用部署服务器, 包括:
请求接收单元, 用于接收应用部署请求, 所述应用部署请求包括资源包 的资源包标识、 至少一个方法制品、 所述每个方法制品与所述资源包中资源 描述文件中的一个抽象方法之间的对应关系、 以及所述每个方法制品的方法 制品信息;
信息获取单元, 用于根据所述请求接收单元接收的所述应用部署请求包 括的所述资源包标识获取所述资源包, 所述资源包包括: 所述资源描述文件 和部署计划; 所述资源描述文件描述了所述抽象方法, 所述部署计划引用了 所述抽象方法;
信息处理单元, 用于根据所述请求接收单元接收的所述应用部署请求包 括的所述每个方法制品与所述资源包中资源描述文件中的一个抽象方法之间 的对应关系, 将所述方法制品信息增加到所述信息获取单元获取的所述资源 包中包括的所述资源描述文件中以形成应用部署描述文件;
应用部署单元, 用于根据所述信息处理单元形成的所述应用部署描述文 件执行所述部署计划引用的抽象方法的方法制品。
结合第三方面, 在第一种可能的实现方式中, 所述资源描述文件还描述 了应用节点和资源节点;所述抽象方法的描述包含在所述应用节点和 /或所述 资源节点的节点类型中。
结合第三方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述抽象方法包含在所述应用节点的节点类型中, 所述应用部署请求包含应 用节点的节点类型执行 NTI , 所述方法制品与所述资源包中资源描述文件中 的抽象方法之间的对应关系在所述应用节点的节点类型执行 NTI中描述; 所 述信息处理单元将所述方法制品信息增加到所述信息获取单元获取的所述资 源包中包括的所述资源描述文件中具体为: 将所述应用节点的 NTI增加到资 源描述文件中; 或, 所述抽象方法包含在所述资源节点的节点类型中, 所述 应用部署请求中包含边界定义, 所述方法制品与所述资源包中资源描述文件 中的抽象方法之间的对应关系在所述边界定义中描述; 所述信息处理单元将 所述方法制品信息增加到所述信息获取单元获取的所述资源包中包括的所述 资源描述文件具体为: 将所述边界定义中描述的所述方法制品信息增加到资 源描述文件的资源节点的 NTI中。
结合第三方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述信息处理单元进一歩用于: 修改所述信息获取单元获取的所述资源包中 包括的所述资源描述文件中节点类型中的抽象方法的属性为普通方法; 和 / 或, 将所述请求接收单元接收的所述应用部署请求包含的方法制品增加到资 源包中。
结合第三方面的第二种可能的实现方式或者第三种可能的实现方式, 在 第四种可能的实现方式中, 所述应用部署请求还包括: 应用节点的部署制品; 所述信息处理单元在所述信息获取单元根据所述资源包标识获取所述资源包 之后, 还用于将所述请求接收单元接收的所述应用部署请求中所述应用节点 的部署制品作为所述信息获取单元获取的所述资源包中包括的所述资源描述 文件中应用节点的部署制品。
结合第三方面的第四种可能的实现方式, 在第五种可能的实现方式中, 所述应用部署请求还包括所述部署制品的部署制品信息; 所述信息处理单元 将所述请求接收单元接收的所述应用部署请求中所述应用节点的部署制品作 为所述信息获取单元获取的所述资源包中包括的所述资源描述文件中应用节 点的部署制品具体为: 将所述部署制品信息增加到资源描述文件中; 以及, 将所述应用部署请求中所述应用节点的部署制品增加到资源包中。
结合第三方面至第三方面的第五种可能的实现方式中的任一种, 在第六 种可能的实现方式中, 所述信息处理单元在将所述请求接收单元接收的所述 应用部署请求包括的所述方法制品信息增加到所述信息获取单元获取的所述 资源包中包括的所述资源描述文件中以形成应用部署描述文件之前, 还用于 确定所述资源描述文件中用抽象标识关键字标注的方法是抽象方法。
第四方面, 提供一种应用部署设备, 包括:
信息获取单元, 用于获取待部署应用的资源包的资源包标识, 根据所述 资源包标识获取资源包的资源描述文件, 所述资源描述文件中描述了至少一 个抽象方法;
信息生成单元, 用于根据所述信息获取单元获取的所述资源描述文件描 述的至少一个抽象方法, 生成与每个所述抽象方法对应的方法制品; 请求生成单元, 用于生成应用部署请求, 所述应用部署请求包括所述信 息获取单元获取的所述资源包标识、 所述信息生成单元生成的每个方法制品 与所述信息获取单元获取的所述资源描述文件中的一个抽象方法之间的对应 关系、 每个方法制品的方法制品信息和所述方法制品;
部署请求单元, 用于向应用部署服务器发送所述请求生成单元生成的所 述应用部署请求。
结合第四方面, 在第一种可能的实现方式中, 所述信息获取单元根据所 述资源包标识获取资源包的资源描述文件具体为: 向应用部署服务器发送资 源包获取请求, 所述资源包获取请求中携带资源包标识; 接收应用部署服务 器发送的与资源包标识对应的资源包, 并从所述资源包中获取所述资源描述 文件; 或者, 向应用部署服务器发送资源描述文件获取请求, 所述资源描述 文伯获取请求中携带资源包标识; 接收应用部署服务器发送的与资源包标识 对应的资源包包含的资源描述文件。
结合第四方面或第四方面的第一种可能的实现方式, 在第二种可能的实 现方式中, 所述资源描述文件描述了应用节点, 所述抽象方法包含在所述应 用节点的节点类型中; 所述信息生成单元根据所述信息获取单元获取的所述 资源描述文件描述的至少一个抽象方法生成与每个所述抽象方法对应的方法 制品具体为: 根据所述资源描述文件中包含在所述应用节点的节点类型中的 抽象方法, 生成与所述应用节点的抽象方法对应的方法制品; 所述请求生成 单元进一歩用于根据所述信息获取单元获取的所述资源描述文件中描述的应 用节点在应用部署请求中描述所述应用节点; 所述方法制品与所述资源描述 文件中的抽象方法之间的对应关系以及所述方法制品信息在所述应用部署请 求中描述的应用节点的节点类型执行 NTI中描述。
结合第四方面至第四方面的第二种可能的实现方式中的任一种, 在第三 种可能的实现方式中, 所述资源描述文件还描述了资源节点; 所述抽象方法 包含在所述资源节点的节点类型中; 信息生成单元根据所述信息获取单元获 取的所述资源描述文件描述的至少一个抽象方法生成与每个所述抽象方法对 应的方法制品具体为: 根据所述资源描述文件中包含在所述资源节点的节点 类型中的抽象方法, 生成与所述资源节点的抽象方法对应的方法制品; 所述 方法制品与所述资源描述文件中的抽象方法之间的对应关系以及所述方法制 品信息在所述应用部署请求中的边界定义中描述。
结合第四方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述信息生成单元在所述部署请求单元向应用部署服务器发送所述请求生成 单元生成的所述应用部署请求之前, 生成应用节点的部署制品以及所述部署 制品的部署制品信息; 所述应用部署请求还包括: 应用节点的部署制品以及 所述部署制品的部署制品信息。
结合第四方面, 在第五种可能的实现方式中, 所述信息生成单元在生成 应用节点的部署制品以及所述部署制品的部署制品信息之前, 进一歩用于确 定所述信息获取单元获取的所述资源描述文件中的应用节点用抽象标识关键 字标注, 并且所述资源描述文件不包括所述应用节点的部署制品信息。
第五方面, 提供一种应用部署服务器, 包括: 通信接口、 处理器; 存储 器;
所述网络接口用于与外部设备进行通信, 接收应用部署请求, 所述应用 部署请求包括资源包的资源包标识、 至少一个方法制品、 所述每个方法制品 与所述资源包中资源描述文件描述的一个抽象方法之间的对应关系、 以及所 述每个方法制品的方法制品信息;
所述存储器存储应用程序;
所述处理器调用所述存储器中存储的应用程序, 根据所述资源包标识获 取所述资源包, 所述资源包包括: 所述资源描述文件和部署计划; 所述资源 描述文件描述了所述抽象方法, 所述部署计划引用了所述抽象方法; 根据所 述每个方法制品与所述资源包中资源描述文件描述的一个抽象方法之间的对 应关系, 将所述方法制品信息增加到所述资源描述文件中以形成应用部署描 述文件; 根据所述应用部署描述文件执行所述部署计划引用的抽象方法的方 法制品。
第六方面, 提供一种应用部署设备, 包括: 通信接口、 处理器; 存储器; 所述通信接口用于与外部设备进行通信, 获取待部署应用的资源包的资 源包标识, 根据所述资源包标识获取资源包的资源描述文件, 所述资源描述 文件中描述了至少一个抽象方法;
所述存储器存储应用程序;
所述处理器调用所述存储器中存储的应用程序, 根据所述资源描述文件 描述的至少一个抽象方法, 生成与每个所述抽象方法对应的方法制品; 生成 应用部署请求, 所述应用部署请求包括所述资源包标识、 所述每个方法制品 与所述资源描述文件描述的一个抽象方法之间的对应关系、 每个方法制品的 方法制品信息和所述方法制品;
所述通信接口进一歩用于向应用部署服务器发送所述应用部署请求。 本发明提供的应用部署方法和设备的技术效果是: 通过在资源包中设置 抽象方法, 部署应用的用户只需要提供与该抽象方法对应的方法制品即可满 足用户的自身需求, 所以相对于现有技术提高了应用部署的可扩展性。 附图说明 图 1A为本发明实施例提供的应用部署方法所基于的应用部署描述文件 描述的应用模板结构示意图;
图 1B为本发明实施例与图 1A对应的部署计划的结构示意图;
图 2为本发明实施例提供的应用部署方法中的应用部署描述文件描述的 应用拓扑示意图;
图 3为本发明实施例提供的应用部署方法的流程示意图;
图 4为本发明实施例提供的应用部署方法的流程示意图;
图 5为本发明实施例提供的应用部署方法的流程示意图;
图 6A为本发明实施例提供的应用部署方法中的资源描述文件的拓扑示 意图;
图 6B为本发明实施例提供的应用部署方法中的部署计划的示意图; 图 6C为本发明实施例提供的应用部署方法中的应用内容包与资源包的 对应示意图;
图 7为本发明实施例提供的应用部署服务器的结构示意图;
图 8为本发明实施例提供的应用部署设备实施例的结构示意图; 图 9为本发明实施例提供的应用部署服务器的实体结构示意图; 图 10为本发明实施例提供的应用部署设备的实体结构示意图。
具体实施方式
本发明实施例提供的应用部署方法, 可应用于 T0SCA标准也可以应用于 其他方面, 而并不局限于 T0SCA标准。
在本发明实施例中, 部署一个应用所需的信息在应用部署服务器中名为 云服务档案 (Cloud Service Archive , 简称: CSAR) 的应用部署包中描述。 应用部署包至少包含一个后缀为 ste的应用部署描述文件, 该 *. ste的应用 部署描述文件可以用 XML语言描述应用的部署信息, 该 *. ste的应用部署描 述文件的根元素为应用模板 Service Template o 也就是说本发明实施例中可 以用 ServiceTemplate来完整描述需部署的应用的信息。 *. ste的应用部署 描述文件的子元素包括拓扑模板 TopologyTemplate、节点类型 NodeType、节 点模板 NodeTemplate、 关系类型 RelationshipType、 关系模板
RelationshipTemplate, 边界定义 BoundaryDef initions等。 应用部署描述 文件中的根元素及子元素的关系如图 1A所示, 图 1A为本发明实施例提供的 应用部署方法所基于的应用部署描述文件描述的应用模板结构示意图。
如图 1A所示, 本发明实施例使用 TopologyTemplate来描绘一个应用拓 扑。 该应用拓扑中包含了分别针对 al、 a2、 a3和 a4四个节点的节点模板, 即每个节点模板表述一个节点。 每个 NodeTemplate的类型由 NodeType定义 (NodeTemplate的 type属性描述了该 NodeTemplate对应的 NodeType ) 。 NodeType定义了节点的属性 (用 Properties定义) 、 该节点的接口 (用接 口集合 Interfaces定义)等,而 NodeTemplate是 NodeType的实例。 Node type 中的接口集合 Interfaces可包含至少一个接口 Interface,而每个 Interface 中可包含一个或多个方法 (即 Operation) , 每个方法对应一个方法制品。 其中, 节点的方法是指操作该节点所需要的功能函数。例如, 一个典型的 Web 应用中包含应用服务器节点, 在部署该应用过程中需要对应用服务器的配置 文件进行配置(如设置数据库服务器的 IP地址和端口号) , 那么这个配置过 程可以封装成一个方法 (即 Operation) , 方法名为 config (即 Operation name ) , 参数为 DBIP (数据库服务器的 IP地址)和 DBP0RT (数据库服务器的 端口号) 。 方法制品是指上述方法对应的具体实现, 可以是一个可执行文件, 如脚本文件。 例如, 在上面的例子中, 方法 config的方法制品可以是 config. javao 同时, 每个节点都对应一个部署制品, 该部署制品是指该节点 的一个安装包或文件, 可以是一个镜像 image或一个可安装的软件包等; 例 如, Web 应用节点的部署制品是 WAR包。 每个 NodeType对应一个节点类型执行 (NodeType Implementation: 简 称 NTI ), NTI描述了该 NodeType对应的节点的部署制品以及 NodeType中的 Interface中包含的所有方法的方法制品的信息。 例如, 参见图 1A, 节点 al 的节点模板对应 NodeType中的 Interfaces中的每个 Interface描述了至少 一个方法, 每个方法对应一个方法制品; 而 NodeType对应的 NTI中则描述了 针对节点 al的部署制品以及所述的 NodeType中的 Interface中包含的所有 方法的方法制品的信息。
应用拓扑 TopologyTemplate中的连接节点的每条边都是一个
RelationshipTemplate。而 RelationshipTemplate为现有技术, 本发明实施 例在此不再详述。
每个应用部署包还包括部署计划 (Plan) , 如图 1B所示, 图 1B为本发 明实施例与图 1A对应的部署计划的结构示意图, 部署计划是可执行的工作 流, 实际上是由多个被引用的方法组成的工作流。 工作流中的每个歩骤要执 行的任务都是 NodeType中定义的方法,可以用标准化语言描述,如用 BPMN2. 0 描述。执行该工作流实际上就是执行组成该工作流的各方法对应的方法制品。 在执行部署计划时, 应用部署服务器根据部署计划的定义按序逐个运行各任 务对应的方法对应的方法制品。 例如参见图 1B, 该 plan中包括任务 cl、 c2 和 c3.按照 plan中的定义, 在执行该 plan时, 执行顺序是先执行任务 cl, 再执行任务 c2, 然后执行任务 c3; 而所述的 cl、 c2和 c3即是 NodeType中 的 interface对应的方法。 而在执行该方法时实际上是执行该方法对应的方 法制品, 比如在执行所述 c l时, 实际是执行 cl对应的方法制品。 而方法和 方法制品的对应关系定义在应用部署描述文件中的 NTI中。 因此, 应用部署 服务器可以根据应用部署描述文件中的 NTI中方法和方法制品的对应关系, 执行 NTI中 cl对应的方法制品。
另夕卜, 每个 ServiceTemplate中者附括边界 (用 BoundaryDefinitions 定义), ServiceTemplate内部定义的一些组件都在该 BoundaryDefinitions 内呈现给用户; 所述的组件即是上述的 NodeTemplateN 部署制品、 方法制品 等。
由上述说明可知, 一个应用部署包中包含了部署该应用所需要的信息, 应用部署描述文件、 部署计划、 节点的部署制品和各方法的方法制品。 其中, 应用部署描述文件描述了应用的完整拓扑、 拓扑中节点的部署制品信息、 拓 扑中节点的方法和方法制品信息, 该应用部署包还包括。
图 2为本发明实施例提供的应用部署方法中的应用部署描述文件描述的 应用拓扑示意图。 通常部署一个典型的 WEB应用, 其完整的应用拓扑可以包 含应用内容拓扑和资源拓扑两部分。 比如图 2中所示的, 该应用拓扑中包括 针对 AppWar、 DB、 Apache和 MySql四个节点的节点模板。 其中, AppWar和 DB是应用节点 (其部署制品分别为 War包和数据库文件) , AppWar和 DB这 两个节点的模板构成了应用内容拓扑; Apache和 MySql是资源节点 (其部署 制品分别为包含 Apache和 MySql软件的镜像文件) , Apache和 MySql这两 个节点构成了资源拓扑。
本发明实施例中, 应用拓扑中也包括应用节点和资源节点两种。 为了提 高应用部署的可扩展性,使得 CSC的应用部署设备 AD能够引入第三方监控对 自己的云计算资源进行实时监控, 本发明实施例设计了虚拟框架 (Virtual Framework, 简称: VF) 的应用部署模式。 在该 VF模式中, 资源包中包含抽 象方法以便 AD针对该抽象方法进行扩展。 也就是说, AD需要提供该抽象方 法的方法制品。 例如, 该方法制品是某程序文件 connectMonitor. py, 通过 执行该程序文件实现与第三方的监控。 因此, 通过将该程序文件作为方法制 品, 就可以实现第三方监控的引入, 满足 AD的需求。 当然, AD也可以扩展 其他需求, 同样只需提供与该需求对应的方法制品作为上述抽象方法的方法 制品即可。
图 3为本发明实施例提供的应用部署方法的流程示意图, 本实施例的方 法的执行主体是应用部署服务器, 如图 3所示, 该方法可以包括:
301、 接收应用部署请求, 所述应用部署请求包括资源包的资源包标识、 至少一个方法制品、 所述每个方法制品与所述资源包中资源描述文件描述的 —个抽象方法之间的对应关系、 以及所述每个方法制品的方法制品信息; 具体的, 所述每个方法制品与所述资源包中资源描述文件描述的一个抽 象方法之间的对应关系、 以及所述每个方法制品的方法制品信息可以在应用 部署描述文件中描述。 方法制品、 应用部署描述文件由应用内容包包括, 而 应用部署请求包含应用内容包和资源包标识。
其中, 应用部署服务器可以是负责部署应用的服务器, 该应用部署服务 器接收应用部署设备 AD发送的应用部署请求,所述应用部署请求包括资源包 的资源包标识、 至少一个方法制品、 所述每个方法制品与所述资源包中资源 描述文件描述的一个抽象方法之间的对应关系、 以及所述每个方法制品的方 法制品信息。 也就是说, 在应用部署请求中, 一个方法制品是与资源描述文 件描述的一个抽象方法对应的。
具体的,资源包是由资源提供者开发提供并已在应用部署服务器上注册。 应用部署服务器在资源包提供者注册资源包时为资源包创建的唯一 ID称为 资源包标识。该资源包是 VF模式下的资源包, 其中包含了使用该资源包所需 要的信息, 例如资源描述文件和部署计划; 其中资源描述文件描述了抽象方 法, 而部署计划中引用所述抽象方法。 抽象方法是在资源描述文件中缺少方 法制品信息, 且资源包中没有为该抽象方法定义方法制品。 因为一般的方法 在资源描述文件中是有其对应的方法制品信息的, 而本实施例定义的抽象方 法没有方法制品信息。
在发送应用部署请求之前, AD在应用部署服务器上搜索待部署应用的资 源包并获得该资源包的标识。 并通过向资源包标识获取资源包描述的资源描 述文件。 具体的, AD向应用部署服务器发送资源包获取请求, 所述资源包获 取请求中携带资源包标识; 接收应用部署服务器发送的与资源包标识对应的 资源包, 并从所述资源包中获取所述资源描述文件。 作为一种可选方式, AD 还向应用部署服务器发送资源描述文件获取请求, 所述资源描述文伯获取请 求中携带资源包标识; 接收应用部署服务器发送的与资源包标识对应的资源 包包含的资源描述文件。
在具体实现过程中, 资源包获取请求可以为 getResourcePackage请求, 并在该请求中携带资源包标识。 而资源描述文件获取请求可以为
getdescriptiondocument, 并在该请求中携带资源包标识。
AD在获取到资源描述文件后, 根据资源描述文件中对所需数据的描述, 提供使用该资源包所需要的数据: 如提供资源描述文件描述的抽象方法的方 法制品, 和 /或提供应用节点的部署制品。 具体的, AD根据对资源描述文件 中对抽象方法的描述生成对应的方法制品。 值得说明的是, AD生成方法制品 的过程属于用户编程过程, 本发明实施例在此不作详述。 AD会将生成的包括 方法制品和 /或部署制品, 以及描述这些数据的信息(如应用内容描述文件), 以应用内容包的形式携带在部署请求中, 并将资源包的资源包标识也携带在 部署请求中发送至应用部署服务器。
302、 根据所述资源包标识获取所述资源包, 所述资源包包括: 所述资源 描述文件和部署计划; 所述资源描述文件描述了所述抽象方法, 所述部署计 划引用了所述抽象方法;
在本歩骤中, 应用部署服务器根据应用部署请求中携带的资源包标识, 获取资源包, 所述资源包包括资源描述文件和部署计划; 所述资源描述文件 中描述了抽象方法, 所述部署计划引用了所述抽象方法。
进一歩的, 该资源描述文件中还描述了应用节点和资源节点; 所述抽象 方法的描述包含在所述应用节点和 /或所述资源节点的节点类型中。
303、根据所述每个方法制品与所述资源包中资源描述文件描述的一个抽 象方法之间的对应关系, 将所述方法制品信息增加到所述资源描述文件中以 形成应用部署描述文件;
可选的, 所述抽象方法包含在所述应用节点的节点类型中, 所述应用部 署请求包含应用节点的节点类型执行 NTI , 所述方法制品与所述资源包中资 源描述文件描述的抽象方法之间的对应关系在所述应用节点的节点类型执行 NTI中描述;所述将所述方法制品信息增加到资源描述文件中具体为: 将所述 应用节点的 NTI增加到资源描述文件中。
可选的, 所述抽象方法包含在所述资源节点的节点类型中, 所述应用部 署请求中包含边界定义, 所述方法制品与所述资源包中资源描述文件描述的 抽象方法之间的对应关系在所述边界定义中描述;所述将所述方法制品信息 增加到资源描述文件具体为: 将所述边界定义中描述的所述方法制品信息增 加到资源描述文件的资源节点的 NTI中。
进一歩的, 应用部署服务器还可以将方法制品增加到资源包中。 值得说 明的是: 应用节点的节点类型执行 NTI和边界定义可以包含在应用内容描述 文件中。
进一歩的, 当将抽象方法的方法制品信息增加到所述资源描述文件中之 后,还可以修改资源描述文件中节点类型描述的抽象方法的属性为普通方法。
进一歩的, 在执行该歩骤之前, 应用部署服务器可以根据以下方法资源 描述文件中是否定义了抽象方法: 确定所述资源描述文件中的方法用抽象标 识关键字标注, 且所述资源描述文件不包括所述方法的方法制品信息, 则确 定所述资源描述文件中描述的用抽象标识关键字标注的方法是抽象方法。
进一歩的, 所述应用部署请求还包括: 应用节点的部署制品以及所述部 署制品的部署制品信息; 在所述根据所述资源包标识获取所述资源包之后该 方法还包括: 将所述应用节点的部署制品信息增加到所述资源包的所述资源 描述文件中所述应用节点对应的节点类型执行 NTI中, 以及将所述应用部署 请求中所述应用节点的部署制品作为所述资源描述文件中应用节点的部署制 p
304、根据所述应用部署描述文件执行所述部署计划引用的抽象方法的方 法制品。
具体的, 所述应用部署描述文件定义了所述抽象方法, 而部署计划引用 了抽象方法 (即包含各抽象方法的名称) 。 部署计划实际上是由多个方法组 成的工作流, 执行该工作流实际上就是执行组成该工作流的各方法对应的方 法制品。 具体到抽象方法, 则是执行该抽象方法对应的方法制品, 而该方法 制品是 AD开发提供的, 所以执行该第一部署计划就可以引入了 AD利用该方 法制品扩展的自己的需求, 例如第三方监控。
在执行该歩骤之前, 应用部署服务器还可以根据应用部署描述文件、 资 源包和应用部署请求分别包含的各部署制品和方法制品, 以及资源包中的部 署计划生成应用部署包。 所述应用部署包包括所述部署计划, 所述应用部署 描述文件各部署制品和方法制品。其中, 方法制品包括抽象方法的方法制品。
本实施例的应用部署方法, 通过在资源包中设置抽象方法, 部署应用的 用户只需要提供与该抽象方法对应的方法制品即可满足用户的自身需求, 所 以相对于现有技术提高了应用部署的可扩展性。
图 4为本发明实施例提供的应用部署方法的流程示意图, 本方法的执行 主体是应用部署设备例如 AD, 如图 4所示, 该方法可以包括:
401、获取待部署应用的资源包的资源包标识, 根据所述资源包标识获取 资源包的资源描述文件, 所述资源描述文件中描述了至少一个抽象方法; 资源包包括: 资源描述文件和部署计划; 所述资源描述文件描述了至少 一个抽象方法。
如图 6B所述, 资源包中的部署计划引用了所述至少一个抽象方法, 如图 6B中 6和 7对应的方法。
具体的, 应用部署设备 AD在部署应用前, 可以通过界面搜索获取资源包 标识, 并通过向应用部署服务器发送资源包获取请求, 所述资源包获取请求 中携带资源包标识; 接收应用部署服务器发送的与资源包标识对应的资源 包, 并从所述资源包中获取所述资源描述文件; 作为一种可选方式, 应用部 署设备 AD可以向向应用部署服务器发送资源描述文件获取请求,资源描述文 件所属的资源包的资源包; 接收应用部署服务器发送的与资源包标识对应的 资源包包含的资源描述文件。
402、根据所述资源描述文件描述的至少一个抽象方法, 生成与每个所述 抽象方法对应的方法制品、 与所述方法制品的方法制品信息, 以及所述每个 方法制品与所述资源描述文件描述的一个抽象方法之间的对应关系;
具体的, AD在获取资源描述文件后, 根据所述资源描述文件中对抽象方 法的描述, 开发提供了与该抽象方法对应的方法制品, 并且是一个抽象方法 对应一个方法制品。
AD还描述了所述每一个方法制品与所述资源描述文件描述的一个抽象方 法之间的对应关系, 以及每个方法制品的方法制品信息。 具体的, 所述资源 描述文件描述了应用节点,所述抽象方法包含在所述应用节点的节点类型中; 述根据所述资源描述文件描述的至少一个抽象方法生成与每个所述抽象方法 对应的方法制品, 包括: 根据所述资源描述文件中包含在所述应用节点的节 点类型描述的抽象方法, 生成与所述应用节点的抽象方法对应的方法制品; 该方法进一歩包括: 根据所述资源描述文件中描述的应用节点在应用部 署请求中描述所述应用节点;
所述方法制品与所述资源描述文件描述的抽象方法之间的对应关系以及 所述方法制品信息在所述应用部署请求中描述的应用节点的节点类型执行 NTI中描述。
可选的, 所述资源描述文件还描述了资源节点; 所述抽象方法包含在所 述资源节点的节点类型中;所述根据所述资源描述文件描述的至少一个抽象 方法生成与每个所述抽象方法对应的方法制品, 包括: 根据所述资源描述文 件中包含在所述资源节点的节点类型描述的抽象方法, 生成与所述资源节点 的抽象方法对应的方法制品; 所述方法制品与所述资源描述文件描述的抽象 方法之间的对应关系以及所述方法制品信息在所述所述应用部署请求中的边 界定义中描述。
作为一种实施方式, 应用节点的节点类型执行 NTI , 以及边界定义都包 含在应用内容描述文件中, 应用部署请求包含应用内容描述文件。
此外, AD还确定所述资源描述文件中的应用节点用抽象标识关键字标注, 并且所述资源描述文件不包括所述应用节点的部署制品信息,则 AD根据所述 资源描述文件生成应用节点的部署制品以及所述部署制品的部署制品信息, 所述应用部署请求还包括: 应用节点的部署制品以及所述部署制品的部署制 自 值得说明的是,节应节点的部署制品信息也包含在应用节点的节点类型执 行 NTI。
403、 生成应用部署请求, 所述应用部署请求包括所述资源包标识、 所述 每个方法制品与所述资源描述文件描述的一个抽象方法之间的对应关系、 每 个方法制品的方法制品信息和所述方法制品; 向应用部署服务器发送所述应 用部署请求。
其中, 所述应用部署请求包括所述资源包标识、 所述每个方法制品与所 述资源描述文件中的一个抽象方法之间的对应关系、 每个方法制品的方法制 品信息和所述方法制品, 以使得所述应用部署服务器根据所述资源包标识获 取所述资源包, 并根据所述资源包和应用部署请求生成用于部署所述应用的 应用部署包, 所述应用部署包中包括应用部署描述文件、 部署计划、 抽象方 法对应的方法制品, 从而使得应用部署服务器根据应用部署描述文件在执行 所述部署计划时就会执行所述抽象方法对应的方法制品。该方法制品是 AD为 抽象方法提供的,从而实现了 AD通过提供抽象方法对应的方法制品的方式引 入 AD自己的需求。
进一歩的, AD生成应用节点的部署制品以及所述部署制品的部署制品信 息之前, 该方法还包括: 确定所述资源描述文件中的应用节点用抽象标识关 键字标注, 并且所述资源描述文件不包括所述应用节点的部署制品信息。
图 5为本发明实施例提供的应用部署方法的流程示意图, 本实施例对应 用部署方法的详细完整的流程进行描述, 包括获取资源描述文件、 AD如何根 据资资源描述文件生成应用部署请求中携带的内容、 以及应用部署服务器如 何根据资源包和应用内容包生成应用部署包并执行部署计划的整个过程。 如 图 5所示, 该方法包括:
501、获取待部署应用的资源包的资源包标识, 根据所述资源包标识获取 资源包的资源描述文件;
其中, 假设 AD在应用部署服务器上搜索资源, 以部署一个 WEB应用。 例 如, 在部署该 WEB应用时, 需要使用到数据库 DB和应用包 War。 并假设 AD 找到的符合需求的资源包的标识是 MoniRes , 该资源包的完整拓扑可以参见 图 6A, 该资源包包含的部署计划参见图 6B。 图 6A为本发明实施例提供的应 用部署方法中的资源描述文件的拓扑示意图, 图 6B为本发明实施例提供的应 用部署方法中的部署计划的示意图。 如图 6A所示, 该资源描述文件含节点 War— A、 DB— A、 Apache和 Mysql的节点模板。 其中, Apache和 MySql为资源 节点, Apache的 NodeType为 ApacheServer, 以及 Apache的
NodeTypelmplementation (NTI )为 ApacheServerNTL MySql的 NodeType为 MySQLServer, 以及 MySql的 NodeTypelmplementation (NTI ) 为
MySQLServerNTI o ApacheServer和 MySQLServer这两个 NodeType中各定义 一个抽象方法 (该抽象方法可以是在 NodeType中的 Interface中定义的) , 名为 startMonitor (该抽象方法是在本实施例中举例的名字, 具体实施中当 然也可以是其他的方法名称) 。 也就是说, 两资源节点各包含一个名为 startMonitor的抽象方法。
本实施例中, 抽象方法的定义可包含在节点的 NodeType中, 其具体的定 义方式可以为: 给方法 Operation添加一个可选的, Optional的属性, 如抽 象 abstract , 若该属性值为 yes , 则表示该方法为抽象方法; 若为 no , 则为 普通方法; 默认为 no。 具体定义方式为:
<Interfaces>
<Interface name= " string")
< Operation name= string " abstract= "yes | no " />
Figure imgf000019_0001
如上所示, 方法 Operation定义在 Interfaces的 Interface下, 方法名 用名字 name属性描述, 也就是说方法名就是上述的 Operation name的对 string字段的取值。 属性 abstract表示该名为 string字段的取值的方法是 否为抽象方法。 参见上述的定义例子, 其含义是, 在 Interfaces中包含一个
Interface , 该 Interface的名禾尔 ( Interface name ) 是对 string字段的耳又 值, 在该 Interface中又包含一个方法, 该方法名称也是对 string字段的取 值 ( Operation name= string ) , 并且该方法的 abstract属性耳又值为 yes , 即该方法 string是抽象方法。 例如, 上述的 Apache节点和 MySql节点的抽 象方法 startMoni tor可定义为:
<Interfaces>
<Interf ace name= "monitor ">
< Operation name= " startMonitor" " abstract= "yes " 〃 /〉
</Interf ace>
</Interfaces>
如上所示, 由于方法 startMonitor的属性 abstract的值为 yes , 故该 startMonitor方法为抽象方法。
另外, 为了给抽象方法指定方法制品, 所以本实施例将两个资源节点的 抽象方法包含在资源描述文件的边界 BoundaryDef initions中以呈现给用 户。 而在 BoundaryDef init ions中包含的 Operation定义在独立 Interface , 并且能够映射至节点类型中的 interface。 例如, Apache节点和 MySql节点 的抽象方法 startMonitor在 BoundaryDef initions中的描述方式为:
<Interfaces>
< Interface name= "monitor— boundary,, >
< Operat ion name= " startMonitor— MySql〃〉
<NodeOperation nodeRef= " MySql " interfaceName= "monitor " operationName= " startMonitor"/)
</ Operation >
< Operation name= " startMonitor— Apache
<NodeOperation nodeRef= " Apache " interfaceName= "monitor" operationName= " startMonitor"/)
</ Operation >
</ Interface >
</ Interfaces)
···. II 其他定义
</ BoundaryDefinitions)
如上所示, BoundaryDefinitions中定义 Interfaces禾口 Interface, Interface的名称 name为 "监听边界: monitor— boundary,, 。 该名为 monitor— boundary 的 Interface描述了两个 Operation, 分另 lj为
startMonitor MySql和 startMonitor— Apache, 表示该两个方法为分别针对 MySql和 Apache 节点的抽象方法。 startMonitor— MySql定义了一个
NodeOperation, 表示 startMonitor— MySql映射至该 NodeOperatior
NodeOperation包含 3个属性, 用于指向一个方法, nodeRef描述节点名, interfaceName描述接口名, operationName描述方法的名称。例如,此例中, startMonitor MySql 对应 MySql节点中 monitor接口中的 startMonitor方 法, 而 startMonitor Apache 对应 Apache节点中 monitor接口中的 startMonitor方法。 比如, 结合上面的对于 MySql节点的抽象方法
startMonitor的定义, 以及附图 6A所示, 该节点 MySql对应的 Nodetype是 MySQLServer, 该 MySQLServer中包含名称为 "monitor 〃的 Interface。 在 该 Interface "monitor 〃下定义了名称为 " startMonitor"的抽象方法
( abstract的属性为 yes ) ; 那么, 按照上述的在 BoundaryDefinitions呈 现的名称为 " startMonitor〃的抽象方法, 其通过 NodeOperation映射到(或 者说对应到) MySQLServer中的抽象方法。 映射的方法就是如上所示的, 节 点名 (nodeRef ) 是 " MySql " (指出了节点名即可, 就知道抽象方法是在该 节点对应的 Nodetype中的 interface定义的) , 接口名 ( interfaceName ) 是 "monitor" , 方法名 ( operationName ) 是 " startMonitor" , 这样京尤建 立了 BoundaryDefinitions中的抽象方法与实际节点的抽象方法之间的映射 关系。 Apache节点中的抽象方法的映射道理相同, 不再赘述。
如图 6A所示, Apache节点和 MySql节点的抽象方法 startMonitor都已 包含在图 6B部署计划 Bui ldPlan中, 例如, 图 6B的部署计划 Bui ldPlan引 用了:
"Apache. instal lApp― MySql. start― MySql. instal lDB― MySql. getNetwor kinf o一 Apache, conf ig一 Apache. startMonitor― MySql. startMonitor― Apa che. start " ; 该 Bui ldPlan中包含了 Apache— startMonitor和
MySql— startMonitor,所以 AD需提供分别针对这两个抽象方法的方法制品即 可在 Bui ldPlan中调用。
如图 6A所示, War— A节点和 DB— A节点的 NodeType分别为 WebApp— A和 AppDB— A, WebApp— A和 AppDB— A中没有定义方法, 也就是说, 两抽象应用节 点 War— A和 DB— A的节点类型中不包含任何方法。 因此, War— A和 DB— A的节 点类型为抽象 NodeType ( abstract NodeType ) , 故该两节点为抽象应用节 点。 由于抽象应用节点的 NodeType中并不包含部署制品以及 Node Type中定 义的 Operation都是抽象方法。 因此, AD需提供抽象应用节点的部署制品, 和 Operation的方法制品。 由于在图 6A所示的例子中, WebApp— A和 AppDB— A 中没有定义方法, 因此, AD只需提供两抽象应用节点的部署制品即可。并且, 如上所述的, 抽象方法在资源描述文件中用抽象标识 abstract标注, 并该节 点的在 NTI中不包含对应的方法制品的内容。 抽象应用节点在资源描述文件 中也用抽象标识 abstract标注,且在资源描述文件中也不包含该节点的部署 制品信息。 即抽象应用节点是没有对应的部署制品的应用节点, 并且如果抽 象应用节点包含方法, 则抽象应用节点包含的所有方法为抽象方法。 作为一 种可选方案, 抽象应用节点包含的抽象方法可以不用抽象标识 abstract标 注。
参见上述的图 6A, 资源包中包含使用该资源包所需要的信息, 其中包括 描述图 6A中所示拓扑信息的资源描述文件、 以及图 6B所示的部署计划等, 该资源描述文件描述了应用拓扑、 抽象应用节点、 资源节点。 需要说明的是, 本实施例是以资源节点包含抽象方法(即抽象方法是在资源节点的 Nodetype 中的 Interface中定义的) 为例进行说明。 具体实施中, 抽象方法可以包含 在抽象应用节点和 /或资源节点中 (和 /或, 表示至少包含在抽象应用节点和 资源节点的任一方) , 并且部署计划中使用了抽象方法。
由上述的描述可知, AD使用资源包还需要提供的数据包括: 应用节点的 部署制品、 所有抽象方法 (本实施例是以资源节点有抽象方法为例) 的方法 制品 (如上所述, 抽象方法没有方法制品, 需要提供) , 为了区别抽象应用 节点中抽象方法的方法制品和资源节点中抽象方法的方法制品, 可以将抽象 应用节点中抽象方法的方法制品称为应用方法制品, 将资源节点中抽象方法 的方法制品称为资源方法制品。
502、 AD解析资源包的资源描述文件, 描述与资源包中的节点对应的节 点;
其中, AD解析资源包 MoniRes的资源描述文件, 获取资源描述文件的 NodeType为 WebApp— A和 AppDB— A以及应用节点 War— A和 DB— A中携带抽象标 识关键字, 分别创建应用节点的节点类型 WebApp和 AppDB。 其中, 节点类型 WebApp包含了 WebApp— A的所有内容, AppDB也包含了 AppDB— A的所有内容。
WebApp的 NodeTemplate 是 AppWar, AppDB的 NodeTemplate是 DB。 AppWar 和 DB就是应用节点。
可选的, 参见图 6C所示, AD可以进一歩创应用内容描述文件, 并将上 述创建的节点模板, 节点类型及 NTI包含在应用内容描述文件中。
参见图 6C, 图 6C为本发明实施例提供的应用部署方法中的应用内容包 与资源包的对应示意图。 由于 WebApp和 AppDB的节点类型包含了 WebApp— A 和 AppDB— A的所有内容, 应用节点 AppWar和 DB的 NodeType分别为 WebApp 和 AppDB, 抽象应用节点 War— A和 DB— A的 NodeType分别为 WebApp— A和 AppDB— A。所以, 应用节点 AppWar和 DB分别对应于资源描述文件中的应用节 点 War— A和 DB— Ao
503、 AD创建 WebApp和 AppDB的 NTI , 并在 NTI中描述 AppWar和 DB的 部署制品;
其中, AD在应用内容描述文件中创建 WebApp和 AppDB的 NTI (NTI中可 以描述 NodeType的部署制品和方法制品信息),分别为 WebAppNTI和 AppDBNTI (见图 6C ) 。 AD还在 WebAppNTI和 AppDBNTI中分别描述部署制品 app. war 和 app. db。由于应用节点 AppWar和 DB的 NodeType分另 lj为 WebApp和 AppDB, 而 WebAppNTI和 AppDBNTI分别是 WebApp和 AppDB的 NTI , 所以上述的部署 制品 app. war和 app. db是分别对应应用节点 AppWar和 DB的部署制品。
另外, 由于应用节点 AppWar和 DB分别对应于资源描述文件中应用节点 War— A和 DB— A。所以, 在 WebAppNTI和 AppDBNTI中描述的 AppWar和 DB的部 署制品 app. war和 app. db的信息对应于应用节点 War— A和 DB— A的部署制品 信息。 而由于本实施例的应用节点 War— A和 DB— A不包含任何方法, 所以 WebAppNTI和 AppDBNTI中只描述了部署制品信息。 如果资源包的 War— A和 DB— A的 NodeType中定义了抽象方法, 则在 WebAppNTI和 AppDBNTI中也要描 述抽象方法的方法制品信息, 如描述抽象方法和方法制品的对应关系, 即在 应用内容描述文件中的与抽象应用节点对应的应用节点的 NTI中描述方法制 品与资源包中资源描述文件中的抽象应用节点的抽象方法之间的对应关系。
504、 AD在应用内容描述文件中的 BoundaryDefinitions中描述资源包 中资源节点的节点类型中定义的抽象方法的方法制品信息以及方法制品与资 源描述文件中的抽象方法的对应关系;
由于本实施例中, 资源包的抽象方法为资源节点的节点类型中定义的抽 象方法, 通过 BoundaryDefinitions呈现给用户。 而针对抽象方法的方法制 品信息也描述在应用内容描述文件中的 BoundaryDefinitions , 即在应用内 容描述文件中的边界定义 BoundaryDefinition中描述方法制品与资源包中 资源描述文件中的资源节点的抽象方法之间的对应关系。
其中, AD在上述应用内容描述文件中的 BoundaryDefinitions中描述资 源节点 (即 Apache和 Mysql ) 定义的抽象方法 startMonitor的资源方法制 品 (即 connectMonitor. py)。本实施例采用如下方法在 BoundaryDefinitions 中描述方法制品。 具体的, 一种可选的方式为通过^ w ?c¾ /fe i ?i io ^中 的方 ifac ts描述如下:
Figure imgf000024_0001
name= " string,, interf aceName=
" string,, operationName=
artifactRef= " string " />
Figure imgf000024_0002
···. II 其他定义
</ BoundaryDefinitions) BoundaryDefinitions中的 ImplementationArtifacts下會够定义多个 ImplementationArtif act。每个 ImplementationArtifact描述 ^ ^个方法制品 的信息。 ImplementationArtifact具有 5个属性, 議 e属性为该
ImplementationArtifact的 ID, interfaceName为所描述的方法制品对应的 抽象方法在资源描述文件中 BoundaryDefinitions中的接口名;
operationName为所描述的方法制品对应的方法在资源描述文件中
BoundaryDefinitions中的方法名; artifactType为方法制品的类型, 其中, 方法制品的类型中包含了该方法制品的脚本文件的文件类型,例如 Python脚 本的方法制品类型为
"http : //docs. oasisopen. org/ tosca/ns/ScriptArtif act/Python" ; ar t i f ac t Ref为引用的方法制品的名称。
作为一个具体的例子, 方法制品 connectMonitor. py在应用内容描述文 件中 :
Figure imgf000025_0001
name= " startMonitorlA MySql interfaceName= " monitor— boundary ,, operationName " startMonitor MySql " artifactType
" http : //docs. oasisopen. org/tosca/ns/ScriptArtifact/Python " artifactRef= "connectMonitor. py" />
Figure imgf000025_0002
name= " startMonitorlA Apache interfaceName= " monitor— boundary ,, operationName " startMonitor Apache ,, artifactType
" http : //docs. oasisopen. org/tosca/ns/ScriptArtifact/Python " artifactRef= "connectMonitor. py" />
Figure imgf000025_0003
</ BoundaryDefinitions) connectMonitor. py对应的资源描述文件中的抽象方法为
startMonitor。节点 MySql的节点模板中的 startMonitor在资源描述文件中 BoundaryDef initions的接口名禾口方法名分另 lj为 monitor— boundary禾口 startMonitor— MySql。 因此, 针对 MySql节点的抽象方法 startMonitor的 ImplementationArtif act的 interfaceName属性禾口 operationName属性的值 分别为 monitor— boundary禾口 startMonitor— MySql ; 由于 connectMonitor. py 为 Python脚本, 故 artifactType属性的值为
http : //docs. oasisopen. org/ tosca/ ns/ScriptArtif act/Python, 而 artifactRef属性的值为 connectMonitor. py (直接引用该程序文件) 。 针对 Apache节点的抽象方法 startMonitor的 ImplementationArtif act类似, 这 里不再赘。
505、 AD将上述创建的应用内容描述文件和部署制品 app. war和 app. db、 以及与抽象方法 startMonitor对应的方法制品 connectMonitor. py携带在应 用部署请求中发送给应用部署服务器, 其中应用部署请求中包含还资源包标 识;
其中, AD会在应用内容描述文件中的边界定义中描述 AD提供的方法制 品 connectMonitor. py与资源包中的抽象方法 startMonitor之间的对应关 系, 以及 connectMonitor. py的方法制品信息。 本实施例由于抽象方法是包 含在资源节点中, 所以应用内容描述文件描述的是方法制品与资源节点中的 抽象方法 startMonitor之间的对应关系。如果具体实施中资源包中具有包含 在抽象应用节点中的抽象方法, AD还需提供与该抽象应用节点的抽象方法对 应的应用方法制品, 并在应用内容描述文件中描述应用方法制品与抽象应用 节点中的抽象方法之间的对应关系。
506、 应用部署服务器接收 AD发送的应用部署请求, 并根据请求中携带 的资源包标识获取资源包;
其中, 应用部署服务器接收到 AD发送的应用部署请求, 该应用部署请求 至少包含资源包的资源包标识、 至少一个方法制品、 所述每个方法制品与所 述资源包中资源描述文件中的一个抽象方法之间的对应关系、 以及所述每个 方法制品的方法制品信息。 作为一个例子, 所述每个方法制品与所述资源包 中资源描述文件中的一个抽象方法之间的对应关系、 以及所述每个方法制品 的方法制品信息包含在应用内容描述文件中。
例如, 本实施例中,
资源包 ID为: MoniRes;
应用节点的部署制品: app. war和 app. db;
应用方法制品: 由于本实施例的抽象应用节点没有方法, 因此应用内容 包中没有应用方法制品;
资源方法制品: connectMonitor. py;
图 6C的应用内容描述文件。
应用内容描述文件描述了如下信息:
应用节点的部署制品信息: 应用节点 AppWar的部署制品 app. war, 应用 节点 DB的部署制品 app. db, 应用内容描述文件中描述的是这些部署制品的 信息; 应用节点的应用方法制品信息: 由于本实施例的抽象应用节点没有方 法, 因此应用内容描述文件没有应用节点的应用方法制品信息。
应用节点与所述资源描述文件中应用节点的对应关系: 应用节点 AppWar 和 DB分别对应于抽象应用节点 War— A和 DB— A (体现在应用节点 AppWar和 DB 的 NodeType分别包含应用节点 War— A和 DB— A的 NodeType ) ;
方法制品与所述资源包中资源节点抽象方法的对应关系: 资源方法制品 connectMonitor. py对应于资源节点 Apache和 MySql的抽象方法
startMonitor (由于本实施例采用 T0SCA描述, 抽象方法 startMonitor在 BoundaryDefinition中需要描述在新的 Interface和 Operation下, 所以, 方法制品 connectMonitor. py对应于抽象方法 startMonitor在
BoundaryDefinition中对应的 Interface禾口 Operation) 。
应用部署服务器根据资源包 ID获取的资源包。应用部署服务器获取的资 源包包含资源描述文件、 部署计划。 资源描述文件描述了该资源包能支持的 应用拓扑、 抽象应用节点、 资源节点和部署计划。 其中, 资源节点定义了抽 象方法, 部署计划使用了抽象方法。
例如, 本实施例中,
部署计划: 见图 6B;
此外, 资源描述文件还可以包括引用的部署制品和方法制品: 主要为资 源节点的部署制品和非抽象方法的方法制品, 与本实施例的流程关系不大, 这里不做赘述。
应用拓扑: 见图 6A;
应用节点: War— A和 DB— A;
资源节点: Apache和 MySql ;
应用节点和 /或资源节点定义了抽象方法:本实施例的抽象应用节点没有 定义方法, 资源节点 Apache和 MySql分别定义了一个抽象方法, 都叫做 startMonitor;
部署计划使用了抽象方法; 见图 6B, 部署计划 (即 BuildPlan) 的第 6、 7歩使用了名为 startMonitor的抽象方法。
507、将所述应用部署请求中所述应用节点的部署制品作为所述资源描述 文件中应用节点的部署制品。
具体的, 将所述部署制品信息增加到资源描述文件中。 进一歩的, 应用 部署服务器还可以将所述应用部署请求中所述应用节点的部署制品增加到 资源包中。
其中, 应用部署服务器将所述应用内容描述文件中描述的所述应用节点 的部署制品的信息, 拷贝到所述资源包的所述资源描述文件中所述抽象应用 节点对应的节点类型执行 NodeTypelmplementation中,作为所述抽象应用节 点的部署制品的信息。
具体的, 参见图 6C, 由于应用节点 AppWar和 DB的 NodeType (WebApp 和 AppDB) 分别包含了应用节点 War— A和 DB— A的 NodeType (WebApp— A和 DB— A) ) 。 而节点类型 WebApp和 AppDB的部署制品的信息都描述在对应的 NTI中 (即 WebAppNTI和 AppDBNTI ) 。故只需在资源包的资源描述文件中修 改 WebAppNTI和 AppDBNTI的 nodeType属性为 WebApp— A和 AppDB— A (即表示 WebAppNTI 和 AppDBNTI分别是 WebApp— A和 AppDB— A的 NTI ) , 然后修改 WebApp— A和 AppDB— A的属性为普通节点即可, 修改的方式例如是, 可以删除 WebApp— A和 AppDB— A的 abstract属性, 比如删除整个 abstract=yes; 或者 是将 abstract的属性修改为 no, 比如将 abstract=yes修改为 abstract=no0 表示现在原资源包中的抽象应用节点 War— A和 DB— A已经都具有了部署制品, 所以成为普通节点。
508、根据所述每个方法制品与所述资源包中资源描述文件中的一个抽象 方法之间的对应关系, 将所述方法制品信息增加到所述资源描述文件中以形 成应用部署描述文件;
应用部署服务器处理资源包中的资源节点的抽象方法: 根据方法制品与 所述资源节点包含的抽象方法的对应关系, 将所述抽象方法的方法制品信息 增加到资源描述文件中以形成应用部署描述文件;修改所述抽象方法的属性 为普通方法, 进一歩的可以将抽象方法的方法制品增加到资源包中。 其中的 将抽象方法的方法制品信息增加到资源描述文件中以形成应用部署描述文件 具体为: 将所述应用内容描述文件中边界定义中描述的方法制品与资源包中 资源描述文件中资源节点的抽象方法之间的对应关系增加到资源描述文件的 资源节点的 NTI中。
具体的, 由于资源包中资源节点的抽象方法 startMonitor定义在资源节 点的 NodeType中, 而通过在 BoundaryDef inition中通过新的 Interface和 Operation下呈现给用户。 而应用部署请求中资源节点的方法制品
connectMonitor. py在 BoundaryDef inition中的描述对应于抽象方法 startMonitor在 BoundaryDef inition中对应的 Interface禾口 Operatior 因 此, 具体的处理流程为:
第一歩: 获取应用部署请求中 (也可以是应用部署请求中应用内容描棕 文件中) BoundaryDef inition中的 ImplementationArtifact的
interfaceName和 operationName的值;
第二歩:在资源描述文件中的 BoundaryDef inition査找 NodeOperation。 其中, 査找的 NodeOperation的 Interface name禾口 Operation Name的值分 别等于从应用部署请求获取的 Interface Name和 Operation name的值; 第三歩: 获耳又所述 NodeOperation的 nodeRef、 interfaceName n operationName的值;
第四歩: 将应用部署请求中 BoundaryDef inition中的
ImplementationArtifact信息全部拷贝至资源描述文件中节点名为获取的 nodeRef值的节点的 NodeType的 NTI中的 ImplementationArtifacts项下, 并修改 NTI中的 ImplementationArtifact的属性 interfaceName和
operationName的值为所述 NodeOperation的 interfaceName禾口
operationName的值; 第五歩: 删除资源节点的节点类型中抽象方法的 abstract属性, 或修改 资源节点的节点类型中抽象方法的 abstract的取值。其中, 该抽象方法的节 点名为节点名为第三歩获取的 nodeRef 的值, 接口名为第三歩获取的 interfaceName的值, 方法名为第三歩获取的 operationName的值。
下面阐述处理 MySql中抽象方法 startMonitor的具体过程,处理 Apache 中抽象方法 startMonitor的具体过程类似:
资源包中 MySql的抽象方法 startMonitor在 BoundaryDef inition中的 描述可以参见前面所述, 而应用内容包中资源方法制品 connectMonitor. py 在 BoundaryDef inition中的描述在前面也已经描述过。
第一歩: 获取应用部署请求中 (也可以是应用部署请求中应用内容描棕 文件中) ImplementationArtifact的 interfaceName禾口 operationName的值 分别为 monitor— boundary禾口 startMonitor— MySql ;
第二歩:获耳又 NodeOperation,其中,该 NodeOperation的属性 Interface name禾口 Operation name的值分别为 monitor— boundary禾口
startMonitor— MySql的: 该 NodeOperation示例如下:
<NodeOperation nodeRef= "MySql " interfaceName= "monitor" operationName= " startMonitor"/
第三歩: 获取的 NodeOperation的属性 nodeRef interfaceName和 operationName的值分别为 MySql、 monitor禾口 startMonitor;
第四歩:将应用部署请求中的 ImplementationArtifact信息全部拷贝至
MySql的 NodeType ( §卩 ApacheServer) 的 NTI ( §卩 ApacheServerNTI ) 中, 然后将 ImplementationArtifact的属性 interfaceName禾口 operationName的 值分别修改为 monitor和 startMonitor;
第五歩: 删除 MySql中 monitor接口中 startMonitor方法的 abstract 属性, 或者修改 abstract属性的取值, 比如由 abstract=yes修改为 abstract=nO o
本实施例是以抽象方法包含在资源节点的节点类型中为例进行说明的, 当抽象方法包含在抽象应用节点的节点类型中时, 所述方法制品与所述资源 包中资源描述文件中的抽象方法之间的对应关系在所述应用节点的节点类型 执行 NTI中描述。 并且这种情况下, 将所述抽象方法的方法制品信息增加到 资源描述文件中以形成应用部署描述文件具体为: 将所述应用内容描述文件 中的与所述抽象应用节点对应的应用节点的 NTI增加到资源描述文件中以形 成应用部署描述文件。
509、应用部署服务器根据根据所述应用部署描述文件执行所述部署计划 引用的抽象方法的方法制品。
例如, 在本实施例中, 应用部署服务器将应用内容包中的部署制品 (即 app. war n app. db ) 、 和资源方法制品 (即 connectMonitor. py ) 拷贝至资 源包。 根据所述应用部署描述文件、 包含抽象方法的方法制品的资源包以及 所述部署计划生成应用部署包, 所述应用部署包包括所述部署计划、 所述应 用部署描述文件和抽象方法的方法制品。
本实施例中, AD为待部署的应用搜索到资源包 MoniRes后, 根据资源包 中资源描述文件对抽象方法的描述, 知道只要用程序实现了与第三方监控建 立连接的过程, 并将该程序文件 ( connectMonitor. py) 作为 Apache节点和 MySql节点的抽象方法 startMonitor的方法制品即可实现 AD需求; 通过在 资源包中设置抽象方法, 部署应用的用户只需要提供与该抽象方法对应的方 法制品即可满足用户的自身需求, 所以相对于现有技术提高了应用部署的可 扩展性。
值得说明的是, 本发明实施例还提供一种可选方案, 即 AD在获取待部署 应用的资源包的资源包标识, 根据所述资源包标识获取资源包的资源描述文 件后, 还可以根据资源描述文件描述的普通方法, 生成与普通方法对应的方 法制品、 所述方法制品的方法制品信息、 以及所述所述每个方法制品与所述 资源描述文件中的一个普通方法之间的对应关系,并在应用部署请求中 AD生 成的信息, 以便于应用部署服务器根据所述应用部署描述文件执行所述部署 计划引用的普通方法的方法制品时执行 AD发送的方法制品。
具体的, AD可以采用图 3-图 5所示的方法在应用部署请求中携带所述方 法制品的方法制品信息、 以及所述所述每个方法制品与所述资源描述文件中 的一个普通方法之间的对应关系。 如果该普通方法的方法制品是应用节点的 方法制品, AD可以在应用节点的 NTI中携带方法制品信息以及该方法制品与 资源描述文件中应用节点的该方法的对应关系。 如果该普通方法的方法制品 是资源节点的方法制品, AD可以在应用内容描述文件的边界定义中携带方法 制品信息以及该方法制品与资源描述文件中资源节点的该方法的对应关系。 应用部署服务器在收到 AD发送的应用部署请求后,可以根据应用部署请 求确定 AD发送的方法制品是针对资源描述文件中抽象方法的方法制品还是 针对资源描述文件中的普通方法的方法制品, 如果是针对资源描述文件中抽 象方法的方法制品, 应用部署服务器按图 2-图 5对应的实施例的相关歩骤处 理。 如果是针对资源描述文件中普通方法的方法制品, 应用部署服务器需要 先删除资源包中该普通方法的方法制品, 再将应用部署请求中携带的普通方 法的方法制品作为资源描述文件中该普通方法的方法制品。 进一歩的, 应用 部署服务器还可以删除资源描述文件中该普通方法的方法制品信息, 而将应 用部署请求中该普通方法的方法制品信息增加到资源描述中。 其中, 将应用 部署请求中该普通方法的方法制品信息增加到资源描述中的具体方法, 可以 参见图 3-图 5对应实施例的相应描述, 本发明实施例在不再详述。 作为另一 种可选方式, 应用部署请求中的普通方法的方法制品可以与资源包中的普通 方法的方法制品名称相同, 以及方法制品的信息也相同。 则应用部署服务器 可以直接将应用部署请求中的普通方法的方法制品作为应用部署时需执行的 方法制品即可。
图 7为本发明实施例提供的应用部署服务器的结构示意图, 该服务器可 以执行本发明任意实施例的方法, 如图 7所示, 该服务器可以包括: 请求接 收单元 71、 信息获取单元 72、 信息处理单元 73和应用部署单元 74; 其中, 请求接收单元 71, 用于接收应用部署请求, 所述应用部署请求包括资源 包的资源包标识、 至少一个方法制品、 所述每个方法制品与所述资源包中资 源描述文件描述的一个抽象方法之间的对应关系、 以及所述每个方法制品的 方法制品信息;
信息获取单元 72, 用于根据所述请求接收单元接收的所述应用部署请求 包括的所述资源包标识获取所述资源包, 所述资源包包括: 所述资源描述文 件和部署计划; 所述资源描述文件描述了所述抽象方法, 所述部署计划引用 了所述抽象方法;
信息处理单元 73, 用于根据所述请求接收单元接收的所述应用部署请求 包括的所述每个方法制品与所述资源包中资源描述文件描述的一个抽象方法 之间的对应关系, 将所述方法制品信息增加到所述信息获取单元获取的所述 资源包中包括的所述资源描述文件中以形成应用部署描述文件; 应用部署单元 74, 用于根据所述信息处理单元形成的所述应用部署描述 文件执行所述部署计划引用的抽象方法的方法制品。
进一歩的, 所述资源描述文件还描述了应用节点和资源节点; 所述抽象 方法的描述包含在所述应用节点和 /或所述资源节点的节点类型中。
进一歩的, 所述抽象方法包含在所述应用节点的节点类型中, 所述应用 部署请求包含应用节点的节点类型执行 NTI , 所述方法制品与所述资源包中 资源描述文件描述的抽象方法之间的对应关系在所述应用节点的节点类型执 行 NTI中描述;所述信息处理单元 73将所述方法制品信息增加到所述信息获 取单元 72获取的所述资源包中包括的所述资源描述文件中具体为:将所述应 用节点的 NTI增加到资源描述文件中; 或,
所述抽象方法包含在所述资源节点的节点类型中, 所述应用部署请求中 包含边界定义, 所述方法制品与所述资源包中资源描述文件描述的抽象方法 之间的对应关系在所述边界定义中描述;所述信息处理单元 73将所述方法制 品信息增加到所述信息获取单元 72获取的所述资源包中包括的所述资源描 述文件具体为: 将所述边界定义中描述的所述方法制品信息增加到资源描述 文件的资源节点的 NTI中。
进一歩的, 所述信息处理单元 73进一歩用于: 修改所述信息获取单元 72获取的所述资源包中包括的所述资源描述文件节点类型描述的抽象方法的 属性为普通方法; 和 /或, 将所述请求接收单元 71接收的所述应用部署请求 包含的方法制品增加到资源包中。
进一歩的, 所述应用部署请求还包括: 应用节点的部署制品; 所述信息 处理单元 73在所述信息获取单元 72根据所述资源包标识获取所述资源包之 后,还用于将所述请求接收单元 71接收的所述应用部署请求中所述应用节点 的部署制品作为所述信息获取单元 72获取的所述资源包中包括的所述资源 描述文件中应用节点的部署制品。
进一歩的, 所述应用部署请求还包括所述部署制品的部署制品信息; 所 述信息处理单元 73将所述请求接收单元 71接收的所述应用部署请求中所述 应用节点的部署制品作为所述信息获取单元 72获取的所述资源包中包括的 所述资源描述文件中应用节点的部署制品具体为: 将所述部署制品信息增加 到资源描述文件中; 以及, 将所述应用部署请求中所述应用节点的部署制品 增加到资源包中。
进一歩的, 所述信息处理单元 73在将所述请求接收单元 71接收的所述 应用部署请求包括的所述方法制品信息增加到所述信息获取单元 72获取的 所述资源包中包括的所述资源描述文件中以形成应用部署描述文件之前, 还 用于确定所述资源描述文件中用抽象标识关键字标注的方法是抽象方法。
图 8为本发明实施例提供的应用部署设备实施例的结构示意图, 该设备 可以执行本发明任意实施例的方法, 该设备例如是 AD; 如图 8所示, 该设备 可以包括: 信息获取单元 81、 信息生成单元 82、 请求生成单元 83和部署请 求单元 84; 其中,
信息获取单元 81, 用于获取待部署应用的资源包的资源包标识, 根据所 述资源包标识获取资源包的资源描述文件, 所述资源描述文件中描述了至少 一个抽象方法;
信息生成单元 82, 用于根据所述信息获取单元 81获取的所述资源描述 文件描述的至少一个抽象方法, 生成与每个所述抽象方法对应的方法制品、 与所述方法制品的方法制品信息, 以及所述每个方法制品与所述资源描述文 件描述的一个抽象方法之间的对应关系;
请求生成单元 83, 用于生成应用部署请求, 所述应用部署请求包括所述 信息获取单元 81获取的所述资源包标识、 所述信息生成单元 82生成的每个 方法制品与所述信息获取单元 81获取的所述资源描述文件描述的一个抽象 方法之间的对应关系、 每个方法制品的方法制品信息和所述方法制品; 部署请求单元 84, 用于向应用部署服务器发送所述请求生成单元 83生 成的所述应用部署请求。
进一歩的,所述信息获取单元 81根据所述资源包标识获取资源包的资源 描述文件具体为: 向应用部署服务器发送资源包获取请求, 所述资源包获取 请求中携带资源包标识; 接收应用部署服务器发送的与资源包标识对应的资 源包, 并从所述资源包中获取所述资源描述文件; 或者, 向应用部署服务器 发送资源描述文件获取请求, 所述资源描述文伯获取请求中携带资源描述文 件所属的资源包的资源包标识; 接收应用部署服务器发送的与资源包标识对 应的资源包包含的资源描述文件。 进一歩的, 所述资源描述文件描述了应用节点, 所述抽象方法包含在所 述应用节点的节点类型中; 所述信息生成单元 82根据所述信息获取单元 81 获取的所述资源描述文件描述的至少一个抽象方法生成与每个所述抽象方法 对应的方法制品具体为: 根据所述资源描述文件中包含在所述应用节点的节 点类型中的抽象方法, 生成与所述应用节点的抽象方法对应的方法制品; 所 述请求生成单元 83进一歩用于根据所述信息获取单元 81获取的所述资源描 述文件中描述的应用节点在应用部署请求中描述所述应用节点; 所述方法制 品与所述资源描述文件中的抽象方法之间的对应关系以及所述方法制品信息 在所述应用部署请求中描述的应用节点的节点类型执行 NTI中描述。
进一歩的, 所述资源描述文件还描述了资源节点; 所述抽象方法包含在 所述资源节点的节点类型中; 信息生成单元 82根据所述信息获取单元 81获 取的所述资源描述文件描述的至少一个抽象方法生成与每个所述抽象方法对 应的方法制品具体为: 根据所述资源描述文件中包含在所述资源节点的节点 类型中的抽象方法, 生成与所述资源节点的抽象方法对应的方法制品; 所述 方法制品与所述资源描述文件中的抽象方法之间的对应关系以及所述方法制 品信息在所述应用部署请求中的边界定义中描述。
进一歩的, 所述信息生成单元 82在所述部署请求单元 84向应用部署服 务器发送所述请求生成单元 83生成的所述应用部署请求之前,根据所述资源 描述文件生成应用节点的部署制品以及所述部署制品的部署制品信息; 所述 应用部署请求还包括: 应用节点的部署制品以及所述部署制品的部署制品信 息。
进一歩的,所述信息生成单元 82在根据所述资源描述文件生成应用节点 的部署制品以及所述部署制品的部署制品信息之前, 进一歩用于确定所述信 息获取单元 81获取的所述资源描述文件中的应用节点用抽象标识关键字标 注, 并且所述资源描述文件不包括所述应用节点的部署制品信息。
图 9为本发明实施例提供的应用部署服务器的实体结构示意图, 用于实 现如本发明实施例所述的应用部署方法, 其工作原理可以参见前述方法实施 例。 如图 9所示, 该应用部署服务器可以包括: 存储器 901、 处理器 902、 总 线 903和通信接口 904。 处理器 902和存储器 901和通信接口 904之间通过 总线 903连接并完成相互间的通信。 处理器 902可能为单核或多核中央处理 单元 (central processing unit , 简称: CPU) , 或者为特定集成电路
( appl ication specific integrated circuit , 简称: ASIC) , 或者为被酉己 置成实施本发明实施例的一个或多个集成电路。 存储器 901可以为高速 RAM 存储器, 也可以为非易失性存储器 (non-volati le memory) , 例如至少一个 磁盘存储器。
其中, 所述通信接口 904用于与外部设备进行通信, 接收应用部署请求, 所述应用部署请求包括资源包的资源包标识、 至少一个方法制品、 所述每个 方法制品与所述资源包中资源描述文件描述的一个抽象方法之间的对应关 系、 以及所述每个方法制品的方法制品信息。
所述存储器 901存储应用程序; 所述处理器 902调用所述存储器 901中 存储的应用程序, 根据所述资源包标识获取所述资源包, 所述资源包包括: 所述资源描述文件和部署计划; 所述资源描述文件描述了所述抽象方法, 所 述部署计划引用了所述抽象方法; 根据所述每个方法制品与所述资源包中资 源描述文件描述的一个抽象方法之间的对应关系, 将所述方法制品信息增加 到所述资源描述文件中以形成应用部署描述文件; 根据所述应用部署描述文 件执行所述部署计划引用的抽象方法的方法制品。
进一歩的, 所述资源描述文件还描述了应用节点和资源节点; 所述抽象 方法的描述包含在所述应用节点和 /或所述资源节点的节点类型中。
进一歩的, 所述抽象方法包含在所述应用节点的节点类型中, 所述应用 部署请求包含应用节点的节点类型执行 NTI , 所述方法制品与所述资源包中 资源描述文件描述的抽象方法之间的对应关系在所述应用节点的节点类型执 行 NTI中描述;所述处理器 902将将所述方法制品信息增加到资源描述文件中 具体为: 将所述应用节点的 NTI增加到资源描述文件中; 或, 所述抽象方法 包含在所述资源节点的节点类型中, 所述应用部署请求中包含边界定义, 所 述方法制品与所述资源包中资源描述文件描述的抽象方法之间的对应关系在 所述边界定义中描述;所述处理器 902将所述方法制品信息增加到资源描述 文件具体为: 将所述边界定义中描述的所述方法制品信息增加到资源描述文 件的资源节点的 NTI中。
进一歩的, 所述处理器 902进一歩用于修改资源描述文件中节点类型中 的抽象方法的属性为普通方法;和 /或, 将应用部署请求包含的方法制品增加 到资源包中。
进一歩的, 所述应用部署请求还包括: 应用节点的部署制品; 所述处理 器 902, 还用于在所述根据所述资源包标识获取所述资源包之后, 将所述应 用部署请求中所述应用节点的部署制品作为所述资源描述文件中应用节点的 部署制品。
进一歩的, 所述应用部署请求还包括所述部署制品的部署制品信息; 所 述处理器 902将所述应用部署请求中所述应用节点的部署制品作为所述资源 描述文件中应用节点的部署制品具体为: 将所述部署制品信息增加到资源描 述文件中; 以及, 将所述应用部署请求中所述应用节点的部署制品增加到资 源包中。
进一歩的, 所述处理器 902在将所述方法制品信息增加到所述资源描述 文件中以形成应用部署描述文件之前, 用于确定所述资源描述文件中用抽象 标识关键字标注的方法是抽象方法。
图 10为本发明实施例提供的应用部署设备的实体结构示意图,用于实现 如本发明实施例所述的应用部署方法,其工作原理可以参见前述方法实施例。 如图 10所示, 该应用部署设备可以包括: 存储器 1001、 处理器 1002、 总线 1003和通信接口 1004。 处理器 1002和存储器 1001和通信接口 1004之间通 过总线 1003连接并完成相互间的通信。 处理器 1002可能为单核或多核中央 处理单元 (central processing unit , 简称: CPU) , 或者为特定集成电路 ( appl ication specific integrated circuit , 简称: ASIC) , 或者为被配 置成实施本发明实施例的一个或多个集成电路。 存储器 1001可以为高速 RAM 存储器, 也可以为非易失性存储器 (non-volati le memory) , 例如至少一个 磁盘存储器。
其中, 所述通信接口 1004用于与外部设备进行通信, 获取待部署应用的 资源包的资源包标识, 根据所述资源包标识获取资源包的资源描述文件, 所 述资源描述文件中描述了至少一个抽象方法。
所述存储器 1001存储应用程序; 所述处理器 1002调用所述存储器 1001 中存储的应用程序, 根据所述资源描述文件描述的至少一个抽象方法, 生成 与每个所述抽象方法对应的方法制品、 与所述方法制品的方法制品信息, 以 及所述每个方法制品与所述资源描述文件描述的一个抽象方法之间的对应关 系; 生成应用部署请求, 所述应用部署请求包括所述资源包标识、 所述每个 方法制品与所述资源描述文件中的一个抽象方法之间的对应关系、 每个方法 制品的方法制品信息和所述方法制品;所述通信接口 1004进一歩用于向应用 部署服务器发送所述应用部署请求。
进一歩的,所述处理器 1002根据所述资源包标识获取资源包的资源描述 文件具体为: 向应用部署服务器发送资源包获取请求, 所述资源包获取请求 中携带资源包标识; 接收应用部署服务器发送的与资源包标识对应的资源 包, 并从所述资源包中获取所述资源描述文件; 或者, 向应用部署服务器发 送资源描述文件获取请求, 所述资源描述文伯获取请求中携带资源描述文件 所属的资源包的资源包标识; 接收应用部署服务器发送的与资源包标识对应 的资源包包含的资源描述文件。
进一歩的, 所述资源描述文件描述了应用节点, 所述抽象方法包含在所 述应用节点的节点类型中;所述处理器 1002根据所述资源描述文件描述的至 少一个抽象方法生成与每个所述抽象方法对应的方法制品具体为: 根据所述 资源描述文件中包含在所述应用节点的节点类型中描述的抽象方法, 生成与 所述应用节点的抽象方法对应的方法制品; 所述处理器 1002进一歩用于: 根 据所述资源描述文件中描述的应用节点在应用部署请求中描述所述应用节 点; 所述方法制品与所述资源描述文件中描述的抽象方法之间的对应关系以 及所述方法制品信息在所述应用部署请求中描述的应用节点的节点类型执行 NTI中描述。
进一歩的, 所述资源描述文件还描述了资源节点; 所述抽象方法包含在 所述资源节点的节点类型中;所述处理器 1002根据所述资源描述文件描述的 至少一个抽象方法生成与每个所述抽象方法对应的方法制品具体为: 根据所 述资源描述文件中包含在所述资源节点的节点类型中描述的抽象方法, 生成 与所述资源节点的抽象方法对应的方法制品; 所述方法制品与所述资源描述 文件中描述的抽象方法之间的对应关系以及所述方法制品信息在所述应用部 署请求中的边界定义中描述。
进一歩的,所述处理器 1002在所述向应用部署服务器发送应用部署请求 之前, 还用于生成应用节点的部署制品以及所述部署制品的部署制品信息, 所述应用部署请求还包括: 应用节点的部署制品以及所述部署制品的部署制 进一歩的,所述处理器 1002生成应用节点的部署制品以及所述部署制品 的部署制品信息之前, 确定所述资源描述文件中的应用节点用抽象标识关键 字标注, 并且所述资源描述文件不包括所述应用节点的部署制品信息。
本领域普通技术人员可以理解: 实现上述各方法实施例的全部或部分歩 骤可以通过程序指令相关的硬件来完成。 前述的程序可以存储于一计算机可 读取存储介质中。 该程序在执行时, 执行包括上述各方法实施例的歩骤; 而 前述的存储介质包括: R0M、 RAM, 磁碟或者光盘等各种可以存储程序代码的 介质。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或者替换, 并 不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims

权 利 要 求 书
1、 一种应用部署方法, 其特征在于, 包括:
接收应用部署请求, 所述应用部署请求包括资源包的资源包标识、 至少 一个方法制品、 所述每个方法制品与所述资源包中资源描述文件描述的一个 抽象方法之间的对应关系、 以及所述每个方法制品的方法制品信息;
根据所述资源包标识获取所述资源包, 所述资源包包括: 所述资源描述 文件和部署计划; 所述资源描述文件描述了所述抽象方法, 所述部署计划引 用了所述抽象方法;
根据所述每个方法制品与所述资源包中资源描述文件描述的一个抽象方 法之间的对应关系, 将所述方法制品信息增加到所述资源描述文件中以形成 应用部署描述文件;
根据所述应用部署描述文件执行所述部署计划引用的抽象方法的方法制
P
2、 根据权利要求 1所述的方法, 其特征在于, 所述资源描述文件还描述 了应用节点和资源节点;
所述抽象方法的描述包含在所述应用节点和 /或所述资源节点的节点类 型中。
3、 根据权利要求 2所述的方法, 其特征在于, 所述抽象方法包含在所述 应用节点的节点类型中, 所述应用部署请求包含应用节点的节点类型执行 NTI ,所述方法制品与所述资源包中资源描述文件描述的抽象方法之间的对应 关系在所述应用节点的节点类型执行 NTI中描述;所述将所述方法制品信息 增加到资源描述文件中具体为: 将所述应用节点的 NTI增加到资源描述文件 中;
所述抽象方法包含在所述资源节点的节点类型中, 所述应用部署请求中 包含边界定义, 所述方法制品与所述资源包中资源描述文件描述的抽象方法 之间的对应关系在所述边界定义中描述;所述将所述方法制品信息增加到资 源描述文件具体为: 将所述边界定义中描述的所述方法制品信息增加到资源 描述文件的资源节点的 NTI中。
4、 根据权利要求 3所述的方法, 其特征在于, 该方法进一歩包括: 修改资源描述文件中节点类型中的抽象方法的属性为普通方法; 和 /或 将应用部署请求包含的方法制品增加到资源包中。
5、 根据权利要求 3或 4所述的方法, 其特征在于, 所述应用部署请求还 包括: 应用节点的部署制品; 在所述根据所述资源包标识获取所述资源包之 后该方法还包括:
将所述应用部署请求中所述应用节点的部署制品作为所述资源描述文件 中应用节点的部署制品。
6、 根据权利要求 5所述的方法, 其特征在于, 所述应用部署请求还包括 所述部署制品的部署制品信息, 所述将所述应用部署请求中所述应用节点的 部署制品作为所述资源描述文件中应用节点的部署制品具体为:
将所述部署制品信息增加到资源描述文件中; 以及
将所述应用部署请求中所述应用节点的部署制品增加到资源包中。
7、 根据权利要求 1-6任一所述的方法, 其特征在于, 在将所述方法制品 信息增加到所述资源描述文件中以形成应用部署描述文件之前, 还包括: 确定所述资源描述文件中用抽象标识关键字标注的方法是抽象方法。
8、 一种应用部署方法, 其特征在于, 包括:
获取待部署应用的资源包的资源包标识, 根据所述资源包标识获取资源 包的资源描述文件, 所述资源描述文件中描述了至少一个抽象方法;
根据所述资源描述文件描述的至少一个抽象方法, 生成与每个所述抽象 方法对应的方法制品、 与所述方法制品的方法制品信息, 以及所述每个方法 制品与所述资源描述文件描述的一个抽象方法之间的对应关系;
生成应用部署请求, 所述应用部署请求包括所述资源包标识、 所述每个 方法制品与所述资源描述文件中的一个抽象方法之间的对应关系、 每个方法 制品的方法制品信息和所述方法制品;
向应用部署服务器发送所述应用部署请求。
9、 根据权利要求 8所述的方法, 其特征在于, 所述根据所述资源包标识 获取资源包的资源描述文件, 包括:
向应用部署服务器发送资源包获取请求, 所述资源包获取请求中携带资 源包标识; 接收应用部署服务器发送的与资源包标识对应的资源包, 并从所 述资源包中获取所述资源描述文件; 或者, 向应用部署服务器发送资源描述文件获取请求, 所述资源描述文 伯获取请求中携带资源描述文件所属的资源包的资源包标识; 接收应用部署 服务器发送的与资源包标识对应的资源包包含的资源描述文件。
10、 根据权利要求 8或 9所述的方法, 其特征在于, 所述资源描述文件 描述了应用节点, 所述抽象方法包含在所述应用节点的节点类型中; 所述根 据所述资源描述文件描述的至少一个抽象方法生成与每个所述抽象方法对应 的方法制品, 包括: 根据所述资源描述文件中包含在所述应用节点的节点类 型中的抽象方法,生成与所述应用节点的抽象方法对应的方法制品;该方法进 一歩包括:
根据所述资源描述文件中描述的应用节点在应用部署请求中描述所述应 用节点;
所述方法制品与所述资源描述文件中的抽象方法之间的对应关系以及所 述方法制品信息在所述应用部署请求中描述的应用节点的节点类型执行 NTI 中描述。
11、 根据权利要求 8-10任一所述的方法, 其特征在于, 所述资源描述文 件还描述了资源节点; 所述抽象方法包含在所述资源节点的节点类型中; 所述根据所述资源描述文件描述的至少一个抽象方法生成与每个所述抽 象方法对应的方法制品, 包括: 根据所述资源描述文件中包含在所述资源节 点的节点类型中的抽象方法, 生成与所述资源节点的抽象方法对应的方法制 品;
所述方法制品与所述资源描述文件中的抽象方法之间的对应关系以及所 述方法制品信息在所述应用部署请求中的边界定义中描述。
12、 根据权利要求 10所述的方法, 其特征在于, 在所述向应用部署服务 器发送应用部署请求之前, 还包括:
根据所述资源描述文件生成应用节点的部署制品以及所述部署制品的部 署制品信息, 所述应用部署请求还包括: 应用节点的部署制品以及所述部署 制品的部署制品信息。
13、 根据权利要求 12所述的方法, 其特征在于, 所述根据资源描述文件 生成应用节点的部署制品以及所述部署制品的部署制品信息之前, 该方法还 包括: 确定所述资源描述文件中的应用节点用抽象标识关键字标注, 并且所述 资源描述文件不包括所述应用节点的部署制品信息。
14、 一种应用部署服务器, 其特征在于, 包括:
请求接收单元, 用于接收应用部署请求, 所述应用部署请求包括资源包 的资源包标识、 至少一个方法制品、 所述每个方法制品与所述资源包中资源 描述文件描述的一个抽象方法之间的对应关系、 以及所述每个方法制品的方 法制品信息;
信息获取单元, 用于根据所述请求接收单元接收的所述应用部署请求包 括的所述资源包标识获取所述资源包, 所述资源包包括: 所述资源描述文件 和部署计划; 所述资源描述文件描述了所述抽象方法, 所述部署计划引用了 所述抽象方法;
信息处理单元, 用于根据所述请求接收单元接收的所述应用部署请求包 括的所述每个方法制品与所述资源包中资源描述文件描述的一个抽象方法之 间的对应关系, 将所述方法制品信息增加到所述信息获取单元获取的所述资 源包中包括的所述资源描述文件中以形成应用部署描述文件;
应用部署单元, 用于根据所述信息处理单元形成的所述应用部署描述文 件执行所述部署计划引用的抽象方法的方法制品。
15、 根据权利要求 14所述的服务器, 其特征在于, 所述资源描述文件还 描述了应用节点和资源节点;
所述抽象方法的描述包含在所述应用节点和 /或所述资源节点的节点类 型中。
16、 根据权利要求 15所述的服务器, 其特征在于, 所述抽象方法包含在 所述应用节点的节点类型中, 所述应用部署请求包含应用节点的节点类型执 行 NTI , 所述方法制品与所述资源包中资源描述文件描述的抽象方法之间的 对应关系在所述应用节点的节点类型执行 NTI中描述; 所述信息处理单元将 所述方法制品信息增加到所述信息获取单元获取的所述资源包中包括的所述 资源描述文件中具体为: 将所述应用节点的 NTI增加到资源描述文件中; 或 所述抽象方法包含在所述资源节点的节点类型中, 所述应用部署请求中 包含边界定义, 所述方法制品与所述资源包中资源描述文件描述的抽象方法 之间的对应关系在所述边界定义中描述; 所述信息处理单元将所述方法制品 信息增加到所述信息获取单元获取的所述资源包中包括的所述资源描述文件 具体为: 将所述边界定义中描述的所述方法制品信息增加到资源描述文件的 资源节点的 NTI中。
17、 根据权利要求 16所述的服务器, 其特征在于,
所述信息处理单元进一歩用于: 修改所述信息获取单元获取的所述资源 包中包括的所述资源描述文件中节点类型描述的抽象方法的属性为普通方法; 和 /或,将所述请求接收单元接收的所述应用部署请求包含的方法制品增加到 资源包中。
18、 根据权利要求 16或 17所述的服务器, 其特征在于, 所述应用部署 请求还包括: 应用节点的部署制品;
所述信息处理单元在所述信息获取单元根据所述资源包标识获取所述资 源包之后, 还用于将所述请求接收单元接收的所述应用部署请求中所述应用 节点的部署制品作为所述信息获取单元获取的所述资源包中包括的所述资源 描述文件中应用节点的部署制品。
19、 根据权利要求 18所述的服务器, 其特征在于, 所述应用部署请求还 包括所述部署制品的部署制品信息;
所述信息处理单元将所述请求接收单元接收的所述应用部署请求中所述 应用节点的部署制品作为所述信息获取单元获取的所述资源包中包括的所述 资源描述文件中应用节点的部署制品具体为:
将所述部署制品信息增加到资源描述文件中; 以及
将所述应用部署请求中所述应用节点的部署制品增加到资源包中。
20、 根据权利要求 14-19任一所述的服务器, 其特征在于, 所述信息处 理单元在将所述请求接收单元接收的所述应用部署请求包括的所述方法制品 信息增加到所述信息获取单元获取的所述资源包中包括的所述资源描述文件 中以形成应用部署描述文件之前, 还用于确定所述资源描述文件中用抽象标 识关键字标注的方法是抽象方法。
21、 一种应用部署设备, 其特征在于, 包括:
信息获取单元, 用于获取待部署应用的资源包的资源包标识, 根据所述 资源包标识获取资源包的资源描述文件, 所述资源描述文件中描述了至少一 个抽象方法; 信息生成单元, 用于根据所述信息获取单元获取的所述资源描述文件描 述的至少一个抽象方法, 生成与每个所述抽象方法对应的方法制品、 与所述 方法制品的方法制品信息, 以及所述每个方法制品与所述资源描述文件描述 的一个抽象方法之间的对应关系;
请求生成单元, 用于生成应用部署请求, 所述应用部署请求包括所述信 息获取单元获取的所述资源包标识、 所述信息生成单元生成的每个方法制品 与所述信息获取单元获取的所述资源描述文件描述的一个抽象方法之间的对 应关系、 每个方法制品的方法制品信息和所述方法制品;
部署请求单元, 用于向应用部署服务器发送所述请求生成单元生成的所 述应用部署请求。
22、 根据权利要求 21所述的设备, 其特征在于, 所述信息获取单元根据 所述资源包标识获取资源包的资源描述文件具体为:
向应用部署服务器发送资源包获取请求, 所述资源包获取请求中携带资 源包标识; 接收应用部署服务器发送的与资源包标识对应的资源包, 并从所 述资源包中获取所述资源描述文件;
或者, 向应用部署服务器发送资源描述文件获取请求, 所述资源描述文 伯获取请求中携带资源描述文件所属的资源包的资源包标识; 接收应用部署 服务器发送的与资源包标识对应的资源包包含的资源描述文件。
23、 根据权利要求 21或 22所述的设备, 其特征在于, 所述资源描述文 件描述了应用节点, 所述抽象方法包含在所述应用节点的节点类型中;
所述信息生成单元根据所述信息获取单元获取的所述资源描述文件描述 的至少一个抽象方法生成与每个所述抽象方法对应的方法制品具体为: 根据 所述资源描述文件中包含在所述应用节点的节点类型中的抽象方法, 生成与 所述应用节点的抽象方法对应的方法制品;
所述请求生成单元进一歩用于根据所述信息获取单元获取的所述资源描 述文件中描述的应用节点在应用部署请求中描述所述应用节点;
所述方法制品与所述资源描述文件中的抽象方法之间的对应关系以及所 述方法制品信息在所述应用部署请求中描述的应用节点的节点类型执行 NTI 中描述。
24、 根据权利要求 21-23任一所述的设备, 其特征在于, 所述资源描述 文件还描述了资源节点; 所述抽象方法包含在所述资源节点的节点类型中; 信息生成单元根据所述信息获取单元获取的所述资源描述文件描述的至 少一个抽象方法生成与每个所述抽象方法对应的方法制品具体为: 根据所述 资源描述文件中包含在所述资源节点的节点类型中的抽象方法, 生成与所述 资源节点的抽象方法对应的方法制品;
所述方法制品与所述资源描述文件中的抽象方法之间的对应关系以及所 述方法制品信息在所述应用部署请求中的边界定义中描述。
25、 根据权利要求 24所述的设备, 其特征在于, 所述信息生成单元在所 述部署请求单元向应用部署服务器发送所述请求生成单元生成的所述应用部 署请求之前, 根据所述资源描述文件生成应用节点的部署制品以及所述部署 制品的部署制品信息; 所述应用部署请求还包括: 应用节点的部署制品以及 所述部署制品的部署制品信息。
26、 根据权利要求 21所述的设备, 其特征在于, 所述信息生成单元在根 据资源描述文件生成应用节点的部署制品以及所述部署制品的部署制品信息 之前, 进一歩用于确定所述信息获取单元获取的所述资源描述文件中的应用 节点用抽象标识关键字标注, 并且所述资源描述文件不包括所述应用节点的 部署制品信息。
27、 一种应用部署服务器, 其特征在于, 包括: 通信接口、 处理器; 存 储器;
所述通信接口用于与外部设备进行通信, 接收应用部署请求, 所述应用 部署请求包括资源包的资源包标识、 至少一个方法制品、 所述每个方法制品 与所述资源包中资源描述文件描述的一个抽象方法之间的对应关系、 以及所 述每个方法制品的方法制品信息;
所述存储器存储应用程序;
所述处理器调用所述存储器中存储的应用程序, 根据所述资源包标识获 取所述资源包, 所述资源包包括: 所述资源描述文件和部署计划; 所述资源 描述文件描述了所述抽象方法, 所述部署计划引用了所述抽象方法; 根据所 述每个方法制品与所述资源包中资源描述文件描述的一个抽象方法之间的对 应关系, 将所述方法制品信息增加到所述资源描述文件中以形成应用部署描 述文件; 根据所述应用部署描述文件执行所述部署计划引用的抽象方法的方 法制品。
28、 根据权利要求 27所述的服务器, 其特征在于,
所述资源描述文件还描述了应用节点和资源节点;
所述抽象方法的描述包含在所述应用节点和 /或所述资源节点的节点类 型中。
29、 根据权利要求 28所述的服务器, 其特征在于,
所述抽象方法包含在所述应用节点的节点类型中, 所述应用部署请求包 含应用节点的节点类型执行 NTI , 所述方法制品与所述资源包中资源描述文 件描述的抽象方法之间的对应关系在所述应用节点的节点类型执行 NTI中描 述;所述处理器将将所述方法制品信息增加到资源描述文件中具体为:将所述 应用节点的 NTI增加到资源描述文件中; 或
所述抽象方法包含在所述资源节点的节点类型中, 所述应用部署请求中 包含边界定义, 所述方法制品与所述资源包中资源描述文件描述的抽象方法 之间的对应关系在所述边界定义中描述;所述处理器将所述方法制品信息增 加到资源描述文件具体为: 将所述边界定义中描述的所述方法制品信息增加 到资源描述文件的资源节点的 NTI中。
30、 根据权利要求 29所述的服务器, 其特征在于,
所述处理器进一歩用于修改资源描述文件中节点类型中的抽象方法的属 性为普通方法; 和 /或, 将应用部署请求包含的方法制品增加到资源包中。
31、 根据权利要求 29或 30所述的服务器, 其特征在于, 所述应用部署 请求还包括: 应用节点的部署制品;
所述处理器, 还用于在所述根据所述资源包标识获取所述资源包之后, 将所述应用部署请求中所述应用节点的部署制品作为所述资源描述文件中应 用节点的部署制品。
32、 根据权利要求 31所述的服务器, 其特征在于, 所述应用部署请求还 包括所述部署制品的部署制品信息;
所述处理器将所述应用部署请求中所述应用节点的部署制品作为所述资 源描述文件中应用节点的部署制品具体为: 将所述部署制品信息增加到资源 描述文件中; 以及, 将所述应用部署请求中所述应用节点的部署制品增加到 资源包中。
33、 根据权利要求 27-32任一所述的服务器, 其特征在于, 所述处理器在将所述方法制品信息增加到所述资源描述文件中以形成应 用部署描述文件之前, 用于确定所述资源描述文件中用抽象标识关键字标注 的方法是抽象方法。
34、 一种应用部署设备, 其特征在于, 包括: 通信接口、 处理器; 存储 器;
所述通信接口用于与外部设备进行通信, 获取待部署应用的资源包的资 源包标识, 根据所述资源包标识获取资源包的资源描述文件, 所述资源描述 文件中描述了至少一个抽象方法;
所述存储器存储应用程序;
所述处理器调用所述存储器中存储的应用程序, 根据所述资源描述文件 描述的至少一个抽象方法, 生成与每个所述抽象方法对应的方法制品、 与所 述方法制品的方法制品信息, 以及所述每个方法制品与所述资源描述文件描 述的一个抽象方法之间的对应关系; 生成应用部署请求, 所述应用部署请求 包括所述资源包标识、 所述每个方法制品与所述资源描述文件中的一个抽象 方法之间的对应关系、 每个方法制品的方法制品信息和所述方法制品; 所述通信接口进一歩用于向应用部署服务器发送所述应用部署请求。
35、 根据权利要求 34所述的设备, 其特征在于,
所述处理器根据所述资源包标识获取资源包的资源描述文件具体为: 向应用部署服务器发送资源包获取请求, 所述资源包获取请求中携带资 源包标识; 接收应用部署服务器发送的与资源包标识对应的资源包, 并从所 述资源包中获取所述资源描述文件;
或者, 向应用部署服务器发送资源描述文件获取请求, 所述资源描述文 伯获取请求中携带资源描述文件所属的资源包的资源包标识; 接收应用部署 服务器发送的与资源包标识对应的资源包包含的资源描述文件。
36、 根据权利要求 34或 35所述的设备, 其特征在于, 所述资源描述文 件描述了应用节点, 所述抽象方法包含在所述应用节点的节点类型中; 所述处理器根据所述资源描述文件描述的至少一个抽象方法生成与每个 所述抽象方法对应的方法制品具体为: 根据所述资源描述文件中包含在所述 应用节点的节点类型中的抽象方法, 生成与所述应用节点的抽象方法对应的 方法制品;
所述处理器进一歩用于:
根据所述资源描述文件描述的应用节点在应用部署请求中描述所述应用 节点;
所述方法制品与所述资源描述文件描述的抽象方法之间的对应关系以及 所述方法制品信息在所述应用部署请求中描述的应用节点的节点类型执行 NTI中描述。
37、 根据权利要求 34-36任一所述的设备, 其特征在于, 所述资源描述 文件还描述了资源节点; 所述抽象方法包含在所述资源节点的节点类型中; 所述处理器根据所述资源描述文件描述的至少一个抽象方法生成与每个 所述抽象方法对应的方法制品具体为:
根据所述资源描述文件中包含在所述资源节点的节点类型中的抽象方 法, 生成与所述资源节点的抽象方法对应的方法制品;
所述方法制品与所述资源描述文件中的抽象方法之间的对应关系以及所 述方法制品信息在所述应用部署请求中的边界定义中描述。
38、 根据权利要求 36所述的设备, 其特征在于,
所述处理器在所述向应用部署服务器发送应用部署请求之前, 还用于根 据所述资源描述文件生成应用节点的部署制品以及所述部署制品的部署制品 信息, 所述应用部署请求还包括: 应用节点的部署制品以及所述部署制品的 部署制品信息。
39、 根据权利要求 38所述的设备, 其特征在于,
所述处理器根据所述资源描述文件生成应用节点的部署制品以及所述部 署制品的部署制品信息之前, 确定所述资源描述文件中的应用节点用抽象标 识关键字标注,并且所述资源描述文件不包括所述应用节点的部署制品信息。
PCT/CN2013/076559 2013-05-31 2013-05-31 应用部署方法和设备 WO2014190544A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP13886121.6A EP2988211A4 (en) 2013-05-31 2013-05-31 METHOD AND DEVICE FOR APPLICATION DEPLOYMENT
CN201380000827.6A CN105051687B (zh) 2013-05-31 2013-05-31 应用部署方法和设备
PCT/CN2013/076559 WO2014190544A1 (zh) 2013-05-31 2013-05-31 应用部署方法和设备
US14/947,374 US20160080479A1 (en) 2013-05-31 2015-11-20 Application deployment method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/076559 WO2014190544A1 (zh) 2013-05-31 2013-05-31 应用部署方法和设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/947,374 Continuation US20160080479A1 (en) 2013-05-31 2015-11-20 Application deployment method and device

Publications (1)

Publication Number Publication Date
WO2014190544A1 true WO2014190544A1 (zh) 2014-12-04

Family

ID=51987900

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/076559 WO2014190544A1 (zh) 2013-05-31 2013-05-31 应用部署方法和设备

Country Status (4)

Country Link
US (1) US20160080479A1 (zh)
EP (1) EP2988211A4 (zh)
CN (1) CN105051687B (zh)
WO (1) WO2014190544A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017117876A1 (zh) * 2016-01-08 2017-07-13 中兴通讯股份有限公司 基于tosca的服务调用方法及装置
CN108446123A (zh) * 2017-02-14 2018-08-24 北京金山云网络技术有限公司 一种应用程序部署方法及装置
US11223536B2 (en) 2016-04-04 2022-01-11 At&T Intellectual Property I, L.P. Model driven process for automated deployment of domain 2.0 virtualized services and applications on cloud infrastructure

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9910652B2 (en) * 2015-11-30 2018-03-06 International Business Machines Corporation Deploying applications
CN108270726B (zh) * 2016-12-30 2021-05-11 华为技术有限公司 应用实例部署方法及装置
US10579427B2 (en) * 2017-02-01 2020-03-03 Datera, Inc. Method and system for translating resource requirement of application into tangible infrastructural resources
CN108809683B (zh) * 2017-05-04 2022-07-15 中兴通讯股份有限公司 部署云应用系统的方法及装置
CN109144522B (zh) * 2017-06-19 2023-08-01 中兴通讯股份有限公司 应用部署方法、装置、设备和计算机可读存储介质
US11381476B2 (en) * 2018-12-11 2022-07-05 Sap Se Standardized format for containerized applications
US11212366B2 (en) 2018-12-11 2021-12-28 Sap Se Kubernetes as a distributed operating system for multitenancy/multiuser
CN109618002B (zh) * 2019-01-11 2022-07-05 武汉斗鱼鱼乐网络科技有限公司 一种微服务网关优化方法、装置及存储介质
CN113515288B (zh) * 2021-04-26 2024-02-23 中国工商银行股份有限公司 基于发布单元的自动化部署方法及装置
JP2023007730A (ja) * 2021-07-02 2023-01-19 キヤノン株式会社 情報処理システム、情報処理方法、プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882076A (zh) * 2010-04-06 2010-11-10 武汉理工大学 一种基于控件的制造网格资源封装方法
CN102110009A (zh) * 2009-12-28 2011-06-29 中国移动通信集团公司 一种在虚拟化平台中部署应用的方法及虚拟平台管理器
WO2011162744A1 (en) * 2010-06-22 2011-12-29 Hewlett-Packard Development Company, L.P. Methods and systems for planning application deployment
CN102377598A (zh) * 2010-08-26 2012-03-14 中国移动通信集团公司 一种互联网应用托管系统、设备和方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660879B2 (en) * 2004-05-20 2010-02-09 Ananthan Bala Srinivasan System and method for application deployment service
US20060080413A1 (en) * 2004-06-17 2006-04-13 International Business Machines Corporation Method and system for establishing a deployment plan for an application
US8615731B2 (en) * 2004-08-25 2013-12-24 Mohit Doshi System and method for automating the development of web services that incorporate business rules
US8997078B2 (en) * 2011-04-12 2015-03-31 Pivotal Software, Inc. Release lifecycle management system for a multi-node application
US9268589B2 (en) * 2011-12-09 2016-02-23 Yahoo! Inc. Method and system for deploying multiple distributed application stacks on a target machine
US9063746B2 (en) * 2012-06-22 2015-06-23 Sap Se Deployment of software applications on a cloud computing platform
US8667486B2 (en) * 2012-06-26 2014-03-04 Google Inc. Automatic provisioning of a software platform to a device ecosystem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110009A (zh) * 2009-12-28 2011-06-29 中国移动通信集团公司 一种在虚拟化平台中部署应用的方法及虚拟平台管理器
CN101882076A (zh) * 2010-04-06 2010-11-10 武汉理工大学 一种基于控件的制造网格资源封装方法
WO2011162744A1 (en) * 2010-06-22 2011-12-29 Hewlett-Packard Development Company, L.P. Methods and systems for planning application deployment
CN102377598A (zh) * 2010-08-26 2012-03-14 中国移动通信集团公司 一种互联网应用托管系统、设备和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2988211A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017117876A1 (zh) * 2016-01-08 2017-07-13 中兴通讯股份有限公司 基于tosca的服务调用方法及装置
US11223536B2 (en) 2016-04-04 2022-01-11 At&T Intellectual Property I, L.P. Model driven process for automated deployment of domain 2.0 virtualized services and applications on cloud infrastructure
US11611487B2 (en) 2016-04-04 2023-03-21 At&T Intellectual Property I, L.P. Model driven process for automated deployment of domain 2.0 virtualized services and applications on cloud infrastructure
CN108446123A (zh) * 2017-02-14 2018-08-24 北京金山云网络技术有限公司 一种应用程序部署方法及装置

Also Published As

Publication number Publication date
CN105051687A (zh) 2015-11-11
EP2988211A1 (en) 2016-02-24
CN105051687B (zh) 2018-01-09
US20160080479A1 (en) 2016-03-17
EP2988211A4 (en) 2016-06-01

Similar Documents

Publication Publication Date Title
WO2014190544A1 (zh) 应用部署方法和设备
US11394805B1 (en) Automatic discovery of API information
WO2017113201A1 (zh) 一种网络服务的生命周期管理方法及设备
WO2017035735A1 (zh) 一种网络服务的部署方法及装置
WO2017054531A1 (zh) 一种基于yang模型的编译方法、及对应的接口、组件和系统
US11714685B2 (en) Discovering and publishing API information
WO2019184164A1 (zh) 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质
WO2018149272A1 (zh) 基于sla的资源分配方法和nfvo
US10630752B2 (en) Identity service management in limited connectivity environments
US8683545B2 (en) Federating policies from multiple policy providers
EP3531749B1 (en) Management method, management unit and system for network function
CN111258627B (zh) 一种接口文档生成方法和装置
WO2019057055A1 (zh) 一种任务处理方法、装置、电子设备及存储介质
AU2015266790B2 (en) Providing router information according to a programmatic interface
WO2014101475A1 (zh) 云平台应用部署方法及装置
WO2015021604A1 (zh) 一种应用升级方法、装置
WO2017185251A1 (zh) Vnfm的确定方法和网络功能虚拟化编排器
CN108306844B (zh) 用于服务器与客户端之间的api通信的方法
US20210092073A1 (en) Resource trees by management controller
WO2020108443A1 (zh) 一种虚拟化管理方法及装置
WO2016141783A1 (zh) 访问控制、策略获取、属性获取方法及相关装置
WO2017054533A1 (zh) 云互通的外部资源管理方法、装置及系统
AU2015404396B2 (en) Federated marketplace portal
US10785056B1 (en) Sharing a subnet of a logically isolated network between client accounts of a provider network
US20130304431A1 (en) Automatically asessing maturity of custom application for standard-governed computing environment

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201380000827.6

Country of ref document: CN

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

Ref document number: 13886121

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2013886121

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE