Service architecture generation method, device and electronic device

By using XPDL specifications and workflow models to generate service architectures on terminal devices, the problem of low efficiency in service architecture development is solved, rapid generation and efficient operation and maintenance are achieved, low error rate and high stability, and is suitable for service architecture generation devices and electronic devices.

CN114594938BActive Publication Date: 2025-08-15NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210223769.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-09
Publication Date
2025-08-15
Estimated Expiration
2042-03-09

AI Technical Summary

Technical Problem

There is a problem of low development efficiency in the existing service architecture development technology, especially in service-oriented architecture and microservice architecture. It is difficult for the existing technology to effectively split and combine multiplex service nodes, and cannot meet the rapid development of Internet services.

Method used

By providing a graphical user interface on the terminal device, using XPDL specifications to determine the timing and logical rules between nodes, and generating a service architecture in response to editing operations, using the model of automatically generating and loading services to replace the traditional organizational structure, writing code and deployment links, and using the functional node reuse of the workflow model to realize code-free service API generation.

Benefits of technology

It shortens the service development cycle, improves development efficiency, has the advantages of what you see is what you get, flexible configuration, rapid service generation, self-service operation and maintenance, and automatic integration tools, has low error rate and high stability. With the expansion of functional nodes, development efficiency has been further improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114594938B_ABST
    Figure CN114594938B_ABST
Patent Text Reader

Abstract

The present invention provides a method, device, and electronic device for generating a service architecture, relating to the technical field of service architecture development technology, and alleviating the technical problem of low service architecture development efficiency in the prior art. The method comprises: in response to a first edit operation on a node, determining, in a logical node graph, the inter-node timing and inter-node logic rules corresponding to the first edit operation using the XPDL specification; wherein the node is loaded with a corresponding service action; in response to a second edit operation on the service action, determining the action content corresponding to the second edit operation; and assembling the action contents corresponding to multiple service actions according to the inter-node timing and inter-node logic rules to generate a service architecture.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of service architecture development, and in particular to a service architecture generation method, device, and electronic device. Background Art

[0002] With the continuous development of backend technologies, a large number of business requirements exist in production mid-tier services, with some key behaviors overlapping but different overall processes. To address these evolving needs, backend service architectures have evolved from monolithic services to service-oriented architectures (SOA) and then to microservices, with increasingly fine-grained service divisions.

[0003] However, the existing service architecture development technology has a technical problem of low service architecture development efficiency. Summary of the Invention

[0004] The purpose of this application is to provide a service architecture generation method, device and electronic device to alleviate the technical problem of low service architecture development efficiency in the prior art.

[0005] In a first aspect, an embodiment of the present application provides a method for generating a service architecture, wherein a graphical user interface is provided through a terminal device, wherein the content displayed by the graphical user interface includes at least a portion of a logical node diagram, wherein the logical node diagram includes nodes described based on the Extensible Markup Language Process Definition Language (XPDL) specification; the method comprises:

[0006] In response to a first editing operation on the node, determining, in the logical node graph, an inter-node timing sequence and an inter-node logic rule corresponding to the first editing operation using the XPDL specification; wherein the node is correspondingly loaded with a service action;

[0007] In response to a second editing operation on the service action, determining action content corresponding to the second editing operation;

[0008] The action contents corresponding to the plurality of service actions are assembled according to the inter-node timing and the inter-node logic rules to generate a service architecture.

[0009] In a possible implementation, the display content of the graphical user interface further includes preset action content;

[0010] The step of determining, in response to the second editing operation on the service action, the action content corresponding to the second editing operation includes:

[0011] In response to a first selection operation on the plurality of preset action contents, determining a target preset action content corresponding to the first selection operation;

[0012] In response to a second selection operation on the plurality of service actions, determining a target service action corresponding to the second selection operation;

[0013] The target preset action content is determined as the action content corresponding to the target service action.

[0014] In one possible implementation, in response to a second selection operation for the plurality of service actions, the step of determining a target service action corresponding to the second selection operation includes:

[0015] In response to a sliding operation of sliding to the plurality of service actions that is continuous with the first selection operation, a target service action corresponding to when the sliding operation ends is determined from the plurality of service actions.

[0016] In a possible implementation, the logic node graph is a directed acyclic graph (DAG); and the service architecture is a service process assembled through the DAG based on a workflow model.

[0017] In a possible implementation, after the step of assembling the action contents corresponding to the plurality of service actions according to the inter-node timing and the inter-node logic rules to generate a service architecture, the step further includes:

[0018] The service architecture is displayed in the graphical user interface through the DAG diagram.

[0019] In a possible implementation, after the step of assembling the action contents corresponding to the plurality of service actions according to the inter-node timing and the inter-node logic rules to generate a service architecture, the step further includes:

[0020] The service behaviors in the service architecture are parsed and run by an engine based on the workflow model.

[0021] In a possible implementation, after the step of assembling the action contents corresponding to the plurality of service actions according to the inter-node timing and the inter-node logic rules to generate a service architecture, the step further includes:

[0022] In response to a sharing operation on the service framework, at least a portion of the service framework is stored as a template in a template database.

[0023] In a possible implementation, after the step of storing at least a portion of the service architecture as a template in a template database in response to the sharing operation on the service architecture, the method further includes:

[0024] In response to a third selection operation on the service architecture in the template database, it is determined to obtain the service architecture from the template database, and to run an engine based on the service architecture.

[0025] In one possible implementation, the step of running the engine based on the service architecture includes:

[0026] In response to a third editing operation on the service architecture, an engine is run based on the service architecture result edited by the third editing operation.

[0027] In one possible implementation, the third editing operation includes any one or more of the following:

[0028] An operation of modifying the service architecture, an operation of selecting at least a portion of the service architecture, an operation of combining at least a portion of the service architecture with a specified architecture, and an operation of confirming the use of the entire service architecture.

[0029] In a second aspect, a service architecture generation apparatus is provided, which provides a graphical user interface (GUI) through a terminal device, wherein the GUI displays at least a portion of a logical node diagram, wherein the logical node diagram includes nodes described based on the XPDL specification; the apparatus comprises:

[0030] a first determining module configured to, in response to a first editing operation on the node, determine, in the logical node graph, an inter-node timing sequence and an inter-node logic rule corresponding to the first editing operation using the XPDL specification; wherein the node is correspondingly loaded with a service action;

[0031] a second determining module, configured to determine, in response to a second editing operation on the service action, an action content corresponding to the second editing operation;

[0032] An assembling module is used to assemble the action contents corresponding to the plurality of service actions according to the inter-node timing and the inter-node logic rules to generate a service architecture.

[0033] In a third aspect, an embodiment of the present application provides an electronic device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor executes the computer program, the method described in the first aspect is implemented.

[0034] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are called and executed by a processor, the computer-executable instructions prompt the processor to execute the method described in the first aspect above.

[0035] The embodiments of the present application bring the following beneficial effects:

[0036] The embodiment of the present application provides a service architecture generation method, device and electronic device, the service architecture generation method provides a graphical user interface through a terminal device, the content displayed by the graphical user interface includes at least part of a logical node diagram, the logical node diagram includes nodes described based on the XPDL specification, in the service architecture generation method, first, it can respond to a first editing operation on the node, determine the node timing and node logic rules corresponding to the first editing operation in the logical node diagram through the XPDL specification, wherein the node is loaded with a service action, and then it can respond to a second editing operation on the service action, determine the action content corresponding to the second editing operation, thereby assembling the action contents corresponding to several service actions according to the node timing and node logic rules to generate a service architecture. In this solution, by editing the timing, logic and service actions of the XPDL specification nodes in the logical node diagram, the service architecture can be automatically assembled and generated according to these editing results. The developer only needs to expand the functional nodes and define the node flow chart to realize the generation of the service architecture. The above series of links are replaced by the mode of automatically generating and loading services, shortening the service development cycle, improving the development efficiency of the service architecture, and alleviating the technical problem of low service architecture development efficiency in the prior art. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the following is a brief introduction to the drawings required for use in the specific implementation methods or the description of the prior art. Obviously, the drawings described below are some implementation methods of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0038] Figure 1 Schematic diagram of application scenarios provided by embodiments of the present application;

[0039] Figure 2 A schematic structural diagram of an electronic device provided in an embodiment of the present application is shown;

[0040] Figure 3 A schematic diagram of a usage scenario of an electronic device provided in an embodiment of the present application;

[0041] Figure 4A flow chart of a method for generating a service architecture provided in an embodiment of the present application;

[0042] Figure 5 A schematic diagram of a logical node diagram provided in an embodiment of the present application;

[0043] Figure 6 A schematic diagram of a development architecture provided for an embodiment of the present application;

[0044] Figure 7 Another schematic diagram of a logical node diagram provided in an embodiment of the present application;

[0045] Figure 8 A schematic diagram of an engine for parsing and running a model provided in an embodiment of the present application;

[0046] Figure 9 A schematic diagram of a business process example provided in an embodiment of the present application;

[0047] Figure 10 A schematic diagram of the structure of a service architecture generation device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0048] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the embodiments described are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0049] The terms "including," "having," and any variations thereof, as used in the embodiments of this application, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus comprising a series of steps or units is not limited to the listed steps or units but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to the process, method, product, or apparatus.

[0050] In current service architecture development technology, service segmentation is becoming increasingly refined, but it remains stuck in the traditional process of "requirements" - "architecture design" - "service segmentation" - "iterative development" - "testing and deployment." Existing technical architectures tend to be developer-friendly and improve team development efficiency, lacking a fast-response, self-service, and WYSIWYG service acquisition solution that is user-friendly. Separating the process for process development by those requesting requirements from the iterative development process by developers allows for parallel enrichment and development of the business system without interfering with each other.

[0051] Existing solutions for rapidly developing or generating services include agile development, microservices-based service node partitioning, or the use of configuration files to generate services. Agile development is a human-centric, iterative, and step-by-step development methodology. In agile development, software projects are divided into multiple subprojects, each tested and integrated, and operational. In other words, a large project is divided into multiple interconnected but independently run smaller projects, each completed separately, ensuring the software remains operational. Microservices break down traditional monolithic services into small, interconnected microservices. Each microservice performs a specific function, each with its own business logic and adapters. Some microservices also provide APIs for use by other microservices and application clients.

[0052] However, while traditional development efficiency optimization standards, such as agile development, have addressed the collaborative efficiency issues of development teams to a certain extent, they have not effectively improved the effective splitting, combining, and reusing of service nodes, automated service generation, and deployment, and are unable to meet the needs of today's rapidly developing Internet services. Microservice architecture focuses on service governance, and through detailed architectural divisions, it aims to address practical needs such as complexity (decomposing traditional monolithic architectures), team efficiency (each service can be independently developed by a dedicated team), and seamless upgrades (a microservice architecture allows each microservice to be independently deployed). Existing technical solutions, such as those based on configuration file template reuse, improve service generation efficiency to a certain extent through configuration file reuse and enable the regeneration of similar services through configuration template reuse. However, they do not fully separate the process formulation process of the requester from the iterative development process of the developer, nor do they provide the ability to generate new services in a "what you see is what you get" manner.

[0053] As can be seen from the above defects, the existing service architecture development technology has a technical problem of low service architecture development efficiency.

[0054] Based on this, the embodiment of the present application provides a service architecture generation method, device and electronic device. The method uses a model of automatically generating and loading services to replace a series of links such as organizational structure, writing service code, debugging, and deployment online, which greatly shortens the service development cycle. It has the advantages of what you see is what you get, flexible configuration, rapid service generation, self-service operation and maintenance, automatic statistical reporting, and automatic integration of various common tools; at the same time, by reusing the functional nodes of the workflow model, it also has the advantages of low error rate and high stability; and with the continuous expansion of functional nodes, the use value and development efficiency of this system will also be greatly improved. Developers only need to expand the missing functional nodes into the node space of the system and define the node DAG flow chart to obtain the required service API interface and realize code-free service API generation to alleviate the technical problem of low service architecture development efficiency in the existing technology.

[0055] In one embodiment of the present application, the service architecture generation method can be run on a local terminal device or a server. When the service architecture generation method is run on a server, the method can be implemented and executed based on a cloud interaction system, wherein the cloud interaction system includes a server and a client device.

[0056] For example, Figure 1 As shown, Figure 1 Schematic diagram of an application scenario provided by an embodiment of the present application. The application scenario may include a terminal device 102 and a server device 101. The terminal device 102 may communicate with the server device 101 via a wired network or a wireless network. In this embodiment, the electronic device may be the terminal device 102 or the server device 101.

[0057] The electronic device in this embodiment is described by taking the terminal device 102 as an example. Figure 2 As shown, the terminal device 102 includes a memory 1021 and a processor 1022. The memory stores a computer program that can be run on the processor. When the processor executes the computer program, the steps of the method provided in the above embodiment are implemented.

[0058] See also Figure 2 The terminal device 102 further includes: a bus 1023 and a communication interface 1024. The processor 1022, the communication interface 1024 and the memory 1021 are connected via the bus 1023. The processor 1022 is used to execute executable modules stored in the memory 1021, such as computer programs.

[0059] The memory 1021 may include high-speed random access memory (RAM) and may also include non-volatile memory, such as at least one disk storage. The system network element communicates with at least one other network element via at least one communication interface 1024 (which may be wired or wireless), and may utilize the Internet, a wide area network, a local area network, a metropolitan area network, or the like.

[0060] The bus 1023 may be an ISA bus, a PCI bus, or an EISA bus. The bus may be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, Figure 2 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or one type of bus.

[0061] Among them, the memory 1021 is used to store programs, and the processor 1022 executes the program after receiving the execution instruction. The method executed by the process definition device disclosed in any embodiment of the present application can be applied to the processor 1022 or implemented by the processor 1022.

[0062] The processor 1022 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by an integrated logic circuit of hardware in the processor 1022 or by instructions in the form of software. The above-mentioned processor 1022 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gates or transistor logic devices, or discrete hardware components. The various methods, steps, and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in conjunction with the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in memory 1021, and processor 1022 reads the information in memory 1021 and, in conjunction with its hardware, completes the steps of the above method.

[0063] Of course, the electronic device in this embodiment can also be a local computer device without network connection. Figure 3 As shown, the computer device 103 includes: a processor 1031, a memory 1032, and a bus. The memory 1032 stores machine-readable instructions executable by the processor 1031. When the electronic device is running, the processor 1031 communicates with the memory 1032 through the bus, and the processor 1031 executes the machine-readable instructions to perform the steps of the service architecture generation method.

[0064] Specifically, the above-mentioned memory 1032 and processor 1031 can be general-purpose memories and processors, which are not specifically limited here. When the processor 1031 runs the computer program stored in the memory 1032, it can execute the service architecture generation method.

[0065] The embodiments of the present application are further described below with reference to the accompanying drawings.

[0066] Figure 4This is a flow chart of a method for generating a service architecture provided in an embodiment of the present application. The method can provide a graphical user interface through a terminal device, and the content displayed by the graphical user interface includes at least part of a logical node diagram, and the logical node diagram includes nodes described based on the XPDL specification, such as Figure 4 As shown, the method includes:

[0067] Step S410 : In response to a first editing operation on a node, determining an inter-node timing sequence and an inter-node logic rule corresponding to the first editing operation in a logical node graph through an XPDL specification.

[0068] The nodes are loaded with corresponding service actions.

[0069] For example, Figure 5 As shown, users can perform a first edit operation on a node in the logical node diagram, assembling the service actions contained in the node, such as start, behavior, decision, and end, in a certain logical order to describe the timing and logical rules, thereby editing the timing and logical rules between nodes. Through editing, the entire process can be made to first perform action A, then perform the corresponding decision A for action A, splitting action A into action B and action C, and finally obtaining the process result.

[0070] The nodes in the embodiments of the present application are divided into process control nodes (for example, start, end, decision, branch, and merge nodes) and action execution nodes. Their basic syntax format follows the XPDL specification protocol. The XPDL specification protocol is a standardized specification. XPDL is designed to meet the business process definition for exchange both graphically and semantically. It is the best file format for describing business process modeling and annotation. However, XPDL not only contains a description of process execution, but also includes graphical information of elements, which is more suitable for business process modeling. By defining a node description language XPDL, through the abstraction of business behavior, the input, parameter items and operation result output of different nodes in the business process can be accurately and flexibly described.

[0071] Exemplary, some characteristic syntax is as follows: "global", corresponding to the global declaration area, defines the global configuration, and all func operators of this configuration can be obtained through the global attribute; "Configuration", corresponding to the configuration definition start and end characters, determines the configuration definition area attribute name and attribute value according to the options selected by the demand process; "name-space", corresponding to the namespace, the code engine can switch to the corresponding namespace after reading this field, and load the corresponding method in the next step; "func", corresponding to the method name, the code engine takes out the method from the namespace after reading the name and loads it into the running environment; "arg", corresponding to the method parameter definition area; "arg.name", corresponding to the method parameter name; "arg.type", corresponding to the method parameter type, the code engine combines the parameter name and type to obtain the corresponding method input parameter from the configuration (configuration), output (output), static value (static), and request parameter (VAR); "output", corresponding to the method output definition area; "output.name", corresponding to the field name of the method output, the code engine will assign the specified name to the return value of the method in the order of definition, and put it into the output space for other control nodes or behavior nodes to use; "ok "to", corresponds to the next node when the method runs successfully and the status value is true; "error to", is used for the next node when the method runs successfully but the status value is not true; "exception to", corresponds to the next node when the method fails to run; "decision", corresponds to the branch decision node in the control node, which is an important control component in the process execution process; "operator", corresponds to the operator definition; "decision.switch.case.func", corresponds to the specified execution method of the control node, which is consistent with the syntax specification of the func operator. If the status is true in the return, the process corresponding to the case is executed; "case.arg", corresponds to the specified execution method or operator parameter of the control node, which is consistent with the syntax specification of the arg parameter definition area.

[0072] Step S420 : In response to the second editing operation on the service action, determining the action content corresponding to the second editing operation.

[0073] For example, Figure 5 As shown, the user can perform a second editing operation on each service action to determine the action content corresponding to the second editing operation. The user can assign different specific action contents to service actions such as Action A, Decision A, Action B, and Action C through editing.

[0074] Step S430 , assembling the action contents corresponding to the plurality of service actions according to the inter-node timing and inter-node logic rules to generate a service architecture.

[0075] For example, Figure 5 As shown, after the user completes editing the inter-node timing and inter-node logical rules and determines the action contents corresponding to several service actions, the system can automatically assemble the action contents corresponding to several service actions according to the inter-node timing and inter-node logical rules edited by the user to generate a complete service architecture.

[0076] By editing the timing, logic, and service actions of the XPDL specification nodes in the logical node diagram, the service architecture can be automatically assembled and generated according to these editing results. Developers only need to expand the functional nodes and define the node flow chart to realize the generation of the service architecture. The automatic generation and loading of services replaces the above series of links, shortening the service development cycle and improving the efficiency of service architecture development.

[0077] In the embodiment of the present application, a model of automatically generating and loading services is used to replace a series of links such as organizational structure, writing service code, debugging, and deployment, which greatly shortens the service development cycle and has the advantages of what you see is what you get, flexible configuration, rapid service generation, self-service operation and maintenance, automatic statistical reporting, and automatic integration of various common tools; as the functional nodes are continuously expanded, developers only need to expand the missing functional nodes into the node space of the system and define the logical node diagram to obtain the required service application programming interface (Application Programming Interface, API), realize code-free service API generation, improve the development efficiency of the service architecture, and alleviate the technical problem of low service architecture development efficiency in the existing technology.

[0078] The above steps are described in detail below.

[0079] In some embodiments, the user can edit each service action individually, thereby more accurately determining the action content corresponding to the target service action. For example, the user can first select a preset action content, and then select the corresponding target service action to quickly and efficiently determine the action content. As an example, the display content of the graphical user interface also includes the preset action content; the above step S420 may specifically include the following steps:

[0080] Step a): in response to a first selection operation for a plurality of preset action contents, determining a target preset action content corresponding to the first selection operation.

[0081] Step b) In response to a second selection operation on a plurality of service actions, determining a target service action corresponding to the second selection operation.

[0082] Step c) determining the target preset action content as the action content corresponding to the target service action.

[0083] Exemplarily, the system can display several preset action contents in the graphical user interface, which constitute a node pool. The user can select the required action content in the node pool and assign it to the specified action. Taking the "going out" process as an example, the graphical user interface displays a logical node diagram, which includes specific actions such as action A, action B and action C. The display content of the graphical user interface also includes preset action contents such as "getting up", "getting dressed" and "opening the door". The user can first select the action content of "getting up", determine "getting up" as the target preset action content, and then select action A to determine action A as the corresponding target service action. Based on the user's selection, the system can determine "getting up" as the action content corresponding to action A.

[0084] By having the system first respond to the user's first selection operation for several preset action contents, determine the target preset action content corresponding to the first selection operation, and then respond to the user's second selection operation for several service actions, determine the target service action corresponding to the second selection operation, thereby determining the target preset action content as the action content corresponding to the target service action, the user can more accurately determine the action content corresponding to the target service action, thereby improving the efficiency of service architecture development.

[0085] Based on the above steps a), b), and c), the user can more conveniently and consistently determine the action content corresponding to the target service action through a sliding operation. For example, after selecting the target preset action content, the user can directly slide to select the corresponding target service action, which can achieve precise editing more conveniently and quickly. As an example, the above step c) may specifically include the following steps:

[0086] Step d) In response to a sliding operation to a plurality of service actions that is continuous with the first selection operation, determining a target service action corresponding to the end of the sliding operation from the plurality of service actions.

[0087] For example, after the user selects the target preset action content in the node pool through the first selection operation, they can then determine the target service action through continuous sliding operations. Taking the "going out" process as an example, the user can first click the "get up" action content, and then slide the mouse cursor over action A to determine action A as the corresponding target service action. Based on the user's selection, the system can determine "get up" as the action content corresponding to action A.

[0088] By enabling the system to respond to the user's sliding operation of continuously sliding to several service actions in response to the first selection operation, and determining the corresponding target service action from the several service actions when the sliding operation ends, the user can more conveniently and continuously determine the action content corresponding to the target service action through the sliding operation, thereby reducing the operation steps and improving the efficiency of service architecture development.

[0089] In some embodiments, the logical node graph can include multiple types, making editing more flexible. This allows for the creation and editing of service architectures in a variety of flexible ways, and allows for the assembly of service processes using a DAG graph based on a workflow model, thereby enabling more efficient development of the service architecture. As an example, the logical node graph is a DAG graph, and the service architecture is a service process assembled using a DAG graph based on a workflow model.

[0090] Exemplary logical node graphs include directed complete graphs, directed program flow graphs, and directed acyclic graphs. A DAG, or directed acyclic graph, is a commonly used data structure in the computer science field. Its unique topology offers unique advantages and is often used in various algorithmic scenarios, such as dynamic programming, finding the shortest path in navigation, and data compression. DAGs are theoretically distributed and efficient, and compared to other logical node graphs, DAGs are clearer and more intuitive. Workflow refers to the "automation of part or all of a business process in a computer application environment." It is an abstract, generalized description of the business rules governing workflows and their various operational steps. The primary problem addressed by workflows is the automated transfer of documents, information, or tasks between multiple participants according to predetermined rules, using computers to achieve a business goal. By breaking down work into well-defined tasks or roles, executing and monitoring these tasks according to specific rules and procedures, workflows improve efficiency, better control processes, enhance customer service, and effectively manage business processes.

[0091] In practical applications, such as Figure 6As shown in the figure, the functions of each module component are as follows. The DAG user interface (DAG UI) communicates with the Node Manager to obtain all currently active nodes. Based on user selections and assembly, it submits new service generation tasks to the Node Manager. When communicating with the DAG UI, the Node Manager organizes and maintains the node pool. Based on the node's defined configuration, inputs, and outputs, it organizes the configuration, inputs, and outputs required for the entire service process and generates API documentation. When communicating with the Runtime Engine, it serializes the XDPL file describing the DAG node into a service object and loads it into the engine for execution. The Hypertext Transfer Protocol Proxy (HTTP Proxy) communicates with the Runtime Engine. Upon receiving external requests, it forwards them to an idle work queue. The Runtime Engine running in the work queue loads the corresponding service DAG model based on the request path and input parameters, executes it, and returns the processing results. The Node Pool is used to maintain the logical nodes contributed by various developers in the development architecture. The Node Pool has a global namespace. Each node must declare its own runtime code, input parameters, and configuration requirements (user-submitted configuration, configuration items generated after initialization by the Node Manager, etc.). Developer Toolkits are used to maintain the submission specifications of node configurations, and to check, submit, and modify the logical nodes in the node pool based on the code submitted by the developer or development team. The Log Hub is used for external log monitoring and alarm synchronization, and is compatible with common log synchronization standards. The database is divided into a system runtime library and a runtime library for each service. The system runtime library stores basic information such as system permissions and user roles, as well as serialized service DAG node data; the service runtime library stores online business data generated by user-generated service reception requests. The Data Service Management Platform is used to provide a self-service backend for users and administrators, providing business statistical reports, service online and offline management, service business configuration adjustments, and a set of APIs for pulling service data for third-party external services.

[0092] By defining a workflow model object, a DAG diagram consisting of an indefinite number of nodes is used to combine and define business processes, and serialize and save them. When the service is called, it is dynamically loaded into the system engine to execute the specific service business process. Compared with the traditional development model, the reuse of functional nodes of the workflow model has the advantages of low error rate and high stability. Moreover, with the continuous expansion of functional nodes, the use value and development efficiency of this system will also be greatly improved. Users only need to expand the missing functional nodes into the node space of the system and define the node DAG flow chart to obtain the required service API interface, which effectively improves the development efficiency of the service architecture.

[0093] In some embodiments, the DAG diagram can be used to clearly and intuitively display the service architecture, and the advantages of DAG can be used to greatly improve the scalability of the service architecture, allowing users to freely create service architectures and improve development efficiency. As an example, after the above step S430, the method can also include the following steps:

[0094] Step e): Display the service architecture through a DAG graph in a graphical user interface.

[0095] For example, Figure 7 As shown, the core technical approach is to compare the complete requirement process to "behaviors," which are composed of multiple single "actions" combined according to different "timings" and "rule strategies." By abstracting functional modules into "actions," we can obtain an "action library" that serves as the foundation for the capability range. By assembling different nodes through a logical node diagram to describe the "timing," and using a dynamically generated instance configuration table to describe the "rule strategy," a complete requirement can be effectively disassembled.

[0096] By using DAG graphs, a service process can be divided into multiple actions, and then the timing dependencies between actions can be described using DAG graphs. Each action is an independent and indivisible functional module encapsulated by the business party, which implements a hot-swappable mechanism that allows functional nodes to be expanded at any time without stopping the service. By freely defining the timing and dependencies between nodes and combining them into different DAG flowcharts, new types of service APIs are generated, making editing operations more flexible, so that the service architecture can be created and edited in a variety of flexible forms, thereby improving the efficiency of service architecture development.

[0097] In some embodiments, the advantages of the workflow model's reuse of functional nodes and its low error rate and high stability can be utilized to analyze and run service behaviors based on the workflow model through an engine, making the development and operation of the service architecture more stable and efficient. As an example, after the above step S430, the method may further include the following steps:

[0098] Step f) parses and runs the service behaviors in the service architecture through the engine based on the workflow model.

[0099] For example, Figure 8As shown, the business department or R&D department uses the DAG user interface to select the corresponding requirement process. The development platform automatically synthesizes the corresponding instance DAG description and configuration text, which is received by the node manager and serialized and saved to the configuration center (Instance Conf Center). At this point, a new service instance has been successfully generated and can provide external service interfaces. When an external request arrives, the proxy parses the instance code corresponding to the request. The runtime manager obtains and encapsulates the corresponding workflow model (DAG + configuration) from the configuration center based on the instance code and pushes the model to the runtime engine for loading. Once loaded, the engine loads the running nodes one by one according to the timing and rule configuration until the final output is obtained. The runtime manager encapsulates the serialized request response data and finally presents it to the user in the form of an interface response, completing a complete service instance response.

[0100] By enabling the system to parse and run service behaviors in the service architecture through an engine based on a workflow model, the system can take advantage of the reuse of functional nodes of the workflow model and its advantages of low error rate and high stability. By enabling the system to parse and run service behaviors through an engine based on a workflow model, the development and operation of the service architecture can be made more stable and efficient.

[0101] In some embodiments, users can also save the created service architecture as a template for their own or other users to use, further improving development efficiency. For example, users can save the node assembly sequence of commonly required services as a template to the database. As an example, after the above step S430, the method can also include the following steps:

[0102] Step g): In response to the sharing operation on the service framework, storing at least a portion of the service framework as a template in a template database.

[0103] For example, Figure 9 As shown, business party A uses the DAG user interface to select the required nodes and assemble the timing and conditional configurations. After the new service architecture is generated, the node manager saves the service's workflow description file to the database. Business party A can then choose whether to open or partially open the process template. If business party A chooses not to share the template, the system renders the service, generates an XPDL file, and saves it to the model runtime engine. If business party A chooses to share the template, other business parties can view the complete DAG structure of the service in the DAG user interface and choose to reuse the entire service or select parts of it as sub-processes.

[0104] By enabling the system to respond to user sharing operations on the service architecture and storing at least part of the service architecture as a template in the template database, it is possible to save and reuse the node assembly sequence of commonly needed services in a templated manner as nodes continue to expand and services of different business types are continuously generated with the support of an open technical architecture, thereby further improving the efficiency of service generation.

[0105] Based on step g) above, users can also select an existing service architecture that corresponds to their needs from the database and directly reuse it without having to develop the service architecture from scratch, which effectively shortens the development cycle and improves development efficiency. As an example, after step g) above, the method can also include the following steps:

[0106] Step h): in response to a third selection operation on the service architecture in the template database, determining to obtain the service architecture from the template database, and running the engine based on the service architecture.

[0107] For example, Figure 9 As shown, Business Party B can choose to create a service architecture by loading a template. Business Party B first selects the target functional category from the template pool and then selects a desired template to load. If the template fully meets Business Party B's requirements, Business Party B can choose to directly render the service through the system, generate a new XPDL file, and save it to the model runtime engine.

[0108] By enabling the system to respond to the user's third selection operation on the service architecture in the template database, determine to obtain the service architecture from the template database, and run the engine based on the service architecture, users can select an existing service architecture corresponding to their needs from the database and reuse it directly without having to re-develop the service architecture, which effectively shortens the development cycle and improves development efficiency.

[0109] Based on step h) above, users can also flexibly edit existing service architecture templates in the database. After selecting a template, they can modify it by adding or deleting content based on target requirements to meet the target requirements. This not only makes template usage more flexible, but also effectively shortens the development cycle and improves development efficiency. As an example, the part of step h) above based on the service architecture runtime engine can specifically include the following steps:

[0110] Step i): In response to the third editing operation on the service architecture, the engine is run based on the service architecture result edited by the third editing operation.

[0111] For example, Figure 9As shown, Business Party B can create a service architecture by loading templates. Business Party B first selects the target functional category from the template pool and then chooses a desired template to load. Business Party B can then add processes to the template by selecting a base template from the template pool and then modifying the actual process. Business Party B can load the workflow into the DAG user interface and access the service modification and addition process. After modification, the system can render the service, generate a new XPDL file, and save it to the model runtime engine.

[0112] By enabling the system to respond to the user's third editing operation on the service architecture and running the engine based on the service architecture result edited by the third editing operation, users can more flexibly edit the existing service architecture templates in the database. After selecting a template, they can add or delete modifications to the template based on target requirements to make it meet the target requirements, thereby effectively shortening the development cycle and improving development efficiency.

[0113] Based on step i), there are many ways to perform the third editing operation on the service architecture, making the editing operation more flexible. For example, the third editing operation can include multiple types to enable flexible editing of the service architecture. Exemplarily, the third editing operation includes any one or more of the following:

[0114] The operation of modifying the service architecture, the operation of selecting at least part of the service architecture, the operation of combining at least part of the service architecture with a specified architecture, and the operation of confirming the use of the entire service architecture.

[0115] As an example, the service architecture in the template includes part A, part B and part C. After the user selects a template from the template pool, he can modify the template and modify the service architecture in the template based on the target to meet the target requirements. For example, part C can be modified to part D so that the new service architecture includes part A, part B and part D.

[0116] As another example, the user can also select part of the service architecture in the template, that is, only part of the content in the template is needed to achieve the target requirements. For example, the user only selects part A and part B, and does not select part C, so that the new service architecture only includes part A and part B.

[0117] As another example, the user can also combine at least part of the service architecture in a template with the specified architecture, for example, combining part A, part B, and part C with part E in the specified architecture, so that the new service architecture includes part A, part B, part C, and part E.

[0118] As another example, the user may also perform a confirmation operation on the entire service architecture, that is, completely apply the service architecture of the template so that the new service architecture includes Part A, Part B, and Part C.

[0119] By making the third editing operation mode include multiple types, users can perform multiple editing operations on the template, so as to achieve multiple and flexible editing of the template service architecture, making the service architecture more in line with target requirements.

[0120] Figure 10 A schematic diagram of a service architecture generation device 1000 is provided. The device provides a graphical user interface through a terminal device, and the content displayed by the graphical user interface includes at least part of a logical node diagram, and the logical node diagram includes nodes described based on the XPDL specification. Figure 10 , the service architecture generating device 1000 includes:

[0121] The first determining module 1001 is configured to determine, in response to a first editing operation on a node, an inter-node timing sequence and an inter-node logic rule corresponding to the first editing operation in a logical node graph using the XPDL specification; wherein the node is correspondingly loaded with a service action.

[0122] The second determining module 1002 is configured to determine, in response to a second editing operation on a service action, an action content corresponding to the second editing operation.

[0123] The assembling module 1003 is used to assemble the action contents corresponding to several service actions according to the inter-node time sequence and inter-node logic rules to generate a service architecture.

[0124] In some embodiments, the display content of the graphical user interface further includes preset action content; the second determining module 1002 is specifically configured to:

[0125] In response to a first selection operation for a plurality of preset action contents, determining a target preset action content corresponding to the first selection operation;

[0126] In response to a second selection operation for the plurality of service actions, determining a target service action corresponding to the second selection operation;

[0127] The target preset action content is determined as the action content corresponding to the target service action.

[0128] In some embodiments, the second determining module 1002 is specifically configured to:

[0129] In response to a sliding operation to a plurality of service actions that is continuous with the first selection operation, a target service action corresponding to when the sliding operation ends is determined from among the plurality of service actions.

[0130] In some embodiments, the logical node graph is a DAG graph; and the service architecture is a service process assembled through the DAG graph based on a workflow model.

[0131] In some embodiments, the apparatus further comprises:

[0132] The display module is used to assemble the action contents corresponding to several service actions according to the inter-node timing and inter-node logical rules. After generating the service architecture, the service architecture is displayed through the DAG diagram in the graphical user interface.

[0133] In some embodiments, the apparatus further comprises:

[0134] The parsing module is used to assemble the action contents corresponding to several service actions according to the inter-node timing and inter-node logical rules. After generating the service architecture, it parses and runs the service behaviors in the service architecture through the engine based on the workflow model.

[0135] In some embodiments, the apparatus further comprises:

[0136] The storage module is used to assemble the action contents corresponding to several service actions according to the inter-node timing and inter-node logical rules, generate the service architecture, and then store at least part of the service architecture as a template in the template database in response to the sharing operation on the service architecture.

[0137] In some embodiments, the apparatus further comprises:

[0138] The third determination module is used to store at least part of the service architecture as a template in the template database in response to a sharing operation on the service architecture, and then determine to obtain the service architecture from the template database in response to a third selection operation on the service architecture in the template database, and run the engine based on the service architecture.

[0139] In some embodiments, the third determination module is specifically configured to:

[0140] In response to a third editing operation on the service framework, the engine is run based on the service framework result edited by the third editing operation.

[0141] In some embodiments, the third editing operation includes any one or more of the following:

[0142] The operation of modifying the service architecture, the operation of selecting at least part of the service architecture, the operation of combining at least part of the service architecture with a specified architecture, and the operation of confirming the use of the entire service architecture.

[0143] The service architecture generation device provided in the embodiment of the present application has the same technical features as the service architecture generation method provided in the above embodiment, so it can also solve the same technical problems and achieve the same technical effects.

[0144] Corresponding to the above-mentioned service architecture generation method, an embodiment of the present application also provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are called and executed by the processor, the computer-executable instructions prompt the processor to execute the steps of the above-mentioned service architecture generation method.

[0145] The service architecture generation device provided in the embodiment of the present application can be specific hardware on the device or software or firmware installed on the device. The implementation principle and technical effects of the device provided in the embodiment of the present application are the same as those of the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the device embodiment, reference can be made to the corresponding contents in the aforementioned method embodiment. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can all refer to the corresponding processes in the aforementioned method embodiment, and will not be repeated here.

[0146] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interface, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0147] For another example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions and operations of the devices, methods and computer program products according to multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of code, and the module, program segment or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.

[0148] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0149] In addition, each functional unit in the embodiments provided in the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0150] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the service architecture generation method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0151] It should be noted that similar numbers and letters represent similar items in the following figures. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. In addition, the terms "first", "second", "third", etc. are only used to distinguish the description and are not to be understood as indicating or implying relative importance.

[0152] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The scope of protection of the present application is not limited thereto. Although the present application has been described in detail with reference to the above-mentioned embodiments, those skilled in the art should understand that any person skilled in the art can modify or easily conceive of changes to the technical solutions described in the above-mentioned embodiments within the technical scope disclosed in the present application, or perform equivalent replacements for some of the technical features thereof. However, these modifications, changes, or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application. They should all be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. A method for generating a service architecture, characterized in that: Providing a graphical user interface through a terminal device, wherein the content displayed by the graphical user interface includes at least a portion of a logical node diagram, wherein the logical node diagram includes nodes described based on the XPDL specification; including: In response to a first editing operation on the node, determining, in the logical node graph, an inter-node timing sequence and an inter-node logic rule corresponding to the first editing operation using the XPDL specification; wherein the node is correspondingly loaded with a service action; In response to a second editing operation on the service action, determining action content corresponding to the second editing operation; Assembling the action contents corresponding to the plurality of service actions according to the inter-node time sequence and the inter-node logic rules to generate a service architecture; The display content of the graphical user interface also includes preset action content; The determining, in response to the second editing operation on the service action, action content corresponding to the second editing operation includes: In response to a first selection operation on the plurality of preset action contents, determining a target preset action content corresponding to the first selection operation; In response to a second selection operation on the plurality of service actions, determining a target service action corresponding to the second selection operation; The target preset action content is determined as the action content corresponding to the target service action.

2. The service architecture generation method according to claim 1, characterized in that: In response to a second selection operation on the plurality of service actions, determining a target service action corresponding to the second selection operation includes: In response to a sliding operation of sliding to the plurality of service actions that is continuous with the first selection operation, a target service action corresponding to when the sliding operation ends is determined from the plurality of service actions.

3. The service architecture generation method according to claim 1, wherein: The logical node graph is a DAG graph; the service architecture is a service process assembled through the DAG graph based on a workflow model.

4. The service architecture generation method according to claim 3, wherein: After assembling the action contents corresponding to the plurality of service actions according to the inter-node time sequence and the inter-node logic rule to generate a service architecture, the method further includes: The service architecture is displayed in the graphical user interface through the DAG diagram.

5. The service architecture generation method according to claim 3, characterized in that: After assembling the action contents corresponding to the plurality of service actions according to the inter-node time sequence and the inter-node logic rule to generate a service architecture, the method further includes: The service behaviors in the service architecture are parsed and run by an engine based on the workflow model.

6. The service architecture generation method according to claim 1, characterized in that: After assembling the action contents corresponding to the plurality of service actions according to the inter-node time sequence and the inter-node logic rule to generate a service architecture, the method further includes: In response to a sharing operation on the service framework, at least a portion of the service framework is stored as a template in a template database.

7. The service architecture generation method according to claim 6, characterized in that: After storing at least a portion of the service architecture as a template in a template database in response to the sharing operation on the service architecture, the method further includes: In response to a third selection operation on the service architecture in the template database, it is determined to obtain the service architecture from the template database, and to run an engine based on the service architecture.

8. The service architecture generation method according to claim 7, characterized in that: The engine is run based on the service architecture, including: In response to a third editing operation on the service architecture, an engine is run based on the service architecture result edited by the third editing operation.

9. The service architecture generation method according to claim 8, characterized in that: The third editing operation includes any one or more of the following: An operation of modifying the service architecture, an operation of selecting at least a portion of the service architecture, an operation of combining at least a portion of the service architecture with a specified architecture, and an operation of confirming the use of the entire service architecture.

10. A service architecture generating device, characterized in that: Providing a graphical user interface through a terminal device, wherein the content displayed by the graphical user interface includes at least a portion of a logical node diagram, wherein the logical node diagram includes nodes described based on the XPDL specification; including: a first determining module configured to, in response to a first editing operation on the node, determine, in the logical node graph, an inter-node timing sequence and an inter-node logic rule corresponding to the first editing operation using the XPDL specification; wherein the node is correspondingly loaded with a service action; a second determining module, configured to determine, in response to a second editing operation on the service action, an action content corresponding to the second editing operation; An assembling module, configured to assemble the action contents corresponding to the plurality of service actions according to the inter-node timing and the inter-node logic rules to generate a service architecture; The display content of the graphical user interface also includes preset action content; The second determining module is specifically configured to: In response to a first selection operation on the plurality of preset action contents, determining a target preset action content corresponding to the first selection operation; In response to a second selection operation on the plurality of service actions, determining a target service action corresponding to the second selection operation; The target preset action content is determined as the action content corresponding to the target service action.

11. An electronic device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, wherein: When the processor executes the computer program, the steps of the service architecture generation method according to any one of claims 1 to 9 are implemented.

12. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions. When the computer-executable instructions are called and executed by a processor, the computer-executable instructions prompt the processor to execute the service architecture generation method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Service combination model development method and device, storage medium and equipment

    CN112363714A