WO2019238136A1 - Workflow modeling method and device and computer-readable storage medium - Google Patents

Workflow modeling method and device and computer-readable storage medium Download PDF

Info

Publication number
WO2019238136A1
WO2019238136A1 PCT/CN2019/092336 CN2019092336W WO2019238136A1 WO 2019238136 A1 WO2019238136 A1 WO 2019238136A1 CN 2019092336 W CN2019092336 W CN 2019092336W WO 2019238136 A1 WO2019238136 A1 WO 2019238136A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
workflow
template
level
directed graph
Prior art date
Application number
PCT/CN2019/092336
Other languages
French (fr)
Chinese (zh)
Inventor
赵化冰
孟照星
徐代刚
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2019238136A1 publication Critical patent/WO2019238136A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Definitions

  • the invention relates to the field of Network Function Virtualization (NFV), in particular to a method, device and computer-readable storage medium for modeling workflow.
  • NFV Network Function Virtualization
  • TOSCA In order to enhance the portability of cloud applications on various cloud infrastructures, the Organization for the Advancement of Structured Information Standards (OASIS) for the Advancement of Structured Information Standards (TOSCA, Topology) and Orchestration Specification for Cloud Applications).
  • OASIS Organization for the Advancement of Structured Information Standards
  • TOSCA describes the components that make up the Cloud Application and the topological relationship between them through a service template.
  • the Orchestrator analyzes the service template, applies for computing and network resources on the cloud infrastructure, and performs service processing. Instantiate and upgrade, reduce and expand, terminate and other life cycle management.
  • TOSCA not only formulated the basic specifications for cloud application orchestration, but also expanded based on this basic specification. With reference to the ETSI, NFV, MANO architecture and standards, it formulated the orchestration specifications in the NFV field.
  • the TOSCA orchestration specification has been adopted by a number of mainstream operators and telecommunications equipment vendors, and is the mainstream orchestration standard in the NFV field.
  • the workflow in the TOSCA service template is used to deploy, upgrade, and expand the life cycle management processes of NFV network services. It belongs to the important content of the template. When orchestrator performs network service lifecycle management, it needs to execute the lifecycle management workflow corresponding to the service template.
  • TOSCA supports two methods for defining lifecycle management workflow: declarative workflow and imperative workflow.
  • the definition workflow is not displayed in the service template.
  • the orchestrator determines the order in which each component is created according to the dependencies between the nodes in the TOSCA service template when instantiating the network service. Assuming that the destination node depends on the source node, the orchestrator first creates the destination node instance during execution, and then creates the source node instance.
  • the characteristic of declarative workflow is that the lifecycle management workflow is automatically generated by the orchestrator according to the topology of the service template when deploying the service template. There is no need to explicitly define the workflow file, but it lacks flexibility and cannot expand the workflow.
  • TOSCA also supports explicit definition workflows, that is, imperative workflows.
  • the imperative workflow is very flexible. Users can define each step in the workflow according to their needs, but it is more tedious.
  • the TOSCA specification includes a simple workflow definition domain specific language (DSL, Domain Specific Language), which can define a simple workflow in a service template, clearly indicating which node and which method is executed in each step.
  • DSL Domain Specific Language
  • the intent of the TOSCA declarative workflow is to define a cloud software data model that is completely independent of the orchestrator and can seamlessly switch between orchestrator implementations.
  • VNF virtual network functions
  • Virtual Network Function Virtual Network Function
  • the creation of underlying links across the WAN and the specific orchestrator Technology implementation is related, so it is necessary to use the imperative workflow to orchestrate the life cycle process of network services.
  • TOSCA's built-in workflow DSL language also has major limitations, which makes it unable to support the orchestration of network service lifecycle management processes in the NFV field. Its problems include, but are not limited to:
  • TOSCA's built-in workflow DSL can only call operations on nodes in the TOSCA service template, but cannot call services outside the template. For example, in the NFV orchestration, a resource selection service for calculating which data center a VNF should be created, and an EMS service for configuring network element data need to be called.
  • TOSCA's built-in workflow DSL does not support workflow nodes that need to interact with users. For example, at a certain step of the workflow, the user is required to input a parameter, such as manually selecting a virtual infrastructure resource manager (VIM, Virtual Infrastructure Manager).
  • VIP virtual infrastructure resource manager
  • embodiments of the present invention provide a workflow modeling method, device, and computer-readable storage medium, which solves the problem that the TOSCA declarative workflow process is fixed, cannot be extended, and the built-in TOSCA workflow language cannot be used. Limitations such as calling external services.
  • An embodiment of the present invention provides a workflow modeling method, including:
  • the directed graph used to represent a relationship between various nodes in the service template
  • the high-level workflow template includes: a workflow of each node in the service template;
  • An embodiment of the present invention further provides a workflow modeling device, including:
  • a parsing unit configured to parse the obtained service template to obtain each node defined in the service template
  • a generating unit configured to generate a directed graph based on the respective nodes, the directed graph used to represent a relationship between various nodes in the service template; and used to generate a high-level workflow template based on the directed graph
  • the high-level workflow template includes: a workflow of each node in the service template; and is further configured to generate a workflow execution script file according to the high-level workflow template, and establish the workflow execution script file and the service. Association of templates.
  • An embodiment of the present invention further provides a computer-readable storage medium, where the computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the above tasks.
  • the steps of an itemized workflow modeling method are described in detail below.
  • Embodiments of the present invention provide a workflow modeling method, device, and computer-readable storage medium, parse the obtained service template, and obtain each node defined in the service template; generate a directed graph based on the each node, The directed graph is used to represent the relationship between nodes in the service template; a high-level workflow template is generated according to the directed graph, and the high-level workflow template includes: the work of each node in the service template A process; generating a workflow execution script file according to the high-level workflow template, and establishing an association relationship between the workflow execution script file and the service template.
  • the workflow modeling method, device and computer-readable storage medium provided by the embodiments of the present invention automatically generate an abstract high-level workflow template according to the topology relationship of each node in the service template, and then generate a specific high-level workflow template based on the high-level workflow template.
  • the workflow execution script file expressed by the workflow execution language finally completes the modeling of the network service life cycle management workflow, while taking into account the convenience of the declarative workflow while introducing the flexibility of the imperative workflow, it can effectively support NFV
  • the modeling of the network service lifecycle management process in the scenario solves the limitations of TOSCA's declarative workflow process, which cannot be extended, and TOSCA's built-in workflow language cannot call external services.
  • FIG. 1 is a first schematic flowchart of a workflow modeling method according to an embodiment of the present invention
  • FIG. 2 is an example diagram of a dependency relationship between core content of a blog application TOSCA service template and various nodes according to an embodiment of the present invention
  • FIG. 3 is a second schematic flowchart of a workflow modeling method according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a high-level workflow template generated according to a blog application TOSCA service template according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of an association between a TOSCA service template and a generated workflow script file according to an embodiment of the present invention
  • FIG. 7 is a third schematic flowchart of a workflow modeling method according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of a high-level workflow template for a blog application deployment after adjusting a node execution order according to an embodiment of the present invention
  • FIG. 9 is a fourth schematic flowchart of a workflow modeling method according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of a high-level workflow template for a blog application deployment after adding a custom node according to an embodiment of the present invention
  • FIG. 11 is a first schematic structural diagram of a workflow modeling device according to an embodiment of the present invention.
  • FIG. 12 is a second schematic structural diagram of a workflow modeling device according to an embodiment of the present invention.
  • FIG. 13 is a third schematic structural diagram of a workflow modeling device according to an embodiment of the present invention.
  • An embodiment of the present invention provides a workflow modeling method. As shown in the schematic flow chart shown in FIG. 1, the method may include the following steps:
  • Step 101 Parse the obtained service template to obtain each node defined in the service template.
  • the execution subject of the workflow modeling method provided by the embodiment of the present invention may be a workflow modeling device, that is, the workflow modeling device obtains a service template, parses the service template, and obtains each node defined in the service template. It can also be understood as obtaining all nodes defined in the service template.
  • the obtained service template is a TOSCA service template as an input
  • the TOSCA service template as an input is parsed to obtain all nodes defined in the TOSCA service template.
  • Step 102 Generate a directed graph based on the nodes.
  • the directed graph is used to represent a relationship between nodes in the service template.
  • the workflow modeling device traverses all the nodes of the obtained service template and analyzes the relationships between the nodes in the service template.
  • the relationships between nodes include, but are not limited to, dependencies (tosca.relationships.DependsOn), and the dependencies include, but are not limited to: connection relationships (tosca.relationships.ConnectsTo), host relationships (tosca.relationships.HostOn), and so on.
  • the relationship has two endpoints, namely the provider and the demander, so a directional line segment can be generated according to the node relationship.
  • the provider of the relationship is the end point pointed by the line segment
  • the demander of the relationship is the The edge points to the starting point.
  • Step 103 Generate a high-level workflow template according to the directed graph.
  • the high-level workflow template includes a workflow of each node in the service template.
  • a high-level workflow template for life cycle management is generated according to the directed graph, and the high-level workflow template uses a high-level abstract language (information model) that is independent of the specific workflow language to represent the workflow.
  • the information model contains basic elements representing actions, execution sequences, branch judgments, etc. in the workflow, but uses an abstract high-level model, which has nothing to do with the specific workflow language.
  • Each of these action nodes comes from the operations defined by the nodes in the TOSCA service template, such as create, start, stop, delete, etc. Because this high-level workflow template defines an information model that is independent of the specific workflow language, it can be converted to any workflow language as needed.
  • the method further includes:
  • the business requirements are read, and the execution order of each node in the high-level workflow template is adjusted according to the business requirements, or a new workflow node is added.
  • Step 104 Generate a workflow execution script file according to the high-level workflow template, and establish an association relationship between the workflow execution script file and the service template.
  • a workflow execution script file expressed in a specific workflow execution language is generated.
  • the script may be a business process model and notation (BPMN, Business Process Model and Notation).
  • BPMN Business Process Model and Notation
  • BPEL Business Process Execution Language
  • OpenStack Mistral any workflow execution language.
  • OpenStack is an open source cloud computing management platform project, and Mistral provides workflow service components for OpenStack.
  • the purpose is that the orchestrator can find and execute the corresponding workflow script according to the association when performing lifecycle management on the cloud service described by the service template. For example, when deploying the cloud service, a deployment workflow corresponding to the cloud service template can be found according to the association relationship.
  • the method provided by the embodiment of the present invention automatically generates an abstract high-level workflow template according to the topology relationship of each node in the TOSCA service template, which can be extended based on the workflow template, adjust the node order, or add a custom action node, and then according to
  • the high-level workflow template generates a workflow execution script file expressed in a specific workflow execution language, and finally completes the network service lifecycle management workflow modeling, thereby introducing the imperative work while taking the convenience of declarative workflow into consideration.
  • the flexibility of the flow can effectively support the modeling of the network service lifecycle management process in the NFV scenario.
  • the service template describes the composition and topology of a blog application.
  • the blog application runs on a web server and uses a MySql database. Both the MySql database and the web server run on the same compute node.
  • the core content of the TOSCA service template and the dependencies between various nodes are shown in Figure 2.
  • a workflow modeling method provided by an embodiment of the present invention can generate a deployed workflow according to a service template, and the automatically generated template meets deployment requirements without adjustment.
  • the method may include the following steps:
  • Step 201 Parse the obtained service template to obtain each node defined in the service template.
  • the workflow modeling device parses the TOSCA service template as an input, and obtains all nodes defined in the TOSCA service template.
  • the TOSCA service template is a formatted text file that defines each node included in the cloud application, which can specifically include: server nodes, database system nodes, database instance nodes, application server nodes, and blog application nodes.
  • a text processing program can read the formatted text file, parse out all nodes, and save it into a memory data structure.
  • Step 202 traverse each node to obtain the relationship between each node in the service template; and generate a directed graph according to the relationship between each node in the service template.
  • the workflow modeling device traverses all the nodes of the TOSCA service template, analyzes the relationships between the nodes in the TOSCA service template, and generates a directed graph.
  • the endpoints of the directed graph represent the nodes in the service template.
  • the connections between the nodes are directed.
  • the direction represents the dependencies between the nodes.
  • the nodes at the starting point of the arrows depend on the nodes pointed by the arrows.
  • the dependency relationship between nodes includes a connection relationship (ConnectsTo) and a host relationship (HostOn).
  • ConnectsTo connection relationship
  • HostOn host relationship
  • the algorithm is a dependency relationship.
  • the source node of the connection relationship depends on the destination node of the connection relationship.
  • the host The source node of the relationship depends on the destination node of the host relationship, and the generated directed graph is shown in Figure 4.
  • Step 203 Acquire a node in the directed graph according to the execution order of each node, and acquire an operation defined by the node in the service template.
  • the first node in the directed graph is obtained according to the execution order of each node, and the operation defined by the first node in the service template is obtained, where the first node is the one started in the work execution order. node.
  • one node of the directed graph that is, the first node, is obtained according to the execution order of each node, and operations defined by the node are obtained from the TOSCA service template, such as operations such as creating, starting, stopping, and deleting.
  • Step 204 Add a workflow node to the preset high-level workflow template according to the type of the preset life cycle management process, and the workflow node represents the operation of the directed graph node.
  • a first workflow node is added to a preset high-level workflow template according to a type of a preset life cycle management process, where the first workflow node is used to indicate an operation defined by the first node.
  • the corresponding operation of the first node is added to the high-level workflow template, that is, the first high-level workflow template is added to indicate the operation defined by the first node.
  • Workflow node is added to the high-level workflow template, that is, the first high-level workflow template is added to indicate the operation defined by the first node.
  • the process steps in generating the high-level workflow template in step 204 are related to the type of lifecycle management corresponding to the workflow.
  • the deployed workflow template needs to call the creation, startup, configuration operation of the node, and the deleted template needs to be called. Stop and destroy nodes. Since a deployment workflow is created in this embodiment, it is necessary to create, start, and configure node operations corresponding to this node into the high-level workflow template.
  • Step 205 It is determined whether there are more nodes in the directed graph, and if there are more nodes, step 203 is performed, otherwise step 206 is performed.
  • step 203 it is determined whether there are nodes other than the first node in the directed graph.
  • step 203 is performed, otherwise step 206 is performed.
  • the second node in the directed graph is repeatedly obtained according to the execution order of each node, and the service template is obtained.
  • the operation defined by the second node adds a second workflow node to a preset high-level workflow template according to the type of the preset life cycle management process, until each node in the directed graph is added to the In the preset high-level workflow template, a preset high-level workflow template for each node in the directed graph is added as the high-level workflow template.
  • the second node is a node that is executed after the first node, and the second workflow node is used to indicate an operation defined by the second node.
  • Step 206 Convert the high-level workflow template into a preset workflow execution script file, and establish a path association relationship between the service template and the preset workflow execution script file.
  • Step 206 converts the high-level workflow template into a business process model and notation (BPMN, Business Model and Notation) workflow script file according to the syntax of BPMN and DSL.
  • the workflow script file can be executed by any workflow engine that complies with the BPMN specification.
  • the created BPMN workflow script file is associated with the TOSCA service template.
  • the specific association method is shown in Figure 6.
  • the method provided by the embodiment of the present invention automatically generates an abstract high-level workflow template according to the topology relationship of each node in the TOSCA service template, and then generates a workflow execution script file expressed in a specific workflow execution language according to the high-level workflow template.
  • a workflow modeling method provided by an embodiment of the present invention can generate a deployed workflow according to the service template, and the workflow node order of the automatically generated template needs to be adjusted. As shown in the flowchart of the workflow modeling method shown in FIG. 7, the method may include the following steps:
  • Step 301 Parse the obtained service template to obtain each node defined in the service template.
  • the workflow modeling device parses the TOSCA service template as an input, and obtains all nodes defined in the TOSCA service template.
  • the TOSCA service template is a formatted text file that defines each node included in the cloud application, which can specifically include: server nodes, database system nodes, database instance nodes, application server nodes, and blog application nodes.
  • a text processing program can read the formatted text file, parse out all nodes, and save it into a memory data structure.
  • Step 302 traverse each node to obtain the relationship between the nodes in the service template; and generate a directed graph according to the relationship between the nodes in the service template.
  • the workflow modeling device traverses all the nodes in the TOSCA service template, analyzes the relationships between the nodes in the TOSCA service template, and generates a directed graph.
  • the endpoints of the directed graph represent the nodes in the service template.
  • the connections between the nodes are directed.
  • the direction represents the dependencies between the nodes.
  • the nodes at the starting point of the arrows depend on the nodes pointed by the arrows.
  • the dependency relationship between nodes includes a connection relationship (ConnectsTo) and a host relationship (HostOn).
  • ConnectsTo connection relationship
  • HostOn host relationship
  • the algorithm is a dependency relationship.
  • the source node of the connection relationship depends on the destination node of the connection relationship, and the host relationship.
  • the source node depends on the destination node of the host relationship.
  • the generated directed graph is shown in Figure 4.
  • Step 303 Acquire a node in the directed graph according to the execution order of each node, and acquire an operation defined by the node in the service template.
  • the first node in the directed graph is obtained according to the execution order of each node, and the operation defined by the first node in the service template is obtained, where the first node is the one started in the work execution order. node.
  • one node of the directed graph that is, the first node, is taken out according to the execution order of each node, and operations defined by the node are obtained from the TOSCA service template, such as create, start, stop, and delete operations.
  • Step 304 Add a workflow node to the preset high-level workflow template according to the type of the preset life cycle management process, and the workflow node represents the operation of the directed graph node.
  • a first workflow node is added to a preset high-level workflow template according to a type of a preset life cycle management process, where the first workflow node is used to indicate an operation defined by the first node.
  • the corresponding operation of the first node is added to the high-level workflow template, that is, the first high-level workflow template is added to indicate the operation defined by the first node.
  • the workflow node is created in this embodiment as a deployment workflow, it is necessary to create, start, and configure node operations corresponding to this node into the high-level workflow template.
  • Step 305 It is determined whether there are more nodes in the directed graph, and if there are more nodes, step 303 is performed, otherwise step 306 is performed.
  • step 303 it is determined whether there are nodes other than the first node in the directed graph.
  • step 303 is performed, otherwise step 306 is performed. .
  • the second node in the directed graph is repeatedly obtained according to the execution order of each node, and the service template is obtained.
  • the operation defined by the second node adds a second workflow node to a preset high-level workflow template according to the type of the preset life cycle management process, until each node in the directed graph is added to the In the preset high-level workflow template, a preset high-level workflow template for each node in the directed graph is added as the high-level workflow template.
  • the second node is a node that is executed after the first node, and the second workflow node is used to indicate an operation defined by the second node.
  • Step 306 Obtain business requirements, adjust the execution order of each node in the high-level workflow template according to the business requirements, and obtain an adjusted high-level workflow template.
  • the business requirements can be obtained according to the actual business needs of the user, and the execution order of each node in the automatically generated high-level workflow template is adjusted.
  • each operation node in the automatically generated default high-level workflow template is executed serially, but if the deployment operation does not involve Global resource locks can be executed concurrently to speed up execution efficiency.
  • the deployment process of the database and the web server can be adjusted and executed serially, for example, as shown in FIG. 8.
  • Step 307 Convert the adjusted high-level workflow template into a preset workflow execution script file, and establish a path association relationship between the service template and the preset workflow execution script file.
  • the above steps generate a high-level workflow template for deploying the service template according to the TOSCA service template.
  • the resulting high-level workflow template is shown in FIG. 8.
  • This step converts the high-level workflow template into a BPEL workflow script file according to the syntax of BPEL DSL.
  • the workflow script file can be executed by any workflow engine that complies with the BPEL specification.
  • the method provided by the embodiment of the present invention automatically generates an abstract high-level workflow template based on the topology relationship of each node in the TOSCA service template, which can be extended based on the workflow template, adjust the node order, and then generate an application based on the high-level workflow template.
  • the workflow execution script file expressed by the specific workflow execution language finally completes the network service lifecycle management workflow modeling, thereby taking into account the convenience of declarative workflow while introducing the flexibility of imperative workflow, which can be effective To support the modeling of network service lifecycle management processes in NFV scenarios.
  • An embodiment of the present invention provides a workflow modeling method, and a deployed workflow is generated according to the service template, and a custom workflow node needs to be added.
  • the method may include the following steps:
  • Step 401 Parse the obtained service template to obtain each node defined in the service template.
  • the workflow modeling device parses the TOSCA service template as an input, and obtains all nodes defined in the TOSCA service template.
  • the TOSCA service template is a formatted text file that defines each node included in the cloud application, which can specifically include: server nodes, database system nodes, database instance nodes, application server nodes, and blog application nodes.
  • a text processing program can read the formatted text file, parse out all nodes, and save it into a memory data structure.
  • Step 402 traverse each node to obtain the relationship between the nodes in the service template; and generate a directed graph according to the relationship between the nodes in the service template.
  • the workflow modeling device traverses all the nodes of the TOSCA service template, analyzes the relationships between the nodes in the TOSCA service template, and generates a directed graph.
  • the endpoints of the directed graph represent the nodes in the service template.
  • the connections between the nodes are directed.
  • the direction represents the dependencies between the nodes.
  • the nodes at the starting point of the arrows depend on the nodes pointed by the arrows.
  • the relationship between the nodes includes a connection relationship (ConnectsTo) and a host relationship (HostOn).
  • ConnectsTo connection relationship
  • HostOn host relationship
  • the algorithm is a dependency relationship.
  • the source node of the connection relationship depends on the destination node of the connection relationship.
  • the source node depends on the destination node of the host relationship.
  • the generated directed graph is shown in Figure 4.
  • Step 403 Acquire a node in the directed graph according to the execution order of each node, and acquire the operation defined by the node in the service template.
  • the first node in the directed graph is acquired according to the execution order of each node, and the operation defined by the first node in the service template is acquired.
  • the first node is a node that starts in the work execution sequence.
  • one node of the directed graph that is, the first node, is taken out according to the execution order of each node, and the operations defined by the node, such as create, start, stop, and delete operations, are obtained from the TOSCA service template.
  • Step 404 Add a workflow node to the preset high-level workflow template according to the type of the preset life cycle management process, and the workflow node represents the operation of the directed graph node.
  • a first workflow node is added to a preset high-level workflow template according to a type of a preset life cycle management process.
  • the first workflow node is used to indicate an operation defined by the first node.
  • the corresponding operation of the node is added to the high-level workflow template. Since a deployment workflow is created in this embodiment, the node needs to be created and started correspondingly. The configuration node operation is added to the high-level workflow template.
  • Step 405 It is determined whether there are more nodes in the directed graph, and if there are more nodes, step 403 is performed, otherwise step 406 is performed.
  • step 403 it is determined whether there are nodes other than the first node in the directed graph.
  • step 406 it is determined whether there are nodes other than the first node in the directed graph.
  • the second node in the directed graph is repeatedly obtained according to the execution order of each node, and the service template is obtained.
  • the operation defined by the second node adds a second workflow node to a preset high-level workflow template according to the type of the preset life cycle management process, until each node in the directed graph is added to the In the preset high-level workflow template, a preset high-level workflow template for each node in the directed graph is added as the high-level workflow template.
  • the second node is a node that is executed after the first node, and the second workflow node is used to indicate an operation defined by the second node.
  • Step 406 Obtain business requirements, and add at least one workflow node to the high-level workflow template according to the business requirements to obtain an adjusted high-level workflow template.
  • the business requirement is to import data from another blog site when deploying the service. Because this part of the logic cannot be expressed in the TOSCA service template, a custom workflow node needs to be added for processing.
  • a workflow node for importing data is added to the high-level workflow template generated in the previous step.
  • Step 407 Convert the adjusted high-level workflow template into a preset workflow execution script file, and establish a path association relationship between the service template and the preset workflow execution script file.
  • the above steps generate a high-level workflow template for deploying the service template according to the TOSCA service template, and the resulting high-level workflow template is shown in FIG. 10.
  • the high-level workflow template is converted into a yaml workflow script file (the Mistral workflow is defined as a yaml format) according to the syntax of the OpenStack Mistral workflow.
  • This workflow script file can be executed by any OpenStack Mistral workflow engine.
  • the method provided by the embodiment of the present invention automatically generates an abstract high-level workflow template according to the topology relationship of each node in the TOSCA service template, which can be extended based on the workflow template, adding a custom action node, and then according to the high-level workflow template Generate a workflow execution script file expressed in a specific workflow execution language, and finally complete the modeling of the web service lifecycle management workflow, thereby taking into account the convenience of a declarative workflow while introducing the flexibility of an imperative workflow Can effectively support the modeling of network service lifecycle management processes in NFV scenarios.
  • An embodiment of the present invention further provides a workflow modeling device 50, as shown in FIG. 11, including:
  • a parsing unit 501 configured to parse the obtained service template to obtain each node defined in the service template
  • a generating unit 502 is configured to generate a directed graph based on the respective nodes, and the directed graph is used to represent a relationship between various nodes in the service template; and is further configured to generate a high-level workflow according to the directed graph.
  • a template, the high-level workflow template includes: a workflow of each node in the service template; and is further configured to generate a workflow execution script file according to the high-level workflow template, and establish the workflow execution script file and the Association of service templates.
  • the generating unit 502 is specifically configured to:
  • the generating unit 502 is specifically configured to:
  • first node in the directed graph according to the execution order of each node, obtaining the operation defined by the first node in the service template, and according to the type of the preset life cycle management process in the preset high-level workflow template Adding a first workflow node, wherein the first node is a node started in the work execution sequence, and the first workflow node is used to indicate an operation defined by the first node;
  • the second node in the directed graph is repeatedly obtained according to the execution order of each node, and the first node in the service template is obtained. Operations defined by two nodes, adding a second workflow node to a preset high-level workflow template according to the type of the preset life cycle management process, until each node in the directed graph is added to the preset high-level In the workflow template, a preset high-level workflow template for each node in the directed graph is added as the high-level workflow template, wherein the second node is a node executed after the first node, and the The second workflow node is used to indicate an operation defined by the second node.
  • the apparatus further includes an adjustment unit 503 configured to obtain a service requirement, adjust the high-level workflow template according to the service requirement, and obtain an adjusted high-level workflow template.
  • the apparatus further includes an adjustment unit 503 configured to adjust an execution order of each node in the high-level workflow template according to a service requirement.
  • the apparatus further includes an adjustment unit 503 configured to add at least one workflow node to the high-level workflow template according to a service requirement.
  • the generating unit 502 is specifically configured to:
  • the workflow modeling device provided by the embodiment of the present invention automatically generates an abstract high-level workflow template according to the topology relationship of each node in the TOSCA service template, which can be expanded based on the workflow template, adjust the node order, or add custom actions. Node, and then generate a workflow execution script file expressed in a specific workflow execution language according to the high-level workflow template, and finally complete the network service lifecycle management workflow modeling, thereby introducing the convenience of declarative workflow while taking into account
  • the flexibility of the imperative workflow can effectively support the modeling of the network service lifecycle management process in the NFV scenario.
  • An embodiment of the present invention further provides a workflow modeling device 60.
  • the workflow modeling device 60 includes a processor 601 and a memory 602. Among them,
  • the memory 602 is configured to store a computer program capable of running on the processor
  • the processor 601 is configured to execute the steps of the workflow modeling method described above when running the computer program.
  • the memory 602 may be a volatile memory or a non-volatile memory, and may also include both volatile and non-volatile memories.
  • the non-volatile memory may be a read-only memory (ROM, Read Only Memory), a programmable read-only memory (PROM, Programmable Read-Only Memory), or an erasable programmable read-only memory (EPROM, Erasable Programmable Read- Only Memory), Electrically Erasable and Programmable Read-Only Memory (EEPROM), Magnetic Random Access Memory (FRAM, ferromagnetic random access memory), Flash Memory (Flash Memory), Magnetic Surface Memory , Compact disc, or read-only compact disc (CD-ROM, Compact Disc-Read-Only Memory); the magnetic surface memory can be a disk memory or a tape memory.
  • the volatile memory may be a random access memory (RAM, Random Access Memory), which is used as an external cache.
  • RAM random access memory
  • RAM Random Access Memory
  • many forms of RAM are available, such as Static Random Access Memory (SRAM, Static Random Access Memory), Synchronous Static Random Access Memory (SSRAM, Static Random Access, Memory), Dynamic Random Access DRAM (Dynamic Random Access Memory), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Double Data Rate Rate Synchronous Dynamic Access Random Access Memory, Enhanced Type Synchronous Dynamic Random Access Memory (ESDRAM, Enhanced Synchronous Random Access Memory), Synchronous Link Dynamic Random Access Memory (SLDRAM, SyncLink Dynamic Access Random Access Memory), Direct Memory Bus Random Access Memory (DRRAM, Direct Rambus Random Access Memory) ).
  • the memory 602 described in the embodiments of the present invention is intended to include, but not limited to, these and any other suitable types of memory.
  • the method disclosed in the foregoing embodiment of the present invention may be applied to the processor 601, or implemented by the processor 601.
  • the processor 601 may be an integrated circuit chip and has a signal processing capability. More specifically, it has a workflow modeling algorithm built in, that is, it has a workflow modeling capability. In the implementation process, each step of the above method may be completed by using an integrated logic circuit of hardware in the processor 601 or an instruction in the form of software.
  • the above processor 601 may be a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like.
  • DSP Digital Signal Processor
  • the processor 601 may implement or execute various methods, steps, and logic block diagrams disclosed in the embodiments of the present invention.
  • a general-purpose processor may be a microprocessor or any conventional processor.
  • the steps of the method disclosed in the embodiments of the present invention may be directly implemented by a hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
  • the software module may be located in a storage medium.
  • the storage medium is located in the memory 602.
  • the processor 601 reads information in the memory 602 and completes the steps of the foregoing method in combination with its hardware.
  • the workflow modeling device may be implemented by one or more application-specific integrated circuits (ASICs, Application Specific Integrated Circuits), DSPs, Programmable Logic Devices (PLDs), and complex programmable logic devices.
  • ASICs Application Specific Integrated Circuits
  • DSPs Programmable Logic Devices
  • PLDs Programmable Logic Devices
  • complex programmable logic devices CPLD, Complex Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • general-purpose processor controller, microcontroller (MCU, Micro Controller Unit), microprocessor (Microprocessor), or Other electronic component implementations for performing the aforementioned method.
  • an embodiment of the present invention further provides a storage medium, which may specifically be a computer-readable storage medium, for example, a memory including a computer program, and the computer program may be executed by a processor of a workflow modeling device to Complete the steps described in the previous method.
  • the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disk, or CD-ROM.
  • An embodiment of the present invention provides a computer-readable storage medium.
  • the computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement any one of the foregoing. Steps of the workflow modeling method described in item.
  • the embodiments of the present invention may be provided as a method, a system, or a computer program product. Therefore, the present invention may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, magnetic disk memory, optical memory, etc.) containing computer-usable program code.
  • a computer-usable storage media including, but not limited to, magnetic disk memory, optical memory, etc.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to work in a specific manner such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction device, the instructions
  • the device implements the functions specified in one or more flowcharts and / or one or more blocks of the block diagram.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of steps can be performed on the computer or other programmable device to produce a computer-implemented process, which can be executed on the computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.

Abstract

Disclosed by the embodiments of the present invention is a workflow modeling method, comprising: parsing an acquired service template so as to obtain each node defined in the service template; generating a directed graph on the basis of the each node, the directed graph being used for indicating a relationship between each node in the service template; generating a high-level workflow template according to the directed graph, the high-level workflow template comprising: a workflow of each node in the service template; and generating a workflow execution script file according to the high-level workflow template, and establishing an association relationship between the workflow execution script file and the service template. Also disclosed by the embodiments of the present invention are a workflow modeling device and a computer-readable storage medium.

Description

一种工作流建模方法、装置和计算机可读存储介质Workflow modeling method, device and computer-readable storage medium
本申请要求享有2018年06月14日提交的名称为“一种工作流建模方法、装置和计算机可读存储介质”的中国专利申请CN201810616144.8的优先权,其全部内容通过引用并入本文中。This application claims priority from Chinese patent application CN201810616144.8 entitled "A Workflow Modeling Method, Apparatus, and Computer-readable Storage Medium" filed on June 14, 2018, the entire contents of which are incorporated herein by reference. in.
技术领域Technical field
本发明涉及网络功能虚拟化(NFV,Network Function Virtualization)领域,尤其涉及一种工作流建模方法、装置和计算机可读存储介质。The invention relates to the field of Network Function Virtualization (NFV), in particular to a method, device and computer-readable storage medium for modeling workflow.
背景技术Background technique
近年来,云计算、虚拟化技术发展迅速,带来了很多创新,同时也给运营商带来很大的压力,运营商面临寻找新的收入增长点,以抵消OTT(Over The Top)业务带来的影响,同时为了降低企业的管理支出OPEX(Operating Expense),通过软硬件解耦及功能抽象,使网络设备功能不再依赖于专用硬件,资源可以充分灵活共享,实现新业务的快速开发和部署,并基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等快速开展业务,因此需要通过网络功能虚拟化来解决这些问题。In recent years, the rapid development of cloud computing and virtualization technologies has brought a lot of innovation, and at the same time, it has put a lot of pressure on operators. Operators are looking for new revenue growth points to offset the OTT (Over The Top) business belt. At the same time, in order to reduce the management expenditure of the enterprise OPEX (Operating Expense), through the decoupling of software and hardware and functional abstraction, the network equipment functions no longer depend on dedicated hardware, resources can be fully and flexibly shared, and rapid development of new services and Deploy and quickly deploy services based on actual business requirements such as automatic deployment, elastic scaling, fault isolation, and self-healing. Therefore, network function virtualization is required to solve these problems.
为了增强云应用(Cloud Application)在各种云基础设施上的可移植性,结构化信息标准推进组织(OASIS,Organization for the Advancement of Structured Information Standards)制定了云应用拓扑及编排规范(TOSCA,Topology and Orchestration Specification for Cloud Applications)。TOSCA通过服务模板(Service Template)描述了组成Cloud Application的各个组件及组件之间的拓扑关系,编排器(Orchestrator)通过对服务模板进行解析,在云基础设施上申请计算和网络资源,对服务进行实例化及升级,缩扩容,终止等生命周期管理。In order to enhance the portability of cloud applications on various cloud infrastructures, the Organization for the Advancement of Structured Information Standards (OASIS) for the Advancement of Structured Information Standards (TOSCA, Topology) and Orchestration Specification for Cloud Applications). TOSCA describes the components that make up the Cloud Application and the topological relationship between them through a service template. The Orchestrator analyzes the service template, applies for computing and network resources on the cloud infrastructure, and performs service processing. Instantiate and upgrade, reduce and expand, terminate and other life cycle management.
TOSCA不只制定了云应用编排的基本规范,还基于该基本规范进行扩展,参考ETSI NFV MANO架构和标准制定了NFV领域的编排规范。目前TOSCA编排规范已经被多家主流运营商和电信设备商采用,是NFV领域的主流编排标准。TOSCA服务模板中的工作流用于对NFV网络服务进行部署、升级、扩容等生命周期管理的流程,属于模板中的重要内容。编排器在进行网络服务生命周期管理时,需要执行服务模板对应的生 命周期管理工作流。TOSCA支持两种生命周期管理工作流定义方法:声明式(declarative)工作流和命令式(imperative)工作流。TOSCA not only formulated the basic specifications for cloud application orchestration, but also expanded based on this basic specification. With reference to the ETSI, NFV, MANO architecture and standards, it formulated the orchestration specifications in the NFV field. Currently, the TOSCA orchestration specification has been adopted by a number of mainstream operators and telecommunications equipment vendors, and is the mainstream orchestration standard in the NFV field. The workflow in the TOSCA service template is used to deploy, upgrade, and expand the life cycle management processes of NFV network services. It belongs to the important content of the template. When orchestrator performs network service lifecycle management, it needs to execute the lifecycle management workflow corresponding to the service template. TOSCA supports two methods for defining lifecycle management workflow: declarative workflow and imperative workflow.
对于声明式工作流,在服务模板中不显示定义工作流,由编排器在实例化网络服务时根据TOSCA服务模板中各个节点之间的依赖关系来决定各组件创建的先后顺序。假设目的节点依赖于源节点,则编排器在执行时先创建目的节点实例,然后再创建源节点实例。声明式工作流的特点是生命周期管理工作流由编排器在部署服务模板时根据服务模板的拓扑自动生成,不需要显示定义工作流文件,但缺乏灵活性,无法对工作流进行扩展。对于命令式工作流,由于声明式工作流无法表达出某些复杂的生命周期管理流程,因此TOSCA也支持显示定义工作流,即命令式工作流。命令式工作流的特点是非常灵活,用户可以根据需要定义工作流中的每一个步骤,但比较繁琐。TOSCA规范中包含了一种简单的工作流定义领域专用语(DSL,Domain Specific Language)可以在服务模板中定义简单的工作流,明确指出每一个步骤中执行哪个节点的哪个方法。For the declarative workflow, the definition workflow is not displayed in the service template. The orchestrator determines the order in which each component is created according to the dependencies between the nodes in the TOSCA service template when instantiating the network service. Assuming that the destination node depends on the source node, the orchestrator first creates the destination node instance during execution, and then creates the source node instance. The characteristic of declarative workflow is that the lifecycle management workflow is automatically generated by the orchestrator according to the topology of the service template when deploying the service template. There is no need to explicitly define the workflow file, but it lacks flexibility and cannot expand the workflow. For imperative workflows, since declarative workflows cannot express some complex lifecycle management processes, TOSCA also supports explicit definition workflows, that is, imperative workflows. The imperative workflow is very flexible. Users can define each step in the workflow according to their needs, but it is more tedious. The TOSCA specification includes a simple workflow definition domain specific language (DSL, Domain Specific Language), which can define a simple workflow in a service template, clearly indicating which node and which method is executed in each step.
目前TOSCA规范中两种工作流建模方法都存在一定的局限性,在应用到NFV服务模板生命周期管理工作流建模时面临以下问题:At present, the two workflow modeling methods in the TOSCA specification have certain limitations, and they face the following problems when applied to NFV service template lifecycle management workflow modeling:
一、声明式工作流无法实现NFV领域复杂的生命周期管理流程I. Declarative workflows cannot implement complex lifecycle management processes in the NFV field
TOSCA声明式工作流的意图是定义一个完全和编排器无关的,可在各个编排器实现之间无缝切换的云软件数据模型。但由于NFV领域的复杂性,目前尚无法实现模型完全独立于编排器,例如,虚拟网络功能(VNF,Virtual Network Function)的数据中心位置选择,跨WAN的底层链接创建等都和具体的编排器技术实现相关,因此需要采用命令式工作流显示地对网络服务的生命周期流程进行编排。The intent of the TOSCA declarative workflow is to define a cloud software data model that is completely independent of the orchestrator and can seamlessly switch between orchestrator implementations. However, due to the complexity of the NFV field, it is currently impossible to achieve a model that is completely independent of the orchestrator. For example, the choice of data center location for virtual network functions (VNF, Virtual Network Function), the creation of underlying links across the WAN, and the specific orchestrator Technology implementation is related, so it is necessary to use the imperative workflow to orchestrate the life cycle process of network services.
二、内置工作流语言的语法具有较大局限性Second, the syntax of the built-in workflow language has greater limitations
TOSCA内置的工作流DSL语言也存在较大的局限性,导致其不能支撑NFV领域的网络服务生命周期管理流程编排,其问题包括但不限于:TOSCA's built-in workflow DSL language also has major limitations, which makes it unable to support the orchestration of network service lifecycle management processes in the NFV field. Its problems include, but are not limited to:
1、TOSCA内置工作流DSL只能调用TOSCA服务模板中节点的操作,但无法调用模板外部的服务。例如在NFV的编排中,需要调用到计算VNF应创建在哪个数据中心的资源选择服务,用于配置网元数据的EMS服务等。1. TOSCA's built-in workflow DSL can only call operations on nodes in the TOSCA service template, but cannot call services outside the template. For example, in the NFV orchestration, a resource selection service for calculating which data center a VNF should be created, and an EMS service for configuring network element data need to be called.
2、TOSCA内置工作流DSL不支持需要和用户交互的工作流节点。例如在工作流的某一步骤需要用户输入一个参数,如人工选择一个虚拟基础资源管理器(VIM,Virtual Infrastructure Manager)。2. TOSCA's built-in workflow DSL does not support workflow nodes that need to interact with users. For example, at a certain step of the workflow, the user is required to input a parameter, such as manually selecting a virtual infrastructure resource manager (VIM, Virtual Infrastructure Manager).
从而可以看出,无论是TSOCA的声明式工作流和其内置的命令式工作流都存在一 定的局限性,导致现有规范内容不能有效支撑NFV领域的网络服务生命周期管理流程编排。Therefore, it can be seen that both TSOCA's declarative workflow and its built-in imperative workflow have certain limitations, resulting in the existing specification content cannot effectively support the orchestration of network service lifecycle management processes in the NFV field.
发明内容Summary of the Invention
为解决现有存在的技术问题,本发明实施例提供一种工作流建模方法、装置和计算机可读存储介质,解决了TOSCA声明式工作流流程固定,无法进行扩展以及TOSCA内置工作流语言无法调用外部服务等局限性的问题。In order to solve the existing technical problems, embodiments of the present invention provide a workflow modeling method, device, and computer-readable storage medium, which solves the problem that the TOSCA declarative workflow process is fixed, cannot be extended, and the built-in TOSCA workflow language cannot be used. Limitations such as calling external services.
为达到上述目的,本发明实施例的技术方案是这样实现的:To achieve the above object, the technical solution of the embodiment of the present invention is implemented as follows:
本发明实施例提供一种工作流建模方法,包括:An embodiment of the present invention provides a workflow modeling method, including:
解析获取的服务模板,获得所述服务模板中定义的各个节点;Parse the obtained service template to obtain each node defined in the service template;
基于所述各个节点,生成有向图,所述有向图用于表示所述服务模板中各个节点之间的关系;Generating a directed graph based on the respective nodes, the directed graph used to represent a relationship between various nodes in the service template;
根据所述有向图生成高层工作流模板,所述高层工作流模板中包括:所述服务模板中各个节点的工作流程;Generating a high-level workflow template according to the directed graph, where the high-level workflow template includes: a workflow of each node in the service template;
根据所述高层工作流模板生成工作流执行脚本文件,建立所述工作流执行脚本文件与所述服务模板的关联关系。Generate a workflow execution script file according to the high-level workflow template, and establish an association relationship between the workflow execution script file and the service template.
本发明实施例还提供一种工作流建模装置,包括:An embodiment of the present invention further provides a workflow modeling device, including:
解析单元,用于解析获取的服务模板,获得所述服务模板中定义的各个节点;A parsing unit, configured to parse the obtained service template to obtain each node defined in the service template;
生成单元,用于基于所述各个节点,生成有向图,所述有向图用于表示所述服务模板中各个节点之间的关系;还用于根据所述有向图生成高层工作流模板,所述高层工作流模板中包括:所述服务模板中各个节点的工作流程;还用于根据所述高层工作流模板生成工作流执行脚本文件,建立所述工作流执行脚本文件与所述服务模板的关联关系。A generating unit, configured to generate a directed graph based on the respective nodes, the directed graph used to represent a relationship between various nodes in the service template; and used to generate a high-level workflow template based on the directed graph The high-level workflow template includes: a workflow of each node in the service template; and is further configured to generate a workflow execution script file according to the high-level workflow template, and establish the workflow execution script file and the service. Association of templates.
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一项所述的工作流建模方法的步骤。An embodiment of the present invention further provides a computer-readable storage medium, where the computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the above tasks. The steps of an itemized workflow modeling method.
本发明实施例提供了一种工作流建模方法、装置和计算机可读存储介质,解析获取的服务模板,获得所述服务模板中定义的各个节点;基于所述各个节点,生成有向图,所述有向图用于表示所述服务模板中各个节点之间的关系;根据所述有向图生成高层工作流模板,所述高层工作流模板中包括:所述服务模板中各个节点的工作流程;根据所 述高层工作流模板生成工作流执行脚本文件,建立所述工作流执行脚本文件与所述服务模板的关联关系。本发明实施例提供的工作流建模方法、装置和计算机可读存储介质,根据服务模板中各个节点的拓扑关系自动生成一个抽象的高层工作流模板,然后根据高层工作流模板生成一个采用具体的工作流执行语言表述的工作流执行脚本文件,最终完成网络服务生命周期管理工作流建模,在兼顾了声明式工作流便利性的同时引入了命令式工作流的灵活性,可以有效地支持NFV场景下的网络服务生命周期管理流程的建模,解决了TOSCA声明式工作流流程固定,无法进行扩展以及TOSCA内置工作流语言无法调用外部服务等局限性的问题。Embodiments of the present invention provide a workflow modeling method, device, and computer-readable storage medium, parse the obtained service template, and obtain each node defined in the service template; generate a directed graph based on the each node, The directed graph is used to represent the relationship between nodes in the service template; a high-level workflow template is generated according to the directed graph, and the high-level workflow template includes: the work of each node in the service template A process; generating a workflow execution script file according to the high-level workflow template, and establishing an association relationship between the workflow execution script file and the service template. The workflow modeling method, device and computer-readable storage medium provided by the embodiments of the present invention automatically generate an abstract high-level workflow template according to the topology relationship of each node in the service template, and then generate a specific high-level workflow template based on the high-level workflow template. The workflow execution script file expressed by the workflow execution language finally completes the modeling of the network service life cycle management workflow, while taking into account the convenience of the declarative workflow while introducing the flexibility of the imperative workflow, it can effectively support NFV The modeling of the network service lifecycle management process in the scenario solves the limitations of TOSCA's declarative workflow process, which cannot be extended, and TOSCA's built-in workflow language cannot call external services.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。In the drawings, which are not necessarily drawn to scale, similar reference numerals may describe similar components in different views. Similar reference numerals with different letter suffixes may represent different examples of similar components. The drawings generally illustrate various embodiments discussed herein by way of example and not limitation.
图1为本发明实施例提供的工作流建模方法流程示意图一;FIG. 1 is a first schematic flowchart of a workflow modeling method according to an embodiment of the present invention; FIG.
图2为本发明实施例提供的博客应用程序TOSCA服务模板的核心内容和各个节点之间的依赖关系示例图;FIG. 2 is an example diagram of a dependency relationship between core content of a blog application TOSCA service template and various nodes according to an embodiment of the present invention; FIG.
图3为本发明实施例提供的工作流建模方法流程示意图二;3 is a second schematic flowchart of a workflow modeling method according to an embodiment of the present invention;
图4为本发明实施例提供的根据博客应用程序TOSCA服务模板生成的有向图;4 is a directed graph generated according to a blog application TOSCA service template according to an embodiment of the present invention;
图5为本发明实施例提供的根据博客应用程序TOSCA服务模板生成的高层工作流模板示意图;5 is a schematic diagram of a high-level workflow template generated according to a blog application TOSCA service template according to an embodiment of the present invention;
图6为本发明实施例提供的TOSCA服务模板和生成的工作流脚本文件关联示意图;FIG. 6 is a schematic diagram of an association between a TOSCA service template and a generated workflow script file according to an embodiment of the present invention; FIG.
图7为本发明实施例提供的工作流建模方法流程示意图三;7 is a third schematic flowchart of a workflow modeling method according to an embodiment of the present invention;
图8为本发明实施例提供的调整了节点执行顺序后的博客应用部署高层工作流模板示意图;8 is a schematic diagram of a high-level workflow template for a blog application deployment after adjusting a node execution order according to an embodiment of the present invention;
图9为本发明实施例提供的工作流建模方法流程示意图四;9 is a fourth schematic flowchart of a workflow modeling method according to an embodiment of the present invention;
图10为本发明实施例提供的增加了自定义节点后的博客应用部署高层工作流模板示意图;10 is a schematic diagram of a high-level workflow template for a blog application deployment after adding a custom node according to an embodiment of the present invention;
图11为本发明实施例提供的工作流建模装置结构示意图一;11 is a first schematic structural diagram of a workflow modeling device according to an embodiment of the present invention;
图12为本发明实施例提供的工作流建模装置结构示意图二;FIG. 12 is a second schematic structural diagram of a workflow modeling device according to an embodiment of the present invention; FIG.
图13为本发明实施例提供的工作流建模装置结构示意图三。FIG. 13 is a third schematic structural diagram of a workflow modeling device according to an embodiment of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention.
本发明实施例提供一种工作流建模方法,如图1所示的流程示意图,该方法可以包括以下步骤:An embodiment of the present invention provides a workflow modeling method. As shown in the schematic flow chart shown in FIG. 1, the method may include the following steps:
步骤101、解析获取的服务模板,获得所述服务模板中定义的各个节点。Step 101: Parse the obtained service template to obtain each node defined in the service template.
具体的,本发明实施例提供的工作流建模方法的执行主体可以为工作流建模装置,即工作流建模装置获取服务模板,并对服务模板进行解析,获得服务模板中定义的各个节点,也可以理解为,获得服务模板中定义的所有节点。Specifically, the execution subject of the workflow modeling method provided by the embodiment of the present invention may be a workflow modeling device, that is, the workflow modeling device obtains a service template, parses the service template, and obtains each node defined in the service template. It can also be understood as obtaining all nodes defined in the service template.
示例性的,获取的服务模板为作为输入的TOSCA服务模板,则解析作为输入的TOSCA服务模板,得到该TOSCA服务模板中定义的所有节点。Exemplarily, the obtained service template is a TOSCA service template as an input, and the TOSCA service template as an input is parsed to obtain all nodes defined in the TOSCA service template.
步骤102、基于所述各个节点,生成有向图。Step 102: Generate a directed graph based on the nodes.
其中,所述有向图用于表示所述服务模板中各个节点之间的关系。The directed graph is used to represent a relationship between nodes in the service template.
具体的,工作流建模装置遍历获取的服务模板的所有节点,分析该服务模板中各个节点之间的关系。节点间的关系包括但不限于依赖关系(tosca.relationships.DependsOn),依赖关系包括但不限于:连接关系(tosca.relationships.ConnectsTo),宿主关系(tosca.relationships.HostOn)等。Specifically, the workflow modeling device traverses all the nodes of the obtained service template and analyzes the relationships between the nodes in the service template. The relationships between nodes include, but are not limited to, dependencies (tosca.relationships.DependsOn), and the dependencies include, but are not limited to: connection relationships (tosca.relationships.ConnectsTo), host relationships (tosca.relationships.HostOn), and so on.
其中,在服务模板中,关系有两个端点,分别为提供方和需求方,因此可以根据节点关系生成一条有方向的线段,关系的提供方为该线段指向的终点,关系的需求方为该边指向的起点。将所有关系生成的线段组合在一起,就生成了一个有向图,该有向图就表示了服务模板中所有节点之间的依赖关系。有向图的示例如图4所示。Among them, in the service template, the relationship has two endpoints, namely the provider and the demander, so a directional line segment can be generated according to the node relationship. The provider of the relationship is the end point pointed by the line segment, and the demander of the relationship is the The edge points to the starting point. Combining the line segments generated by all the relationships together produces a directed graph that represents the dependencies between all nodes in the service template. An example of a directed graph is shown in Figure 4.
步骤103、根据所述有向图生成高层工作流模板。Step 103: Generate a high-level workflow template according to the directed graph.
其中,所述高层工作流模板中包括:所述服务模板中各个节点的工作流程。The high-level workflow template includes a workflow of each node in the service template.
具体的,根据该有向图生成一个生命周期管理的高层工作流模板,该高层工作流模板采用一个和具体工作流语言无关的高层抽象语言(信息模型)来表示工作流程。该信息模型中包含表示工作流中的动作,执行顺序,分支判断等的基本元素,但采用的是抽象的高层模型,和具体工作流语言无关。其中的每一个动作节点来自于TOSCA服务模板 中节点定义的操作,例如,创建,启动,停止,删除等。由于该高层工作流模板定义的是和具体工作流语言无关的信息模型,因此可以根据需要转换为任何一种工作流语言。Specifically, a high-level workflow template for life cycle management is generated according to the directed graph, and the high-level workflow template uses a high-level abstract language (information model) that is independent of the specific workflow language to represent the workflow. The information model contains basic elements representing actions, execution sequences, branch judgments, etc. in the workflow, but uses an abstract high-level model, which has nothing to do with the specific workflow language. Each of these action nodes comes from the operations defined by the nodes in the TOSCA service template, such as create, start, stop, delete, etc. Because this high-level workflow template defines an information model that is independent of the specific workflow language, it can be converted to any workflow language as needed.
在所述根据所述有向图生成高层工作流模板之后,所述方法还包括:After the generating a high-level workflow template according to the directed graph, the method further includes:
获取业务需求,根据所述业务需求调整所述高层工作流模板,获得调整后的高层工作流模板。Obtain business requirements, adjust the high-level workflow template according to the business requirements, and obtain an adjusted high-level workflow template.
具体的,读取业务需求,根据业务需求调整高层工作流模板中各个节点的执行顺序,或者增加新的工作流节点。Specifically, the business requirements are read, and the execution order of each node in the high-level workflow template is adjusted according to the business requirements, or a new workflow node is added.
步骤104、根据所述高层工作流模板生成工作流执行脚本文件,建立所述工作流执行脚本文件与所述服务模板的关联关系。Step 104: Generate a workflow execution script file according to the high-level workflow template, and establish an association relationship between the workflow execution script file and the service template.
具体的,根据该高层工作流模板的信息模型,生成一个采用具体的工作流执行语言表述的工作流执行脚本文件,该脚本可以是业务流程模型和标记法(BPMN,Business Process Model and Notation),业务流程执行语言(BPEL,Business Process Execution Language),OpenStack Mistral等任何工作流执行语言。其中,OpenStack为一个开源的云计算管理平台项目,Mistral为OpenStack提供的工作流服务组件。Specifically, according to the information model of the high-level workflow template, a workflow execution script file expressed in a specific workflow execution language is generated. The script may be a business process model and notation (BPMN, Business Process Model and Notation). Business process execution language (BPEL, Business Process Execution Language), OpenStack Mistral and any workflow execution language. Among them, OpenStack is an open source cloud computing management platform project, and Mistral provides workflow service components for OpenStack.
关联TOSCA服务模板和生成的工作流脚本文件,生成服务模板和脚本文件之间的关联关系。其目的是编排器在对服务模板描述的云服务进行生命周期管理时能够根据该关联关系找到对应的工作流脚本并执行。例如,部署该云服务时可以根据该关联关系找到该云服务模板对应的部署工作流。Associate the TOSCA service template with the generated workflow script file, and generate the association between the service template and the script file. The purpose is that the orchestrator can find and execute the corresponding workflow script according to the association when performing lifecycle management on the cloud service described by the service template. For example, when deploying the cloud service, a deployment workflow corresponding to the cloud service template can be found according to the association relationship.
本发明实施例提供的方法,根据TOSCA服务模板中各个节点的拓扑关系自动生成一个抽象的高层工作流模板,可以基于该工作流模板进行扩展,调整节点顺序或者加入自定义的动作节点,然后根据高层工作流模板生成一个采用具体的工作流执行语言表述的工作流执行脚本文件,最终完成网络服务生命周期管理工作流建模,从而在兼顾了声明式工作流便利性的同时引入了命令式工作流的灵活性,可以有效地支持NFV场景下的网络服务生命周期管理流程的建模。The method provided by the embodiment of the present invention automatically generates an abstract high-level workflow template according to the topology relationship of each node in the TOSCA service template, which can be extended based on the workflow template, adjust the node order, or add a custom action node, and then according to The high-level workflow template generates a workflow execution script file expressed in a specific workflow execution language, and finally completes the network service lifecycle management workflow modeling, thereby introducing the imperative work while taking the convenience of declarative workflow into consideration. The flexibility of the flow can effectively support the modeling of the network service lifecycle management process in the NFV scenario.
下面以一个TOSCA服务模板作为输入来举例说明本发明实施例提供的工作流建模方法的三种具体的实施方式。该服务模板描述了一个博客应用程序的组成和拓扑结构。该博客应用程序运行于一个web服务器中,并使用一个MySql数据库,MySql数据库和web服务器都运行在同一个计算节点上。TOSCA服务模板的核心内容和各个节点之间的依赖关系如图2所示。The following uses a TOSCA service template as an input to illustrate three specific implementations of the workflow modeling method provided by the embodiment of the present invention. The service template describes the composition and topology of a blog application. The blog application runs on a web server and uses a MySql database. Both the MySql database and the web server run on the same compute node. The core content of the TOSCA service template and the dependencies between various nodes are shown in Figure 2.
本发明实施例提供的一种工作流建模方法,可以根据服务模板生成部署的工作流,自动生成的模板满足部署要求,不需要进行调整。如图3所示的工作流建模方法流程示意图,该方法可以包括以下步骤:A workflow modeling method provided by an embodiment of the present invention can generate a deployed workflow according to a service template, and the automatically generated template meets deployment requirements without adjustment. As shown in the schematic diagram of the workflow modeling method shown in FIG. 3, the method may include the following steps:
步骤201、解析获取的服务模板,获得所述服务模板中定义的各个节点。Step 201: Parse the obtained service template to obtain each node defined in the service template.
具体的,工作流建模装置解析上述作为输入的TOSCA服务模板,得到该TOSCA服务模板中定义的所有节点。其中,TOSCA服务模板是一个格式化的文本文件,该文本文件中定义了该云应用包含的各个节点,具体可以包括:服务器节点,数据库系统节点,数据库实例节点,应用服务器节点及博客应用节点。具体通过一个文本处理程序可以读入该格式化的文本文件,并将所有节点解析出来,保存到一个内存数据结构中。Specifically, the workflow modeling device parses the TOSCA service template as an input, and obtains all nodes defined in the TOSCA service template. The TOSCA service template is a formatted text file that defines each node included in the cloud application, which can specifically include: server nodes, database system nodes, database instance nodes, application server nodes, and blog application nodes. Specifically, a text processing program can read the formatted text file, parse out all nodes, and save it into a memory data structure.
步骤202、遍历各个节点,获得所述服务模板中各个节点之间的关系;根据所述服务模板中各个节点之间的关系,生成有向图。Step 202: traverse each node to obtain the relationship between each node in the service template; and generate a directed graph according to the relationship between each node in the service template.
具体的,工作流建模装置遍历TOSCA服务模板的所有节点,分析该TOSCA服务模板中各个节点之间的关系,生成一个有向图。该有向图的端点表示服务模板中的节点,节点之间的连线是有方向的,方向表示节点之间的依赖关系,箭头起点的节点依赖于箭头指向的节点。Specifically, the workflow modeling device traverses all the nodes of the TOSCA service template, analyzes the relationships between the nodes in the TOSCA service template, and generates a directed graph. The endpoints of the directed graph represent the nodes in the service template. The connections between the nodes are directed. The direction represents the dependencies between the nodes. The nodes at the starting point of the arrows depend on the nodes pointed by the arrows.
在本实施例中,节点间的依赖关系包括:连接关系(ConnectsTo)和宿主关系(HostOn),生成有向图时,算法为依赖关系,连接关系的源节点依赖于连接关系的目的节点,宿主关系的源节点依赖于宿主关系的目的节点,生成的有向图,具体如图4所示。In this embodiment, the dependency relationship between nodes includes a connection relationship (ConnectsTo) and a host relationship (HostOn). When a directed graph is generated, the algorithm is a dependency relationship. The source node of the connection relationship depends on the destination node of the connection relationship. The host The source node of the relationship depends on the destination node of the host relationship, and the generated directed graph is shown in Figure 4.
步骤203、根据所述各个节点的执行顺序获取所述有向图中的一个节点,获取所述服务模板中该节点定义的操作。Step 203: Acquire a node in the directed graph according to the execution order of each node, and acquire an operation defined by the node in the service template.
具体的,根据各个节点的执行顺序获取所述有向图中的第一节点,获取所述服务模板中第一节点定义的操作,其中,所述第一节点为所述工作执行顺序中开始的节点。Specifically, the first node in the directed graph is obtained according to the execution order of each node, and the operation defined by the first node in the service template is obtained, where the first node is the one started in the work execution order. node.
具体的,按各个节点的执行顺序取出有向图的一个节点,即第一节点,从TOSCA服务模板中得到该节点定义的操作,例如创建,启动,停止,删除等操作。Specifically, one node of the directed graph, that is, the first node, is obtained according to the execution order of each node, and operations defined by the node are obtained from the TOSCA service template, such as operations such as creating, starting, stopping, and deleting.
步骤204、根据预设生命周期管理流程的类型在预设高层工作流模板中加入一个工作流节点,该工作流节点表示有向图节点的操作。Step 204: Add a workflow node to the preset high-level workflow template according to the type of the preset life cycle management process, and the workflow node represents the operation of the directed graph node.
具体的,根据预设生命周期管理流程的类型在预设高层工作流模板中加入第一工作流节点,其中,所述第一工作流节点用于指示所述第一节点定义的操作。Specifically, a first workflow node is added to a preset high-level workflow template according to a type of a preset life cycle management process, where the first workflow node is used to indicate an operation defined by the first node.
具体的,根据预设生命周期管理流程的类型,将该第一节点的相应操作加入到高层工作流模板中,即在预设高层工作流模板中加入指示该第一节点定义的操作的第一工作流节点。Specifically, according to the type of the preset life cycle management process, the corresponding operation of the first node is added to the high-level workflow template, that is, the first high-level workflow template is added to indicate the operation defined by the first node. Workflow node.
这里,步骤204中生成高层工作流模板中的流程步骤和工作流对应的生命周期管理类型有关,例如,部署的工作流模板就需要调用节点的创建,启动,配置操作,删除的模板则需要调用节点的停止,销毁等操作。由于本实施例中创建的是一个部署工作流,需要将该节点对应的创建,启动,配置节点操作加入到高层工作流模板中。Here, the process steps in generating the high-level workflow template in step 204 are related to the type of lifecycle management corresponding to the workflow. For example, the deployed workflow template needs to call the creation, startup, configuration operation of the node, and the deleted template needs to be called. Stop and destroy nodes. Since a deployment workflow is created in this embodiment, it is necessary to create, start, and configure node operations corresponding to this node into the high-level workflow template.
步骤205、判断有向图中是否有更多的节点,如果有更多节点则执行步骤203,否则执行步骤206。Step 205: It is determined whether there are more nodes in the directed graph, and if there are more nodes, step 203 is performed, otherwise step 206 is performed.
具体的,判断有向图中是否有除第一节点之外的节点,当所述有向图中包括除所述第一节点之外的节点时,则执行步骤203,否则执行步骤206。Specifically, it is determined whether there are nodes other than the first node in the directed graph. When the directed graph includes nodes other than the first node, step 203 is performed, otherwise step 206 is performed.
具体的,当所述有向图中包括除所述第一节点之外的节点时,重复按照所述各个节点的执行顺序获取所述有向图中的第二节点,获取所述服务模板中所述第二节点定义的操作,根据所述预设生命周期管理流程的类型在预设高层工作流模板中加入第二工作流节点,直到将所述有向图中每个节点加入到所述预设高层工作流模板中,加入所述有向图中每个节点的预设高层工作流模板为所述高层工作流模板。Specifically, when the directed graph includes nodes other than the first node, the second node in the directed graph is repeatedly obtained according to the execution order of each node, and the service template is obtained. The operation defined by the second node adds a second workflow node to a preset high-level workflow template according to the type of the preset life cycle management process, until each node in the directed graph is added to the In the preset high-level workflow template, a preset high-level workflow template for each node in the directed graph is added as the high-level workflow template.
其中,所述第二节点为所述第一节点之后执行的节点,所述第二工作流节点用于指示所述第二节点定义的操作。The second node is a node that is executed after the first node, and the second workflow node is used to indicate an operation defined by the second node.
步骤206、将所述高层工作流模板转换为预设工作流执行脚本文件,建立由所述服务模板查找到所述预设工作流执行脚本文件的路径关联关系。Step 206: Convert the high-level workflow template into a preset workflow execution script file, and establish a path association relationship between the service template and the preset workflow execution script file.
具体的,上述步骤根据TOSCA服务模板生成了一个用于部署该服务模板的高层工作流模板,最终得到的高层工作流模板如图5所示。步骤206根据BPMN DSL的语法将该高层工作流模板转换为一个业务流程模型和标记法(BPMN,Business Process Model and Notation)工作流脚本文件。该工作流脚本文件可以被任何遵循BPMN规范的工作流引擎执行。Specifically, the above steps generate a high-level workflow template for deploying the service template according to the TOSCA service template, and the resulting high-level workflow template is shown in FIG. 5. Step 206 converts the high-level workflow template into a business process model and notation (BPMN, Business Model and Notation) workflow script file according to the syntax of BPMN and DSL. The workflow script file can be executed by any workflow engine that complies with the BPMN specification.
具体的,将创建好的BPMN工作流脚本文件关联到TOSCA服务模板。可以在TOSCA服务模板中将服务模板的deploy生命周期管理工作流指向一个外部文件plan/deploy.bpmn。deploy.bpmn即是前面的步骤中生成的BPMN工作流脚本文件,该文件保存在TOSCA服务模板的相对目录plan中,具体关联方式如图6所示。Specifically, the created BPMN workflow script file is associated with the TOSCA service template. You can point the deployment lifecycle management workflow of the service template in the TOSCA service template to an external file plan / deploy.bpmn. deploy.bpmn is the BPMN workflow script file generated in the previous step. This file is saved in the relative directory plan of the TOSCA service template. The specific association method is shown in Figure 6.
本发明实施例提供的方法,根据TOSCA服务模板中各个节点的拓扑关系自动生成一个抽象的高层工作流模板,然后根据高层工作流模板生成一个采用具体的工作流执行语言表述的工作流执行脚本文件,最终完成网络服务生命周期管理工作流建模,从而在兼顾了声明式工作流便利性的同时引入了命令式工作流的灵活性,可以有效地支持NFV场景下的网络服务生命周期管理流程的建模。The method provided by the embodiment of the present invention automatically generates an abstract high-level workflow template according to the topology relationship of each node in the TOSCA service template, and then generates a workflow execution script file expressed in a specific workflow execution language according to the high-level workflow template. , Finally complete the network service lifecycle management workflow modeling, thereby taking into account the convenience of the declarative workflow while introducing the flexibility of the imperative workflow, can effectively support the network service lifecycle management process in the NFV scenario Modeling.
本发明实施例提供的一种工作流建模方法,可以根据该服务模板生成部署的工作流,自动生成的模板的工作流节点顺序需要进行调整。如图7所示的工作流建模方法流程示意图,该方法可以包括以下步骤:A workflow modeling method provided by an embodiment of the present invention can generate a deployed workflow according to the service template, and the workflow node order of the automatically generated template needs to be adjusted. As shown in the flowchart of the workflow modeling method shown in FIG. 7, the method may include the following steps:
步骤301、解析获取的服务模板,获得所述服务模板中定义的各个节点。Step 301: Parse the obtained service template to obtain each node defined in the service template.
具体的,工作流建模装置解析上述作为输入的TOSCA服务模板,得到该TOSCA服务模板中定义的所有节点。其中,TOSCA服务模板是一个格式化的文本文件,该文本文件中定义了该云应用包含的各个节点,具体可以包括:服务器节点,数据库系统节点,数据库实例节点,应用服务器节点及博客应用节点。具体通过一个文本处理程序可以读入该格式化的文本文件,并将所有节点解析出来,保存到一个内存数据结构中。Specifically, the workflow modeling device parses the TOSCA service template as an input, and obtains all nodes defined in the TOSCA service template. The TOSCA service template is a formatted text file that defines each node included in the cloud application, which can specifically include: server nodes, database system nodes, database instance nodes, application server nodes, and blog application nodes. Specifically, a text processing program can read the formatted text file, parse out all nodes, and save it into a memory data structure.
步骤302、遍历各个节点,获得所述服务模板中各个节点之间的关系;根据所述服务模板中各个节点之间的关系,生成有向图。Step 302: traverse each node to obtain the relationship between the nodes in the service template; and generate a directed graph according to the relationship between the nodes in the service template.
具体的,工作流建模装置遍历TOSCA服务模板中的所有节点,分析该TOSCA服务模板中各个节点之间的关系,生成一个有向图。该有向图的端点表示服务模板中的节点,节点之间的连线是有方向的,方向表示节点之间的依赖关系,箭头起点的节点依赖于箭头指向的节点。在本实施例中,节点间的依赖关系包括连接关系(ConnectsTo)和宿主关系(HostOn),生成有向图时,算法为依赖关系,连接关系的源节点依赖于连接关系的目的节点,宿主关系的源节点依赖于宿主关系的目的节点,生成的有向图具体如图4所示。Specifically, the workflow modeling device traverses all the nodes in the TOSCA service template, analyzes the relationships between the nodes in the TOSCA service template, and generates a directed graph. The endpoints of the directed graph represent the nodes in the service template. The connections between the nodes are directed. The direction represents the dependencies between the nodes. The nodes at the starting point of the arrows depend on the nodes pointed by the arrows. In this embodiment, the dependency relationship between nodes includes a connection relationship (ConnectsTo) and a host relationship (HostOn). When a directed graph is generated, the algorithm is a dependency relationship. The source node of the connection relationship depends on the destination node of the connection relationship, and the host relationship. The source node depends on the destination node of the host relationship. The generated directed graph is shown in Figure 4.
步骤303、根据各个节点的执行顺序获取所述有向图中的一个节点,获取服务模板中该节点定义的操作。Step 303: Acquire a node in the directed graph according to the execution order of each node, and acquire an operation defined by the node in the service template.
具体的,根据各个节点的执行顺序获取所述有向图中的第一节点,获取所述服务模板中第一节点定义的操作,其中,所述第一节点为所述工作执行顺序中开始的节点。Specifically, the first node in the directed graph is obtained according to the execution order of each node, and the operation defined by the first node in the service template is obtained, where the first node is the one started in the work execution order. node.
具体的,按各个节点的执行顺序取出有向图的一个节点,即第一节点,从TOSCA服务模板中得到该节点定义的操作,例如创建,启动,停止,删除等操作。Specifically, one node of the directed graph, that is, the first node, is taken out according to the execution order of each node, and operations defined by the node are obtained from the TOSCA service template, such as create, start, stop, and delete operations.
步骤304、根据预设生命周期管理流程的类型在预设高层工作流模板中加入一个工作流节点,该工作流节点表示有向图节点的操作。Step 304: Add a workflow node to the preset high-level workflow template according to the type of the preset life cycle management process, and the workflow node represents the operation of the directed graph node.
具体的,根据预设生命周期管理流程的类型在预设高层工作流模板中加入第一工作流节点,其中,所述第一工作流节点用于指示所述第一节点定义的操作。Specifically, a first workflow node is added to a preset high-level workflow template according to a type of a preset life cycle management process, where the first workflow node is used to indicate an operation defined by the first node.
具体的,根据预设生命周期管理流程的类型,将该第一节点的相应操作加入到高层工作流模板中,即在预设高层工作流模板中加入指示该第一节点定义的操作的第一工作流节点,由于本实施例中创建的是一个部署工作流,需要将该节点对应的创建,启动,配置节点操作加入到高层工作流模板中。Specifically, according to the type of the preset life cycle management process, the corresponding operation of the first node is added to the high-level workflow template, that is, the first high-level workflow template is added to indicate the operation defined by the first node. As the workflow node is created in this embodiment as a deployment workflow, it is necessary to create, start, and configure node operations corresponding to this node into the high-level workflow template.
步骤305、判断有向图中是否有更多的节点,如果有更多节点则执行步骤303,否则执行步骤306。Step 305: It is determined whether there are more nodes in the directed graph, and if there are more nodes, step 303 is performed, otherwise step 306 is performed.
具体的,判断有向图中是否有除所述第一节点之外的节点,当所述有向图中包括除所述第一节点之外的节点时,则执行步骤303,否则执行步骤306。Specifically, it is determined whether there are nodes other than the first node in the directed graph. When the directed graph includes nodes other than the first node, step 303 is performed, otherwise step 306 is performed. .
具体的,当所述有向图中包括除所述第一节点之外的节点时,重复按照所述各个节点的执行顺序获取所述有向图中的第二节点,获取所述服务模板中所述第二节点定义的操作,根据所述预设生命周期管理流程的类型在预设高层工作流模板中加入第二工作流节点,直到将所述有向图中每个节点加入到所述预设高层工作流模板中,加入所述有向图中每个节点的预设高层工作流模板为所述高层工作流模板。Specifically, when the directed graph includes nodes other than the first node, the second node in the directed graph is repeatedly obtained according to the execution order of each node, and the service template is obtained. The operation defined by the second node adds a second workflow node to a preset high-level workflow template according to the type of the preset life cycle management process, until each node in the directed graph is added to the In the preset high-level workflow template, a preset high-level workflow template for each node in the directed graph is added as the high-level workflow template.
其中,所述第二节点为所述第一节点之后执行的节点,所述第二工作流节点用于指示所述第二节点定义的操作。The second node is a node that is executed after the first node, and the second workflow node is used to indicate an operation defined by the second node.
步骤306、获取业务需求,根据所述业务需求调整所述高层工作流模板中各个节点的执行顺序,获得调整后的高层工作流模板。Step 306: Obtain business requirements, adjust the execution order of each node in the high-level workflow template according to the business requirements, and obtain an adjusted high-level workflow template.
具体的,业务需求可以根据用户的实际业务需求获知,调整上述自动生成的高层工作流模板中的各个节点的执行顺序。为了避免操作系统的全局资源锁(如apt和yum工具是要求全局锁,不支持并发),自动生成的缺省高层工作流模板中各个操作节点是串行执行的,但如果部署操作并不涉及全局资源锁,则可以并发执行,以加快执行效率。在本实施例中,假设各个节点的操作并不依赖操作系统的全局资源,则可以调整数据库和web服务器的部署流程,改为串行执行,例如图8所示。Specifically, the business requirements can be obtained according to the actual business needs of the user, and the execution order of each node in the automatically generated high-level workflow template is adjusted. In order to avoid operating system global resource locks (such as the apt and yum tools that require global locks and do not support concurrency), each operation node in the automatically generated default high-level workflow template is executed serially, but if the deployment operation does not involve Global resource locks can be executed concurrently to speed up execution efficiency. In this embodiment, assuming that the operation of each node does not depend on the global resources of the operating system, the deployment process of the database and the web server can be adjusted and executed serially, for example, as shown in FIG. 8.
步骤307、将调整后的高层工作流模板转换为预设工作流执行脚本文件,建立由所述服务模板查找到所述预设工作流执行脚本文件的路径关联关系。Step 307: Convert the adjusted high-level workflow template into a preset workflow execution script file, and establish a path association relationship between the service template and the preset workflow execution script file.
具体的,上述步骤根据TOSCA服务模板生成了一个用于部署该服务模板的高层工作流模板,最终得到的高层工作流模板如图8所示。本步骤根据BPEL DSL的语法将该高层工作流模板转换为一个BPEL工作流脚本文件。该工作流脚本文件可以被任何遵循BPEL规范的工作流引擎执行。Specifically, the above steps generate a high-level workflow template for deploying the service template according to the TOSCA service template. The resulting high-level workflow template is shown in FIG. 8. This step converts the high-level workflow template into a BPEL workflow script file according to the syntax of BPEL DSL. The workflow script file can be executed by any workflow engine that complies with the BPEL specification.
将创建好的BPEL工作流脚本文件关联到TOSCA服务模板。可以在TOSCA服务模板中将服务模板的deploy生命周期管理工作流指向一个外部文件plan/deploy.bpel。deploy.bpel即是前面的步骤中生成的BPEL工作流脚本文件,该文件保存在TOSCA服务模板的相对目录plan中。Associate the created BPEL workflow script file to the TOSCA service template. You can point the deployment lifecycle management workflow of the service template in the TOSCA service template to an external file plan / deploy.bpel. deploy.bpel is the BPEL workflow script file generated in the previous step, which is saved in the relative directory plan of the TOSCA service template.
本发明实施例提供的方法,根据TOSCA服务模板中各个节点的拓扑关系自动生成一个抽象的高层工作流模板,可以基于该工作流模板进行扩展,调整节点顺序,然后根据高层工作流模板生成一个采用具体的工作流执行语言表述的工作流执行脚本文件,最终完成网络服务生命周期管理工作流建模,从而在兼顾了声明式工作流便利性的同时引入了命令式工作流的灵活性,可以有效地支持NFV场景下的网络服务生命周期管理流程的建模。The method provided by the embodiment of the present invention automatically generates an abstract high-level workflow template based on the topology relationship of each node in the TOSCA service template, which can be extended based on the workflow template, adjust the node order, and then generate an application based on the high-level workflow template. The workflow execution script file expressed by the specific workflow execution language finally completes the network service lifecycle management workflow modeling, thereby taking into account the convenience of declarative workflow while introducing the flexibility of imperative workflow, which can be effective To support the modeling of network service lifecycle management processes in NFV scenarios.
本发明实施例提供一种工作流建模方法,根据该服务模板生成部署的工作流,需要增加自定义的工作流节点。如图9所示的工作流建模方法流程示意图,该方法可以包括以下步骤:An embodiment of the present invention provides a workflow modeling method, and a deployed workflow is generated according to the service template, and a custom workflow node needs to be added. As shown in the schematic diagram of the workflow modeling method shown in FIG. 9, the method may include the following steps:
步骤401、解析获取的服务模板,获得所述服务模板中定义的各个节点。Step 401: Parse the obtained service template to obtain each node defined in the service template.
具体的,工作流建模装置解析上述作为输入的TOSCA服务模板,得到该TOSCA服务模板中定义的所有节点。其中,TOSCA服务模板是一个格式化的文本文件,该文本文件中定义了该云应用包含的各个节点,具体可以包括:服务器节点,数据库系统节点,数据库实例节点,应用服务器节点及博客应用节点。具体通过一个文本处理程序可以读入该格式化的文本文件,并将所有节点解析出来,保存到一个内存数据结构中。Specifically, the workflow modeling device parses the TOSCA service template as an input, and obtains all nodes defined in the TOSCA service template. The TOSCA service template is a formatted text file that defines each node included in the cloud application, which can specifically include: server nodes, database system nodes, database instance nodes, application server nodes, and blog application nodes. Specifically, a text processing program can read the formatted text file, parse out all nodes, and save it into a memory data structure.
步骤402、遍历各个节点,获得所述服务模板中各个节点之间的关系;根据所述服务模板中各个节点之间的关系,生成有向图。Step 402: traverse each node to obtain the relationship between the nodes in the service template; and generate a directed graph according to the relationship between the nodes in the service template.
具体的,工作流建模装置遍历TOSCA服务模板的所有节点,分析TOSCA服务模板中各个节点之间的关系,生成一个有向图。有向图的端点表示服务模板中的节点,节点之间的连线是有方向的,方向表示节点之间的依赖关系,箭头起点的节点依赖于箭头指向的节点。Specifically, the workflow modeling device traverses all the nodes of the TOSCA service template, analyzes the relationships between the nodes in the TOSCA service template, and generates a directed graph. The endpoints of the directed graph represent the nodes in the service template. The connections between the nodes are directed. The direction represents the dependencies between the nodes. The nodes at the starting point of the arrows depend on the nodes pointed by the arrows.
在本实施例中,节点间的关系包括:连接关系(ConnectsTo)和宿主关系(HostOn), 生成有向图时,算法为依赖关系,连接关系的源节点依赖于连接关系的目的节点,宿主关系的源节点依赖于宿主关系的目的节点,生成的有向图如图4所示。In this embodiment, the relationship between the nodes includes a connection relationship (ConnectsTo) and a host relationship (HostOn). When a directed graph is generated, the algorithm is a dependency relationship. The source node of the connection relationship depends on the destination node of the connection relationship. The source node depends on the destination node of the host relationship. The generated directed graph is shown in Figure 4.
步骤403、根据各个节点的执行顺序获取所述有向图中的一个节点,获取服务模板中该节点定义的操作。Step 403: Acquire a node in the directed graph according to the execution order of each node, and acquire the operation defined by the node in the service template.
具体的,根据所述各个节点的执行顺序获取所述有向图中的第一节点,获取所述服务模板中第一节点定义的操作。其中,所述第一节点为所述工作执行顺序中开始的节点。Specifically, the first node in the directed graph is acquired according to the execution order of each node, and the operation defined by the first node in the service template is acquired. The first node is a node that starts in the work execution sequence.
具体的,按各个节点的执行顺序取出有向图的一个节点,即第一节点,从TOSCA服务模板中得到该节点定义的操作,如创建,启动,停止,删除等操作。Specifically, one node of the directed graph, that is, the first node, is taken out according to the execution order of each node, and the operations defined by the node, such as create, start, stop, and delete operations, are obtained from the TOSCA service template.
步骤404、根据预设生命周期管理流程的类型在预设高层工作流模板中加入一个工作流节点,该工作流节点表示有向图节点的操作。Step 404: Add a workflow node to the preset high-level workflow template according to the type of the preset life cycle management process, and the workflow node represents the operation of the directed graph node.
具体的,根据预设生命周期管理流程的类型在预设高层工作流模板中加入第一工作流节点。其中,所述第一工作流节点用于指示所述第一节点定义的操作。Specifically, a first workflow node is added to a preset high-level workflow template according to a type of a preset life cycle management process. The first workflow node is used to indicate an operation defined by the first node.
具体的,根据预设生命周期管理流程的类型,将该节点的相应操作加入到高层工作流模板中,由于本实施例中创建的是一个部署工作流,需要将该节点对应的创建,启动,配置节点操作加入到高层工作流模板中。Specifically, according to the type of the preset life cycle management process, the corresponding operation of the node is added to the high-level workflow template. Since a deployment workflow is created in this embodiment, the node needs to be created and started correspondingly. The configuration node operation is added to the high-level workflow template.
步骤405、判断有向图中是否有更多的节点,如果有更多节点则执行步骤403,否则执行步骤406。Step 405: It is determined whether there are more nodes in the directed graph, and if there are more nodes, step 403 is performed, otherwise step 406 is performed.
具体的,判断有向图中是否有除所述第一节点之外的节点,当所述有向图中包括除所述第一节点之外的节点时,则执行步骤403,否则执行步骤406。Specifically, it is determined whether there are nodes other than the first node in the directed graph. When the directed graph includes nodes other than the first node, step 403 is performed, otherwise step 406 is performed. .
具体的,当所述有向图中包括除所述第一节点之外的节点时,重复按照所述各个节点的执行顺序获取所述有向图中的第二节点,获取所述服务模板中所述第二节点定义的操作,根据所述预设生命周期管理流程的类型在预设高层工作流模板中加入第二工作流节点,直到将所述有向图中每个节点加入到所述预设高层工作流模板中,加入所述有向图中每个节点的预设高层工作流模板为所述高层工作流模板。Specifically, when the directed graph includes nodes other than the first node, the second node in the directed graph is repeatedly obtained according to the execution order of each node, and the service template is obtained. The operation defined by the second node adds a second workflow node to a preset high-level workflow template according to the type of the preset life cycle management process, until each node in the directed graph is added to the In the preset high-level workflow template, a preset high-level workflow template for each node in the directed graph is added as the high-level workflow template.
其中,所述第二节点为所述第一节点之后执行的节点,所述第二工作流节点用于指示所述第二节点定义的操作。The second node is a node that is executed after the first node, and the second workflow node is used to indicate an operation defined by the second node.
步骤406、获取业务需求,根据所述业务需求在所述高层工作流模板中增加至少一个工作流节点,获得调整后的高层工作流模板。Step 406: Obtain business requirements, and add at least one workflow node to the high-level workflow template according to the business requirements to obtain an adjusted high-level workflow template.
示例性的,业务需求为在部署服务时要求从另一个博客网站上导入数据。由于TOSCA服务模板中不能表示这部分逻辑,因此需要增加自定义的工作流节点来进行处理,在前面步骤生成的高层工作流模板中增加导入数据的工作流节点,该新增工作流节点调用一个shell脚本来从另一个博客网站上导入数据到新创建的博客应用中,如图10所示。As an example, the business requirement is to import data from another blog site when deploying the service. Because this part of the logic cannot be expressed in the TOSCA service template, a custom workflow node needs to be added for processing. A workflow node for importing data is added to the high-level workflow template generated in the previous step. A shell script to import data from another blog site into the newly created blog application, as shown in Figure 10.
步骤407、将调整后的高层工作流模板转换为预设工作流执行脚本文件,建立由所述服务模板查找到所述预设工作流执行脚本文件的路径关联关系。Step 407: Convert the adjusted high-level workflow template into a preset workflow execution script file, and establish a path association relationship between the service template and the preset workflow execution script file.
具体的,上述步骤根据TOSCA服务模板生成了一个用于部署该服务模板的高层工作流模板,最终得到的高层工作流模板如图10所示。本步骤根据OpenStack Mistral工作流的语法将该高层工作流模板转换为一个yaml工作流脚本文件(Mistral工作流定义为yaml格式)。该工作流脚本文件可以被任何遵循OpenStack Mistral工作流引擎执行。Specifically, the above steps generate a high-level workflow template for deploying the service template according to the TOSCA service template, and the resulting high-level workflow template is shown in FIG. 10. In this step, the high-level workflow template is converted into a yaml workflow script file (the Mistral workflow is defined as a yaml format) according to the syntax of the OpenStack Mistral workflow. This workflow script file can be executed by any OpenStack Mistral workflow engine.
将创建好的Mistral工作流脚本文件关联到TOSCA服务模板。可以在TOSCA服务模板中将服务模板的deploy生命周期管理工作流指向一个外部文件plan/deploy.yaml。deploy.yaml即是前面的步骤中生成的Mistral工作流脚本文件,该文件保存在TOSCA服务模板的相对目录plan中。Associate the created Mistral workflow script file to the TOSCA service template. You can point the deployment lifecycle management workflow of the service template in the TOSCA service template to an external file plan / deploy.yaml. deploy.yaml is the Mistral workflow script file generated in the previous step, which is saved in the relative directory plan of the TOSCA service template.
本发明实施例提供的方法,根据TOSCA服务模板中各个节点的拓扑关系自动生成一个抽象的高层工作流模板,可以基于该工作流模板进行扩展,加入自定义的动作节点,然后根据高层工作流模板生成一个采用具体的工作流执行语言表述的工作流执行脚本文件,最终完成网络服务生命周期管理工作流建模,从而在兼顾了声明式工作流便利性的同时引入了命令式工作流的灵活性,可以有效地支持NFV场景下的网络服务生命周期管理流程的建模。The method provided by the embodiment of the present invention automatically generates an abstract high-level workflow template according to the topology relationship of each node in the TOSCA service template, which can be extended based on the workflow template, adding a custom action node, and then according to the high-level workflow template Generate a workflow execution script file expressed in a specific workflow execution language, and finally complete the modeling of the web service lifecycle management workflow, thereby taking into account the convenience of a declarative workflow while introducing the flexibility of an imperative workflow Can effectively support the modeling of network service lifecycle management processes in NFV scenarios.
本发明实施例还提供一种工作流建模装置50,如图11所示,包括:An embodiment of the present invention further provides a workflow modeling device 50, as shown in FIG. 11, including:
解析单元501,用于解析获取的服务模板,获得所述服务模板中定义的各个节点;A parsing unit 501, configured to parse the obtained service template to obtain each node defined in the service template;
生成单元502,用于基于所述各个节点,生成有向图,所述有向图用于表示所述服务模板中各个节点之间的关系;还用于根据所述有向图生成高层工作流模板,所述高层工作流模板中包括:所述服务模板中各个节点的工作流程;还用于根据所述高层工作流模板生成工作流执行脚本文件,建立所述工作流执行脚本文件与所述服务模板的关联关系。A generating unit 502 is configured to generate a directed graph based on the respective nodes, and the directed graph is used to represent a relationship between various nodes in the service template; and is further configured to generate a high-level workflow according to the directed graph. A template, the high-level workflow template includes: a workflow of each node in the service template; and is further configured to generate a workflow execution script file according to the high-level workflow template, and establish the workflow execution script file and the Association of service templates.
所述生成单元502,具体用于:The generating unit 502 is specifically configured to:
遍历所述各个节点,获得所述服务模板中各个节点之间的关系;Traverse each node to obtain the relationship between each node in the service template;
根据所述服务模板中各个节点之间的关系,生成所述有向图。Generating the directed graph according to a relationship between each node in the service template.
所述生成单元502,具体用于:The generating unit 502 is specifically configured to:
根据所述各个节点的执行顺序获取所述有向图中的第一节点,获取所述服务模板中第一节点定义的操作,根据预设生命周期管理流程的类型在预设高层工作流模板中加入第一工作流节点,其中,所述第一节点为所述工作执行顺序中开始的节点,所述第一工作流节点用于指示所述第一节点定义的操作;Obtaining the first node in the directed graph according to the execution order of each node, obtaining the operation defined by the first node in the service template, and according to the type of the preset life cycle management process in the preset high-level workflow template Adding a first workflow node, wherein the first node is a node started in the work execution sequence, and the first workflow node is used to indicate an operation defined by the first node;
当所述有向图中包括除所述第一节点之外的节点时,重复按照所述各个节点的执行顺序获取所述有向图中的第二节点,获取所述服务模板中所述第二节点定义的操作,根据所述预设生命周期管理流程的类型在预设高层工作流模板中加入第二工作流节点,直到将所述有向图中每个节点加入到所述预设高层工作流模板中,加入所述有向图中每个节点的预设高层工作流模板为所述高层工作流模板,其中,所述第二节点为所述第一节点之后执行的节点,所述第二工作流节点用于指示所述第二节点定义的操作。When the directed graph includes nodes other than the first node, the second node in the directed graph is repeatedly obtained according to the execution order of each node, and the first node in the service template is obtained. Operations defined by two nodes, adding a second workflow node to a preset high-level workflow template according to the type of the preset life cycle management process, until each node in the directed graph is added to the preset high-level In the workflow template, a preset high-level workflow template for each node in the directed graph is added as the high-level workflow template, wherein the second node is a node executed after the first node, and the The second workflow node is used to indicate an operation defined by the second node.
如图12所示,所述装置还包括,调整单元503,用于获取业务需求,根据所述业务需求调整所述高层工作流模板,获得调整后的高层工作流模板。As shown in FIG. 12, the apparatus further includes an adjustment unit 503 configured to obtain a service requirement, adjust the high-level workflow template according to the service requirement, and obtain an adjusted high-level workflow template.
如图12所示,所述装置还包括,调整单元503,用于根据业务需求调整所述高层工作流模板中各个节点的执行顺序。As shown in FIG. 12, the apparatus further includes an adjustment unit 503 configured to adjust an execution order of each node in the high-level workflow template according to a service requirement.
如图12所示,所述装置还包括,调整单元503,用于根据业务需求在所述高层工作流模板中增加至少一个工作流节点。As shown in FIG. 12, the apparatus further includes an adjustment unit 503 configured to add at least one workflow node to the high-level workflow template according to a service requirement.
所述生成单元502,具体用于:The generating unit 502 is specifically configured to:
将所述高层工作流模板或者所述调整后的高层工作流模板转换为预设工作流执行脚本文件,建立由所述服务模板查找到所述预设工作流执行脚本文件的路径关联关系。Converting the high-level workflow template or the adjusted high-level workflow template into a preset workflow execution script file, and establishing a path association between the service template and the preset workflow execution script file.
具体的,本发明实施例提供的工作流建模装置的理解可以参考上述工作流建模方法实施例的说明,本发明实施例在此不再赘述。Specifically, for the understanding of the workflow modeling apparatus provided in the embodiment of the present invention, reference may be made to the description of the foregoing embodiment of the workflow modeling method, which is not repeatedly described in this embodiment of the present invention.
本发明实施例提供的工作流建模装置,根据TOSCA服务模板中各个节点的拓扑关系自动生成一个抽象的高层工作流模板,可以基于该工作流模板进行扩展,调整节点顺序或者加入自定义的动作节点,然后根据高层工作流模板生成一个采用具体的工作流执行语言表述的工作流执行脚本文件,最终完成网络服务生命周期管理工作流建模,从而在兼顾了声明式工作流便利性的同时引入了命令式工作流的灵活性,可以有效地支持 NFV场景下的网络服务生命周期管理流程的建模。The workflow modeling device provided by the embodiment of the present invention automatically generates an abstract high-level workflow template according to the topology relationship of each node in the TOSCA service template, which can be expanded based on the workflow template, adjust the node order, or add custom actions. Node, and then generate a workflow execution script file expressed in a specific workflow execution language according to the high-level workflow template, and finally complete the network service lifecycle management workflow modeling, thereby introducing the convenience of declarative workflow while taking into account The flexibility of the imperative workflow can effectively support the modeling of the network service lifecycle management process in the NFV scenario.
本发明实施例还提供一种工作流建模装置60,如图13所示,所述工作流建模装置60包括处理器601和存储器602;其中,An embodiment of the present invention further provides a workflow modeling device 60. As shown in FIG. 13, the workflow modeling device 60 includes a processor 601 and a memory 602. Among them,
所述存储器602,用于存储能够在所述处理器上运行的计算机程序;The memory 602 is configured to store a computer program capable of running on the processor;
所述处理器601,用于运行所述计算机程序时执行如上所述工作流建模方法的步骤。The processor 601 is configured to execute the steps of the workflow modeling method described above when running the computer program.
可以理解,存储器602可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器602旨在包括但不限于这些和任意其它适合类型的存储器。It can be understood that the memory 602 may be a volatile memory or a non-volatile memory, and may also include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM, Read Only Memory), a programmable read-only memory (PROM, Programmable Read-Only Memory), or an erasable programmable read-only memory (EPROM, Erasable Programmable Read- Only Memory), Electrically Erasable and Programmable Read-Only Memory (EEPROM), Magnetic Random Access Memory (FRAM, ferromagnetic random access memory), Flash Memory (Flash Memory), Magnetic Surface Memory , Compact disc, or read-only compact disc (CD-ROM, Compact Disc-Read-Only Memory); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory may be a random access memory (RAM, Random Access Memory), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM, Static Random Access Memory), Synchronous Static Random Access Memory (SSRAM, Static Random Access, Memory), Dynamic Random Access DRAM (Dynamic Random Access Memory), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Double Data Rate Rate Synchronous Dynamic Access Random Access Memory, Enhanced Type Synchronous Dynamic Random Access Memory (ESDRAM, Enhanced Synchronous Random Access Memory), Synchronous Link Dynamic Random Access Memory (SLDRAM, SyncLink Dynamic Access Random Access Memory), Direct Memory Bus Random Access Memory (DRRAM, Direct Rambus Random Access Access Memory) ). The memory 602 described in the embodiments of the present invention is intended to include, but not limited to, these and any other suitable types of memory.
上述本发明实施例揭示的方法可以应用于处理器601中,或者由处理器601实现。处理器601可能是一种集成电路芯片,具有信号的处理能力,更具体地,内置有工作流建模算法,即具有工作流建模能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分 立门或者晶体管逻辑器件、分立硬件组件等。处理器601可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成前述方法的步骤。The method disclosed in the foregoing embodiment of the present invention may be applied to the processor 601, or implemented by the processor 601. The processor 601 may be an integrated circuit chip and has a signal processing capability. More specifically, it has a workflow modeling algorithm built in, that is, it has a workflow modeling capability. In the implementation process, each step of the above method may be completed by using an integrated logic circuit of hardware in the processor 601 or an instruction in the form of software. The above processor 601 may be a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. The processor 601 may implement or execute various methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of the present invention may be directly implemented by a hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium. The storage medium is located in the memory 602. The processor 601 reads information in the memory 602 and completes the steps of the foregoing method in combination with its hardware.
在示例性实施例中,工作流建模装置可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。In an exemplary embodiment, the workflow modeling device may be implemented by one or more application-specific integrated circuits (ASICs, Application Specific Integrated Circuits), DSPs, Programmable Logic Devices (PLDs), and complex programmable logic devices. (CPLD, Complex Programmable Logic Device), Field Programmable Gate Array (FPGA, Field-Programmable Gate Array), general-purpose processor, controller, microcontroller (MCU, Micro Controller Unit), microprocessor (Microprocessor), or Other electronic component implementations for performing the aforementioned method.
在示例性实施例中,本发明实施例还提供了一种存储介质,具体可以为计算机可读存储介质,例如包括计算机程序的存储器,上述计算机程序可由工作流建模装置的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。In an exemplary embodiment, an embodiment of the present invention further provides a storage medium, which may specifically be a computer-readable storage medium, for example, a memory including a computer program, and the computer program may be executed by a processor of a workflow modeling device to Complete the steps described in the previous method. The computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disk, or CD-ROM.
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一项所述的工作流建模方法的步骤。An embodiment of the present invention provides a computer-readable storage medium. The computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement any one of the foregoing. Steps of the workflow modeling method described in item.
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the present invention may be provided as a method, a system, or a computer program product. Therefore, the present invention may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, magnetic disk memory, optical memory, etc.) containing computer-usable program code.
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, and combinations of processes and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to produce a machine, so that the instructions generated by the processor of the computer or other programmable data processing device are used to generate instructions Means for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to work in a specific manner such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction device, the instructions The device implements the functions specified in one or more flowcharts and / or one or more blocks of the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of steps can be performed on the computer or other programmable device to produce a computer-implemented process, which can be executed on the computer or other programmable device. The instructions provide steps for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。The above description is only the preferred embodiments of the present invention, and is not intended to limit the protection scope of the present invention.

Claims (12)

  1. 一种工作流建模方法,其中,包括:A workflow modeling method, including:
    解析获取的服务模板,获得所述服务模板中定义的各个节点;Parse the obtained service template to obtain each node defined in the service template;
    基于所述各个节点,生成有向图,所述有向图用于表示所述服务模板中各个节点之间的关系;Generating a directed graph based on the respective nodes, the directed graph used to represent a relationship between various nodes in the service template;
    根据所述有向图生成高层工作流模板,所述高层工作流模板中包括:所述服务模板中各个节点的工作流程;Generating a high-level workflow template according to the directed graph, where the high-level workflow template includes: a workflow of each node in the service template;
    根据所述高层工作流模板生成工作流执行脚本文件,建立所述工作流执行脚本文件与所述服务模板的关联关系。Generate a workflow execution script file according to the high-level workflow template, and establish an association relationship between the workflow execution script file and the service template.
  2. 根据权利要求1所述的方法,其中,所述基于所述各个节点,生成有向图,包括:The method according to claim 1, wherein the generating a directed graph based on the respective nodes comprises:
    遍历所述各个节点,获得所述服务模板中各个节点之间的关系;Traverse each node to obtain the relationship between each node in the service template;
    根据所述服务模板中各个节点之间的关系,生成所述有向图。Generating the directed graph according to a relationship between each node in the service template.
  3. 根据权利要求1所述的方法,其中,所述根据所述有向图生成高层工作流模板,包括:The method according to claim 1, wherein the generating a high-level workflow template based on the directed graph comprises:
    根据所述各个节点的执行顺序获取所述有向图中的第一节点,获取所述服务模板中第一节点定义的操作,根据预设生命周期管理流程的类型在预设高层工作流模板中加入第一工作流节点,其中,所述第一节点为所述工作执行顺序中开始的节点,所述第一工作流节点用于指示所述第一节点定义的操作;Obtaining the first node in the directed graph according to the execution order of each node, obtaining the operation defined by the first node in the service template, and according to the type of the preset life cycle management process in the preset high-level workflow template Adding a first workflow node, wherein the first node is a node started in the work execution sequence, and the first workflow node is used to indicate an operation defined by the first node;
    当所述有向图中包括除所述第一节点之外的节点时,重复按照所述各个节点的执行顺序获取所述有向图中的第二节点,获取所述服务模板中所述第二节点定义的操作,根据所述预设生命周期管理流程的类型在预设高层工作流模板中加入第二工作流节点,直到将所述有向图中每个节点加入到所述预设高层工作流模板中,加入所述有向图中每个节点的预设高层工作流模板为所述高层工作流模板,其中,所述第二节点为所述第一节点之后执行的节点,所述第二工作流节点用于指示所述第二节点定义的操作。When the directed graph includes nodes other than the first node, the second node in the directed graph is repeatedly obtained according to the execution order of each node, and the first node in the service template is obtained. Operations defined by two nodes, adding a second workflow node to a preset high-level workflow template according to the type of the preset life cycle management process, until each node in the directed graph is added to the preset high-level In the workflow template, a preset high-level workflow template for each node in the directed graph is added as the high-level workflow template, wherein the second node is a node executed after the first node, and the The second workflow node is used to indicate an operation defined by the second node.
  4. 根据权利要求1所述的方法,其中,在所述根据所述有向图生成高层工作流模板之后,所述方法还包括:The method according to claim 1, wherein after the generating a high-level workflow template from the directed graph, the method further comprises:
    获取业务需求,根据所述业务需求调整所述高层工作流模板,获得调整后的高层工作流模板。Obtain business requirements, adjust the high-level workflow template according to the business requirements, and obtain an adjusted high-level workflow template.
  5. 根据权利要求4所述的方法,其中,所述根据所述业务需求调整所述高层工作流模板,包括:The method according to claim 4, wherein said adjusting the high-level workflow template according to the business requirements comprises:
    根据所述业务需求调整所述高层工作流模板中各个节点的执行顺序。Adjust the execution order of each node in the high-level workflow template according to the business requirements.
  6. 根据权利要求4所述的方法,其中,所述根据所述业务需求调整所述高层工作流模板,包括:The method according to claim 4, wherein said adjusting the high-level workflow template according to the business requirements comprises:
    根据所述业务需求在所述高层工作流模板中增加至少一个工作流节点。Adding at least one workflow node to the high-level workflow template according to the business requirement.
  7. 根据权利要求3至6任一项所述的方法,其中,所述根据所述高层工作流模板生成工作流执行脚本文件,建立所述工作流执行脚本文件与所述服务模板的关联关系,包括:The method according to any one of claims 3 to 6, wherein the generating a workflow execution script file according to the high-level workflow template and establishing an association relationship between the workflow execution script file and the service template includes: :
    将所述高层工作流模板或者所述调整后的高层工作流模板转换为预设工作流执行脚本文件,建立由所述服务模板查找到所述预设工作流执行脚本文件的路径关联关系。Converting the high-level workflow template or the adjusted high-level workflow template into a preset workflow execution script file, and establishing a path association between the service template and the preset workflow execution script file.
  8. 一种工作流建模装置,其中,包括:A workflow modeling device, including:
    解析单元,用于解析获取的服务模板,获得所述服务模板中定义的各个节点;A parsing unit, configured to parse the obtained service template to obtain each node defined in the service template;
    生成单元,用于基于所述各个节点,生成有向图,所述有向图用于表示所述服务模板中各个节点之间的关系;还用于根据所述有向图生成高层工作流模板,所述高层工作流模板中包括:所述服务模板中各个节点的工作流程;还用于根据所述高层工作流模板生成工作流执行脚本文件,建立所述工作流执行脚本文件与所述服务模板的关联关系。A generating unit, configured to generate a directed graph based on the respective nodes, the directed graph used to represent a relationship between various nodes in the service template; and used to generate a high-level workflow template based on the directed graph The high-level workflow template includes: a workflow of each node in the service template; and is further configured to generate a workflow execution script file according to the high-level workflow template, and establish the workflow execution script file and the service. Association of templates.
  9. 根据权利要求8所述的装置,其中,所述生成单元,具体用于:The apparatus according to claim 8, wherein the generating unit is specifically configured to:
    根据所述各个节点的执行顺序获取所述有向图中的第一节点,获取所述服务模板中第一节点定义的操作,根据预设生命周期管理流程的类型在预设高层工作流模板中加入第一工作流节点,其中,所述第一节点为所述工作执行顺序中开始的节点,所述第一工作流节点用于指示所述第一节点定义的操作;Obtaining the first node in the directed graph according to the execution order of each node, obtaining the operation defined by the first node in the service template, and according to the type of the preset life cycle management process in the preset high-level workflow template Adding a first workflow node, wherein the first node is a node started in the work execution sequence, and the first workflow node is used to indicate an operation defined by the first node;
    当所述有向图中包括除所述第一节点之外的节点时,重复按照所述各个节点的执行顺序获取所述有向图中的第二节点,获取所述服务模板中所述第二节点定义的操作,根据所述预设生命周期管理流程的类型在预设高层工作流模板中加入第二工作流节点,直到将所述有向图中每个节点加入到所述预设高层工作流模板中,加入所述有向图中每个节点的预设高层工作流模板为所述高层工作流模板,其中,所述第二节点为所述第一节点之后执行的节点,所述第二工作流节点用于指示所述第二节点定义的操作。When the directed graph includes nodes other than the first node, the second node in the directed graph is repeatedly obtained according to the execution order of each node, and the first node in the service template is obtained. Operations defined by two nodes, adding a second workflow node to a preset high-level workflow template according to the type of the preset life cycle management process, until each node in the directed graph is added to the preset high-level In the workflow template, a preset high-level workflow template for each node in the directed graph is added as the high-level workflow template, wherein the second node is a node executed after the first node, and the The second workflow node is used to indicate an operation defined by the second node.
  10. 根据权利要求8或9所述的装置,其中,所述装置还包括,调整单元,用于根据 业务需求调整所述高层工作流模板中各个节点的执行顺序。The apparatus according to claim 8 or 9, wherein the apparatus further comprises an adjustment unit configured to adjust an execution order of each node in the high-level workflow template according to a service requirement.
  11. 根据权利要求8或9所述的装置,其中,所述装置还包括,调整单元,用于根据业务需求在所述高层工作流模板中增加至少一个工作流节点。The apparatus according to claim 8 or 9, wherein the apparatus further comprises an adjustment unit configured to add at least one workflow node to the high-level workflow template according to a business requirement.
  12. 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述的工作流建模方法的步骤。A computer-readable storage medium, wherein the computer-readable storage medium stores one or more programs, and the one or more programs are executable by one or more processors to implement claims 1 to 7 The steps of the workflow modeling method of any one of the preceding.
PCT/CN2019/092336 2018-06-14 2019-06-21 Workflow modeling method and device and computer-readable storage medium WO2019238136A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810616144.8 2018-06-14
CN201810616144.8A CN110609675B (en) 2018-06-14 2018-06-14 Workflow modeling method and device and computer readable storage medium

Publications (1)

Publication Number Publication Date
WO2019238136A1 true WO2019238136A1 (en) 2019-12-19

Family

ID=68842751

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/092336 WO2019238136A1 (en) 2018-06-14 2019-06-21 Workflow modeling method and device and computer-readable storage medium

Country Status (2)

Country Link
CN (1) CN110609675B (en)
WO (1) WO2019238136A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113031929A (en) * 2021-04-29 2021-06-25 中国工商银行股份有限公司 Service implementation method and device
CN114489572A (en) * 2020-11-13 2022-05-13 华为技术有限公司 Service demand adjusting method and related equipment
CN115455135A (en) * 2022-06-30 2022-12-09 北京九章云极科技有限公司 Visual automatic modeling method and device, electronic equipment and storage medium
US20230128753A1 (en) * 2021-10-25 2023-04-27 Jpmorgan Chase Bank, N.A. Systems and methods for deploying federated infrastructure as code
CN117234882A (en) * 2023-09-28 2023-12-15 哈尔滨工业大学(威海) Online application cloud resource supply software definition model construction method and terminal

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112162737A (en) * 2020-10-13 2021-01-01 深圳晶泰科技有限公司 Universal description language data system of directed acyclic graph automatic task flow
CN112181854B (en) * 2020-10-30 2023-12-22 重庆农村商业银行股份有限公司 Method, device, equipment and storage medium for generating process automation script
CN112685154A (en) * 2020-12-25 2021-04-20 北京有竹居网络技术有限公司 Data processing method of task flow engine, device and medium
CN112631696B (en) * 2020-12-29 2021-10-22 智慧神州(北京)科技有限公司 Service arranging method, arranging device, processor and service arranging system
CN112579325A (en) * 2020-12-29 2021-03-30 上海众源网络有限公司 Business object processing method and device, electronic equipment and storage medium
CN113596037B (en) * 2021-07-31 2023-04-14 广州广电研究院有限公司 APT attack detection method based on event relation directed graph in network full flow

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140075004A1 (en) * 2012-08-29 2014-03-13 Dennis A. Van Dusen System And Method For Fuzzy Concept Mapping, Voting Ontology Crowd Sourcing, And Technology Prediction
CN107766042A (en) * 2016-08-23 2018-03-06 南京中兴软件有限责任公司 A kind of visual data manager and device of the model file based on CSAR

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761111A (en) * 2014-02-19 2014-04-30 中国科学院软件研究所 Method and system for constructing data-intensive workflow engine based on BPEL language
CN105243521A (en) * 2015-11-20 2016-01-13 华润电力投资有限公司河南分公司 Workflow management method and system
CN106961453A (en) * 2016-01-08 2017-07-18 中兴通讯股份有限公司 Service calling method and device based on TOSCA

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140075004A1 (en) * 2012-08-29 2014-03-13 Dennis A. Van Dusen System And Method For Fuzzy Concept Mapping, Voting Ontology Crowd Sourcing, And Technology Prediction
CN107766042A (en) * 2016-08-23 2018-03-06 南京中兴软件有限责任公司 A kind of visual data manager and device of the model file based on CSAR

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YING ZHANG: "Research of Framework and Algorithm of cloud Orchestration based on TOSCA Specification", CHINESE MASTER'S THESES FULL-TEXT DATABASE, 27 March 2016 (2016-03-27), pages 1 - 92, XP055770046 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489572A (en) * 2020-11-13 2022-05-13 华为技术有限公司 Service demand adjusting method and related equipment
CN114489572B (en) * 2020-11-13 2023-12-29 华为技术有限公司 Service demand adjustment method and related equipment
CN113031929A (en) * 2021-04-29 2021-06-25 中国工商银行股份有限公司 Service implementation method and device
CN113031929B (en) * 2021-04-29 2024-04-09 中国工商银行股份有限公司 Service realization method and device
US20230128753A1 (en) * 2021-10-25 2023-04-27 Jpmorgan Chase Bank, N.A. Systems and methods for deploying federated infrastructure as code
US11934817B2 (en) * 2021-10-25 2024-03-19 Jpmorgan Chase Bank, N.A. Systems and methods for deploying federated infrastructure as code
CN115455135A (en) * 2022-06-30 2022-12-09 北京九章云极科技有限公司 Visual automatic modeling method and device, electronic equipment and storage medium
CN115455135B (en) * 2022-06-30 2023-10-31 北京九章云极科技有限公司 Visual automatic modeling method and device, electronic equipment and storage medium
CN117234882A (en) * 2023-09-28 2023-12-15 哈尔滨工业大学(威海) Online application cloud resource supply software definition model construction method and terminal
CN117234882B (en) * 2023-09-28 2024-04-16 哈尔滨工业大学(威海) Online application cloud resource supply software definition model construction method and terminal

Also Published As

Publication number Publication date
CN110609675B (en) 2023-08-08
CN110609675A (en) 2019-12-24

Similar Documents

Publication Publication Date Title
WO2019238136A1 (en) Workflow modeling method and device and computer-readable storage medium
US10958739B2 (en) Capturing a virtual configuration from cloud-provisioning data
CN106537426B (en) Automatically generating execution sequences for workflows
US10956013B2 (en) User interface for automated flows within a cloud based developmental platform
US11347555B2 (en) Integrated system to distribute and execute complex applications
US9047160B2 (en) Designing and building virtual images using semantically rich composable software image bundles
US20180324051A1 (en) User interface for automated flows within a cloud based developmental platform
US8495352B2 (en) System and method for instantiation of distributed applications from disk snapshots
US10101972B1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
WO2018036342A1 (en) Csar-based template design visualization method and device
Rossini et al. The cloud application modelling and execution language (CAMEL)
WO2019034066A1 (en) Page update method and apparatus
KR101596257B1 (en) System and method for developing of service based on software product line
CN106484452A (en) A kind of unified configuring management method of software platform and device
CN113835705A (en) Big data service product development method, device and system
WO2016045392A1 (en) Service deployment method, service management method and apparatus
CN113902387A (en) Workflow processing method and device and electronic equipment
US20180336503A1 (en) Model-driven and automated system for shared resource solution design
US20170288967A1 (en) Environment manager for continuous deployment
US9760368B2 (en) Automatically expiring out source code comments
WO2021189895A1 (en) Configuration data management method, apparatus and device, and storage medium
CN110891239B (en) PNF configuration and PNFD TOSCA implementation method and device
Harzenetter et al. An Integrated Management System for Composed Applications Deployed by Different Deployment Automation Technologies
US20130097579A1 (en) Operational model creation from soa solution architecture
CN111930718B (en) Node adjustment method and device for configuration management database

Legal Events

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

Ref document number: 19819270

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019819270

Country of ref document: EP

Effective date: 20210114

122 Ep: pct application non-entry in european phase

Ref document number: 19819270

Country of ref document: EP

Kind code of ref document: A1