Software deployment method and device, equipment, medium and product
By acquiring the attribute data of dynamic library components for matching deployment, the software deployment failures caused by environmental differences and the problems caused by static libraries are solved, achieving efficient and low-cost software deployment.
Patent Information
- Application Number
- CN202511733796.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-24
- Publication Date
- 2026-02-27
AI Technical Summary
In existing technologies, software deployment failures caused by differences between the local environment and the deployment environment can be addressed by manually modifying the system environment, which can easily lead to conflicts and increased maintenance costs. Furthermore, using static libraries instead of dynamic libraries can result in excessively large executable files and increased memory usage.
By obtaining the attribute data of the dynamic library components of the software to be deployed in the development and deployment environments, deployment is performed based on matching, avoiding the addition of static libraries in the executable file. The dynamic library components are independent of the executable file and are only deployed when matching occurs.
It avoids deployment failures and excessively large executable files, reduces maintenance costs, improves deployment efficiency and automation, and reduces memory usage.
Smart Images

Figure CN121579025A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of software development, and particularly relates to a software deployment method and device, equipment, medium and product. BACKGROUND
[0002] The current software development process generally includes local development, compilation, debugging,..., output of an executable file and environment deployment. The most common situation is that deployment fails due to differences between a local environment and a deployment environment. To locate the deployment failure problem, a large amount of manpower is consumed to manually modify the system environment to troubleshoot the relevant project. This method has the following problems: after modifying the system environment, conflicts with the deployment of other executable files are easily caused; manual modification easily causes incomplete modification, which needs to be reworked; the problem cannot be quickly solved, and the user experience is poor.
[0003] At present, the above problems are solved by using a static library to replace a dynamic library. The static library is usually created at the time of compilation, and the content of the static library is directly copied to the executable file at the linking stage, so that a dependency relationship with a production environment can be avoided.
[0004] Although this way can avoid various problems of locating the deployment failure problem, it also introduces other problems: the generated executable file is large; the executable file using the static library has a copy of the library code, which can cause an increase in memory usage, especially when multiple programs use the same static library. When the static group changes, the entire executable file needs to be recompiled, and the output process needs to be repeated, which increases the maintenance cost. SUMMARY
[0005] Therefore, it is necessary to provide a software deployment method, device, equipment, medium and product to avoid various problems caused by using a static library to replace a dynamic library.
[0006] In a first aspect, the present application provides a software deployment method, comprising:
[0007] obtaining at least one dynamic library component on which an executable file of to-be-deployed software depends;
[0008] for each dynamic library component in the at least one dynamic library component, obtaining first attribute data corresponding to the dynamic library component from a development environment of the to-be-deployed software; and
[0009] obtaining second attribute data corresponding to the dynamic library component from a deployment environment of the to-be-deployed software;
[0010] deploying the to-be-deployed software in the deployment environment according to the matching between the first attribute data and the corresponding second attribute data of each dynamic library component.
[0011] In an embodiment, the first attribute data and the second attribute data each include a dynamic library component version; and accordingly, deploying the to-be-deployed software in the deployment environment according to the matching between the first attribute data and the second attribute data corresponding to each dynamic library component comprises: determining, according to the dynamic library component version in the second attribute data, a corresponding available version range; determining that the first attribute data and the second attribute data corresponding to each dynamic library component are matched in a case where the dynamic library component version in the first attribute data corresponding to each dynamic library component falls within the available version range in the second attribute data; and deploying the to-be-deployed software in the deployment environment.
[0012] In an embodiment, the first attribute data and the second attribute data each include end sequence data, the end sequence data being used to represent a storage order of the component data in a memory; and accordingly, deploying the to-be-deployed software in the deployment environment according to the matching between the first attribute data and the second attribute data corresponding to each dynamic library component comprises: determining that the first attribute data and the second attribute data corresponding to each dynamic library component are matched in a case where the end sequence data in the first attribute data corresponding to each dynamic library component is consistent with the end sequence data in the second attribute data; and deploying the to-be-deployed software in the deployment environment.
[0013] In an embodiment, the first attribute data and the second attribute data each include bit library data; and accordingly, deploying the to-be-deployed software in the deployment environment according to the matching between the first attribute data and the second attribute data corresponding to each dynamic library component comprises: determining that the first attribute data and the second attribute data corresponding to each dynamic library component are matched in a case where the bit library data in the first attribute data corresponding to each dynamic library component is adapted to the bit library data in the second attribute data; and deploying the to-be-deployed software in the deployment environment.
[0014] In an embodiment, deploying the to-be-deployed software in the deployment environment according to the matching between the first attribute data and the second attribute data corresponding to each dynamic library component comprises: in a case where there is a first dynamic library component in which the first attribute data and the second attribute data are not matched among the dynamic library components, obtaining, from the cloud, third attribute data required by the first dynamic library component in the deployment environment; downloading and installing, according to the third attribute data, an installation data packet of the first dynamic library component to the deployment environment; and deploying the to-be-deployed software in the deployment environment.
[0015] In one embodiment, the software to be deployed is deployed in the deployment environment according to matching between the first attribute data and the corresponding second attribute data of each dynamic library component.
[0016] In a second aspect, the present application provides a software deployment apparatus, comprising:
[0017] The first obtaining module is configured to obtain at least one dynamic library component relied on by the executable file of the software to be deployed;
[0018] The second obtaining module is configured to obtain, for each dynamic library component in the at least one dynamic library component, first attribute data corresponding to the dynamic library component from a development environment of the software to be deployed; and
[0019] The third obtaining module is configured to obtain, from a deployment environment of the software to be deployed, second attribute data corresponding to the dynamic library component;
[0020] The software deployment module is configured to deploy the software to be deployed in the deployment environment according to matching between the first attribute data and the corresponding second attribute data of each dynamic library component.
[0021] In a third aspect, the present application provides a computer device, comprising a memory and a processor, the memory stores a computer program, and the processor implements the method provided in the first aspect when executing the computer program.
[0022] In a fourth aspect, the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the method provided in the first aspect.
[0023] In a fifth aspect, the present application provides a computer program product, comprising a computer program, and the computer program is executed by a processor to implement the method provided in the first aspect.
[0024] The software deployment method, device, equipment, medium and product described above obtain each dynamic library component relied on by the executable file of the software to be deployed, obtain the first attribute data in the development environment and the second attribute data in the deployment environment for each dynamic library component, and then perform the deployment operation according to the matching between the first attribute data and the second attribute data corresponding to each dynamic library component, so as to avoid the problem that the program cannot normally run after deployment due to the mismatch of the attribute data of the dynamic library component in the development environment and the deployment environment. Moreover, based on the above deployment method, since the static library component does not need to be added in the executable file, the executable file will not be too large, and the library code copy will not be generated, so the problem of increased use memory caused by the library code copy is avoided. When the dynamic library component needs to be updated, due to the independence between the dynamic library component and the executable file, the executable file does not need to be recompiled, so the maintenance cost is reduced, and various problems caused by the use of the static library to replace the dynamic library can be avoided. BRIEF DESCRIPTION OF DRAWINGS
[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the description of the embodiments of the present application or the related art will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other related drawings can be obtained by those skilled in the art without creative labor.
[0026] Figure 1 A flowchart of a software deployment method in an embodiment;
[0027] Figure 2 A flowchart of a deployment step in an embodiment;
[0028] Figure 3 A flowchart of a deployment step in an embodiment;
[0029] Figure 4 A flowchart of a deployment step in an embodiment;
[0030] Figure 5 A flowchart of a deployment step in an embodiment;
[0031] Figure 6 A flowchart of a deployment step in an embodiment;
[0032] Figure 7 A block diagram of a software deployment device in an embodiment;
[0033] Figure 8 An internal structure diagram of a computer device in an embodiment. DETAILED DESCRIPTION
[0034] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and should not be used to limit the present application.
[0035] In one exemplary embodiment, a software deployment method is provided, see Figure 1 The method comprises:
[0036] S110, obtaining at least one dynamic library component dependent on an executable file of the software to be deployed.
[0037] The executable file is a program file that can be directly run by an operating system and is generated in a development environment. For example, in a linux development environment, the executable file is a bin file.
[0038] The dynamic library component is a shared library file that is dynamically loaded during program runtime. The shared library file provides core function support for the program, but is stored separately from the program itself, allowing multiple programs to share the same library code and thus saving system resources.
[0039] For example, the name of the executable file to be deployed is DoTest, and DoTest depends on three dynamic library components: component A, component B, and component C.
[0040] S120, for each dynamic library component in the at least one dynamic library component, obtaining first attribute data corresponding to the dynamic library component from the development environment of the software to be deployed.
[0041] In order to distinguish, the attribute data of the dynamic library component in the development environment is the first attribute data, and the attribute data of the dynamic library component in the deployment environment is the second attribute data.
[0042] The attribute data can include at least one of the name, dynamic component version, end sequence data, and bit library data. Of course, other attributes can also be included, which are not limited herein.
[0043] The end sequence data is used to represent the storage order of the component data in the memory. The end sequence data includes big-endian and little-endian; big-endian indicates that the high-order byte is in the front, i.e., the high effective byte is stored at the low address; little-endian indicates that the low-order byte is in the front, i.e., the low effective byte is stored at the low address.
[0044] The bit library data is divided into 32-bit library and 64-bit library. The address bus width of the 32-bit library is 32 bits, and the maximum addressing space is 232 bytes; the address bus width of the 64-bit library is 64 bits, and the theoretical maximum addressing space is 264 bytes.
[0045] S130: Obtain the second attribute data corresponding to the dynamic library component from the deployment environment of the software to be deployed.
[0046] In real-world scenarios, for each dynamic library component, the path of that dynamic library component on the deployment device is obtained, and then the second attribute data corresponding to that dynamic library component is found based on the guidance of that path.
[0047] S140, based on the matching between the first attribute data and the corresponding second attribute data of each dynamic library component, deploy the software to be deployed in the deployment environment.
[0048] Understandably, based on the first attribute data and the corresponding second attribute data of each dynamic library component, it can be determined whether the dynamic library component in the deployment environment meets the requirements of the software to be deployed. Therefore, based on whether each dynamic component meets the requirements of the software to be deployed, it can be decided whether to deploy directly or optimize the deployment environment before deployment to ensure that the deployed program can run normally in the deployment environment.
[0049] The aforementioned software deployment method obtains the dynamic library components that the executable file of the software to be deployed depends on. For each dynamic library component, it obtains its first attribute data in the development environment and its second attribute data in the deployment environment. Deployment is then performed based on the matching of the first and second attribute data for each dynamic library component, avoiding the problem of program malfunction after deployment due to mismatches in attribute data between the development and deployment environments. Furthermore, since this deployment method does not require adding static library components to the executable file, it avoids a large executable file size and the creation of library code copies, thus avoiding increased memory usage caused by library code copies. When dynamic library components need to be updated, due to the independence between the dynamic library components and the executable file, the executable file does not need to be recompiled, thereby reducing maintenance costs and avoiding various problems associated with using static libraries instead of dynamic libraries.
[0050] Based on the technical solutions provided in the above embodiments, an optional embodiment is provided. In this optional embodiment, the first attribute data and the second attribute data are refined to both include the dynamic library component version, and the deployment steps in S140 are further refined.
[0051] See Figure 2 The detailed deployment steps include:
[0052] S210, determine the corresponding available version range based on the dynamic library component version in the second attribute data.
[0053] S220, in the case that the dynamic library component version in the first attribute data corresponding to each dynamic library component falls within the available version range in the second attribute data corresponding thereto, it is determined that the first attribute data corresponding to each dynamic library component matches the second attribute data corresponding thereto.
[0054] S230, in the deployment environment, deploying the software to be deployed.
[0055] For example, for the dynamic library component A, the dynamic library component version in the deployment environment is 0.9, and the available version range corresponding to the dynamic library component A is less than or equal to 0.9. If the dynamic library component version of the dynamic library component A in the development environment is 1.0, it is considered that the dynamic library component version in the first attribute data of the dynamic library component A does not fall within the available version range corresponding to the second attribute data, and at this time, the first attribute data and the second attribute data of the dynamic library component A do not match. If the dynamic library component version of the dynamic library component A in the development environment is 0.8, it is considered that the dynamic library component version in the first attribute data of the dynamic library component A falls within the available version range corresponding to the second attribute data, and at this time, the first attribute data and the second attribute data of the dynamic library component A match.
[0056] In the embodiment, in the case that the dynamic library component version in the first attribute data corresponding to each dynamic library component falls within the available version range in the second attribute data corresponding thereto, the deployment operation is performed to ensure that the problem of the program being unable to normally run after deployment caused by the dynamic library component version not matching is avoided.
[0057] On the basis of the technical scheme provided in the above embodiment, an optional embodiment is provided. In the optional embodiment, the first attribute data and the second attribute data are refined to both include end sequence data, and the deployment step in S140 is refined.
[0058] Referring to Figure 3 , the refined deployment step includes:
[0059] S310, in the case that the end sequence data in the first attribute data corresponding to each dynamic library component is consistent with the end sequence data in the second attribute data corresponding thereto, it is determined that the first attribute data corresponding to each dynamic library component matches the second attribute data corresponding thereto.
[0060] S320, in the deployment environment, deploying the software to be deployed.
[0061] For example, for the dynamic library component B, the end sequence data in the deployment environment is the little-endian, and the end sequence data in the development environment is the big-endian, and it can be seen that the end sequences of the two are inconsistent, and at this time, it is considered that the two do not match. If the end sequence data in the development environment is also the little-endian, it is considered that the end sequences of the two are consistent, and at this time, the two match.
[0062] In the embodiment, the deployment operation is performed only when the endianness data in the first attribute data corresponding to each dynamic library component is consistent with the endianness data in the second attribute data, so that the problem that the program cannot normally run after deployment due to disorder of memory storage order caused by mismatch of endianness data can be avoided.
[0063] On the basis of the technical scheme provided in the above embodiment, an optional embodiment is provided. In the optional embodiment, the first attribute data and the second attribute data are refined to both include bit library data, and the deployment step in S140 is refined.
[0064] Referring to Figure 4 , the refined deployment step includes:
[0065] S410, when the bit library data in the first attribute data corresponding to each dynamic library component is adapted to the bit library data in the second attribute data, it is determined that the first attribute data corresponding to each dynamic library component is matched with the second attribute data.
[0066] S420, the software to be deployed is deployed in the deployment environment.
[0067] Exemplarily, for the dynamic library component C, if the bit library data of the first attribute data and the second attribute data are both 32-bit library or both 64-bit library, the two are adapted. If the bit library data of the first attribute data is 32-bit library and the bit library data of the second attribute data is 64-bit library, the dynamic library component C under 32-bit library can be in the environment of 64-bit library at this time, and therefore the bit library data in the first attribute data is adapted to the bit library data in the corresponding second attribute data.
[0068] However, if the bit library data of the first attribute data is 64-bit library and the bit library data of the second attribute data is 32-bit library, the dynamic library component C under 64-bit library cannot be in the environment of 32-bit library at this time, and therefore the bit library data in the first attribute data cannot be adapted to the bit library data in the corresponding second attribute data.
[0069] In the embodiment, the deployment operation is performed only when the bit library data in the first attribute data corresponding to each dynamic library component is adapted to the bit library data in the second attribute data, so that the problem that the program cannot normally run after deployment due to mismatch of bit library data can be avoided.
[0070] On the basis of the technical scheme provided in the above embodiment, an optional embodiment is provided. In the optional embodiment, the deployment step in S140 is refined.
[0071] Referring to Figure 5 , the refined deployment step includes:
[0072] S510, in the case that the first dynamic library component in which the first attribute data and the second attribute data do not match, obtaining third attribute data required by the first dynamic library component in the deployment environment from the cloud.
[0073] It can be understood that the first dynamic library component is the dynamic library component in which the first attribute data and the second attribute data do not match.
[0074] In the attribute table, the deployment data required by different dynamic library components in different deployment environments is recorded, and the deployment data is the third attribute data.
[0075] S520, downloading and installing the installation data package of the first dynamic library component into the deployment environment according to the third attribute data.
[0076] In the attribute table, the deployment data required by different dynamic library components in different deployment environments is recorded, and the deployment data is the third attribute data.
[0077] Exemplarily, for the dynamic library component A, the dynamic library component version in the deployment environment is 0.9, and the available version range of the dynamic library component A is less than or equal to 0.9. If the dynamic library component version of the dynamic library component A in the development environment is 1.0, the first attribute data and the second attribute data of the dynamic library component A do not match, the table is looked up from the cloud, the third attribute data required by the dynamic library component A in the deployment environment is recorded in the data table in the cloud, the dynamic library component version includes 1.0 and 1.1, 1.1 is the latest version, and the installation data package of the dynamic library component version 1.1 can be downloaded and installed into the deployment environment.
[0078] In the attribute table, the deployment data required by different dynamic library components in different deployment environments is recorded, and the deployment data is the third attribute data.
[0079] S530, deploying the software to be deployed in the deployment environment.
[0080] In the embodiment, in the case that the first dynamic library component in which the first attribute data and the second attribute data in each dynamic library component do not match, the third attribute data required by the first dynamic library component in the deployment environment is obtained from the cloud, so that the installation data packet with the third attribute data is downloaded and installed, so as to ensure that the first dynamic library component in the deployment environment has the third attribute data that can meet the requirements, so as to ensure that the to-be-deployed software can normally run after being deployed to the deployment environment. Moreover, the embodiment solves the deployment dilemma caused by the difference between the development environment and the deployment environment, improves the deployment efficiency, eliminates the scene of manual participation in the deployment process, and especially can realize automatic deployment in the large cluster deployment scene.
[0081] On the basis of the technical scheme provided in the above embodiment, an optional embodiment is provided. In the optional embodiment, the deployment step in S140 is refined.
[0082] Referring to Figure 6 , the refined deployment step includes:
[0083] S610, in the case that the first attribute data and the second attribute data corresponding to each dynamic library component are matched, the to-be-deployed software is deployed in the deployment environment.
[0084] In the embodiment, only in the case that the first attribute data and the second attribute data corresponding to each dynamic library component are matched, the to-be-deployed software is deployed, so as to ensure that the program after deployment can normally run in the deployment environment.
[0085] In the actual scene, in addition to obtaining the first attribute data from the deployment environment, the dependency relationship between each dynamic library component can also be obtained from the deployment environment and the development environment, and in the case that the dependency relationship in the deployment environment is consistent with the dependency relationship in the development environment, the deployment operation is performed.
[0086] In the actual scene, in addition to obtaining the first attribute data from the deployment environment, the operating system information can also be obtained from the deployment environment and the development environment, and the operating system information includes at least one of the operating system version, the CPU (Central Processing Unit, central processor) architecture information and the operating system kernel information. In the case that the operating system information in the development environment is consistent with the operating system information in the deployment environment, the deployment operation is performed.
[0087] It should be understood that although the steps in the flowcharts involved in the above embodiments are shown in sequence according to the arrows, the steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, the execution of the steps is not strictly limited in sequence, and the steps can be executed in other orders. Moreover, at least some of the steps in the flowcharts involved in the above embodiments can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of the steps or stages is not necessarily sequential, but can be alternately executed with at least some of the other steps or the steps or stages in the other steps.
[0088] Based on the same inventive concept, the embodiments of the present application also provide a software deployment device for implementing the above-mentioned software deployment method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more software deployment device embodiments provided below can refer to the limitations of the software deployment method described above, which will not be repeated here.
[0089] In one exemplary embodiment, a software deployment device is provided, which comprises:
[0090] A first obtaining module is configured to obtain at least one dynamic library component dependent on an executable file of the software to be deployed;
[0091] A second obtaining module is configured to, for each dynamic library component in the at least one dynamic library component, obtain first attribute data corresponding to the dynamic library component from a development environment of the software to be deployed; and
[0092] A third obtaining module is configured to obtain second attribute data corresponding to the dynamic library component from a deployment environment of the software to be deployed;
[0093] A software deployment module is configured to deploy the software to be deployed in the deployment environment according to the matching between the first attribute data and the corresponding second attribute data of each dynamic library component.
[0094] In one embodiment, the first attribute data and the second attribute data both include a dynamic library component version; correspondingly, the software deployment module is specifically configured to: determine an available version range of the dynamic library component in the second attribute data; determine that the first attribute data and the corresponding second attribute data of each dynamic library component are matched in the case that the dynamic library component version in the first attribute data of each dynamic library component falls within the available version range in the corresponding second attribute data; and deploy the software to be deployed in the deployment environment.
[0095] In an embodiment, the first attribute data and the second attribute data each comprise end sequence data, the end sequence data being used to represent a storage order of the component data in the memory; accordingly, the software deployment module is specifically configured to: determine that the first attribute data corresponding to each dynamic library component respectively matches the second attribute data corresponding to each dynamic library component respectively, in a case that the end sequence data in the first attribute data corresponding to each dynamic library component respectively is consistent with the end sequence data in the second attribute data corresponding to each dynamic library component respectively; and deploy the software to be deployed in the deployment environment.
[0096] In an embodiment, the first attribute data and the second attribute data each comprise bit library data; accordingly, the software deployment module is specifically configured to: determine that the first attribute data corresponding to each dynamic library component respectively matches the second attribute data corresponding to each dynamic library component respectively, in a case that the bit library data in the first attribute data corresponding to each dynamic library component respectively is adapted to the bit library data in the second attribute data corresponding to each dynamic library component respectively; and deploy the software to be deployed in the deployment environment.
[0097] In an embodiment, the software deployment module is specifically configured to: in a case that there is a first dynamic library component in which the first attribute data and the second attribute data do not match among the dynamic library components, acquire third attribute data required by the first dynamic library component in the deployment environment from the cloud; download and install an installation data package of the first dynamic library component to the deployment environment according to the third attribute data; and deploy the software to be deployed in the deployment environment.
[0098] In an embodiment, the software deployment module is specifically configured to: in a case that the first attribute data corresponding to each dynamic library component respectively and the second attribute data corresponding to each dynamic library component respectively are matched, deploy the software to be deployed in the deployment environment.
[0099] Each module in the above software deployment apparatus can be realized by software, hardware and a combination thereof in whole or in part. Each module can be embedded in or independent of a processor in a computer device in a hardware form, or can be stored in a memory in a computer device in a software form, so as to be called and executed by a processor to perform operations corresponding to each module.
[0100] In an exemplary embodiment, a computer device is provided, and an internal structure diagram of the computer device can be as shown in FIG. 1. Figure 8As shown in the figure. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. Among them, the processor, the memory and the input / output interface are connected through the system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capability. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operating system and the computer program in the non-volatile storage medium to run. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals in a wired or wireless manner. The wireless manner can be realized through WIFI, mobile cellular network, Near Field Communication (NFC) or other technologies. The computer program is executed by the processor to implement a software deployment method.
[0101] Those skilled in the art can understand that, Figure 8 The structure shown in the figure is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computer device to which the scheme of the present application is applied. The specific computer device can include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.
[0102] In one exemplary embodiment, a computer device is provided, including a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the software deployment method provided by each of the above embodiments.
[0103] In one embodiment, a computer readable storage medium is provided, which stores a computer program, and the computer program is executed by a processor to implement the software deployment method provided by each of the above embodiments.
[0104] In one embodiment, a computer program product is provided, including a computer program, and the computer program is executed by a processor to implement the software deployment method provided by each of the above embodiments.
[0105] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant regulations.
[0106] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by a computer program instructing relevant hardware. The computer program can be stored in a non-volatile computer readable storage medium. When the computer program is executed, the processes of the above-mentioned embodiment methods can be included. Any reference to memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. The non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. The volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration but not limitation, the RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., but is not limited thereto. The processor involved in the embodiments provided in the present application can be a general processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but is not limited thereto.
[0107] The technical features of the above embodiments can be combined arbitrarily. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combinations of the technical features do not exist contradictory, it should be considered as the scope of the present application.
[0108] The above embodiments only express several implementation ways of the present application, and the description is specific and detailed, but it should not be understood as a limitation to the patent scope of the present application. It should be pointed out that for ordinary skilled in the art, without departing from the concept of the present application, several modifications and improvements can be made, which all belong to the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.
Claims
1. A software deployment method, characterized in that, include: Obtain at least one dynamic library component that the executable file of the software to be deployed depends on; For each of the at least one dynamic library components, obtain the first attribute data corresponding to the dynamic library component from the development environment of the software to be deployed; as well as Obtain the second attribute data corresponding to the dynamic library component from the deployment environment of the software to be deployed; Based on the matching between the first attribute data and the corresponding second attribute data of each of the dynamic library components, the software to be deployed is deployed in the deployment environment.
2. The method according to claim 1, characterized in that, Both the first attribute data and the second attribute data include the dynamic library component version; Accordingly, deploying the software to be deployed in the deployment environment based on the matching between the first attribute data and the corresponding second attribute data of each of the dynamic library components includes: Based on the dynamic library component version in the second attribute data, determine the corresponding range of available versions; If the versions of the dynamic library components in the first attribute data corresponding to each of the dynamic library components fall within the range of available versions in the corresponding second attribute data, it is determined that the first attribute data and the corresponding second attribute data of each of the dynamic library components are matched. In the deployment environment, the software to be deployed is deployed.
3. The method according to claim 1, characterized in that, Both the first attribute data and the second attribute data include end-order data, which is used to characterize the storage order of component data in memory; Accordingly, deploying the software to be deployed in the deployment environment based on the matching between the first attribute data and the corresponding second attribute data of each of the dynamic library components includes: If the end sequence data in the first attribute data corresponding to each of the dynamic library components is consistent with the end sequence data in the corresponding second attribute data, it is determined that the first attribute data and the corresponding second attribute data of each of the dynamic library components are matched. In the deployment environment, the software to be deployed is deployed.
4. The method according to claim 1, characterized in that, Both the first attribute data and the second attribute data include bit library data; Accordingly, deploying the software to be deployed in the deployment environment based on the matching between the first attribute data and the corresponding second attribute data of each of the dynamic library components includes: When the bit library data in the first attribute data corresponding to each of the dynamic library components is adapted to the bit library data in the corresponding second attribute data, it is determined that the first attribute data and the corresponding second attribute data of each of the dynamic library components are matched. In the deployment environment, the software to be deployed is deployed.
5. The method according to any one of claims 1 to 4, characterized in that, The step of deploying the software to be deployed in the deployment environment based on the matching between the first attribute data and the corresponding second attribute data of each of the dynamic library components includes: In the case where there is a first dynamic library component whose first attribute data and second attribute data do not match, the third attribute data required by the first dynamic library component in the deployment environment is obtained from the cloud. Based on the third attribute data, the installation data package of the first dynamic library component is downloaded and installed into the deployment environment; In the deployment environment, the software to be deployed is deployed.
6. The method according to any one of claims 1 to 4, characterized in that, The step of deploying the software to be deployed in the deployment environment based on the matching between the first attribute data and the corresponding second attribute data of each of the dynamic library components includes: If the first attribute data and the second attribute data corresponding to each of the dynamic library components are matched, the software to be deployed is deployed in the deployment environment.
7. A software deployment apparatus, characterized in that, include: The first acquisition module is used to acquire at least one dynamic library component that the executable file of the software to be deployed depends on. The second acquisition module is used to acquire, for each of the at least one dynamic library components, first attribute data corresponding to the dynamic library component from the development environment of the software to be deployed. as well as The third acquisition module is used to acquire the second attribute data corresponding to the dynamic library component from the deployment environment of the software to be deployed; The software deployment module is used to deploy the software to be deployed in the deployment environment based on the matching between the first attribute data and the corresponding second attribute data of each of the dynamic library components.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.