Low-code arrangement system, method and equipment based on logic meta language and medium

Through a low-code orchestration system based on logical meta-language, the problems of insufficient semantic analysis capabilities and poor scalability in the existing technology are solved, distributed transaction support and advanced programming capabilities are realized, and programming flexibility and reusability are improved.

CN119105733APending Publication Date: 2024-12-10LANZHUO DIGITAL TECHNOLOGY (HANGZHOU) CO LTD +1
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202410799686.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-20
Publication Date
2024-12-10

Smart Images

  • Figure CN119105733A_ABST
    Figure CN119105733A_ABST
Patent Text Reader

Abstract

The invention discloses a logic meta-language-based low-code arrangement system, which comprises a logic editing module used for dragging and combining logic objects in the form of graphical preset nodes by a user so as to obtain a logic component which is used for expressing service logic of the user, and compiling the logic component so as to obtain a logic element; and converting into an executable file which can be understood and executed by a machine. And the logic execution module is used for receiving the executable file, performing logic execution and obtaining corresponding transaction information so as to obtain a debugging result for judging whether the executable file is normally executed or not. The logic meta-language has self-description capability, can flexibly express logic intentions, supports advanced semantic analysis, and has better expansion capability. The preset framework can be reused and modified by a user through the meta-language form programming, and the programming flexibility and reusability are greatly improved. And an executable program for logic conversion of graphical programming has the capability of grammatical analysis optimization.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of low-code, and in particular relates to a low-code orchestration system, method, device and medium based on logical metalanguage. Background Art

[0002] With the rapid development of science and technology, people's demand for software development is getting higher and higher. In the past, developing an application required a tedious process, from demand analysis, system design, code writing, debugging to online release, which required a lot of time and human resources. But now with the emergence of low-code technology, the software development process has become easier and easier, using a visual model so that developers can complete application development without writing code. The form space functions of low-code software products are becoming more and more abundant, and users have more and more needs for data collection collaboration and processing, which need to be able to meet the flexible needs of users.

[0003] Most existing visual orchestration engines describe content in simple text or json format, and do not have the ability to perform semantic analysis through up and down divisions; most preset graphics do not have the ability to be flexibly expanded after being defined, and need to be supported by adding or modifying the program to support the expansion of preset capabilities. The flexibility of programming is restricted by the preset logic; the flexibility and reusability of programming are not high. Therefore, the executable program of the logical conversion of graphical programming does not have the ability to optimize syntax analysis. In addition, most existing visual orchestrations only support the call of a single database and lack support for distributed transactions. Summary of the invention

[0004] The technical purpose of the present invention is to provide a low-code orchestration system, method, device and medium based on logical metalanguage to solve the problems in the prior art.

[0005] To solve the above problems, the technical solution of the present invention is:

[0006] A low-code orchestration system based on logical metalanguage, including:

[0007] The logic editing module is used by users to drag and combine logic objects in the form of graphical preset nodes to obtain logic components. The logic components are used to express the user's business logic, and then the logic components are compiled to be converted into executable files that can be understood and executed by the machine;

[0008] The logic execution module is used to receive the executable file and perform logic execution, and obtain the corresponding transaction information to obtain the debugging result to determine whether the executable file is executed normally;

[0009] Several logical objects are stored in the database. The logical objects are defined by a logical metalanguage and are used to call the logical objects in the database when the logic editing module performs logic arrangement and when the logic execution module performs logic execution. The logic editing module and the logic execution module share the database.

[0010] The editor is used by the user to drag the logic objects in the form of graphical preset nodes through the editor, connect the logic objects in series according to the logic execution order using lines, and specify the execution direction of the business for the decision nodes where the lines intersect, thereby obtaining the logic components;

[0011] The compiler is used to load logic components, parse the logical intent of the business logic according to the logic configuration and grammar rules, and convert it into a logic file that the machine can understand and execute.

[0012] The compiler includes a syntax analyzer, a checker, a plug-in manager and a syntax compiler;

[0013] The syntax compiler is used to compile the logic components;

[0014] The syntax analyzer is used to analyze the semantics in the logic component to obtain the user's logical intention and optimize the compilation efficiency of the syntax compiler;

[0015] The validator is used to detect configuration errors and logic errors during the compilation process;

[0016] The plug-in manager is used to send the compiled executable file to the logic execution module.

[0017] The logic execution module includes an executor, which includes a logic manager, an execution scheduler, a transaction manager and a logic executor;

[0018] The logic manager is used to receive, install and manage executable files;

[0019] The execution scheduler is used to call the executable file, analyze the transaction management information defined in its logic meta-language, and register the corresponding transaction with the transaction manager, thereby taking over the transaction actions during the logic execution;

[0020] The logic executor is used to perform logical execution on the executable file according to the logic object definition in the database and obtain the corresponding transaction information;

[0021] The transaction manager is used to uniformly commit transaction information or roll back transactions after the logical execution is completed, thereby realizing distributed transaction management.

[0022] Further preferably, it also includes an additional plug-in module, which is respectively connected to the editor and executor signals, and is used to provide third-party logic components for the logic editing module when performing logic arrangement, and to provide third-party logic components for the logic execution module when performing logic execution; the additional plug-in module is also connected to the plug-in manager signal, and is used to distribute the logic components in the executable file to the additional plug-in module for storage.

[0023] A low-code orchestration method based on logical metalanguage is applied to any of the above-mentioned low-code orchestration systems based on logical metalanguage, comprising the following steps:

[0024] Drag the logic objects in the form of graphical preset nodes through the editor of the logic editing module, connect the logic objects in series according to the logic execution order using lines, and specify the execution direction of the business for the decision nodes where the lines intersect, thereby obtaining the logic components;

[0025] Through the compiler of the logic editing module, the logic components are loaded, and the logical intent of the business logic is analyzed according to the logic editing configuration and grammar rules, and converted into a logic file that can be understood and executed by the machine;

[0026] The executable file is received and logically executed through the logic execution module, and the corresponding transaction information is obtained to obtain the debugging result for judging whether the executable file is executed normally.

[0027] Further preferably, when the compiler implements logic compilation, it also includes:

[0028] Pack and generate logic components in the editor through developer information;

[0029] The generated executable logic files are converted into logic components according to a specific format, and then distributed to additional plug-in modules for storage.

[0030] The specific steps of executing logic through the logic execution module are:

[0031] Download and install the executable logic file through the executor's logic manager;

[0032] Load the executable logic file and obtain its configuration information;

[0033] Get input data according to configuration information;

[0034] The execution scheduler determines whether the transaction manager starts working based on the configuration information;

[0035] The logic file is executed by the logic executor;

[0036] The scheduler gets the return result: if a logic program exception is encountered in the logic file during execution, an exception is thrown, and the execution scheduler notifies the transaction manager to roll back the transaction and terminate the logic execution;

[0037] If during the execution process, the logic program in the logic file is normal and returns a result, the execution scheduler notifies the transaction manager to commit the transaction and terminate the logic execution.

[0038] An electronic device includes a processor and a memory, the memory stores computer instructions that can be executed on the processor, and the processor is used to call the computer instructions in the memory to execute any of the above-mentioned low-code orchestration methods based on logical metalanguage.

[0039] A storage medium is used to store computer instructions, wherein when the computer instructions are executed, the device where the storage medium is located is controlled to execute any of the above-mentioned low-code orchestration methods based on logical metalanguage.

[0040] Due to the adoption of the above technical solution, the present invention has the following advantages and positive effects compared with the prior art:

[0041] Compared with the logic arrangement description form of the prior art, the present invention adopts a logical metalanguage with self-description ability, can flexibly express logical intent, support advanced semantic analysis, and has better expansion capabilities. Programming in the form of metalanguage allows the preset framework to be reused and modified by users, greatly improving the flexibility and reusability of programming. The executable program of the logical conversion of graphical programming can have the ability of syntax analysis optimization through metalanguage programming. The logical metalanguage supports distributed transactions through unified transaction definitions, which is fast, convenient and highly scalable. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the following detailed description of the preferred embodiment.The drawings are only for the purpose of illustrating the preferred embodiments and are not to be construed as limiting the invention.

[0043] Figure 1 It is a structural block diagram of a low-code orchestration system based on logical metalanguage of the present invention;

[0044] Figure 2 It is a diagram of the execution logic steps of the logic execution module of the present invention;

[0045] Figure 3 It is a schematic diagram of distributed transaction management of the logic execution module of the present invention. DETAILED DESCRIPTION

[0046] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the specific implementation methods of the present invention will be described below with reference to the accompanying drawings. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings and other implementation methods can be obtained based on these drawings without creative work.

[0047] In order to simplify the drawings, only the parts related to the present invention are schematically shown in each figure, and they do not represent the actual structure of the product. In addition, in order to simplify the drawings and facilitate understanding, in some figures, only one of the parts with the same structure or function is schematically drawn or marked. In this article, "one" not only means "only one", but also means "more than one".

[0048] The following is a further detailed description of a logic metalanguage-based low-code orchestration system, method, device and medium proposed by the present invention in conjunction with the accompanying drawings and specific embodiments. The advantages and features of the present invention will become clearer according to the following description and claims.

[0049] Example

[0050] See also Figures 1 to 3 This embodiment provides a low-code orchestration system and method based on logical metalanguage. The implementation of the system is composed of a logical metalanguage definition, a logic editing module and a logic execution module.

[0051] Among them, the definition of logical metalanguage mainly plays a role in the logical orchestration and execution of low-code. Specifically, the logical metalanguage can flexibly express and extend business logic and support more intelligent low-code logical orchestration by abstractly defining a set of logical rules and structurally describing the elements and relationships of logical orchestration. It is used for the rapid development, compilation, deployment, and execution of business applications, and supports advanced functions such as semantic analysis, expressions, and distributed transactions through flexible rule extensions. Its definition includes the following points: basic data types, objects, logical objects, logical orchestration, call types, and transactions. Basic data types include atomic data types such as text, numbers, Booleans, and dates. Objects are composed of basic data. Logical objects are the smallest operating units of logic. The corresponding metalanguage defines the operating rules of logic and then describes business logic. Logical orchestration is the integration and combination of multiple logical objects to form business logic. The call type is used to define the way the logic is called, supporting direct call, timed call, authentication call, etc., for integration. Transactions are used to describe the submission or rollback of logical transaction operations.

[0052] View now Figure 1, users can drag and combine logic objects in the form of graphical preset nodes through the logic editing module to obtain logic components. The logic components are used to express the user's business logic, and then the logic components are compiled to be converted into executable files that can be understood and executed by the machine. After the compilation is completed, the logic execution module receives the executable file and performs logic execution, and obtains the corresponding transaction information to determine whether the executable file is executed normally. If it is normal, the debugging result is output, and if it is abnormal, an exception is thrown and the transaction is rolled back. Of course, in this embodiment, the database also plays a pivotal role. It stores a number of logic objects, namely basic logic. The logic object is defined by the logic metalanguage and is the smallest unit of logic execution. It has the following characteristics: declare the name as the identifier of the logic call. Declare the input object as the data core of the logic operation. Declare the output object as the output of the logic operation result. Declare the exception object as the process monitoring information of the abnormal logic operation. Declare the execution process to express the user's expectations for the business logic. Declare the transaction configuration to register the transaction action with the transaction manager. The logic editing module can call the logic objects in the database when performing logic arrangement, and the logic execution module can also call the logic objects in the database when performing logic execution. Therefore, the logic editing module and the logic execution module share the database.

[0053] See also Figure 1 , now the logic editing module is described in detail:

[0054] First, the user expresses the business logic to be described through the editor. The user who implements this step can be a business expert who is not familiar with the code. He can drag the logic object in the form of a graphical preset node, and the logic object is obtained from the database. A single logic object can be described, or multiple logic objects can be combined. After the selection is completed, the logic objects are connected in series in the order of logical execution using lines, that is, each logic object is connected together in the logical order that the user wants to achieve. The order of connection indicates the order of subsequent execution of the logic object. Among them, when the number of logical objects is large, it is inevitable that multiple lines will intersect, and the node where the lines intersect is the decision node. At the decision node, the direction of business execution is determined according to the input object and its own description (user configuration). At this point, the editing part is completed, and the logic component is obtained, which is the carrier of the user's business logic intention.

[0055] Next, see Figure 1, load the logic components through the compiler, parse the logical intent of the business logic according to the logic configuration and grammar rules, and convert it into a logic file that the machine can understand and execute. Specifically, the compiler can be divided into a grammar analyzer, a verifier, a plug-in manager, and a grammar compiler. The grammar compiler compiles the received logic components, parses the user's logical intent according to the logic configuration and grammar rules, and converts it into an executable file that the machine can understand. The grammar analyzer analyzes the semantics in the executable file to obtain the user's logical intent, intelligently optimize the user's business logic, and thus improve the compilation efficiency of the grammar compiler. For example: based on metalanguage development, better suggestions can be provided to users through contextual semantics, such as automatically completing fields and intelligently recommending recently used objects. Advanced performance optimization can also be performed based on semantic analysis to improve the execution efficiency of low-code logic. For example: a user loops through a list, and writes to the database after modifying the element object of the list in each loop; such intentions can be optimized by the compiler to only modify the element object in the loop, and perform batch write operations on the list to the database after the loop ends, reducing database overhead and improving logical efficiency, making the logic arrangement process simpler, and avoiding additional usage complexity for users for performance optimization. While the syntax compiler is working, the verifier can detect configuration errors, such as missing parameters, mismatched parameter types, etc., and check whether all logic is missing, whether it complies with the preset rules, whether the logic functions are complete, etc. The plug-in manager can send the compiled executable file to the logic execution module.

[0056] See also Figures 1 to 3 Now, the logic execution module is described. The execution module includes an executor, and the executor includes a logic manager, an execution scheduler, a transaction manager and a logic executor.

[0057] Executable files are installed and uninstalled in a hot-swappable manner through the logic manager, which enables fast and real-time online and offline operation of business logic. After the executable file is installed, it is managed by the logic manager and can be called through the gateway of the executor in the form of a standard API. Through the input and output definitions of the metalanguage standard, it can be quickly integrated into third-party systems. The executable file is called by the execution scheduler, which registers the corresponding transaction with the transaction manager by analyzing the transaction information defined in the metalanguage, thereby taking over the transaction actions during the logic execution. Furthermore, when the logic is executed by the logic executor, it will be submitted to each system with the corresponding transaction information. After the logic execution is completed, the transaction manager will uniformly commit or roll back the transaction, thereby realizing distributed transaction management.

[0058] See also Figure 2When executing logic, the corresponding logic is executed in sequence with the logic object. It can generate verification rules based on the input object declared by the logic object, and can also express the business logic according to the user's wishes based on the execution process and input object declared by the logic object. When the logic execution of the logic object is completed, the declared output object will be returned and the operation of the logic object will be terminated.

[0059] See also Figure 3 , when the executor executes the logic, the user executes the logic and outputs the corresponding results. The specific steps are: receive, install and manage the executable file through the logic manager. The execution scheduler calls the executable file, and the logic executor executes the executable file and obtains its configuration information. Then, the user enters the corresponding data according to the distribution information. The execution scheduler determines whether to enable transaction management according to the configuration. If not, it applies to enable the transaction manager and register the transaction information according to the configuration information. When the logic is executed, the execution scheduler will get the return result; if the logic program is abnormal during the execution, an exception is thrown, and the execution scheduler notifies the transaction scheduler to roll back the transaction and terminate the logic execution. If the execution is normal, the execution scheduler gets the return result, and the execution scheduler notifies the transaction scheduler to commit the relevant transaction and terminate the logic execution. When the logic execution is completed and the developer's expected result is correctly output, the debugging is ended and the logic development work is completed. Among them, the logic can be called and executed in the form of API, which means that the logic has the ability to be integrated by a third party. The logic supports direct calling and can also support the ability of scheduled calling.

[0060] Preferably, see Figure 1 , this embodiment also includes an additional plug-in module, which is connected to the editor and executor signals respectively, and is used to provide third-party logic components for the logic editing module when performing logic arrangement, and to provide third-party logic components for the logic execution module when performing logic execution. When the editor introduces a third-party logic component, the name of the component can be referenced to the business logic as an extension of the metalanguage; through standard input and output definitions, it can be quickly reused, thereby realizing rapid integrated development of business logic. This self-description ability of the metalanguage strongly supports the reusability and extensibility of business logic through compilation, packaging, distribution, and integration. The additional plug-in module is also connected to the plug-in manager signal, which distributes the logic components in the executable file to the additional plug-in module for storage.

[0061] Furthermore, this embodiment also provides an electronic device, which includes a processor and a memory, wherein the memory stores computer instructions that can be executed on the processor, and the processor is used to call the computer instructions in the memory to execute the low-code orchestration method based on logical metalanguage as described above.

[0062] In addition, this embodiment also provides a storage medium, which is used to store computer instructions, wherein when the computer instructions are running, the device where the storage medium is located is controlled to execute the low-code orchestration method based on logical metalanguage as described above.

[0063] The embodiments of the present invention are described in detail above in conjunction with the accompanying drawings, but the present invention is not limited to the above embodiments. Even if various changes are made to the present invention, if these changes fall within the scope of the claims of the present invention and their equivalents, they still fall within the protection scope of the present invention.

Claims

1. A low-code orchestration system based on logical metalanguage, characterized in that: include: The logic editing module is used by users to drag and combine logic objects in the form of graphical preset nodes to obtain logic components. The logic components are used to express the user's business logic, and then the logic components are compiled to be converted into executable files that can be understood and executed by the machine; The logic execution module is used to receive the executable file and perform logic execution, and obtain corresponding transaction information to obtain a debugging result for determining whether the executable file is executed normally; The database stores a number of logic objects, which are defined by a logic metalanguage and are used to call the logic objects in the database when the logic editing module performs logic arrangement and to call the logic objects in the database when the logic execution module performs logic execution. The logic editing module and the logic execution module share the database.

2. The low-code orchestration system based on logical metalanguage according to claim 1 is characterized in that: The logic editing module includes an editor and a compiler; The editor is used for the user to drag the logic objects in the form of graphical preset nodes through the editor, connect the logic objects in series according to the logic execution order using lines, and specify the execution direction of the business for the decision nodes where the lines intersect, thereby obtaining the logic components; The compiler is used to load the logic components, parse the logical intent of the business logic according to the logic configuration and grammar rules, and convert it into a logic file that can be understood and executed by the machine.

3. The low-code orchestration system based on logical metalanguage according to claim 1 is characterized in that: The compiler includes a syntax analyzer, a checker, a plug-in manager and a syntax compiler; The syntax compiler is used to compile the logic component; The syntax analyzer is used to analyze the semantics in the logic component to obtain the user's logical intention, thereby optimizing the compilation efficiency of the syntax compiler; The checker is used to detect configuration errors and logic errors during the compilation process; The plug-in manager is used to send the compiled executable file to the logic execution module.

4. The low-code orchestration system based on logical metalanguage according to claim 1 is characterized in that: The logic execution module includes an executor, which includes a logic manager, an execution scheduler, a transaction manager and a logic executor; The logic manager is used to receive, install and manage executable files; The execution scheduler is used to call the executable file, analyze the transaction management information defined in its logic meta-language, and register the corresponding transaction with the transaction manager, thereby taking over the transaction action during the logic execution; The logic executor is used to perform logic execution on the executable file according to the logic object definition in the database and obtain corresponding transaction information; The transaction manager is used to uniformly submit transaction information or roll back transactions after the logic execution is completed, thereby realizing distributed transaction management.

5. The low-code orchestration system based on logical metalanguage according to claim 3 is characterized in that: It also includes an additional plug-in module, which is respectively connected to the editor and the executor signals, and is used to provide third-party logic components for the logic editing module when performing logic arrangement, and to provide third-party logic components for the logic execution module when performing logic execution; the additional plug-in module is also connected to the plug-in manager signal, and is used to distribute the logic components in the executable file to the additional plug-in module for storage.

6. A low-code orchestration method based on logical metalanguage, applied to the low-code orchestration system based on logical metalanguage as described in any one of claims 1 to 5, characterized in that: The steps include: Drag the logic objects in the form of graphical preset nodes through the editor of the logic editing module, connect the logic objects in series according to the logic execution order using lines, and specify the execution direction of the business for the decision nodes where the lines intersect, thereby obtaining the logic components; Through the compiler of the logic editing module, the logic components are loaded, and the logical intent of the business logic is analyzed according to the logic editing configuration and grammar rules, and converted into a logic file that can be understood and executed by the machine; The executable file is received and logically executed through the logic execution module, and the corresponding transaction information is obtained to obtain the debugging result for judging whether the executable file is executed normally.

7. The low-code orchestration method based on logical metalanguage according to claim 6 is characterized in that: When the compiler implements logical compilation, it also includes: Pack and generate logic components in the editor through developer information; The generated executable logic file is converted into logic components according to a specific format, and then distributed to the additional plug-in module for storage.

8. The low-code orchestration method based on logical metalanguage according to claim 6 is characterized in that: The specific steps to execute logic through the logic execution module are: Download and install the executable logic file through the executor's logic manager; Load the executable logic file and obtain its configuration information; Get input data according to configuration information; The execution scheduler determines whether the transaction manager starts working based on the configuration information; The logic file is executed by the logic executor; The scheduler gets the return result: if a logic program exception is encountered in the logic file during execution, an exception is thrown, and the execution scheduler notifies the transaction manager to roll back the transaction and terminate the logic execution; If during the execution process, the logic program in the logic file is normal and returns a result, the execution scheduler notifies the transaction manager to commit the transaction and terminate the logic execution.

9. An electronic device, characterized in that: The electronic device includes a processor and a memory, wherein the memory stores computer instructions that can be executed on the processor, and the processor is used to call the computer instructions in the memory to execute the low-code orchestration method based on logical metalanguage as described in any one of claims 6-8.

10. A storage medium, characterized in that: The storage medium is used to store computer instructions, wherein when the computer instructions are executed, the device where the storage medium is located is controlled to execute the low-code orchestration method based on logical metalanguage as described in any one of claims 6-8.

Citation Information

Cited By

  • Multi-mode intention editing and multi-target execution compiling system based on intention protocol

    CN122389844A