Low-code development platform, method and equipment based on independent deployment architecture

By adopting independent deployment architecture and microservice design in low-code development platforms, the existing platform's low efficiency and poor flexibility are solved, efficient application delivery and operation and maintenance are achieved, and system stability and response speed are improved.

CN119759372AActive Publication Date: 2025-04-04SHANDONG INSPUR SCI RES INST CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202510265875.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-07
Publication Date
2025-04-04
Estimated Expiration
2045-03-07

AI Technical Summary

Technical Problem

The existing low-code development platform has problems of low efficiency, flexibility and poor reliability during the development process.

Method used

It adopts a low-code development platform based on an independent deployment architecture. Through the gateway service module, form design module, database design module, process engine module and message center module, it adopts the C/S architecture design to split the low-code into responsive microservices, and supports multi-replica deployment and asynchronous thread pool processing.

Benefits of technology

It realizes the separation and loose coupling of front-end operations, improves the delivery efficiency and operation and maintenance flexibility of applications, optimizes resource utilization, and improves the response speed and stability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119759372A_ABST
    Figure CN119759372A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of software development, and discloses a low-code development platform, method and equipment based on an independent deployment architecture, the platform comprises a plurality of modules, a C / S architecture design is adopted, and low codes are split into responding micro-services; starting an independent running state service for each application; performing multi-copy deployment on the same application on a plurality of hosts or a K8S namespace; when multiple copies are deployed, different applications are isolated, the applications and other services are interacted, and each application can mutually call with other micro-services during running; when calling among different services is involved, the RESTful API is used for data exchange; and processing the task based on an asynchronous thread pool by adopting an asynchronous calling mode. Through the scheme provided by the invention, the efficient application independent deployment architecture of a low-code platform can be realized, the requirement of a customer on flexible and efficient deployment and use is met, and the development efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of software development technology, for example, to a low-code development platform, method, and device based on an independent deployment architecture. Background Art

[0002] With the rapid development and widespread use of low-code platforms, in addition to meeting basic functions, customers have further requirements for the flexibility, scalability and performance of the platforms.

[0003] The independent deployment function has been introduced into the platform of the existing solution, which supports the independent deployment of running applications and improves the application delivery efficiency and operation and maintenance flexibility.

[0004] However, in the process of development based on the existing development platform, there are still problems of low efficiency, poor flexibility and reliability.

[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of this application. Summary of the invention

[0006] In order to provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. The summary is not an extensive review, nor is it intended to identify key / critical elements or delineate the scope of protection of these embodiments, but rather serves as a prelude to the detailed description that follows.

[0007] The disclosed embodiment provides a low-code development platform based on an independent deployment architecture, the platform including a gateway service module, a form design module, a database design module, a process engine module and a message center module; Based on the gateway service module, form design module, database design module, process engine module and message center module, the C / S architecture design is adopted to split the low code into responsive microservices; Decouple the design state and the running state into independent microservices, complete the development and design of the applications to be released in the design state, and start independent running state services for each application; Deploy multiple copies of the same application on multiple hosts or K8S namespaces to support horizontal expansion and elastic scaling; When deploying multiple copies, a circular mechanism is used in the same Nacos space. Different applications are isolated from each other, and the applications interact with other services. Each application will call other microservices during runtime. When it comes to calls between different services, use RESTful API for data exchange; Using asynchronous calling method, tasks are processed based on asynchronous thread pool.

[0008] In some embodiments, when there are multiple different application services in the same operating environment and the service process needs to call an application request, the corresponding application process is called based on the application ID of the application or other unique identification fields in the database.

[0009] In some embodiments, the above-mentioned asynchronous calling method is used to process tasks based on an asynchronous thread pool, including: In the thread pool, each request is modified using the Decorator mode, and the attribute information in the request corresponding to each thread is stored and recorded. When the thread information is returned, the attribute information in the stored request is returned together.

[0010] In some embodiments, the above development platform supports relational databases and NoSQL databases in terms of data storage, uses Nacos as a dynamic service discovery, configuration management and service management tool, and uses the load balancer Nginx to distribute requests.

[0011] The disclosed embodiment provides a low-code development method based on an independent deployment architecture, which is applied to a development platform including a gateway service module, a form design module, a database design module, a process engine module, and a message center module; Based on the gateway service module, form design module, database design module, process engine module and message center module, the C / S architecture design is adopted to split the low code into responsive microservices; Decouple the design state and the running state into independent microservices, complete the development and design of the applications to be released in the design state, and then start independent running state services for each application; Deploy multiple copies of the same application on multiple hosts or K8S namespaces to support horizontal expansion and elastic scaling; When deploying multiple copies, a circular mechanism is used in the same Nacos space. Different applications are isolated from each other, and the applications interact with other services. Each application will call other microservices during runtime. When it comes to calls between different services, use RESTful API for data exchange; Using asynchronous calling method, tasks are processed based on asynchronous thread pool.

[0012] In some embodiments, when there are multiple different application services in the same operating environment and some service processes need to call application requests, the corresponding application processes are called based on the application ID of the application or other unique identification fields in the database.

[0013] In some embodiments, the above-mentioned asynchronous calling method is used to process tasks based on an asynchronous thread pool, including: In the thread pool, each request is modified using the Decorator mode, and the attribute information in the request corresponding to each thread is stored and recorded. When the thread information is returned, the attribute information in the stored request is returned together.

[0014] In some embodiments, the above development platform supports relational databases and NoSQL databases in terms of data storage, uses Nacos as a dynamic service discovery, configuration management and service management tool, and uses the load balancer Nginx to distribute requests.

[0015] An embodiment of the present disclosure provides an electronic device, the device comprising at least one processor; and a memory communicatively coupled to the at least one processor; The memory stores instructions that can be executed by at least one processor, and the instructions are executed by at least one processor to enable the at least one processor to execute the above-mentioned low-code development method based on the independent deployment architecture.

[0016] An embodiment of the present disclosure provides a storage medium storing program instructions, which, when run, execute the above-mentioned low-code development method based on an independent deployment architecture.

[0017] The low-code development platform, method, device, and storage medium based on the independent deployment architecture provided by the embodiments of the present disclosure can achieve the following technical effects: The low-code platform disclosed in this disclosure realizes the separation of front-end and back-end and loosely coupled operation by supporting the microservice architecture system, ensuring the efficient development and deployment of applications. At the same time, the platform introduces an independent deployment function to support the independent deployment of running applications, further improving the delivery efficiency and operation and maintenance flexibility of applications. In addition, in order to support higher performance, the platform disclosed in this disclosure innovatively supports multi-lane grayscale calls, and processes request services in different lanes through asynchronous thread pools, which optimizes resource utilization and improves the response speed and stability of the system. These technical features have jointly promoted the widespread application of low-code development platforms in the digital transformation of enterprises, providing users with an efficient, flexible and reliable development environment.

[0018] The above general description and the following description are exemplary and explanatory only and are not intended to limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] One or more embodiments are exemplarily described by corresponding drawings, which do not limit the embodiments. Elements with the same reference numerals in the drawings are shown as similar elements, and the drawings do not constitute a scale limitation, and wherein: Figure 1 It is a structural diagram of a low-code development platform based on an independent deployment architecture provided by an embodiment of the present disclosure; Figure 2 It is a schematic diagram of independent deployment function of a low-code platform supporting multi-lane grayscale calling provided by an embodiment of the present disclosure; Figure 3 It is a scheduling diagram between different low-code services provided by an embodiment of the present disclosure; Figure 4 It is a schematic diagram of an asynchronous thread pool supporting multi-lane grayscale calling provided by an embodiment of the present disclosure; Figure 5 It is a flowchart of a low-code development method based on an independent deployment architecture provided by an embodiment of the present disclosure; Figure 6 It is a structural diagram of a low-code development device based on an independent deployment architecture provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0020] In order to be able to understand the features and technical contents of the embodiments of the present disclosure in more detail, the implementation of the embodiments of the present disclosure is described in detail below in conjunction with the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present disclosure. In the following technical description, for the convenience of explanation, a full understanding of the disclosed embodiments is provided through multiple details. However, one or more embodiments can still be implemented without these details. In other cases, to simplify the drawings, well-known structures and devices can be simplified for display.

[0021] The terms "first", "second", etc. in the embodiments of the present disclosure are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged where appropriate, so as to describe the embodiments of the present disclosure described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions.

[0022] Unless otherwise stated, the term "plurality" means two or more.

[0023] In the embodiment of the present disclosure, the character " / " indicates that the preceding and following objects are in an "or" relationship. For example, A / B indicates: A or B.

[0024] The term "and / or" is a description of the association relationship between objects, indicating that three relationships can exist. For example, A and / or B means: A or B, or, A and B.

[0025] The term "correspondence" may refer to an association relationship or a binding relationship. The correspondence between A and B means that there is an association relationship or a binding relationship between A and B.

[0026] In order to solve the above problems, the present disclosure provides a low-code development platform, method, device and storage medium based on an independent deployment architecture.

[0027] The following is an explanation of the low-code development platform, method, device and storage medium based on the independent deployment architecture provided by the embodiments of the present disclosure in conjunction with the accompanying drawings.

[0028] Figure 1 It is a structural diagram of a low-code development platform based on an independent deployment architecture provided in an embodiment of the present disclosure.

[0029] Combination Figure 1 As shown, the low-code development platform based on the independent deployment architecture may include a gateway service module 101, a form design module 102, a database design module 103, a process engine module 104, and a message center module 105; Based on the gateway service module 101, the form design module 102, the database design module 103, the process engine module 104 and the message center module 105, the client / server (C / S) architecture design is adopted to split the low code into corresponding microservices; Decouple the design state and the running state into independent microservices, complete the development and design of the applications to be released in the design state, and start independent running state services for each application; Deploy multiple copies of the same application on multiple hosts or container orchestration system (Kubernetes, K8S) namespaces to support horizontal expansion and elastic scaling; When deploying multiple copies, a circular mechanism is used in the same Nacos space. Different applications are isolated from each other, and applications interact with other services. Each application will call other microservices at runtime. Nacos is a dynamic service discovery, configuration management and service management platform that is easy to build cloud-native applications. When it comes to calls between different services, the Representational State Transfer Application Programming Interface (RESTful API) is used for data exchange; Using asynchronous calling method, tasks are processed based on asynchronous thread pool.

[0030] In some embodiments, when there are multiple different application services in the same operating environment and the service process needs to call an application request, the corresponding application process is called based on the application ID of the application or other unique identification fields in the database.

[0031] In some embodiments, the above-mentioned asynchronous calling method is used to process tasks based on an asynchronous thread pool, including: In the thread pool, each request is modified using the decorator pattern, the attribute information in the request corresponding to each thread is stored and recorded, and the attribute information in the stored request is returned together with the thread information.

[0032] In some embodiments, the above development platform supports relational databases and non-relational (Not Only SQL, NoSQL) databases in terms of data storage, uses Nacos as a dynamic service discovery, configuration management and service management tool, and uses the load balancer Nginx to distribute requests.

[0033] In a specific example, Figure 1 In the low-code development platform based on independent deployment architecture, in terms of microservice architecture, according to the design concept of microservice architecture, first define the service boundary according to the main functional modules, split these functional modules into independent microservices and support dynamic deployment and elastic expansion. A complete low-code platform system includes user center, gateway service, form design, database design, process engine, message center, etc. According to these functional modules, C / S architecture design is adopted to split the low code into corresponding microservices. Among them, the process engine module corresponds to the workflow service; the application design module corresponds to the application service.

[0034] The front-end can be developed using VUE3+ElementUI, and the back-end can be developed using Java + Spring Boot, etc. In terms of data storage, relational databases and NoSQL databases (Redis) are supported. Nacos is used as a dynamic service discovery, configuration management, and service management tool, and the load balancer Nginx is used to distribute requests.

[0035] In terms of independent deployment of running state applications, in order to achieve dynamic deployment of applications, the design state and running state are decoupled into independent microservices. The development and design of the applications to be released are completed in the design state, and then independent running state services are started for each application.

[0036] In order to balance performance and make full use of machine resources, it is usually necessary to deploy multiple different applications in the same space. In order to improve the availability and reliability of the system, the same application is deployed in multiple copies on multiple hosts or K8S namespaces to support horizontal expansion and elastic scaling. When deploying multiple copies, we use a round-robin mechanism to deploy in the same Nacos space. Different applications are isolated from each other, but the application interacts with other services such as (workflow, messaging, user center). Each application will call other microservices at runtime, such as Figure 2 Functional schematic shown.

[0037] In terms of multi-lane grayscale calls, in the same operating environment, when calls are made between different services, the services usually communicate through the HyperText Transfer Protocol (HTTP) protocol or Google Remote Procedure Call (gRPC) technology. In this disclosure, RESTful API is used for data exchange. However, if there are multiple different application services in the same operating environment, special tags are required to identify external requests. When some service processes need to call application requests, the application requests can be accurately called to the application processes. The distinguishable variables of different applications here are application IDs or other unique identification fields in the database. In this disclosure, application IDs are used as distinguishing identifiers. The identifier can be placed in the HTTP request header. This technology ensures that requests can be accurately sent to the corresponding application services under the synchronization mechanism and obtain the corresponding processing results.

[0038] However, in order to improve efficiency, asynchronous services are needed, especially asynchronous thread pools can better solve high concurrency and reduce blocking problems. In actual application operation, it is found that the service is disordered when calling the application. For example, in application A, it is expected to initiate the main process to call the corresponding sub-process, which will involve the interaction between the workflow service and the application service, such as Figure 3 shown.

[0039] a. When initiating the main process form action, it runs in the process of application A service, and then calls the workflow service process to handle workflow related services; b. During the processing in the workflow service, the rules in the judgment form of process A are called again to identify the sub-process that needs to be triggered; c. Then, application A service calls the workflow process again. After processing the sub-process information in the workflow process, the result needs to be fed back to the application; d. At this time, the workflow process needs to call the correct application process to feedback the results. Here, the workflow process can use asynchronous calls to application services to improve efficiency.

[0040] Although in the case of asynchronous requests, the system uses an interceptor to intercept the request and stores the application ID of the tag information in the request header in the context, so that the workflow process can call the correct corresponding application process and then return the result to the application and front-end users.

[0041] In the aspect of asynchronous thread pool processing different lane request services, in order to reduce the overhead of thread creation and destruction, thread pool is usually used to process tasks. In this disclosure, in order to improve the reuse rate of system resources, we also use asynchronous thread pool to process tasks during asynchronous calls, but in actual operation, we found that there will be problems such as disordered application calls and incorrect process processing. The interaction between asynchronous thread pool and application is as follows Figure 4 shown.

[0042] In the thread pool, ThreadLocal is generally used to store thread information. Because the thread that processes the request in the thread pool is random, if thread A is active when the request is called to the thread pool, thread A will be used to continue processing the task. However, at this time, the ThreadLocal variable in thread A is the information of the previous request. Although we use different request header information when calling the thread pool, the new request header information is not actually used. Therefore, in the asynchronous thread pool, we need to introduce some necessary context in the request for transmission.

[0043] In order to ensure that the request information header is not lost in the thread pool, the Decorator mode is used to modify each request in the thread pool. The attribute information in the request corresponding to each thread is first stored and recorded. Here, the RequestContextHolder.getRequestAttributes() method is used; then when returning, the thread information returns the request attribute information stored above. This ensures that the request header with the application ID from the request flows between different processes and will not be lost when using the asynchronous thread pool.

[0044] In order to improve the efficiency of system resource utilization, in this disclosure we innovatively use asynchronous thread pools to handle request services in different lanes, which not only ensures the independence and concurrent processing capabilities of tasks in different lanes, but also needs to be able to correctly handle request services and responses in different lanes.

[0045] Through the method provided in the present invention, an efficient application-independent deployment architecture can be implemented on a low-code platform, meeting customers' needs for flexible and efficient deployment and use, and improving development efficiency.

[0046] and Figure 1 Corresponding to the low-code development platform based on the independent deployment architecture, the present disclosure also provides a low-code development method based on the independent deployment architecture, which is applied to a development platform including a gateway service module, a form design module, a database design module, a process engine module and a message center module; like Figure 5 As shown, the method may specifically include: S501, based on the gateway service module, form design module, database design module, process engine module and message center module, adopts C / S architecture design to split the low code into responsive microservices; S502, decoupling the design state and the running state into independent microservices, completing the development and design of the application to be released in the design state, and then starting an independent running state service for each application; S503, deploy multiple copies of the same application on multiple hosts or K8S namespaces to support horizontal expansion and elastic scaling; S504, when deploying multiple copies, a circular mechanism is used for deployment in the same Nacos space. Different applications are isolated from each other, and the application interacts with other services. Each application will call other microservices during runtime. S505, when it involves calls between different services, use RESTful API for data exchange; S506, using an asynchronous call method to process the task based on an asynchronous thread pool.

[0047] In some embodiments, when there are multiple different application services in the same operating environment and some service processes need to call application requests, the corresponding application processes are called based on the application ID of the application or other unique identification fields in the database.

[0048] In some embodiments, the above-mentioned asynchronous calling method is used to process tasks based on an asynchronous thread pool, including: In the thread pool, each request is modified using the Decorator mode, and the attribute information in the request corresponding to each thread is stored and recorded. When the thread information is returned, the attribute information in the stored request is returned together.

[0049] In some embodiments, the above development platform supports relational databases and NoSQL databases in terms of data storage, uses Nacos as a dynamic service discovery, configuration management and service management tool, and uses the load balancer Nginx to distribute requests.

[0050] Combination Figure 6As shown, the embodiment of the present disclosure also provides a low-code development device 600 based on an independent deployment architecture, including a processor 604 and a memory 601. Optionally, the system may also include a communication interface 602 and a bus 603. Among them, the processor 604, the communication interface 602, and the memory 601 can communicate with each other through the bus 603. The communication interface 602 can be used for information transmission. The processor 604 can call the logical instructions in the memory 601 to execute the low-code development method based on the independent deployment architecture of the above embodiment.

[0051] In addition, the logic instructions in the memory 601 described above can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.

[0052] The memory 601 is a computer-readable storage medium that can be used to store software programs and computer executable programs, such as program instructions / modules corresponding to the method in the embodiment of the present disclosure. The processor 604 executes the functional application and data processing by running the program instructions / modules stored in the memory 601, that is, realizing the low-code development method based on the independent deployment architecture in the above embodiment.

[0053] The memory 601 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory 601 may include a high-speed random access memory and may also include a non-volatile memory.

[0054] An embodiment of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are configured as a low-code development method based on an independent deployment architecture.

[0055] The computer-readable storage medium mentioned above may be a transient computer-readable storage medium or a non-transitory computer-readable storage medium.

[0056] The technical solution of the embodiment of the present disclosure can be embodied in the form of a software product, which is stored in a storage medium and includes one or more instructions for enabling a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method of the embodiment of the present disclosure. The aforementioned storage medium may be a non-transient storage medium, including: a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a disk or an optical disk, and other media that can store program codes, or a transient storage medium.

[0057] The above description and the accompanying drawings fully illustrate the embodiments of the present disclosure so that those skilled in the art can practice them. Other embodiments may include structural, logical, electrical, process and other changes. The embodiments represent possible changes only. Unless explicitly required, individual components and functions are optional, and the order of operations may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. As used in the description of the embodiments, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms as well. Similarly, the term "and / or" as used in this application refers to any and all possible combinations of one or more associated listings. In addition, when used in this application, the term "comprise" and its variants "comprises" and / or including (comprising) refer to the existence of stated features, wholes, steps, operations, elements, and / or components, but do not exclude the existence or addition of one or more other features, wholes, steps, operations, elements, components and / or these groups. In the absence of further restrictions, the elements defined by the sentence "comprising a ..." do not exclude the existence of other identical elements in the process, method or device comprising the elements. In this article, each embodiment may focus on the differences from other embodiments, and the same or similar parts between the embodiments may refer to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method part disclosed in the embodiments, then the relevant parts can refer to the description of the method part.

[0058] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software may depend on the specific application and design constraints of the technical solution. Technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present disclosure. Technicians can clearly understand that for the convenience and simplicity of description, the specific working process of the systems, devices and units described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0059] In the embodiments disclosed herein, the disclosed methods and products (including but not limited to devices, equipment, etc.) can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units can be only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between each other shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms. The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to implement this embodiment. In addition, each functional unit in the embodiment of the present disclosure may be integrated in a processing unit, or each unit may exist physically alone, or two or more units may be integrated in one unit.

[0060] The flowchart and block diagram in the accompanying drawings show the possible architecture, functions and operations of the system, method and computer program product according to the embodiment of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and a part of the module, program segment or code contains one or more executable instructions for realizing the specified logical function. In some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. In the description corresponding to the flowchart and block diagram in the accompanying drawings, the operations or steps corresponding to different boxes can also occur in a different order from the order disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. Each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified functions or actions, or may be implemented by a combination of dedicated hardware and computer instructions.

[0061] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0062] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0063] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or apparatus. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media may include electrical connections based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0064] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0065] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0066] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0067] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of this disclosure can be achieved, and this document is not limited here.

[0068] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A low-code development platform based on an independent deployment architecture, characterized in that: The platform includes a gateway service module, a form design module, a database design module, a process engine module and a message center module; Based on the gateway service module, form design module, database design module, process engine module and message center module, the C / S architecture design is adopted to split the low code into responsive microservices; Decouple the design state and the running state into independent microservices, complete the development and design of the applications to be released in the design state, and start independent running state services for each application; Deploy multiple copies of the same application on multiple hosts or K8S namespaces to support horizontal expansion and elastic scaling; When deploying multiple copies, a circular mechanism is used in the same Nacos space. Different applications are isolated from each other, and the applications interact with other services. Each application will call other microservices during runtime. When it comes to calls between different services, use RESTful API for data exchange; Using asynchronous calling method, tasks are processed based on asynchronous thread pool.

2. The platform according to claim 1, characterized in that When there are multiple different application services in the same operating environment, when the service process needs to call an application request, the corresponding application process is called based on the application ID of the application or other unique identification fields in the database.

3. The platform according to claim 1, characterized in that: The method of using asynchronous calls to process tasks based on an asynchronous thread pool includes: In the thread pool, each request is modified using the Decorator mode, and the attribute information in the request corresponding to each thread is stored and recorded. When the thread information is returned, the attribute information in the stored request is returned together.

4. The platform according to claim 1, characterized in that: In terms of data storage, the development platform supports relational databases and NoSQL databases, uses Nacos as a dynamic service discovery, configuration management and service management tool, and uses the load balancer Nginx to distribute requests.

5. A low-code development method based on an independent deployment architecture, characterized in that: The method is applied to a development platform including a gateway service module, a form design module, a database design module, a process engine module and a message center module; Based on the gateway service module, form design module, database design module, process engine module and message center module, the C / S architecture design is adopted to split the low code into responsive microservices; Decouple the design state and the running state into independent microservices, complete the development and design of the applications to be released in the design state, and then start independent running state services for each application; Deploy multiple copies of the same application on multiple hosts or K8S namespaces to support horizontal expansion and elastic scaling; When deploying multiple copies, a circular mechanism is used in the same Nacos space. Different applications are isolated from each other, and the applications interact with other services. Each application will call other microservices during runtime. When it comes to calls between different services, use RESTful API for data exchange; Using asynchronous calling method, tasks are processed based on asynchronous thread pool.

6. The method according to claim 5, characterized in that When there are multiple different application services in the same operating environment, and some service processes need to call application requests, the corresponding application process is called based on the application ID of the application or other unique identification fields in the database.

7. The method according to claim 5, characterized in that The method of using asynchronous calls to process tasks based on an asynchronous thread pool includes: In the thread pool, each request is modified using the Decorator mode, and the attribute information in the request corresponding to each thread is stored and recorded. When the thread information is returned, the attribute information in the stored request is returned together.

8. The method according to claim 5, characterized in that In terms of data storage, the development platform supports relational databases and NoSQL databases, uses Nacos as a dynamic service discovery, configuration management and service management tool, and uses the load balancer Nginx to distribute requests.

9. An electronic device, characterized in that: include: at least one processor; and a memory communicatively coupled to the at least one processor; It is characterized in that the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method according to any one of claims 5-8.

10. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to make a computer execute the method according to any one of claims 5 to 8.

Citation Information

Patent Citations

  • Function self-defining method and device for low-code platform, equipment and medium

    CN118276848A

  • Low-code development platform and method supporting automatic independent deployment

    CN118796360A

  • Low-code system supporting full-quantity code output function and development method thereof

    CN118916004A

  • System and method for building server-driven user interface (SDUI) mobile applications using no-code / low-code application builder

    US20240394021A1