Software deployment method and system based on modular software installation package
Through a software deployment system based on a modular software installation package, the complex and lack of flexibility of software deployment in the prior art is solved, the flexibility and efficiency of software deployment are achieved, and the dependencies and conflicts between components are automatically resolved.
Patent Information
- Application Number
- CN202510017707.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-12-26
- Filing Date
- 2025-01-06
- Publication Date
- 2025-05-30
AI Technical Summary
In the prior art, software deployment and management are complex and lack flexibility, so users cannot selectively install components according to their needs.
A software deployment system based on modular software installation package is adopted, including the basic component library, the basic component library management module and the subsystem installation package generation module. Through these modules, components can be packaged as modules that are installed and run independently, and dependencies between components can be automatically processed, and customized subsystem installation packages can be generated according to user needs.
The flexibility and efficiency of software deployment are achieved. Users can choose to install components according to their needs to ensure that the components are installed and run correctly, and automatically resolve conflicts between ports, directories and component versions.
Smart Images

Figure CN120066529A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of software technology, and particularly to a software deployment method and system based on a modular software installation package. Background Art
[0002] With the popularization of microservices architecture and DevOps practices, the deployment and management of software have become increasingly complex. Developers need a flexible and efficient way to deploy and manage various services. Existing solutions usually include installation packages for monolithic applications, which lack flexibility during deployment, and users cannot selectively install components according to their needs. Summary of the Invention
[0003] In view of the above deficiencies of the prior art, the purpose of the present invention is to provide a software deployment method and system based on a modular software installation package, which can generate installation packages according to requirements.
[0004] To achieve the above purpose, the technical solutions adopted by the present invention are as follows:
[0005] A software deployment system based on a modular software installation package, comprising:
[0006] A basic component library, including a plurality of components, each component being encapsulated as an independently installable and runnable module, and each module having a separate configuration file;
[0007] A basic component library management module for managing and maintaining the basic component library; specifically including: automatically processing the dependency relationships between components;
[0008] A subsystem installation package generation module for selecting the modules to be included in the subsystem installation package from the basic component library; automatically adjusting the configuration files of the selected modules; optimizing the dependency relationships between modules; and packaging the selected modules and the adjusted configuration files into a subsystem installation package according to the optimized dependency relationships.
[0009] Another technical solution adopted by the present invention is as follows:
[0010] A software deployment method based on a modular software installation package, comprising:
[0011] Constructing a basic component library, including: obtaining a plurality of components, encapsulating each component as an independently installable and runnable module to form a basic component library, and each module having a separate configuration file; establishing a Shell script for managing and maintaining the basic component library; specifically, the Shell script is used to automatically process the dependency relationships between components;
[0012] Generate a subsystem installation package, including: selecting modules from a basic component library that need to be included in the subsystem installation package; automatically adjusting the configuration files of the selected modules; optimizing the dependency relationships between modules; and packaging the selected modules and the adjusted configuration files into a subsystem installation package according to the optimized dependency relationships.
[0013] The beneficial effects of the present invention are as follows:
[0014] Provide a basic component library containing multiple components, where each component is encapsulated as a module that can be independently installed, configured, and run, and manage and maintain the basic component library, automatically handle the dependency relationships between components to ensure that the components can be correctly installed and run. Based on the basic component library, specific subsystem installation packages can be generated by selecting modules according to user needs, realizing the customization of installation packages. During the process of generating the installation package, the configuration files of the modules are automatically adjusted, and the dependency relationships between modules are optimized to ensure the lightweight of the subsystem installation package. Description of the Drawings
[0015] Figure 1 Shown is a schematic structural diagram of a software deployment system based on a modular software installation package according to an embodiment of the present invention;
[0016] Figure 2 Shown is a schematic flowchart of a software deployment method based on a modular software installation package according to an embodiment of the present invention;
[0017] Figure 3 Shown is a schematic structural diagram of a software deployment system based on a modular software installation package according to Embodiment 1 of the present invention;
[0018] Figure 4 Shown is a design example of the module design structure of a software deployment system based on a modular software installation package according to Embodiment 1 of the present invention;
[0019] Figure 5 Shown is a process example of new component warehousing and subsystem installation package generation of a software deployment system based on a modular software installation package according to Embodiment 1 of the present invention;
[0020] Figure 6 Shown is a working schematic diagram of a fuser of a software deployment system based on a modular software installation package according to Embodiment 1 of the present invention;
[0021] Figure 7 Shown is a schematic flowchart of an upgrade script of a software deployment system based on a modular software installation package according to Embodiment 1 of the present invention;
[0022] Figure 8 Shown is a schematic flowchart of a software deployment method based on a modular software installation package according to Embodiment 2 of the present invention;
[0023] Figure 9 The following is a schematic flowchart of the integrated installation of the software deployment method based on the modular software installation package according to the second embodiment of the present invention.
[0024] Label description:
[0025] 1. Basic component library; 2. Basic component library management module; 3. Subsystem installation package generation module; 4. Merger; 41. Environment detector; 42. Package detector; 43. Port manager; 44. Directory manager; 45. Version manager; 46. Configuration file detector; 47. Installer; 5. Upgrade module. Specific implementation manners
[0026] In order to more clearly understand the technical content, achieved objectives and effects of the present invention, the present invention will be described in detail below in conjunction with specific implementation manners and with reference to the accompanying drawings. It should be noted that, without conflict, the implementation manners and features in the implementation manners of the present invention can be combined with each other. Many specific details are set forth in the following description in order to fully understand the present invention. The described implementation manners are only a part of the implementation manners of the present invention, rather than all of the implementation manners. Based on the implementation manners of the present invention, all other implementation manners obtained by those skilled in the art without making creative efforts fall within the scope of protection of the present invention.
[0027] Please refer to Figures 1-9 , the technical solution provided by the present invention is:
[0028] A software deployment system based on a modular software installation package, comprising:
[0029] A basic component library 1, including a plurality of components, each component being encapsulated as an independently installed and run module, and each module having a separate configuration file;
[0030] A basic component library management module 2 for managing and maintaining the basic component library 1; specifically including: automatically processing the dependency relationships between components;
[0031] A subsystem installation package generation module 3 for generating a subsystem installation package as needed, specifically including: selecting modules to be included in the subsystem installation package from the basic component library 1; automatically adjusting the configuration files of the selected modules; optimizing the dependency relationships between modules; and packaging the selected modules and the adjusted configuration files into a subsystem installation package according to the optimized dependency relationships.
[0032] As can be seen from the above description, the beneficial effects of the software deployment system based on the modular software installation package of the present invention are as follows: a basic component library containing multiple components is provided, and each component is encapsulated as a module that can be independently installed, configured, and run. The basic component library is managed and maintained by the basic component library management module, and the dependency relationships between components are automatically processed to ensure that the components can be correctly installed and run. Based on the basic component library, the subsystem installation package generation module can generate a specific subsystem installation package by selecting modules according to user requirements, realizing the customization of the installation package.
[0033] Optionally, it further includes a merger 4, and the merger includes:
[0034] A port manager 43 for detecting the port configurations of all modules in the multiple subsystem installation packages and automatically assigning new port numbers or sharing modules for conflicting ports;
[0035] A directory manager 44 for detecting the directory configurations of all modules in the multiple subsystem installation packages and automatically assigning new paths or sharing modules for conflicting directories;
[0036] A version manager 45 for detecting the version compatibility of all modules in the multiple subsystem installation packages and adjusting conflicting versions to be compatible;
[0037] An installer 47 for installing and configuring all modules in the multiple subsystem installation packages when there are no conflicts in the ports, directories, and component versions of each subsystem installation package.
[0038] As can be seen from the above description, the merger is used to perform a merged installation on multiple subsystem installation packages, and automatically resolve the port, directory, and component version conflicts of each subsystem installation package during the installation process. It effectively solves the problems of port, directory, and component version conflicts in the prior art when multiple subsystems coexist.
[0039] Optionally, the merger 4 further includes:
[0040] An environment detector 41 for detecting whether the target environment meets the running requirements of the installation package and resetting the target environment that does not meet the running requirements;
[0041] A package detector 42 for detecting the multiple subsystem installation packages and taking the multiple subsystem installation packages as a merged package to be installed;
[0042] A configuration file detector 46 for detecting and merging the configuration files of all modules in the multiple subsystem installation packages.
[0043] As can be seen from the above description, the fuser also solves the running environment problem during the combined installation of multiple subsystem installation packages, enabling the installation package to quickly adapt to different running environments during deployment and improving the flexibility of software deployment. It also detects the installation package and configuration file and merges the configuration files to ensure configuration consistency.
[0044] In a preferred setting, after the fusion installation is completed, all installed modules are started and health checks are performed.
[0045] Optionally, it further includes: an upgrade module 5 for executing an upgrade script to perform software upgrade operations on the subsystems that need to be upgraded. The upgrade script includes the following steps:
[0046] Identify different subsystems through a preset identifier;
[0047] Detect the current version of the installation package and the updatable modules of each subsystem;
[0048] When an updatable module is detected, perform software upgrade operations on the corresponding subsystem.
[0049] As can be seen from the above description, through the upgrade module, different subsystems are identified and fusion upgrades are performed.
[0050] Optionally, the upgrade operation specifically includes: stopping the services affected by the corresponding subsystem, updating the updatable modules in the corresponding subsystem, and restarting the closed services after the update is completed.
[0051] As can be seen from the above description, during the upgrade process, first stop the services affected by the subsystem, then update the modules, and restart the closed services after the update is completed, avoiding affecting the relevant services due to the upgrade.
[0052] Optionally, the basic component library management module and the subsystem installation package generation module are implemented by executing Shell scripts.
[0053] As can be seen from the above description, by establishing Shell scripts, the basic component library can be automatically managed and maintained, and subsystem installation packages can be customized according to user requirements.
[0054] Optionally, the basic component library management module is also used to register new components into the basic component library and update the component versions in the basic component library.
[0055] As can be seen from the above description, through the basic component library management module, new components can be continuously added to the basic component library, and the component versions in the basic component library can be automatically updated to support coexistence of multiple versions.
[0056] Another technical solution provided by the present invention is:
[0057] A software deployment method based on a modular software installation package, comprising:
[0058] Construct a basic component library, including: obtaining a plurality of components, encapsulating each component into a module for independent installation and operation to form a basic component library, and each module has a separate configuration file; establish a Shell script for managing and maintaining the basic component library; specifically, the Shell script is used to automatically process the dependency relationships between components;
[0059] Generate a subsystem installation package, including: selecting modules to be included in the subsystem installation package from the basic component library; automatically adjusting the configuration files of the selected modules; optimizing the dependency relationships between modules; and packaging the selected modules and the adjusted configuration files into a subsystem installation package according to the optimized dependency relationships.
[0060] As can be seen from the above description, the beneficial effect of the software deployment method based on a modular software installation package of the present invention is to construct a basic component library containing a plurality of components, each component is encapsulated into a module that can be independently installed, configured, and operated, and manage and maintain the basic component library, and automatically process the dependency relationships between components to ensure that the components can be correctly installed and operated. Based on the basic component library, specific subsystem installation packages can be generated by selecting modules according to user requirements, realizing the customization of installation packages.
[0061] Optionally, after constructing the basic component library, it further includes: fusing and installing a plurality of subsystem installation packages, specifically including:
[0062] Detect the port configurations of all modules in the plurality of subsystem installation packages, and automatically assign new port numbers or shared modules to the conflicting ports;
[0063] Detect the directory configurations of all modules in the plurality of subsystem installation packages, and automatically assign new paths or shared modules to the conflicting directories;
[0064] Detect the version compatibility of all modules in the plurality of subsystem installation packages, and adjust the conflicting versions to be compatible;
[0065] When there are no conflicts in the ports, directories, and component versions of each subsystem installation package, install and configure all modules in the plurality of subsystem installation packages.
[0066] As can be seen from the above description, based on the basic component library, a plurality of subsystem installation packages can be fused and installed, and the port, directory, and component version conflicts of each subsystem installation package can be automatically resolved during the installation process.
[0067] Optionally, after constructing the basic component library, it further includes executing an upgrade script to perform software upgrade operations on the subsystems that need to be upgraded. The upgrade script includes the following steps:
[0068] Identify different subsystems through preset identifiers;
[0069] Detect the current version of the installation package and the modules that can be updated for each subsystem;
[0070] When a module that can be updated is detected, perform a software upgrade operation on the corresponding subsystem.
[0071] As can be seen from the above description, different subsystems are identified and integrated for upgrade through an upgrade script.
[0072] Please refer to Figures 3-7 , Embodiment 1 of the present invention is:
[0073] A software deployment system based on a modular software installation package, comprising:
[0074] A basic component library 1, including a plurality of selected basic components and application components, each component is encapsulated as a module that can be independently installed and run, and each module has a separate configuration file; each module has a standard structure, such as Figure 4 Shown is a design example of a module design structure.
[0075] A basic component library management module 2, used to automatically manage and maintain the basic component library 1 using Shell scripts; the Shell scripts perform the following steps: used to register new components into the basic component library, automatically process the dependencies between components, and update the component versions in the basic component library; before registering a new component into the basic component library, it also includes standardizing the structure of the new component to make the structure of the new component consistent with the structure in the basic component library.
[0076] A subsystem installation package generation module 3, used to generate a subsystem installation package as needed using Shell scripts, and the Shell scripts perform the following steps: used to select the modules that need to be included in the subsystem installation package from the basic component library 1; automatically adjust the configuration files of the selected modules; optimize the dependencies between modules; package the selected modules and the adjusted configuration files into a subsystem installation package according to the optimized dependencies. As Figure 5 Shown is an example of the process of new component warehousing and subsystem installation package generation.
[0077] Fusion device 4, the fusion device includes: an environment detector 41, configured to detect whether the target environment meets the running requirements of the installation package, and reset the target environment that does not meet the running requirements; a package detector 42, configured to detect the multiple subsystem installation packages and regard the multiple subsystem installation packages as a fusion package to be installed; a port manager 43, configured to detect the port configurations of all modules in the multiple subsystem installation packages, identify conflicts, and automatically assign new port numbers or shared modules to the conflicting ports; a directory manager 44, configured to detect the directory configurations of all modules in the multiple subsystem installation packages, identify conflicts, and automatically assign new paths or shared modules to the conflicting directories; a version manager 45, configured to detect the version compatibility of all modules in the multiple subsystem installation packages, identify conflicts, and adjust the conflicting versions to be compatible; a configuration file detector 46, configured to detect and merge the configuration files of all modules in the multiple subsystem installation packages; an installer 47, configured to install and configure all modules in the multiple subsystem installation packages when there are no conflicts in the ports, directories, and component versions of each subsystem installation package. After the fusion installation is completed, start all installed modules and perform a health check. As Figure 6 shown in the schematic diagram of the working of the fusion device.
[0078] An upgrade module 7, configured to execute an upgrade script to perform a software upgrade operation on the subsystems that need to be upgraded. The upgrade script includes the following steps:
[0079] Identify different subsystems through a preset identifier;
[0080] Detect the current version of the installation package and the modules that can be updated for each subsystem;
[0081] When a module that can be updated is detected, obtain the services affected by the corresponding subsystem, and perform a software upgrade operation on the corresponding subsystem. The upgrade operation specifically includes: stopping the services affected by the corresponding subsystem, updating the modules that can be updated in the corresponding subsystem, and restarting the closed services after the update is completed. As Figure 7 shown in the schematic diagram of the process of the upgrade script.
[0082] Please refer to Figure 8 and Figure 9 , Embodiment 2 of the present invention is:
[0083] A method corresponding to the software deployment system based on a modular software installation package in the above Embodiment 1, including:
[0084] S1: Build a basic component library, including: obtaining multiple components, encapsulating each component into an independently installable and runnable module to form a basic component library, and each module has a separate configuration file; establishing a Shell script for managing and maintaining the basic component library. Specifically, the Shell script is used to register new components into the basic component library, automatically handle dependencies between components, and update component versions in the basic component library.
[0085] S2: Generate a subsystem installation package. Execute the Shell script to generate a subsystem installation package as needed. The Shell script performs the following steps: select modules from the basic component library that need to be included in the subsystem installation package; automatically adjust the configuration files of the selected modules; optimize dependencies between modules; and package the selected modules and the adjusted configuration files into a subsystem installation package according to the optimized dependencies. In this step, if the subsystem installation package is successfully generated, proceed to the next installation process. If the generation fails, check the error cause and regenerate it.
[0086] S3: Integrate and install multiple subsystem installation packages, specifically including:
[0087] Detect whether the target environment meets the running requirements of the installation package, and reconfigure the target environment that does not meet the running requirements;
[0088] Detect the multiple subsystem installation packages and treat the multiple subsystem installation packages as a combined package to be installed;
[0089] Detect the port configurations of all modules in the multiple subsystem installation packages, identify conflicts, and automatically assign new port numbers or shared modules to conflicting ports;
[0090] Detect the directory configurations of all modules in the multiple subsystem installation packages, identify conflicts, and automatically assign new paths or shared modules to conflicting directories;
[0091] Detect the version compatibility of all modules in the multiple subsystem installation packages, identify conflicts, and adjust conflicting versions to be compatible;
[0092] Detect and merge the configuration files of all modules in the multiple subsystem installation packages;
[0093] When there are no conflicts in the ports, directories, and component versions of each subsystem installation package, install and configure all modules in the multiple subsystem installation packages. After the integrated installation is completed, start all installed modules and perform a health check. As Figure 9 shown in the flow diagram of the integrated installation.
[0094] In this step, if the fusion installation is successful, proceed to the next upgrade process. If the fusion installation fails, check the error cause and reinstall by fusion.
[0095] S4: Execute the upgrade script to perform software upgrade operations on the subsystems to be upgraded. The upgrade script includes the following steps:
[0096] Identify different subsystems through a preset identifier;
[0097] Detect the current version of the installation package and the updatable modules of each subsystem;
[0098] When an updatable module is detected, obtain the services affected by the corresponding subsystem and perform a software upgrade operation on the corresponding subsystem. The upgrade operation specifically includes: stopping the services affected by the corresponding subsystem, updating the updatable modules in the corresponding subsystem, and restarting the closed services after the update is completed.
[0099] In this step, if the upgrade is successful, the upgrade is completed. If the upgrade fails, check the error cause and upgrade again.
[0100] It should be noted that the sequence of steps S1 - S4 in this embodiment is a preferred implementation. In actual processes, each step is continuously executed and nested.
[0101] In summary, the present invention provides an innovative software deployment solution aimed at improving the flexibility, efficiency, and maintainability of software deployment. Through the automated installation package generation and deployment process, users can quickly generate and deploy installation packages for specific systems or platforms, while automatically resolving port, directory, and component version conflict issues to ensure the smooth operation of the system. The present invention is applicable to various software and application scenarios, especially in cloud computing and microservices architectures, where it can significantly improve resource utilization and system stability.
[0102] The above are only embodiments of the present invention and do not limit the patent scope of the present invention. Therefore, any modifications, equivalent changes, and decorations made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solution of the present invention still fall within the scope of the technical solution of the present invention.
Claims
1. A software deployment system based on modular software installation packages, characterized in that: include: The basic component library includes multiple components. Each component is encapsulated as a module that can be installed and run independently. Each module has a separate configuration file. The basic component library management module is used to manage and maintain the basic component library; specifically includes: automatically processing the dependency relationship between components; The subsystem installation package generation module is used to select modules that need to be included in the subsystem installation package from the basic component library; automatically adjust the configuration files of the selected modules; optimize the dependencies between modules; and package the selected modules and the adjusted configuration files into a subsystem installation package according to the optimized dependencies.
2. The software deployment system based on modular software installation package according to claim 1, characterized in that: Also included is a fusion device, the fusion device comprising: A port manager, used to detect the port configurations of all modules in the plurality of subsystem installation packages, and automatically assign new port numbers or shared modules to conflicting ports; A directory manager, used for detecting the directory configuration of all modules in the plurality of subsystem installation packages, and automatically allocating new paths or shared modules for conflicting directories; A version manager, used to detect the version compatibility of all modules in the multiple subsystem installation packages, and adjust conflicting versions to be compatible; The installer is used to install and configure all modules in the multiple subsystem installation packages when there is no conflict in the ports, directories and component versions of the subsystem installation packages.
3. The software deployment system based on modular software installation package according to claim 2, characterized in that: The fusion device also includes: An environment detector is used to detect whether the target environment meets the running requirements of the installation package, and to reset the target environment that does not meet the running requirements; A package detector, used for detecting the multiple subsystem installation packages and treating the multiple subsystem installation packages as a fusion package to be installed; The configuration file detector is used to detect and merge the configuration files of all modules in the multiple subsystem installation packages.
4. The software deployment system based on modular software installation package according to claim 1, characterized in that: Also includes: The upgrade module is used to execute the upgrade script to perform software upgrade operations on the subsystems that need to be upgraded. The upgrade script includes the following steps: Identify different subsystems by pre-set identifiers; Check the current version of the installation package and updateable modules of each subsystem; When an updateable module is detected, a software upgrade operation is performed on the corresponding subsystem.
5. The software deployment system based on modular software installation package according to claim 4, characterized in that: The upgrade operation specifically includes: stopping the services affected by the corresponding subsystem, updating the updateable modules in the corresponding subsystem, and restarting the closed services after the update is completed.
6. The software deployment system based on modular software installation package according to claim 1, characterized in that: The basic component library management module and the subsystem installation package generation module are implemented by executing Shell scripts.
7. The software deployment system based on modular software installation package according to claim 1, characterized in that: The basic component library management module is also used to register new components into the basic component library and update component versions in the basic component library.
8. A software deployment method based on a modular software installation package, characterized in that: include: Building a basic component library includes: obtaining multiple components, encapsulating each component into a module that can be installed and run independently, forming a basic component library, each module having a separate configuration file; establishing a Shell script for managing and maintaining the basic component library; specifically, the Shell script is used to automatically process the dependency relationship between the components; Generate a subsystem installation package, including: selecting modules that need to be included in the subsystem installation package from a basic component library; automatically adjusting configuration files of the selected modules; optimizing dependencies between modules; and packaging the selected modules and adjusted configuration files into a subsystem installation package according to the optimized dependencies.
9. The software deployment method based on modular software installation package according to claim 8, characterized in that: After building the basic component library, it also includes: integrating and installing multiple subsystem installation packages, including: Detecting the port configurations of all modules in the multiple subsystem installation packages, and automatically allocating new port numbers or shared modules to conflicting ports; Detecting directory configurations of all modules in the multiple subsystem installation packages, and automatically allocating new paths or shared modules for conflicting directories; Detecting the version compatibility of all modules in the multiple subsystem installation packages, and adjusting conflicting versions to be compatible; When there is no conflict among the ports, directories and component versions of the subsystem installation packages, all modules in the multiple subsystem installation packages are installed and configured.
10. The software deployment method based on modular software installation package according to claim 8, characterized in that: After building the basic component library, the upgrade script is executed to perform software upgrade operations on the subsystems that need to be upgraded. The upgrade script includes the following steps: Identify different subsystems by pre-set identifiers; Check the current version of the installation package and updateable modules of each subsystem; When an updateable module is detected, a software upgrade operation is performed on the corresponding subsystem.