CN110912724A - Parameter-driven automatic service arrangement method and device - Google Patents

Parameter-driven automatic service arrangement method and device Download PDF

Info

Publication number
CN110912724A
CN110912724A CN201811084640.XA CN201811084640A CN110912724A CN 110912724 A CN110912724 A CN 110912724A CN 201811084640 A CN201811084640 A CN 201811084640A CN 110912724 A CN110912724 A CN 110912724A
Authority
CN
China
Prior art keywords
parameter
service
atomic
template
atomic service
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201811084640.XA
Other languages
Chinese (zh)
Other versions
CN110912724B (en
Inventor
钟荷柳
杨远伟
程晶
陈晓峰
杜大江
李新建
冒红蔚
李江涛
索晓明
王鹿媛
王朝东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bright Oceans Inter Telecom Co Ltd
Original Assignee
Bright Oceans Inter Telecom Co Ltd
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 Bright Oceans Inter Telecom Co Ltd filed Critical Bright Oceans Inter Telecom Co Ltd
Priority to CN201811084640.XA priority Critical patent/CN110912724B/en
Publication of CN110912724A publication Critical patent/CN110912724A/en
Application granted granted Critical
Publication of CN110912724B publication Critical patent/CN110912724B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Abstract

The invention provides an automatic business arrangement method based on parameter driving, which comprises defining a plurality of atomic services, wherein each atomic service comprises an attribute, a method for registering a parameter template and an automatic execution method, the parameter template is used for bearing API parameters, the method for registering the parameter template is used for registering all parameters required by calling the API, and the automatic execution method is used for acquiring all parameters required by the API and automatically calling the API; defining a flow description file, comprising a plurality of ordered automatic execution links, and respectively binding an atomic service; generating a flow template according to the flow description file and extracting a parameter template required by each atomic service; generating a flow instance according to the flow template and obtaining parameter values required by each atomic service; and executing the process example, automatically executing the atomic service in the process example, and automatically calling the API service by the atomic service according to the acquired parameter value. In addition, an automatic business arrangement device based on parameter driving is also provided.

Description

Parameter-driven automatic service arrangement method and device
Technical Field
The invention relates to the technical field of communication, in particular to an automatic arrangement method and device of network business services.
Background
Conventionally, telecommunication equipment is provided by physical equipment, wherein the installation, debugging and connection processes of the telecommunication equipment are complex, the telecommunication equipment has no standard external interface, a long flow is required for telecommunication service activation, and manual intervention and selection are required for many times in a flow link. The original telecommunication service opening system based on the flow steps has slow delivery capacity for opening a certain service, and can complete code development and deploy online service provision from the requirement basically at the monthly level.
Currently, Network Function Virtualization (NFV) technology gradually comes to the stage. The NFV uses general hardware such as x86 and virtualization technology to carry very multi-functional software processing, so that the expensive equipment cost of the network can be reduced, the functions of the network equipment can not depend on special hardware through software and hardware decoupling and function abstraction, and resources can be shared flexibly. Therefore, rapid development and deployment of new services can be realized, and automatic deployment, elastic expansion, fault isolation, self-healing and the like can be carried out based on actual service requirements.
With the development of NFV, telecommunication devices are gradually replaced by cloud computing-based virtualization devices, and have the capability of fast online, so that operators can formulate and develop their own NFV management platforms according to their respective enterprise interface standards in order to manage these cloud computing virtualization devices, so as to manage the full life cycle (instantiation, expansion and contraction, termination, etc.) of VNF (virtual network function) and provide basic network service capability. As internet applications are in depth, APIs become more important and more prevalent, and the use of APIs is an important driving force of digital business, all enterprises can encapsulate data and services in APIs, and an API (Application Programming Interface) is a predefined function for providing an Application and a developer with the ability to access a set of routines based on certain software or hardware without accessing source codes or understanding details of internal working mechanisms, so that operators tend to use APIs to support NFV management, and encapsulate basic functions supporting instantiation, scaling, termination, and the like of VNF as APIs. These APIs are stateless interfaces based on the REST style of http protocol, and are called at the back end, and information such as functions and call parameters thereof is written in the API specification, and is generally called by programmers or related technicians familiar with the API functions according to the information such as the functions and parameters of the APIs. If a programmer needs to manually write program codes for different services to call each API one by one according to service requirements, such as instantiation, expansion and contraction of virtual devices, termination, network access, device activation and the like, different services can be completed by different API combinations, and different APIs also need different parameters, so that the programmer needs to write program codes for preparing parameters of each API according to the calling parameter requirements of each API, the workload is large and tedious, and the rapid increase of service requirements is difficult to meet. Furthermore, how to arrange and organize various network service units in order to balance and coordinate various components of the network to generate services capable of meeting user requirements becomes an urgent problem to be solved, and how to achieve the capabilities of rapid deployment, dynamic adjustment and repeated use of the network service units through business arrangement.
Disclosure of Invention
In view of the above, an object of the present invention is to provide a method and an apparatus for automatically arranging services based on parameter driving, so as to achieve automation of service arrangement, reduce development cost of operation management, meet fast deployment of new service requirements of users, and meet capabilities of dynamically adjusting and reusing network service units.
The method calls the API by designing the atomic service, solves the parameters required by the API, organizes a plurality of atomic services into a flow to meet the business service requirements, and realizes the arrangement of the atomic service and the automatic execution of the API by the support of the existing workflow engine, thereby achieving the purpose of quickly arranging the business and quickly executing the business.
The idea of the invention relies on a flow engine supporting automatic execution and automatic circulation of each link of the workflow flow to support the implementation of the method of the invention. For example, an Activity Process engine-JBPM is a Process engine supporting automatic execution and automatic circulation of each link of a workflow Process, is called Java Business Process Management (Business Process Management), and is an open-source, flexible and easily extensible executable Process language framework covering the fields of Business Process Management, workflow, service collaboration, and the like. JBPM is an open source code project with which ASL (Apache License version 2.0) and EULA (JBoss End User License agent) protocols are to be followed. Activity is an upgraded version of JBPM.
The invention uses a deployment service interface (reosideryservice), a running service interface (runstimeServer) and a task service interface (TaskService) in the process engine, wherein the deployment service interface is used for managing a process warehouse, such as deploying, deleting and reading process resources, the running service interface is used for processing all process instances and tasks in a running state, and the task service interface is used for managing and inquiring tasks, such as signing, handling, assigning and the like.
Therefore, in a first aspect, an embodiment of the present invention provides a parameter-driven automatic service orchestration method, where the method includes:
1) defining and managing a plurality of atomic services, wherein each atomic service is associated with an API, creating a method for creating the atomic services, which comprises attributes, a parameter registration template and an automatic execution method, wherein the parameter template is used for bearing parameters, the parameter registration template method is used for registering all parameters required by calling the API, the automatic execution method is used for acquiring all parameters required by the API and automatically calling the API, and the API is used for finishing specific business services; registering the created atomic service and storing the atomic service in a service warehouse; receiving a request for searching the atomic service and returning the found atomic service; if the service warehouse does not have the searched atomic service, creating a new atomic service, and registering and returning the newly created atomic service;
2) defining a flow description file, defining a flow according to the requirements of a business service sequence, wherein the flow comprises an automatic execution link 1, an automatic execution link 2, automatic execution links 3 and … and an automatic execution link n, the automatic execution link 1 is bound with an atomic service 2 of the atomic service 1, the automatic execution link 3 is bound with an atomic service 3 and …, and the automatic execution link n is bound with an atomic service n, and each automatic execution link is realized by the atomic service with the minimum business unit; the atomic service is obtained through the step 1);
3) a process deployment phase, namely generating a process template according to the process description file and extracting parameter templates required by each atomic service;
4) a process starting stage, reading a system configuration file, obtaining system configuration parameters and all parameter values required by each atomic service in a process instance according to the process template and the parameter template, instantiating the atomic service, generating the process instance, and loading the process instance context;
5) and a flow executing stage, namely reading system configuration parameters and parameter values of each atomic service in the context of the loaded flow instance, executing the flow instance, and automatically executing the atomic service in the flow instance, wherein the atomic service automatically calls API service according to the acquired parameter values.
With reference to the first aspect, an embodiment of the present invention provides a first possible implementation manner of the first aspect, where a process of a flow stage is deployed, specifically,
3-1) calling a deployment service interface in a process engine, issuing the defined process description file in the step 2), and generating a business arrangement process template;
3-2) reading each atomic service in the business arrangement flow template, obtaining each atomic service instance through a Java reflection mechanism, executing a method for registering parameter templates of each atomic service instance, and obtaining all parameter templates required by each atomic service instance; and storing the business arrangement flow template, all the parameter templates thereof and the relationship between the business arrangement flow template and all the parameter templates in a memory.
With reference to the first aspect, an embodiment of the present invention provides a second possible implementation manner of the first aspect, where a process of the flow stage is started, specifically,
4-1) reading a system configuration file, analyzing each parameter template according to the service arrangement flow template obtained in the step 3) and each parameter template thereof, generating a parameter input user interface of each parameter, inputting a parameter value for each parameter from the user interface, obtaining a parameter value of an API corresponding to each atomic service parameter template, and obtaining instantiated atomic services;
4-2) calling an operation service interface in the process engine, and generating a business arrangement process instance and a process context of the business arrangement process instance according to the business arrangement process template and the instantiated atomic service;
4-3) reading a system configuration file, and loading configuration information into the process context of the process instance generated in the 4-2) in a key-value mode; and loading the parameter values of all the atomic services obtained in the step 4-1) into the flow context of the flow example generated in the step 4-2) in a key-value mode.
With reference to the first aspect, an embodiment of the present invention provides a third possible implementation manner of the first aspect, where a process of a flow stage is executed, specifically,
5-1) acquiring system configuration parameters and parameter values of each atomic service in a key-value mode from the loaded process instance context;
5-2) calling a task service interface in the process engine, automatically executing an automatic execution method in each atomic service in sequence, and automatically calling the API service.
With reference to the first aspect, an embodiment of the present invention provides a fourth possible implementation manner of the first aspect, where a parameter template of an atomic service includes a key of a parameter, a name of the parameter, a type of the parameter, and source information of the parameter; the key of the parameter is used for acquiring the value of the parameter and has uniqueness; the name of the parameter is a name corresponding to an API parameter; the type of the parameter is a data type of the parameter; the source information of the parameters is used for indicating the source of the acquired parameters and the process stage.
With reference to the first aspect, an embodiment of the present invention provides a fifth possible implementation manner of the first aspect, where the service is a virtual network function service, and is implemented by calling an API that supports virtual network service management and operation support management.
In a second aspect, an embodiment of the present invention provides an automatic service orchestration device based on parameter driving, where the device includes:
the system comprises an atomic service definition and management module, a parameter template registration module and an automatic execution method, wherein the atomic service definition and management module is used for creating a plurality of atomic services, each atomic service is associated with an API (application programming interface), each atomic service comprises attributes, a method for registering the parameter template and the automatic execution method, the parameter template is used for describing parameters, the method for registering the parameter template is used for registering all parameters required by calling the API, the automatic execution method is used for acquiring all parameters required by the API and automatically calling the API, and the API is used for finishing specific business services; registering the created atomic service and storing the atomic service in a service warehouse; receiving a request for searching the atomic service and returning the found atomic service; if the service warehouse does not have the searched atomic service, creating a new atomic service, and registering and returning the newly created atomic service;
the flow definition module defines a flow description file according to the service sequence requirement, and comprises an automatic execution link 1, an automatic execution link 2, an automatic execution link 3 and an automatic execution link n, wherein the automatic execution link 1 is bound with an atomic service 1, the automatic execution link 2 is bound with an atomic service 2, the automatic execution link 3 is bound with an atomic service 3, …, and the automatic execution link n is bound with an atomic service n, and each automatic execution link is realized by the atomic service with the minimum service unit; the atomic service is obtained by sending a search request to an atomic service definition and management module;
the flow template generating and parameter template extracting module is used for generating a flow template according to the flow description file and extracting the parameter template required by each atomic service;
the process instance and the parameter value loading module thereof read the system configuration file, obtain the system configuration parameters and all the parameter values needed by each atomic service in the process instance according to the process template generated by the process template generating and parameter template extracting module and the extracted parameter template, instantiate the atomic service, generate the process instance and load the process instance context;
and the parameter value reading and process instance executing module is used for reading system configuration parameters and each parameter value of each atomic service in the context of the process instance loaded by the process instance and the parameter value loading module thereof, executing the process instance and automatically executing the atomic service therein, and the atomic service automatically calls the API service according to the acquired parameter values.
With reference to the second aspect, an embodiment of the present invention provides a first possible implementation manner of the second aspect, where the atomic service definition and management module includes an atomic service editing unit, a service repository management unit, and a service repository; wherein the content of the first and second substances,
the atomic service editing unit is used for editing and creating an atomic service file, compiling a plurality of atomic services and sending the newly created atomic services to the service warehouse management unit;
the service warehouse management unit is used for managing and maintaining a plurality of atomic services, registering, searching and canceling according to the attributes of the atomic services, and registering and storing newly-created atomic services in the service warehouse; receiving a request for searching the atomic service and returning the found atomic service; if the service warehouse does not have the searched atomic service, creating a new atomic service, and registering and returning the newly created atomic service;
and the service warehouse is used for storing the atomic service.
With reference to the second aspect, an embodiment of the present invention provides a second possible implementation manner of the second aspect, where the process definition module includes a process editing unit and a searching unit; wherein the content of the first and second substances,
the flow editing unit is used for editing and creating a flow description file, compiling a plurality of automatic execution links, namely an automatic execution link 1, an automatic execution link 2, an automatic execution link 3 and an automatic execution link n, wherein the automatic execution link 1 is bound with an atomic service 1, the automatic execution link 2 is bound with an atomic service 2, the automatic execution link 3 is bound with an atomic service 3, …, the automatic execution link n is bound with the atomic service n, and in the process of editing the flow file, a request for searching the atomic service is sent to the searching unit until all the bound atomic services are registered;
the searching unit sends a request for searching each atomic service to the atomic service definition and management module according to the request sent by the flow editing unit until receiving the returned atomic service.
With reference to the second aspect, an embodiment of the present invention provides a third possible implementation manner of the second aspect, based on an existing process engine apparatus, where the process engine apparatus includes a deployment service module for publishing a process template, and the process template generating and parameter template extracting module includes a business orchestration process template generating unit and a parameter template extracting unit, where,
the business arrangement flow template generating unit is used for calling a deployment service interface in the flow engine, issuing the flow description file defined by the flow definition module and generating a business arrangement flow template;
a parameter template extraction unit, configured to read each atomic service in the business arrangement flow template, obtain each atomic service instance through a Java reflection mechanism, execute a method for registering a parameter template of each atomic service instance, and obtain all parameter templates required by each atomic service instance; and storing the business arrangement flow template, all the parameter templates thereof and the relationship between the business arrangement flow template and all the parameter templates in a memory.
With reference to the second aspect, an embodiment of the present invention provides a fourth possible implementation manner of the second aspect, based on an existing process engine apparatus, where the process engine apparatus includes a deployment service module for publishing a process template and an operation service module for starting a process instance, and the process instance and its parameter value loading module include a parameter registration unit, a business orchestration process instance generation unit, and a parameter loading unit, where,
the parameter registration unit is used for reading and analyzing each parameter template according to the service arrangement flow template and each parameter template thereof obtained by the flow template generation and parameter template extraction module, generating a parameter input user interface of each parameter, inputting a parameter value for each parameter from the user interface, obtaining a parameter value of an API corresponding to each atomic service parameter template, and obtaining instantiated atomic services;
the business arrangement process instance generating unit is used for calling an operation service interface in the process engine, and generating a business arrangement process instance and a process context of the business arrangement process instance according to the business arrangement process template and the instantiated atomic service;
the parameter loading unit is used for reading the system configuration file and loading the configuration information into the process context of the process instance generated by the business arrangement process instance generating unit in a key-value mode; and loading the parameter values of all the atomic services acquired by the parameter registration unit into the process context of the process instance generated by the business arrangement process instance generation unit in a key-value mode.
With reference to the foregoing implementation manner of the second aspect, an embodiment of the present invention provides a fifth possible implementation manner of the second aspect, based on an existing process engine apparatus, where the process engine apparatus includes a deployment service module for publishing a process template, an operation service module for starting a process instance, and a task service module for claiming and completing a task, and the parameter value reading and process instance executing module includes a parameter value obtaining unit and an automatic executing unit, where,
the parameter value acquisition unit is used for acquiring system configuration parameters and each parameter value of each atomic service in a key-value mode from the process instance and the process instance context loaded by the parameter value loading module;
and the automatic execution unit is used for calling a task service interface in the process engine, automatically executing the automatic execution method in each atomic service in sequence according to the parameter values obtained by the parameter value acquisition unit and automatically calling the API service.
With reference to the second aspect, an embodiment of the present invention provides a sixth possible implementation manner of the second aspect, where the parameter template of the atomic service includes a key of a parameter, a name of the parameter, a type of the parameter, and source information of the parameter; the key of the parameter is used for acquiring the value of the parameter and has uniqueness; the name of the parameter is a name corresponding to an API parameter; the type of the parameter is a data type of the parameter; the source information of the parameters is used for indicating the source of the acquired parameters and the process stage.
With reference to the second aspect, an embodiment of the present invention provides a seventh possible implementation manner of the second aspect, where the service is a virtual network function service, and is implemented by calling an API that supports virtual network service management and operation support management.
In the embodiment of the invention, the existing API is called through the atomic service, and the actual business service requirement is supported by arranging the combination of a plurality of atomic services, so that convenience is brought to users, details of calling the API do not need to be concerned, the flow meeting the business requirement is rapidly customized, and the purposes of rapidly opening and enjoying the service are achieved. The method can also exactly meet the requirements of rapid development and deployment of new services in NFV technology.
In order to make the aforementioned and other objects, features and advantages of the present invention comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present invention and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained according to the drawings without inventive efforts.
Fig. 1 is a flowchart illustrating a method for automatically scheduling services based on parameter driving according to a first embodiment of the present invention.
Fig. 2 is a schematic diagram illustrating an exemplary "green internet access" flow in step S1 in an automatic service orchestration method based on parameter driving according to a first embodiment of the present invention.
Fig. 3 is a schematic diagram illustrating a module composition of an automatic service orchestration device based on parameter driving according to a sixth embodiment of the present invention.
Fig. 4 is a schematic diagram illustrating specific units of modules in an automatic service orchestration device based on parameter driving according to a seventh embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, 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, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. The components of embodiments of the present invention generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present invention, presented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present invention without making any creative effort, shall fall within the protection scope of the present invention.
In view of the fact that there is no parameter-driven automatic service orchestration method, embodiments of the present invention provide a parameter-driven automatic service orchestration method and apparatus, which are described in detail below by way of embodiments.
Example one
Fig. 1 is a schematic flowchart of a method for automatically scheduling services based on parameter driving according to a first embodiment of the present invention, where the method includes the following steps:
step S1: defining and managing a plurality of atomic services, wherein each atomic service is associated with an API, creating a method for creating the atomic services, which comprises attributes, a parameter registration template and an automatic execution method, wherein the parameter template is used for bearing parameters, the parameter registration template method is used for registering all parameters required by calling the API, the automatic execution method is used for acquiring all parameters required by the API and automatically calling the API, and the API is used for finishing specific business services; registering the created atomic service and storing the atomic service in a service warehouse; receiving a request for searching the atomic service and returning the found atomic service; if the searched atomic service is not in the service warehouse, a new atomic service is created, and the newly created atomic service is registered and returned.
If the business service is decomposed into a plurality of non-subdividable business units, the atomic service is the smallest service unit serving the business units, a certain business can be processed independently, other services can be called in the atomic service, commands can be executed, data and the like can be returned, the atomic service is a non-subdividable service type, and the atomic service can be used as one of the constituent cells of various businesses. A plurality of different atomic services may constitute a plurality of different services.
Atomic services may include attribute features such as name, identification, business type, function, purpose, lifecycle, API-related features, graphical and location information of the flow diagram, and the like. Due to the diversity of the API, atomic services are also diverse, are identified and classified by attributes, are easy to manage, and help locate the role that the atomic services play in the process. The concept of atomic service in the invention is generated for arranging the process of business, therefore, each atomic service does not exist independently, and the meaning of existence is realized only when the atomic service is used in combination with the process. The atomic service, if defining the graph and location information for the flow graph, can be used to generate a visual flow graph.
Because of the diversity of the API, the needed parameters are various and have rich sources, the parameters needed by the API are prepared before the API is called.
Typical components of an atomic service are described as follows.
Figure BDA0001802774330000111
Figure BDA0001802774330000121
The parameters 1, 2, 3, …, and n are parameters required when the API is called, in this embodiment, a set of these parameters is carried by a parameter template, and the parameters are registered by the parameter template during definition, and acquired by the parameter template during use.
A sample of configuring an atomic services activation is as follows:
Figure BDA0001802774330000122
in the above example, the configuration activation is the name of the configuration activation atom service, and there are two interfaces. The JavaDelegate interface calls execute (), which is an automatically executed method including automatically executed statements. The BaseDelegate interface calls getRequireParameters (), which is a method of registering a parameter template, including statements that register parameters.
The service warehouse is used for managing and maintaining a plurality of atomic services, and can register, search and cancel according to the attributes of the atomic services.
Step S2: defining a flow description file, defining a flow according to the requirements of a business service sequence, wherein the flow comprises an automatic execution link 1, an automatic execution link 2, automatic execution links 3 and … and an automatic execution link n, the automatic execution link 1 is bound with an atomic service 1, the automatic execution link 2 is bound with an atomic service 2, the automatic execution link 3 is bound with an atomic service 3 and …, and the automatic execution link n is bound with an atomic service n, wherein each automatic execution link is realized by an atomic service with a minimum business unit; the atomic service is obtained through step S1.
The definition flow description file may be completed using XML text editing tools.
A wide variety of atomic services can be combined into multiple flows. An atomic service may also be reused in multiple different processes.
The atomic service in this embodiment is loaded into the process context environment when the process is started, and the process context is generated along with the execution of the process and is killed along with the termination of the process. The automatic execution link 1 is bound with the atomic service 1, the automatic execution link 2 is bound with the atomic service 2, the automatic execution link 3 is bound with the atomic service 3 and …, and the automatic execution link n is bound with the atomic service n, wherein the meaning is that the automatic execution link 1 is bound with the address of the atomic service 1, the automatic execution link 2 is bound with the address of the atomic service 2, …, and the automatic execution link n is bound with the address of the atomic service n, so that the execution sequence of the atomic service according to the requirements of business services is met. The required atomic service can be searched in the service warehouse according to the attribute of the atomic service and selected according to the business requirement.
The definition of the process can be described by using a process description file to describe the content of the process and an XML document conforming to BPMN (business process Modeling Notation) specification. BPMN is one of the modeling language standards for BPM and workflow. The BPMN specification is promulgated by the standards organization BPMI.
Taking the "green internet surfing" business arrangement flow as an example, the flow chart is shown in fig. 2.
In the flow template of 'green internet access', resource allocation, resource preemption, network arrangement, configuration activation and test verification are all automatic links, and each automatic link is bound with corresponding atomic service and respectively performs resource allocation, resource preemption, network organization, configuration activation and test verification.
In the BPMN flow description file, the way atomic services are bound is as follows:
Figure BDA0001802774330000141
wherein, the definitions node describes the XML specification which the document needs to conform to, mainly the BPMN specification; the process node is the main content of the file, firstly, the identification id and name of the process are defined, and whether isExecutable can be executed or not is defined; defining an automatic flow link node serviceTask, starting an event startEvent, terminating an event endEvent and executing sequence flow of the event and the link in a process node; the serviceTask is an automatic flow link, defines the identification id and name of the link, and defines the atomic service activity: class, and the atomic service is a defined JAVA class path (class instance can be obtained through JAVA reflection).
Step S3, deployment process phase, generating process template according to the process description file, and extracting the parameter template needed by each atom service.
In the process deployment stage, a service orchestration process template is generated according to the process description file defined in step S2, and all the subsequent service orchestration process instances are generated from the service orchestration process template.
And finding each atomic service bound by the business arrangement flow template, analyzing the atomic services, and obtaining a corresponding parameter template by a parameter registration method.
To facilitate multiple uses of the generated flow template and its parameter template, the flow template and its parameter template may be saved together in memory after generation.
Step S4, starting the process phase, reading the system configuration file, obtaining the system configuration parameters and all the parameter values needed by each atomic service in the process instance according to the process template and the parameter template, instantiating the atomic service, generating the process instance, and loading the process instance context.
The step starts the process phase, reads the system configuration information, instantiates the atomic service according to the business arrangement process template generated in the step S3 and the parameter templates thereof, and obtains the parameter values required by the atomic services; generating a business arrangement process instance, loading the process instance, generating a process context of the process instance, loading the initialization configuration information into the process context, and loading the obtained parameter values into the process context to prepare for the next process execution stage.
The system configuration file is generally read from a directory of the file system, and the system configuration information is inherent information required by the system, such as an IP address of the system, URL addresses of other systems, database addresses, and the like.
If step S3 saves the flow template and its parameter template to the memory, this step can also read the flow template and its parameter template from the memory.
Step S5, executing a process phase, reading system configuration parameters and parameter values of each atomic service in the context of the loaded process instance, executing the process instance, and automatically executing the atomic service therein, where the atomic service automatically calls API services according to the obtained parameter values.
In the flow context of the loaded flow instance, the API service is automatically invoked by reading the parameter values of each atomic service and automatically executing the atomic services in sequence.
The five steps of the automatic service arrangement method based on parameter driving provided by the embodiment of the invention are from defining the atomic service for calling the API service, to arranging the flow document, to generating the flow template example, using the parameter template to bear the parameters required by all the APIs, and finally to smoothly and automatically executing the calling API service, and the whole process is a chained automatic process, the invention relates to a method for automatically calling and executing API (application program interface) business, wherein an atomic service is associated with an API (application program interface) to ensure that the atomic service has reusability, the atomic service is arranged and assembled into a flow, parameters required by all APIs are solved by a parameter template, and the effect of automatically calling and executing the API business is achieved.
In the second embodiment, further, the step S3 deployment process stage can be implemented in two steps as follows:
and step S31, calling a deployment service interface in the process engine, issuing the defined process description file in the step S2, and generating a business arrangement process template.
The step can be realized by calling a deployment service interface in the existing workflow engine, and a business arrangement flow template is generated and stored.
Step S32, reading each atomic service in the business arrangement flow template, obtaining each atomic service instance through a Java reflection mechanism, executing the method of registering parameter templates of each atomic service instance, obtaining all parameter templates required by each atomic service instance, and storing the business arrangement flow template and all parameter templates thereof, and the relationship therebetween, in a memory.
In Java, reflection is a powerful tool and code can be assembled at runtime. Through a Java reflection mechanism of the atomic service, an instance of the atomic service is obtained, a method for obtaining a parameter template of the instance is executed, all parameter requirement definitions in the process deployment are obtained, and the parameter definitions are stored in a memory.
In a third embodiment, the step S4 may be implemented as the following three steps:
and step S41, analyzing the parameter templates according to the service arrangement flow template obtained in the step S3 and the parameter templates thereof, generating a parameter input user interface of each parameter, inputting a parameter value for each parameter from the user interface, obtaining the parameter value of the API corresponding to each atomic service parameter template, and obtaining the instantiated atomic service.
Firstly, from the service arrangement flow template obtained in the step S3 and each parameter template thereof, presenting different input items in a foreground user interface form according to the source and the type of the parameters contained in the template, automatically displaying the form in the foreground user interface page by analyzing the input parameter data, and directly displaying the form in a flow starting page if the parameters are read by system configuration; if the parameters are input when the process is started, and simultaneously the parameters are of an enumeration type, a drop-down box is displayed for a user to select, if the parameters are of a number type, the input box is displayed so that the user can only input numbers, and if the parameters are of a character type, the input box is displayed so that the user can input any character.
Step S42, the running service interface in the process engine is called, and a business arrangement process instance and a process context of the business arrangement process instance are generated according to the business arrangement process template and the instantiated atomic service.
This step can be implemented by calling a run service interface in the existing workflow engine.
Step S43, reading the system configuration file, and loading the configuration information into the flow context of the flow instance generated in step S42 in a key-value mode; and loads the respective parameter values of all the atomic services obtained in step S41 in a key-value manner into the flow context of the flow instance generated in step S42.
The system configuration file is used to store some information about the environment of the heel-deployed software system, such as the URL address, the database address, etc. of the relevant system, and is generally read from a directory of the file system.
The key-value mode is a key-value mode, the key is unique, a value is corresponded, and the value forms are various. Such as:
Map<String,int>map=new HashMap<String,int>();
map.put("ming",1);
map.put("zi",2);
here, a Map object is defined, and two groups of data keys "ming" are placed, corresponding to a value of 1; the key "zi" corresponds to a value of 2.
Get ("ming") thus yields a value of 1.
Put ("ming",3) if again; since the key "ming" already exists, the key value is unique, so the original value 1 would be overwritten.
Example four, further, step S5 may be implemented in two steps:
in step S51, each atomic service obtains the parameter values in a key-value manner, and obtains the parameter values from the process context of the business orchestration process instance obtained in step S4.
Since the parameter values of the atomic services are already stored in the process context in step S4, the parameter values are retrieved in this step, and the parameters are prepared for the API service to be automatically executed.
And step S52, a task service interface in the process engine is called, an automatic execution method in each atomic service is automatically executed in sequence, and API service is automatically called.
This step can be implemented by calling a task service interface in the existing workflow engine.
Fifth, further, the parameter template of the atomic service includes a key of the parameter, a name of the parameter, a type of the parameter, and source information of the parameter; the key of the parameter is used for acquiring the value of the parameter and has uniqueness; the name of the parameter is a name corresponding to an API parameter; the type of the parameter is a data type of the parameter; the source information of the parameters is used for indicating the source of the acquired parameters and the process stage.
The parameter template is used to carry API parameters, and the parameter template in this embodiment includes a key of a parameter, a name of a parameter, a type of a parameter, and source information source of a parameter, for example:
the first parameter is as follows: key1, name OSS system address, type character string, source, reading system configuration when process is started
And a second parameter: key2, name VNF, type enumeration, source: interface input when process is started
And (3) parameters III: key3, name vendor, type enumeration, source: interface input when process is started
And a fourth parameter: key4, name VNFID, type enumeration, source: generation in process execution links
In an example of an atomic template, getRequireParameters () method of registering a PARAMETER template, a statement new tnfvservicetimeparameter ("CFG _ PARAMETER _1", "processing PARAMETER 1", "String", "") appears, where "CFG _ PARAMETER _1" is a key of a PARAMETER, "processing PARAMETER 1" is a name of a PARAMETER, "String" is a type of a PARAMETER, and "" "represents a default startup-time input.
The type of the parameter represents a data type of the parameter value, which may be string type string, enumeration type enum, or digital int, and is used when determining the parameter, for example, in step S4 in embodiment one, when starting the process stage, in the process of instantiating the atomic service, a mode of obtaining a parameter value required by each atomic service therein may be obtained, and a parameter input interface may be presented through an external user interface, and parameter information input from the external interface may be obtained; the parameter input interface can display different input items, if the input items are of an enumeration type, a drop-down box is displayed for a user to select, if the input items are of a number type, the input box is displayed so that the user can only input numbers, and if the input items are of a character type, the input box is displayed so that the user can input any character.
The source information of the parameters in the parameter template of the atomic service has three aspects, including: firstly, reading default system configuration information when a process starts a business arrangement process instance; secondly, when a business arrangement process instance is generated in the process of starting the process, parameter information input from an external interface is acquired through an external interface presentation parameter input interface in the process of instantiating the atomic service; and thirdly, storing the parameter information into the flow context after the atomic service is accessed according to the information generated by each automatic execution link in the automatic flow execution process, and acquiring the parameter information from the subsequent link in the flow context, thereby realizing the data transmission among the respective automatic execution links.
Preferably, the parameter template may further include a key of the parameter, a name of the parameter, a type of the parameter, a default value defaultValue of the parameter, a task name taskname of the parameter, and source information of the parameter. Some parameters may have default values, may not necessarily fill in the attribute, and may be empty. When the default value has a value, when the input item is displayed on the process starting page, the value is displayed as the default value of the input item by default; taskname is the task name of the parameter, and the system is automatically filled when the flow deployment generates the flow template.
Further, in combination with the above embodiments, the service is a virtual network function service, which may be, for example, instantiation, scaling, termination, network access, device activation, and the like of a virtual device, and is implemented by calling an API supporting virtual network service management and operation support management; for example, it may be a resource allocation API, a resource preemption API, a network orchestration API, a configuration activation API, a service termination API, etc.
The embodiment is based on a parameter driving mode, and is characterized in that instantiation, capacity expansion and contraction and termination of the virtual equipment and activation and encapsulation of the network communication equipment are firstly carried out to form atomic services, then various atomic services are organically combined, various network service units are orderly arranged and organized, all components of a network are balanced and coordinated, and services capable of meeting user requirements are automatically generated.
Based on the first embodiment, the service arrangement process of "green surfing" in the flowchart shown in fig. 2 shows such an embodiment, and details are not repeated.
EXAMPLE six
Corresponding to the method in the first embodiment, an embodiment of the present invention further provides an automatic service orchestration device based on parameter driving, configured to execute the method in the first embodiment.
Fig. 3 is a schematic diagram illustrating a module composition of an automatic service orchestration device based on parameter driving according to a sixth embodiment of the present invention, and as shown in fig. 3, an automatic service orchestration device based on parameter driving according to this embodiment includes:
the atomic service definition and management module M100 is used for creating a plurality of atomic services, each atomic service is associated with an API, each atomic service comprises attributes, a method for registering a parameter template and an automatically executed method, the parameter template is used for describing parameters, the method for registering the parameter template is used for registering all parameters required by calling the API, the automatically executed method is used for acquiring all parameters required by the API and automatically calling the API, and the API is used for finishing specific business services; registering the created atomic service and storing the atomic service in a service repository DB; receiving a search request of the atomic service, and returning the found atomic service; if there is no atomic service looked up in the service repository DB, a new atomic service is created, registered and returned.
Atomic services may include attribute features such as name, identification, business type, function, purpose, lifecycle, API-related features, graphical and location information of the flow diagram, and the like. Due to the diversity of the API, atomic services are also diverse, are identified and classified by attributes, are easy to manage, and help locate the role that the atomic services play in the process. The concept of atomic service in the invention is generated for arranging the process of business, therefore, each atomic service does not exist independently, and the meaning of existence is realized only when the atomic service is used in combination with the process. The atomic service, if defining the graph and location information for the flow graph, can be used to generate a visual flow graph.
The atomic service programming language may be written in a Java-like language.
The following are typical components that describe an atomic service.
Figure BDA0001802774330000211
Figure BDA0001802774330000221
The parameters 1, 2, 3, …, and n are parameters required when the API is called, in this embodiment, a set of these parameters is carried by a parameter template, and the parameters are registered by the parameter template during definition, and acquired by the parameter template during use.
For a sample of the atomic service, refer to step S1 in the first embodiment of the present invention, which is not described again.
The flow definition module M200 is used for defining a flow description file according to the requirements of a business service sequence, and comprises an automatic execution link 1, an automatic execution link 2, an automatic execution link 3 and an automatic execution link n, wherein the automatic execution link 1 is bound with an atomic service 1, the automatic execution link 2 is bound with an atomic service 2, the automatic execution link 3 is bound with an atomic service 3, …, and the automatic execution link n is bound with an atomic service n, and each automatic execution link is realized by an atomic service with a minimum business unit; the atomic service is obtained by sending a search request to the atomic service definition and management module M100.
The atomic service in this embodiment is loaded into the process context environment when the process is started, and the process context is generated along with the start of the process and is killed along with the stop of the process. The automatic execution link 1 is bound with the atomic service 1, the automatic execution link 2 is bound with the atomic service 2, the automatic execution link 3 is bound with the atomic service 3 and …, and the automatic execution link n is bound with the atomic service n, wherein the meaning is that the automatic execution link 1 is bound with the address of the atomic service 1, the automatic execution link 2 is bound with the address of the atomic service 2, …, and the automatic execution link n is bound with the address of the atomic service n, so that the execution sequence of the atomic service according to the requirements of business services is met. The required atomic service can be searched according to the attribute of the atomic service and selected according to the business requirement.
The defined process description file is stored in a memory so as to be loaded at any time when needed, and the process generation, deployment, startup and execution are realized.
The flow template generating and parameter template extracting module M300 is configured to generate a flow template according to the flow description file defined by the flow defining module M200, and extract a parameter template required by each atomic service.
The process instance and parameter value loading module M400 is configured to instantiate an atomic service according to the process template generated by the process template generating and parameter template extracting module M300 and the extracted parameter template, obtain parameter values required by each atomic service, generate a process instance and a process context, and load parameters into the process instance context.
The parameter value reading and process instance executing module M500 is configured to, in the context of the loaded process instance, read a system configuration parameter and each parameter value of each atomic service, execute the process instance generated by the process instance and the parameter value loading module M400 thereof, and automatically execute the atomic service therein, where the atomic service automatically invokes the API service according to the obtained parameter value.
Based on the sixth embodiment, preferably, the atomic service definition and management module M100 may specifically include an atomic service editing unit M101, a service repository management unit M102, and a service repository DB. The atomic service editing unit M101 is configured to edit and create an atomic service file, write a plurality of atomic services, and send the newly created atomic services to the service repository management unit M102. The service warehouse management unit M102 is configured to manage and maintain a plurality of atomic services, perform registration, search, and logout according to attributes of the atomic services, register and store newly created atomic services in the service warehouse DB; receiving a request for searching the atomic service and returning the found atomic service; if there is no atomic service looked up in the service repository DB, a new atomic service is created, registered and returned. The service repository DB is used to store atomic services.
Based on the sixth embodiment, preferably, the flow definition module M200 may specifically include a flow editing unit M201 and a searching unit M202. The process editing unit M201 is configured to edit and create a process description file, and compile a plurality of automatic execution links, including an automatic execution link 1, an automatic execution link 2, an automatic execution link 3, and an automatic execution link n, where the automatic execution link 1 binds to an atomic service 1, the automatic execution link 2 binds to an atomic service 2, the automatic execution link 3 binds to an atomic service 3, …, and the automatic execution link n binds to an atomic service n, and in the process of editing a process file, a request for finding an atomic service is sent to the finding unit M102 until all bound atomic services are registered. The search unit M202 sends a request for searching each atomic service to the atomic service definition and management module M100 according to the request sent by the flow editing unit M201 until receiving the returned atomic service.
The Process description file conforms to the XML document of BPMN (Business Process Modeling Notation) specification for description. BPMN is one of the modeling language standards for BPM and workflow. The BPMN specification is promulgated by the standards organization BPMI.
Based on the sixth embodiment, preferably, the flow template generating and parameter template extracting module M300 may include a business arrangement flow template generating unit M301 and a parameter template extracting unit M302, where the business arrangement flow template generating unit M301 is configured to invoke a deployment service interface in a flow engine, issue a flow description file defined by the flow defining module, and generate a business arrangement flow template; the parameter template extracting unit M302 is configured to read each atomic service in the business arrangement flow template generated by the business arrangement flow template generating unit, obtain each atomic service instance through a Java1 reflection mechanism, execute a method for registering a parameter template of each atomic service instance, obtain all parameter templates required by each atomic service instance, and store the business arrangement flow template and all parameter templates thereof, and relationships between them in the memory MB.
Based on the sixth embodiment, preferably, the flow instance and the parameter value loading module M400 thereof may include a parameter registration unit M401, a business orchestration flow instance generation unit M402, and a parameter loading unit M403, wherein,
and the parameter registering unit M401 is configured to read and analyze each parameter template according to the business arrangement flow template and each parameter template thereof obtained by the parameter template extracting unit M302, generate a parameter input user interface for each parameter, input a parameter value for each parameter from the user interface, obtain a parameter value of an API corresponding to each atomic service parameter template, and obtain an instantiated atomic service.
And the business arrangement process instance generating unit M402 is used for calling an operation service interface in the process engine, and generating a business arrangement process instance and a process context of the business arrangement process instance according to the business arrangement process template and the instantiated atomic service.
A parameter loading unit M403, configured to read a system configuration file, and load configuration information in a key-value manner into the process context of the process instance generated by the business orchestration process instance generating unit M402; and loads each parameter value of all the atomic services obtained by the parameter registration unit into the flow context of the flow instance generated by the business orchestration flow instance generation unit M402 in a key-value manner.
The system configuration file is used to store information about some heel-deployed software system environments.
Based on the sixth embodiment above, preferably, the flow instance execution module M500 may include a parameter value obtaining unit M501, an automatic execution unit M502, wherein,
a parameter value obtaining unit M501, configured to obtain system configuration parameters and parameter values of each atomic service in a key-value manner from the process instance and the process instance context loaded by the parameter value loading module M400;
and the automatic execution unit M502 is configured to invoke a task service interface in the process engine, and according to the parameter values obtained by the parameter value obtaining unit M501, automatically execute an automatic execution method in each atomic service in sequence, and automatically invoke an API service.
Seventh, based on the sixth embodiment and all the preferred embodiments, further, the parameter template of the atomic service includes a key of the parameter, a name of the parameter, a type of the parameter, and source information of the parameter; the key of the parameter is used for acquiring the value of the parameter and has uniqueness; the name of the parameter is a name corresponding to an API parameter; the type of the parameter is a data type of the parameter; the source information of the parameters is used for indicating the source of the acquired parameters and the process stage.
The concept and function of the parameter template have been stated in the second embodiment, and have the same meaning and function, and are not described again.
Seventh embodiment fig. 4 shows a schematic composition diagram of a specific module unit in an automatic business arrangement device based on parameter driving according to a seventh embodiment of the present invention, as shown in fig. 4, the device includes an atomic service editing unit M101, a service warehouse management unit M102, a process editing unit M201, a search unit M202, a business arrangement process template generating unit M301, a parameter template extracting unit M302, a parameter registering unit M401, a business arrangement process instance generating unit M402, a parameter loading unit M403, a parameter value obtaining unit M501, and an automatic execution unit M502. Wherein the relational connections between modules represent data flows. The functions are as described above and will not be described in detail. The shadow part service arrangement flow template generating unit M301, the service arrangement flow instance generating unit M402 and the automatic executing unit M502 are all realized by calling the existing flow engine module.
Further, with reference to the sixth and seventh embodiments and all further preferred solutions above, the service is a virtual network function service, which may be, for example, instantiation, scaling, termination, network access, device activation, and the like of a virtual device, and is implemented by calling an API supporting virtual network service management and operation support management; for example, it may be a resource allocation API, a resource preemption API, a network orchestration API, a configuration activation API, a service termination API, etc.
Based on the above embodiments, the automatic service orchestration device based on parameter driving provided by the present invention has the following beneficial effects: (1) a plurality of atomic services are defined, and each atomic service can be repeatedly used, so that the development cost is saved; (2) the text of the flow description file is easy to edit and modify, the content and the sequence of the atomic service are easy to arrange, and the user can conveniently check the text; (3) the method has the advantages that part of functions are realized by means of the existing workflow engine tool, development efficiency is improved, and system operation efficiency is improved; the automatic execution function of the device also effectively supports the device to easily realize automatic calling of the API; (4) the parameter template mode is used for registering parameters and obtaining the parameters conveniently, and the API parameter requirements are met.
The automatic service orchestration device based on parameter driving provided by the embodiment of the invention can be specific hardware on equipment, or software or firmware installed on the equipment, and the like. The device provided by the embodiment of the present invention has the same implementation principle and technical effect as the method embodiments, and for the sake of brief description, reference may be made to the corresponding contents in the method embodiments without reference to the device embodiments. It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the foregoing devices, modules and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the embodiments provided by the present invention, it should be understood that the disclosed method and apparatus may be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions in actual implementation, and for example, a plurality of modules or units may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of systems or units through some communication interfaces, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment. In addition, functional units in the embodiments provided by the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes. It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus once an item is defined in one figure, it need not be further defined and explained in subsequent figures, and moreover, the terms "first", "second", "third", etc. are used merely to distinguish one description from another and are not to be construed as indicating or implying relative importance.
The above-mentioned embodiments are only specific embodiments of the present invention, which are used for illustrating the technical solutions of the present invention and not for limiting the same, and the protection scope of the present invention is not limited thereto, although the present invention is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: any person skilled in the art can modify or easily conceive the technical solutions described in the foregoing embodiments or equivalent substitutes for some technical features within the technical scope of the present disclosure; such modifications, changes or substitutions do not depart from the spirit and scope of the present invention in its spirit and scope. Are intended to be covered by the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (14)

1. A parameter-driven automatic service orchestration method, comprising:
1) defining and managing a plurality of atomic services, wherein each atomic service is associated with an API, creating a method for creating the atomic services, which comprises attributes, a parameter registration template and an automatic execution method, wherein the parameter template is used for bearing parameters, the parameter registration template method is used for registering all parameters required by calling the API, the automatic execution method is used for acquiring all parameters required by the API and automatically calling the API, and the API is used for finishing specific business services; registering the created atomic service and storing the atomic service in a service warehouse; receiving a request for searching the atomic service and returning the found atomic service; if the service warehouse does not have the searched atomic service, creating a new atomic service, and registering and returning the newly created atomic service;
2) defining a flow description file, defining a flow according to the requirements of a business service sequence, wherein the flow comprises an automatic execution link 1, an automatic execution link 2, automatic execution links 3 and … and an automatic execution link n, the automatic execution link 1 is bound with an atomic service 2 of the atomic service 1, the automatic execution link 3 is bound with an atomic service 3 and …, and the automatic execution link n is bound with an atomic service n, and each automatic execution link is realized by the atomic service with the minimum business unit; the atomic service is obtained through the step 1);
3) a process deployment phase, namely generating a process template according to the process description file and extracting parameter templates required by each atomic service;
4) a process starting stage, reading a system configuration file, obtaining system configuration parameters and all parameter values required by each atomic service in a process instance according to the process template and the parameter template, instantiating the atomic service, generating the process instance and a process context, and loading the parameters to the process instance context;
5) and a flow executing stage, namely reading system configuration parameters and parameter values of each atomic service in the context of the loaded flow instance, executing the flow instance, and automatically executing the atomic service in the flow instance, wherein the atomic service automatically calls API service according to the acquired parameter values.
2. The method of claim 1, wherein said step 3) deploys the process of the flow phase based on existing flow engines, in particular,
3-1) calling a deployment service interface in a process engine, issuing the defined process description file in the step 2), and generating a business arrangement process template;
3-2) reading each atomic service in the business arrangement flow template, obtaining each atomic service instance through a Java reflection mechanism, executing a method for registering parameter templates of each atomic service instance, and obtaining all parameter templates required by each atomic service instance; and storing the business arrangement flow template, all the parameter templates thereof and the relationship between the business arrangement flow template and all the parameter templates in a memory.
3. The method according to claim 1, wherein said step 4) initiates the process of the process phase based on the existing process engine, in particular,
4-1) analyzing each parameter template according to the service arrangement flow template obtained in the step 3) and each parameter template thereof, generating a parameter input user interface of each parameter, inputting a parameter value for each parameter from the user interface, obtaining a parameter value of an API corresponding to each atomic service parameter template, and obtaining instantiated atomic services;
4-2) calling an operation service interface in the process engine, and generating a business arrangement process instance and a process context of the business arrangement process instance according to the business arrangement process template and the instantiated atomic service;
4-3) reading a system configuration file, and loading configuration information into the process context of the process instance generated in the 4-2) in a key-value mode; and loading the parameter values of all the atomic services obtained in the step 4-1) into the flow context of the flow example generated in the step 4-2) in a key-value mode.
4. The method of claim 3, wherein said step 5) performs a process of a flow phase based on an existing flow engine, in particular,
5-1) acquiring system configuration parameters and parameter values of each atomic service in a key-value mode from the loaded process instance context;
5-2) calling a task service interface in the process engine, automatically executing an automatic execution method in each atomic service in sequence, and automatically calling the API service.
5. The method of claims 1-4, wherein the parameter template of the atomic service includes a key of a parameter, a name of a parameter, a type of a parameter, and source information of a parameter; the key of the parameter is used for acquiring the value of the parameter and has uniqueness; the name of the parameter is a name corresponding to an API parameter; the type of the parameter is a data type of the parameter; the source information of the parameters is used for indicating the source of the acquired parameters and the process stage.
6. The method of claims 1-4, wherein the business service is a virtual network function service implemented by calling an API supporting virtual network service management and operation support management.
7. An automatic business orchestration device based on parameter driving, the automatic business orchestration device comprising:
the system comprises an atomic service definition and management module, a parameter template registration module and an automatic execution method, wherein the atomic service definition and management module is used for creating a plurality of atomic services, each atomic service is associated with an API (application programming interface), each atomic service comprises attributes, a method for registering the parameter template and the automatic execution method, the parameter template is used for describing parameters, the method for registering the parameter template is used for registering all parameters required by calling the API, the automatic execution method is used for acquiring all parameters required by the API and automatically calling the API, and the API is used for finishing specific business services; registering the created atomic service and storing the atomic service in a service warehouse; receiving a request for searching the atomic service and returning the found atomic service; if the service warehouse does not have the searched atomic service, creating a new atomic service, and registering and returning the newly created atomic service;
the flow definition module defines a flow description file according to the service sequence requirement, and comprises an automatic execution link 1, an automatic execution link 2, an automatic execution link 3 and an automatic execution link n, wherein the automatic execution link 1 is bound with an atomic service 1, the automatic execution link 2 is bound with an atomic service 2, the automatic execution link 3 is bound with an atomic service 3, …, and the automatic execution link n is bound with an atomic service n, and each automatic execution link is realized by the atomic service with the minimum service unit; the atomic service is obtained by sending a search request to an atomic service definition and management module;
the flow template generating and parameter template extracting module is used for generating a flow template according to the flow description file and extracting the parameter template required by each atomic service;
the process instance and the parameter value loading module thereof read the system configuration file, obtain the system configuration parameters and all the parameter values needed by each atomic service in the process instance according to the process template generated by the process template generating and parameter template extracting module and the extracted parameter template, instantiate the atomic service, generate the process instance and the process context and load the parameters to the process instance context;
and the parameter value reading and process instance executing module is used for reading system configuration parameters and each parameter value of each atomic service in the context of the process instance loaded by the process instance and the parameter value loading module thereof, executing the process instance and automatically executing the atomic service therein, and the atomic service automatically calls the API service according to the acquired parameter values.
8. The apparatus of claim 7, wherein the atomic service definition and management module comprises an atomic service editing unit, a service repository management unit, a service repository; wherein the content of the first and second substances,
the atomic service editing unit is used for editing and creating an atomic service file, compiling a plurality of atomic services and sending the newly created atomic services to the service warehouse management unit;
the service warehouse management unit is used for managing and maintaining a plurality of atomic services, registering, searching and canceling according to the attributes of the atomic services, and registering and storing newly-created atomic services in the service warehouse; receiving a request for searching the atomic service and returning the found atomic service; if the service warehouse does not have the searched atomic service, creating a new atomic service, and registering and returning the newly created atomic service;
and the service warehouse is used for storing the atomic service.
9. The apparatus of claim 7, wherein the process definition module comprises a process editing unit, a searching unit; wherein the content of the first and second substances,
the flow editing unit is used for editing and creating a flow description file, compiling a plurality of automatic execution links, namely an automatic execution link 1, an automatic execution link 2, an automatic execution link 3 and an automatic execution link n, wherein the automatic execution link 1 is bound with an atomic service 1, the automatic execution link 2 is bound with an atomic service 2, the automatic execution link 3 is bound with an atomic service 3, …, the automatic execution link n is bound with the atomic service n, and in the process of editing the flow file, a request for searching the atomic service is sent to the searching unit until all the bound atomic services are registered;
the searching unit sends a request for searching each atomic service to the atomic service definition and management module according to the request sent by the flow editing unit until receiving the returned atomic service.
10. The apparatus of claim 7, wherein based on the existing process engine apparatus, the process engine apparatus includes a deployment service module for publishing the process template, and the process template generation and parameter template extraction module includes a business orchestration process template generation unit and a parameter template extraction unit; wherein the content of the first and second substances,
the business arrangement flow template generating unit is used for calling a deployment service interface in the flow engine, issuing the flow description file defined by the flow definition module and generating a business arrangement flow template;
a parameter template extraction unit, configured to read each atomic service in the business arrangement flow template, obtain each atomic service instance through a Java reflection mechanism, execute a method for registering a parameter template of each atomic service instance, and obtain all parameter templates required by each atomic service instance; and storing the business arrangement flow template, all the parameter templates thereof and the relationship between the business arrangement flow template and all the parameter templates in a memory.
11. The apparatus of claim 7, wherein the process engine apparatus comprises a deployment service module for publishing the process template and a running service module for starting the process instance based on the existing process engine apparatus, and the process instance and its parameter value loading module comprises a parameter registration unit, a business orchestration process instance generation unit and a parameter loading unit, wherein,
the parameter registration unit is used for reading and analyzing each parameter template according to the service arrangement flow template and each parameter template thereof obtained by the flow template generation and parameter template extraction module, generating a parameter input user interface of each parameter, inputting a parameter value for each parameter from the user interface, obtaining a parameter value of an API corresponding to each atomic service parameter template, and obtaining instantiated atomic services;
the business arrangement process instance generating unit is used for calling an operation service interface in the process engine, and generating a business arrangement process instance and a process context of the business arrangement process instance according to the business arrangement process template and the instantiated atomic service;
the parameter loading unit is used for reading the system configuration file and loading the configuration information into the process context of the process instance generated by the business arrangement process instance generating unit in a key-value mode; and loading the parameter values of all the atomic services acquired by the parameter registration unit into the process context of the process instance generated by the business arrangement process instance generation unit in a key-value mode.
12. The apparatus of claim 11, wherein the process engine apparatus comprises a deployment service module for publishing the process template, a running service module for starting the process instance, and a task service module for claiming and completing the task, based on the existing process engine apparatus, and the parameter value reading and process instance executing module comprises a parameter value obtaining unit and an automatic executing unit, wherein,
the parameter value acquisition unit is used for acquiring system configuration parameters and each parameter value of each atomic service in a key-value mode from the process instance and the process instance context loaded by the parameter value loading module;
and the automatic execution unit is used for calling a task service interface in the process engine, automatically executing the automatic execution method in each atomic service in sequence according to the parameter values obtained by the parameter value acquisition unit and automatically calling the API service.
13. The method of claims 7-12, wherein the parameter template of the atomic service includes a key of a parameter, a name of a parameter, a type of a parameter, and source information of a parameter; the key of the parameter is used for acquiring the value of the parameter and has uniqueness; the name of the parameter is a name corresponding to an API parameter; the type of the parameter is a data type of the parameter; the source information of the parameters is used for indicating the source of the acquired parameters and the process stage.
14. The method according to claims 7-12, wherein the business service is a virtual network function service, implemented by calling an API supporting virtual network service management and operation support management.
CN201811084640.XA 2018-09-18 2018-09-18 Parameter-driven automatic service arrangement method and device Active CN110912724B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811084640.XA CN110912724B (en) 2018-09-18 2018-09-18 Parameter-driven automatic service arrangement method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811084640.XA CN110912724B (en) 2018-09-18 2018-09-18 Parameter-driven automatic service arrangement method and device

Publications (2)

Publication Number Publication Date
CN110912724A true CN110912724A (en) 2020-03-24
CN110912724B CN110912724B (en) 2023-03-10

Family

ID=69813493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811084640.XA Active CN110912724B (en) 2018-09-18 2018-09-18 Parameter-driven automatic service arrangement method and device

Country Status (1)

Country Link
CN (1) CN110912724B (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708526A (en) * 2020-06-05 2020-09-25 苏州瑞泰信息技术有限公司 Novel API writing method
CN111930372A (en) * 2020-08-06 2020-11-13 科大国创云网科技有限公司 Service arrangement solution method and system realized through draggable flow chart
CN111984371A (en) * 2020-08-18 2020-11-24 济南浪潮高新科技投资发展有限公司 Flow arrangement service scheduling and publishing method
CN112328222A (en) * 2020-11-26 2021-02-05 天津市鑫联兴科技有限公司 Dynamic process service interface method and dynamic process service interface engine
CN112558934A (en) * 2020-12-10 2021-03-26 中盈优创资讯科技有限公司 Control subtask engine module based on arranging control flow service opening
CN112882810A (en) * 2021-02-25 2021-06-01 国家超级计算天津中心 High-throughput task processing method based on supercomputer
CN114218114A (en) * 2021-12-22 2022-03-22 四川启睿克科技有限公司 Full-automatic test data generation method based on interface flow arrangement
CN114244729A (en) * 2021-12-01 2022-03-25 中国邮政储蓄银行股份有限公司 Funnel-type timeout control method and device suitable for service arrangement
CN114285721A (en) * 2021-11-02 2022-04-05 北京思特奇信息技术股份有限公司 Fault automatic diagnosis method and system
CN114726911A (en) * 2022-04-02 2022-07-08 湖南大学 Routing parameter transmission method for online service arrangement of distributed industrial robot
CN114757592A (en) * 2022-06-15 2022-07-15 北京乐开科技有限责任公司 Arrangement method and system for integrating workflow engine and RPA
CN116185242A (en) * 2023-04-27 2023-05-30 北京炎黄广智科技发展有限责任公司 Service arrangement method and device and electronic equipment
WO2024041446A1 (en) * 2022-08-25 2024-02-29 中兴通讯股份有限公司 Method and apparatus for parameter adaptation between application programming interfaces (apis)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100006494A (en) * 2008-07-09 2010-01-19 윤영하 Business process management system and method
CN101826987A (en) * 2010-04-27 2010-09-08 北京邮电大学 System and method for supporting mixed service based on integrated open network
CN102426519A (en) * 2011-08-26 2012-04-25 北京邮电大学 Linked data-based multiplexing method of business process execution language (BPEL) templates and services and system thereof
BRPI1104257A2 (en) * 2011-10-21 2015-09-08 Fundação Cpqd Ct De Pesquisa E Desenvolvimento Em Telecomunicaç Es business process size estimation method and system
US20160127454A1 (en) * 2014-10-30 2016-05-05 Equinix, Inc. Interconnection platform for real-time configuration and management of a cloud-based services exchange
CN105577780A (en) * 2015-12-21 2016-05-11 武汉理工大学 College teaching cloud platform based on micro services
CN107370786A (en) * 2017-06-02 2017-11-21 广州杰赛科技股份有限公司 A kind of general information management system based on micro services framework
CN107659439A (en) * 2017-09-19 2018-02-02 南京沧和信息科技有限公司 A kind of dynamic service orchestration method
CN107888681A (en) * 2017-11-09 2018-04-06 北京中电普华信息技术有限公司 A kind of business flow processing method and device
CN108228369A (en) * 2018-01-19 2018-06-29 北京邮电大学 Visualization API combined systems and method based on JSON trees
US20180260745A1 (en) * 2017-03-09 2018-09-13 At&T Intellectual Property I, L.P. System and method for designing and executing control loops in a cloud environment

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100006494A (en) * 2008-07-09 2010-01-19 윤영하 Business process management system and method
CN101826987A (en) * 2010-04-27 2010-09-08 北京邮电大学 System and method for supporting mixed service based on integrated open network
CN102426519A (en) * 2011-08-26 2012-04-25 北京邮电大学 Linked data-based multiplexing method of business process execution language (BPEL) templates and services and system thereof
BRPI1104257A2 (en) * 2011-10-21 2015-09-08 Fundação Cpqd Ct De Pesquisa E Desenvolvimento Em Telecomunicaç Es business process size estimation method and system
US20160127454A1 (en) * 2014-10-30 2016-05-05 Equinix, Inc. Interconnection platform for real-time configuration and management of a cloud-based services exchange
CN105577780A (en) * 2015-12-21 2016-05-11 武汉理工大学 College teaching cloud platform based on micro services
US20180260745A1 (en) * 2017-03-09 2018-09-13 At&T Intellectual Property I, L.P. System and method for designing and executing control loops in a cloud environment
CN107370786A (en) * 2017-06-02 2017-11-21 广州杰赛科技股份有限公司 A kind of general information management system based on micro services framework
CN107659439A (en) * 2017-09-19 2018-02-02 南京沧和信息科技有限公司 A kind of dynamic service orchestration method
CN107888681A (en) * 2017-11-09 2018-04-06 北京中电普华信息技术有限公司 A kind of business flow processing method and device
CN108228369A (en) * 2018-01-19 2018-06-29 北京邮电大学 Visualization API combined systems and method based on JSON trees

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
严丽云等: ""运营商业务平台微服务化方案"", 《电信科学》 *
罗光峰等: ""面向随选网络的业务编排系统研发实践"", 《电信科学》 *
虞果: ""基于微服务的精细化业务流程编排系统"", 《中国优秀硕士学位论文全文数据库》 *
赵瑞: ""基于软件定义安全架构的安全服务编排系统设计与开发"", 《中国优秀硕士学位论文全文数据库》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708526A (en) * 2020-06-05 2020-09-25 苏州瑞泰信息技术有限公司 Novel API writing method
CN111708526B (en) * 2020-06-05 2024-03-01 苏州瑞泰信息技术有限公司 API writing method
CN111930372B (en) * 2020-08-06 2022-09-20 科大国创云网科技有限公司 Service arrangement solution method and system realized through draggable flow chart
CN111930372A (en) * 2020-08-06 2020-11-13 科大国创云网科技有限公司 Service arrangement solution method and system realized through draggable flow chart
CN111984371A (en) * 2020-08-18 2020-11-24 济南浪潮高新科技投资发展有限公司 Flow arrangement service scheduling and publishing method
CN112328222A (en) * 2020-11-26 2021-02-05 天津市鑫联兴科技有限公司 Dynamic process service interface method and dynamic process service interface engine
CN112558934A (en) * 2020-12-10 2021-03-26 中盈优创资讯科技有限公司 Control subtask engine module based on arranging control flow service opening
CN112558934B (en) * 2020-12-10 2024-01-05 中盈优创资讯科技有限公司 Control subtask engine device based on arranging control flow business opening
CN112882810A (en) * 2021-02-25 2021-06-01 国家超级计算天津中心 High-throughput task processing method based on supercomputer
CN114285721A (en) * 2021-11-02 2022-04-05 北京思特奇信息技术股份有限公司 Fault automatic diagnosis method and system
CN114285721B (en) * 2021-11-02 2024-04-19 北京思特奇信息技术股份有限公司 Automatic fault diagnosis method and system
CN114244729A (en) * 2021-12-01 2022-03-25 中国邮政储蓄银行股份有限公司 Funnel-type timeout control method and device suitable for service arrangement
CN114218114A (en) * 2021-12-22 2022-03-22 四川启睿克科技有限公司 Full-automatic test data generation method based on interface flow arrangement
CN114218114B (en) * 2021-12-22 2024-04-12 四川启睿克科技有限公司 Full-automatic test data generation method based on interface flow arrangement
CN114726911A (en) * 2022-04-02 2022-07-08 湖南大学 Routing parameter transmission method for online service arrangement of distributed industrial robot
CN114726911B (en) * 2022-04-02 2023-09-19 湖南大学 Routing parameter transfer method for distributed industrial robot online service arrangement
CN114757592A (en) * 2022-06-15 2022-07-15 北京乐开科技有限责任公司 Arrangement method and system for integrating workflow engine and RPA
WO2024041446A1 (en) * 2022-08-25 2024-02-29 中兴通讯股份有限公司 Method and apparatus for parameter adaptation between application programming interfaces (apis)
CN116185242A (en) * 2023-04-27 2023-05-30 北京炎黄广智科技发展有限责任公司 Service arrangement method and device and electronic equipment
CN116185242B (en) * 2023-04-27 2023-08-08 北京炎黄广智科技发展有限责任公司 Service arrangement method and device and electronic equipment

Also Published As

Publication number Publication date
CN110912724B (en) 2023-03-10

Similar Documents

Publication Publication Date Title
CN110912724B (en) Parameter-driven automatic service arrangement method and device
KR101442360B1 (en) Porting virtual machine images between platforms
JP6813152B2 (en) Methods, systems, and programs for determining the identification of software in a software container
US9047160B2 (en) Designing and building virtual images using semantically rich composable software image bundles
CN108964968B (en) Service access management method and system in container cloud environment
CN111596965B (en) Project engineering initialization method, device, computer equipment and storage medium
US8321856B2 (en) Supplying software updates synchronously
US10635408B2 (en) Method and apparatus for enabling agile development of services in cloud computing and traditional environments
CN106569880B (en) Method and system for dynamically sharing resources between Android applications
US20180081703A1 (en) Creating a tokenized process template for invoking one or more services by replacing service references with respective tokens
CN111857801B (en) Construction method of mobile application
US9244706B2 (en) Command line shell command generation based on schema
CN115857898B (en) Application system construction and operation method and device
CN115794214B (en) Application module metadata management method, device, storage medium and apparatus
US10223143B2 (en) System and method for supporting javascript as an expression language in a process defined by a process execution language for execution in a SOA middleware environment
CN113342399A (en) Application structure configuration method and device and readable storage medium
Srinivasmurthy et al. Web2exchange: A model-based service transformation and integration environment
CN113535188A (en) Privatization deployment method and device
US20240129402A1 (en) Customization framework for native mobile applications
CN113986207A (en) Software architecture generating and calling method and device
CN117648094A (en) Low-open application independent deployment method, device, terminal equipment and storage medium
Müller Practical aspects of FaaS applications' migration
CN116679912A (en) Code generation method, apparatus, device, storage medium, and computer program
CN115883353A (en) Routing plug-in arranging and executing system based on Spring Cloud Gateway in trusted environment
CN116521178A (en) Business process service generation method and related equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant