A low-code integrated development system based on multi-path intelligent recommendation

The low-code integrated development system with multi-path intelligent recommendation addresses the shortcomings of low-code platforms in code reusability, quality control, and multi-person collaborative development management, achieving efficient and flexible code module management and quality assurance, and supporting the development of complex systems.

CN115756477BActive Publication Date: 2026-08-25BEIJING INST OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211371028.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-03
Publication Date
2026-08-25
Estimated Expiration
2042-11-03

AI Technical Summary

Technical Problem

Existing low-code development platforms have shortcomings in code reusability, quality control, and multi-person collaborative development management, resulting in insufficient flexibility and usability, making them difficult to apply effectively in complex systems.

Method used

A low-code integrated development system based on multi-path intelligent recommendation is adopted, including a low-code development subsystem, a code module repository subsystem, and an automated process management subsystem. Through multi-path intelligent recommendation algorithms and version tracking control technology, efficient storage, quality assurance, and process management of code modules are achieved.

Benefits of technology

It improves the usability and flexibility of code modules, reduces dependence on business scenarios, achieves high-quality assurance and low-cost process management for custom code modules, and supports multi-person collaborative development of complex systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115756477B_ABST
    Figure CN115756477B_ABST
Patent Text Reader

Abstract

The application discloses a low-code integrated development system based on multi-path intelligent recommendation, stores code modules through a code module warehouse subsystem, and records quality information and version information of the code modules and user permission information, thereby reducing dependence of the system on business scenarios and improving usability and flexibility of the system. Modification and update of the code modules are realized through a low-code development subsystem; a multi-path intelligent recommendation algorithm of the code module warehouse subsystem is used to search and recommend code modules for the low-code development subsystem, selective elimination of custom code modules can be realized, hierarchical clustering of the code modules is realized, search and recommendation of the code modules are realized according to a quality level coefficient, and higher-quality code modules can be provided for users. Process tracking and quality assurance documents are established through an automatic process management subsystem, thereby improving quality assurance of the custom code modules and reducing process management overhead caused by introduction of the low-code development platform.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of low-code platform technology, and more specifically to a low-code integrated development system based on multi-path intelligent recommendation. Background Technology

[0002] Low-code development platforms (LCDPs) are platform software primarily based on graphical interfaces and configuration, which can effectively reduce the amount of traditional code and accelerate the completion time of commercial application software. While LCDPs can effectively shorten program development cycles and reduce development costs in most application scenarios, they still have the following three limitations:

[0003] (1) Existing low-code development platforms are geared towards a specific business scenario. Code reuse is highly dependent on platform pre-definition, meaning that reusable code modules are mainly pre-defined by the platform software designer. User-defined code snippets / modules cannot be shared among platform users. However, the reuse of custom code snippets / modules plays a crucial role in the usability and flexibility of low-code development platforms.

[0004] (2) Low-code development platforms lack effective governance of custom modules and lack methods for reviewing and evaluating code quality during the development process. The effectiveness, usability, code standardization, and version information of custom reusable code snippets are not or rarely effectively controlled. The instability of code quality limits the widespread application of low-code development platforms in different business scenarios.

[0005] (3) Existing low-code development platforms are difficult to effectively manage projects when multiple people are collaboratively developing complex systems. The process management tools provided by the platform are difficult to provide automated full lifecycle control and management solutions when facing complex system development, which leads to higher process management costs when introducing low-code development platforms. Summary of the Invention

[0006] In view of this, the present invention provides a low-code integrated development system based on multi-path intelligent recommendation, which can efficiently and flexibly create and modify code modules, and realize the continuous reuse of code modules.

[0007] The specific technical solution adopted in this invention is as follows:

[0008] A low-code integrated development system based on multi-path intelligent recommendation includes: a low-code development subsystem, a code module repository subsystem, and an automated process management subsystem;

[0009] The low-code development subsystem is used to create and update code modules, and store the code modules in the code module repository subsystem;

[0010] The code module repository subsystem is used to store the code modules, including the quality information, version information, and user permission information of the code modules, and uses a multi-way intelligent recommendation algorithm to retrieve and recommend code modules for the low-code development subsystem.

[0011] The automated process management subsystem is used to automatically orchestrate the development process based on business process information and development organization structure information from the low-code development subsystem, and to generate module-level process tracking and quality assurance documents based on the code development process of the low-code development subsystem.

[0012] Furthermore, the low-code development subsystem includes: a modular process definition unit, a module definition and automated filling unit, a modular code development unit, a code module unit testing unit, and a system packaging and deployment unit;

[0013] The modular process definition unit is used to define the system business process and development organizational structure, and to send the business process information and development organizational structure information to the automated process management subsystem;

[0014] The module definition and automatic filling unit is used to encode and map the code modules, each code module having a unique identification number; and is used to automatically initialize the module interface document and automatically fill test cases according to the interface configuration information.

[0015] The modular code development unit is used to develop and implement the creation and updating of the code modules;

[0016] The code module unit testing unit is used to test the created and updated code module, and generate quality information of the code module based on the test results, which is integrated into the version information of the code module. The testing is performed through pre-configured module interface test cases or automated testing tools.

[0017] The system packaging and deployment unit is used to generate the runtime environment configuration of the code module based on the individual business environment of the code module and the common runtime environment of the code module.

[0018] Furthermore, in the modular code development unit, the code modules are created and updated or rapid system development is performed based on the code modules through visible module migration, multi-way intelligent recommendation of the code module repository subsystem, and manual creation.

[0019] Furthermore, the code module repository subsystem includes: a code repository construction unit and a multi-path intelligent recommendation unit;

[0020] The code repository building unit is used to store the code modules and send the statistical information of the code modules to the multi-channel intelligent recommendation unit. The code modules include code modules pre-built by the platform and code modules created or modified by the user.

[0021] The multi-path intelligent recommendation unit is used to retrieve information based on user needs and combined with the statistical information, retrieve the code module in the code repository construction unit, and provide it to the modular code development unit of the low-code development subsystem for direct use or modification and updating.

[0022] Furthermore, the code repository building unit includes: a code module creation and modification subunit, a code module permission control subunit, and a version tracking control subunit;

[0023] The code module creation and modification subunit is used to store the pre-built code modules and the code modules created or modified by the user;

[0024] The code module permission control subunit is used to control permissions for users of different code modules, wherein the permission control includes at least the following: visible to all users, visible only to the organization, visible only to the project, and visible only to oneself.

[0025] The version tracking and control subunit is used to automatically record the code module configuration information, version change information and quality information for each code module, and to perform domain-based control within permissions for different code modules.

[0026] The permission control information of the code module permission control subunit, as well as the code module configuration information, version change information, and quality information of the version tracking control subunit, constitute the statistical information of the code module.

[0027] Furthermore, the multi-path intelligent recommendation unit retrieves the code module in the code repository construction unit based on the user's demand retrieval information and the statistical information, including:

[0028] Step S1: Construct keyword vectors for each code module and calculate the module vector of the code module;

[0029] Step S2: Select the module vectors of k code modules as the first cluster center, and denote the initial cluster classification level s as 1;

[0030] Step S3: Traverse all code modules except the code module corresponding to the first cluster center, classify the current code module into the cluster where the first cluster center is located with the smallest cosine distance to the current code module vector, and record it as the true center classification result. Take the mean of the s-th keyword vector of all code modules corresponding to the first cluster center as the average value vector of the cluster, take the average value vector as the second cluster center, and reclassify all code modules into the cluster where the second cluster center is located with the smallest cosine distance to the corresponding code module vector, and record it as the estimated center classification result.

[0031] Step S4: Based on the true center classification results and estimated center classification results obtained in Step S3, if the classification of any code module changes, the code module whose classification has changed is taken as the core path set. The mean of the s-th keyword vector corresponding to the module vector of all code modules in the core path set is calculated and added to the second cluster center. For the second cluster center, the module vector of the code module with the smallest cosine distance is found and taken as the new first cluster center. Steps S3 and S4 are repeated until the classification of no code module changes, then the loop ends.

[0032] Step S5: For the m clusters obtained in step S4, if the number of keywords in the module vector of the code module corresponding to the center of the first cluster is equal to the classification level s of the cluster, the s-th keyword of the code module corresponding to the center of the first cluster is taken as the classification path of the code module of the cluster, and the hierarchical division of the cluster ends; if the number of keywords in the module vector of the code module corresponding to the center of the first cluster is less than the classification level s of the cluster, the classification level of the cluster is incremented by one, i.e., s+1, and the module vectors of k code modules are randomly selected as the first cluster center of the sub-clusters of the cluster. Steps S3, S4, and S5 are repeated. When the number of keywords in the module vector of all code modules corresponding to the first cluster centers is equal to the classification level s of the cluster, the loop ends, and the classification path tree of the code module is obtained according to the hierarchical relationship of the cluster.

[0033] Step S6: Calculate the quality level coefficient of each code module based on the statistical information and code usage information, and sort the code modules by quality level within each cluster based on the quality level coefficient.

[0034] Step S7: Retrieve information based on user needs, determine the category path level corresponding to the keywords entered by the user, and use the code module starting from the category path level as the starting recommendation code module.

[0035] Furthermore, step S5 also includes: periodically updating the classification path tree, including updating it based on the statistical information of the code module or updating it based on the new keyword vector of the code module.

[0036] Furthermore, in step S6, the code usage information includes at least: the call / activation frequency of the code module, the description relevance of the code module, the modification call frequency of the code module, and the human scoring evaluation of the code module.

[0037] Furthermore, in step S7, if the keyword input by the user does not have a corresponding classification path level, the keyword is converted into a new word vector, the cosine distance between the new word vector and the keyword vector on the classification path tree is calculated, and the code module corresponding to the keyword vector with the smallest cosine distance is selected as the starting recommendation code module.

[0038] Furthermore, the automated process management subsystem includes: an automated module task decomposition and allocation tracking unit and a module-level management document automated generation unit;

[0039] The automated module task decomposition and allocation tracking unit is used to allocate code modules to be implemented and / or business process diagrams to each developer based on the business process information and development organization structure information of the modular process definition unit of the low-code development subsystem, and to track and record the process management information of each code module during the development process.

[0040] The module-level management document automated generation unit is used to create process tracking and quality assurance documents for each code module in chronological order based on the statistical information, process management information, and test information of the code module.

[0041] Beneficial effects:

[0042] (1) A low-code integrated development system based on multi-path intelligent recommendation stores code modules through a code module repository subsystem, recording the quality, version, and user permission information of the code modules. This reduces the system's dependence on business scenarios and improves its availability and flexibility. The low-code development subsystem enables the creation, modification, and updating of code modules; the multi-path intelligent recommendation algorithm in the code module repository subsystem retrieves recommended code modules for the low-code development subsystem, allowing for selective elimination of custom code modules. An automated process management subsystem establishes process tracking and quality assurance documents to improve the quality assurance of custom code modules.

[0043] (2) The code repository building unit includes a code module permission control subunit. Through different permission controls, the flexibility of system use can be improved. The code repository building unit includes a version tracking control subunit. Based on the code module configuration information, version change information, and quality information, different code modules are subject to domain-specific permission control, that is, control is applied to different user permissions. This enables effective migration and sharing of modules between similar software projects.

[0044] (3) The code module repository subsystem adopts a multi-way intelligent recommendation algorithm, which can realize hierarchical clustering of code modules, classify code modules into different clusters, and further divide different clusters into multiple sub-clusters according to the number of keywords. Based on the quality level coefficient, code modules can be retrieved and recommended, which can provide users with higher quality code modules. It can also avoid providing users with irrelevant available code modules when facing development tasks in complex business scenarios.

[0045] (4) The automated process management subsystem establishes process tracking and quality assurance documents for each code module, which can unify the generation of system configuration documents, process management documents and system development process, achieve low-cost module-level process management tracking and quality assurance, and reduce the process management overhead brought about by the introduction of low-code development platforms. Attached Figure Description

[0046] Figure 1 This is a schematic diagram of the framework of the low-code integrated development system based on multi-path intelligent recommendation of the present invention. Detailed Implementation

[0047] Low-code development platforms are software platforms that facilitate the creation of applications. Instead of using traditional programming methodologies, they provide a development environment where users can write programs through graphical interfaces and configuration. Low-code development platforms may be designed for specific types of applications, such as databases, business processes, and user interfaces (e.g., web applications). While these platforms can produce complete and running applications, some special cases still require writing code. However, low-code development platforms can reduce the amount of traditional code and accelerate the completion time of commercial application software. The biggest advantage of low-code development platforms is that they allow more people to participate in software development, not just those with programming skills, and they can also reduce the initial costs of software development.

[0048] Most existing commercial low-code development platforms use predefined code snippets to provide users with low-code development tools for specific business scenarios. Taking Yinmai Information's JNPF low-code development platform as an example, the platform pre-defines code frameworks for various commonly used controls. Users import predefined code snippets by dragging and dropping controls. In this approach, the scope of reusable code snippets is limited by the technology stack used by the platform. In contrast, this solution adopts a code snippet reuse scheme that relies on users and the community. Users can create their own reusable code snippets (i.e., code modules in this solution) at any time and share them with other platform users. This code reuse scheme makes the reusable code snippets on the platform no longer limited to platform developers or a specific technology stack or business scenario.

[0049] This invention proposes a low-code integrated development system based on multi-path intelligent recommendation, which can provide a high-quality low-code development process for web applications. Specific improvements include:

[0050] To address the limitation (1), a multi-level code repository for custom code modules is constructed, providing a controllable permission sharing method for user code modules, thereby reducing the dependence on business scenarios and improving the availability and flexibility of the platform.

[0051] To address limitation (2), three main improvements are made: first, custom module unit testing is adopted to ensure the completeness of module functions; second, a multi-way intelligent recommendation algorithm is used to select and eliminate low-quality custom code modules; and third, version tracking control technology is adopted to control the version and quality information of custom code modules by domain. These three improvements collectively enhance the quality assurance of custom code modules.

[0052] To address the limitation (3), the platform provides automated generation of module-level management documents and automated module task decomposition and allocation tracking methods throughout the entire lifecycle, which can effectively avoid additional process management overhead.

[0053] Specifically, this invention supports high-quality, low-scenario-dependent continuous low-code development of web applications. It primarily employs multi-level code repository technology to build user code module repositories with different permission domains, enabling effective sharing of user code modules and reducing the dependence of platform-predefined code modules on business scenarios. Combined with custom unit testing, it ensures the completeness of module functionality and generates module quality information. Furthermore, it utilizes multi-path intelligent recommendation algorithms, referencing module quality information, module call information, and human evaluations, to comprehensively evaluate and recommend code module quality. Version tracking control technology binds quality information to module version information, enabling tracking and control across different permission domains to ensure high-quality custom code. In addition, it employs an automatic generation method for full-lifecycle module-level management documents and an automated module task decomposition and allocation tracking method, coupling system configuration document generation and process management document generation with the system development process. This achieves module-level process management tracking and quality assurance without introducing additional overhead.

[0054] The present invention will now be described in detail with reference to the accompanying drawings and embodiments.

[0055] First, the terminology used in the embodiments of this invention will be explained:

[0056] Low-code development platforms: Low-code development platforms (LCDPs) are software platforms that facilitate application development. They provide a development environment that allows users to write programs using a graphical interface and configuration, rather than traditional programming methods. Most low-code development platforms can develop specific applications for several business scenarios, such as databases, business processes, and user interfaces (e.g., web applications). These platforms can produce complete and running applications, but in some special cases, writing code is still necessary. Low-code development platforms can reduce the amount of traditional code and accelerate the completion time of commercial application software. Common advantages include allowing more people to participate in software development, not just those with programming skills; low-code development can also reduce the initial costs of software development.

[0057] Multi-path intelligent recommendation algorithm: This invention proposes a recommendation algorithm based on clustering and traditional recommendation algorithms. The multi-path intelligent recommendation algorithm divides all items to be recommended into different recommendation paths, i.e., different categories. It calculates relevant recommendation paths based on the distance between search terms and the centers of different categories, and then recommends items according to these paths based on quality indicators.

[0058] Code Module: The present invention proposes a combination of elements such as code snippets for implementing a specific function, version information, interface test information, process management information, quality assurance information, visual permission information, and user evaluation information, which can be reused in low-code platforms.

[0059] Figure 1 This is a schematic diagram of the framework of the low-code integrated development system based on multi-path intelligent recommendation of the present invention. Figure 1 (The terms "subsystem" and "unit" are omitted in the text, such as...) Figure 1 As shown, the low-code integrated development system includes: a low-code development subsystem, a code module repository subsystem, and an automated process management subsystem.

[0060] This invention addresses the shortcomings of current low-code development platforms, which are highly dependent on specific business scenarios, and the problem of separation between the development process and quality assurance in the use of low-code development platforms. It proposes a low-code integrated development platform based on multi-path intelligent recommendation.

[0061] The low-code development subsystem is the core of the low-code development platform, encompassing the entire process of modular process definition, module definition and automated population, modular code development, code module unit testing, and system packaging and deployment. The code module repository subsystem is a key module for enabling continuous development with low-scenario dependencies. It couples code module quality and version information, constructs views across different permission domains, and ensures the visibility and consistency of code modules for authorized users. The automated process management subsystem automates process management orchestration and aligns quality and development processes to guarantee consistency between them.

[0062] During system platform operation, the code snippets created and updated at each stage of the low-code development module form the foundation of the code module repository. Based on this, the code module repository controls and utilizes the quality and version information of the code modules, and provides assistance to modular code development through multi-path intelligent recommendation algorithms. The automated process management module, as an auxiliary unit, uses a series of system business process information and development organizational structure information generated by the modular process definition to automatically orchestrate the development process, track the entire lifecycle of low-code development, and achieve the automatic generation of module-level management documents.

[0063] The following is a description of each subsystem:

[0064] 1. Low-code development subsystem, used to create and update code modules, and store code modules in the code module repository subsystem;

[0065] In one specific embodiment, the low-code development subsystem includes: a modular process definition unit, a module definition and automated filling unit, a modular code development unit, a code module unit testing unit, and a system packaging and deployment unit;

[0066] (1.1) Modular process definition unit, used to define system business processes and development organizational structure, and send business process information and development organizational structure information to automated process management subsystem;

[0067] In actual implementation, the modular process definition consists of two sub-processes: system business process definition and development organizational structure definition.

[0068] System business process definition:

[0069] When developing low-code applications, the first step is for system designers to define the business processes of the entire system hierarchically. In this invention, the system business processes are divided into four levels from top to bottom: system-level, component-level, file-level, and module-level. Each level of system business process diagram consists of one or more sub-level system business process diagrams. System designers can define the processing flow and nesting relationships of each level of business process diagram in the front-end interface of the development platform by dragging and dropping. The system-level business process diagram consists of one or more component-level business process diagrams, defining the scope of the system's business; the component-level business process diagram consists of one or more file-level business process diagrams, defining the communication methods and processing logic between different functional components; the file-level business process diagram consists of one or more module-level flowcharts, defining the context environment in which the module runs; for module-level flowcharts, they are implemented by one or more code modules. For all four levels of flowcharts, interface configuration options are provided for each flowchart, including but not limited to interface parameter configuration, interface test configuration, and interface quality management configuration. Each flowchart automatically verifies the interface configuration of the context interface when completing a connection operation.

[0070] Development organizational structure definition:

[0071] After defining the business process diagram, define the development organization structure of the system. The development organization structure consists of two parts: the development process definition and the development member definition.

[0072] For the definition of the system development process, the platform will calculate the business process dependency graph based on the dependency relationship of the module-level system business process graph, and perform topological sorting. The module-level system business process graph will be decomposed into several parallel linear workflows. By proportionally dividing the number of modules in the workflow, the system development process will be automatically divided into several development stages. Each module-level system business process will be assigned its own development stage. System development personnel can configure the development cycle required for different development stages on the platform.

[0073] Regarding the definition of development members, system development team members can authorize project development permissions and project code module repository view permissions to registered users on this platform through invitation or other means. In addition, different permission domains can be configured for the system business process diagram, thereby enabling system developers of different levels and functions to have different views of the system business process diagram.

[0074] (1.2) Module definition and automatic filling unit, used to encode and map code modules, each code module has a unique identification number; and used to automatically initialize module interface documents according to interface configuration information, and automatically fill test cases;

[0075] In actual implementation, module definition and automated population are as follows: After system designers and system development team members complete the modular process definition, this platform, after verifying that all configurations are correct, uniformly encodes and maps all modules, generating unique IDs within the project space. Simultaneously, the platform automatically initializes the module interface documentation based on the interface configuration information. Subsequent developers can supplement the module's interface descriptions and test cases. During subsequent development, for modules that have not yet been implemented, pre-configured test cases can be directly selected as input / output placeholders, and the platform automatically generates corresponding placeholder code, without affecting the testing and development of other modules.

[0076] (1.3) Modular code development unit, used for the creation and updating of code modules;

[0077] In one specific embodiment, in the modular code development unit, code modules are created and updated through visible module migration, multi-way intelligent recommendation of the code module repository subsystem, and manual creation, or rapid system development is carried out based on the code modules.

[0078] In actual implementation, after completing module definition and automated population, the modular code development phase begins. Developers only need to implement the defined but not yet implemented module flowcharts visible to them within their own account permissions. There are three implementation methods: module migration within the visible project space, multi-way intelligent recommendation from the public code module repository, and manual code implementation. Module migration within the visible project space refers to developers using code modules from the project space jointly authorized by their account and the project, including the project space of the project itself and existing projects within the organization. The platform provides corresponding cross-project space search tools. Multi-way intelligent recommendation from the public code repository allows developers to pull open-source code modules from the code module repository. When implementing modules, they can input the module name or functional description for suggested recommendations and then import them into the current project. Manual code implementation allows developers to manually write code to implement the code modules in the module-level flowchart. All code module implementations obtained through these three methods can be manually modified and saved. Modified code modules are saved to the current project space for reuse in subsequent development.

[0079] (1.4) Code module unit testing unit, used to test the created and updated code modules, and generate quality information of the code module based on the test results and integrate it into the version information of the code module. The testing is carried out through pre-configured module interface test cases or automated testing tools.

[0080] In practical implementation, code module unit testing: For already implemented code modules, this platform provides code module unit testing functionality. Code module unit testing supports two automated testing schemes: By default, the platform uses pre-configured module interface test cases to test the code module; simultaneously, the platform supports integration with open-source automated testing tools, such as AutoRunner and AutoTSST, for testing. The test results generated by both schemes are converted into a unified format and integrated into the current version of the code module as part of the code module quality information along with version tracking and control information.

[0081] (1.5) System packaging and deployment unit, used to generate the runtime environment configuration of the code module based on the individual business environment of the code module and the common runtime environment of the code module.

[0082] In actual implementation, the system is packaged and deployed: After the modular development of the entire system is completed, the system is packaged and deployed. By configuring common runtime environment dependencies on the platform and automatically calculating the dependency set of each code module, the system runtime environment configuration is exported. System developers can modify this configuration on the platform, and then the platform automatically orchestrates different Docker packages according to the project configuration for subsequent system deployment.

[0083] II. Code Module Repository Subsystem: This subsystem stores code modules, including their quality and version information, as well as user permission information. It also employs a multi-path intelligent recommendation algorithm to retrieve and recommend code modules for the low-code development subsystem.

[0084] In one specific embodiment, the code module repository subsystem includes: a code repository building unit and a multi-path intelligent recommendation unit;

[0085] (2.1) Code repository building unit, used to store code modules and send the statistical information of the code modules to the multi-way intelligent recommendation unit, wherein the code modules include pre-built code modules and user-created or modified code modules;

[0086] In one specific embodiment, the code repository building unit includes: a code module creation and modification subunit, a code module permission control subunit, and a version tracking control subunit; the code module creation and modification subunit is used to store pre-built code modules and code modules created or modified by users; the code module permission control subunit is used to control the permissions of users for different code modules, wherein the permission control includes at least all user visibility, organization visibility only, project visibility only, and self visibility only; the version tracking control subunit is used to automatically record code module configuration information, version change information, and quality information for each code module, and to perform domain-based permission control for different code modules; the permission control information of the code module permission control subunit and the code module configuration information, version change information, and quality information of the version tracking control subunit constitute the statistical information of the code module.

[0087] In practice, code repository construction is achieved through three parts: code module creation and modification, code module permission control, and version tracking control. This provides the platform with usable, flexible, and high-quality code modules, thereby freeing the platform from its dependence on business scenarios.

[0088] Creating and modifying code modules:

[0089] The code module repository stores a subset of pre-built, generic code modules for the platform, containing commonly used functions. These modules are modularized by constructing corresponding module descriptions and extracting parameter settings as module configurations. These pre-built code modules are stored in the open-source core library, visible to all platform users, and their versions are maintained by the platform developers. The code module repository also stores all code modules created or modified by platform users. Platform users can save their code snippets as code modules. This combination of platform pre-built and user-created modules satisfies the need for generic code snippets while providing flexible customization methods, thereby improving the flexibility and usability of the code modules.

[0090] Code module access control:

[0091] For code module libraries, different units, development teams, development groups, and development members can have code module libraries with different visibility levels. The owner of a code module library can choose to pull code modules from other sources or share code modules to other code module libraries, thereby realizing the sharing and reuse of user-defined modules and access control.

[0092] For code modules created by platform users, their visibility permissions are jointly determined by the creator and the project space where they were created, taking the smaller of the two. Based on this, code modules can be divided into different types such as open source (visible to all users), visible only to the organization, visible only to the project, and private (visible only to the creator).

[0093] Based on access control of code modules and code module libraries, effective migration and sharing of modules between similar software projects can be achieved. When facing development tasks in complex business scenarios, platform users can be provided with platform-independent available code modules, thereby reducing the platform's dependence on business scenarios.

[0094] Version tracking and control:

[0095] Modifications made to code modules by their creators are automatically recorded by the platform. Version tracking and control technology is used to bind code module configuration information, version change information, and quality information. Projects that directly reference the code module can choose to pull the update. All users of the code module can provide visible evaluations and bug reports, thereby achieving domain-specific control of version and quality information for custom code modules and improving the quality of reusable code snippets.

[0096] For open-source code modules in code module repositories, this invention also designs a multi-path intelligent recommendation algorithm to help developers quickly retrieve target code modules. The multi-path intelligent recommendation algorithm combines statistical information from multiple sources on code modules to construct a high-quality open-source code recommendation system. It clusters open-source code modules based on the similarity of their keyword descriptions, and then calculates a quality level coefficient for each open-source code module by referring to module quality information obtained from various sources, such as the call / activation frequency, description relevance, modification and call frequency, quality information, and human scoring and evaluation. This coefficient serves as the basis for recommendation ranking within relevant categories. When a user searches a public code module repository, intelligent association matching is performed based on the module name or functional description keywords entered by the user, providing multi-path intelligent recommendations for high-quality code modules.

[0097] (2.2) Multi-path intelligent recommendation unit, which is used to retrieve information based on user needs and statistical information, retrieve code modules in the code repository building unit, and provide them to the modular code development unit of the low-code development subsystem for direct use or modification and update.

[0098] In practice, the multi-path intelligent recommendation algorithm provides high-quality code module recommendation services to platform users based on the construction of code module repositories.

[0099] In one specific embodiment, the multi-path intelligent recommendation unit retrieves code modules from the code repository building unit based on user demand retrieval information and statistical information, including:

[0100] Step S1: Construct keyword vectors for each code module and calculate the module vector of the code module;

[0101] Step S2: Select the module vectors of k code modules as the first cluster center, and denote the initial cluster classification level s as 1;

[0102] Step S3: Traverse all code modules except the code module corresponding to the first cluster center, classify the current code module into the cluster where the first cluster center is located with the smallest cosine distance to the current code module vector, and record it as the true center classification result. Take the mean of the s-th keyword vector of all code modules corresponding to the first cluster center as the average value vector of the cluster, take the average value vector as the second cluster center, and reclassify all code modules into the cluster where the second cluster center is located with the smallest cosine distance to the corresponding code module vector, and record it as the estimated center classification result.

[0103] Step S4: Based on the true center classification results and estimated center classification results obtained in Step S3, if the classification of any code module changes, the code module whose classification has changed is taken as the core path set. The mean of the s-th keyword vector corresponding to the module vector of all code modules in the core path set is calculated and added to the second cluster center. For the second cluster center, the module vector of the code module with the smallest cosine distance is found and taken as the new first cluster center. Steps S3 and S4 are repeated until the classification of no code module changes, then the loop ends.

[0104] Step S5: For the m clusters obtained in step S4, if the number of keywords in the module vector of the code module corresponding to the first cluster center is equal to the classification level s of the cluster, the s-th keyword of the code module corresponding to the first cluster center at this time is taken as the classification path of the code module of the cluster, and the hierarchical division of the cluster ends; if the number of keywords in the module vector of the code module corresponding to the first cluster center is less than the classification level s of the cluster, the classification level of the cluster is incremented by one, i.e., s+1, and the module vectors of k code modules are randomly selected as the first cluster center of the sub-clusters of the cluster. Steps S3, S4, and S5 are repeated. When the number of keywords in the module vector of all code modules corresponding to the first cluster center is equal to the classification level s of the cluster, the loop ends, and the classification path tree of the code module is obtained according to the hierarchical relationship of the cluster.

[0105] In one specific embodiment, step S5 further includes: periodically updating the classification path tree, including updating it based on statistical information from the code module or updating it based on new keyword vectors from the code module.

[0106] Step S6: Calculate the quality level coefficient of each code module based on the statistical information and code usage information, and sort the code modules by quality level within each cluster based on the quality level coefficient.

[0107] In one specific embodiment, in step S6, the code usage information includes at least: the call / activation frequency of the code module, the description relevance of the code module, the modification call frequency of the code module, and the human scoring evaluation of the code module.

[0108] Step S7: Retrieve information based on user needs, determine the category path level corresponding to the keywords entered by the user, and use the code module starting from the category path level as the starting recommendation code module.

[0109] In one specific embodiment, step S7 further includes: if the keyword input by the user does not have a corresponding classification path level, then the keyword is converted into a new word vector, the cosine distance between the new word vector and the keyword vector on the classification path tree is calculated, and the code module corresponding to the keyword vector with the smallest cosine distance is selected as the starting recommendation code module.

[0110] 3. The automated process management subsystem is used to automatically orchestrate the development process based on business process information and development organization structure information from the low-code development subsystem, and generate module-level process tracking and quality assurance documents based on the code development process of the low-code development subsystem.

[0111] In actual implementation, the automated process management subsystem consists of two parts: an automated module task decomposition, allocation and tracking method, and automated generation of module-level management documents throughout the entire lifecycle. This ensures that the generation of system configuration documents and process management documents is consistent with the system development process, achieving low-cost module-level process management tracking and quality assurance, and reducing the process management overhead brought about by the introduction of low-code development platforms.

[0112] In one specific embodiment, the automated process management subsystem includes: an automated module task decomposition and allocation tracking module unit and a module-level management document automated generation unit;

[0113] (3.1) An automated module task decomposition and allocation tracking unit is used to allocate code modules to be implemented and / or business process diagrams to each developer based on the business process information and development organization structure information of the modular process definition unit of the low-code development subsystem, and to track and record the process management information of each code module during the development process;

[0114] In actual implementation, the method for task breakdown, allocation, and tracking of automated modules is as follows:

[0115] For the development process and developers defined in the modular process definition, as well as the system business process diagram, the platform automatically assigns a corresponding module to be implemented or business process diagram to each developer. In the subsequent development process, the platform will track the development and audit information of each module, forming a process management information record that follows the module version information, providing an effective process management approach for multi-person collaborative development scenarios of complex systems.

[0116] (3.2) Module-level management document automated generation unit, used to create process tracking and quality assurance documents for each code module in chronological order based on the statistical information, process management information and test information of the code module.

[0117] In actual implementation, module-level management documents are automatically generated: In this invention, the above-mentioned code module construction method, automated module task decomposition, allocation and tracking method, and code module unit testing scheme jointly determine the process management information and quality information generated by version iteration during the development process. The platform arranges this information in chronological order and exports it in a formatted manner to form module-level process tracking and quality assurance documents throughout the entire software development cycle, reducing the process management overhead of introducing a low-code development platform.

[0118] To enable those skilled in the art to better understand the technical solution of the present invention, the technical solution of the present invention will be described below in conjunction with specific scenario embodiments.

[0119] Scenario Examples

[0120] In this scenario, the first embodiment mainly focuses on the multi-path intelligent recommendation algorithm combined with specific formula calculations.

[0121] The multi-path intelligent recommendation algorithm includes the following steps:

[0122] Step 1: Construct keyword vectors.

[0123] Before building a multi-path intelligent recommendation algorithm, it is necessary to first vectorize the keywords in the code modules.

[0124] Here, word embedding methods (such as word2vec) are used for vectorization. First, each word w in the set W containing o keywords is vectorized. i Convert to the corresponding o-dimensional one-hot vector Then, the one-hot vector is used as input to train the word2vec model. After passing through the word2vec model, the corresponding p-dimensional word vector v can be obtained. i Where o and p are both positive integers.

[0125] Step 2: Calculate the code module vector.

[0126] In this scheme, each code module is defined by a keyword. i The code module vectors are described as i = 1..k. When calculating the code module vectors, it is necessary to comprehensively consider the influence levels of multiple keywords on the code module classification. Therefore, the j-th code module vector... The calculation formula is as follows:

[0127]

[0128] Where σ is the keyword weight coefficient matrix, σ i For the i-th keyword key i Weighting coefficients; v j It is the set of all keyword vectors corresponding to the j-th code module; It is the i-th keyword vector corresponding to the j-th code module.

[0129] Step 3: Perform hierarchical clustering of code modules based on code module vectors.

[0130] After step two, each code module is calculated as a p-dimensional vector based on its keywords. Next, multi-way clustering is performed on the code module vectors. The multi-way clustering algorithm is an improved k-means algorithm. First, k code module vectors are selected as cluster centers, and then all code module vectors are traversed. And calculate its cosine distance d from the center of each cluster. k The calculation formula is as follows:

[0131]

[0132] Let represent the module vector (i.e., the code module vector) of the k-th code module. The cluster corresponding to the cluster center with the smallest cosine distance is selected as the true classification result. After updating the classification of all code module vectors, the s-th keyword vector corresponding to all code modules in the m-th cluster (m = 1, 2, ..., k) is calculated sequentially. average (where s is the current cluster level, initially set to 1), let _____ Using the second cluster center as the reference point, recalculate the cosine distance from all code module vectors to each vector within the second cluster center. Select the cluster center with the smallest cosine distance as the estimated classification result. Compare the actual classification result with the estimated classification result. Use all code module vectors whose classification has changed as the core path set, and calculate the mean of the s-th keyword vector corresponding to all code module vectors in the core path set. And join the center of the second cluster, which will be located at the center of the second cluster. The k+1 code module vectors with the smallest cosine distance among all vectors are taken as the new first cluster centers. The above process is repeated until the categories of all code module vectors in each cluster remain unchanged. The first keyword corresponding to the code module vectors of the l cluster centers obtained at this time is taken as the classification path of that cluster.

[0133] Then, the resulting l clusters are used as inputs to a multi-path clustering algorithm. Hierarchical clustering is performed on the l clusters, and the s-th keyword corresponding to the central code module vector of each sub-cluster is recorded as the classification path. This process is repeated until the current sub-cluster level s is equal to the number of keywords in the central module vector of the sub-cluster, at which point the hierarchical clustering of that sub-cluster ends.

[0134] Step 4: Maintain the classification path tree.

[0135] Record the classification paths solved by the multi-path clustering algorithm in step three, and construct a classification path tree based on the hierarchical relationship between clusters. Periodically recalculate steps one, two, and three to maintain the classification path tree. Each node in the classification path tree records the basic information of the code module in the corresponding cluster and the cluster's classification path (i.e., classification keywords).

[0136] Step 5: Intra-class quality sorting.

[0137] To provide high-quality code module recommendations, it is necessary to measure the quality information of code modules. The quality ranking of code modules takes into account module quality information obtained from multiple sources, such as the call / activation frequency of each code module, description relevance, modification call frequency, quality information, and human scoring evaluations. The quality level coefficient of each open-source code module is calculated using the following formula:

[0138]

[0139] Where α k It is the weight coefficient of the k-th quality information, normalize(info) k ) is the normalized result of the quality information of the k-th code module. After obtaining the quality level coefficient of the code module, the quality level of each code module in the cluster is sorted in descending order according to the cluster information recorded by each node in the classification path tree.

[0140] Step Six: Intelligent Keyword Association Recommendation.

[0141] Keyword association intelligent recommendation is the final step in the multi-path intelligent recommendation algorithm, which occurs when the user searches the code module.

[0142] When a user searches for a module name, the target code module is found in the code repository using a direct search method. When a user searches for a keyword, the multi-path intelligent recommendation algorithm searches the classification path tree from top to bottom. If the currently input keyword appears on the classification path, the corresponding node is taken as the starting recommendation node. If the keyword does not exist on the classification path, step four recalculates the word vector corresponding to the keyword, calculates the cosine similarity with the word vectors corresponding to all keywords on the classification path, and selects the node with the smallest cosine distance as the starting recommendation node.

[0143] After obtaining the initial recommendation node, if the user continues to enter keywords, the process will repeat the steps described above to find a new initial recommendation node in the subtree rooted at the initial recommendation node. Otherwise, based on the intra-class quality ranking results in step five, the top n nodes will be selected from the cluster corresponding to the initial recommendation node as the recommendation results to be displayed to the user.

[0144] In summary, this invention provides a low-code integrated development system based on multi-path intelligent recommendation, addressing the shortcomings of current low-code development platforms that are highly dependent on specific business scenarios, as well as the problem of separation between the development and quality processes in the use of low-code development platforms. It achieves high-quality, continuous reuse of user code snippets. Compared with other solutions, this invention has less dependence on the scale and quality of code snippets created by platform maintainers. The writing and maintenance of reusable code is mainly completed by platform users. As the scale of platform users and usage time increase, the reuse rate and quality level of code snippets will both increase, making it suitable for development organizations to conduct similar business development on this platform for a long time. Other low-code development platforms have strong domain dependencies, with the cost of writing and maintaining reusable code borne by the platform creator. The reuse rate and quality level are related to the coding skills of the platform creator, making them suitable for teams and individuals pursuing fast, low-cost, and low-customization development.

[0145] The specific embodiments described above only illustrate the design principles of the present invention. The shapes and names of the components in this description may differ and are not limited. Therefore, those skilled in the art can modify or make equivalent substitutions to the technical solutions described in the foregoing embodiments; and these modifications and substitutions do not depart from the inventive spirit and technical solutions of the present invention, and should all fall within the protection scope of the present invention.

Claims

1. A low-code integrated development system based on multi-path intelligent recommendation, characterized in that, include: Low-code development subsystem, code module repository subsystem, and automated process management subsystem; The low-code development subsystem is used to create and update code modules, and store the code modules in the code module repository subsystem; The code module repository subsystem is used to store the code modules, including the quality information, version information, and user permission information of the code modules, and uses a multi-way intelligent recommendation algorithm to retrieve and recommend code modules for the low-code development subsystem. The code module repository subsystem includes a code repository construction unit and a multi-channel intelligent recommendation unit. The code repository construction unit stores the code modules and sends statistical information about the code modules to the multi-channel intelligent recommendation unit. The code modules include pre-built code modules from the platform and user-created or modified code modules. The multi-channel intelligent recommendation unit retrieves the code modules from the code repository construction unit based on user needs and statistical information, providing them to the modular code development unit of the low-code development subsystem for direct use or modification / updating. The statistical information includes access control information, code module configuration information, version change information, and quality information. The automated process management subsystem is used to automatically orchestrate the development process based on business process information and development organization structure information from the low-code development subsystem, and to generate module-level process tracking and quality assurance documents based on the code development process of the low-code development subsystem. The multi-path intelligent recommendation unit retrieves information based on user needs and combines it with the statistical information. Retrieving the code module from the code repository building unit includes: Step S1: Construct keyword vectors for each code module and calculate the module vector of the code module; Step S2: Select the module vectors of k code modules as the first cluster center, and denote the initial cluster classification level s as 1; Step S3: Traverse all code modules except the code module corresponding to the first cluster center, classify the current code module into the cluster where the first cluster center is located with the smallest cosine distance to the current code module vector, and record it as the true center classification result. Take the mean of the s-th keyword vector of all code modules corresponding to the first cluster center as the average value vector of the cluster, take the average value vector as the second cluster center, and reclassify all code modules into the cluster where the second cluster center is located with the smallest cosine distance to the corresponding code module vector, and record it as the estimated center classification result. Step S4: Based on the true center classification results and estimated center classification results obtained in Step S3, if the classification of any code module changes, the code module whose classification has changed is taken as the core path set. The mean of the s-th keyword vector corresponding to the module vector of all code modules in the core path set is calculated and added to the second cluster center. For the second cluster center, the module vector of the code module with the smallest cosine distance is found and taken as the new first cluster center. Steps S3 and S4 are repeated until the classification of no code module changes, then the loop ends. Step S5: For the m clusters obtained in step S4, if the number of keywords in the module vector of the code module corresponding to the center of the first cluster is equal to the classification level s of the cluster, the s-th keyword of the code module corresponding to the center of the first cluster is taken as the classification path of the code module of the cluster, and the hierarchical division of the cluster ends; if the number of keywords in the module vector of the code module corresponding to the center of the first cluster is less than the classification level s of the cluster, the classification level of the cluster is incremented by one, i.e., s+1, and the module vectors of k code modules are randomly selected as the first cluster center of the sub-clusters of the cluster. Steps S3, S4, and S5 are repeated. When the number of keywords in the module vector of all code modules corresponding to the first cluster centers is equal to the classification level s of the cluster, the loop ends, and the classification path tree of the code module is obtained according to the hierarchical relationship of the cluster. Step S6: Calculate the quality level coefficient of each code module based on the statistical information and code usage information, and sort the code modules by quality level within each cluster based on the quality level coefficient. Step S7: Retrieve information based on user needs, determine the category path level corresponding to the keywords entered by the user, and use the code module starting from the category path level as the starting recommendation code module.

2. The low-code integrated development system as described in claim 1, characterized in that, The low-code development subsystem includes: a modular process definition unit, a module definition and automated filling unit, a modular code development unit, a code module unit testing unit, and a system packaging and deployment unit; The modular process definition unit is used to define the system business process and development organizational structure, and to send the business process information and development organizational structure information to the automated process management subsystem; The module definition and automatic filling unit is used to encode and map the code modules, each code module having a unique identification number; and is used to automatically initialize the module interface document and automatically fill test cases according to the interface configuration information. The modular code development unit is used to develop and implement the creation and updating of the code modules; The code module unit test unit is used to test the created and updated code module, and generate quality information of the code module based on the test results, which is integrated into the version information of the code module. The test is performed through pre-configured module interface test cases or automated testing tools. The system packaging and deployment unit is used to generate the runtime environment configuration of the code module based on the individual business environment of the code module and the common runtime environment of the code module.

3. The low-code integrated development system as described in claim 2, characterized in that, In the modular code development unit, the code modules are created and updated or rapidly developed based on the code modules through visible module migration, multi-way intelligent recommendation of the code module repository subsystem, and manual creation.

4. The low-code integrated development system as described in claim 1, characterized in that, The code repository building unit includes: a code module creation and modification subunit, a code module permission control subunit, and a version tracking control subunit; The code module creation and modification subunit is used to store the pre-built code modules and the code modules created or modified by the user; The code module permission control subunit is used to control permissions for users of different code modules, wherein the permission control includes at least the following: visible to all users, visible only to the organization, visible only to the project, and visible only to oneself. The version tracking and control subunit is used to automatically record the code module configuration information, version change information and quality information for each code module, and to perform domain-based control within permissions for different code modules. The permission control information of the code module permission control subunit, as well as the code module configuration information, version change information, and quality information of the version tracking control subunit, constitute the statistical information of the code module.

5. The low-code integrated development system as described in claim 4, characterized in that, Step S5 further includes: periodically updating the classification path tree, including updating it based on the statistical information of the code module or updating it based on the new keyword vector of the code module.

6. The low-code integrated development system as described in claim 4, characterized in that, In step S6, the code usage information includes at least: the call / activation frequency of the code module, the description relevance of the code module, the modification call frequency of the code module, and the human scoring and evaluation of the code module.

7. The low-code integrated development system as described in claim 4, characterized in that, Step S7 further includes: if the keyword input by the user does not have a corresponding classification path level, then the keyword is converted into a new word vector, the cosine distance between the new word vector and the keyword vector on the classification path tree is calculated, and the code module corresponding to the keyword vector with the smallest cosine distance is selected as the starting recommendation code module.

8. The low-code integrated development system as described in claim 1, characterized in that, The automated process management subsystem includes: an automated module task breakdown and allocation tracking unit and a module-level management document automated generation unit; The automated module task decomposition and allocation tracking unit is used to allocate code modules to be implemented and / or business process diagrams to each developer based on the business process information and development organization structure information of the modular process definition unit of the low-code development subsystem, and to track and record the process management information of each code module during the development process. The module-level management document automated generation unit is used to create process tracking and quality assurance documents for each code module in chronological order based on the statistical information, process management information, and test information of the code module.

Citation Information

Patent Citations

  • Code search recommendation device and method based on open source knowledge

    CN112051986A

  • Visual platform expansion method based on operation of integrated management center service

    CN112527373A