Program zero-code update method, device, equipment and medium

By identifying candidate code framework files and building target entities and instance containers, zero-code updates are achieved, solving the problem of low program update efficiency caused by developers' careless code writing and improving the efficiency and accuracy of program updates.

CN120406990BActive Publication Date: 2025-09-12HANGZHOU NEWGRAND TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510886168.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-30
Publication Date
2025-09-12
Estimated Expiration
2045-06-30

AI Technical Summary

Technical Problem

In the business system development of commonly used programming software, developers do not write codes rigorously, resulting in low program update efficiency and a large number of functional defects.

Method used

By obtaining the program update data and candidate code framework files of the program to be updated, it is determined whether it is the target code framework file. If so, the data table attribute data is determined and the initial entity container is constructed. According to the data table metadata and the candidate processing method, the target entity container and instance container are constructed to achieve zero-code update.

Benefits of technology

It improves the efficiency of program updates, reduces resource waste, avoids manual coding, and improves the accuracy and applicability of program updates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120406990B_ABST
    Figure CN120406990B_ABST
Patent Text Reader

Abstract

The embodiment of the present invention discloses a method, apparatus, device and medium for updating a program with zero code. The method includes: obtaining program update data and candidate code framework files of the program to be updated, and determining whether the candidate code framework file is a target code framework file; if so, obtaining a target entity container based on the program update data, data table attribute data, a pre-built initial entity container, and an initial instance container corresponding to the program to be updated; determining whether the corresponding updated data table is an associated data table based on the data table metadata in the target entity container, and if so, determining a candidate processing method; constructing an initial proxy instance, and updating the initial instance container based on the program update data, the candidate processing method and the initial proxy instance to obtain a target instance container; and updating the program to be updated based on the target instance container, the target entity container and the program update data. This achieves zero-code updating of the program and improves the efficiency of program updates.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to the field of software development technology, and in particular to a program zero-code update method, apparatus, device, and medium. Background Art

[0002] When developing business systems for common programming software, the majority of the workload involves database programming. This involves integrating various open source frameworks and building different business functions according to their agreed-upon syntax. In the actual development process, even very simple business functions can lead to numerous functional defects due to developers' careless coding, resulting in slow program updates. Therefore, achieving zero-code updates and improving update efficiency is crucial. Summary of the Invention

[0003] The present invention provides a program zero-code update method, device, equipment and medium to achieve zero-code update of the program and improve the efficiency of program update.

[0004] According to one aspect of the present invention, a method for updating a program with zero code is provided, comprising:

[0005] Obtaining program update data and a candidate code framework file of the program to be updated, and determining whether the candidate code framework file is a target code framework file based on preset framework judgment data;

[0006] If so, determining data table attribute data of the update data table corresponding to the program to be updated, and updating the initial entity container according to the program update data, the data table attribute data, a pre-built initial entity container, and the initial instance container corresponding to the program to be updated to obtain a target entity container;

[0007] determining, based on the data table metadata of the updated data table in the target entity container, whether the corresponding updated data table is a related data table, and if so, determining a candidate processing method under the candidate processing instance in the initial instance container;

[0008] Constructing an initial proxy instance, and updating the initial instance container according to the program update data, the candidate processing method and the initial proxy instance to obtain a target instance container;

[0009] The program to be updated is updated according to the target instance container, the target entity container and the program update data.

[0010] According to another aspect of the present invention, there is provided a program zero-code update device, comprising:

[0011] a target framework file determination module, configured to obtain program update data and a candidate code framework file of the program to be updated, and determine whether the candidate code framework file is a target code framework file based on preset framework judgment data;

[0012] a target entity container determination module, configured to, if yes, determine data table attribute data of the update data table corresponding to the program to be updated, and update the initial entity container according to the program update data, the data table attribute data, a pre-built initial entity container, and an initial instance container corresponding to the program to be updated, to obtain a target entity container;

[0013] a candidate processing method determination module, configured to determine, based on the data table metadata of the updated data table in the target entity container, whether the corresponding updated data table is a related data table, and if so, determine a candidate processing method under the candidate processing instance in the initial instance container;

[0014] a target instance container determination module, configured to construct an initial proxy instance, update the initial instance container according to the program update data, the candidate processing method, and the initial proxy instance, and obtain a target instance container;

[0015] A program update module is used to update the program to be updated according to the target instance container, the target entity container and the program update data.

[0016] According to another aspect of the present invention, there is provided an electronic device, comprising:

[0017] one or more processors;

[0018] a memory for storing one or more programs;

[0019] When one or more programs are executed by one or more processors, the one or more processors can execute any one of the program zero-code update methods provided by the embodiments of the present invention.

[0020] According to another aspect of the present invention, a computer-readable storage medium is provided, which stores computer instructions. The computer instructions are used to enable a processor to implement any program zero-code update method provided by the embodiments of the present invention when executed.

[0021] An embodiment of the present invention provides a program zero-code update solution, which obtains program update data and candidate code framework files of a program to be updated, and determines whether the candidate code framework file is a target code framework file based on preset framework judgment data; if so, determines data table attribute data of an update data table corresponding to the program to be updated, and updates the initial entity container based on the program update data, the data table attribute data, a pre-built initial entity container, and an initial instance container corresponding to the program to be updated to obtain a target entity container; determines whether the corresponding update data table is an associated data table based on the data table metadata of the update data table in the target entity container, and if so, determines candidate processing methods under candidate processing instances in the initial instance container; constructs an initial proxy instance, and updates the initial instance container based on the program update data, the candidate processing methods, and the initial proxy instance to obtain a target instance container; and updates the program to be updated based on the target instance container, the target entity container, and the program update data. The above scheme obtains the target entity container by updating the initial entity container, and determines whether the updated data table is an associated data table based on the data table metadata in the target entity container. If so, the target instance container is obtained based on the candidate processing method under the candidate processing instance in the initial instance container, the initial proxy instance and the program update data. Finally, based on the target instance container, the target entity container and the program update data, the program to be updated is updated, thereby realizing zero-code update of the program and improving the efficiency of program update.

[0022] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0024] Figure 1 This is a flowchart of a program zero-code update method provided by the first embodiment of the present invention;

[0025] Figure 2 This is a flowchart of a program zero-code update method provided by the second embodiment of the present invention;

[0026] Figure 3 This is a schematic diagram of the structure of a program zero-code update device provided by the fourth embodiment of the present invention;

[0027] Figure 41 is a structural diagram of an electronic device for implementing a method for updating a program with zero code, provided in accordance with a fifth embodiment of the present invention. DETAILED DESCRIPTION

[0028] The present invention will be further described in detail below with reference to the accompanying drawings and examples. It will be understood that the specific embodiments described herein are intended only to illustrate the present invention and are not intended to limit the present invention. It should also be noted that, for ease of description, the accompanying drawings only illustrate portions relevant to the present invention, not all structures.

[0029] Example 1

[0030] Figure 1 This is a flowchart of a program zero-code update method provided in Example 1 of the present invention. This embodiment is applicable to the situation where a program is updated with zero code. The method can be executed by a program zero-code update device, which can be implemented in software and / or hardware and can be configured in an electronic device that carries the program zero-code update function.

[0031] See also Figure 1 The program zero-code update method shown includes:

[0032] S110 : Obtain program update data and a candidate code framework file of the program to be updated, and determine whether the candidate code framework file is a target code framework file based on preset framework judgment data.

[0033] The program to be updated refers to a program that needs to be updated. The program update data can be understood as update requirement data for the program to be updated. For example, the program update data may include program processing requirements and program update parameters. The program processing requirements refer to the update requirements for the program to be updated. The program update parameters refer to the update parameters corresponding to the program processing requirements.

[0034] The candidate code framework file refers to the open source framework file of the program to be updated. The preset framework determination data can be used to determine whether the candidate code framework file is a zero-code framework file. The preset framework determination data may include a zero-code sub-framework, a zero-code class, and a zero-code runtime environment. A zero-code sub-framework refers to the code sub-framework required to be included in the zero-code framework file. Exemplarily, a zero-code sub-framework may include Spring Boot (a rapid development tool based on the Spring Framework) and MyBatis (MyBatis SQL Mapper, an open source persistence layer framework). A zero-code class refers to the classes included in the zero-code framework file. Exemplarily, zero-code classes may include the SpringApplication class (the entry point class for Spring Boot applications, used to start an embedded container (such as Tomcat) and initialize the Spring context) and the SqlSessionFactory class (the core factory class of MyBatis, used to create SqlSession objects and manage database connections and mapping files). The zero-code runtime environment refers to the runtime environment of the program that can be updated with zero code. Exemplarily, the zero-code runtime environment may be the Spring Boot webserver runtime environment. Specifically, it is determined whether the candidate code framework file contains a Tomcat class. If so, the running environment of the program to be updated is a zero-code running environment; otherwise, it is not.

[0035] The target code framework file refers to a candidate code framework file that meets the requirements of zero-code update.

[0036] Specifically, the program update data and candidate code framework file of the program to be updated are obtained; first, it is determined whether there is a zero-code sub-framework in the candidate code framework file. If so, it is determined whether there is a zero-code class in the candidate code framework file; if so, it is determined whether the running environment of the program to be updated corresponding to the candidate code framework file is a zero-code running environment; if so, the candidate code framework file is determined to be the target code framework file.

[0037] In the embodiment of the present invention, the introduction of preset framework judgment data can determine whether the candidate code framework is the target code framework file, that is, determine whether a zero-code update can be performed on the program to be updated, thereby avoiding zero-code updates for programs that cannot be zero-code updated, reducing resource waste, and improving the efficiency of program updates.

[0038] S120: If yes, determine the data table attribute data of the update data table corresponding to the program to be updated, and update the initial entity container according to the program update data, the data table attribute data, the pre-built initial entity container, and the initial instance container corresponding to the program to be updated to obtain the target entity container.

[0039] The update data table refers to a candidate data table for updating in the program to be updated. A candidate data table refers to a data table in a database connected to the program to be updated. Data table attribute data refers to the basic attribute data of the update data table. For example, the data table attribute data may include the update field name, update field type, update field length, update field description, and update table name.

[0040] The update field name refers to the field name of each field in the update data table and can be used to identify the field in the update data table. The update field type refers to the field type of each field in the update data table. The update field length refers to the field length of each field in the update data table. The update field description refers to the field description of each field in the update data table. The update table name refers to the name of the update data table and can be used to identify the update data table.

[0041] The initial entity container can be used to store the table attribute data of the updated data table. The initial instance container, also known as the Spring container, can be used to store the original running instance of the program to be updated. The target entity container can be used to store the association between the updated data table and the original running instance of the program to be updated.

[0042] Specifically, if the candidate code framework file is the target code framework file, it is determined that the program to be updated can be updated with zero code; the data table attribute data of the update data table corresponding to the program to be updated is obtained from the database; the data table attribute data is stored in the initial entity container; and the target entity container is obtained based on the program update parameters in the program update data, the data table attribute data in the initial entity container, and the initial instance container.

[0043] S130 , determining whether the corresponding updated data table is an associated data table according to the data table metadata of the updated data table in the target entity container, and if so, determining a candidate processing method under the candidate processing instance in the initial instance container.

[0044] Among them, the data table metadata refers to the data corresponding to the updated data table in the target entity container. Exemplarily, the data table metadata may include the data table entity name, the instance-related data of the data table entity name, the interaction instance name, the instance-related data corresponding to the interaction instance name, the logical instance name, the instance-related data corresponding to the logical instance name, the control instance name, the instance-related data corresponding to the control instance name, the program attribute name, the program field type, and the escape type. The data table entity name refers to the entity name of the updated data table. The program attribute name refers to the attribute name obtained by camel-escaping the updated field name. The program field type refers to the field type obtained by escaping the updated field type. The escape type refers to the type used to escape the updated field type.

[0045] Among them, the associated data table refers to an updated data table in which instance-associated data exists for both the data table entity name and the interaction instance name in the target entity container, and instance-associated data does not exist for the corresponding logical instance name and control instance name. Candidate processing instances refer to candidate logical instances and candidate control instances in the initial instance container, that is, candidate processing instances may include candidate logical instances and candidate control instances. Candidate logical instances are Service instance objects, which refer to the original business logic instances in the initial instance container. Candidate control instances are Control instance objects, which refer to the original control instances in the initial instance container. Candidate processing methods refer to methods in candidate processing instances.

[0046] S140: Construct an initial proxy instance, and update the initial instance container according to the program update data, the candidate processing method, and the initial proxy instance to obtain a target instance container.

[0047] The initial proxy instance refers to a pre-built instance used to proxy candidate processing instances. Exemplarily, the initial proxy instance may include an initial logical proxy instance and an initial control proxy instance. The initial logical proxy instance is a Service proxy, which is the initial instance used to proxy candidate logical instances in the initial instance container. The initial control proxy instance is a Control proxy, which is the initial instance used to proxy candidate control instances in the initial instance container. The target instance container refers to the instance container obtained by updating the initial instance container.

[0048] In an optional embodiment, the initial instance container is updated according to the program update data, the candidate processing method and the initial proxy instance to obtain a target instance container, including: determining the candidate processing function of the candidate processing method, and determining a reference processing method from the candidate processing method according to the candidate processing function and the program processing requirements in the program update data; updating the initial proxy instance according to the reference processing parameters in the reference processing method to obtain the candidate proxy instance, and determining the target processing method from the reference processing method according to the candidate proxy instance and the program update parameters in the program update data; updating the candidate proxy instance according to the target processing method to obtain the target proxy instance, and proxying the candidate processing instance according to the target proxy instance to obtain the target instance container.

[0049] The candidate processing function refers to the function of the candidate processing method. For example, the candidate processing function may include a candidate logic function and a candidate control function. The candidate logic function refers to the function corresponding to the candidate logic method in the candidate logic instance. The candidate control function refers to the function corresponding to the candidate control method in the candidate control instance.

[0050] Among them, the reference processing method refers to the candidate processing method corresponding to the candidate processing function that matches the program processing requirements. Exemplarily, the program processing requirements may include program interaction requirements, program logic requirements, and program control requirements. Program interaction requirements refer to the requirements for interactive updates of the program to be updated. Program logic requirements refer to the requirements for logical updates of the program to be updated. Program control requirements refer to the requirements for control updates of the program to be updated. Exemplarily, the reference processing method may include a reference logic method and a reference control method. The reference logic method refers to the candidate logic method corresponding to the candidate logic function that matches the program logic requirements. The reference control method refers to the candidate control method corresponding to the candidate control function that matches the program control requirements.

[0051] The reference processing parameters refer to parameters in the reference processing method. For example, the reference processing parameters may include reference logic parameters and reference control parameters. The reference logic parameters refer to parameters in the reference logic method. The reference control parameters refer to parameters in the reference control method.

[0052] The candidate agent instance refers to an initial agent instance including all reference processing parameters in the reference processing method. Exemplarily, the candidate agent instance may include a candidate logic agent instance and a candidate control agent instance.

[0053] Program update parameters refer to requirement parameters corresponding to program processing requirements. For example, program update parameters may include program interaction parameters, program logic parameters, and program control parameters. Program interaction parameters refer to interaction parameters corresponding to program interaction requirements. Program logic parameters refer to logic parameters corresponding to program logic requirements. Program control parameters refer to control parameters corresponding to program control requirements.

[0054] The target processing method refers to a reference processing method corresponding to the reference processing parameters that match the program update parameters. For example, the target processing method may include a target logic method and a target control method. The target logic method refers to a reference logic method corresponding to the reference logic parameters that match the program logic parameters. The target control method refers to a reference control method corresponding to the reference control parameters that match the program control parameters.

[0055] Exemplarily, the candidate logical functions of the candidate logical methods are determined, and a reference logical method is determined from the candidate logical methods based on the candidate logical functions and the program logical requirements in the program update data; the initial logical proxy instance is updated based on the reference logical parameters in the reference logical method to obtain a candidate logical proxy instance, and the target logical method is determined from the reference logical method based on the candidate logical proxy instance and the program logical parameters in the program update data; the candidate logical proxy instance is updated based on the target logical method to obtain a target logical proxy instance, and the candidate logical instance is proxied based on the target logical proxy instance.

[0056] Exemplarily, candidate control functions of candidate control methods are determined, and a reference control method is determined from the candidate control methods based on the candidate control functions and program control requirements in the program update data; an initial control proxy instance is updated based on reference control parameters in the reference control method to obtain a candidate control proxy instance, and a target control method is determined from the reference control method based on the candidate control proxy instance and the program control parameters in the program update data; the candidate control proxy instance is updated based on the target control method to obtain a target control proxy instance, and the candidate control instance is proxyed based on the target control proxy instance.

[0057] Exemplarily, if the candidate logic instance and the candidate control instance in the initial instance container are proxied by the target logic proxy instance and the target control proxy instance respectively, a target instance container is obtained.

[0058] It can be understood that by determining the target processing method from the candidate processing methods based on the program processing requirements, candidate processing functions, program update parameters and reference processing parameters, the accuracy of the determined target processing method is improved; at the same time, based on the target processing method and the candidate proxy instance, the target proxy instance is determined, which improves the accuracy of the determined target proxy instance; and, by introducing the proxy instance, the functional extensibility of the instance container is improved; and, in the embodiment of the present invention, by determining the target proxy instance, it is convenient to subsequently search for the code required for the program to be updated to achieve zero-code update.

[0059] S150: Update the program to be updated according to the target instance container, the target entity container and the program update data.

[0060] Specifically, the target code for the update is found based on the program update data, the instance-related data in the target entity container, and the target proxy instance and target interaction instance in the target instance container. Based on the target code, a zero-code update is performed on the program to be updated. The target code refers to the code used to update the program to be updated. The target code is already stored in the target instance container, eliminating the need for manual background coding.

[0061] An embodiment of the present invention provides a program zero-code update solution, which obtains program update data and candidate code framework files of a program to be updated, and determines whether the candidate code framework file is a target code framework file based on preset framework judgment data; if so, determines data table attribute data of an update data table corresponding to the program to be updated, and updates the initial entity container based on the program update data, the data table attribute data, a pre-built initial entity container, and an initial instance container corresponding to the program to be updated to obtain a target entity container; determines whether the corresponding update data table is an associated data table based on the data table metadata of the update data table in the target entity container, and if so, determines candidate processing methods under candidate processing instances in the initial instance container; constructs an initial proxy instance, and updates the initial instance container based on the program update data, the candidate processing methods, and the initial proxy instance to obtain a target instance container; and updates the program to be updated based on the target instance container, the target entity container, and the program update data. The above scheme obtains the target entity container by updating the initial entity container, and determines whether the updated data table is an associated data table based on the data table metadata in the target entity container. If so, the target instance container is obtained based on the candidate processing method under the candidate processing instance in the initial instance container, the initial proxy instance and the program update data. Finally, based on the target instance container, the target entity container and the program update data, the program to be updated is updated, thereby realizing zero-code update of the program and improving the efficiency of program update.

[0062] On the basis of the above technical solution, after determining whether the corresponding updated data table is an associated data table based on the data table metadata of the updated data table in the target entity container, the method also includes: if not, constructing a virtual interface class of the corresponding updated data table, and determining the corresponding virtual interaction instance based on the virtual interface class and the interface metadata in the interface configurator; constructing the corresponding virtual logic instance and virtual control instance based on the virtual interaction instance, and storing the virtual interaction instance, virtual logic instance and virtual control instance in the initial instance container to obtain the target instance container.

[0063] The virtual interface class refers to the virtual Mapper class. The interface configurator is the MyBatis configuration manager, which can be used to provide interface metadata. Interface metadata is the Mapper metadata, which can be used to determine the virtual interaction instance corresponding to the virtual interface class. A virtual interaction instance refers to an interaction instance constructed based on the virtual interface class and interface metadata, that is, an interaction instance that originally did not exist in the initial instance container. A virtual logical instance refers to a constructed virtual logical instance, that is, a logical instance that originally did not exist in the initial instance container. A virtual control instance refers to a constructed virtual control instance, that is, a control instance that originally did not exist in the initial instance container.

[0064] For example, if there is no instance-associated data for the data table entity name and the interaction instance name in the target entity container, and there is no instance-associated data for the corresponding logical instance name and the control instance name, then the corresponding update data table is not an associated data table, that is, it is prohibited to use the corresponding update data table as an associated data table.

[0065] It can be understood that if the updated data table is not an associated data table, the virtual interaction instance is determined by constructing a virtual interface class and interface metadata, and the corresponding virtual logic instance and virtual control instance are constructed based on the virtual interaction instance, thereby achieving zero-code update of the part corresponding to the updated data table that is not an associated data table in the update program, thereby improving the applicability of zero-code update.

[0066] For example, the target code for updating can be found based on the program update data, instance association data in the target entity container, and virtual interaction instances, virtual logic instances and virtual control instances in the target instance container, and the program to be updated can be updated with zero code based on the target code.

[0067] It should be noted that if instance-associated data exists for both the data table entity name and the interaction instance name in the target entity container, and instance-associated data also exists for the corresponding logical instance name and control instance name, the target code for the update can be determined based on the program update data, the instance-associated data in the target entity container, and the target interaction instance, target logical instance and target control instance in the target instance container, and based on the target code, a zero-code update can be performed on the program to be updated.

[0068] Example 2

[0069] Figure 2 This is a flowchart of a program zero-code update method provided by the second embodiment of the present invention. Based on the above embodiments, this embodiment further refines the operation of "updating the initial entity container according to the program update data, data table attribute data, the pre-built initial entity container, and the initial instance container corresponding to the program to be updated to obtain the target entity container" into "storing the data table attribute data in the initial entity container to obtain a reference entity container; wherein the data table attribute data includes the update table name, the update field type and the update field name; escaping the update table name to obtain the corresponding data table entity name, and determining the instance query name according to the data table entity name; determining the instance association data corresponding to the data table entity name and the instance query name according to the instance query name, the program update data and the initial instance container, and updating the reference entity container according to the instance association data to obtain the target entity container" to improve the determination mechanism of the target entity container. It should be noted that for the parts not described in detail in the embodiments of the present invention, reference can be made to the descriptions of other embodiments.

[0070] See also Figure 2 The program zero-code update method shown includes:

[0071] S210: Obtain program update data and a candidate code framework file of the program to be updated, and determine whether the candidate code framework file is a target code framework file based on preset framework judgment data.

[0072] S220: If yes, determine the data table attribute data of the update data table corresponding to the program to be updated, and store the data table attribute data in the initial entity container to obtain a reference entity container.

[0073] The reference entity container refers to the initial entity container storing the data table attribute data. Exemplarily, the data table attribute data includes the updated table name, updated field type, and updated field name.

[0074] S230: Perform escape processing on the updated table name to obtain the corresponding data table entity name, and determine the instance query name according to the data table entity name.

[0075] Among them, the data table entity name refers to the entity name of the updated data table. The instance query name refers to the name used for instance query in the initial instance container. Exemplarily, the instance query name may include the interaction instance name, the logical instance name, and the control instance name. The interaction instance name is the Mapper name, which can be used to query the candidate interaction instance corresponding to the updated data table in the initial instance container, that is, the target interaction instance. The logical instance name is the Service name, which can be used to query the candidate logical instance corresponding to the updated data table in the initial instance container, that is, the target logical instance. The control instance name is the Control name, which can be used to query the candidate control instance corresponding to the updated data table in the initial instance container, that is, the target control instance.

[0076] Specifically, the updated data table is camel-cased to obtain the corresponding data table entity name, the interaction instance name is determined by the data table entity name + Mapper, the logical instance name is determined by the data table entity name + Service, and the control instance name is determined by the data table entity name + Control.

[0077] S240 , determining instance association data corresponding to the data table entity name and the instance query name respectively according to the instance query name, program update data and the initial instance container, and updating the reference entity container according to the instance association data to obtain a target entity container.

[0078] The instance association data may be used to represent the path of the instance associated with the corresponding instance query name or the reference relationship between the upper and lower instances in the initial instance container.

[0079] In an optional embodiment, if the instance query name includes an interaction instance name, a logical instance name, and a control instance name, the instance association data corresponding to the data table entity name and the instance query name are determined respectively according to the instance query name, the program update data, and the initial instance container, including: determining whether there is a target interaction instance matching the interaction instance name in the initial instance container, and if so, obtaining the interaction metadata and interaction association entity name of the target interaction instance; verifying the target interaction instance according to the interaction metadata, the interaction association entity name, and the program update data; if the verification passes, determining the instance association data corresponding to the data table entity name and the interaction instance name respectively according to the interaction association path data of the target interaction instance; determining the target logical instance corresponding to the logical instance name and the target control instance corresponding to the control instance name from the initial instance container; and determining the instance association data corresponding to the logical instance name and the control instance name respectively according to the reference relationship between the target interaction instance, the target logical instance, and the target control instance.

[0080] The target interaction instance refers to the candidate interaction instance that matches the interaction instance name. Interaction metadata refers to Mapper metadata, which refers to the basic attribute data of the target interaction instance. For example, interaction metadata may include input parameters (StatementType) and output parameters (ResultSetType). The interaction-related entity name refers to the name of the table entity associated with the target interaction instance.

[0081] Here, verification passed means that the input parameters and interactively associated entity names are the same as the input parameters in the data table entity name and program interaction parameters in the program update data, or verification passed means that the output parameters and interactively associated entity names are the same as the output parameters in the data table entity name and program interaction parameters in the program update data.

[0082] The interaction-associated path data refers to the path data associated with the target interaction instance. The instance-associated data for the table entity name can be used to determine data manipulation behavior. The instance-associated data for the interaction instance name can be used to find candidate interaction instances corresponding to the interaction instance name in the initial instance container.

[0083] The target logical instance refers to the candidate logical instance that matches the logical instance name in the initial instance container, and the target control instance refers to the candidate control instance that matches the control instance name in the initial instance container.

[0084] The instance association data of the logic instance name can be used to determine the reference relationship between the target interaction instance and the target logic instance. The instance association data of the control instance name can be used to determine the reference relationship between the target interaction instance or the target logic instance and the target control instance.

[0085] It can be understood that by determining the target interaction instance, target logical instance and target control instance from the initial instance container based on the interaction instance name, logical instance name and control instance name, and then determining the instance association data corresponding to the data table entity name, interaction instance name, logical instance name and control instance name respectively, the accuracy of the determined instance association data is improved.

[0086] In an optional embodiment, based on the interaction association path data of the target interaction instance, the instance association data corresponding to the data table entity name and the interaction instance name are determined respectively, including: determining the interaction instance path name of the target interaction instance, and using the interaction instance path name as the instance association data corresponding to the interaction instance name; determining the interaction parameter path of the target interaction instance, and using the interaction parameter path as the instance association data of the data table entity name.

[0087] The interaction instance path name, i.e., the full Mapper path name, can be used to locate the target interaction instance corresponding to the interaction instance name in the initial instance container. The interaction parameter path can be used to standardize data operations. For example, the interaction parameter path can include an interaction input parameter path and an interaction output parameter path. The interaction input parameter path, i.e., the full StatementType path, can be used to standardize SQL (Structured Query Language) execution behavior. The interaction input parameter path, i.e., the full ResultSetType path, can be used to standardize result set operations.

[0088] It can be understood that by using the interaction instance path name as the instance-associated data corresponding to the interaction instance name, the efficiency of subsequent search for the target interaction instance is improved, and using the interaction parameter path as the instance-associated data of the data table entity name facilitates the subsequent standardization of data operation behaviors for updating the data table.

[0089] In an optional embodiment, the method also includes: if the target interaction instance corresponding to the interaction instance name does not exist in the initial instance container, then determining that the instance-related data corresponding to the corresponding data table entity name and instance query name is empty or a preset default value, that is, there is no corresponding instance-related data for both the data table entity name and the instance query name.

[0090] The embodiment of the present invention does not impose any limitation on the setting of the preset default value, which can be set by a technician based on experience or needs. The preset default value can indicate that there is no instance-related data.

[0091] Furthermore, if the instance-related data corresponding to the data table entity name and instance query name is empty, the instance-related data corresponding to the corresponding logical instance name and control instance name is also empty or preset default values, that is, there is no corresponding instance-related data for the logical instance name and control instance name.

[0092] It can be understood that by setting the instance-related data corresponding to the corresponding data table entity name and instance query name to empty when there is no target interaction instance corresponding to the interaction instance name, the impact of filling in other data on the subsequent use of instance-related data is avoided, thereby improving the accuracy of the instance-related data.

[0093] S250: Determine whether the corresponding updated data table is an associated data table according to the data table metadata of the updated data table in the target entity container; if so, determine the candidate processing method under the candidate processing instance in the initial instance container.

[0094] S260: Construct an initial proxy instance, and update the initial instance container according to the program update data, the candidate processing method, and the initial proxy instance to obtain a target instance container.

[0095] S270: Update the program to be updated according to the target instance container, the target entity container and the program update data.

[0096] An embodiment of the present invention provides a program zero-code update solution, which updates the initial entity container according to program update data, data table attribute data, a pre-built initial entity container, and an initial instance container corresponding to the program to be updated to obtain a target entity container operation, which is refined into storing the data table attribute data in the initial entity container to obtain a reference entity container; wherein the data table attribute data includes an update table name, an update field type, and an update field name; the update table name is escaped to obtain a corresponding data table entity name, and an instance query name is determined based on the data table entity name; based on the instance query name, program update data, and the initial instance container, instance association data corresponding to the data table entity name and the instance query name are respectively determined, and based on the instance association data, the reference entity container is updated to obtain a target entity container, thereby improving the determination mechanism of the target entity container. The above scheme, by introducing instance-related data, can determine the data operation behavior of updating the data table, the target interaction instance, and the reference relationship between instances at different levels through the instance-related data, which facilitates the subsequent acquisition of the required data from the initial instance container based on the instance-related data, avoids omissions in the data obtained from the initial instance container, improves the comprehensiveness of the data obtained from the initial instance container, and improves the efficiency of program updates.

[0097] Example 3

[0098] The embodiment of the present invention provides an optional example based on the above embodiment. It should be noted that for parts not described in detail in the embodiment of the present invention, reference can be made to the descriptions of other embodiments.

[0099] When developing business systems using common programming software (such as Java), 80% of the workload is database-oriented programming. This involves integrating various open-source frameworks and building different business functions according to their agreed-upon syntax. In the actual development process, even very simple business functions can generate numerous functional bugs due to developers' careless coding, resulting in wasted R&D costs. Prior art methods typically require extensive human effort to perform functional testing to correct functional deficiencies. Embodiments of the present invention provide a zero-code program update method that automatically builds application functions by constructing a zero-code framework.

[0100] For example, when developing application software, a zero-code framework is built for introduction, and database connection information is configured in the application software. This is then introduced in the application software files, and the AUTOZeroCodeService (automated zero-code) is dynamically triggered through the dynamic class loading mechanism. Specifically, environment detection: After the AUTOZeroCodeService is triggered (i.e., the introduction of the candidate code framework triggers the zero-code update), it starts to detect the current application open source framework (i.e., determine whether the candidate code framework file is the target code framework file). In the zero-code framework, as long as the dependent frameworks include springboot and mybatis, the AUTOZeroCodeService will detect whether the current environment can load the SpringApplication class and the SqlSessionFactory class, and whether the current environment is the springbootwebserver operating environment. If the above detection is not met, the AUTOZeroCodeService will exit; if the above detection is met, it indicates whether the candidate code framework file is the target code framework file.

[0101] Exemplary, metadata construction (i.e., determining data table metadata): AUTOZeroCodeService constructs an entity metadata container EDC and completes the following steps: ① Database metadata collection (i.e., obtaining data table attribute data): According to the database information configured by the application, obtain the updated data table from the database, and obtain the updated field, updated field type, updated field length, and updated field description of each updated data table, and build a metadata object based on the updated table name (i.e., determine the correspondence between the updated table name and the updated field, updated field type, updated field length, and updated field description), put it into the initial entity container, and obtain the reference entity container. ② Java metadata escape: By iterating over the entity metadata container (i.e., the reference entity container), metadata objects are processed. First, the updated table name is obtained and camel-case escaped to obtain the table entity name (e.g., if the updated table name is test_user, the escaped table entity name is TestUser). Next, all fields in each updated table are obtained and camel-case escaped to obtain the program attribute name (i.e., the first letter of the escaped field must be lowercase). The updated field type is obtained and, based on the correspondence between Java field types and database field types, the field type is converted. Java fields are also upgraded based on the length of the updated field (e.g., if a Java field is a float, it is upgraded to a BigDecimal based on the database field length; if a Java field is an Integer, it is upgraded to a Long based on the database field length). ③ Java metadata expansion: This is accomplished through Java metadata escape. By obtaining the escaped table name (i.e., the table entity name), the corresponding Mapper name (i.e., the interaction instance name), Service name (i.e., the logical instance name), and Control name (i.e., the control instance name) are generated based on the table entity name. For example, the data table metadata in the target entity container is shown in Table 1.

[0102] Table 1 Data table metadata

[0103]

[0104] Among them, instance-related data A represents the instance-related data corresponding to the data table entity name; instance-related data B represents the instance-related data corresponding to the interaction instance name; instance-related data C represents the instance-related data corresponding to the logical instance name; and instance-related data D represents the instance-related data corresponding to the control instance name.

[0105] Specifically, after the update field type is converted to the program field type according to the correspondence between the Java field type and the database field type, if the character length that can be stored in the database of the update field type is greater than the preset character length threshold, the program field type is upgraded based on the field type upgrade correspondence. The embodiment of the present invention does not impose any restrictions on the size of the preset character length threshold, which can be set by technicians based on experience or needs, or repeatedly determined through a large number of experiments. The field type upgrade correspondence refers to the correspondence between the converted program field type and the upgraded program field type.

[0106] Exemplary, Java class association (i.e., determining instance-related data): by detecting in the spring container (i.e., the initial instance container), obtain the Mapper name, Service name, and Control name of the EDC object, and lowercase the first letter of the name, and continuously detect in the spring container to determine whether the spring container object can be obtained. If the object can be obtained, first obtain the object of the Mapper name (i.e., determine the target interaction instance), and obtain the Mapper metadata (i.e., interaction metadata) through the mybatis configuration management object. Through the metadata object (i.e., interaction metadata), determine whether the StatementType or ResultSetType and the associated entity name (i.e., interaction-related entity name) are consistent. If they are consistent, fill in the associated Mapper full path name (i.e., interaction instance path name) in the instance-related data B, and put the extracted StatementType or ResultSetType full path (i.e., interaction parameter path) into the instance-related data A of the entity name in the data table; secondly, scan the Service name and Control name to determine whether the object of the Service name references the Mapper object, and whether the Control name object references the object of the Service name. If both exist, put them into the instance-related data C and instance-related data D.

[0107] For example, zero-code service construction: For zero-code service construction, the main focus is on building a zero-code service portrait, including adding, deleting, modifying, importing, exporting, and various query services. A complete zero-code service is established around the database table. The construction of the service is mainly divided into whether it is related to the current Java and different treatments are performed.

[0108] Specifically, if the updated data table is a linked table, it indicates that the original code framework already exists in the current code, eliminating the need to introduce a Mapper. Only the Service and Control objects need to be processed. The service container object (i.e., the candidate logic instance) is obtained, and all public methods of the object are extracted (i.e., candidate logic methods are obtained). Semantic understanding is performed, and the method code of the linked object is reasoned to determine the intent of the current method (i.e., candidate logic functions). The zero-code service profile service is then matched (i.e., candidate logic functions are matched with program logic parameters to obtain a reference logic method). The method parameters are also extracted (i.e., reference logic parameters). If a service corresponds to multiple existing services, a one-to-many relationship is established in the service profile. Proxies for the Service and Control are created (i.e., initial logic proxy instances and initial control proxy instances are created), and existing Service and Control objects are proxied (i.e., candidate logic instances and candidate control instances are proxied). These proxies are then replaced in the Spring container. In the Control proxy, when a service request is received, the corresponding zero-code service profile is obtained. If a one-to-many situation exists, the current request parameters are retrieved and, based on the request parameters, the intent of the current service request is automatically determined, and the service is called.

[0109] Specifically, if the updated data table is not an associated data table, first build a virtual Mapper class (that is, a virtual interface class), inherit BaseMapper, and put the virtual Mapper class into the Mapper metadata (that is, interface metadata) of the mybatis configuration manager (that is, interface configurator) to complete the mapper injection. At the same time, build the chain call proxy service of Control and Service (that is, build a virtual logic instance and a virtual control instance), and finally call the mapper object, and put the chain call proxy service into the spring container.

[0110] For example, after building instances for both associated and unassociated data tables, the entire zero-code service is built. For unassociated data tables, the target entity container is scanned again. Based on each table's metadata, the Spring MVC service's HanderMapping (processor mapping) is updated with the zero-code service path and Control object mappings for the tables. This ensures that the created virtual interaction instances, virtual logic instances, and virtual control instances take effect. For associated data tables, the HanderMapping requires selecting the added instance-related data to retrieve and modify it. The purpose of these HanderMapping operations is to support front-end access.

[0111] Example 4

[0112] Figure 3 This is a schematic diagram of the structure of a program zero-code update device provided in Embodiment 4 of the present invention. This embodiment is applicable to situations where a program is updated with zero code. The method can be performed by a program zero-code update device, which can be implemented using software and / or hardware and can be configured in an electronic device that supports the program zero-code update function.

[0113] like Figure 3 As shown, the device includes: a target framework file determination module 310, a target entity container determination module 320, a candidate processing method determination module 330, a target instance container determination module 340 and a program update module 350.

[0114] The target framework file determination module 310 is used to obtain program update data and candidate code framework files of the program to be updated, and determine whether the candidate code framework file is the target code framework file based on preset framework judgment data;

[0115] a target entity container determining module 320 configured to, if yes, determine the data table attribute data of the update data table corresponding to the program to be updated, and update the initial entity container based on the program update data, the data table attribute data, a pre-built initial entity container, and the initial instance container corresponding to the program to be updated to obtain a target entity container;

[0116] a candidate processing method determination module 330 for determining, based on the data table metadata of the updated data table in the target entity container, whether the corresponding updated data table is a related data table, and if so, determining a candidate processing method under the candidate processing instance in the initial instance container;

[0117] A target instance container determination module 340 is configured to construct an initial proxy instance, update the initial instance container according to the program update data, the candidate processing method, and the initial proxy instance, and obtain a target instance container;

[0118] The program updating module 350 is configured to update the program to be updated according to the target instance container, the target entity container and the program updating data.

[0119] An embodiment of the present invention provides a program zero-code update solution, which obtains program update data and candidate code framework files of a program to be updated, and determines whether the candidate code framework file is a target code framework file based on preset framework judgment data; if so, determines data table attribute data of an update data table corresponding to the program to be updated, and updates the initial entity container based on the program update data, the data table attribute data, a pre-built initial entity container, and an initial instance container corresponding to the program to be updated to obtain a target entity container; determines whether the corresponding update data table is an associated data table based on the data table metadata of the update data table in the target entity container, and if so, determines candidate processing methods under candidate processing instances in the initial instance container; constructs an initial proxy instance, and updates the initial instance container based on the program update data, the candidate processing methods, and the initial proxy instance to obtain a target instance container; and updates the program to be updated based on the target instance container, the target entity container, and the program update data. The above scheme obtains the target entity container by updating the initial entity container, and determines whether the updated data table is an associated data table based on the data table metadata in the target entity container. If so, the target instance container is obtained based on the candidate processing method under the candidate processing instance in the initial instance container, the initial proxy instance and the program update data. Finally, based on the target instance container, the target entity container and the program update data, the program to be updated is updated, thereby realizing zero-code update of the program and improving the efficiency of program update.

[0120] Optionally, the target entity container determination module 320 includes:

[0121] A reference entity container determining unit, configured to store the data table attribute data in the initial entity container to obtain a reference entity container; wherein the data table attribute data includes an updated table name, an updated field type, and an updated field name;

[0122] An instance query name determining unit, configured to perform escape processing on the update table name to obtain a corresponding data table entity name, and determine an instance query name based on the data table entity name;

[0123] The target entity container determination unit is used to determine the instance association data corresponding to the data table entity name and the instance query name according to the instance query name, the program update data and the initial instance container, and update the reference entity container according to the instance association data to obtain the target entity container.

[0124] Optionally, if the instance query name includes an interaction instance name, a logic instance name, and a control instance name, the target entity container determining unit includes:

[0125] a target interaction instance determination subunit, configured to determine whether a target interaction instance matching the interaction instance name exists in the initial instance container, and if so, to obtain the interaction metadata and interaction-related entity name of the target interaction instance;

[0126] an instance verification subunit, configured to verify the target interaction instance according to the interaction metadata, the interaction-related entity name, and the program update data;

[0127] a first instance association data determination subunit, configured to determine, if the verification is successful, instance association data corresponding to the data table entity name and the interaction instance name according to the interaction association path data of the target interaction instance;

[0128] a target instance determination subunit, configured to determine, from the initial instance container, a target logical instance corresponding to the logical instance name and a target control instance corresponding to the control instance name;

[0129] The second instance association data determination subunit is configured to determine the instance association data corresponding to the logic instance name and the control instance name respectively according to the reference relationship among the target interaction instance, the target logic instance and the target control instance.

[0130] Optionally, the device further includes:

[0131] The third instance-related data determining subunit is configured to determine that the instance-related data corresponding to the corresponding data table entity name and instance query name is empty if the target interaction instance corresponding to the interaction instance name does not exist in the initial instance container.

[0132] Optionally, the first instance associated data determining subunit is specifically configured to:

[0133] Determine the interaction instance path name of the target interaction instance, and use the interaction instance path name as instance association data corresponding to the interaction instance name;

[0134] An interaction parameter path of the target interaction instance is determined, and the interaction parameter path is used as instance association data of the data table entity name.

[0135] Optionally, the target instance container determination module 340 is specifically configured to:

[0136] determining candidate processing functions of the candidate processing methods, and determining a reference processing method from the candidate processing methods based on the candidate processing functions and the program processing requirements in the program update data;

[0137] updating the initial proxy instance according to the reference processing parameters in the reference processing method to obtain a candidate proxy instance, and determining a target processing method from the reference processing methods according to the candidate proxy instance and the program update parameters in the program update data;

[0138] According to the target processing method, the candidate proxy instance is updated to obtain a target proxy instance, and the candidate processing instance is proxied according to the target proxy instance to obtain a target instance container.

[0139] Optionally, after determining whether the corresponding updated data table is an associated data table based on the data table metadata of the updated data table in the target entity container, the apparatus further includes:

[0140] a virtual interaction instance determination module for, if not, constructing a virtual interface class of the corresponding update data table, and determining the corresponding virtual interaction instance based on the virtual interface class and the interface metadata in the interface configurator;

[0141] The initial instance container update module is used to construct corresponding virtual logic instances and virtual control instances according to the virtual interaction instance, and store the virtual interaction instance, the virtual logic instance and the virtual control instance in the initial instance container to obtain a target instance container.

[0142] The program zero-code update device provided in the embodiment of the present invention can execute the program zero-code update method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of executing each program zero-code update method.

[0143] In the technical solution of the present invention, the collection, storage, use, processing, transmission, provision and disclosure of the programs to be updated, program update data, candidate code framework files, preset framework judgment data and data table attribute data, etc., all comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0144] Example 5

[0145] Figure 44 is a structural diagram of an electronic device for implementing a program zero-code update method provided in Example 5 of the present invention. The electronic device 410 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0146] like Figure 4 As shown, electronic device 410 includes at least one processor 411 and memory, such as read-only memory (ROM) 412 and random access memory (RAM) 413, communicatively connected to at least one processor 411. The memory stores computer programs executable by the at least one processor. Processor 411 can perform various appropriate actions and processes based on the computer programs stored in ROM 412 or loaded from storage unit 418 into RAM 413. RAM 413 can also store various programs and data required for the operation of electronic device 410. Processor 411, ROM 412, and RAM 413 are interconnected via bus 414. An input / output (I / O) interface 415 is also connected to bus 414.

[0147] Multiple components in electronic device 410 are connected to I / O interface 415, including an input unit 416, such as a keyboard, mouse, etc.; an output unit 417, such as various types of displays, speakers, etc.; a storage unit 418, such as a magnetic disk, optical disk, etc.; and a communication unit 419, such as a network card, modem, wireless communication transceiver, etc. The communication unit 419 allows electronic device 410 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0148] Processor 411 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of processor 411 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any other suitable processor, controller, microcontroller, etc. Processor 411 executes the various methods and processes described above, such as the zero-code program update method.

[0149] In some embodiments, the program zero-code update method can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 418. In some embodiments, part or all of the computer program can be loaded and / or installed on electronic device 410 via ROM 412 and / or communication unit 419. When the computer program is loaded into RAM 413 and executed by processor 411, one or more steps of the program zero-code update method described above can be performed. Alternatively, in other embodiments, processor 411 can be configured to perform the program zero-code update method in any other appropriate manner (e.g., via firmware).

[0150] Various embodiments of the systems and techniques described above 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), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes 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.

[0151] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program may be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0152] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device, or apparatus. A computer-readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media may include an electrical connection based on one or more wires, 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.

[0153] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device that has: 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 electronic device. 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).

[0154] The systems and techniques described herein can 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 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 can 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), a blockchain network, and the Internet.

[0155] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.

[0156] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.

[0157] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.

Claims

1. A program zero-code update method, characterized in that: include: Obtaining program update data and a candidate code framework file of the program to be updated, and determining whether the candidate code framework file is a target code framework file based on preset framework judgment data; If so, determining data table attribute data of the update data table corresponding to the program to be updated, and updating the initial entity container according to the program update data, the data table attribute data, a pre-built initial entity container, and the initial instance container corresponding to the program to be updated to obtain a target entity container; determining, based on the data table metadata of the updated data table in the target entity container, whether the corresponding updated data table is a related data table, and if so, determining a candidate processing method under the candidate processing instance in the initial instance container; Constructing an initial proxy instance, and updating the initial instance container according to the program update data, the candidate processing method and the initial proxy instance to obtain a target instance container; The program to be updated is updated according to the target instance container, the target entity container and the program update data.

2. The method according to claim 1, characterized in that The updating of the initial entity container according to the program update data, the data table attribute data, the pre-built initial entity container, and the initial instance container corresponding to the program to be updated to obtain a target entity container includes: Storing the data table attribute data in the initial entity container to obtain a reference entity container; wherein the data table attribute data includes an updated table name, an updated field type, and an updated field name; Performing escape processing on the update table name to obtain a corresponding data table entity name, and determining an instance query name based on the data table entity name; According to the instance query name, the program update data and the initial instance container, the instance association data corresponding to the data table entity name and the instance query name are determined respectively, and the reference entity container is updated according to the instance association data to obtain the target entity container.

3. The method according to claim 2, characterized in that If the instance query name includes an interaction instance name, a logic instance name, and a control instance name, then determining the data table entity name and the instance association data corresponding to the instance query name according to the instance query name, the program update data, and the initial instance container, respectively, includes: Determine whether a target interaction instance matching the interaction instance name exists in the initial instance container; if so, obtain the interaction metadata and interaction-related entity name of the target interaction instance; Verifying the target interaction instance according to the interaction metadata, the interaction-related entity name, and the program update data; If the verification is successful, then determining the instance association data corresponding to the data table entity name and the interaction instance name respectively according to the interaction association path data of the target interaction instance; Determine, from the initial instance container, a target logical instance corresponding to the logical instance name and a target control instance corresponding to the control instance name; According to the reference relationship among the target interaction instance, the target logic instance and the target control instance, the instance association data corresponding to the logic instance name and the control instance name are determined respectively.

4. The method according to claim 3, characterized in that The method further comprises: If the target interaction instance corresponding to the interaction instance name does not exist in the initial instance container, it is determined that the instance association data corresponding to the corresponding data table entity name and instance query name is empty.

5. The method according to claim 3, characterized in that The determining, based on the interaction association path data of the target interaction instance, the instance association data corresponding to the data table entity name and the interaction instance name, respectively, includes: Determine the interaction instance path name of the target interaction instance, and use the interaction instance path name as instance association data corresponding to the interaction instance name; An interaction parameter path of the target interaction instance is determined, and the interaction parameter path is used as instance association data of the data table entity name.

6. The method according to claim 1, characterized in that The updating of the initial instance container according to the program update data, the candidate processing method, and the initial proxy instance to obtain a target instance container includes: determining candidate processing functions of the candidate processing methods, and determining a reference processing method from the candidate processing methods based on the candidate processing functions and the program processing requirements in the program update data; updating the initial proxy instance according to the reference processing parameters in the reference processing method to obtain a candidate proxy instance, and determining a target processing method from the reference processing methods according to the candidate proxy instance and the program update parameters in the program update data; According to the target processing method, the candidate proxy instance is updated to obtain a target proxy instance, and the candidate processing instance is proxied according to the target proxy instance to obtain a target instance container.

7. The method according to any one of claims 1 to 6, characterized in that After determining whether the corresponding updated data table is an associated data table based on the data table metadata of the updated data table in the target entity container, the method further includes: If not, construct a virtual interface class corresponding to the updated data table, and determine a corresponding virtual interaction instance based on the virtual interface class and the interface metadata in the interface configurator; According to the virtual interaction instance, a corresponding virtual logic instance and a virtual control instance are constructed, and the virtual interaction instance, the virtual logic instance and the virtual control instance are stored in the initial instance container to obtain a target instance container.

8. A program zero-code update device, characterized in that: include: a target framework file determination module, configured to obtain program update data and a candidate code framework file of the program to be updated, and determine whether the candidate code framework file is a target code framework file based on preset framework judgment data; a target entity container determination module, configured to, if yes, determine data table attribute data of the update data table corresponding to the program to be updated, and update the initial entity container according to the program update data, the data table attribute data, a pre-built initial entity container, and an initial instance container corresponding to the program to be updated, to obtain a target entity container; a candidate processing method determination module, configured to determine, based on the data table metadata of the updated data table in the target entity container, whether the corresponding updated data table is a related data table, and if so, determine a candidate processing method under the candidate processing instance in the initial instance container; a target instance container determination module, configured to construct an initial proxy instance, update the initial instance container according to the program update data, the candidate processing method, and the initial proxy instance, and obtain a target instance container; A program update module is used to update the program to be updated according to the target instance container, the target entity container and the program update data.

9. An electronic device, characterized in that: include: one or more processors; a memory for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement a program zero-code update method as described in any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, a program zero-code update method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Low-code development framework based on configuration file and inertia principle

    CN111880782A

  • Container handover for device updates

    US10007509B1