Development System with Automatic Upgrade Function and Automatic Upgrade Method of Development System
By automatically analyzing and installing the software package version, the problem of manually modifying the software package list and configuration files in the development system upgrade is solved, and the development system is automated and flexible upgraded.
Patent Information
- Application Number
- CN202210382594.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-13
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2042-04-13
AI Technical Summary
During the upgrade of the existing development system, developers need to manually modify the software package list and configuration files, which are expensive to learn and prone to human operation errors, and the automated upgrade solution cannot adapt to application modules in different demand situations.
Adopt a development system with automatic upgrade function, analyzes the software package version through the processor, maintains the software package list, and obtains the new version of the software package from the repository, automatically installs and corrects related configuration files to achieve automatic upgrade of the development system.
It reduces the learning costs of developers, avoids manual operation errors, and realizes automation and flexible upgrades of the development system.
Smart Images

Figure CN114741102B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a software system technology, in particular to a development system with an automatic upgrade function and an automatic upgrade method for the development system. Background Art
[0002] Currently, tools for upgrading a development system usually only upgrade the software packages within the software package list. When a software package needs to be deleted because the development system no longer supports it, or when a new requirement scenario necessitates a software package and a new software package needs to be added, developers have to manually modify the software package list. Even after successfully upgrading and installing the software package, developers still need to modify other relevant configuration files of the software package, and even the configuration files of third-party software packages and the platform architecture. In this case, developers have to first learn the new syntax and / or the usage method of the new version of the software package in order to find out which source codes in the development system need to be manually corrected one by one. For developers, the learning threshold is high and it is difficult to avoid human operation errors. Developers must be familiar with the dependency relationships between third-party software packages, the dependency relationships between application software packages, and / or the dependency relationships between application software packages and third-party software packages in order to maintain the software package list. In addition, the current common automatic upgrade solutions for development systems must be carried out on a cloud server, or the local client is connected to the cloud server, and then the server notifies or controls the upgrade method. It cannot be flexibly applied to application modules in different demand scenarios. Summary of the Invention
[0003] The present invention is directed to a development system with an automatic upgrade function and an automatic upgrade method for the development system, which can automatically and efficiently upgrade the development system.
[0004] According to an embodiment of the present invention, the development system with an automatic upgrade function of the present invention includes a storage device and a processor. The storage device stores a plurality of application modules, an application software upgrade method package, and a plurality of software packages corresponding to the plurality of application modules. The processor is coupled to the storage device and executes the application software upgrade method package to execute an upgrade development system program, wherein the upgrade development system program includes: the processor analyzes the versions of the plurality of software packages, and the processor maintains a software package list according to the analysis result, the processor reads a software repository according to the software package list to obtain a new version of the software package, and the processor installs the new version of the software package to upgrade at least one of the plurality of application modules.
[0005] According to an embodiment of the present invention, the automatic upgrade method for the development system of the present invention includes executing an application software upgrade method package to execute an upgrade development system program; analyzing the versions of the plurality of software packages, and maintaining a software package list according to the analysis result; reading a software repository according to the software package list to obtain a new version of the software package; and installing the new version of the software package to upgrade at least one of the plurality of application modules.
[0006] Based on the above, the development system with an automatic upgrade function and the automatic upgrade method of the development system according to the present invention can automatically upgrade the development system by using the application software upgrade method package and the software package list.
[0007] To make the above features and advantages of the present invention more obvious and understandable, specific embodiments are given below and will be described in detail in conjunction with the accompanying drawings. Description of the Drawings
[0008] Figure 1 is a schematic diagram of a development system with an automatic upgrade function according to an embodiment of the present invention;
[0009] Figure 2 is a flowchart of an automatic upgrade method of a development system according to an embodiment of the present invention;
[0010] Figure 3 is a flowchart of a self-update program of an application software upgrade method package according to an embodiment of the present invention;
[0011] Figure 4 is a flowchart of a program for upgrading a development system according to an embodiment of the present invention;
[0012] Figure 5A and Figure 5B is a schematic diagram of a program for upgrading a development system according to an embodiment of the present invention;
[0013] Figure 6 is a flowchart of a program for correcting a development system according to an embodiment of the present invention;
[0014] Figure 7 is a schematic diagram of a program for correcting a development system according to an embodiment of the present invention;
[0015] Figure 8 is a schematic diagram of a program for correcting a development system according to another embodiment of the present invention.
[0016] Description of the Reference Numerals
[0017] 100: Development System;
[0018] 110: Storage Device;
[0019] 111a, 111b: Application Modules;
[0020] 112: Application Software Upgrade Method Package;
[0021] 113a, 113b: Applications;
[0022] 120: Processor;
[0023] 200: Software Repository;
[0024] S210 - S240, S310 - S360, S410 - S490, S501 - S503, S601 - S603: Steps. Detailed implementation
[0025] Now, a detailed reference will be made to the exemplary embodiments of the present invention, and examples of the exemplary embodiments are illustrated in the accompanying drawings. Whenever possible, the same component symbols are used in the drawings and the description to represent the same or similar parts.
[0026] Figure 1 is a schematic diagram of a development system 100 with an automatic upgrade function according to an embodiment of the present invention. Refer to Figure 1 , the development system 100 includes a storage device 110 and a processor 120. The processor 120 is coupled to the storage device 110. In this embodiment, the development system 100 is, for example, a web development system, but the present invention is not limited thereto. In this embodiment, the storage device 110 stores a plurality of application modules (application module 111a and application module 111b), an application software upgrade method package 112, and a plurality of software packages corresponding to the plurality of application modules. It should be noted that Figure 1 the number of application modules shown is only for illustration, and the present invention is not limited thereto. In this embodiment, the software package may include a plurality of application software packages and a plurality of third - party software packages, and the software repository 200 may, for example, include an application software package repository and a third - party software package repository. In this embodiment, the storage device 110 may store a software package list. The software package list is used to record the dependency relationships between the plurality of application modules and the plurality of software packages, as well as the version information of the plurality of software packages.
[0027] For example, developers can extract the application software packages by using the modules, functions, and / or core functions shared by the development system 100 and other development systems. Developers can flexibly select application software packages and / or third - party software packages according to their needs. And, when installing the software package, the development system 100 can automatically install the software package according to the software package list. The development system 100 superimposes and develops exclusive application modules on this architecture, which exist in the form of source code. When the development system 100 executes the upgrade development system program, the software package can be upgraded by installation, and the application module needs to correct the source code affected by the software package.
[0028] In this embodiment, the processor 120 may include a Central Processing Unit (CPU), or other programmable general-purpose or special-purpose microprocessors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Programmable Logic Devices (PLDs), other similar processing circuits, or combinations of these devices. The storage device 110 may include a memory and / or a database, where the memory may be, for example, a Non-Volatile Memory (NVM). The storage device 110 may store relevant programs, modules, systems, or algorithms for implementing the embodiments of the present invention for the processor 120 to access and execute to implement the relevant functions and operations described in the embodiments of the present invention.
[0029] Figure 2 is a flowchart of an automatic upgrade method for a development system according to an embodiment of the present invention. Refer to Figure 1 and Figure 2 , Figure 1 the development system 100 may execute the following steps S210 to S240. In step S210, the processor 120 may execute the application software upgrade method package 112 to execute the upgrade of the development system program. In this embodiment, the method, rules, logic, process control, and / or script for upgrading the development system program of the development system 100 may be included in the application software upgrade method package 112 and is also one of the packages of the application software package. The development system 100 can automatically execute the upgrade of the development system program by executing the script of the application software upgrade method package 112. In step S220, the processor 120 may analyze the versions of multiple software packages and maintain a software package list according to the analysis results. Specifically, the processor 120 may analyze the versions of the application software package and the third-party software package and maintain a software package list according to the analysis results.
[0030] In step S230, the processor 120 may read the software repository 200 according to the software package list to obtain a new version of the software package. Specifically, the processor 120 may read the application software package repository and the third-party software package repository according to the software package list to obtain a new version of the software package. In step S240, the processor 120 may install the new version of the software package to upgrade at least one of multiple application modules (application module 111a and application module 111b). When executing Figure 2Before the automatic upgrade method of the development system shown, the processor 120 can execute the self-update program of the application software upgrade method package 112. Specifically, the processor 120 can receive the upgrade target version parameter and execute the self-update program of the application software upgrade method package 112 according to the upgrade target version parameter. This will be further described below.
[0031] Figure 3 is a flowchart of the self-update program of the application software upgrade method package 112 according to an embodiment of the present invention. Refer to Figure 1 and Figure 3 , Figure 1 The development system 100 can execute steps S310 to S350 as follows, and the following steps S310 to S350 can be performed in step S210 of the above Figure 2 embodiment. In step S310, the processor 120 can receive the upgrade target version parameter (input by a user, for example). In step S320, the processor 120 can determine whether to execute the self-update program of the application software upgrade method package 112 according to the upgrade target version parameter.
[0032] If the processor 120 determines that it is not necessary to execute the self-update program of the application software upgrade method package 112 (the judgment result of step S320 is "no"), then in step S350, the processor 120 can execute the upgrade development system program. Subsequent embodiments will further describe the upgrade development system program. In step S360, the processor 120 can execute the correction development system program. Subsequent embodiments will further describe the correction development system program.
[0033] If the processor 120 determines that it is necessary to execute the self-update program of the application software upgrade method package 112 (the judgment result of step S320 is "yes"), then the processor 120 can create a first thread and a second thread. Then, in step S330, the processor 120 can update the application software upgrade method package 112 according to the first thread. The processor 120 can execute an installation command (a command to install the application software upgrade method package 112) according to the first thread to download a new version of the application software upgrade method package 112 from the application software package repository and install the new version of the application software upgrade method package 112, where the new version is the version indicated in the upgrade target version parameter. Then, in step S340, the processor 120 can re-execute the application software upgrade method package 112 according to the second thread. In other words, the processor 120 can re-execute the automation script of the new version of the application software upgrade method package 112 according to the second thread and automatically pass the original upgrade target version parameter to the automation script. After executing step S340, the processor 120 re-executes step S310. In addition, the upgrade development system program in step S350 will be further described below. Figure 3 the upgrade development system program in step S350.
[0034] Figure 4 This is a flowchart of the upgrade development system program of an embodiment of the present invention. Refer to Figure 1 and Figure 4 , Figure 1 The development system 100 can execute the following steps S410 to S490, and Figure 4 is Figure 3 a further description of step S350 in
[0035] In this embodiment, the processor 120 can determine whether the version information of multiple application software packages and multiple third-party software packages needs to be adjusted to maintain the software package list and modify the corresponding configuration file. In step S410, the processor 120 can analyze the versions of multiple software packages. The processor 120 searches for the version information of the installed application software packages in the installation directory of the software package to obtain the upgrade start version information (from which version the upgrade development system program starts to upgrade). Then, the processor 120 can receive parameters from outside the development system 100, convert the version format into the version format of the application software package to obtain the upgrade target version information (to which version the upgrade development system program is to be upgraded). In step S420, the processor 120 can store the analysis result in the version data model (stored in the storage device 110).
[0036] In step S430, the processor 120 can determine whether a third-party software package needs to be deleted, added, or upgraded. Specifically, the processor 120 can parse the software package list and determine whether the version of the third-party software package on which it depends needs to be deleted, added, and / or upgraded. If the processor 120 determines that the third-party software package needs to be deleted, added, or upgraded (the judgment result in step S430 is "yes"), in step S440, the processor 120 maintains the software package list to set the version of the third-party software package. Specifically, the processor 120 can set the name and version number of the third-party software package in the software package list, and the upgraded and added versions are the versions specified for use by the application module. In step S450, the processor 120 can modify the third-party software package and other relevant configuration files.
[0037] If the processor 120 determines that the application software package needs to be deleted, added, or upgraded (the determination result in step S460 is "yes"), in step S470, the processor 120 maintains a software package list to set the version of the application software package. Specifically, the processor 120 sets the name and version number of the application software package in the software package list, and the upgraded and added versions are the same as the upgrade target version information or the version specified for use by the application module.
[0038] In step S480, the processor 120 may modify the application software package and other related configuration files. If the processor 120 determines that the application software package does not need to be deleted, added, or upgraded (the determination result in step S460 is "no"), then in step S490, the processor 120 may install a third-party software package and / or an application software package. Specifically, the processor 120 may download and install the software package from the application software package repository and the third-party software package repository according to the software package list.
[0039] Figure 5A and Figure 5B is a schematic diagram of an upgrade and development system program according to an embodiment of the present invention. For example, as Figure 5A shown, the storage device 110 may also store the application 113a and the application 113b. The application 113a and / or the application 113b are, for example, web applications. Specifically, the application 113a may have the application module 111a and / or the application module 111b, and the application 113b may have the application module 111a and / or the application module 111b. The software package list of the application 113a records the dependency relationships between the application 113a and the application software packages A, B, C, D, and the third-party software package F. On the other hand, the software package list of the application 113b records the dependency relationships between the application 113b and the application software packages A, B, C, and the third-party software package F.
[0040] Please also refer to Figure 1 、 Figure 5A and Figure 5BWhen the third-party software package F is deprecated or the development system 100 no longer supports the third-party software package F, the steps for the processor 120 to maintain the software package list of the application 113a and the software package list of the application 113b may include the following steps S501 to S503. In step S501, the processor 120 may delete the dependency of the third-party software package F from the software package list of the application 113a and delete the dependency of the third-party software package F from the software package list of the application 113b. In step S502, the processor 120 may add the dependency of the third-party software package G to the software package list of the application 113a and add the dependency of the third-party software package G to the software package list of the application 113b. In step S503, the processor 120 may upgrade the versions of the application software packages A, B, C, and D in the software package list of the application 113a and upgrade the versions of the application software packages A, B, and C in the software package list of the application 113b.
[0041] After the processor 120 completes the upgrade of the development system program, the processor 120 may execute the corrective development system program. The methods, rules, logic, process control, and / or scripts of the corrective development system program of the development system 100 are included in the application software upgrade method package 112 and are also one of the packages of the application software package. The processor 120 can automatically execute the corrective development system program by executing the script. Specifically, for the version information of each application software package, upgrade rules exclusive to the version information can be designed, and special processing logics for the upgrade can be customized. For example, automatically correct the program syntax, service and component usage syntax, and configuration file changes of third-party software packages and application software packages caused by destructive updates. One version information can have zero to multiple upgrade rules. If there are multiple version information, the upgrade rules can be executed in the order of the serial numbers.
[0042] Figure 6 is a flowchart of the corrective development system program of an embodiment of the present invention. Refer to Figure 1 and Figure 6 , Figure 1 the development system 100 of can execute the following steps S610 to S603, and Figure 6 is Figure 3 a further description of step S360. In step S601, the processor 120 may read the version data model to obtain the upgrade start version information and the upgrade target version information corresponding to the software package after the update version. In step S602, the processor 120 may map the upgrade rule range according to the upgrade start version information and the upgrade target version information, and read the upgrade rule list from the storage device 110. The upgrade rule list may record the version number of the upgrade rule and the corresponding rule function. In step S603, the processor 120 may execute the corresponding rule function according to the upgrade rule list.
[0043] Figure 7 It is a schematic diagram of a modified development system program of an embodiment of the present invention. Please also refer to Figure 1 , Figure 6 and Figure 7 . For example, as Figure 7 shows, when the upgrade start version information obtained by the processor 120 is version 4.1.0.0, and the upgrade target version information obtained by the processor 120 is version 4.1.0.2 (upgrading from version 4.1.0.0 to version 4.1.0.2). The processor 120 can map the upgrade rule range according to the upgrade start version information and the upgrade target version information, and read the upgrade rule list. Since there is no upgrade rule in the upgrade rule range mapped according to the upgrade start version information (version 4.1.0.0) and the upgrade target version information (version 4.1.0.2), the development system 100 will be upgraded to version 4.1.0.2, and the processor 120 does not need to execute the upgrade rule (and the corresponding rule function).
[0044] Figure 8 It is a schematic diagram of a modified development system program of another embodiment of the present invention. Please also refer to Figure 1 , Figure 6 and Figure 8 . Again, for example, as Figure 8 shows, when the upgrade start version information obtained by the processor 120 is version 4.1.0.0, and the upgrade target version information obtained by the processor 120 is version 4.2.0.0 (upgrading from version 4.1.0.0 to version 4.2.0.0), the processor 120 can map the upgrade rule range according to the upgrade start version information and the upgrade target version information, and read the upgrade rule list. Since there is an upgrade rule in the upgrade rule range mapped according to the upgrade start version information (version 4.1.0.0) and the upgrade target version information (version 4.2.0.0), the development system 100 will be upgraded to version 4.2.0.0, and the processor 120 will sequentially execute the rule functions corresponding to the upgrade rule 4.1.0-003-01, the rule functions corresponding to the upgrade rule 4.1.0-003-02, the rule functions corresponding to the upgrade rule 4.2.0-000-01, the rule functions corresponding to the upgrade rule 4.2.0-000-02, and the rule functions corresponding to the upgrade rule 4.2.0-000-03.
[0045] In summary, the development system with an automatic upgrade function and the automatic upgrade method of the development system according to the present invention enable developers to avoid the high learning cost of learning to upgrade the development system, and also eliminate operation errors in the manual step-by-step upgrade during the automation process. The application software upgrade method package can execute a self-update program, and after the self-update of the application software upgrade method package, it will automatically execute the development system upgrade program and correct the development system program with the new version logic. In addition, the development system upgrade program can automatically determine whether the version information of the application software package and the third-party software package needs to be adjusted, so as to maintain the software package list and modify the corresponding configuration file, thereby enabling the automatic and efficient upgrade of the development system.
[0046] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements on some or all of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A development system with an automatic upgrade function, characterized in that Comprising: A storage device that stores a plurality of application modules, an application software upgrade method package, and a plurality of software packages corresponding to the plurality of application modules; And A processor coupled to the storage device and executing the application software upgrade method package to execute an upgrade development system program, where the upgrade development system program includes: The processor analyzes the versions of the plurality of software packages, and the processor maintains a software package list according to the analysis result; The processor reads a software repository according to the software package list to obtain a new version of the software package, and the processor installs the new version of the software package to upgrade at least one of the plurality of application modules; Wherein the software package includes a plurality of application software packages and a plurality of third-party software packages, and the software repository includes an application software package repository and a third-party software package repository; Wherein the processor receives upgrade target version parameters and executes a self-update program of the application software upgrade method package according to the upgrade target version parameters; Wherein the self-update program includes: The processor creates a first thread and a second thread, the processor updates the application software upgrade method package according to the first thread, and the processor re-executes the application software upgrade method package according to the second thread; Wherein the development system is a web development system; Wherein the processor executes an installation command according to the first thread to download a new version of the application software upgrade method package from the application software package repository and install the new version of the application software upgrade method package.
2. The development system according to claim 1, characterized in that, The processor determines whether the version information of the plurality of application software packages and the plurality of third-party software packages needs to be adjusted to maintain the software package list and modify the corresponding configuration file.
3. The development system according to claim 1, characterized in that, The processor stores the analysis result in a version data model stored in the storage device.
4. The development system according to claim 3, characterized in that, After the processor completes the upgrade development system program, the processor executes a correction development system program, where the correction development system program includes: The processor reads the version data model to obtain upgrade start version information and upgrade target version information corresponding to the software package after the update; The processor maps an upgrade rule range according to the upgrade start version information and the upgrade target version information and reads an upgrade rule list; The processor executes a corresponding rule function according to the upgrade rule list.
5. The development system according to claim 1, characterized in that The software package list is used to record the dependency relationship between the plurality of application modules and the plurality of software packages and the version information of the plurality of software packages.
6. An automatic upgrade method for a development system, characterized in that, Comprising: Executing an application software upgrade method package to execute an upgrade development system program; Analyzing the versions of a plurality of software packages and maintaining a software package list according to the analysis result; Reading a software repository according to the software package list to obtain a new version of the software package; And Installing the new version of the software package to upgrade at least one of the plurality of application modules; Wherein the software package includes a plurality of application software packages and a plurality of third-party software packages, and the software repository includes an application software package repository and a third-party software package repository; The automatic upgrade method further includes: Receiving upgrade target version parameters; and Executing the self-update program of the application software upgrade method package according to the upgrade target version parameters, wherein the self-update program includes: Establishing a first thread and a second thread; Updating the application software upgrade method package according to the first thread; and Re-executing the application software upgrade method package according to the second thread, wherein the development system is a web development system, wherein the step of updating the application software upgrade method package includes: Executing an installation command according to the first thread to download a new version of the application software upgrade method package from the application software package repository; and Installing the new version of the application software upgrade method package.
7. The automatic upgrade method according to claim 6, wherein wherein the step of analyzing the versions of the multiple software packages and maintaining the software package list according to the analysis result includes: Judging whether the version information of the multiple application software packages and the multiple third-party software packages needs to be adjusted to maintain the software package list and modifying the corresponding configuration file.
8. The automatic upgrade method according to claim 6, characterized in that It further includes: Storing the analysis result into the version data model stored in the storage device.
9. The automatic upgrade method according to claim 8, wherein It further includes: After completing the upgrade development system program, executing a correction development system program, wherein the correction development system program includes: Reading the version data model to obtain the upgrade start version information and the upgrade target version information corresponding to the software package after the update version; Mapping the upgrade rule range according to the upgrade start version information and the upgrade target version information, and reading the upgrade rule list; and Executing the corresponding rule function according to the upgrade rule list.
10. The automatic upgrade method according to claim 6, characterized in that The software package list is used to record the dependency relationship between the multiple application modules and the multiple software packages and the version information of the multiple software packages.
Citation Information
Patent Citations
Operating system upgrading method and device
CN102541596A