CN111142867A - Service visual arrangement system and method under micro-service architecture - Google Patents

Service visual arrangement system and method under micro-service architecture Download PDF

Info

Publication number
CN111142867A
CN111142867A CN201911416158.6A CN201911416158A CN111142867A CN 111142867 A CN111142867 A CN 111142867A CN 201911416158 A CN201911416158 A CN 201911416158A CN 111142867 A CN111142867 A CN 111142867A
Authority
CN
China
Prior art keywords
api
flow
service
node
execution
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
CN201911416158.6A
Other languages
Chinese (zh)
Other versions
CN111142867B (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.)
Guyun Technology Guangzhou Co Ltd
Original Assignee
Guyun Technology Guangzhou 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 Guyun Technology Guangzhou Co Ltd filed Critical Guyun Technology Guangzhou Co Ltd
Priority to CN201911416158.6A priority Critical patent/CN111142867B/en
Publication of CN111142867A publication Critical patent/CN111142867A/en
Application granted granted Critical
Publication of CN111142867B publication Critical patent/CN111142867B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention relates to the field of micro-service application programs, in particular to a service visual arrangement system and method under a micro-service architecture. The system comprises an arrangement process monitoring module for visually displaying the operation state of the process; the visual process arrangement module is used for combining and arranging the API into a new process; the API service management module is used for reissuing the programmed flow as a new API and managing the new API; the rule management module is used for performing unified rule creation and management on service logic processing required in the process of flow arrangement; a scheduling frequency configuration module for setting the process running frequency for the scheduled process and scheduling the scheduled process; and the flow execution engine module is used for constructing and propelling execution of the nodes in the memory according to the arranged node flows and finally outputting the flow execution result to the calling end. The invention can realize visual arrangement and monitoring of a large number of API interfaces of the micro-service, and directly construct arrangement nodes in the memory for execution and scheduling.

Description

Service visual arrangement system and method under micro-service architecture
Technical Field
The invention relates to the field of micro-service application programs, in particular to a service visual arrangement system and method under a micro-service architecture.
Background
The microservice architecture is a new technology for deploying applications and services in the cloud. The microservice may run in its own program and communicate with the HTTP-type API through the lightweight device. The key is that the service can run in its own program. By this we can distinguish service exposure from microservice architecture (distributing an API in existing systems). In service publishing, many services may be restricted by internal independent processes. If any of the services requires some functionality to be added, the process must be narrowed. In the micro-service architecture, only the required functions need to be added in a specific certain service, and the architecture of the whole process is not influenced.
An API (Application Programming Interface) is a predefined function or a convention for linking different components of a software system. The goal is to provide applications and developers the ability to access a set of routines based on certain software or hardware without having to access native code or understand the details of the internal workings.
The micro-service orchestration refers to a process of visually orchestrating developed micro-service API interfaces (Restful, WebService, Dubbo, gRPC, and the like) according to a certain service logic and a certain process, and a micro-service orchestration platform can build a process scheduling engine inside to perform automatic scheduling or re-aggregate the process scheduling engine into a new micro-service API to issue.
The business logic can be recombined and reconstructed without any code for the developed API service through the micro-service arrangement, the multiplexing efficiency of the API service can be improved, the agile delivery of foreground business or business system integration can be realized, the business system, data and business logic can be decoupled through the micro-service arrangement platform, the arrangement and delivery of the business logic are completed by a special micro-service arrangement platform, and the API service only needs to concentrate on completing the logic in the micro-service arrangement platform.
With the push of micro service architecture, the business systems of enterprises and public institutions based on the micro service architecture are more and more, and the micro service architecture generates a large amount of API service interfaces and mutual calling among the interfaces. At present, a main processing mode of a developer realizes combination and calling among a plurality of APIs in a coding mode, and the problems that calling monitoring among interfaces with low coding efficiency is difficult and the like, and active recovery cannot be realized when a fault occurs exist.
The prior tool system needs to be realized by strongly depending on a persistent SQL database technology, the state change and the promotion of API nodes are realized based on a table structure of a database, the scheduled nodes need to persist state data into the database in real time in the running process, and the scheduling system based on the technology has the problem of concurrency performance, because the parallel execution of the nodes depends on the read-write performance of the database, with the implementation and use of the micro-service architecture, a large number of APIs can be simultaneously arranged in a complex flow, and the distributed system generally has high performance requirements and high concurrency characteristics, and the API combination and arrangement based on the SQL database technology at present has obvious defects in a large concurrency scene.
Disclosure of Invention
Aiming at the defects in the prior art, the invention provides a service visual arrangement system and a service visual arrangement method under a micro-service architecture, which can realize visual arrangement and monitoring of a large number of API interfaces of micro-services when applied, and directly construct arrangement nodes in a memory for execution and scheduling, wherein the arrangement API does not depend on a database in the operation process.
The technical scheme adopted by the invention is as follows:
the service visual arrangement system under the micro-service architecture comprises an arrangement flow monitoring module used for monitoring the flow in scheduling and running and visually displaying and playing back the running state of the flow; the visual process arrangement module is used for combining and arranging a new process by adopting visual dragging, pulling and dragging modes for the API; the API service management module is used for reissuing the programmed flow as a new API and managing and testing the newly issued API; the rule management module is used for performing unified rule creation and management on service logic processing required in the process of flow arrangement; the scheduling frequency configuration module is used for setting the process running frequency for the scheduled process and scheduling the scheduled process according to the process running frequency; and the flow execution engine module is used for constructing and propelling execution of the nodes in the memory according to the arranged node flows and finally outputting the flow execution result to the calling end.
As an optimization of the above technical solution, the process information monitored by the arrangement process monitoring module includes process operation condition statistical information, operation failure process information, normal end process information, and to-be-compensated process information; the flow combined and arranged by the visual flow arranging module comprises a flow name, a flow number, a node name, a node type, an API URL address, an API calling method, API result assertion and API input parameters; the test management content of the API service management module comprises the name of the API, the URL address issued by the API, the authority of the API, the request mode of the API and the Doc document of the API; the management content of the rule management module comprises a rule name, a rule number, a rule visible range and a rule logic code; the scheduling basis of the scheduling frequency configuration module comprises a scheduling name, a scheduling time expression and a scheduling available state; the execution content of the process execution engine module comprises process starting, process pausing, process waiting, process resuming, process compensating and node driving.
The service visual arrangement method under the micro-service architecture comprises the following steps:
s1, carrying out graphical flow arrangement on the API service;
s2, constructing a process instance object corresponding to the arranged process in the memory;
s3, reading the JSON data model of the arrangement process and loading the driving logic of various API nodes into a memory;
s4, calculating front and back associated nodes of each node of the process instance according to the routing lines and the conditions described in the JSON data model;
s5, executing the APIs designated in the nodes of the process instance one by one in the memory, asserting the return result, and selecting the route and the node to be executed next according to the asserted result;
s6, storing the current operation state and operation result data of each node of the process instance by using the queue in the memory;
and S7, summarizing the calling result data of the API in each node of the process instance in the memory when the process is finished, outputting the summarized calling result data to a calling end, and persisting the instance data generated by the process instance in the memory to the MongoDB database in an asynchronous thread mode.
As a preferable mode of the above-described technical solution, in step S1, the specific step of performing the flow arrangement includes:
s11, creating a new flow;
s12, drawing a flow chart of the API node in the newly created flow;
s13, dragging the existing API node into the flow chart, and linking each node according to the execution sequence by using a routing line;
s14, binding API URLs and setting input and output parameters for all dragged API nodes;
and S15, issuing the arranged flow graphic file as a new API, and binding a scheduling strategy.
Preferably, in step S2, the step of constructing the process instance object in the memory further includes:
s21, judging the concurrency number of the process instance, if the concurrency number has limitation, exiting execution, otherwise creating a new ProcessEngine to store the global process variable data;
s22, adding the process instance object into a global executable queue and carrying out time monitoring;
s23, constructing a global flow transaction id to uniformly identify the flow instance and the subsequently operated flow node instance.
Preferably, the step S3 includes the following steps:
s31, reading the JSON data model of the arrangement process, analyzing the JSON data model into a Document object, and then performing data preprocessing;
and S32, analyzing all API types and routing lines in the JSON data model, and loading the driving logic of each API node into a memory.
Preferably, the step S4 includes the following steps:
s41, loading the calculation condition logic in each route and performing grammar pre-check, and exiting the execution of the flow if an error occurs;
s42, compiling and calculating the loaded calculation conditions, and excluding the nodes which are not logical according to the calculation result;
and S43, re-performing upstream and downstream association of the nodes according to the routing relation, and re-calculating the relation between the API nodes and the routing lines.
Preferably, the step S5 includes the following steps:
s51, executing the unified entry execution method driven by the API according to the type of the API;
s52, obtaining a result of a returned character string of the API drive execution method, and storing the result into a global variable of the process instance;
s53, calling an assertion logic configured in the API node and returning corresponding data according to the assertion logic, if the assertion is successful, returning true, and if the assertion is failed, returning false;
and S54, calculating a subsequent route line according to the assertion result and acquiring the target node of the route line for propulsion execution.
Preferably, the step of outputting the API call result data in step S7 includes:
s71, screening data according to the result data requirement in the API node;
s72, combining result data to be output into a JSON data packet;
and S73, identifying the execution success and failure of the whole process instance according to the execution success and failure of each node, and outputting the executed result data to the calling end regardless of the execution success of the process instance.
The invention has the beneficial effects that:
the invention can greatly improve the API execution and scheduling efficiency of the micro-service arrangement system, and simultaneously bring efficiency improvement in management and monitoring, if the business capacity of an enterprise is completely opened to the outside in the form of API, the service arrangement platform has the function of realizing the rapid recombination of the business capacity of the enterprise, namely, a new business innovation point can be realized by dragging, pulling and dragging, and then the service is provided to the outside, the arrangement platform is a high-level capacity recombination center above all the business systems, and simultaneously, the communication between the enterprise privatization business system and a cloud SaaS system and a data center can be realized through the arrangement platform, the development cost of API mutual calling can be greatly reduced, and simultaneously, the simultaneous execution and scheduling of large-concurrency API can be supported.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a schematic block diagram of the system architecture of the present invention;
FIG. 2 is a schematic flow chart of the method of the present invention.
Detailed Description
The invention is further described with reference to the following figures and specific embodiments. It should be noted that the description of the embodiments is provided to help understanding of the present invention, but the present invention is not limited thereto. Specific structural and functional details disclosed herein are merely illustrative of example embodiments of the invention. This invention may, however, be embodied in many alternate forms and should not be construed as limited to the embodiments set forth herein.
It should be understood that the terms first, second, etc. are used merely for distinguishing between descriptions and are not intended to indicate or imply relative importance. Although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of example embodiments of the present invention.
It should be understood that the term "and/or" herein is merely one type of association relationship that describes an associated object, meaning that three relationships may exist, e.g., a and/or B may mean: a exists alone, B exists alone, and A and B exist at the same time, and the term "/and" is used herein to describe another association object relationship, which means that two relationships may exist, for example, A/and B, may mean: a alone, and both a and B alone, and further, the character "/" in this document generally means that the former and latter associated objects are in an "or" relationship.
It is to be understood that in the description of the present invention, the terms "upper", "vertical", "inside", "outside", and the like, refer to an orientation or positional relationship that is conventionally used for placing the product of the present invention, or that is conventionally understood by those skilled in the art, and are used merely for convenience in describing and simplifying the description, and do not indicate or imply that the device or element referred to must have a particular orientation, be constructed in a particular orientation, and be operated, and therefore should not be considered as limiting the present invention.
It will be understood that when an element is referred to as being "connected," "connected," or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being "directly adjacent" or "directly coupled" to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a similar manner (e.g., "between … …" versus "directly between … …", "adjacent" versus "directly adjacent", etc.).
In the description of the present invention, it should also be noted that, unless otherwise explicitly specified or limited, the terms "disposed," "mounted," and "connected" are to be construed broadly, e.g., as meaning fixedly connected, detachably connected, or integrally connected; can be mechanically or electrically connected; they may be connected directly or indirectly through intervening media, or they may be interconnected between two elements. The specific meanings of the above terms in the present invention can be understood in specific cases to those skilled in the art.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments of the invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises," "comprising," "includes," and/or "including," when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, numbers, steps, operations, elements, components, and/or groups thereof.
It should also be noted that, in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may, in fact, be executed substantially concurrently, or the figures may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
In the following description, specific details are provided to facilitate a thorough understanding of example embodiments. However, it will be understood by those of ordinary skill in the art that the example embodiments may be practiced without these specific details. For example, systems may be shown in block diagrams in order not to obscure the examples in unnecessary detail. In other instances, well-known processes, structures and techniques may be shown without unnecessary detail in order to avoid obscuring example embodiments.
Example 1:
the embodiment provides a service visualization orchestration system under a micro-service architecture, as shown in fig. 1, including:
the arrangement flow monitoring module: the flow monitoring module is mainly used for monitoring and analyzing the flows running in the memory or the flows which are finished and persisted, counting the times of success and failure and the average execution time of each flow, and is mainly used for quickly positioning the execution condition of each flow, wherein the monitoring data comprises the times of success and failure of flow execution, the times to be compensated, the flow starting time, the flow ending time, the IP of a server where the flows are executed, the log data of flow execution reality and the like.
A visualized flow arrangement module: the visual process arrangement module mainly pulls the correlated APIs into a graph drawing area in a dragging, pulling and dragging mode in a graphical mode, and then the logic executed mutually according to the API needs is as follows: the serial execution, parallel execution, asynchronous parallel execution and other relations are linked by using a routing line, each node needs to specify the name of an API to be called, the Method of the API, the URL address of the API, the input parameter of the API, the Header information of the API, the assertion logic of the API calling result and the like, and after drawing of the flow chart is completed, the flow chart is stored as a character string of JSON data and is associated with a flow execution engine module.
API service management module: the API service management module mainly issues the programmed flow to be a new API interface, when a user calls the API service, the flow execution engine immediately runs the flow in the memory once and outputs the running result to the calling end, one flow allows the API interfaces with a plurality of different URLs to be issued at the same time, the issued API interfaces can be uniformly managed in the API service management module, and the API can be issued, deleted, modified, input parameter configuration, API test, API right management and the like.
A rule management module: data conversion logic and business code logic exist among nodes in service scheduling, unified management of business logic codes is realized through a unified rule management module, the rule codes are written by using pure Java syntax, and the rule management comprises the following steps: the rule management module and the visual process arrangement module perform association selection.
A scheduling frequency configuration module: the scheduling frequency configuration mainly realizes that certain execution frequency and interval time are set for the scheduled process, a process scheduling engine automatically starts and executes a process instance in a memory according to the setting, and a scheduling module comprises: scheduling name, scheduling time expression, scheduling available state, creator, creating time and the like.
The flow execution engine module: the process execution engine module is mainly responsible for loading process model data, firstly, loading all node data of the process model into a memory according to the unique process ID, classifying and storing the image according to the type of the API node by using a Map, and advancing the process in the memory according to the following steps:
1. starting an arrangement execution engine;
2. searching whether the process exists in the memory, and if the process model exists, immediately creating a process main instance object;
3. immediately searching a starting node of the flow, prompting an error if the flow has no starting node, and returning all subsequent routing line configuration objects of the node if the flow has no starting node;
4. if the subsequent node of the route line exists, the subsequent route line of the starting node is immediately searched;
5. immediately calculating the calculation logic bound in the routing line, and if the logic is established, finding the target node and loading the drive of the target node;
6. executing the service driving logic of the target node and storing the state data of the node into a Map object of a memory;
7. the node successfully repeats the steps 6.4-6.6, and the whole process node can be pushed in the memory until the node is operated to the end node, and the operation of the whole process is not finished;
8. and starting an asynchronous thread to persist all the running state data and result data in the memory into the MongoDB database.
During specific implementation, a user can enter a user UI operation interface of the system through a browser to perform visual arrangement of the process, and the system finally persists all running state data and result data in the memory into the MongoDB database.
The invention rapidly carries out visual arrangement and aggregation on large-scale API service in a graphical mode and forms JSON description format of the flow model, stores the running state data of the flow nodes comprehensively based on the memory when the arrangement engine runs, has the advantages of high arrangement efficiency, stable running, high support of high concurrency and the like compared with the arrangement of the API service by adopting a real-time persistent database and a coding mode, and provides a special service arrangement and aggregation layer for a business system of an enterprise based on a micro-service architecture.
Example 2:
the embodiment provides a service visualization orchestration system under a micro-service architecture, as shown in fig. 2, including the following steps:
s1, carrying out graphical flow arrangement on the API service;
s2, constructing a process instance object corresponding to the arranged process in the memory;
s3, reading the JSON data model of the arrangement process and loading the driving logic of various API nodes into a memory;
s4, calculating front and back associated nodes of each node of the process instance according to the routing lines and the conditions described in the JSON data model;
s5, executing the APIs designated in the nodes of the process instance one by one in the memory, asserting the return result, and selecting the route and the node to be executed next according to the asserted result;
s6, storing the current operation state and operation result data of each node of the process instance by using the queue in the memory;
and S7, summarizing the calling result data of the API in each node of the process instance in the memory when the process is finished, outputting the summarized calling result data to a calling end, and persisting the instance data generated by the process instance in the memory to the MongoDB database in an asynchronous thread mode.
In step S1, the specific steps of performing flow arrangement include:
s11, creating a new flow;
s12, drawing a flow chart of the API node in the newly created flow;
s13, dragging the existing API node into the flow chart, and linking each node according to the execution sequence by using a routing line;
s14, binding API URLs and setting input and output parameters for all dragged API nodes;
and S15, issuing the arranged flow graphic file as a new API, and binding a scheduling strategy.
In step S2, the step after constructing the process instance object in the memory further includes:
s21, judging the concurrency number of the process instance, if the concurrency number has limitation, exiting execution, otherwise creating a new ProcessEngine to store the global process variable data;
s22, adding the process instance object into a global executable queue and carrying out time monitoring;
s23, constructing a global flow transaction id to uniformly identify the flow instance and the subsequently operated flow node instance.
The specific steps of step S3 include:
s31, reading the JSON data model of the arrangement process, analyzing the JSON data model into a Document object, and then performing data preprocessing;
and S32, analyzing all API types and routing lines in the JSON data model, and loading the driving logic of each API node into a memory.
The specific steps of step S4 include:
s41, loading the calculation condition logic in each route and performing grammar pre-check, and exiting the execution of the flow if an error occurs;
s42, compiling and calculating the loaded calculation conditions, and excluding the nodes which are not logical according to the calculation result;
and S43, re-performing upstream and downstream association of the nodes according to the routing relation, and re-calculating the relation between the API nodes and the routing lines.
The specific steps of step S5 include:
s51, executing the unified entry execution method driven by the API according to the type of the API;
s52, obtaining a result of a returned character string of the API drive execution method, and storing the result into a global variable of the process instance;
s53, calling an assertion logic configured in the API node and returning corresponding data according to the assertion logic, if the assertion is successful, returning true, and if the assertion is failed, returning false;
and S54, calculating a subsequent route line according to the assertion result and acquiring the target node of the route line for propulsion execution.
The step of outputting the call result data of the API in step S7 includes:
s71, screening data according to the result data requirement in the API node;
s72, combining result data to be output into a JSON data packet;
and S73, identifying the execution success and failure of the whole process instance according to the execution success and failure of each node, and outputting the executed result data to the calling end regardless of the execution success of the process instance.
The invention can perform the whole-process rerun or only some important API nodes when the API call fails through the asynchronous persistence technology of the memory data, and the system can well recover the node data and perform the recovery rerun of the failed nodes.
The invention follows BPMN2.0 specification in the design of flow graph, thus being beneficial to the rapid arrangement and drawing of API service by the personnel familiar with workflow originally. The method has the advantages that the completely visual process playback capability, the visual data tracing capability and the API calling real-time monitoring capability are realized on the monitoring of the arrangement process, and meanwhile, the average performance, the running times and the failure times of the arrangement process can be counted.
Example 3:
as an optimization to the above embodiment, the flow engine interface logic defines the code as follows:
Figure BDA0002351244170000131
Figure BDA0002351244170000141
Figure BDA0002351244170000151
the driving interface of the orchestration node is defined as follows:
Figure BDA0002351244170000152
Figure BDA0002351244170000161
the present invention is not limited to the above-described alternative embodiments, and various other forms of products can be obtained by anyone in light of the present invention. The above detailed description should not be taken as limiting the scope of the invention, which is defined in the claims, and which the description is intended to be interpreted accordingly.

Claims (9)

1. The service visualization arrangement system under the micro-service architecture is characterized in that: the scheduling process monitoring module is used for monitoring the scheduling and running processes and performing visual display and playback of the running states of the processes; the visual process arrangement module is used for combining and arranging a new process by adopting visual dragging, pulling and dragging modes for the API; the API service management module is used for reissuing the programmed flow as a new API and managing and testing the newly issued API; the rule management module is used for performing unified rule creation and management on service logic processing required in the process of flow arrangement; the scheduling frequency configuration module is used for setting the process running frequency for the scheduled process and scheduling the scheduled process according to the process running frequency; and the flow execution engine module is used for constructing and propelling execution of the nodes in the memory according to the arranged node flows and finally outputting the flow execution result to the calling end.
2. The visual orchestration system of services under micro service architecture according to claim 1, wherein: the process information monitored by the arrangement process monitoring module comprises process running condition statistical information, running failure process information, normal ending process information and to-be-compensated process information; the flow combined and arranged by the visual flow arranging module comprises a flow name, a flow number, a node name, a node type, an API URL address, an API calling method, API result assertion and API input parameters; the test management content of the API service management module comprises the name of the API, the URL address issued by the API, the authority of the API, the request mode of the API and the Doc document of the API; the management content of the rule management module comprises a rule name, a rule number, a rule visible range and a rule logic code; the scheduling basis of the scheduling frequency configuration module comprises a scheduling name, a scheduling time expression and a scheduling available state; the execution content of the process execution engine module comprises process starting, process pausing, process waiting, process resuming, process compensating and node driving.
3. The visual service orchestration system according to claim 1 or 2, providing a visual service orchestration method according to a micro service architecture, comprising:
s1, carrying out graphical flow arrangement on the API service;
s2, constructing a process instance object corresponding to the arranged process in the memory;
s3, reading the JSON data model of the arrangement process and loading the driving logic of various API nodes into a memory;
s4, calculating front and back associated nodes of each node of the process instance according to the routing lines and the conditions described in the JSON data model;
s5, executing the APIs designated in the nodes of the process instance one by one in the memory, asserting the return result, and selecting the route and the node to be executed next according to the asserted result;
s6, storing the current operation state and operation result data of each node of the process instance by using the queue in the memory;
and S7, summarizing the calling result data of the API in each node of the process instance in the memory when the process is finished, outputting the summarized calling result data to a calling end, and persisting the instance data generated by the process instance in the memory to the MongoDB database in an asynchronous thread mode.
4. The method for visually arranging services under the micro-service architecture according to claim 3, wherein: in step S1, the specific steps of performing flow arrangement include:
s11, creating a new flow;
s12, drawing a flow chart of the API node in the newly created flow;
s13, dragging the existing API node into the flow chart, and linking each node according to the execution sequence by using a routing line;
s14, binding API URLs and setting input and output parameters for all dragged API nodes;
and S15, issuing the arranged flow graphic file as a new API, and binding a scheduling strategy.
5. The method for visually arranging services under the micro-service architecture according to claim 3, wherein: in step S2, the step after constructing the process instance object in the memory further includes:
s21, judging the concurrency number of the process instance, if the concurrency number has limitation, exiting execution, otherwise creating a new ProcessEngine to store the global process variable data;
s22, adding the process instance object into a global executable queue and carrying out time monitoring;
s23, constructing a global flow transaction id to uniformly identify the flow instance and the subsequently operated flow node instance.
6. The method for visually arranging services under the micro-service architecture according to claim 3, wherein: the specific steps of step S3 include:
s31, reading the JSON data model of the arrangement process, analyzing the JSON data model into a Document object, and then performing data preprocessing;
and S32, analyzing all API types and routing lines in the JSON data model, and loading the driving logic of each API node into a memory.
7. The method for visually arranging services under the micro-service architecture according to claim 3, wherein: the specific steps of step S4 include:
s41, loading the calculation condition logic in each route and performing grammar pre-check, and exiting the execution of the flow if an error occurs;
s42, compiling and calculating the loaded calculation conditions, and excluding the nodes which are not logical according to the calculation result;
and S43, re-performing upstream and downstream association of the nodes according to the routing relation, and re-calculating the relation between the API nodes and the routing lines.
8. The method for visually arranging services under the micro-service architecture according to claim 3, wherein: the specific steps of step S5 include:
s51, executing the unified entry execution method driven by the API according to the type of the API;
s52, obtaining a result of a returned character string of the API drive execution method, and storing the result into a global variable of the process instance;
s53, calling an assertion logic configured in the API node and returning corresponding data according to the assertion logic, if the assertion is successful, returning true, and if the assertion is failed, returning false;
and S54, calculating a subsequent route line according to the assertion result and acquiring the target node of the route line for propulsion execution.
9. The method for visually arranging services under the micro-service architecture according to claim 3, wherein: the step of outputting the call result data of the API in step S7 includes:
s71, screening data according to the result data requirement in the API node;
s72, combining result data to be output into a JSON data packet;
and S73, identifying the execution success and failure of the whole process instance according to the execution success and failure of each node, and outputting the executed result data to the calling end regardless of the execution success of the process instance.
CN201911416158.6A 2019-12-31 2019-12-31 Service visual arrangement system and method under micro service architecture Active CN111142867B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911416158.6A CN111142867B (en) 2019-12-31 2019-12-31 Service visual arrangement system and method under micro service architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911416158.6A CN111142867B (en) 2019-12-31 2019-12-31 Service visual arrangement system and method under micro service architecture

Publications (2)

Publication Number Publication Date
CN111142867A true CN111142867A (en) 2020-05-12
CN111142867B CN111142867B (en) 2024-04-02

Family

ID=70522740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911416158.6A Active CN111142867B (en) 2019-12-31 2019-12-31 Service visual arrangement system and method under micro service architecture

Country Status (1)

Country Link
CN (1) CN111142867B (en)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694888A (en) * 2020-06-12 2020-09-22 谷云科技(广州)有限责任公司 Distributed ETL data exchange system and method based on micro-service architecture
CN111722929A (en) * 2020-06-18 2020-09-29 南京龙猫商业智能科技股份有限公司 Micro-service orchestration engine management method based on PaaS
CN112015372A (en) * 2020-07-24 2020-12-01 北京百分点信息科技有限公司 Heterogeneous service arranging method, processing method and device and electronic equipment
CN112068825A (en) * 2020-09-23 2020-12-11 山东泽鹿安全技术有限公司 Visual linkage arrangement method capable of realizing isomerization nodes
CN112085591A (en) * 2020-09-03 2020-12-15 广州嘉为科技有限公司 Visual arrangement method for running batch in bank based on graph theory
CN112083912A (en) * 2020-08-17 2020-12-15 山东中创软件商用中间件股份有限公司 Intermediate result processing method, device, equipment and storage medium for service arrangement
CN112256258A (en) * 2020-10-22 2021-01-22 北京神州数字科技有限公司 Micro-service arrangement automatic code generation method and system
CN112380199A (en) * 2020-11-10 2021-02-19 珠海市新德汇信息技术有限公司 Big data end-to-end data reconciliation arrangement method
CN112379884A (en) * 2020-11-13 2021-02-19 李斌 Spark and parallel memory computing-based process engine implementation method and system
CN112418784A (en) * 2020-11-11 2021-02-26 北京京航计算通讯研究所 Service arranging and executing system and method
CN112486073A (en) * 2020-12-03 2021-03-12 用友网络科技股份有限公司 Robot control method, control system and readable storage medium
CN112506498A (en) * 2020-11-30 2021-03-16 广东电网有限责任公司 Intelligent visual API arrangement method, storage medium and electronic equipment
CN112527254A (en) * 2020-12-04 2021-03-19 佰聆数据股份有限公司 Service arrangement-based business strategy design method, system and computer equipment
CN112558934A (en) * 2020-12-10 2021-03-26 中盈优创资讯科技有限公司 Control subtask engine module based on arranging control flow service opening
CN112685004A (en) * 2020-12-21 2021-04-20 福建新大陆软件工程有限公司 Online component arrangement calculation method and system based on real-time stream calculation
CN112685011A (en) * 2020-12-21 2021-04-20 福建新大陆软件工程有限公司 AI application visualization arrangement method based on Vue
CN112698878A (en) * 2020-12-18 2021-04-23 浙江中控技术股份有限公司 Calculation method and system based on algorithm microservice
CN112966202A (en) * 2021-03-03 2021-06-15 浪潮云信息技术股份公司 Method for realizing integration of multiple government affair services
CN113157268A (en) * 2021-04-26 2021-07-23 绵阳市智慧城市产业发展有限责任公司 Equipment state processing system combining process engine and Internet of things
CN113238844A (en) * 2021-05-17 2021-08-10 上海中通吉网络技术有限公司 Service arrangement execution path playback method
CN113254004A (en) * 2021-04-13 2021-08-13 西安热工研究院有限公司 Data statistics platform based on WF4.0 framework
CN113268319A (en) * 2021-05-07 2021-08-17 中国电子科技集团公司第五十四研究所 Business process customization and distributed process scheduling method based on micro-service architecture
CN113726871A (en) * 2021-08-27 2021-11-30 猪八戒股份有限公司 Dispatching method and system for automatic code release
CN113805870A (en) * 2021-09-18 2021-12-17 上海熙菱信息技术有限公司 Service interface arranging method and system based on BFF framework
CN113923250A (en) * 2020-07-07 2022-01-11 华为技术有限公司 Method, device and system for assisting network service arrangement
CN114002966A (en) * 2020-11-06 2022-02-01 蘑菇物联技术(深圳)有限公司 Interpretation method of controller control algorithm
CN114691233A (en) * 2022-03-16 2022-07-01 中国电子科技集团公司第五十四研究所 Remote sensing data processing plug-in distributed scheduling method based on workflow engine
CN115202641A (en) * 2022-09-13 2022-10-18 深圳联友科技有限公司 Method for mixed task arrangement engine without limit of development language
CN115277745A (en) * 2022-06-24 2022-11-01 湖南大学 Service bus arrangement system and method supporting asynchronous scheduling
CN115509523A (en) * 2022-11-24 2022-12-23 湖南创星科技股份有限公司 API service rapid establishing method and system
WO2023040671A1 (en) * 2021-09-16 2023-03-23 易保网络技术(上海)有限公司 Method for combining data interfaces, and electronic device and readable storage medium
CN115955408A (en) * 2022-12-23 2023-04-11 上海基煜基金销售有限公司 Application arrangement service system and method based on Conductor framework
WO2023159573A1 (en) * 2022-02-28 2023-08-31 西门子股份公司 Interface mapping method and apparatus, and electronic device and computer-readable medium
CN116860362A (en) * 2023-07-05 2023-10-10 广州市玄武无线科技股份有限公司 Plug-in object management method and device applied to flow programming engine
CN117806611A (en) * 2024-02-29 2024-04-02 鱼快创领智能科技(南京)有限公司 Method for creating new service interface based on visual automatic arrangement of interface discovery

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320486A1 (en) * 2003-06-12 2008-12-25 Reuters America Business Process Automation
CN102034151A (en) * 2010-12-13 2011-04-27 东莞市高鑫机电科技服务有限公司 SOA-based enterprise collaboration management system service flow design method and system
CN105512304A (en) * 2015-12-11 2016-04-20 西安道同信息科技有限公司 Method for generating internet applications on line, system integration method and supporting platform
CN106846226A (en) * 2017-01-19 2017-06-13 湖北省基础地理信息中心(湖北省北斗卫星导航应用技术研究院) A kind of space time information assembling management system
US20180159747A1 (en) * 2016-12-05 2018-06-07 General Electric Company Automated feature deployment for active analytics microservices
CN108279866A (en) * 2018-01-24 2018-07-13 马上消费金融股份有限公司 A kind of the layout execution method, apparatus and medium of operation flow
CN108681451A (en) * 2018-05-14 2018-10-19 浪潮软件集团有限公司 Visual kubernets micro-service arrangement implementation method
CN109634561A (en) * 2018-10-16 2019-04-16 阿里巴巴集团控股有限公司 A kind of online visual programming method and device
CN110442481A (en) * 2019-07-10 2019-11-12 阿里巴巴集团控股有限公司 Method for processing business, Service Component container and electronic equipment
CN110532020A (en) * 2019-09-04 2019-12-03 中国工商银行股份有限公司 A kind of data processing method of micro services layout, apparatus and system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320486A1 (en) * 2003-06-12 2008-12-25 Reuters America Business Process Automation
CN102034151A (en) * 2010-12-13 2011-04-27 东莞市高鑫机电科技服务有限公司 SOA-based enterprise collaboration management system service flow design method and system
CN105512304A (en) * 2015-12-11 2016-04-20 西安道同信息科技有限公司 Method for generating internet applications on line, system integration method and supporting platform
US20180159747A1 (en) * 2016-12-05 2018-06-07 General Electric Company Automated feature deployment for active analytics microservices
CN106846226A (en) * 2017-01-19 2017-06-13 湖北省基础地理信息中心(湖北省北斗卫星导航应用技术研究院) A kind of space time information assembling management system
CN108279866A (en) * 2018-01-24 2018-07-13 马上消费金融股份有限公司 A kind of the layout execution method, apparatus and medium of operation flow
CN108681451A (en) * 2018-05-14 2018-10-19 浪潮软件集团有限公司 Visual kubernets micro-service arrangement implementation method
CN109634561A (en) * 2018-10-16 2019-04-16 阿里巴巴集团控股有限公司 A kind of online visual programming method and device
CN110442481A (en) * 2019-07-10 2019-11-12 阿里巴巴集团控股有限公司 Method for processing business, Service Component container and electronic equipment
CN110532020A (en) * 2019-09-04 2019-12-03 中国工商银行股份有限公司 A kind of data processing method of micro services layout, apparatus and system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EAWORLD: "微服务编排之道" *
沉落的星星: "微服务核心研究之一--编排" *

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694888A (en) * 2020-06-12 2020-09-22 谷云科技(广州)有限责任公司 Distributed ETL data exchange system and method based on micro-service architecture
CN111722929A (en) * 2020-06-18 2020-09-29 南京龙猫商业智能科技股份有限公司 Micro-service orchestration engine management method based on PaaS
CN113923250A (en) * 2020-07-07 2022-01-11 华为技术有限公司 Method, device and system for assisting network service arrangement
CN112015372B (en) * 2020-07-24 2022-12-23 北京百分点科技集团股份有限公司 Heterogeneous service arranging method, processing method and device and electronic equipment
CN112015372A (en) * 2020-07-24 2020-12-01 北京百分点信息科技有限公司 Heterogeneous service arranging method, processing method and device and electronic equipment
CN112083912B (en) * 2020-08-17 2024-03-12 山东中创软件商用中间件股份有限公司 Service orchestration intermediate result processing method, device, equipment and storage medium
CN112083912A (en) * 2020-08-17 2020-12-15 山东中创软件商用中间件股份有限公司 Intermediate result processing method, device, equipment and storage medium for service arrangement
CN112085591B (en) * 2020-09-03 2023-11-07 广州嘉为科技有限公司 Visual arrangement method for running batch at bank based on graph theory
CN112085591A (en) * 2020-09-03 2020-12-15 广州嘉为科技有限公司 Visual arrangement method for running batch in bank based on graph theory
CN112068825A (en) * 2020-09-23 2020-12-11 山东泽鹿安全技术有限公司 Visual linkage arrangement method capable of realizing isomerization nodes
CN112256258A (en) * 2020-10-22 2021-01-22 北京神州数字科技有限公司 Micro-service arrangement automatic code generation method and system
CN114002966A (en) * 2020-11-06 2022-02-01 蘑菇物联技术(深圳)有限公司 Interpretation method of controller control algorithm
CN112380199A (en) * 2020-11-10 2021-02-19 珠海市新德汇信息技术有限公司 Big data end-to-end data reconciliation arrangement method
CN112418784A (en) * 2020-11-11 2021-02-26 北京京航计算通讯研究所 Service arranging and executing system and method
CN112418784B (en) * 2020-11-11 2021-11-30 北京京航计算通讯研究所 Service arranging and executing system and method
CN112379884B (en) * 2020-11-13 2024-01-12 李斌 Method and system for realizing flow engine based on Spark and parallel memory calculation
CN112379884A (en) * 2020-11-13 2021-02-19 李斌 Spark and parallel memory computing-based process engine implementation method and system
CN112506498A (en) * 2020-11-30 2021-03-16 广东电网有限责任公司 Intelligent visual API arrangement method, storage medium and electronic equipment
CN112486073B (en) * 2020-12-03 2022-04-19 用友网络科技股份有限公司 Robot control method, control system and readable storage medium
CN112486073A (en) * 2020-12-03 2021-03-12 用友网络科技股份有限公司 Robot control method, control system and readable storage medium
CN112527254A (en) * 2020-12-04 2021-03-19 佰聆数据股份有限公司 Service arrangement-based business strategy design method, system and computer equipment
CN112558934B (en) * 2020-12-10 2024-01-05 中盈优创资讯科技有限公司 Control subtask engine device based on arranging control flow business opening
CN112558934A (en) * 2020-12-10 2021-03-26 中盈优创资讯科技有限公司 Control subtask engine module based on arranging control flow service opening
CN112698878A (en) * 2020-12-18 2021-04-23 浙江中控技术股份有限公司 Calculation method and system based on algorithm microservice
CN112685011B (en) * 2020-12-21 2022-06-07 福建新大陆软件工程有限公司 AI application visualization arrangement method based on Vue
CN112685011A (en) * 2020-12-21 2021-04-20 福建新大陆软件工程有限公司 AI application visualization arrangement method based on Vue
CN112685004A (en) * 2020-12-21 2021-04-20 福建新大陆软件工程有限公司 Online component arrangement calculation method and system based on real-time stream calculation
CN112966202A (en) * 2021-03-03 2021-06-15 浪潮云信息技术股份公司 Method for realizing integration of multiple government affair services
CN113254004A (en) * 2021-04-13 2021-08-13 西安热工研究院有限公司 Data statistics platform based on WF4.0 framework
CN113254004B (en) * 2021-04-13 2023-02-21 西安热工研究院有限公司 Data statistics platform based on WF4.0 framework
CN113157268B (en) * 2021-04-26 2024-03-22 绵阳市智慧城市产业发展有限责任公司 Equipment state processing system combining flow engine and Internet of things
CN113157268A (en) * 2021-04-26 2021-07-23 绵阳市智慧城市产业发展有限责任公司 Equipment state processing system combining process engine and Internet of things
CN113268319A (en) * 2021-05-07 2021-08-17 中国电子科技集团公司第五十四研究所 Business process customization and distributed process scheduling method based on micro-service architecture
CN113238844A (en) * 2021-05-17 2021-08-10 上海中通吉网络技术有限公司 Service arrangement execution path playback method
CN113726871A (en) * 2021-08-27 2021-11-30 猪八戒股份有限公司 Dispatching method and system for automatic code release
CN113726871B (en) * 2021-08-27 2024-02-02 猪八戒股份有限公司 Scheduling method and system for automatic code release
WO2023040671A1 (en) * 2021-09-16 2023-03-23 易保网络技术(上海)有限公司 Method for combining data interfaces, and electronic device and readable storage medium
CN113805870A (en) * 2021-09-18 2021-12-17 上海熙菱信息技术有限公司 Service interface arranging method and system based on BFF framework
CN113805870B (en) * 2021-09-18 2024-01-30 上海熙菱信息技术有限公司 BFF architecture-based service interface arrangement method and system
WO2023159573A1 (en) * 2022-02-28 2023-08-31 西门子股份公司 Interface mapping method and apparatus, and electronic device and computer-readable medium
CN114691233A (en) * 2022-03-16 2022-07-01 中国电子科技集团公司第五十四研究所 Remote sensing data processing plug-in distributed scheduling method based on workflow engine
CN115277745A (en) * 2022-06-24 2022-11-01 湖南大学 Service bus arrangement system and method supporting asynchronous scheduling
CN115202641A (en) * 2022-09-13 2022-10-18 深圳联友科技有限公司 Method for mixed task arrangement engine without limit of development language
CN115202641B (en) * 2022-09-13 2023-02-03 深圳联友科技有限公司 Method for mixed task arrangement engine without limit of development language
CN115509523A (en) * 2022-11-24 2022-12-23 湖南创星科技股份有限公司 API service rapid establishing method and system
CN115509523B (en) * 2022-11-24 2023-03-03 湖南创星科技股份有限公司 API service rapid construction method and system
CN115955408A (en) * 2022-12-23 2023-04-11 上海基煜基金销售有限公司 Application arrangement service system and method based on Conductor framework
CN116860362A (en) * 2023-07-05 2023-10-10 广州市玄武无线科技股份有限公司 Plug-in object management method and device applied to flow programming engine
CN116860362B (en) * 2023-07-05 2024-03-19 广州市玄武无线科技股份有限公司 Plug-in transaction management method and device applied to flow programming engine
CN117806611A (en) * 2024-02-29 2024-04-02 鱼快创领智能科技(南京)有限公司 Method for creating new service interface based on visual automatic arrangement of interface discovery
CN117806611B (en) * 2024-02-29 2024-05-14 鱼快创领智能科技(南京)有限公司 Method for creating new service interface based on visual automatic arrangement of interface discovery

Also Published As

Publication number Publication date
CN111142867B (en) 2024-04-02

Similar Documents

Publication Publication Date Title
CN111142867B (en) Service visual arrangement system and method under micro service architecture
CN106528424B (en) Test method and test platform based on background system service or interface
US20210311858A1 (en) System and method for providing a test manager for use with a mainframe rehosting platform
US11157392B2 (en) Debugging through causality and temporal pattering in a event processing system
JP5706276B2 (en) Asynchronous code test method, computer program product, computer system and process (asynchronous code test in integrated development environment (IDE))
US20110047415A1 (en) Debugging of business flows deployed in production servers
US8365149B2 (en) Debugger for a declarative event-driven programming model
CN110928772A (en) Test method and device
US20210096981A1 (en) Identifying differences in resource usage across different versions of a software application
KR101797185B1 (en) Efficiently collecting transaction-separated metrics in a distributed environment
US8972942B2 (en) Unit testing an Enterprise Javabeans (EJB) bean class
US20200174917A1 (en) Rapid Automation First-pass Testing Framework
CN108845940A (en) A kind of enterprise information system automated function test method and system
US20080059436A1 (en) Providing a visual representation of a sub-set of a visual program
US8769086B2 (en) Component independent process integration message monitoring
US11221943B2 (en) Creating an intelligent testing queue for improved quality assurance testing of microservices
US10037197B2 (en) Flexible microinstruction system for constructing microprograms which execute tasks, gateways, and events of BPMN models
CN112256258A (en) Micro-service arrangement automatic code generation method and system
US8448143B2 (en) System and method for message choreographies of services
CN111435329A (en) Automatic testing method and device
CN115794917A (en) Method and device for importing resource data
US11954134B2 (en) Visualization of complex hierarchy data with interactive adjustments
CN114936152A (en) Application testing method and device
CN110727729A (en) Method and device for realizing intelligent operation
Anderson Performance modelling of reactive web applications using trace data from automated testing

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