Software deployment method and device, equipment and storage medium

By pre-configuring automatic scripts and automated deployment software in the software publisher and using encrypted communication channels to obtain the target version module from the cloud platform, the problems of strong network dependence and poor version compatibility in the cloud command mode are solved, and automated deployment without network dependence and improved version compatibility are achieved.

CN120653268APending Publication Date: 2025-09-16HANGZHOU SHUJU CHAIN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510722888.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-30
Publication Date
2025-09-16

AI Technical Summary

Technical Problem

In the existing technology, the software deployment method of the cloud command mode is highly dependent on network connection, the deployment process is complicated and the version compatibility is poor, which makes the deployment process easily interrupted, requires a lot of manual intervention and is inefficient.

Method used

By pre-configuring automatic scripts and automated software deployment in the software publisher, the target version module is obtained from the cloud platform through an encrypted communication channel, and software deployment is automatically completed to ensure version compatibility.

Benefits of technology

It realizes an automated deployment process without network dependency, improves deployment efficiency and version compatibility, reduces manual intervention, and simplifies the deployment process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120653268A_ABST
    Figure CN120653268A_ABST
Patent Text Reader

Abstract

The invention provides a software deployment method, device and equipment and a storage medium, and is applied to the technical field of computers, and the method comprises the steps of responding to establishment of communication connection with a client, triggering an automatic running script, and running automatic deployment software through the automatic running script. And under the condition that the automatic deployment software runs successfully, establishing an encrypted communication channel with the cloud platform. And obtaining a target version module corresponding to each function module from the cloud platform through the encrypted communication channel according to the deployed version of the deployed function module in the client, the pre-configured version and the version dependency relationship. And deploying the target software to the client through the automatic deployment software. The target software comprises a plurality of target version modules. The problems of strong network dependence, complex deployment process and poor version compatibility of a cloud instruction mode adopted when a product is installed at a client can be solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a software deployment method, apparatus, device, and storage medium. Background Art

[0002] With the increasing complexity of software systems, modern enterprise-level products are usually composed of dozens or even hundreds of functional modules, which require precise configuration and coordination to operate properly. For example, in the field of equipment operation and maintenance, a complete solution may include multiple independent functional modules such as data acquisition, analysis engine, user interface, etc., each of which has its own specific version requirements and dependencies. In related technologies, cloud-based instructions are generally used when clients install products. For example, users need to access the cloud platform through a stable network connection, gradually obtain the instruction set required for deployment, and download and decompress them one by one from the cloud container repository in sequence according to the instructions, and configure each module locally to ensure that it can work with other modules.

[0003] However, this cloud-based instruction model has many limitations. First, it is highly dependent on network connectivity. Once there is a network fluctuation or interruption, the entire deployment process may be forced to terminate, and the user will need to restart the deployment operation. Secondly, the deployment process requires a lot of manual intervention, especially when encountering module dependency conflicts. Users must manually intervene to resolve them, which not only increases the difficulty of operation, but may also lead to human errors. In addition, because most systems use a single-threaded download method, the deployment time of large products is often as long as several hours. Even when repeatedly deployed, the caching mechanism cannot be effectively utilized, further reducing efficiency. At the same time, when multiple modules have cross-dependencies, traditional methods are difficult to automatically handle version compatibility issues. Users need to manually compare complex version dependency tables, which can easily lead to potential compatibility failures. Summary of the Invention

[0004] The purpose of this application is to provide a software deployment method, apparatus, device and storage medium to solve the problems of strong network dependence, complex deployment process and poor version compatibility of the cloud instruction mode used when the client installs the product.

[0005] In a first aspect, an embodiment of the present application provides a software deployment method, which is applied to a software publisher, wherein the software publisher is pre-configured with an automatic run script, automated deployment software, and software information of the software to be deployed. The software information includes a pre-configured version of each functional module of the software to be deployed and the version dependency relationship between each functional module. The method includes: in response to establishing a communication connection with a client, triggering an automatic run script, and running the automated deployment software through the automatic run script. When the automated deployment software runs successfully, an encrypted communication channel is established with the cloud platform. According to the deployed version, pre-configured version, and version dependency relationship of the deployed functional modules in the client, the target version module corresponding to each functional module is obtained from the cloud platform through the encrypted communication channel. The target software is deployed to the client through the automated deployment software. The target software includes multiple target version modules.

[0006] The software deployment method provided in the embodiments of the present application pre-configures the software information of the automatically executed script, the automated deployment software, and the software to be deployed in the software publisher. Users can then automatically complete product installation by using the software publisher and ensuring a connection is established between the software publisher and the client. The deployment process is independent of the network and is simple. Furthermore, when deploying the target software on the client, a compatibility match can be performed between the versions of the modules of the product already installed on the client and the versions of the modules of the product pre-configured in the software publisher, thereby improving product version compatibility.

[0007] One possible implementation involves obtaining the target version module corresponding to each functional module from the cloud platform via an encrypted communication channel based on the deployed version, preconfigured version, and version dependencies of the functional modules deployed in the client. This includes: obtaining the deployed version of the same functional module deployed in the client as in the software to be deployed, based on the functional module. If the preconfigured version is the same as the deployed version, determining the preconfigured version as the target version. Obtaining the target version module from the cloud platform via an encrypted communication channel.

[0008] In one possible implementation, after obtaining a deployed version of the same functional module as that in the software to be deployed that has been deployed in the client based on the functional module of the software to be deployed, the method further includes: if the preconfigured version is different from the deployed version, based on the deployed version and version dependency, screening out a version compatible with the deployed software and the software to be deployed in the client from the cloud platform as the target version.

[0009] One possible implementation method is to filter out target deployment versions compatible with deployed functional modules from the cloud platform when there are multiple target software, including: if the versions of the same pre-configured functional modules in multiple target software are different, filter out target versions of the functional modules compatible with each target software from the cloud platform.

[0010] In a possible implementation manner, the method further includes: using the target version to update the software information of the software to be deployed in the software publisher.

[0011] In one possible implementation, the method further includes: receiving pre-configuration information from a cloud platform. The pre-configuration information is generated by the cloud platform in response to a user-submitted request for a new publisher. The configuration information includes information about an auto-run script, automated deployment software, and software to be deployed. Receiving a private key from the cloud platform. The cloud platform stores a public key corresponding to the private key. The public and private keys are generated by a key generation server and sent to the cloud platform. The pre-configuration information and the private key are stored in correspondence.

[0012] In one possible implementation, the software publisher is preconfigured with a validity period and validity count for the software publisher. Before triggering the automatic execution script and executing the automated software deployment script, the method further includes: responsive to a communication connection with the client, validating the software publisher based on the validity period and validity count. If the software publisher's usage time is within the validity period and the number of times the software publisher has been published on the cloud platform is within the valid count, the step of triggering the script execution is executed. The number of publications is determined by the cloud platform based on the number of times the software publisher has deployed the target software to the client.

[0013] In a second aspect, embodiments of the present application provide a software deployment device, which is applied to a software publisher. The software publisher is pre-configured with an automatic run script, automated deployment software, and software information of the software to be deployed. The software information includes the pre-configured version of each functional module of the software to be deployed and the version dependencies between each functional module. The device includes:

[0014] The response module is used to trigger the automatic running script in response to establishing a communication connection with the client, and run the automated deployment software through the automatic running script.

[0015] The communication module is used to establish an encrypted communication channel with the cloud platform when the automated deployment software runs successfully.

[0016] The acquisition module is used to obtain the target version module corresponding to each functional module from the cloud platform through an encrypted communication channel based on the deployed version, preconfigured version and version dependency of the functional modules deployed in the client.

[0017] The deployment module is used to deploy the target software to the client through automated deployment software. The target software includes multiple target version modules.

[0018] In a third aspect, the present application provides a software deployment device that implements the software deployment method of the first aspect or any possible implementation thereof. This functionality can be implemented in hardware or by hardware executing corresponding software implementations. The hardware or software includes one or more modules corresponding to the aforementioned functionality.

[0019] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores instructions. When the computer-readable storage medium is run on a computer, the computer can execute the software deployment method of the above-mentioned first aspect or any possible implementation method.

[0020] In a fifth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when run on a computer, enables the computer to execute the software deployment method of the above-mentioned first aspect or any possible implementation method.

[0021] Among them, the technical effects brought about by any design method in the second to fifth aspects can refer to the technical effects brought about by different possible implementation methods in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the following is a brief introduction to the drawings required for use in the specific implementation methods or the description of the prior art. Obviously, the drawings described below are some implementation methods of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0023] Figure 1 A schematic diagram of the structure of a software deployment system provided in an embodiment of the present application;

[0024] Figure 2 A method flow chart of a software deployment method provided in an embodiment of the present application;

[0025] Figure 3 A schematic diagram of the structure of a software deployment device provided in an embodiment of the present application;

[0026] Figure 4 Another structural diagram of a software deployment system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0027] To make the objectives, technical solutions, and advantages of the embodiments of the present application more clear, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Generally, the components of the embodiments of the present application described and shown in the drawings herein can be arranged and designed in various different configurations.

[0028] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for protection, but merely represents selected embodiments of the present application. All other embodiments obtained by persons of ordinary skill in the art based on the embodiments in the present application without creative work are within the scope of protection of the present application.

[0029] On the one hand, the embodiment of the present application provides a software deployment system. Figure 1 As shown, the software deployment system 100 may include: a software publisher 101 , a client 102 and a cloud platform 103 .

[0030] The software publisher 101 is connected to the client 102 and the cloud platform 103.

[0031] Software publisher 101 is preconfigured with an automatic run script, automated deployment software, and software information for the software to be deployed. When establishing a communication connection with client 102, software publisher 101 triggers the automatic run script, which then runs the automated deployment software. If the automated deployment software successfully runs, it establishes an encrypted communication channel with the cloud platform and, based on the module and software information of the deployed functional modules obtained from the client, retrieves the target version module corresponding to each functional module from the cloud platform. Finally, the target software is deployed to the client using the automated deployment software.

[0032] Exemplarily, the software publisher 101 may be in the form of a USB flash drive, a mobile hard drive, or a magnetic disk, and this application does not limit this. The communication connection between the software publisher 101 and the client 102 may be a physical connection, i.e., when the software publisher 101 is a USB flash drive, the communication connection is established after the USB flash drive is inserted into the client 102, or may be a Bluetooth, near-field communication, wireless fidelity, or wired connection, and this application does not limit this.

[0033] The client 102 may be deployed with software of any version module, or may be a device without software deployed. The client 102 may be a portable electronic device with functions such as a personal digital assistant and / or a music player, such as a mobile phone, a tablet computer, a wearable electronic device with wireless communication functions (such as a smart watch), etc. Exemplary embodiments of portable electronic devices include but are not limited to portable electronic devices equipped with or other operating systems. The portable electronic device may also be other portable electronic devices, such as a laptop computer. It should also be understood that in some other embodiments, the electronic device may not be a portable electronic device, but a desktop computer.

[0034] After establishing an encrypted communication channel with software publisher 101, cloud platform 103 is configured to deliver the target version module to software publisher 101 via the encrypted communication channel upon request from software publisher 101. Cloud platform 103 can also be used to manage software publisher 101, for example, by creating, updating, revising, or modifying the software information of automatic execution scripts, automated deployment software, and software to be deployed within software publisher 101.

[0035] On the one hand, the embodiment of the present application provides a software deployment method, which can be Figure 1 The software publisher in the software deployment system shown in FIG. Figure 2 As shown, the method includes the following steps:

[0036] S201 , in response to establishing a communication connection with a client, triggering an automatic execution script, and running an automated deployment software through the automatic execution script.

[0037] The software publisher is pre-configured with automatic running scripts, automated deployment software, and software information of the software to be deployed. The software information includes the pre-configured version of each functional module of the software to be deployed and the version dependency between each functional module.

[0038] For example, the software to be deployed may include equipment operation and maintenance products, yard management products, and smart fire protection products. Equipment operation and maintenance products may consist of multiple functional modules, including a management platform front-end module, an equipment monitoring module, and a data synchronization module. Smart fire protection products may include an equipment monitoring module, among others.

[0039] In one possible implementation, the software publisher's preconfiguration process can be accomplished through the following steps. The software publisher receives preconfiguration information from the cloud platform. This preconfiguration information is generated by the cloud platform in response to a user's request to add a new publisher. This configuration information includes information about the auto-run script, automated deployment software, and the software to be deployed. The software publisher receives a private key from the cloud platform. The cloud platform stores the public key corresponding to the private key. The public and private keys are generated by a key generation server and sent to the cloud platform. The preconfiguration information and private key are stored in association.

[0040] For example, after connecting the software publisher to any computer, the automated execution script, automated deployment software, and software information for the software to be deployed are written to the software publisher via the cloud platform. After successful writing, the key server generates a pair of encryption keys, namely a public key and a private key, writes the private key to the software publisher, and stores the public and private keys on the cloud platform. This ensures that all communications between the software publisher and the cloud platform are encrypted using the public and private keys, ensuring the security of communications between the software publisher and the cloud platform.

[0041] Furthermore, when the software publisher makes a new configuration, if the new software information does not conflict with the pre-configured software information in the software publisher, that is, the version of the functional module of the new product does not conflict with the pre-configured version of each functional module in the software publisher, the new software information is directly written into the software publisher.

[0042] If the newly added software information conflicts with the preconfigured software information in the software publisher, that is, if the version of the newly added product's functional module conflicts with the preconfigured version of at least one functional module in the software publisher, compatible versions will be screened out based on version dependencies. Two new product versions will be generated based on these compatible versions, and the software information in the software publisher will be configured to match these two generated new product versions. If no compatible versions exist, one product can be locked first. Based on the locked product's functional module version, all other versions of the functional module compatible with that module will be searched for and the corresponding product will be generated based on the version dependencies.

[0043] Specifically, upon detecting that a communication connection is established between the software publisher and the client, the software publisher triggers an automatic execution script, and executes the automatic deployment software through the automatic execution script.

[0044] For example, if the software publisher is a USB flash drive, when the user inserts the USB flash drive into the client, a connection is established between the USB flash drive and the client. At this time, the USB flash drive reads the Autorun.inf file in the client and executes the autorun script. It should be noted that this process can also be that the USB flash drive automatically triggers the pre-configured autorun script in the USB flash drive after detecting the establishment of a connection between the USB flash drive and the client.

[0045] After the automatic run script is triggered, the automatic deployment software pre-configured in the software publisher is run through the automatic run script.

[0046] In a possible implementation, the software publisher is also pre-configured with the validity period and validity times of the software publisher.

[0047] The validity period and number of validity times of the software publisher may be selected when the software information of the automated operation script, automated deployment software, and software to be deployed is written into the software publisher via the cloud platform.

[0048] Specifically, before triggering the automatic script and running the automated deployment software through the automatic script, the software publisher will also verify the validity of the software publisher based on the validity period and validity count in response to the communication connection with the client. If the software publisher's usage time is within the validity period and the number of times the software publisher has been published on the cloud platform is within the valid count, the step of triggering the script is executed. The number of publications is determined by the cloud platform based on the number of times the software publisher has deployed the target software to the client.

[0049] During this process, when the validity period of the software publisher expires or the valid times are exceeded, the cloud platform will automatically delete or deactivate the software publisher.

[0050] S202, when the automated deployment software runs successfully, establish an encrypted communication channel with the cloud platform.

[0051] One possible implementation method is that when the automated deployment software runs successfully, the software publisher will establish communication and heartbeat with the cloud platform through a pre-written private key.

[0052] S203 , according to the deployed versions, pre-configured versions and version dependencies of the deployed functional modules in the client, obtain the target version module corresponding to each functional module from the cloud platform through the encrypted communication channel.

[0053] The version dependency relationship may be a pre-configured dependency relationship between the functional modules of each product. For example, for a product, its functional modules include functional module A and functional module B. Function module A with version a can only be executed if function module B has version no less than b. The version dependency relationship of the product may be that function module A with version a depends on function module B with version no less than b.

[0054] One possible implementation involves obtaining a pre-deployed version of the same functional module in the software to be deployed, based on the functional module of the software to be deployed. If the pre-deployed version is the same as the deployed version, the pre-deployed version is determined to be the target version. The target version module is obtained from the cloud platform via an encrypted communication channel.

[0055] For example, a client has deployed product m, whose functional modules include functional module A. The software publisher pre-configured product n, which includes functional module A, with version a. The software publisher obtains version a of the client-deployed functional module A, which is the same as the pre-configured version of functional module A in the software publisher. The software publisher determines the pre-configured version as the target version, i.e., version a. The software publisher obtains version a of functional module A from the cloud platform via an encrypted channel.

[0056] Another possible implementation method is to obtain the deployed version of the same functional module in the software to be deployed that has been deployed in the client according to the functional module of the software to be deployed. If the preconfigured version is different from the deployed version, based on the deployed version and version dependency, filter out the version compatible with the deployed software and the software to be deployed in the client as the target version from the cloud platform.

[0057] Specifically, if the versions of the same pre-configured functional modules in multiple target software are different, a target version of the functional module compatible with each target software is screened from the cloud platform.

[0058] For example, a client has deployed product n, whose functional modules also include function module B. The software publisher obtains version c of function module B deployed on the client, which is lower than version b. Version a of function module A in the software publisher conflicts with version c of module B. Based on version c and its version dependencies, the software publisher can filter out version d of function module A from the cloud platform, which is compatible with version c of function module B, and use this version d as the target version. Version d of function module A is obtained from the cloud platform via an encrypted channel.

[0059] Furthermore, the software information of the software to be deployed in the software publisher is updated using the target version.

[0060] Exemplarily, the software publisher simultaneously updates the version of its pre-configured functional module A to functional module A of version d.

[0061] S204, deploying the target software to the client through automated deployment software.

[0062] The target software includes multiple target version modules.

[0063] Specifically, this automated deployment software deploys multiple target version modules of the target software to the client, for example, through incremental updates, parallel downloads, or cache utilization, improving deployment efficiency. After the target software is deployed, the target software and client are verified and monitored to ensure that the target software can run correctly on the client. If errors occur during operation, timely alarms are generated.

[0064] The software deployment method provided in the embodiments of the present application pre-configures the software information of the automatically executed script, the automated deployment software, and the software to be deployed in the software publisher. Users can then automatically complete product installation by using the software publisher and ensuring a connection is established between the software publisher and the client. The deployment process is independent of the network and is simple. Furthermore, when deploying the target software on the client, a compatibility match can be performed between the versions of the modules of the product already installed on the client and the versions of the modules of the product pre-configured in the software publisher, thereby improving product version compatibility.

[0065] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the working principle of the device. It can be understood that in order to realize the above functions, the vehicle controller includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0066] In the embodiments of the present application, the software deployment device can be divided into functional modules according to the above method examples. For example, each functional module can be divided into corresponding functional modules, or two or more functions can be integrated into a single processing module. The above integrated modules can be implemented in the form of hardware or software functional modules.

[0067] It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. In actual implementation, there may be other division methods. Figure 3 FIG. 1 shows a possible schematic diagram of the software deployment device involved in the above and embodiments. Figure 3 As shown, the software deployment apparatus 300 may include: a response module 301 , a communication module 302 , an acquisition module 303 and a deployment module 304 .

[0068] Among them, the response module 301 is used to support the software deployment device 300 to execute Figure 2 S201 in the illustrated software deployment method.

[0069] Communication module 302, used to support the software deployment device 300 to execute Figure 2 S202 in the illustrated software deployment method.

[0070] Acquisition module 303, used to support the software deployment device 300 to execute Figure 2 S203 in the illustrated software deployment method.

[0071] Deployment module 304, used to support the software deployment device 300 to execute Figure 2 S204 in the illustrated software deployment method.

[0072] In one possible implementation, the acquisition module is specifically configured to obtain, based on the functional modules of the software to be deployed, a deployed version of the same functional module already deployed on the client. If the preconfigured version is the same as the deployed version, the preconfigured version is determined to be the target version. The target version module of the target version is obtained from the cloud platform via an encrypted communication channel.

[0073] In one possible implementation, the software deployment device can also be used to filter out a version compatible with the deployed software and the software to be deployed in the client from the cloud platform as the target version based on the deployed version and version dependencies if the preconfigured version is different from the deployed version.

[0074] In one possible implementation, when there are multiple target software, the software deployment device can also be used to filter out target versions of functional modules compatible with each target software from the cloud platform if the versions of the same pre-configured functional modules in the multiple target software are different.

[0075] In a possible implementation, the software deployment device may also be used to update the software information of the to-be-deployed software in the software publisher using the target version.

[0076] In one possible implementation, the software deployment device may also be configured to receive pre-configuration information from a cloud platform. The pre-configuration information is generated by the cloud platform in response to a user-submitted request for a new publisher. The configuration information includes information about an auto-run script, automated deployment software, and the software to be deployed. The device receives a private key from the cloud platform. The cloud platform stores a public key corresponding to the private key. The public and private keys are generated by a key generation server and sent to the cloud platform. The pre-configuration information and private key are stored in correspondence.

[0077] In one possible implementation, the software deployment device may also be configured to verify the validity of the software publisher based on its validity period and validity count in response to a communication connection with the client. If the software publisher's usage time is within the validity period and the number of times the software publisher has published on the cloud platform is within the valid count, the step of triggering the script execution is executed. The number of times the cloud platform has deployed the target software to the client is determined by the software publisher.

[0078] It should be noted that all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module and will not be repeated here.

[0079] The software deployment device 300 provided in the embodiment of the present application is used to execute the above Figure 2 The software deployment method shown can therefore achieve the same effect as the above software deployment method.

[0080] An embodiment of the present application further provides a software deployment device, which can execute the software deployment method and related steps in the above method embodiment.

[0081] An embodiment of the present application also provides a computer-readable storage medium having instructions stored thereon, which, when executed, execute the software deployment method and related steps in the above method embodiment.

[0082] An embodiment of the present application also provides a computer program product. When the computer program product is run on a computer, it enables the computer to execute the software deployment method and related steps in the above method embodiment.

[0083] In some embodiments, the methods described herein may be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or on other non-transitory media or articles of manufacture.

[0084] The present application embodiment also provides a software deployment system 100, such as Figure 4 As shown, the software deployment system 100 includes at least one processor 401 and at least one interface circuit 402 .

[0085] As an example, when the software deployment system 100 includes a processor and an interface circuit, the processor may be Figure 4 The processor 401 shown in the solid line frame (or the processor 401 shown in the dotted line frame) may be Figure 4 The interface circuit 402 shown in the solid line frame (or the interface circuit 402 shown in the dotted line frame). When the software deployment system 100 includes two processors and two interface circuits, the two processors include Figure 4The processor 401 shown in the solid line frame and the processor 401 shown in the dotted line frame, the two interface circuits include Figure 4 The interface circuit 402 shown in the solid line frame and the interface circuit 402 shown in the dotted line frame are not limited to this.

[0086] The processor 401 and the interface circuit 402 can be interconnected via a line. For example, the interface circuit 402 can be used to receive signals. For another example, the interface circuit 402 can be used to send signals to other devices (such as the processor 401). For example, the interface circuit 402 can read computer instructions stored in the memory and send the computer instructions to the processor 401. The processor 401 executes the instructions and, in conjunction with the input and output devices, implements the various steps in the above embodiments, such as implementing Figure 2 Of course, the software deployment system may also include other discrete components, which are not specifically limited in the present embodiment.

[0087] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0088] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0089] The units described as separate components may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0090] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0091] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the contributing part or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a device (which can be a single-chip microcomputer, chip, etc.) or a processor to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0092] The above content is only a specific embodiment of this application, but the scope of protection of this application is not limited to this. Any changes or replacements within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

Claims

1. A software deployment method, characterized in that: Applied to a software publisher, the software publisher is pre-configured with software information of an automatic running script, automated deployment software, and software to be deployed; The software information includes a pre-configured version of each functional module of the software to be deployed and a version dependency relationship between each functional module. The method includes: In response to establishing a communication connection with the client, triggering the automatic execution script, and running the automated deployment software through the automatic execution script; When the automated deployment software runs successfully, an encrypted communication channel is established with the cloud platform; According to the deployed version of the deployed functional module in the client, the preconfigured version and the version dependency, obtaining the target version module corresponding to each functional module from the cloud platform through the encrypted communication channel; The target software is deployed to the client through the automated deployment software; the target software includes a plurality of target version modules.

2. The method according to claim 1, characterized in that The step of obtaining a target version module corresponding to each functional module from the cloud platform through the encrypted communication channel according to the deployed version of the functional module deployed in the client, the preconfigured version, and the version dependency includes: According to the functional modules of the software to be deployed, obtaining a deployed version of the same functional module as that in the software to be deployed that has been deployed in the client; If the preconfigured version is the same as the deployed version, determining the preconfigured version as the target version; Obtain the target version module of the target version from the cloud platform through the encrypted communication channel.

3. The method according to claim 2, characterized in that After obtaining, based on the functional modules of the software to be deployed, a deployed version of the same functional module as that in the software to be deployed that has been deployed in the client, the method further includes: If the preconfigured version is different from the deployed version, based on the deployed version and the version dependency, a version compatible with the deployed software in the client and the software to be deployed is screened out from the cloud platform as the target version.

4. The method according to claim 3, characterized in that When there are multiple target software, screening out a target deployment version compatible with the deployed functional module from the cloud platform includes: If the versions of the same pre-configured functional modules in the plurality of target software are different, a target version of the functional module compatible with each target software is screened out from the cloud platform.

5. The method according to claim 3 or 4, characterized in that The method further comprises: The software information of the software to be deployed in the software publisher is updated using the target version.

6. The method according to claim 1, characterized in that The method further comprises: Receiving pre-configuration information issued by the cloud platform; the pre-configuration information is generated by the cloud platform in response to a new publisher request submitted by a user; the configuration information includes software information of the automatic operation script, the automatic deployment software, and the software to be deployed; Receiving a private key sent by the cloud platform; the cloud platform stores a public key corresponding to the private key; the public key and the private key are generated by a key generation server and sent to the cloud platform; The pre-configuration information and the private key are stored correspondingly.

7. The method according to claim 1, characterized in that The software publisher is also pre-configured with a validity period and a validity count of the software publisher. Before triggering the automatic execution script and executing the automated deployment software through the automatic execution script, the method further includes: In response to a communication connection with a client, validating the software publisher based on the validity period and the validity times; If the usage time of the software publisher is within the validity period and the number of publications of the software publisher on the cloud platform is within the valid number, the step of triggering the running script is executed; the number of publications is determined by the cloud platform based on the number of times the software publisher deploys the target software to the client.

8. A software deployment device, characterized in that: Applied to a software publisher, the software publisher is pre-configured with software information of an automatic running script, automated deployment software, and software to be deployed; The software information includes a pre-configured version of each functional module of the software to be deployed and a version dependency relationship between each functional module, and the apparatus includes: A response module, configured to trigger the automatic execution script in response to establishing a communication connection with the client, and to execute the automatic deployment software through the automatic execution script; A communication module, configured to establish an encrypted communication channel with the cloud platform if the automated deployment software runs successfully; an acquisition module, configured to acquire a target version module corresponding to each functional module from the cloud platform through the encrypted communication channel according to the deployed version of the functional module deployed in the client, the preconfigured version, and the version dependency; A deployment module is used to deploy the target software to the client through the automated deployment software; the target software includes a plurality of target version modules.

9. A software deployment device, characterized in that: The software deployment device includes a processor and a memory, wherein the memory stores machine-executable instructions that can be executed by the processor, and the processor executes the machine-executable instructions to implement the software deployment method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions. When the computer-executable instructions are called and executed by a processor, the computer-executable instructions prompt the processor to implement the software deployment method according to any one of claims 1 to 7.