Software installation method, system and device, storage medium and program product

By creating container and disk replicas in a distributed cluster, the problem of HPC software installation conflicts with existing systems and permission requirements is solved, providing an independent installation environment, reducing the risk of interference, and supporting the coexistence of multiple versions.

CN121858112APending Publication Date: 2026-04-14ALIBABA CLOUD COMPUTING CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-11
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

In high-performance computing environments, HPC software installation is prone to conflicts with existing software or system configurations, requires administrator privileges, and may lead to installation failures or interference with existing systems. Furthermore, the installation process is complex and does not support the coexistence of multiple versions.

Method used

By creating target containers and disk replicas in a distributed cluster, mounting the target disk and installing software in the container, and saving incremental data to a preset storage area of ​​the disk replica, the system leverages the environment isolation features of containers to provide an independent installation environment and performs operations on the server side to avoid administrator privilege requirements.

Benefits of technology

It reduces the risk of interference from the existing software or system configuration of the target node, avoids excessive consumption of storage resources, solves the problem of limited installation, and supports the coexistence of multiple versions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121858112A_ABST
    Figure CN121858112A_ABST
Patent Text Reader

Abstract

The invention discloses a software installation method, system and device, a storage medium and a program product.The method comprises the steps that according to a creation request sent by a server side, a target container and a disk copy of a target disk are created, and the target disk comprises source data of target software to be installed; the creation request is sent by the server based on a first installation request of target software from the client; mounting the target disk on the disk copy, and mounting the disk copy on the target container; and under the condition that an installation instruction of the client for the target software is received, installing the target software in the target container according to the installation instruction and the source data, and storing incremental data generated by installing the target software to a preset storage area in the disk copy. The risk that existing software or system configuration of the target node is interfered due to installation of the target software is reduced, and the problem that software installation is limited due to administrator permission is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, specifically to a software installation method, system, device, storage medium, and program product. Background Technology

[0002] With the increasing complexity of industry-academia-research collaborations, high-performance computing (HPC) has become a key factor in driving innovation and overcoming technological barriers. Currently, HPC provides powerful computing capabilities for handling scientific research problems, engineering challenges, and big data analysis. To complete different HPC tasks in different fields, users often need to install various HPC software on their devices. However, different HPC software programs often rely on different operating environments. Therefore, during the installation of HPC software, the specific environment on which the HPC software depends may conflict with the existing software or system configuration on the device, leading to installation failure or even interference with the existing software or system configuration. Furthermore, installing HPC software often requires administrator privileges, which contradicts the fact that most HPC software users are ordinary users (i.e., users without administrator privileges), thus creating limitations on HPC software installation. Summary of the Invention

[0003] This application addresses the problems in the aforementioned related technologies, such as the interference of installing HPC software with existing software or system configurations, and the limitations of HPC software installation, by providing a software installation method, system, device, storage medium, and program product.

[0004] The first aspect of this application provides a software installation method applied to any node in a distributed cluster, the method comprising:

[0005] Based on the creation request sent by the server, a disk copy of the target container and the target disk is created. The target disk contains the source data of the target software to be installed. The creation request is sent by the server based on the first installation request of the target software from the client.

[0006] Mount the target disk to the disk copy, and then mount the disk copy to the target container;

[0007] Upon receiving an installation instruction from the client for the target software, the target software is installed in the target container according to the installation instruction and source data, and the incremental data generated by the installation of the target software is saved to a preset storage area in the disk copy.

[0008] A second aspect of this application provides a software installation method applied to a server, the method comprising:

[0009] Based on the first installation request of the target software sent by the client, the target node in the distributed cluster is determined. The target node is any node in a preset state.

[0010] Based on the first software installation request, a creation request is sent to the target node; the creation request is used to request the target node to mount the target disk to a disk copy of the target disk, and to mount the disk copy to the target container; and, based on the installation instructions of the target software and the source data in the target disk, the target software is installed in the target container, and the incremental data generated by the installation of the target software is saved to a preset storage area in the disk copy.

[0011] A third aspect of this application provides a software installation method applied to a client, the method comprising:

[0012] Receive the first installation information of the target software, which includes the disk information of the target disk and the source data of the target software in the target disk;

[0013] The server sends a first installation request based on the first installation information. The first installation request is used to request the server to send a creation request to the target node. The creation request is used to request the target node to mount the target disk to a disk copy of the target disk and mount the disk copy to the target container. Based on the installation instructions and source data of the target software, the target software is installed in the target container, and the incremental data generated by the installation of the target software is saved to a preset storage area in the disk copy.

[0014] A fourth aspect of this application provides a software installation apparatus for use on any node in a distributed cluster, the apparatus comprising:

[0015] The creation module is used to create a disk copy of the target container and the target disk based on the creation request sent by the server. The target disk includes the source data of the target software to be installed. The creation request is sent by the server based on the first installation request of the target software from the client.

[0016] The mount module is used to mount the target disk to a disk copy, and then mount the disk copy to the target container.

[0017] The installation module is used to install the target software in the target container according to the installation instructions and source data when it receives the installation instructions from the client, and save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

[0018] The fifth aspect of this application provides a software installation apparatus for use on a server, the apparatus comprising:

[0019] The module determines the target node in the distributed cluster based on the first installation request for the target software sent by the client. The target node is any node in a preset state.

[0020] The sending module is used to send a creation request to the target node according to the first software installation request; the creation request is used to request the target node to mount the target disk to a disk copy of the target disk and mount the disk copy to the target container; and, according to the installation instructions of the target software and the source data in the target disk, to install the target software in the target container and save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

[0021] A sixth aspect of this application provides a software installation apparatus for use on a client, the apparatus comprising:

[0022] A receiving module is configured to receive first installation information of the target software, the first installation information including disk information of the target disk, the target disk including source data of the target software;

[0023] The sending module is used to send a first installation request to the server based on the first installation information; the first installation request is used to request the server to send a creation request to the target node, the creation request is used to request the target node to mount the target disk to a disk copy of the target disk, and mount the disk copy to the target container; and according to the installation instructions and source data of the target software, install the target software in the target container, and save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

[0024] The seventh aspect of this application provides a software installation system, which includes: a client, a server, and a distributed cluster, wherein the distributed cluster includes multiple nodes;

[0025] The client is used to send a first installation request to the server based on the first installation information of the target software; the first installation information includes the disk information of the target disk, and the target disk includes the source data of the target software;

[0026] The server is used to determine the target node in the distributed cluster based on the first installation request. The target node is any node in a preset state; and to send a creation request to the target node based on the first installation request.

[0027] The target node is used to create a disk copy of the target container and the target disk according to the creation request; mount the target disk to the disk copy, and mount the disk copy to the target container; install the target software in the target container according to the installation instructions and source data received from the client for the target software, and save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

[0028] An eighth aspect of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, the processor executing the program to implement the method described in the first aspect above.

[0029] A ninth aspect of this application provides a computer-readable storage medium having a computer program stored thereon, the program being executed by a processor to implement the method described in the first aspect above.

[0030] The tenth aspect of this application provides a computer program product including a computer program that is executed by a processor to implement the method described in the first aspect above.

[0031] Based on the software installation method provided above, this application has at least the following beneficial effects or advantages:

[0032] In this embodiment, by mounting a disk copy onto the created target container, installing the target software within the target container, and saving incremental data to a preset storage area within the disk copy, not only can an independent installation environment be provided for the target software based on the container's environmental isolation characteristics, but the incremental data is also ensured to remain in a fixed location. This reduces the risk of interference with the target node's existing software or system configuration caused by installing the target software. Furthermore, since only incremental data is saved to the disk copy, the storage resources occupied by the target node are limited to the size of the incremental data, avoiding excessive consumption of the target node's storage resources. Moreover, since the target node executes all software installation-related operations based on the server's creation request, and there is no requirement for administrator privileges on the server, the problem of limited software installation caused by administrator privilege requirements is solved.

[0033] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application, it can be implemented according to the contents of the specification. In order to make the above and other objects, features and advantages of this application more obvious and understandable, specific embodiments of this application are given below. Attached Figure Description

[0034] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments of this application and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0035] Figure 1 This is a schematic diagram illustrating an application scenario of a software installation method provided in an embodiment of this application;

[0036] Figure 2 A first flowchart of a software installation method provided in an embodiment of this application;

[0037] Figure 3 A second flowchart of a software installation method provided in an embodiment of this application;

[0038] Figure 4 A third flowchart of a software installation method provided in an embodiment of this application;

[0039] Figure 5 A schematic diagram of the target node provided in the embodiments of this application;

[0040] Figure 6 A fourth flowchart of a software installation method provided in this application embodiment;

[0041] Figure 7 A fifth flowchart of a software installation method provided in an embodiment of this application;

[0042] Figure 8 A sixth flowchart of a software installation method provided in an embodiment of this application;

[0043] Figure 9 A seventh flowchart of a software installation method provided in an embodiment of this application;

[0044] Figure 10 An eighth flowchart of a software installation method provided in an embodiment of this application;

[0045] Figure 11 A ninth flowchart of a software installation method provided in an embodiment of this application;

[0046] Figure 12 This is a first structural schematic diagram of a software installation device provided in an embodiment of this application;

[0047] Figure 13 This is a second structural schematic diagram of a software installation device provided in an embodiment of this application;

[0048] Figure 14 This is a third structural schematic diagram of a software installation device provided in an embodiment of this application;

[0049] Figure 15 This is a schematic diagram of a first component of a software installation system provided in an embodiment of this application;

[0050] Figure 16 This is a schematic diagram illustrating a second composition of a software installation system provided in an embodiment of this application;

[0051] Figure 17 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0052] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0053] First, some of the nouns or terms that appear in the description of the embodiments in this application shall be interpreted as follows:

[0054] High-performance computing (HPC) is a technology that uses massively parallel processing techniques to solve complex computational problems and process data at high speed.

[0055] K8S (Kubernetes): An open-source container orchestration system used to automate the deployment, scaling, and management of containerized applications.

[0056] OverlayFS: A stacked file system that allows different directory levels to be stacked and merged to form a unified view.

[0057] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.

[0058] It should be understood that although the terms first, second, third, etc., may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination," etc.

[0059] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.

[0060] HPC is increasingly being used in various fields. However, traditional software installation methods (where users manually perform each step of the software installation process) often face the following problems: First, environmental interference and dependencies. When installing software on a physical machine, the specific environment the software depends on may conflict with or interfere with existing software or system configurations. This is especially true for software with complex dependencies, which may conflict with existing library files or software versions on the device, leading to installation failures or runtime errors. Second, privilege requirements. Software installation typically requires root or administrator privileges to perform privileged operations, such as writing to the system directory. However, in an HPC environment, non-privileged users are more often involved, thus limiting the installation of HPC software. Granting administrator privileges directly to users can lead to irreversible damage to existing system files due to misoperation. Therefore, the software installation process must be adaptable to environments where administrator privileges cannot be obtained. Third, file remnants and system pollution. Software installation failures may result in some files not being properly cleaned up. These residual files not only affect subsequent software installations but also cause the system to gradually accumulate junk files, increasing maintenance complexity. Fourth, the installation process is difficult to replicate. If software is installed on one device and then needs to be installed on another, the user must repeat the same installation process on those other devices. This is not only time-consuming and labor-intensive, but also prone to installation failure due to operational errors. Fifth, it does not support multiple versions coexisting. When installing software on a physical machine, multiple versions of the same software are not supported.

[0061] Based on this, embodiments of this application provide a software installation method. Figure 1 This is a schematic diagram illustrating an application scenario of a software installation method provided in an embodiment of this application. For example... Figure 1 As shown, the scenario includes a client, a server, and a distributed cluster, with multiple nodes in the distributed cluster.

[0062] The client can be a mobile phone, tablet, desktop computer, laptop, wearable device, or other terminal device. Software installation applications can be installed and run on the client. These applications can be standalone applications (Apps), mini-programs embedded in other applications, or web applications.

[0063] The client integrates a display screen configured to display the client's user interface (UI) and provide an interface for interaction and information exchange between the client and the user. The UI involved in this application embodiment can be configured as a medium interface for user operation and application creation interaction. As an interaction interface with the user, the UI can convert the computer language of the software installation application into a form that the user can accept and recognize, including displayed images, text, buttons, etc. A common form of UI is a graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an icon, window, control, or other interface element displayed on the client's screen. Controls can include visual interface elements such as icons, buttons, menus, tabs, and text boxes. Controls can implement a visual functional interface for the software installation application. When a control receives a corresponding trigger operation from the user, the corresponding functional interface of the software installation application receives a corresponding processing instruction, thereby enabling the software installation application to respond to the processing instruction and perform functional processing. For example, each user click operation inputs a corresponding instruction to the software installation application through the corresponding GUI control, thereby triggering the software installation program to execute relevant processing and update the GUI based on the processed results.

[0064] The server can be a standalone server such as a physical server or a cloud server, or it can be a server cluster composed of multiple servers. The server can deploy a management system to manage the distributed cluster and maintain node scheduling policies. The node scheduling policy instructs the server, upon receiving the first installation request for the target software from a client, to determine the target node in the distributed cluster through the management system and send a creation request to the target node. The target node can be any node in a preset state.

[0065] Multiple nodes in a distributed cluster can be connected via a network, providing high-performance computing capabilities and high availability as a whole. Any node in a distributed cluster can be a physical node or a virtual node. When a node is a physical node, it can be any terminal device or a server, etc. Any node in a distributed cluster can also execute tasks independently. Specifically, any node can maintain creation policies, mount policies, remote connection policies, installation policies, etc. The creation policy instructs, upon receiving a creation request from the server, to create a target container and a disk copy of the target disk. The target container includes the source data of the target software to be installed. The mount policy instructs, upon receiving a remote connection request from the client, to establish a remote connection with the client. The installation policy instructs, upon receiving an installation instruction from the client for the target software, to install the target software in the target container according to the installation instruction and source data, and to save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

[0066] Clients, servers, and nodes in the distributed cluster can interact with each other via a network, which can be either a wired or wireless network. Specific details of the data interaction process will be described later.

[0067] In the aforementioned software installation scenario, by mounting a disk copy to the created target container, installing the target software within the target container, and saving incremental data to a preset storage area within the disk copy, not only can an independent installation environment be provided for the target software based on the container's environmental isolation characteristics, but the incremental data is also ensured to remain in a fixed location. This reduces the risk of interference with the target node's existing software or system configuration caused by installing the target software. Furthermore, since only incremental data is saved to the disk copy, the storage resources occupied on the target node are limited to the size of the incremental data, avoiding excessive consumption of the target node's storage resources. Moreover, because the target node executes all software installation-related operations based on the server's creation request, and there is no requirement for administrator privileges on the server, the problem of software installation restrictions caused by administrator privilege requirements is resolved.

[0068] It should be understood that Figure 1 The example shown uses a desktop computer as the client and a dedicated physical server as the server. Figure 1 The illustrations are merely illustrative representations of application scenarios for the software installation method involved in this application and do not constitute a limitation on the technical solutions of this application. In other embodiments, the application scenarios for the software installation method involved in this application may include more or fewer components.

[0069] The technical solution of this application and how it solves the aforementioned technical problems are described in detail below with specific embodiments. The listed specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0070] Figure 2 A flowchart illustrating the software installation method provided in this application embodiment. Figure 2 The method shown can be used by Figure 1 Execution can be performed on any node in a distributed cluster. For example... Figure 2 As shown, the method includes the following steps 101-103.

[0071] Step 101: Based on the creation request sent by the server, create a disk copy of the target container and the target disk. The target disk includes the source data of the target software to be installed. The creation request is sent by the server based on the first installation request of the target software from the client.

[0072] Step 102: Mount the target disk to the disk copy, and then mount the disk copy to the target container.

[0073] Step 103: Upon receiving the client's installation instruction for the target software, install the target software in the target container according to the installation instruction and source data, and save the incremental data generated by installing the target software to a preset storage area in the disk copy.

[0074] In some implementations, users can store the source data of the target software on the target disk. When the target software needs to be installed, the user can operate their client to input a startup command for the software installation application. Correspondingly, the client responds to the startup command by launching the software installation application and displaying an editing interface. The user can edit the first installation information of the target software using the editing controls in the editing interface, and after editing, input the installation command using the installation controls in the editing interface. After receiving the installation command through the editing interface, the client sends a first installation request for the target software to the server based on the received first installation information. The source data may include at least one piece of data from the installation data and source code. The first installation information may include the target software's attribute information, the target disk's disk information, etc. The attribute information may include the software name, software version, etc., and the disk information may include the target disk's disk name, first access path, etc. The target disk may be a shared disk or a private disk. The target disk may be any form, such as a mechanical hard drive, a solid-state drive, or an optical disc, and this application does not specifically limit this. As an example, the software name is abc, the software version is 2.10, and the first access path of the target disk is / cpfs02.

[0075] After receiving the first installation request from the client, the server determines the replica information of the target disk based on the request, and identifies the target node in the distributed cluster through a pre-configured management system. Then, it sends a creation request to the target node based on the first installation information and the replica information. The replica information may include the second access path of the disk replica and its capacity. The capacity can be specified by the user in the first installation information. If the first installation information does not include a user-specified capacity, the server will use a preset capacity as the size of the target disk replica. The target node can be any node in a preset state, such as idle or minimal load. The second access path can be determined based on the software name and version according to a second preset rule. Continuing the example above, the second access path is / tmp / software-install / abc / 2.10.

[0076] To provide an independent installation environment for the target software, thereby reducing the risk of interference with the existing software or system configuration of the target node due to the installation of the target software, the target node, upon receiving a creation request from the client, first writes a configuration file for the deployment unit and runs a first creation instruction to create a deployment unit containing the target container on the target node according to the configuration information in the configuration file. In other words, the creation of the target container is completed when the deployment unit is created. In some implementations, to avoid the target container consuming excessive runtime resources on the target node and affecting the operation of other processes on the target node, the creation request may also include resource allocation information for the target container, which is determined by the server based on the first creation request. Accordingly, the target node can create a deployment unit containing the target container based on this resource allocation information to allocate appropriate runtime resources for the target container. Runtime resources include the Central Processing Unit (CPU), storage resources, etc.

[0077] After the target container is created, a second creation instruction is executed based on the disk information in the creation request to create a disk copy of the target disk. After the target container and disk copy are successfully created, to ensure that incremental data generated during the installation of the target software is in a fixed location, thus guaranteeing the closed loop of the target software's internal logic, the target node performs a mount operation, mounting the target disk to the disk copy and then mounting the disk copy to the target container. Therefore, upon receiving an installation instruction from the client for the target software, the target software is installed in the target container according to the installation instruction and source data, and the incremental data generated during the installation is saved to a preset storage area in the disk copy. The second creation instruction can be a `dd` command, which is used to create a complete image of a physical disk or disk partition.

[0078] In some implementations, the pre-configured management system on the server side can be Kubernetes (K8S), and correspondingly, the distributed cluster can be a K8S cluster. The multiple nodes in the distributed cluster can be worker nodes (Node nodes), the configuration file written for the target node can be a YAML configuration file, and the deployment unit created can be a Pod. The configuration information in the YAML configuration file can include the Pod name, the target container name, the image used by the target container, etc. The first creation command can be the `kubectl create` command, which is used to create a Pod.

[0079] The software installation method provided in this application mounts a disk copy to a created target container, installs the target software within the target container, and saves incremental data to a preset storage area within the disk copy. This not only provides an independent installation environment for the target software based on the container's environmental isolation characteristics but also ensures that the incremental data remains in a fixed location. Therefore, it reduces the risk of interference with the existing software or system configuration of the target node caused by installing the target software. Furthermore, since only incremental data is saved to the disk copy, the storage resources occupied by the target node are limited to the size of the incremental data, avoiding excessive consumption of the target node's storage resources. Moreover, since the target node executes all operations related to software installation based on the server's creation request, and there is no requirement for administrator privileges on the server, the problem of limited software installation caused by the requirement for administrator privileges is solved.

[0080] To ensure that incremental data generated during the installation of the target software is stored in a fixed location without affecting the user experience, thereby guaranteeing the closed loop of the target software's internal logic, some implementations use the OverlayFS stacked file system for mounting. Specifically, for example... Figure 3 As shown, step 102 may include steps 1021 and 1022:

[0081] Step 1021: Create a structured directory corresponding to the stacked file system. The structured directory includes a bottom directory, an upper directory, and a merged directory. The bottom directory is a read-only directory, the upper directory is a read-write directory, and the merged directory is used to present a combined view of the bottom directory and the upper directory.

[0082] The OverlayFS stacked file system relies on and is built upon other file systems. It does not directly participate in the partitioning of disk space; it merely "merges" different directories and presents them to the user. Therefore, the content seen by the user comes from the "set" of different directories specified during mounting. In this embodiment, the structured directories corresponding to the stacked file system include a lower directory, an upper directory, and a merged directory. The user sees and operates on the merged directory, and the content presented in the merged directory comes from the lower and upper directories. The lower directory is read-only. After OverlayFS is mounted, regardless of how files or directories from the lower directory are operated on in the merged directory, the content in the lower directory will not change. Because the lower directory is read-only, when a user wants to add or modify content to a file from the lower directory, OverlayFS first copies a copy of the file from the lower directory to the upper directory. Subsequent write and modification operations will be performed on the copy in the upper directory, and the original file in the lower directory is hidden. The parent directory is a read-write directory. When a user writes data to a file in the parent directory by merging directories, the data is directly written to the original file in the parent directory, and the same applies to deleting a file. Based on this feature of OverlayFS, in this application, the incremental data generated by the installation operation of the target software is updated in the parent directory, while the original files in the target node remain unchanged. This ensures that installing the target application in the target container does not affect the original files on the target node, thus avoiding interference with the original software or system configuration of the target node.

[0083] Step 1022: Mount the target disk to the underlying directory, mount the disk copy to the merge directory, and configure the merge directory as the working directory of the target container.

[0084] Specifically, the first location parameter indicating the underlying directory is configured as the first access path of the target disk to mount the target disk to the underlying directory; and the second location parameter indicating the merged directory is configured as the second access path of the disk copy to mount the disk copy to the merged directory. To allow the incremental data generated by installing the target software to be viewed through the disk copy, the third location parameter indicating the upper-level directory is also configured as the third access path of the upper-level directory. The third access path can be determined by the server according to a third preset rule, and this third access path is carried in the creation request. The third preset rule can be set as needed in actual application, and this application does not impose specific limitations on it.

[0085] In some implementations, the target node can use the mount command to configure the location parameters. For details on the mount command, please refer to relevant technologies, which will not be described in detail in this application.

[0086] Corresponding to steps 1021 and 1022, such as Figure 3 As shown, step 103 may include the following step 1031:

[0087] Step 1031: Upon receiving the client's installation instruction for the target software, install the target software in the target container according to the installation instruction and source data, and save the incremental data generated by installing the target software to the upper-level directory.

[0088] Therefore, by mounting the target disk and its replica using OverlayFS, the characteristics of OverlayFS allow users to perform any operation on the replica disk and view the source data on the target disk, ensuring a completely consistent user experience. Furthermore, it ensures that incremental data generated during the installation of target software within the target container is stored in the parent directory, without altering existing files or system configurations on the target node. This avoids the risk of interference with the target node's existing software or system configuration. Finally, since only incremental data generated during the installation is stored on the replica disk, the storage resources occupied on the target node are limited to the size of the incremental data, preventing excessive resource consumption.

[0089] To facilitate the archiving of installation data and thus the convenient installation of the target application on other devices, in some implementations, when the server receives the first installation request sent by the client, it can also determine the installation path of the target software according to a first preset rule and send the installation path to the client, so that the user can send installation instructions to the target node through the client according to the installation path. Correspondingly, such as... Figure 4As shown, step 103 may include steps 1032 and 1033:

[0090] Step 1032: Obtain the installation path from the installation instructions and the installation file from the source data; the installation path is determined by the server based on the first installation request and sent to the client.

[0091] In some implementations, the source data may include installation data, and the target node can directly read the installation data from the source data. In some implementations, the source data may include the source code of the target software, and the target node can first compile the source code in the source data to obtain the installation file. The installation file can be any form, such as an executable file, an installation package, or a script.

[0092] It should be noted that the installation path can be determined by the server according to the first preset rule. The first preset rule can be set by the user as needed in actual application, and this application does not make specific restrictions on it.

[0093] Step 1033: Run the installation file, install the target software in the target storage location in the preset storage area, and save the incremental data generated by the installation of the target software to the preset storage area in the disk copy. The target storage location is the storage location indicated by the installation path.

[0094] The incremental data includes the installation data of the target software, and may also include other data generated during the installation process, such as decompression data and installation packages. Since the target software is installed in the target storage location indicated by the installation path, the installation data of the target software is stored in the target storage location, while other data in the incremental data is not stored in the target storage location. As described above, the preset storage area can be the upper-level directory of a stacked file system; that is, the upper-level directory includes the target storage location and other storage locations. The installation data in the incremental data is stored in the target storage location in the upper-level directory, and other data in the incremental data is stored in other storage locations in the upper-level directory. The installation data includes software dependencies, dynamic link libraries, executable files, etc.

[0095] Therefore, by specifying the installation path of the target software in the installation command, the server ensures that all installation data of the target software is stored in the target storage location pointed to by the installation path. Consequently, during subsequent software archiving, only the installation data in this target storage location needs to be archived, without needing to archive all incremental data. This avoids archiving useless data (such as decompressed data) and thus avoids the waste of resources caused by storing such useless data.

[0096] Furthermore, to ensure successful installation of the target application within the target container, some implementations use a Kubernetes cluster as an example for illustration. A schematic diagram of any worker node is shown below. Figure 5 As shown, the Pod also has a remote service configured for the target container, and establishes a remote connection with the client based on this remote service, thereby receiving installation instructions sent by the client through the remote connection. Specifically, as... Figure 6 As shown, steps A1 to A3 may be included before step 103:

[0097] Step A1: After starting the remote service corresponding to the target container, send a startup success message to the server to trigger the server to send the startup success message to the client.

[0098] Step A2: Receive a remote connection request from the client and establish a remote connection with the client through the remote service.

[0099] Step A3: Receive the client's installation instructions for the target software based on the remote connection.

[0100] Specifically, after the target node mounts the disk copy onto the target container, it starts the remote service corresponding to the target container. Upon successful startup of the remote service, it sends a startup success message to the server based on the connection address of the remote service. After receiving the startup success message, the server sends the message and the determined installation path of the target software to the client. The client displays a connection interface based on the received startup success message. This interface displays the installation path of the target software and may include connection controls for the user to input connection commands. Correspondingly, when the client receives the user's input connection command through the connection interface, it sends a remote connection request to the target node based on the connection address in the startup success message. When the target node receives the remote connection request from the client, it establishes a remote connection with the client through the remote service corresponding to the target container. After the remote connection is successfully established, the user can use the installation path displayed in the connection interface to operate the client to send installation commands for the target software to the target node via the remote connection.

[0101] The remote service can be an SSH (Secure Shell) server. SSH is an encrypted network protocol used for secure access to and control of remote servers or computers. The installation path points to the target storage location in the preset storage area, that is, to the target storage location in the parent directory. The installation path can be determined by the server according to the software name, software version, etc., according to the first preset rule. Continuing from the previous example, for example, the installation path is cpfs02 / xingyun / software / abc / 2.10 / . The first preset rule is not specifically limited in this application; it can be set as needed in practice.

[0102] In some real-time methods, the client sends a remote connection request to the target node, which can be done by sending the remote connection request to the server and then having the server send the remote connection request to the target node.

[0103] The target node starts a remote service, which enables it to connect remotely to the client, ensuring that it can receive installation instructions from the client and successfully install the target application.

[0104] To ensure the effective operation of the installed target software, in some implementations, after the target software is installed, the user can send test commands to the target node via a remote connection to perform functional tests on the target software. Specifically, for example... Figure 7 As shown, step 103 may be followed by steps 104 and 105:

[0105] Step 104: If a configuration instruction for the target software is received from the client based on the remote connection, the corresponding first configuration instruction is read from the pre-deployed environment management tool according to the execution instruction, and the first configuration instruction is executed to configure the current running environment as the target running environment of the target software.

[0106] To enable the coexistence of multiple software versions and prevent mutual interference between different versions, this embodiment pre-deploys an environment management tool on the target node and manages the software throughout the entire process from installation to use. Specifically, after the target software is installed, the user can create a configuration file corresponding to the environment management tool on the target node via a remote connection. This configuration file includes the first configuration instructions for each environment variable that the target software depends on. After creating the configuration file, the user can operate their client to send the execution instruction (also known as a loading instruction) of this configuration instruction to the target node via a remote connection. Correspondingly, when the target node receives the execution instruction for the configuration instruction of the target software from the client via a remote connection, it reads the first configuration instruction from the configuration file corresponding to the environment management tool and executes the first configuration instruction to configure the current environment variables as the environment variables of the target software, that is, to configure the current runtime environment as the target runtime environment of the target software. The environment variables include the path of the executable file, the path of the dynamic link library, etc.

[0107] In some implementations, the environment management tool can be Environment Modules, and correspondingly, the configuration file can be a module file (usually a .tcl file), and the execution command can be the module load command. The module load command is used to load the module file, thereby running the configuration commands in the module file to activate the corresponding software runtime environment.

[0108] Step 105: If a test instruction is received from the client via a remote connection in the target operating environment, then perform functional testing on the target software according to the test instruction.

[0109] Functional testing can include testing the software's display functions, data processing functions, etc., and this application does not specify any limitations on this.

[0110] Because the testing process begins by configuring the current runtime environment to match the target software's runtime environment using environment management tools, the effective operation of the target application is guaranteed. Furthermore, since the target software is tested within the target container, the testing process ensures that it does not interfere with the original software and system on the target node.

[0111] To facilitate the management of the target container, such as Figure 8 As shown, after creating the target container in step 101, the following step B1 may also be included:

[0112] Step B1: Obtain the target software's attribute information from the creation request and associate the attribute information with the target container.

[0113] It should be noted that step B1 can be executed after step 102, simultaneously with step 102, or before creating a disk copy.

[0114] Furthermore, to address the difficulties in copying during the installation process and the problem of file remnants in traditional software installation methods, some embodiments of this application archive and reclaim the installation data of the target software after successful installation. Specifically, such as... Figure 8 As shown, step 103 may be followed by steps 106 and 107:

[0115] Step 106: If the target software is successfully installed, receive the archive request sent by the server, obtain the installation path from the archive request, and send the installation data in the target storage location indicated by the installation path to the server so that the server saves the installation data to the software repository.

[0116] Specifically, when the target software is installed in step 103 and the user does not perform functional testing on the target software (i.e., steps 104 and 105 are not executed after step 103), since the user operates the client to remotely control the target node to install the target software, the user can know the installation result and directly operate the installation completion control in the client's connection interface after successful installation to trigger the client to send installation success information to the server based on the target software's attribute information. When steps 104 and 105 are executed after step 103, the user can operate the installation completion control in the client's connection interface after successful testing to trigger the client to send installation success information to the server based on the target software's attribute information. Correspondingly, when the server receives the installation success information, it queries the corresponding saved installation path based on the attribute information in the installation success information and sends an archive request to the target node based on the installation path. When the target node receives the archive request, it queries the target storage location indicated by the installation path and sends the installation data stored in the target storage location along with the target software's attribute information to the server. When the server receives the installation data and attribute information, it saves the installation data and attribute information to the software repository and sends a resource reclamation request to the target node based on the attribute information of the target software.

[0117] Step 107: Receive the resource reclamation request sent by the server, obtain the target software's attribute information from the resource reclamation request, close the target container associated with the attribute information, and unmount the disk copy.

[0118] Therefore, by saving the installation data from the target storage location indicated by the target path to the software repository, unnecessary archiving of software installation packages and intermediate files can be avoided. Furthermore, when other users need to install the target software later, the installation data from the software repository can be directly synchronized to the target device, eliminating the need for them to manually perform each step of the installation process on the target device. This not only shortens the software installation time but also reduces installation failures due to operational errors. Closing the target container and unmounting the disk copy allows for timely resource release, preventing resource waste. Moreover, since incremental data generated during the installation of the target software is stored in the disk copy, unmounting the disk copy prevents target software files from remaining on the target node, reducing the complexity of maintaining junk files on the target node.

[0119] Furthermore, to avoid file remnants caused by software installation failures, in some implementations, such as Figure 8 As shown, step 103 may be followed by step 108:

[0120] Step 108: In the event that the target software installation fails, receive a resource reclamation request sent by the server, obtain the target software's attribute information from the resource reclamation request, close the target container associated with the attribute information, and unmount the disk copy.

[0121] Specifically, when the target software is installed in step 103 and the user does not perform functional testing on the target software (i.e., steps 104 and 105 are not executed after step 103), since the user operates the client to remotely control the target node to install the target software, the user can know the installation result and, if the installation fails, directly operate the cancel installation control in the client's connection interface to trigger the client to send installation failure information to the server based on the target software's attribute information. When steps 104 and 105 are executed after step 103, the user can operate the cancel installation control in the client's connection interface after a test failure to trigger the client to send installation failure information to the server based on the target software's attribute information. Correspondingly, when the server receives this installation failure information, it sends a resource reclamation request to the target node based on the attribute information in the installation failure information. The target node queries the associated target container based on the attribute information in the resource reclamation request and closes the target container, as well as unmounting the disk copy on the target container.

[0122] Therefore, when the target software installation fails, closing the target container and unmounting the disk copy allows for timely resource release, preventing resource waste. Furthermore, since incremental data generated during target software installation is stored in the disk copy, unmounting the disk copy prevents target software files from remaining on the target node, reducing the complexity of maintaining junk files on the target node. In summary, resource reclamation is performed regardless of whether the target software installation is successful or failed. This not only ensures timely resource release but also prevents target software files from remaining on the target node, solving the file residue problem inherent in traditional software installation methods.

[0123] Corresponding to the aforementioned embodiments of the software installation method, this application also provides an embodiment of the software installation method. Figure 9 A flowchart illustrating a software installation method provided in this application embodiment. Figure 9 The method shown can be used by Figure 1 The server-side execution is as follows. For example... Figure 9 As shown, the method includes steps 201 and 202:

[0124] Step 201: Based on the first installation request of the target software sent by the client, determine the target node in the distributed cluster. The target node is any node in a preset state.

[0125] In some implementations, the server can send status information retrieval requests to each node in the distributed cluster through a pre-configured management system, and receive the status information sent by each node. Based on the status information, the server determines the node in a preset state. If there is only one node in the preset state, it is designated as the target node; if there are multiple nodes in the preset state, one node is randomly selected and designated as the target node. The preset state can be any of the following: idle state, minimum load, etc.

[0126] Step 202: Based on the first software installation request, send a creation request to the target node; the creation request is used to request the target node to mount the target disk to a disk copy of the target disk, and mount the disk copy to the target container; and to install the target software in the target container according to the installation instructions and source data of the target software, and save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

[0127] Specifically, based on the first installation request sent by the client, the server determines the copy information of the target disk, and then sends a creation request to the target node based on the first software installation request and the copy information. The disk copy is a replica of the target disk, which contains the source data of the target software.

[0128] To facilitate the management of disk copies and avoid consuming excessive storage resources on the target node, in some implementations, the server obtains the attribute information of the target software from the first installation request, and determines the second access path of the disk copy according to the software name and software version included in the attribute information and a second preset rule; and determines whether the first installation request contains the capacity size of the disk copy specified by the user. If it does, the second access path and the capacity size contained in the first installation request are determined as the copy information of the disk copy; if it does not, the preset capacity size is determined as the capacity size of the disk copy, and the second access path and the capacity size of the disk copy are determined as the copy information of the disk copy.

[0129] The processing procedure of the target node after receiving the creation request can be found in the previous description, and the repeated parts will not be repeated here.

[0130] The software installation method provided in this application mounts a disk copy to a created target container, installs the target software within the target container, and saves incremental data to a preset storage area within the disk copy. This not only provides an independent installation environment for the target software based on the container's environmental isolation characteristics but also ensures that the incremental data remains in a fixed location. Therefore, it reduces the risk of interference with the existing software or system configuration of the target node caused by installing the target software. Furthermore, since only incremental data is saved to the disk copy, the storage resources occupied by the target node are limited to the size of the incremental data, avoiding excessive consumption of the target node's storage resources. Moreover, since the target node executes all operations related to software installation based on the server's creation request, and there is no requirement for administrator privileges on the server, the problem of limited software installation caused by the requirement for administrator privileges is solved.

[0131] To prevent the target container from excessively consuming the target node's runtime resources, in some implementations, the server can also determine the resource allocation information of the target container to be created based on the first installation request. Specifically, the server determines whether the first installation request contains user-specified resource allocation information; if not, the preset resource allocation information is determined as the resource allocation information of the target container.

[0132] To facilitate the management of incremental data generated during the installation of the target software, in some implementations, after receiving the first installation request, the server further determines the third access path of the upper-level directory in the structured directory corresponding to the stacked file system according to a third preset rule. The third preset rule can be set as needed in actual applications, and this application does not impose specific limitations on it.

[0133] Correspondingly, the server can send a creation request to the target node based on the first installation information, copy information, resource allocation information, and third access path in the first software installation request.

[0134] To ensure the successful installation of the target application, in some implementation methods, such as Figure 10 As shown, after the server sends a creation request to the target node, it may also include:

[0135] The system receives a startup success message from the target node and then forwards it to the client. This startup success message includes the connection address of the remote service started in the target container. If a remote connection request is received from the client, it is forwarded to the target node. The remote connection request is sent by the client upon receiving a connection command from the user, based on the connection address in the startup success message. This request is used to establish a remote connection with the remote service.

[0136] In some implementations, to facilitate the archiving of installation data and thus the convenient installation of the target application on other devices, the server, upon receiving the first installation request from the client, further includes: determining the installation path of the target software according to a first preset rule, obtaining the attribute information of the target software from the first creation request, establishing an association between the installation path and the attribute information of the target software, and sending the installation path to the client so that the user can send an installation command to the target node through the client according to the installation path. The first preset rule can be set as needed in actual applications, and is not specifically limited in this application.

[0137] In some implementations, the installation path can be sent to the client simultaneously with the startup success message, allowing the client to display the connection interface. In other implementations, the installation path and startup success message may not be sent to the client simultaneously; the connection interface is displayed only when the client confirms that both the installation path and startup success message have been received. The connection interface displays the installation path and may also include connection controls, etc., so that the user can input connection commands through the connection interface, and after the client establishes a remote connection with the target node, the installation commands are sent to the target node according to the displayed installation path.

[0138] To address the issues of privilege requirements and difficulties in copying the installation process inherent in traditional software installation methods, some implementations, such as... Figure 10As shown, if the server receives a successful installation message from the client indicating that the target software has been installed, it sends an archive request to the target node to archive the installation data of the target software. After archiving is complete, it sends a resource reclamation request to the target node and receives the resource reclamation result from the target node. If the server receives a failed installation message from the client indicating that the target software has been installed, it sends a resource reclamation request to the target node and receives the resource reclamation result from the target node. Specifically, after sending the creation request to the target node, the method further includes:

[0139] The system receives the installation result of the target software sent by the client. If the installation result is successful, it sends an archive request to the target node according to the determined installation path of the target software. It also receives the installation data sent by the target node and saves the installation data and attribute information to the software repository. The installation data is obtained by the target node from the target storage location in a preset storage area, which is the storage location indicated by the installation path. Furthermore, if the system receives an installation failure message from the client, or if the installation data has been saved to the software repository, it sends a resource reclamation request to the target node according to the target software's attribute information and receives the resource reclamation result from the target node. Resource reclamation is used to request the target node to close the target container associated with the attribute information and unmount the disk copy.

[0140] Specifically, when the server receives an installation success message, it queries the corresponding saved installation path based on the attribute information in the success message and sends an archive request to the target node based on the installation path. Upon receiving installation data from the target node, it saves the installation data and attribute information to the software repository. It also sends a resource reclamation request to the target node based on the target software's attribute information and receives the resource reclamation result from the target node. Conversely, when the server receives an installation failure message, it sends a resource reclamation request to the target node based on the attribute information in the failure message and receives the resource reclamation result from the target node.

[0141] Therefore, upon successful installation of the target software, saving the installation data from the target storage location indicated by the target path to the software repository avoids the need for archiving unnecessary software installation packages and intermediate files. Furthermore, when other users subsequently need to install the target software, the installation data from the software repository can be directly synchronized to their target devices, eliminating the need for them to manually perform each step of the installation process. This not only reduces installation time but also minimizes installation failures due to operational errors. When saving installation data to the software repository or when the target software installation fails, closing the target container and unmounting the disk copy allows for timely resource reclamation, preventing resource waste. Additionally, since incremental data generated during the target software installation is stored in the disk copy, unmounting the disk copy prevents target software files from remaining on the target node, reducing the complexity of maintaining junk files on the target node.

[0142] Furthermore, the target node determined by the server may not be the target device that the user (i.e., the user to whom the client belongs, which can also be referred to as the first user for ease of distinction) wants to use the target software on. Alternatively, other users (which can also be referred to as the second user for ease of distinction) may want to use the target software through the target device of the user to whom the client belongs. In this case, the user to whom the client belongs can also operate their client to edit second installation information, so as to send a second installation request for the target software to the server through the client, thereby installing the target software onto the target device. Specifically, such as... Figure 10 As shown, after the server saves the installation data and attribute information to the software repository, it may also include:

[0143] If a second installation request for the target software is received from the client, the target software's attribute information and device information are obtained from the second installation request; the corresponding saved installation data is obtained from the software repository based on the attribute information; an installation path copy of the target software's installation path is created on the target device corresponding to the device information, and the installation data is downloaded to the installation path copy to install the target software on the target device.

[0144] It should be noted that when other users are granted access to the target software, they can also operate their own clients to send a second installation request to the server to install the target software on the target device specified by the other user. In other words, the server can install the target software on the target device based on the second installation request sent by the target client. The target client can be either the aforementioned client (referred to as the first client for clarity) or the client of the other user (referred to as the second client).

[0145] Therefore, by creating a copy of the installation path on the target device and downloading the installation data to the copy of the installation path, the target software can be installed on the target device without having to execute installation commands on the target device and repeat each step of the target software installation process. This improves the software installation efficiency and avoids problems such as installation failure due to misoperation.

[0146] Corresponding to the aforementioned embodiments of the software installation method, this application also provides an embodiment of the software installation method. Figure 11 A flowchart illustrating a software installation method provided in this application embodiment. Figure 11 The method shown can be used by Figure 1 The server client executes the service. For example... Figure 11 As shown, the method includes steps 301 and 302:

[0147] Step 301: Receive the first installation information of the target software. The first installation information includes the disk information of the target disk, and the target disk includes the source data of the target software.

[0148] In some implementations, the system may receive initial installation information for the target software input by the user. This disk information may include the target disk's name, initial access path, and other similar details. The source data may be the target software's source code or its installation package.

[0149] Step 302: Send a first installation request to the server based on the first installation information. The first installation request is used to request the server to send a creation request to the target node. The creation request is used to request the target node to mount the target disk to a disk copy of the target disk and mount the disk copy to the target container. Also, according to the installation instructions and source data of the target software, install the target software in the target container and save the incremental data generated by installing the target software to a preset storage area in the disk copy.

[0150] The operation process of the server and the target node can be found in the previous descriptions, and the repeated parts will not be repeated here.

[0151] In some implementations, such as Figure 10 As shown, the client also sends a remote connection request to the target node based on the startup success information sent by the server. Specifically, after the client sends the first installation request to the server based on the first installation information, it may also include:

[0152] The system receives the installation path and startup success message from the server. The installation path is the installation path of the target software, and the startup success message includes the connection address of the remote service started in the target container. Based on the installation path and startup success message, a connection interface is displayed, showing the installation path and connection controls. If a connection command is received from the user via the connection controls, a remote connection request is sent to the remote service based on the connection address. This remote connection request is used to establish a remote connection. Then, an installation command, input by the user based on the installation path, is sent to the target node through the remote connection.

[0153] In some implementations, the connection interface may include connection controls, through which the client receives connection commands input by the user. By establishing a remote connection with the target node, the client ensures the successful installation of the target software.

[0154] In some implementations, to facilitate subsequent installations of the target software by other users after successful installation, and to promptly reclaim resources in case of installation failure, the client also sends the user-inputted installation results to the server. Specifically, for example... Figure 10 As shown, after the client sends the first installation request to the server based on the first installation information, it also includes:

[0155] If the system receives a message indicating successful installation of the target software from the user, it sends the message to the server. The message instructs the server to save the installation data of the target software to the software repository and to send a resource reclamation request to the target node. The installation data is obtained by the server from the target node. The resource reclamation request is used to request the shutdown of the target container and the unmounting of the disk copy.

[0156] If the system receives a message from the user indicating that the target software has failed to install, the message will be sent to the server. The message will instruct the server to send a resource reclamation request to the target node.

[0157] In some implementations, the aforementioned connection interface may further include an installation completion control and a cancellation control. Accordingly, the user can use the installation completion control to input a successful installation message and the cancellation control to input an installation failure message. This application does not impose specific limitations on the specific style of the connection interface; it can be set as needed in practical applications.

[0158] Therefore, upon successful installation of the target software, a success message is sent to the server, prompting the server to save the installation data to the software repository. This avoids archiving unnecessary software installation packages and intermediate files. Furthermore, when other users subsequently need to install the target software, the installation data from the software repository can be directly synchronized to their target devices, eliminating the need for them to manually perform each step of the installation process. This not only reduces installation time but also minimizes installation failures due to operational errors. When installation data is saved to the software repository or the target software installation fails, closing the target container and unmounting the disk copy allows for timely resource reclamation, preventing waste. Additionally, since incremental data generated during the installation is stored in the disk copy, unmounting the disk copy prevents target software files from remaining on the target node, reducing the complexity of maintaining junk files on the target node.

[0159] Because the target node determined by the server may not be the target device that the user (i.e., the user to whom the client belongs, which can also be referred to as the first user for ease of distinction) wants to use the target software on. Alternatively, other users (which can also be referred to as the second user for ease of distinction) may want to use the target software through the target device of the user to whom the client belongs. In this case, the user to whom the client belongs can also operate their client to edit second installation information to send a second installation request for the target software to the server through the client. Specifically, for example... Figure 10 As shown, after receiving the user's input message indicating successful installation of the target software, the method may further include:

[0160] If the second installation information of the target software input by the user is received, a second installation request is sent to the server according to the second installation information. The second installation information includes the device information of the target device to which the target software is to be installed. The second installation request is used to request the server to create an installation path copy on the target device and download the installation data to the installation path copy in order to install the target software on the target device. The installation path copy is a copy of the installation path of the target software.

[0161] The second installation information may also include the target software's attribute information, etc.

[0162] It should be pointed out that, Figure 10 This is for illustrative purposes only and not intended to limit the scope of operations. The execution order of some operations can be interchanged, and some operations can be performed simultaneously. For example, step 22 can also be performed between steps 18 and 19, or step 22 can be performed simultaneously with step 19; after step 14, step 26 can be performed directly, and so on. Figure 10 For details on the specific implementation of each step, please refer to the relevant descriptions above. Repeated steps will not be repeated here.

[0163] Therefore, based on the second installation information input by the user, the client sends a second installation request to the server, so that the server creates a copy of the installation path on the target device and downloads the installation data to the copy of the installation path. This enables the installation of the target software on the target device without having to execute installation instructions on the target device and repeat the various steps of the target software installation process. Thus, the software installation efficiency is improved and problems such as installation failure due to misoperation are avoided.

[0164] Corresponding to the embodiments of the aforementioned software installation method, this application also provides embodiments of a software installation apparatus. Figure 12 This is a schematic diagram illustrating the structure of a software installation apparatus according to an exemplary embodiment. The apparatus can be configured in... Figure 1 In any of the nodes shown. This device is used to execute the software installation method applied to the target node provided in any of the above embodiments, such as... Figure 12 As shown, the software installation device includes:

[0165] The creation module 401 is used to create a disk copy of the target container and the target disk based on the creation request sent by the server. The target disk includes the source data of the target software to be installed. The creation request is sent by the server based on the first installation request of the target software from the client.

[0166] Mounting module 402 is used to mount the target disk to a disk copy and to mount the disk copy to the target container.

[0167] Installation module 403 is used to install the target software in the target container according to the installation instructions and source data when it receives the installation instructions for the target software from the client, and save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

[0168] In some implementations, the mounting module 402 is specifically used for:

[0169] Create a structured directory corresponding to the stacked file system. The structured directory includes a bottom directory, an upper directory, and a merged directory. The bottom directory is a read-only directory, the upper directory is a read-write directory, and the merged directory is used to present a combined view of the bottom directory and the upper directory.

[0170] Mount the target disk to the underlying directory, mount the disk copy to the merge directory, and configure the merge directory as the working directory of the target container.

[0171] Correspondingly, module 403 is specifically used to save the incremental data generated by installing the target software to the upper-level directory.

[0172] In some implementations, the creation request includes a first access path to the target disk and a second access path to the disk copy, and the mount module 402 is further specifically used for:

[0173] Configure the first positional parameter as the first access path to mount the target disk to the underlying directory. The first positional parameter is used to indicate the underlying directory.

[0174] Configure the second position parameter as the second access path to mount the disk copy to the merge directory. The second position parameter is used to indicate the merge directory.

[0175] In some embodiments, the device further includes a startup module, a sending module, a receiving module, and a connection module.

[0176] The startup module is used to start the remote service corresponding to the target container after the mounting module 402 mounts the disk copy to the target container.

[0177] The sending module is used to send a startup success message to the server, which in turn triggers the server to send the startup success message to the client.

[0178] The receiving module is used to receive remote connection requests from clients.

[0179] The connection module is used to establish a remote connection with the client via a remote service.

[0180] Installation module 403 is specifically used to receive installation instructions for target software from a client via a remote connection.

[0181] In some embodiments, the device further includes a running module and a testing module.

[0182] The running module is used to install the target software in the target container after the installation module 403 installs the target software. If the receiving module receives the running instruction of the client configuration instruction for the target software based on the remote connection, it reads the corresponding first configuration instruction from the pre-deployed environment management tool according to the running instruction, and runs the first configuration instruction to configure the current running environment as the target running environment of the target software.

[0183] The testing module is used to perform functional tests on the target software if the receiving module receives test instructions from the client via a remote connection in the target operating environment.

[0184] In some implementations, the mounting module 403 is specifically used for:

[0185] The installation path is obtained from the installation instructions, and the installation file is obtained from the source data; the installation path is determined by the server according to the first installation request and sent to the client according to the first preset rule.

[0186] Run the installation file to install the target software in the target storage location within the preset storage area. The target storage location is the storage location indicated by the installation path.

[0187] In some implementations, the first installation request includes attribute information of the target software, and the apparatus further includes an association module, a receiving module, a sending module, and a recycling module.

[0188] The association module is used to associate attribute information with the target container after the target container is created by module 401.

[0189] The receiving module is used to receive archive requests sent by the server after the target software has been successfully installed.

[0190] The sending module is used to obtain the installation path from the archive request and send the installation data in the target storage location indicated by the installation path to the server so that the server can save the installation data to the software repository.

[0191] The receiving module is also used to receive resource reclamation requests sent by the server. The resource reclamation request is sent by the server after saving the installation data to the software repository, or when the target software fails to install.

[0192] The recycling module is used to retrieve attribute information from the resource recycling request when the receiving module receives a resource recycling request sent by the server, close the target container associated with the attribute information, and unmount the disk copy.

[0193] The software installation apparatus and the software installation method provided in this application are based on the same inventive concept and have the same beneficial effects as the methods they adopt, run, or implement.

[0194] The specific implementation process of the functions and roles of each module in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0195] Corresponding to the embodiments of the aforementioned software installation method, this application also provides embodiments of a software installation apparatus. Figure 13 This is a schematic diagram illustrating the structure of a software installation apparatus according to an exemplary embodiment. The apparatus can be configured in... Figure 1 In the server shown, the device is used to execute the software installation method applied to the server provided in any of the above embodiments, such as... Figure 13 As shown, the software installation device includes:

[0196] The determination module 501 is used to determine the target node in the distributed cluster based on the first installation request of the target software sent by the client. The target node is any node in a preset state.

[0197] The sending module 502 is used to send a creation request to the target node according to the first software installation request; the creation request is used to request the target node to mount the target disk to a disk copy of the target disk and mount the disk copy to the target container; and, according to the installation instructions of the target software and the source data in the target disk, to install the target software in the target container and save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

[0198] In some embodiments, the device further includes a first receiving module.

[0199] The first receiving module is used to receive the startup success information sent by the target node after the sending module 502 sends the creation request to the target node, as well as to receive the remote connection request sent by the client; the startup success information includes the connection address of the remote service started in the target container.

[0200] The sending module 502 is also used to send a startup success message to the client; and if the first receiving module receives a remote connection request sent by the client, it sends the remote connection request to the target node; the remote connection request is sent by the client based on the connection address when it receives the connection instruction input by the user, and the remote connection request is used to request to establish a remote connection with the remote service.

[0201] In some implementations, the first installation request includes attribute information of the target software, and the apparatus further includes: a second receiving module, a saving module, an acquiring module, and a downloading module.

[0202] The second receiving module is also used to receive the successful installation information of the target software sent by the client after the sending module 502 sends the creation request to the target node.

[0203] The sending module 502 is also used to send an archive request to the target node according to the determined installation path of the target software if the second receiving module receives the installation success information of the target software sent by the client. The installation path is determined by the server according to the second preset rule.

[0204] The second receiving module is also used to receive installation data sent by the target node. The installation data is obtained by the target node from the target storage location in the preset storage area. The target storage location is the storage location indicated by the installation path.

[0205] The save module is used to save the installation data and attribute information to the software repository.

[0206] The acquisition module is used to acquire attribute information and device information from the second installation request if the second receiving module receives the second installation request for the target software sent by the client; and to acquire the corresponding saved installation data from the software repository based on the attribute information.

[0207] The download module is used to create a copy of the installation path on the target device corresponding to the device information, and download the installation data to the copy of the installation path in order to install the target software on the target device.

[0208] In some implementations, the sending module 502 is further configured to send a resource reclamation request to the target node based on the attribute information of the target software when the second receiving module receives the installation failure information of the target software sent by the client, or when the installation data is saved to the software repository; the resource reclamation is used to request the target node to close the target container associated with the attribute information and unmount the disk copy.

[0209] The software installation apparatus and the software installation method provided in this application are based on the same inventive concept and have the same beneficial effects as the methods they adopt, run, or implement.

[0210] The specific implementation process of the functions and roles of each module in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0211] Corresponding to the embodiments of the aforementioned software installation method, this application also provides embodiments of a software installation apparatus. Figure 14 This is a schematic diagram illustrating the structure of a software installation apparatus according to an exemplary embodiment. The apparatus can be configured in... Figure 1 In the client shown, the device is used to execute the software installation method applied to the client provided in any of the above embodiments, such as... Figure 14 As shown, the software installation device includes:

[0212] The receiving module 601 is used to receive the first installation information of the target software, which includes the disk information of the target disk and the source data of the target software in the target disk.

[0213] The sending module 602 is used to send a first installation request to the server according to the first installation information; the first installation request is used to request the server to send a creation request to the target node, the creation request is used to request the target node to mount the target disk to a disk copy of the target disk, and mount the disk copy to the target container; and according to the installation instructions and source data of the target software, install the target software in the target container, and save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

[0214] In some embodiments, the apparatus further includes a display module.

[0215] The receiving module 601 is further configured to receive the installation path and startup success information sent by the server after the sending module 602 sends the first installation request to the server based on the first installation information. The installation path is the installation path of the target software, and the startup success information includes the connection address of the remote service started in the target container.

[0216] The display module is used to show the connection interface based on the installation path and startup success information. The connection interface is used to display the installation path and connection controls.

[0217] The sending module 602 is also configured to, if the receiving module 601 obtains the connection instruction input by the user through the connection control, send a remote connection request to the remote service according to the connection address, the remote connection request being used to request the establishment of a remote connection; and send an installation instruction to the target node through the remote connection.

[0218] In some implementations, the receiving module 601 is also used to receive successful installation information of the target software, or to receive installation failure information of the target software.

[0219] The sending module 602 is further configured to send the installation success information to the server if the receiving module 601 receives the installation success information of the target software. The installation success information is used to instruct the server to save the installation data of the target software to the software repository and send a resource reclamation request to the target node. The installation data is obtained by the server from the target node. The resource reclamation request is used to request the closure of the target container and the unmounting of the disk copy.

[0220] The sending module 602 is also used to send the installation failure information to the server if the receiving module 601 receives the installation failure information of the target software; the installation failure information is used to instruct the server to send a resource reclamation request to the target node.

[0221] In some implementations, the receiving module 601 is also used to receive second installation information of the target software.

[0222] Correspondingly, the sending module 602 is also configured to send a second installation request to the server based on the second installation information if the receiving module 601 receives the second installation information of the target software; wherein, the second installation information includes the device information of the target device to which the target software is to be installed, and the second installation request is used to request the server to create an installation path copy in the target device and download the installation data to the installation path copy in order to install the target software in the target device; the installation path copy is a copy of the installation path of the target software.

[0223] The software installation apparatus and the software installation method provided in this application are based on the same inventive concept and have the same beneficial effects as the methods they adopt, run, or implement.

[0224] The specific implementation process of the functions and roles of each module in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0225] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate. The components illustrated as modules may or may not be physical modules, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this application according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0226] Corresponding to the embodiments of the aforementioned software installation methods, this application also provides embodiments of a software installation system. Figure 15 This is a schematic diagram illustrating the structure of a software installation system according to an exemplary embodiment, such as... Figure 15 As shown, the software installation system includes: client 701, server 702 and distributed cluster 703, and the distributed cluster 703 includes multiple nodes 7031.

[0227] Client 701 is used to send a first installation request to server 702 based on the first installation information of the target software; the first installation information includes disk information of the target disk, and the target disk includes the source data of the target software.

[0228] Server 702 is used to determine the target node 7031 in the distributed cluster 703 according to the first installation request. The target node 7031 is any node in a preset state. The server 702 sends a creation request to the target node 7031 according to the first installation request.

[0229] Target node 7031 is used to create a target container and a disk copy according to the creation request; mount the target disk to the disk copy, and mount the disk copy to the target container; and when it receives the installation instruction for the target software from client 701, it installs the target software in the target container according to the installation instruction and source data, and saves the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

[0230] In some implementations, such as Figure 16 As shown, the software installation system also includes: the target device 704 to which the target software is to be installed.

[0231] The client 701 is also used to send the user-inputted installation success information of the target software to the server 702; and, if it receives the user-inputted second installation information of the target software, it sends the second installation request of the target software to the server 702 according to the second installation information, the second installation information including the attribute information of the target software and the device information of the target device 704.

[0232] Server 702 is also used to receive installation success information and send an archive request to target node 7031 according to the determined installation path of the target software; receive installation data sent by target node 7031 and save the installation data and attribute information to the software repository; and retrieve installation data from the software repository according to the attribute information in the second installation request; create an installation path copy of the installation path in target device 704 and download the installation data to the installation path copy.

[0233] The target node 7031 is also used to receive archiving requests and send the installation data stored in the target storage location in the preset storage area to the server 702. The target storage location is the storage location indicated by the installation path.

[0234] The target device 704 is used to store installation data and, upon receiving an activation command for the target software, to run the target software based on the installation data.

[0235] It should be pointed out that, Figure 15 and Figure 16 The dashed lines in the diagram represent remote connections. The process of establishing a remote connection between the client and the target node can be found in the previous descriptions, and the repetitions will not be repeated here.

[0236] The software installation system and the software installation method provided in this application are based on the same inventive concept and have the same beneficial effects as the methods they adopt, run or implement.

[0237] It is understandable that the above division of modules is only a logical functional division. In actual implementation, the functions of the above modules can be integrated into hardware entities. For example, the functions of creation module 401, mounting module 402, installation module 403, and determination module 501 can be integrated into the processor, and the functions of sending module 502, receiving module 601, and sending module 602 can be integrated into the transceiver.

[0238] Based on this, some embodiments of this application also provide an electronic device corresponding to the software installation method provided in the foregoing embodiments, which can be configured as follows: Figure 1 Any node, server, or client shown can be used to perform the software installation method described above.

[0239] Figure 17 The present invention illustrates a hardware structure diagram of an electronic device according to an exemplary embodiment. The electronic device includes a communication interface 801, a processor 802, a memory 803, and a bus 804. The communication interface 801, processor 802, and memory 803 communicate with each other via the bus 804. The processor 802 can execute the software installation method described above by reading and executing machine-executable instructions corresponding to the control logic of the software installation method stored in the memory 803. The specific details of this method are described in the above embodiment and will not be repeated here.

[0240] The memory 803 mentioned in this embodiment can be any electronic, magnetic, optical, or other physical storage device, and can contain stored information such as executable instructions, data, etc. Specifically, the memory 803 can be RAM (Random Access Memory), flash memory, storage drive (such as hard disk drive), any type of storage disk (such as optical disk), or similar storage media, or combinations thereof. Communication between this system network element and at least one other network element is achieved through at least one communication interface 801 (which can be wired or wireless), and the Internet, wide area network, local area network, metropolitan area network, etc., can be used.

[0241] Bus 404 can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. The memory 803 stores the program, and the processor 802 executes the program after receiving an execution instruction.

[0242] The processor 802 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 802 or by instructions in software form. The processor 802 can be a general-purpose processor, including a network processor (NP), digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware controls, etc. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor.

[0243] The electronic devices and software installation methods provided in this application are based on the same inventive concept and have the same beneficial effects as the methods they employ, operate, or implement.

[0244] This application also provides a computer-readable storage medium corresponding to the software installation method provided in the foregoing embodiments, which stores a computer program (i.e., a program product) thereon. When the computer program is run by a processor, it executes the software installation method provided in any of the foregoing embodiments.

[0245] It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other optical and magnetic storage media, which will not be elaborated here.

[0246] The computer-readable storage medium provided in the above embodiments of this application and the software installation method provided in the embodiments of this application are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented by the applications stored therein.

[0247] This application also provides a computer program product corresponding to the software installation method provided in the foregoing embodiments. The computer program product includes a computer program that is executed by a processor to implement the software installation method provided in the foregoing embodiments.

[0248] The computer program products provided in the above embodiments of this application and the software installation methods provided in the embodiments of this application are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented by the applications they store.

[0249] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the claims.

[0250] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0251] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A software installation method, characterized in that, The method, applicable to any node in a distributed cluster, includes: Based on the creation request sent by the server, a disk copy of the target container and the target disk is created, wherein the target disk includes the source data of the target software to be installed, and the creation request is sent by the server based on the first installation request of the target software from the client; Mount the target disk to the disk copy, and mount the disk copy to the target container; Upon receiving an installation instruction from the client for the target software, the target software is installed in the target container according to the installation instruction and the source data, and the incremental data generated by the installation of the target software is saved to a preset storage area in the disk copy.

2. The method according to claim 1, characterized in that, The step of mounting the target disk to the disk copy and mounting the disk copy to the target container includes: Create a structured directory corresponding to the stacked file system. The structured directory includes a bottom directory, an upper directory, and a merged directory. The bottom directory is a read-only directory, the upper directory is a read-write directory, and the merged directory is used to present a combined view of the bottom directory and the upper directory. Mount the target disk to the underlying directory, mount the disk copy to the merge directory, and configure the merge directory as the working directory of the target container; Saving the incremental data generated during the installation of the target software to a preset storage area in the disk copy includes: Save the incremental data to the upper-level directory.

3. The method according to claim 2, characterized in that, The creation request includes a first access path to the target disk and a second access path to the disk copy; mounting the target disk to the underlying directory and mounting the disk copy to the merged directory includes: Configure the first position parameter to the first access path to mount the target disk to the underlying directory, wherein the first position parameter is used to indicate the underlying directory; Configure the second location parameter as the second access path to mount the disk copy to the merged directory, the second location parameter being used to indicate the merged directory.

4. The method according to any one of claims 1-3, characterized in that, After mounting the disk copy onto the target container, the method further includes: After starting the remote service corresponding to the target container, a startup success message is sent to the server to trigger the server to send the startup success message to the client. Receive a remote connection request from the client, and establish a remote connection with the client through the remote service; The client receives the installation instructions for the target software based on the remote connection.

5. The method according to claim 4, characterized in that, After installing the target software in the target container, the method further includes: If a running instruction for the configuration instructions of the target software is received from the client based on the remote connection, then the corresponding first configuration instruction is read from the pre-deployed environment management tool according to the running instruction, and the first configuration instruction is run to configure the current running environment as the target running environment of the target software; If a test instruction is received from the client via the remote connection in the target operating environment, then the target software is functionally tested according to the test instruction.

6. The method according to claim 1, characterized in that, The step of installing the target software in the target container according to the installation instructions and the source data includes: The installation path is obtained from the installation instructions, and the installation file is obtained from the source data; the installation path is determined by the server based on the first installation request and sent to the client. Run the installation file to install the target software at the target storage location in the preset storage area, where the target storage location is the storage location indicated by the installation path.

7. The method according to claim 6, characterized in that, The first installation request includes the attribute information of the target software, and the process after creating the target container further includes: Associate the attribute information with the target container; After installing the target software in the target container, the method further includes: If the target software is successfully installed, an archive request sent by the server is received, and the installation path is obtained from the archive request; the installation data in the target storage location indicated by the installation path is sent to the server, and the installation data is used by the server to save the installation data to the software repository; Upon receiving a resource reclamation request from the server, the server retrieves the attribute information from the resource reclamation request, closes the target container associated with the attribute information, and cancels the mounting of the disk copy. The resource reclamation request is sent by the server after saving the installation data to the software repository, or when the target software installation fails.

8. A software installation method, characterized in that, Applied to the server side, the method includes: Based on the first installation request of the target software sent by the client, the target node in the distributed cluster is determined, and the target node is any node in a preset state; According to the first software installation request, a creation request is sent to the target node; the creation request is used to request the target node to mount the target disk to a disk copy of the target disk, and to mount the disk copy to the target container; and, according to the installation instructions of the target software and the source data in the target disk, to install the target software in the target container, and to save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

9. The method according to claim 8, characterized in that, After sending the creation request to the target node, the method further includes: The system receives a startup success message from the target node and sends the startup success message to the client; the startup success message includes the connection address of the remote service started in the target container. If a remote connection request is received from the client, the remote connection request is sent to the target node; the remote connection request is sent by the client based on the connection address when it receives a connection command input by the user, and the remote connection request is used to request the establishment of a remote connection with the remote service.

10. The method according to claim 8, characterized in that, The first installation request includes the attribute information of the target software. After sending the creation request to the target node, the method further includes: If the server receives a message from the client indicating that the target software has been successfully installed, it sends an archive request to the target node according to the determined installation path of the target software. The installation path is determined by the server based on a second preset rule. The system receives installation data sent by the target node and saves the installation data and attribute information to the software repository. The installation data is obtained by the target node from the target storage location in the preset storage area. The target storage location is the storage location indicated by the installation path. If a second installation request for the target software sent by the client is received, the attribute information and device information are obtained from the second installation request; The corresponding saved installation data is retrieved from the software repository based on the attribute information; An installation path copy of the installation path is created on the target device corresponding to the device information, and the installation data is downloaded to the installation path copy to install the target software onto the target device.

11. The method according to claim 10, characterized in that, The method further includes: Upon receiving an installation failure message for the target software from the client, or upon saving the installation data to the software repository, a resource reclamation request is sent to the target node based on the attribute information of the target software; the resource reclamation is used to request the target node to close the target container associated with the attribute information and unmount the disk copy.

12. A software installation method, characterized in that, Applied to a client, the method includes: Receive first installation information of the target software, the first installation information including disk information of the target disk, the target disk including the source data of the target software; A first installation request is sent to the server based on the first installation information; the first installation request is used to request the server to send a creation request to the target node, the creation request is used to request the target node to mount the target disk to a disk copy of the target disk, and mount the disk copy to the target container; and according to the installation instructions of the target software and the source data, the target software is installed in the target container, and the incremental data generated by the installation of the target software is saved to a preset storage area in the disk copy.

13. The method according to claim 12, characterized in that, After sending the first installation request to the server based on the first installation information, the method further includes: The system receives the installation path and startup success information sent by the server. The installation path is the installation path of the target software, and the startup success information includes the connection address of the remote service started in the target container. The connection interface is displayed based on the installation path and startup success information. The connection interface is used to display the installation path and connection controls. If a connection command is received from the user through the connection control, a remote connection request is sent to the remote service according to the connection address. The remote connection request is used to request the establishment of a remote connection. The installation command is sent to the target node via the remote connection.

14. The method according to claim 12, characterized in that, After sending the first installation request to the server based on the first installation information, the method further includes: If the installation success information of the target software is received, the installation success information is sent to the server. The installation success information is used to instruct the server to save the installation data of the target software to the software repository and send a resource reclamation request to the target node. The installation data is obtained by the server from the target node. The resource reclamation request is used to request the closure of the target container and the unmounting of the disk copy. If an installation failure message for the target software is received, the installation failure message is sent to the server; the installation failure message is used to instruct the server to send the resource reclamation request to the target node.

15. The method according to claim 14, characterized in that, After receiving the user's input indicating successful installation of the target software, the method further includes: If the second installation information of the target software is received, a second installation request is sent to the server based on the second installation information; The second installation information includes device information of the target device on which the target software is to be installed, and the second installation request is used to request the server to create an installation path copy on the target device and download the installation data to the installation path copy to install the target software on the target device; the installation path copy is a copy of the installation path of the target software.

16. A software installation device, characterized in that, The device is applied to any node in a distributed cluster and includes: A creation module is used to create a disk copy of a target container and a target disk based on a creation request sent by the server. The target disk includes the source data of the target software to be installed. The creation request is sent by the server based on a first installation request of the target software from the client. The mounting module is used to mount the target disk to the disk copy and to mount the disk copy to the target container; The installation module is used to install the target software in the target container according to the installation instruction and the source data when it receives the installation instruction from the client for the target software, and to save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

17. A software installation device, characterized in that, Applied to the server side, the device includes: The module determines the target node in the distributed cluster based on the first installation request for the target software sent by the client. The target node is any node in a preset state. The sending module is configured to send a creation request to the target node according to the first software installation request; the creation request is configured to request the target node to mount the target disk to a disk copy of the target disk and mount the disk copy to the target container; and to install the target software in the target container according to the installation instructions of the target software and the source data in the target disk, and save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

18. A software installation device, characterized in that, Applied to a client, the device includes: A receiving module is configured to receive first installation information of the target software, the first installation information including disk information of the target disk, the target disk including source data of the target software; The sending module is configured to send a first installation request to the server based on the first installation information; the first installation request is configured to request the server to send a creation request to the target node, the creation request is configured to request the target node to mount the target disk to a disk copy of the target disk, and mount the disk copy to the target container; and to install the target software in the target container according to the installation instructions of the target software and the source data, and save the incremental data generated by the installation of the target software to a preset storage area in the disk copy.

19. A software installation system, characterized in that, The system includes: a client, a server, and a distributed cluster, wherein the distributed cluster includes multiple nodes; The client is configured to send a first installation request to the server based on the first installation information of the target software; the first installation information includes disk information of the target disk, and the target disk includes the source data of the target software; The server is configured to determine the target node in the distributed cluster based on the first installation request, wherein the target node is any node in a preset state; and send a creation request to the target node based on the first installation request. The target node is configured to create a target container and a disk copy of the target disk according to the creation request; mount the target disk to the disk copy, and mount the disk copy to the target container; and, upon receiving an installation instruction from the client for the target software, install the target software in the target container according to the installation instruction and the source data, and save the incremental data generated by installing the target software to a preset storage area in the disk copy.

20. The system according to claim 19, characterized in that, The system also includes: a target device on which the target software is to be installed; The client is also configured to send the successful installation information of the target software to the server; and, if it receives the second installation information of the target software, to send the second installation request of the target software to the server according to the second installation information, wherein the second installation information includes the attribute information of the target software and the device information of the target device; The server is further configured to receive the installation success information and send an archive request to the target node according to the determined installation path of the target software; receive the installation data sent by the target node and save the installation data and attribute information to the software repository; and retrieve the installation data from the software repository according to the attribute information in the second installation request; create an installation path copy of the installation path on the target device and download the installation data to the installation path copy. The target node is also used to receive the archiving request and send the installation data stored in the target storage location in the preset storage area to the server, wherein the target storage location is the storage location indicated by the installation path; The target device is used to store the installation data and, upon receiving an activation command for the target software, to run the target software according to the installation data.

21. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor executes the program to implement the method as described in any one of claims 1-7, or the method as described in any one of claims 8-11, or the method as described in any one of claims 12-15.

22. A computer-readable storage medium having a computer program stored thereon, characterized in that, The program is executed by a processor to implement the method as described in any one of claims 1-7, or the method as described in any one of claims 8-11, or the method as described in any one of claims 12-15.

23. A computer program product, comprising a computer program, characterized in that, The computer program is executed by a processor to implement the method of any one of claims 1-7, or the method of any one of claims 8-11, or the method of any one of claims 12-15.