Software deployment method and device, terminal equipment and computer readable storage medium

By using different configurations in software deployment, the problem of high software upgrade costs is solved, the flexibility and efficiency of software deployment are achieved, and the upgrade costs are reduced.

CN119271229APending Publication Date: 2025-01-07CONTEMPORARY AMPEREX FUTURE ENERGY RES INST (SHANGHAI) LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310820340.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-05
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

In the prior art, different deployment packages need to be developed for different application platforms when upgrading software, resulting in higher upgrade costs.

Method used

By obtaining the first configuration of the software deployment task and in the presence of a standard configuration, performing the software deployment task according to the different configuration between the standard configuration and the first configuration, avoiding the development of different deployment packages for different application platforms.

Benefits of technology

It greatly reduces the cost of software upgrades, improves the success rate and efficiency of software deployment, and reduces the use of version storage space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119271229A_ABST
    Figure CN119271229A_ABST
Patent Text Reader

Abstract

The invention relates to the field of software, in particular to a software deployment method and device, terminal equipment and a computer readable storage medium. The software deployment method comprises the steps of obtaining first configuration of a software deployment task; and under the condition that the standard configuration exists in the software deployment task, executing the software deployment task according to the difference configuration between the standard configuration and the first configuration. Through the method, different deployment packages do not need to be developed for different application platforms, and the software upgrading cost is greatly reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] With the development of computer technology, the application environment of application software is becoming more and more diverse, and the deployment requirements of application software are gradually developing in the direction of personalization. Specifically, different application platforms have their own specific environment configurations. Accordingly, when deploying the same application software on different application platforms, it is necessary to perform personalized configuration according to the environment configuration of the application platform. With the upgrade of application software versions, deployment packages for different application platforms need to be developed for each software version, which will increase the upgrade cost of the software. Summary of the invention

[0003] The present application provides a software deployment method, apparatus, terminal device and computer-readable storage medium, which solve the problem of high software upgrade cost in the prior art.

[0004] In order to achieve the above objectives, this application adopts the following technical solutions:

[0005] In a first aspect, a software deployment method is provided, comprising:

[0006] Get the first configuration of the software deployment task;

[0007] In the case that there is a standard configuration for the software deployment task, the software deployment task is executed according to a difference configuration between the standard configuration and the first configuration.

[0008] In the embodiment of the present application, it is equivalent to considering the difference configuration part on the basis of the standard configuration. In this way, after each software version upgrade, only one standard configuration needs to be determined, and the environment configuration of different application platforms can be based on the standard configuration, and the software is deployed according to the difference configuration. Through the above method, there is no need to develop different deployment packages for different application platforms, which greatly reduces the cost of software upgrades.

[0009] In an implementation of the first aspect, after obtaining the first configuration of the software deployment task, the method further includes:

[0010] Determining whether a standard configuration exists for the software deployment task;

[0011] In the case that there is no standard configuration for the software deployment task, the software deployment task is performed according to the first configuration.

[0012] In the embodiment of the present application, different deployment methods are set for the case where a standard configuration exists and the case where a standard configuration does not exist. Such an implementation method is more flexible and can effectively improve the success rate of software deployment.

[0013] In an implementation of the first aspect, determining whether the software deployment task has a standard configuration includes:

[0014] Determine whether there is a historical configuration list corresponding to the software deployment task, wherein the historical configuration list includes historical configurations of the target software to be deployed in the software deployment task, and each group of the historical configurations includes a historical deployment environment corresponding to a historical software version;

[0015] If there is no historical configuration list corresponding to the software deployment task, it is determined that there is no standard configuration for the software deployment task;

[0016] If there is a historical configuration list corresponding to the software deployment task, searching the historical configuration list for a target configuration that meets a preset condition, wherein the preset condition includes that a historical deployment environment in the target configuration matches the first deployment environment;

[0017] If the target configuration exists, determining that the software deployment task has a standard configuration;

[0018] If the target configuration does not exist, it is determined that there is no standard configuration for the software deployment task.

[0019] In the embodiment of the present application, the historical configuration of the target software is integrated into a historical configuration list. During the software deployment process, the historical configuration list can be used to quickly and clearly understand the historical deployment of the target software, which is conducive to the management of software versions.

[0020] In an implementation of the first aspect, when there is a standard configuration for the software deployment task, executing the software deployment task according to a difference configuration between the standard configuration and the first configuration includes:

[0021] Determining the standard configuration according to the target configuration;

[0022] Acquire a difference configuration between the standard configuration and the first configuration;

[0023] The software deployment task is executed according to the difference configuration.

[0024] Compared with software deployment based on all configuration information, in the embodiment of the present application, software deployment based on differential configuration can effectively reduce the usage of version storage space. In addition, since all configuration information does not need to be deployed, the software deployment efficiency can be greatly improved.

[0025] In an implementation manner of the first aspect, determining the standard configuration according to the target configuration includes:

[0026] The first deployed target configuration among the found target configurations is determined as the standard configuration of the software deployment task.

[0027] In the embodiment of the present application, the target configuration that is first deployed by the target software is used as the standard configuration, which is beneficial to the subsequent software version management.

[0028] In an implementation of the first aspect, the first configuration includes a first deployment environment and a first software version, and the difference configuration includes environment difference information and version difference information;

[0029] The obtaining a difference configuration between the standard configuration and the first configuration includes:

[0030] Comparing the first deployment environment with a historical deployment environment corresponding to the standard configuration to obtain environment difference information;

[0031] The first software version is compared with the historical software version corresponding to the standard configuration to obtain version difference information.

[0032] In the embodiment of the present application, both the differences in deployment environments and the differences in software versions are taken into consideration, thereby ensuring the reliability of software deployment.

[0033] In an implementation of the first aspect, executing the software deployment task according to the difference configuration includes:

[0034] Get the configuration instructions entered by the user;

[0035] Generate a target deployment package according to the configuration instructions and the difference configuration;

[0036] The software deployment task is executed according to the target deployment package.

[0037] In an implementation of the first aspect, generating a target deployment package according to the configuration instruction and the differential configuration includes:

[0038] If the configuration instruction is a first instruction, a first deployment package is generated according to the difference configuration, and the first deployment package is the target deployment package.

[0039] In an implementation of the first aspect, generating a target deployment package according to the configuration instruction and the differential configuration includes:

[0040] If the configuration instruction is the second instruction, generating a first deployment package according to the difference configuration;

[0041] Obtain a deployment package corresponding to the standard configuration;

[0042] A second deployment package is generated according to the first deployment package and the deployment package corresponding to the standard configuration, and the second deployment package is the target deployment package.

[0043] In the embodiment of the present application, the first deployment package is equivalent to only including the difference configuration, and the second deployment package is equivalent to including all configurations. If the user needs to deploy a new application platform, the second deployment package is used for deployment; if the user needs to update the application platform, the first deployment package is used for deployment. In this way, software deployment is more flexible, which is conducive to improving user experience.

[0044] In an implementation of the first aspect, the difference configuration includes environment difference information and version difference information;

[0045] The generating a first deployment package according to the difference configuration includes:

[0046] Generate a text file according to the environmental difference information;

[0047] Generate a binary file according to the version difference information;

[0048] The first deployment package is generated according to the text file and the binary file.

[0049] Since software versions usually involve internal information in the development process, their data security requirements are relatively high. In the embodiment of the present application, the version difference information related to the software version is generated into a binary file, which is conducive to improving data security. For the environmental difference information with lower data security requirements, a text file is generated, which is conducive to management and later maintenance.

[0050] In an implementation of the first aspect, executing the software deployment task according to the target deployment package includes:

[0051] Verifying the validity of the target deployment package and obtaining a verification result;

[0052] If the verification result indicates that the verification is passed, the software deployment task is executed according to the target deployment package.

[0053] In the embodiment of the present application, the validity of the target deployment package is verified before deployment. In this way, the success rate of software deployment can be effectively improved.

[0054] In an implementation of the first aspect, when there is no standard configuration for the software deployment task, executing the software deployment task according to the first configuration includes:

[0055] In the case where there is no standard configuration for the software deployment task, generating a third deployment package according to the first configuration;

[0056] The software deployment task is executed according to the third deployment package.

[0057] In the embodiment of the present application, the third deployment package is equivalent to including all the configuration information. Since there is no standard configuration at present, software deployment is performed according to all the configuration information, which can ensure the success rate of software deployment and provide reliability of software deployment.

[0058] In an implementation of the first aspect, the first configuration includes a first deployment environment and a first software version;

[0059] The generating a third deployment package according to the first configuration includes:

[0060] The third deployment package is generated according to the first software version and the first deployment environment.

[0061] In the embodiment of the present application, both the deployment environment and the software version are taken into consideration, so as to ensure the reliability of software deployment.

[0062] In an implementation of the first aspect, after executing the software deployment task, the method further includes:

[0063] The historical configuration list of the software deployment task is updated according to the first configuration.

[0064] In the embodiment of the present application, timely updating of the historical configuration list facilitates subsequent maintenance of the software version.

[0065] In a second aspect, a software deployment device is provided, comprising:

[0066] A configuration acquisition unit, used to acquire a first configuration of a software deployment task;

[0067] The first deployment unit is configured to execute the software deployment task according to a difference configuration between the standard configuration and the first configuration when the software deployment task has a standard configuration.

[0068] In a third aspect, an embodiment of the present application provides a terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the software deployment method as described in any one of the first aspects above is implemented.

[0069] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the software deployment method as described in any one of the above-mentioned first aspects is implemented.

[0070] In a fifth aspect, an embodiment of the present application provides a computer program product, which, when executed on a terminal device, enables the terminal device to execute the software deployment method described in any one of the above-mentioned first aspects.

[0071] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here.

[0072] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0073] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present application. Moreover, the same reference numerals are used throughout the drawings to represent the same components. In the drawings:

[0074] Figure 1 It is a flowchart of the software deployment method provided in the embodiment of the present application;

[0075] Figure 2 is a flowchart of a software deployment method provided by another embodiment of the present application;

[0076] Figure 3 It is a flowchart of a deployment method provided in an embodiment of the present application;

[0077] Figure 4 It is a flowchart of another deployment method provided in an embodiment of the present application;

[0078] Figure 5 is a structural block diagram of a software deployment device provided in an embodiment of the present application;

[0079] Figure 6 It is a schematic diagram of the structure of the terminal device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0080] The following embodiments of the technical solution of the present application are described in detail in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present application, and are therefore only used as examples, and cannot be used to limit the scope of protection of the present application.

[0081] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by technicians in the technical field to which this application belongs; the terms used herein are only for the purpose of describing specific embodiments and are not intended to limit this application; the terms "including" and "having" in the specification and claims of this application and the above-mentioned figure descriptions and any variations thereof are intended to cover non-exclusive inclusions.

[0082] In the description of the embodiments of the present application, the technical terms "first", "second", etc. are only used to distinguish different objects, and cannot be understood as indicating or implying relative importance or implicitly indicating the number, specific order or primary and secondary relationship of the indicated technical features. In the description of the embodiments of the present application, the meaning of "multiple" is more than two, unless otherwise clearly and specifically defined.

[0083] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0084] In the description of the embodiments of the present application, the term "and / or" is only a description of the association relationship of the associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0085] In the description of the embodiments of the present application, the term "multiple" refers to more than two (including two). Similarly, "multiple groups" refers to more than two groups (including two groups), and "multiple pieces" refers to more than two pieces (including two pieces).

[0086] With the development of computer technology, the application environment of application software is becoming more and more diverse, and the deployment requirements of application software are gradually developing in the direction of personalization. Specifically, different application platforms have their own specific environment configurations. Accordingly, when deploying the same application software on different application platforms, it is necessary to perform personalized configuration according to the environment configuration of the application platform. With the upgrade of application software versions, deployment packages for different application platforms need to be developed for each software version, which will increase the upgrade cost of the software.

[0087] In order to solve the above problems, the embodiment of the present application provides a software deployment method. Through the method in the embodiment of the present application, when there is a standard configuration, the software is deployed according to the difference configuration between the standard configuration and the current configuration, without the need to develop different deployment packages for different application platforms, which greatly reduces the software upgrade cost.

[0088] See also Figure 1 , is a flowchart of the software deployment method provided in the embodiment of the present application. As an example and not a limitation, Figure 1 As shown, the software deployment method may include the following steps:

[0089] S101, obtaining a first configuration of a software deployment task.

[0090] In the embodiment of the present application, the software deployment task refers to deploying the target software to the target application platform. Accordingly, the first configuration includes a first software version of the target software and a first deployment environment of the target application platform.

[0091] In some application scenarios, the target application platform is a private cloud. A private cloud can be a private cloud space, which can include a cloud disk, CPU, and hard disk, etc. The private cloud has private computing capabilities.

[0092] In the embodiment of the present application, the deployment environment may include basic information of the target application platform, such as the type, address or port, account number, password, etc. of the application platform. The deployment environment may also include the hardware configuration of the target application platform, such as the hard disk size, memory size, etc.

[0093] S102: When there is a standard configuration for the software deployment task, execute the software deployment task according to a difference configuration between the standard configuration and the first configuration.

[0094] In the embodiment of the present application, the standard configuration of the software deployment task includes a standard software version and a standard deployment environment of the target software.

[0095] In some implementations, the standard configuration of the software deployment task may be pre-set by the developer. In other implementations, the standard configuration may also be updated as the version of the target software is upgraded, as described in the following S202 embodiment.

[0096] It is understandable that different software deployment tasks may correspond to different standard configurations. For example, if the target software in software deployment task A is different from that in software deployment task B, the standard configurations corresponding to the two are also different. For example, if the target application platforms in software deployment task A and software deployment task B are different, the standard configurations corresponding to the two are also different.

[0097] For details on how to implement step S102, see Figure 3 The description in the embodiments will not be repeated here.

[0098] In the embodiment of the present application, it is equivalent to considering the difference configuration part on the basis of the standard configuration. In this way, after each software version upgrade, only one standard configuration needs to be determined, and the environment configuration of different application platforms can be based on the standard configuration, and the software is deployed according to the difference configuration. Through the above method, there is no need to develop different deployment packages for different application platforms, which greatly reduces the cost of software upgrades.

[0099] In some embodiments, see Figure 2 , is a flowchart of a software deployment method provided by another embodiment of the present application. As an example and not a limitation, Figure 2 As shown, the software deployment method further includes:

[0100] S201, obtaining a first configuration of a software deployment task.

[0101] Step S201 is the same as step S101. For details, please refer to the description in the embodiment of S101, which will not be repeated here.

[0102] S202, determining whether there is a standard configuration for the software deployment task.

[0103] As described above, if the standard configuration is pre-set by the developer, accordingly, one implementation of S202 is to search whether there is a pre-stored standard configuration.

[0104] If the standard configuration is updated as the target software version is upgraded, accordingly, an implementation of S202 includes:

[0105] Determine whether there is a historical configuration list corresponding to the software deployment task, wherein the historical configuration list includes historical configurations of the target software to be deployed in the software deployment task, and each group of historical configurations includes a historical deployment environment corresponding to a historical software version;

[0106] If there is no historical configuration list corresponding to the software deployment task, it is determined that there is no standard configuration for the software deployment task;

[0107] If there is a historical configuration list corresponding to the software deployment task, searching the historical configuration list for a target configuration that meets a preset condition, wherein the preset condition includes that a historical deployment environment in the target configuration matches the first deployment environment;

[0108] If the target configuration exists, determining that the software deployment task has a standard configuration;

[0109] If the target configuration does not exist, it is determined that there is no standard configuration for the software deployment task.

[0110] Exemplarily, the historical configuration list may be a text file, in which a configuration matrix is ​​stored. The configuration matrix is ​​as follows:

[0111] Environment A Environment B Environment C Environment Environment Version A AA Configuration Version B BA configuration BB Configuration BC Configuration Version C CA Configuration CB Configuration CC Configuration CD Configuration Version D DA Configuration DB Configuration DC Configuration DD Configuration DE Configuration Version E EA Configuration EB configuration EC Configuration ED Configuration EE configuration

[0112] For example, "BB configuration" is a set of historical configurations, indicating the configuration information of version B in environment B. "CB configuration" is a set of historical configurations, indicating the configuration information of version C in environment B.

[0113] In one implementation, the configuration matrix may only include an index corresponding to each set of historical configurations, where the index corresponds to a storage address, and corresponding configuration information (such as a specific historical version and historical deployment environment) can be obtained from the corresponding storage address based on the index.

[0114] In some implementations, in order to ensure the security of software version information, the historical configuration list may include the code of the historical software version of each historical configuration and the specific information of the corresponding historical deployment environment. In other words, the historical configuration list only includes the specific information of the deployment environment, not the specific information of the software version.

[0115] In some implementations, in order to save storage space, the historical configuration list may only include environment difference information between the historical deployment environment of each group of historical configurations and the standard deployment environment of the standard configuration.

[0116] It is understandable that the above is only an example of the historical configuration list. In actual applications, the historical configuration list may be in other forms.

[0117] In the above embodiment, the historical deployment environment in the target configuration referred to by the preset condition matches the first deployment environment. Among them, one case of "matching" refers to that the indexes of the two are the same. For example, assuming that the target configuration is "BB configuration" and the first configuration is "CB configuration", the indexes of the deployment environments of both are "environment B", then the two match. Another case of "matching" refers to that some of the information of the two is the same. For example, assuming that the environmental information of the target configuration "BB configuration" includes port number 192.168.3.100:8848, memory 32G, and hard disk 500G, and the environmental information of the first configuration "CB configuration" includes port number 192.168.3.101:336, memory 32G, and hard disk 500G, the two only have different port numbers, but the hardware information related to software deployment is the same, then the two can be determined as "matching".

[0118] In the embodiment of the present application, the historical configuration of the target software is integrated into a historical configuration list. During the software deployment process, the historical configuration list can be used to quickly and clearly understand the historical deployment of the target software, which is conducive to the management of software versions.

[0119] S203: When there is a standard configuration for the software deployment task, execute the software deployment task according to a difference configuration between the standard configuration and the first configuration.

[0120] S204: When there is no standard configuration for the software deployment task, execute the software deployment task according to the first configuration.

[0121] In the embodiment of the present application, different deployment methods are set for the case where a standard configuration exists and the case where a standard configuration does not exist. Such an implementation method is more flexible and can effectively improve the success rate of software deployment.

[0122] In some embodiments, see Figure 3 , is a flow chart of a deployment method provided in an embodiment of the present application. As an example and not a limitation, Figure 3 As shown, S102 and S203 may include:

[0123] S301: Determine the standard configuration according to the found target configuration.

[0124] One implementation of step S301 is to determine the first deployed target configuration among the found target configurations as the standard configuration of the software deployment task.

[0125] Taking the above configuration matrix as an example, assuming that the first configuration is "DB configuration", the target configurations found are "BB configuration" and "CB configuration", among which "BB configuration" is deployed first, then "BB configuration" is determined as the standard configuration.

[0126] In the embodiment of the present application, the target configuration that is first deployed by the target software is used as the standard configuration, which is beneficial to the subsequent software version management.

[0127] S302: Acquire a difference configuration between the standard configuration and the first configuration.

[0128] In the embodiment of the present application, the first configuration includes a first deployment environment and a first software version, and the difference configuration includes environment difference information and version difference information.

[0129] One implementation of step S302 is:

[0130] Comparing the first deployment environment with a historical deployment environment corresponding to the standard configuration to obtain environment difference information;

[0131] The first software version is compared with the historical software version corresponding to the standard configuration to obtain version difference information.

[0132] Exemplarily, assuming that the historical deployment environment of the standard configuration includes 32G memory and 500G hard disk, and the first deployment environment includes 32G memory and 200G hard disk, the environment difference information is 200G hard disk.

[0133] In actual applications, application software usually includes multiple modules, and when the software version is upgraded, only one or several modules may be updated. In this case, the version difference information refers to the modules updated by the first software version compared with the historical software version of the standard configuration.

[0134] In the embodiment of the present application, both the differences in deployment environments and the differences in software versions are taken into consideration, thereby ensuring the reliability of software deployment.

[0135] S303: Execute the software deployment task according to the difference configuration.

[0136] In some implementations, the differential configuration can be used to generate a target deployment package, and then the target deployment package can be used to deploy the software. However, in actual applications, user needs may be different. For example, some users need to perform a new deployment of the application platform, while some users only need to perform routine updates and maintenance on the application platform.

[0137] In order to meet different needs of users, one implementation of step S303 includes:

[0138] Get the configuration instructions entered by the user;

[0139] Generate a target deployment package according to the configuration instructions and the difference configuration;

[0140] The software deployment task is executed according to the target deployment package.

[0141] In the embodiment of the present application, the configuration instruction includes a first instruction and a second instruction, wherein the first instruction indicates that the user needs to update the software, and the second instruction indicates that the user needs to deploy the software with complete configuration information.

[0142] If the configuration instruction is a first instruction, a first deployment package is generated according to the difference configuration, and the first deployment package is the target deployment package.

[0143] If the configuration instruction is the second instruction, a first deployment package is generated according to the difference configuration; a deployment package corresponding to the standard configuration is obtained; a second deployment package is generated according to the first deployment package and the deployment package corresponding to the standard configuration, and the second deployment package is the target deployment package.

[0144] For example, assuming that the standard configuration is "BB configuration" and the first configuration is "CB configuration". When the configuration instruction is the first instruction, a first deployment package (including the version difference information between version B and version C) is generated according to the difference configuration between "BB configuration" and "CB configuration". When the configuration instruction is the second instruction, a first deployment package is generated according to the difference configuration between "BB configuration" and "CB configuration", and a second deployment package (including the complete version C and the complete environment information of environment B) is generated according to the first deployment package and the standard configuration "BB configuration".

[0145] It is understandable that in the above example, since the deployment environment of "BB configuration" and "CB configuration" is environment B, the difference configuration between the two only includes version difference information. If the standard configuration is pre-set, the difference configuration between the standard configuration and "CB configuration" includes version difference information between the standard software version of the standard configuration and version C, and environment difference information between the standard deployment environment of the standard configuration and environment B.

[0146] In the embodiment of the present application, the first deployment package is equivalent to only including the difference configuration, and the second deployment package is equivalent to including all configurations. If the user needs to deploy a new application platform, the second deployment package is used for deployment; if the user needs to update the application platform, the first deployment package is used for deployment. In this way, software deployment is more flexible, which is conducive to improving user experience.

[0147] In one implementation, the method of generating the first deployment package includes:

[0148] Generate a text file according to the environmental difference information;

[0149] Generate a binary file according to the version difference information;

[0150] The first deployment package is generated according to the text file and the binary file.

[0151] A text file is a file that stores human-readable characters, such as "hello". A binary file is a file stored in machine language. For example, a text file can be a word file, an Excel file, or a plain text file. A binary file can be a file with the suffix ".bin".

[0152] Since software versions usually involve internal information in the development process, their data security requirements are relatively high. In the embodiment of the present application, the version difference information related to the software version is generated into a binary file, which is conducive to improving data security. For the environmental difference information with lower data security requirements, a text file is generated, which is conducive to management and later maintenance.

[0153] In one implementation, executing the software deployment task according to the target deployment package includes:

[0154] Verifying the validity of the target deployment package and obtaining a verification result;

[0155] If the verification result indicates that the verification is passed, the software deployment task is executed according to the target deployment package.

[0156] For example, the target deployment package may be deployed in a simulation environment of an application platform (deployment environment) to detect whether it can run normally.

[0157] In the embodiment of the present application, the validity of the target deployment package is verified before deployment. In this way, the success rate of software deployment can be effectively improved.

[0158] Compared with software deployment based on all configuration information, Figure 3 In the embodiment, software deployment is performed according to the difference configuration, which can effectively reduce the usage of version storage space. In addition, since all configuration information does not need to be deployed, the software deployment efficiency can be greatly improved.

[0159] In some embodiments, see Figure 4 , is a flow chart of another deployment method provided in an embodiment of the present application. As an example and not a limitation, Figure 4 As shown, S204 may include:

[0160] S401: When there is no standard configuration for the software deployment task, generate a third deployment package according to the first configuration.

[0161] As described above, the first configuration includes a first deployment environment and a first software version. Accordingly, S401 includes:

[0162] The third deployment package is generated according to the first software version and the first deployment environment.

[0163] In the embodiment of the present application, the third deployment package is equivalent to including all configuration information, taking into account both the deployment environment and the software version, and can ensure the reliability of software deployment.

[0164] S402: Execute the software deployment task according to the third deployment package.

[0165] Figure 4 In the embodiment, the third deployment package is equivalent to including all the configuration information. Since there is no standard configuration currently, software deployment is performed according to all the configuration information, which can ensure the success rate of software deployment and provide reliability of software deployment.

[0166] In some embodiments, after executing the software deployment task, the software deployment method further includes:

[0167] The historical configuration list of the software deployment task is updated according to the first configuration.

[0168] In some implementations, the first deployment environment of the first configuration and the first software version in the first configuration may be added to the historical configuration list. This is equivalent to adding all configuration information of the first configuration to the historical configuration list. However, in this way, the storage space required for the historical configuration list is large. In addition, adding the software version to the historical configuration list is not conducive to the data security of the software version.

[0169] In other implementations, the index of the first configuration and the first deployment environment in the first configuration may be added to the historical configuration list. This approach can greatly save storage space and ensure the data security of the software version.

[0170] In some other implementations, the index of the first configuration and the environment difference information between the first deployment environment in the first configuration and the standard deployment environment of the standard configuration may be added to the historical configuration list. Compared with the second method, this method further saves storage space.

[0171] In the embodiment of the present application, timely updating of the historical configuration list facilitates subsequent maintenance of the software version.

[0172] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0173] Corresponding to the software deployment method described in the above embodiment, Figure 5 This is a structural block diagram of the software deployment device provided in an embodiment of the present application. For the sake of ease of explanation, only the parts related to the embodiment of the present application are shown.

[0174] Reference Figure 5 , the device 5 comprises:

[0175] The configuration acquisition unit 51 is used to acquire a first configuration of the software deployment task.

[0176] The first deployment unit 52 is configured to execute the software deployment task according to a difference configuration between the standard configuration and the first configuration when there is a standard configuration for the software deployment task.

[0177] Optionally, the device 5 further comprises:

[0178] A judging unit 53, used to judge whether there is a standard configuration for the software deployment task;

[0179] The second deployment unit 54 is configured to execute the software deployment task according to the first configuration when there is no standard configuration for the software deployment task.

[0180] Optionally, the judging unit 53 is further configured to:

[0181] Determine whether there is a historical configuration list corresponding to the software deployment task, wherein the historical configuration list includes historical configurations of the target software to be deployed in the software deployment task, and each group of historical configurations includes a historical deployment environment corresponding to a historical software version;

[0182] If there is no historical configuration list corresponding to the software deployment task, it is determined that there is no standard configuration for the software deployment task;

[0183] If there is a historical configuration list corresponding to the software deployment task, searching the historical configuration list for a target configuration that meets a preset condition, wherein the preset condition includes that a historical deployment environment in the target configuration matches the first deployment environment;

[0184] If the target configuration exists, determining that the software deployment task has a standard configuration;

[0185] If the target configuration does not exist, it is determined that there is no standard configuration for the software deployment task.

[0186] Optionally, the first deployment unit 52 is further configured to:

[0187] Determining the standard configuration according to the target configuration;

[0188] Acquire a difference configuration between the standard configuration and the first configuration;

[0189] The software deployment task is executed according to the difference configuration.

[0190] Optionally, the first deployment unit 52 is further configured to:

[0191] The first deployed target configuration among the found target configurations is determined as the standard configuration of the software deployment task.

[0192] Optionally, the first configuration includes a first deployment environment and a first software version, and the difference configuration includes environment difference information and version difference information.

[0193] Accordingly, the first deployment unit 52 is further configured to:

[0194] Comparing the first deployment environment with a historical deployment environment corresponding to the standard configuration to obtain environment difference information;

[0195] The first software version is compared with the historical software version corresponding to the standard configuration to obtain version difference information.

[0196] Optionally, the first deployment unit 52 is further configured to:

[0197] Get the configuration instructions entered by the user;

[0198] Generate a target deployment package according to the configuration instructions and the difference configuration;

[0199] The software deployment task is executed according to the target deployment package.

[0200] Optionally, the first deployment unit 52 is further configured to:

[0201] If the configuration instruction is a first instruction, a first deployment package is generated according to the difference configuration, and the first deployment package is the target deployment package.

[0202] If the configuration instruction is the second instruction, generating a first deployment package according to the difference configuration;

[0203] Obtain a deployment package corresponding to the standard configuration;

[0204] A second deployment package is generated according to the first deployment package and the deployment package corresponding to the standard configuration, and the second deployment package is the target deployment package.

[0205] Optionally, the first deployment unit 52 is further configured to:

[0206] Generate a text file according to the environmental difference information;

[0207] Generate a binary file according to the version difference information;

[0208] The first deployment package is generated according to the text file and the binary file.

[0209] Optionally, the first deployment unit 52 is further configured to:

[0210] Verifying the validity of the target deployment package and obtaining a verification result;

[0211] If the verification result indicates that the verification is passed, the software deployment task is executed according to the target deployment package.

[0212] Optionally, the second deployment unit 54 is further configured to:

[0213] In the case where there is no standard configuration for the software deployment task, generating a third deployment package according to the first configuration;

[0214] The software deployment task is executed according to the third deployment package.

[0215] Optionally, the second deployment unit 54 is further configured to:

[0216] The third deployment package is generated according to the first software version and the first deployment environment.

[0217] Optionally, the device 5 further comprises:

[0218] The updating unit 55 is configured to update the historical configuration list of the software deployment task according to the first configuration.

[0219] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.

[0220] in addition, Figure 5 The software deployment device shown may be a software unit, a hardware unit, or a combination of software and hardware that is built into an existing terminal device, or may be integrated into the terminal device as an independent widget, or may exist as an independent terminal device.

[0221] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0222] Figure 6 Schematic diagram of the structure of the terminal device provided in the embodiment of the present application. Figure 6 As shown, the terminal device 6 of this embodiment includes: at least one processor 60 ( Figure 6 Only one is shown in the figure) a processor, a memory 61, and a computer program 62 stored in the memory 61 and executable on the at least one processor 60, and when the processor 60 executes the computer program 62, the steps in any of the above-mentioned software configuration method embodiments are implemented.

[0223] The terminal device may be a computing device such as a desktop computer, a notebook, a PDA, or a cloud server. The terminal device may include, but is not limited to, a processor and a memory. Those skilled in the art will understand that Figure 6 It is only an example of the terminal device 6 and does not constitute a limitation on the terminal device 6. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, it may also include input and output devices, network access devices, etc.

[0224] The processor 60 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0225] In some embodiments, the memory 61 may be an internal storage unit of the terminal device 6, such as a hard disk or memory of the terminal device 6. In other embodiments, the memory 61 may also be an external storage device of the terminal device 6, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the terminal device 6. Further, the memory 61 may also include both an internal storage unit and an external storage device of the terminal device 6. The memory 61 is used to store an operating system, an application program, a boot loader, data, and other programs, such as the program code of the computer program. The memory 61 may also be used to temporarily store data that has been output or is to be output.

[0226] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0227] An embodiment of the present application provides a computer program product. When the computer program product is run on a terminal device, the terminal device can implement the steps in the above-mentioned method embodiments when executing the computer program product.

[0228] 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 computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may at least include: any entity or device that can carry the computer program code to the device / terminal device, a recording medium, a computer memory, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), an electric carrier signal, a telecommunication signal, and a software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.

[0229] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0230] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software 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.

[0231] In the embodiments provided in the present application, it should be understood that the disclosed devices / terminal equipment and methods can be implemented in other ways. For example, the device / terminal equipment embodiments described above are only schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, 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.

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

[0233] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A software deployment method, characterized in that: include: Get the first configuration of the software deployment task; In the case that there is a standard configuration for the software deployment task, the software deployment task is executed according to a difference configuration between the standard configuration and the first configuration.

2. The software deployment method according to claim 1, characterized in that: After obtaining the first configuration of the software deployment task, the method further includes: Determining whether a standard configuration exists for the software deployment task; In the case that there is no standard configuration for the software deployment task, the software deployment task is performed according to the first configuration.

3. The software deployment method according to claim 2, characterized in that: The determining whether the software deployment task has a standard configuration includes: Determine whether there is a historical configuration list corresponding to the software deployment task, wherein the historical configuration list includes historical configurations of the target software to be deployed in the software deployment task, and each group of historical configurations includes a historical deployment environment corresponding to a historical software version; If there is no historical configuration list corresponding to the software deployment task, it is determined that there is no standard configuration for the software deployment task; If there is a historical configuration list corresponding to the software deployment task, searching the historical configuration list for a target configuration that meets a preset condition, wherein the preset condition includes that a historical deployment environment in the target configuration matches the first deployment environment; If the target configuration exists, determining that the software deployment task has a standard configuration; If the target configuration does not exist, it is determined that there is no standard configuration for the software deployment task.

4. The software deployment method according to claim 3, characterized in that: When the software deployment task has a standard configuration, executing the software deployment task according to a difference configuration between the standard configuration and the first configuration includes: Determining the standard configuration according to the target configuration; Acquire a difference configuration between the standard configuration and the first configuration; The software deployment task is executed according to the difference configuration.

5. The software deployment method according to claim 4, characterized in that: The determining the standard configuration according to the target configuration includes: The first deployed target configuration among the found target configurations is determined as the standard configuration of the software deployment task.

6. The software deployment method according to claim 4, characterized in that: The first configuration includes a first deployment environment and a first software version, and the difference configuration includes environment difference information and version difference information; The obtaining a difference configuration between the standard configuration and the first configuration includes: Comparing the first deployment environment with a historical deployment environment corresponding to the standard configuration to obtain environment difference information; The first software version is compared with the historical software version corresponding to the standard configuration to obtain version difference information.

7. The software deployment method according to claim 4, characterized in that: The performing the software deployment task according to the difference configuration includes: Get the configuration instructions entered by the user; Generate a target deployment package according to the configuration instructions and the difference configuration; The software deployment task is executed according to the target deployment package.

8. The software deployment method according to claim 7, characterized in that: The generating a target deployment package according to the configuration instruction and the difference configuration includes: If the configuration instruction is a first instruction, a first deployment package is generated according to the difference configuration, and the first deployment package is the target deployment package.

9. The software deployment method according to claim 7, characterized in that: The generating a target deployment package according to the configuration instruction and the difference configuration includes: If the configuration instruction is the second instruction, generating a first deployment package according to the difference configuration; Obtain a deployment package corresponding to the standard configuration; A second deployment package is generated according to the first deployment package and the deployment package corresponding to the standard configuration, and the second deployment package is the target deployment package.

10. The software deployment method according to claim 8 or 9, characterized in that: The difference configuration includes environment difference information and version difference information; Generating a first deployment package according to the difference configuration includes: Generate a text file according to the environmental difference information; Generate a binary file according to the version difference information; The first deployment package is generated according to the text file and the binary file.

11. The software deployment method according to any one of claims 7 to 10, characterized in that: The executing the software deployment task according to the target deployment package includes: Verifying the validity of the target deployment package and obtaining a verification result; If the verification result indicates that the verification is passed, the software deployment task is executed according to the target deployment package.

12. The software deployment method according to claim 3, characterized in that: When there is no standard configuration for the software deployment task, executing the software deployment task according to the first configuration includes: In the case where there is no standard configuration for the software deployment task, generating a third deployment package according to the first configuration; The software deployment task is executed according to the third deployment package.

13. The software deployment method according to claim 12, characterized in that: The first configuration includes a first deployment environment and a first software version; The generating a third deployment package according to the first configuration includes: The third deployment package is generated according to the first software version and the first deployment environment.

14. The software deployment method according to any one of claims 3 to 13, characterized in that: After executing the software deployment task, the method further includes: The historical configuration list of the software deployment task is updated according to the first configuration.

15. A software deployment device, characterized in that: include: A configuration acquisition unit, used to acquire a first configuration of a software deployment task; The first deployment unit is configured to execute the software deployment task according to a difference configuration between the standard configuration and the first configuration when the software deployment task has a standard configuration.

16. A terminal device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the software deployment method according to any one of claims 1 to 14 is implemented.

17. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the software deployment method according to any one of claims 1 to 14 is implemented.