A meta-code-based low-code development system and method

By using a low-code development approach based on metacode, the problems of high cost, low efficiency, and difficulty in cross-domain adaptation in traditional development are solved. It enables cross-domain component construction and multi-version database adaptation, improving development efficiency and reducing costs.

CN115237380BActive Publication Date: 2026-04-21SHANGHAI MENGCHUANG DOUBLE YANG DATA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI MENGCHUANG DOUBLE YANG DATA TECH CO LTD
Filing Date
2022-07-13
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Traditional application development is costly and inefficient, with weak module interrelationships, an inability to build components across domains, poor compatibility with multiple database versions, and difficulty in meeting personalized needs.

Method used

The low-code development approach based on metacode divides business domains, builds meta-models, generates meta-services and meta-components, splits microservices, configures multiple types of data sources, enables cross-domain component construction and multi-version database adaptation, and manages multi-platform source code deployment through code model management.

Benefits of technology

It enables cross-domain component construction, completes multi-version database adaptation, improves development efficiency, ensures accurate matching and management of code models, and reduces development costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115237380B_ABST
    Figure CN115237380B_ABST
Patent Text Reader

Abstract

The application discloses a kind of low code development system and method based on meta code, microservice splitting module, the microservice splitting module is used to split microservice, to function module is assembled, to resource is classified, generates business application;Generating development module, the generating development module is generated by the meta service and meta component of drag, configure multiple types of data source, generate light application;Source code management module, the source code management module is used to define code model, to source code is managed, same code multi-end release.The application can build component across fields, and complete the adaptation of multiple version databases;Meanwhile, according to the relevance between each function, when defining code model, effective screening of code model is realized, to ensure the accurate matching of code model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of Internet technology, specifically to a low-code development system and method based on metacode. Background Technology

[0002] In traditional development, an application development process involves several stages: requirements analysis, database design, UI design, and program design. First, developers need to understand user needs and clarify the logic of each business function and the relationships between modules. Second, they design the data structure based on the requirements analysis, and most software developers describe their data structure using a specific type of database (such as MySQL). Finally, they design the program structure, the interfaces between modules, and the UI, integrating them into a complete application. During application delivery, inconsistencies often arise between requirements and the product. Developers need to fix and adjust the application's business classification, data structure, and program processing until the application meets user needs. Therefore, traditional application development is based on a specific business domain, possesses certain development technologies, and follows a specific development process to evolve user needs into applications. The same application requires different data structures and different programs to be developed for different terminals. This process is costly, inefficient, has weak inter-module relationships, low module reusability, and is prone to duplicate data storage and low utilization. Furthermore, it cannot meet the needs of government and enterprise system restructuring and personalized services, thus affecting administrative efficiency and business expansion.

[0003] Against this backdrop, numerous low-code development platforms have rapidly emerged in China. These platforms fall into two categories: form-driven and data-driven. They are used in specific business domains such as B2B, B2C, and B2G. Based on these domains, object-oriented programming languages ​​are used to develop numerous business components, forms, data models, and interface prototypes. For example, a specific database and front-end language might be used for low-code development. The database might be MySQL, and the front-end and back-end might use open-source frameworks. Business components are built using Java, HTML, and JavaScript. Users can build system prototypes by dragging and dropping a limited number of components, thus improving development efficiency to some extent. However, cross-domain component building and multi-version database adaptation still need improvement. Summary of the Invention

[0004] The purpose of this invention is to provide a low-code development system and method based on metacode to solve the problems mentioned in the background art.

[0005] To address the aforementioned technical problems, this invention provides the following technical solution: a low-code development method based on meta-code, the method comprising the following steps:

[0006] S1. Construct business domains based on business boundaries defined by business industry and business needs. Divide different subdomains and subject domains according to different business boundaries until the smallest boundaries are defined, thus obtaining the smallest functional unit.

[0007] S2. Construct a meta-model based on business attributes and characteristics, and perform form modeling and data modeling.

[0008] S3, the metamodel generates backend metaservices and frontend metacomponents based on different classes and methods;

[0009] S4. Decompose into microservices, assemble functional modules, classify resources, and generate business applications;

[0010] S5. By dragging and dropping the generated meta-services and meta-components, configure multiple types of data sources and generate lightweight applications;

[0011] S6. Define the code model, manage the source code, and deploy the same code to multiple platforms.

[0012] Furthermore, the method for constructing business domains based on business industry and business needs in S1 includes the following steps:

[0013] S1.1 Divide business domains. Use a top-down or bottom-up strategy to divide business boundaries. Divide the major domains into 2G domains, 2B domains, and 2C domains. Divide the major domains into different business subdomains according to different business industries. Within the business subdomains, further subdivide them into several subject domains according to business needs until the smallest boundary domain is defined.

[0014] S1.2 Build a resource catalog. Establish a resource catalog based on the division of business domains, build different common catalogs and business catalogs, and standardize the management of business systems. The common catalog is an application catalog that is used by everyone.

[0015] S1.3. Plan business modules: Based on the business attributes and object attribute characteristics of the business domain, establish business modules, data modules, common modules, and test modules.

[0016] S1.4 Planning functional modules: Decompose each business module into multiple functional modules with fine granularity.

[0017] S1.5. Subdivide functional modules into the smallest functional units.

[0018] In this invention, the 2G domain is geared towards the administrative field, using low-code to build PC, mobile, and large-screen applications for official documents, meetings, supervision, cadre management, and academic affairs management. The development process follows the steps below, and this type of business is mainly based on the development of process-based applications. The 2B domain is geared towards the enterprise field, building applications based on lightweight or process-free workflows, such as fixed asset, project procurement, and profit data analysis applications. Its construction process mainly involves binding data sources from different databases and building analysis applications through drag-and-drop visual analysis components on the page. This type of business is mainly based on the development of data-based applications. The 2C domain is geared towards the personal field, and the development of this type of application mainly involves flexibly building personal applications based on the platform's business components. These applications are mainly developed by individuals through the component store, such as personal learning and knowledge base management applications, which are highly customized and are products based on the combination of data-based and process-based applications. The purpose of establishing a resource catalog is to scientifically classify applications. During system maintenance, various applications can be quickly found through the resource catalog, and applications can be maintained.

[0019] Furthermore, the method for constructing a meta-model based on business attributes and business characteristics in S2 includes the following steps:

[0020] S2.1 Extract business objects: Extract the business objects corresponding to the events and commands generated from the business domain and the smallest functional unit, and sort out the relationships between the objects;

[0021] S2.2 Select metadata, analyze the business attributes of business objects, define business elements and core elements and group them to establish a metadata catalog, and design the business entities and related entities of business objects according to the model of business objects;

[0022] S2.3. When creating new metadata, the data type, length, and whether it is non-nullable are defined when defining the metamodel for structured data, so as to quickly generate the corresponding table structure; unstructured metadata is defined separately, and rules for defining multiple unstructured metadata are defined under one module.

[0023] S2.4 Construct a meta-model, define the mapping relationship between metadata and physical tables, configure data sources, input events, and association rules, establish form-type models and data-type models, and generate table structures for different databases by following the syntax structure of the program design, UI design, and database.

[0024] Furthermore, the method for generating backend meta-services and frontend meta-components based on different classes and methods in the S3 meta-model includes the following steps:

[0025] S3.1 Delineate boundary contexts: Delineate boundary contexts based on the business boundaries of the metamodel, so that when the metamodel is modified, its associated services or components are modified synchronously.

[0026] S3.2 Generate meta-services and meta-components, and visually orchestrate the usage scenarios, business permissions, display conditions, event descriptions, and prohibited states of form-type models and data-type models. The platform automatically encapsulates UI attributes and validation methods and generates front-end components and back-end services.

[0027] In this invention, a bounded context is set up to associate modifications.

[0028] Furthermore, the method for splitting microservices, assembling functional modules, classifying resources, and generating business applications in S4 includes the following steps:

[0029] S4.1 Decompose into microservices, plan microservice applications, orchestrate services for the smallest functional units, and design their storage, interaction, and interface attributes;

[0030] S4.2 Integrate functional module resources, integrate business objects, aggregate module basic information, meta-model, list, process, and form, and configure their linkage information, usage scenarios, and usage scope;

[0031] S4.3 Visual development, using the process designer, form designer, and list designer for visual drag-and-drop design;

[0032] S4.4 Module permission configuration: Based on the process and forms, the permissions of business modules at each stage are configured visually, the permissions of metadata in the page are defined, and the visibility, editing and saving content of each metadata at each stage is designed.

[0033] S4.5 Integrate the resources associated with the functional modules, and integrate and configure the menus, buttons, tasks, and user resources associated with the functional modules;

[0034] S4.6 Module hierarchical management: After the functional modules are built, different organizations manage the functional modules separately.

[0035] S4.7 Preview view: Displays the front-end application's display effect in real time according to the application configuration.

[0036] Furthermore, the method in S5 for generating lightweight applications by dragging and dropping the generated meta-services and meta-components to configure multiple types of data sources includes the following steps:

[0037] S5.1 Select Frame: Users can select different layout frames, list frames, and statistics frames based on permissions and priorities. Each frame is assigned multiple sets of functional code, interface sets, and component sets. The scope of use and icons of each frame can be designed. The system supports creation, deletion, configuration, and preview functions.

[0038] S5.2 Page configuration: Quickly build applications by dragging and dropping layout components, framework components, and metadata components through design panels and various engines; and perform secondary development using meta-code through VUE or iVew frameworks.

[0039] S5.3 Generate personalized workbenches for each user, and manage workbench identifiers, page types, authorized users, and priorities through the portal designer; during the page authorization process, configure usage permissions based on organization, role, and frequently used contacts, and users with permissions can configure specified pages;

[0040] S5.4 Generate multi-level thematic portals and use the portal designer to group together collections of micro-applications with common attributes;

[0041] S5.5 generates an analysis portal that can perform analysis through different database sources. It can connect to any data source and use the connection function to directly obtain data from stored procedures, and configure, analyze, and design the data.

[0042] Furthermore, S6 defines a code model for source code management, and the method for distributing the same code across multiple platforms includes the following steps:

[0043] S6.1 Define the code model, establish the code directories corresponding to the interface, domain, subdomain, database and cache respectively, modify the page template, develop the secondary JS, customize the CSS style, edit the html in the source code mode, and form new business components;

[0044] S6.2. Standardize the management of source code quality and version, and establish meta-component source code, meta-service source code, and project source code;

[0045] S6.3 Multi-platform deployment: Select different compilers based on different meta-services and meta-components and directly generate different source code.

[0046] Furthermore, in S6.1, when defining the code model, the minimum functional units in the planned microservices and the business domain corresponding to each minimum functional unit are obtained, and the corresponding code versions in the business domain of each minimum functional unit in the database are obtained.

[0047] The content of the code versions corresponding to the same smallest functional unit in different business domains is different; there are multiple code versions of the same smallest functional unit in the same business domain, and the content of each code version is different.

[0048] When defining the code model, each smallest functional unit in each microservice is numbered, and the business domain corresponding to each smallest functional unit in each microservice is numbered. When different smallest functional units correspond to the same business domain, the corresponding business domain numbers are the same. The code versions corresponding to the functional connections between the jth smallest functional unit in the ith business domain and the j1st smallest functional unit in the i1th business domain are obtained, and the functional connections in each microservice are numbered.

[0049] Let Aj be the k1-th code version in the smallest functional unit numbered j. k1 , 1≤k1≤k1 j k1 j This represents the total number of code versions in the smallest functional unit numbered j;

[0050] Let Bm be the k2th code version at the functional connection point numbered m. k2 1≤k2≤k2 m k2 m This represents the total number of code versions in the functional connection point numbered m;

[0051] Randomly select one code version from the smallest functional unit corresponding to each number and one code version from the functional connection point corresponding to each number, and add them to an empty set to obtain a functional code set. Each functional code set corresponds to one code model, and the number of functional code sets obtained is F.

[0052] F = k11 * ... * k1 j *...*k1 j0 *k21*...*k2 m *...*k2 m0 ,

[0053] Where j0 represents the total number of the smallest functional units in each microservice, and m0 represents the total number of functional connections in each microservice;

[0054] When defining the code model, the various functional code sets are analyzed, and the best functional code set is selected as the defined code model.

[0055] Furthermore, the method for selecting the best set of functional code includes the following steps:

[0056] S7.1. Obtain the identical and consecutive code segments corresponding to each element in a certain function code set, and compare the number of lines of code corresponding to each identical and consecutive code segment with a first preset value, where the first preset value is a constant pre-set in the database.

[0057] If the number of lines of code corresponding to identical and consecutive code segments is greater than or equal to a first preset value, then that code segment is extracted.

[0058] If the number of lines of code corresponding to the same and consecutive code segments is less than the first preset value, then the code segment will not be extracted.

[0059] S7.2 Count the types of extracted code snippets, determine whether there is any overlap between different types of code snippets, and perform secondary encapsulation processing.

[0060] If a code snippet of a certain type has no intersection with code snippets of other types, or the number of lines of code corresponding to the intersection is less than the second preset value, then the code snippet of that type is directly encapsulated twice, and the corresponding encapsulation result replaces the code snippet of that type in each element of the functional code set. The second preset value is a constant pre-built in the database.

[0061] If two or more types of code snippets have an intersection and the number of lines of code corresponding to the intersection is greater than or equal to the second preset value, then calculate the product of the number of lines of code corresponding to each code snippet of the intersection and the number of times the corresponding code snippet appears in the functional code set. Then, encapsulate the code snippet with the largest product in each code snippet of the intersection, and replace the code snippet of that type in each element of the functional code set with the encapsulation result.

[0062] S7.2. Count the actual number of lines of code in the functional code set after secondary encapsulation, denoted as HG, and simulate the maximum value of runtime latency of each microservice in the functional code set after secondary encapsulation, denoted as SY.

[0063] S7.3. Obtain the HG and SY corresponding to each function code set. Record the maximum value of HG in each function code set as HGmax, and the maximum value of SY in each function code set as SYmax.

[0064] The quotient obtained by dividing the absolute value of the difference between HG and HGmax for each function code set by HGmax is the first optimization coefficient for that function code set.

[0065]

[0066] The quotient obtained by dividing the absolute value of the difference between SY and SYmax for each function code set by SYmax is the second optimization coefficient for that function code set.

[0067]

[0068] S7.4 Calculate the product of the first optimization coefficient and the second optimization coefficient for each set of functional codes, and select the set of functional codes with the largest product of the first optimization coefficient and the second optimization coefficient as the best set of functional codes.

[0069] A low-code development system based on metacode, comprising:

[0070] The functional unit division module constructs a business domain based on the business boundaries defined by the business industry and business needs, and divides different subdomains and topic domains according to different business boundaries until the smallest boundary is reached, thus obtaining the smallest functional unit.

[0071] A metamodel building module, which builds metamodels based on business attributes and characteristics, and performs form modeling and data modeling.

[0072] Meta-service and meta-component generation module, which generates backend meta-services and frontend meta-components based on different classes and methods through meta-model;

[0073] The microservice splitting module is used to split microservices, assemble functional modules, classify resources, and generate business applications.

[0074] A generative development module, which generates lightweight applications by dragging and dropping generated meta-services and meta-components and configuring multiple types of data sources;

[0075] The source code management module is used to define code models, manage source code, and distribute the same code to multiple platforms.

[0076] Compared with the prior art, the beneficial effects achieved by the present invention are: the present invention can build components across domains and complete the adaptation of multiple versions of databases; at the same time, it can also effectively filter the code model when defining the code model based on the correlation between various functions, and ensure accurate matching of the code model. Attached Figure Description

[0077] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used in conjunction with embodiments of the invention to explain the invention and do not constitute a limitation thereof. In the drawings:

[0078] Figure 1 This is a schematic diagram of the structure of a low-code development method based on metacode according to the present invention;

[0079] Figure 2 This is a schematic diagram of the structure for extracting explanatory information of each node in the document drafting process in a low-code development method based on metacode according to the present invention.

[0080] Figure 3 This is a schematic diagram of the structure of metadata selection in a low-code development method based on metacode according to the present invention;

[0081] Figure 4 This is a schematic diagram illustrating the structure of the identifiers and field names in a low-code development method based on metacode according to the present invention.

[0082] Figure 5 This is a schematic diagram of the structure for identifying metadata in a low-code development method based on metacode according to the present invention. Detailed Implementation

[0083] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0084] Please see Figure 1 This invention provides a technical solution: a low-code development method based on metacode, the method comprising the following steps:

[0085] S1. Construct business domains based on business boundaries defined by business industry and business needs. Divide different subdomains and subject domains according to different business boundaries until the smallest boundaries are defined, thus obtaining the smallest functional unit.

[0086] S2. Construct a meta-model based on business attributes and characteristics, and perform form modeling and data modeling.

[0087] S3, the metamodel generates backend metaservices and frontend metacomponents based on different classes and methods;

[0088] S4. Decompose into microservices, assemble functional modules, classify resources, and generate business applications;

[0089] S5. By dragging and dropping the generated meta-services and meta-components, configure multiple types of data sources and generate lightweight applications;

[0090] S6. Define the code model, manage the source code, and deploy the same code to multiple platforms.

[0091] The method for constructing business domains based on business industry and business needs in S1 includes the following steps:

[0092] S1.1 Divide business domains. Use a top-down or bottom-up strategy to divide business boundaries. Divide the major domains into 2G domains, 2B domains, and 2C domains. Divide the major domains into different business subdomains according to different business industries. Within the business subdomains, further subdivide them into several subject domains according to business needs until the smallest boundary domain is defined.

[0093] S1.2 Build a resource catalog. Establish a resource catalog based on the division of business domains, build different common catalogs and business catalogs, and standardize the management of business systems. The common catalog is an application catalog that is used by everyone.

[0094] S1.3. Plan business modules: Based on the business attributes and object attribute characteristics of the business domain, establish business modules, data modules, common modules, and test modules.

[0095] S1.4 Planning functional modules: Decompose each business module into multiple functional modules with fine granularity.

[0096] S1.5. Subdivide functional modules into the smallest functional units.

[0097] The method for constructing a meta-model based on business attributes and business characteristics in S2 includes the following steps:

[0098] S2.1 Extract business objects: Extract the business objects corresponding to the events and commands generated from the business domain and the smallest functional unit, and sort out the relationships between the objects;

[0099] S2.2 Select metadata, analyze the business attributes of business objects, define business elements and core elements and group them to establish a metadata catalog, and design the business entities and related entities of business objects according to the model of business objects;

[0100] S2.3. When creating new metadata, the data type, length, and whether it is non-nullable are defined when defining the metamodel for structured data, so as to quickly generate the corresponding table structure; unstructured metadata is defined separately, and rules for defining multiple unstructured metadata are defined under one module.

[0101] S2.4 Construct a meta-model, define the mapping relationship between metadata and physical tables, configure data sources, input events, and association rules, establish form-type models and data-type models, and generate table structures for different databases by following the syntax structure of the program design, UI design, and database.

[0102] The method for generating backend meta-services and frontend meta-components in the S3 meta-model based on different classes and methods includes the following steps:

[0103] S3.1 Delineate boundary contexts: Delineate boundary contexts based on the business boundaries of the metamodel, so that when the metamodel is modified, its associated services or components are modified synchronously.

[0104] S3.2 Generate meta-services and meta-components, and visually orchestrate the usage scenarios, business permissions, display conditions, event descriptions, and prohibited states of form-type models and data-type models. The platform automatically encapsulates UI attributes and validation methods and generates front-end components and back-end services.

[0105] The method for splitting microservices, assembling functional modules, classifying resources, and generating business applications in S4 includes the following steps:

[0106] S4.1 Decompose into microservices, plan microservice applications, orchestrate services for the smallest functional units, and design their storage, interaction, and interface attributes;

[0107] S4.2 Integrate functional module resources, integrate business objects, aggregate module basic information, meta-model, list, process, and form, and configure their linkage information, usage scenarios, and usage scope;

[0108] S4.3 Visual development, using the process designer, form designer, and list designer for visual drag-and-drop design;

[0109] S4.4 Module permission configuration: Based on the process and forms, the permissions of business modules at each stage are configured visually, the permissions of metadata in the page are defined, and the visibility, editing and saving content of each metadata at each stage is designed.

[0110] S4.5 Integrate the resources associated with the functional modules, and integrate and configure the menus, buttons, tasks, and user resources associated with the functional modules;

[0111] S4.6 Module hierarchical management: After the functional modules are built, different organizations manage the functional modules separately.

[0112] S4.7 Preview view: Displays the front-end application's display effect in real time according to the application configuration.

[0113] The method for generating lightweight applications in S5 by dragging and dropping generated meta-services and meta-components, configuring multiple types of data sources, includes the following steps:

[0114] S5.1 Select Frame: Users can select different layout frames, list frames, and statistics frames based on permissions and priorities. Each frame is assigned multiple sets of functional code, interface sets, and component sets. The scope of use and icons of each frame can be designed. The system supports creation, deletion, configuration, and preview functions.

[0115] S5.2 Page configuration: Quickly build applications by dragging and dropping layout components, framework components, and metadata components through design panels and various engines; and perform secondary development using meta-code through VUE or iVew frameworks.

[0116] S5.3 Generate personalized workbenches for each user, and manage workbench identifiers, page types, authorized users, and priorities through the portal designer; during the page authorization process, configure usage permissions based on organization, role, and frequently used contacts, and users with permissions can configure specified pages;

[0117] S5.4 Generate multi-level thematic portals and use the portal designer to group together collections of micro-applications with common attributes;

[0118] S5.5 generates an analysis portal that can perform analysis through different database sources. It can connect to any data source and use the connection function to directly obtain data from stored procedures, and configure, analyze, and design the data.

[0119] The S6 defines a code model for source code management. The method for distributing the same code across multiple platforms includes the following steps:

[0120] S6.1 Define the code model, establish the code directories corresponding to the interface, domain, subdomain, database and cache respectively, modify the page template, develop the secondary JS, customize the CSS style, edit the html in the source code mode, and form new business components;

[0121] S6.2. Standardize the management of source code quality and version, and establish meta-component source code, meta-service source code, and project source code;

[0122] S6.3 Multi-platform deployment: Select different compilers based on different meta-services and meta-components and directly generate different source code.

[0123] When defining the code model in S6.1, the minimum functional units in the planned microservices and the business domain corresponding to each minimum functional unit are obtained, and the corresponding code versions in the business domain of each minimum functional unit are obtained from the database.

[0124] The content of the code versions corresponding to the same smallest functional unit in different business domains is different; there are multiple code versions of the same smallest functional unit in the same business domain, and the content of each code version is different.

[0125] When defining the code model, each smallest functional unit in each microservice is numbered, and the business domain corresponding to each smallest functional unit in each microservice is numbered. When different smallest functional units correspond to the same business domain, the corresponding business domain numbers are the same. The code versions corresponding to the functional connections between the jth smallest functional unit in the ith business domain and the j1st smallest functional unit in the i1th business domain are obtained, and the functional connections in each microservice are numbered.

[0126] Let Aj be the k1-th code version in the smallest functional unit numbered j. k1 , 1≤k1≤k1 j k1 j This represents the total number of code versions in the smallest functional unit numbered j;

[0127] Let Bm be the k2th code version at the functional connection point numbered m. k2 1≤k2≤k2 m k2 m This represents the total number of code versions in the functional connection point numbered m;

[0128] Randomly select one code version from the smallest functional unit corresponding to each number and one code version from the functional connection point corresponding to each number, and add them to an empty set to obtain a functional code set. Each functional code set corresponds to one code model, and the number of functional code sets obtained is F.

[0129] F = k11 * ... * k1 j *...*k1 j0 *k21*...*k2 m *...*k2 m0 ,

[0130] Where j0 represents the total number of the smallest functional units in each microservice, and m0 represents the total number of functional connections in each microservice;

[0131] When defining the code model, the various functional code sets are analyzed, and the best functional code set is selected as the defined code model.

[0132] The method for selecting the best set of functional code includes the following steps:

[0133] S7.1. Obtain the identical and consecutive code segments corresponding to each element in a certain function code set, and compare the number of lines of code corresponding to each identical and consecutive code segment with a first preset value, where the first preset value is a constant pre-set in the database.

[0134] If the number of lines of code corresponding to identical and consecutive code segments is greater than or equal to a first preset value, then that code segment is extracted.

[0135] If the number of lines of code corresponding to the same and consecutive code segments is less than the first preset value, then the code segment will not be extracted.

[0136] S7.2 Count the types of extracted code snippets, determine whether there is any overlap between different types of code snippets, and perform secondary encapsulation processing.

[0137] If a code snippet of a certain type has no intersection with code snippets of other types, or the number of lines of code corresponding to the intersection is less than the second preset value, then the code snippet of that type is directly encapsulated twice, and the corresponding encapsulation result replaces the code snippet of that type in each element of the functional code set. The second preset value is a constant pre-built in the database.

[0138] If two or more types of code snippets have an intersection and the number of lines of code corresponding to the intersection is greater than or equal to the second preset value, then calculate the product of the number of lines of code corresponding to each code snippet of the intersection and the number of times the corresponding code snippet appears in the functional code set. Then, encapsulate the code snippet with the largest product in each code snippet of the intersection, and replace the code snippet of that type in each element of the functional code set with the encapsulation result.

[0139] S7.2. Count the actual number of lines of code in the functional code set after secondary encapsulation, denoted as HG, and simulate the maximum value of runtime latency of each microservice in the functional code set after secondary encapsulation, denoted as SY.

[0140] S7.3. Obtain the HG and SY corresponding to each function code set. Record the maximum value of HG in each function code set as HGmax, and the maximum value of SY in each function code set as SYmax.

[0141] The quotient obtained by dividing the absolute value of the difference between HG and HGmax for each function code set by HGmax is the first optimization coefficient for that function code set.

[0142]

[0143] The quotient obtained by dividing the absolute value of the difference between SY and SYmax for each function code set by SYmax is the second optimization coefficient for that function code set.

[0144]

[0145] S7.4 Calculate the product of the first optimization coefficient and the second optimization coefficient for each set of functional codes, and select the set of functional codes with the largest product of the first optimization coefficient and the second optimization coefficient as the best set of functional codes.

[0146] A low-code development system based on metacode, comprising:

[0147] The functional unit division module constructs a business domain based on the business boundaries defined by the business industry and business needs, and divides different subdomains and topic domains according to different business boundaries until the smallest boundary is reached, thus obtaining the smallest functional unit.

[0148] A metamodel building module, which builds metamodels based on business attributes and characteristics, and performs form modeling and data modeling.

[0149] Meta-service and meta-component generation module, which generates backend meta-services and frontend meta-components based on different classes and methods through meta-model;

[0150] The microservice splitting module is used to split microservices, assemble functional modules, classify resources, and generate business applications.

[0151] A generative development module, which generates lightweight applications by dragging and dropping generated meta-services and meta-components and configuring multiple types of data sources;

[0152] The source code management module is used to define code models, manage source code, and distribute the same code to multiple platforms.

[0153] In this embodiment, when dividing business domains, business boundaries can be defined using either a top-down or bottom-up strategy, depending on management needs. Large domains can be divided into 2G, 2B, and 2C. Subdomains are further divided based on different business industries. Within each subdomain, several thematic domains are subdivided according to business requirements until the smallest boundary domain is reached. 2G Domain: Targeting government users. Low-code development is used to create PC, mobile, and large-screen applications for official documents, meetings, supervision, cadre management, and academic affairs management. The development process follows the steps mentioned later. This type of business primarily focuses on the development of process-based applications. 2B Domain: Targeting enterprises, applications are built based on lightweight or process-free workflows, such as fixed asset, project procurement, and profit data analysis applications. The development process mainly involves binding data sources from different databases and building analytical applications through drag-and-drop visual analysis components. This type of business primarily focuses on the development of data-based applications. 2C Domain: Targeting individuals. Development in this category mainly involves flexibly building personal applications based on the platform's business components. These applications are primarily developed by individuals through the component store, such as personal learning and knowledge base management applications, which are highly customized. It is based on a combination of data-based and process-based approaches.

[0154] For example: the name, unit attribute, name, and access address of the application system.

[0155] In this embodiment, the resource catalog is built according to the division of business domains, creating different common directories and business directories to standardize the management of business systems. The purpose of establishing the resource catalog is to scientifically classify applications, allowing for quick retrieval and maintenance of various applications during system maintenance. The common directory is built as needed and consists of applications that are accessible to everyone, such as notes and calendars. These applications are common modules, avoiding redundant development.

[0156] For example, when building applications in the office subdomain, a unified resource directory for the applications can be created. This directory allows users to view the applications within it. We can establish resource directories for business modules, built-in modules, test modules, etc., and then query and retrieve applications within these directories.

[0157] In this embodiment, when planning business modules, business modules such as business classes, data classes, commonality classes, and test classes are established based on the business attributes and object attribute characteristics of the business domain. First, it is necessary to classify the project into its subdomain. For example, there are several subject domains such as document receipt, document dispatch, duty shifts, and attendance. The document receipt subject domain is further divided into smaller domains such as intra-group document receipt and office document receipt.

[0158] In this embodiment, when planning functional modules, each business module is broken down into multiple functional modules with fine granularity.

[0159] For example, the document management module can be further divided into document receipt and document dispatch modules.

[0160] For example, based on the fact that receiving and sending documents are different types of business, we have established a unified document management business module and an administrative affairs management (attendance) module.

[0161] In this embodiment, functional modules are subdivided into the smallest functional units. For example, the document receiving module can be further divided into group document receiving and office document receiving. A common module can be a notification module.

[0162] In this embodiment, when extracting business objects, potential events, commands, and other business objects are extracted from the business domain and the smallest functional unit. The relationships between objects are then analyzed, such as extracting user attributes and the associated department and permission attributes.

[0163] like Figure 2 As shown, extract the explanatory information for each node in the document drafting process.

[0164] In this embodiment, when selecting metadata, the business attributes of the business object are analyzed, business elements and core elements are defined and grouped to establish a metadata catalog. Based on the model of the business object, the business entities and related entities of the business object are designed and described, such as the time attribute, region attribute, source attribute, path attribute, and management attribute of the metadata.

[0165] Metadata is categorized into public metadata, technical metadata, and business metadata. The metadata for government applications is constructed in accordance with the "Catalogue System of Government Information Resources" GB / T21063.1 / 2 / 3 / 4-2007 standard.

[0166] The platform has built different metadata systems for B2B, B2C, and B2G services. Users can select metadata or create new metadata, such as... Figure 3 .

[0167] In this embodiment, when creating new metadata,

[0168] When defining a metamodel for structured data, multiple metadata entries can be defined, referencing numerous controls (such as radio buttons, checkboxes, date event controls, text fields, etc.). It's also crucial to specify whether this metadata is encryptable and what its value range is, using system-provided validation methods such as required fields, numeric rules, and uniqueness rules. The data type, length, and non-nullability of the structured metadata can be defined to quickly generate the corresponding table structure.

[0169] The method for constructing metadata is as follows:

[0170] Based on the node information extracted from the document issuance node business object, commonly used public metadata such as title and document number can be used, following a unified naming convention such as OA_XXXX, and clearly defining its identifiers and field names, such as... Figure 4 Identify metadata, such as Figure 5 Other instructions include formatting metadata, specifying value ranges, and defining default values.

[0171] When unstructured metadata is defined separately, multiple rules for unstructured metadata can be defined within a single module. For example, for attachments, cleanup documents, etc., the system defines the button name and display content for uploading attachments on the front end, and defines character limits, format limits, and size limits after uploading attachments through the metamodel. It also defines whether printing is allowed, whether encryption is required, etc. Files can be linked to departments to achieve logical separation of files.

[0172] In this embodiment, when constructing the metamodel, the mapping relationship between metadata and physical tables is defined, data sources, input events, and association rules are configured, form-type models and data-type models are established, and table structures for different databases are generated by following the syntax structures of program design, UI design, and database.

[0173] In this embodiment, when generating meta-services and meta-components, the meta-model generates backend meta-services and frontend meta-components based on different classes and methods. The newly updated metadata components will be classified into the application store according to the business classification at the time of component definition, such as buttons, functional controls for various project categories, signature controls, etc.

[0174] In this embodiment, when generating the table structure, boundary contexts are defined based on the business boundaries of the metamodel, ensuring that the metadata of each business form is reasonably distinguished. After defining the contexts, the table structure is generated with one click based on its validation methods, attributes, and other information. When the metamodel is modified, its associated services or components are modified synchronously. For example, after modifying the user or permission metamodel, the services or components it references are modified synchronously.

[0175] In this embodiment, when defining the boundary context, the system categorizes metadata based on business object attributes. It considers basic information from newly created metadata, such as metadata name, UI attributes (e.g., length, width, display mode, text alignment, and whether it's a DIV display mode), and whether controls like text boxes, dates, numbers, and rich text are needed. The system provides common standard validation methods and custom validation methods for metadata. Standard validation methods include checking if metadata is an integer or unique, while custom metadata validation methods are modified through meta-code and are supported by languages ​​such as Java and Python. After configuring the rules for metadata validation using these methods and saving the configuration, the meta-component is generated.

[0176] In this embodiment, when generating meta-services, most of the meta-services, such as to-do lists, scheduled tasks, functional services, publishing services, sharing services, rollback services, and process services, are based on forms and process definitions and are services provided to front-end applications or third-party applications. For example, the third-party system's developer, access address, number of interfaces, and the background call method of each component are all provided. The front-end application calls these services through these methods.

[0177] In this embodiment, when generating meta-components, the system visually orchestrates the usage scenarios, business permissions, display conditions, event descriptions, and prohibited states of form-type models and data-type models. The platform automatically encapsulates UI attributes and validation methods, and generates front-end components and back-end services. Metadata components such as body text and attachments in the component library are automatically generated after their attributes are configured through metadata construction. Drag-and-drop design is possible during the visual development process.

[0178] Meta-components include framework components, management components, metadata components, and meta-code editing components.

[0179] The framework component has a framework directory, including two categories: page templates and portal frames. Users can create new pages, adding identifiers to distinguish them as portal pages, list pages, statistics pages, or framework pages. They can configure the page's scope and mockup. After defining the basic information for this category, users can configure the page by dragging and dropping user-defined metadata components from the platform. The page can then be configured and saved, and once a suitable page is generated, it is saved as a new UI framework.

[0180] In this embodiment, when managing modules hierarchically, for units with a large amount of organizational information and multiple levels of organizations, after constructing functional modules, module A can be published based on the information of organizations B and C, and organizations B and C can manage functional module A respectively.

[0181] This embodiment utilizes drag-and-drop generation of meta-services and meta-components during generative development to configure multiple data sources, achieving WYSIWYG development and generating lightweight applications. It features flexible and convenient visual logic orchestration services. System administrators can quickly build workbenches by dragging and dropping layout components, framework components, and metadata components. It supports the use of historical templates and Vue templates. Each user, upon logging into the system, can see the system configuration information and applications, including the page's appearance, layout, style, and functional modules.

[0182] In this embodiment, during visual development, applications can be quickly built by dragging and dropping layout components, framework components, and metadata components through design panels and various engines. Other frameworks such as Vue and iVew can be used to perform secondary development using meta-code.

[0183] In this embodiment, when generating a multi-level thematic portal, the portal designer groups micro-applications with common attributes into a collection, similar to an application folder. Thematic applications effectively group similar types of applications, making it easier for users to find suitable applications. The centralized management platform provides configuration, viewing, editing, and deletion functions for thematic items.

[0184] This embodiment generates an analytics portal primarily through analysis using various database sources, supporting domestically produced databases. It can connect to any data source and utilize various ADO and OLEDB connection functions, directly retrieving data from stored procedures. Data is configured, analyzed, and designed using BI tools, creating and configuring relational data sources for combined analysis, flexible analysis, pivotal analysis, dashboard analysis, map analysis, and spreadsheets. This includes visual dashboards, basic charts, advanced reports, dynamic graphics, and intelligent analytics.

[0185] The method for generating the analytics portal is as follows:

[0186] First, configure the data source. On the front end, configure the database vendor, database type, and data source of the lightweight application using standard pseudocode.

[0187] Second, report design, through the definition of metadata of business application system and the cleaning and organization of data, to display the corresponding report information. Functions include selecting indicators, selecting dimensions, setting table headers, and setting forms.

[0188] Third, select business metrics;

[0189] Fourth, modify the indicator algorithm;

[0190] Fifth, generate the final image.

[0191] In this embodiment, when defining the code model, code directories such as interfaces, domains, subdomains, databases, and caches are established respectively. In source code mode, page templates can be modified, JS can be developed for secondary development, CSS styles can be customized, and HTML can be edited to form new business components. The quality and version of the source code are managed in a standardized manner, and meta-component source code, meta-service source code, and project source code are established.

[0192] In this embodiment, when publishing to multiple platforms, different compilers are selected based on different meta-services and meta-components to directly generate different source codes, such as WeChat, Alipay, Lark mini-programs; H5 pages; lightweight applications; and different platforms such as PC applications, mobile apps, and large screens. Large screen publishing can quickly deploy and update web reports remotely. Once a report is designed, its template can be directly stored and updated in the web folder of the web server.

[0193] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus.

[0194] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A meta-code based low-code development method, characterized by, The method includes the following steps: S1. Construct business domains based on business boundaries defined by business industry and business needs. Divide different subdomains and subject domains according to different business boundaries until the smallest boundaries are defined, thus obtaining the smallest functional unit. S2. Construct a meta-model based on business attributes and characteristics, and perform form modeling and data modeling. S3, the metamodel generates backend metaservices and frontend metacomponents based on different classes and methods; S4. Decompose into microservices, assemble functional modules, classify resources, and generate business applications; S5. By dragging and dropping the generated meta-services and meta-components, configure multiple types of data sources and generate lightweight applications; S6. Define code models, manage source code, and deploy the same code to multiple platforms; When defining the code model in S6, the following steps are included: Retrieve the smallest functional units in the planned microservices and the corresponding business domain for each unit. Also, retrieve the corresponding code versions for each business domain within the database. The content of the code versions corresponding to the same smallest functional unit in different business domains is different; there are multiple code versions of the same smallest functional unit in the same business domain, and the content of each code version is different. When defining the code model, each smallest functional unit in each microservice is numbered, and the business domain corresponding to each smallest functional unit in each microservice is numbered. When different smallest functional units correspond to the same business domain, the corresponding business domain numbers are the same. The code versions corresponding to each functional connection point in the jth smallest functional unit in the ith business domain and the j1st smallest functional unit in the i1th business domain are obtained, and the functional connection points in each microservice are numbered. Let Aj be the k1-th code version in the smallest functional unit numbered j. k1 , 1≤k1≤k1 j k1 j This represents the total number of code versions in the smallest functional unit numbered j; Let Bm be the k2th code version at the functional connection point with number m. k2 1≤k2≤k2 m k2 m This indicates the total number of code versions in the function connection point numbered m; Randomly select one code version from the smallest functional unit corresponding to each number and one code version from the functional connection point corresponding to each number, and add them to an empty set to obtain a functional code set. Each functional code set corresponds to one code model, and the number of functional code sets obtained is F. , Where j0 represents the total number of the smallest functional units in each microservice, and m0 represents the total number of functional connections in each microservice; When defining the code model, analyze the various functional code sets and select the best functional code set as the defined code model; Analyze the various functional code sets and select the best functional code set as the defined code model; the selection method includes the following steps: S7.

1. Obtain the identical and consecutive code segments corresponding to each element in a certain function code set, and compare the number of lines of code corresponding to each identical and consecutive code segment with a first preset value, where the first preset value is a constant pre-set in the database. If the number of lines of code corresponding to identical and consecutive code segments is greater than or equal to a first preset value, then that code segment is extracted. If the number of lines of code corresponding to the same and consecutive code segments is less than the first preset value, then the code segment will not be extracted. S7.2 Count the types of extracted code snippets, determine whether there is any overlap between different types of code snippets, and perform secondary encapsulation processing. If a code snippet of a certain type has no intersection with code snippets of other types, or the number of lines of code corresponding to the intersection is less than the second preset value, then the code snippet of that type is directly encapsulated twice, and the corresponding encapsulation result replaces the code snippet of that type in each element of the functional code set. The second preset value is a constant pre-built in the database. If two or more types of code snippets have an intersection and the number of lines of code corresponding to the intersection is greater than or equal to the second preset value, then calculate the product of the number of lines of code corresponding to each code snippet of the intersection and the number of times the corresponding code snippet appears in the functional code set. Then, encapsulate the code snippet with the largest product in each code snippet of the intersection, and replace the code snippet of that type in each element of the functional code set with the encapsulation result. S7.

2. Count the actual number of lines of code in the functional code set after secondary encapsulation, denoted as HG. Simulate the maximum value of runtime latency of each microservice in the functional code set after secondary encapsulation, denoted as SY. S7.

3. Obtain the HG and SY corresponding to each function code set respectively. Record the maximum value of HG in each function code set as HGmax, and record the maximum value of SY in each function code set as SYmax. The quotient obtained by dividing the absolute value of the difference between HG and HGmax for each function code set by HGmax is the first optimization coefficient for that function code set. , The quotient obtained by dividing the absolute value of the difference between SY and SYmax for each function code set by SYmax is the second optimization coefficient for that function code set. , S7.4 Calculate the product of the first optimization coefficient and the second optimization coefficient for each set of functional codes, and select the set of functional codes with the largest product of the first optimization coefficient and the second optimization coefficient as the best set of functional codes.

2. The low-code development method based on meta-code according to claim 1, characterized in that: The method for constructing business domains based on business industry and business needs in S1 includes the following steps: S1.1 Divide business domains. Use a top-down or bottom-up strategy to divide business boundaries. Divide the major domains into 2G domains, 2B domains, and 2C domains. Divide the major domains into different business subdomains according to different business industries. Within the business subdomains, further subdivide them into several subject domains according to business needs until the smallest boundary domain is defined. S1.2 Build a resource catalog. Establish a resource catalog based on the division of business domains, build different common catalogs and business catalogs, and standardize the management of business systems. The common catalog is an application catalog that is used by everyone. S1.

3. Plan business modules: Based on the business attributes and object attribute characteristics of the business domain, establish business modules, data modules, common modules, and test modules. S1.4 Planning functional modules: Decompose each business module into multiple functional modules with fine granularity. S1.

5. Subdivide functional modules into the smallest functional units.

3. The low-code development method based on meta-code according to claim 1, characterized in that: The method for constructing a meta-model based on business attributes and business characteristics in S2 includes the following steps: S2.1 Extract business objects: Extract the business objects corresponding to the events and commands generated from the business domain and the smallest functional unit, and sort out the relationships between the objects; S2.2 Select metadata, analyze the business attributes of business objects, define business elements and core elements and group them to establish a metadata catalog, and design the business entities and related entities of business objects according to the model of business objects; S2.

3. When creating new metadata, the data type, length, and whether it is non-nullable are defined when defining the metamodel for structured data, so as to quickly generate the corresponding table structure; unstructured metadata is defined separately, and rules for defining multiple unstructured metadata are defined under one module. S2.4 Build a meta-model, define the mapping relationship between metadata and physical tables, configure data sources, input events, and association rules, establish form-type models and data-type models, and generate table structures for different databases by following the syntax structure of the program design, UI design, and database.

4. The low-code development method based on meta-code according to claim 1, characterized in that: The method for generating backend meta-services and frontend meta-components in the S3 meta-model based on different classes and methods includes the following steps: S3.1 Delineate boundary contexts: Delineate boundary contexts based on the business boundaries of the metamodel, so that when the metamodel is modified, its associated services or components are modified synchronously. S3.2 Generate meta-services and meta-components, and visually orchestrate the usage scenarios, business permissions, display conditions, event descriptions, and prohibited states of form-type models and data-type models. The platform automatically encapsulates UI attributes and validation methods and generates front-end components and back-end services.

5. The low-code development method based on metacode according to claim 1, characterized in that: The method for splitting microservices, assembling functional modules, classifying resources, and generating business applications in S4 includes the following steps: S4.1 Decompose into microservices, plan microservice applications, orchestrate services for the smallest functional units, and design their storage, interaction, and interface attributes; S4.2 Integrate functional module resources, integrate business objects, aggregate module basic information, meta-model, list, process, and form, and configure their linkage information, usage scenarios, and usage scope; S4.3 Visual development, using the process designer, form designer, and list designer for visual drag-and-drop design; S4.4 Module permission configuration: Based on the process and forms, the permissions of business modules at each stage are configured visually, the permissions of metadata in the page are defined, and the visibility, editing and saving content of each metadata at each stage is designed. S4.5 Integrate the resources associated with the functional modules, and integrate and configure the menus, buttons, tasks, and user resources associated with the functional modules; S4.6 Module hierarchical management: After the functional modules are built, different organizations manage the functional modules separately. S4.7 Preview view: Displays the front-end application's display effect in real time according to the application configuration.

6. The low-code development method based on meta-code according to claim 5, characterized in that: The method for generating lightweight applications in S5 by dragging and dropping generated meta-services and meta-components, configuring multiple types of data sources, includes the following steps: S5.1 Select Frame: Users can select different layout frames, list frames, and statistics frames based on permissions and priorities. Each frame is assigned multiple sets of functional code, interface sets, and component sets. The scope of use and icons of each frame can be designed. The system supports creation, deletion, configuration, and preview functions. S5.2 Page configuration: Quickly build applications by dragging and dropping layout components, framework components, and metadata components through design panels and various engines; and perform secondary development using meta-code through VUE or iVew frameworks. S5.3 Generate personalized workbenches, and manage workbench identifiers, page types, authorized users, and priorities through the portal designer; during the page authorization process, configure usage permissions based on organization, role, and frequently used contacts, and users with permissions can configure specified pages; S5.4 Generate multi-level thematic portals and use the portal designer to group together collections of micro-applications with common attributes; S5.5 generates an analysis portal, enabling analysis through different database sources. It can connect to any data source and use the connection function to directly obtain data from stored procedures, and configure, analyze, and design the data.

7. The low-code development method based on meta-code according to claim 1, characterized in that: The S6 defines a code model for source code management. The method for distributing the same code across multiple platforms includes the following steps: S6.1 Define the code model, establish the code directories corresponding to the interface, domain, subdomain, database and cache respectively, modify the page template, develop the secondary JS, customize the CSS style, edit the html in the source code mode, and form new business components; S6.

2. Standardize the management of source code quality and version, and establish meta-component source code, meta-service source code, and project source code; S6.3 Multi-platform deployment: Select different compilers based on different meta-services and meta-components and directly generate different source code.

8. A low-code development system based on the low-code development method based on meta-code according to any one of claims 1-7, characterized in that, include: The functional unit division module constructs a business domain based on the business boundaries defined by the business industry and business needs, and divides different subdomains and topic domains according to different business boundaries until the smallest boundary is reached, thus obtaining the smallest functional unit. A metamodel building module, which builds metamodels based on business attributes and characteristics, and performs form modeling and data modeling. Meta-service and meta-component generation module, which generates backend meta-services and frontend meta-components based on different classes and methods through meta-model; The microservice splitting module is used to split microservices, assemble functional modules, classify resources, and generate business applications. A generative development module, which generates lightweight applications by dragging and dropping generated meta-services and meta-components and configuring multiple types of data sources; The source code management module is used to define code models, manage source code, and distribute the same code to multiple platforms.

Citation Information

Patent Citations

  • Low-code application software development system and method

    CN110825362A

  • Business process building method and device

    CN113918145A