CN113721930A - Method, apparatus, device, medium and program product for deploying application program - Google Patents

Method, apparatus, device, medium and program product for deploying application program Download PDF

Info

Publication number
CN113721930A
CN113721930A CN202010458124.XA CN202010458124A CN113721930A CN 113721930 A CN113721930 A CN 113721930A CN 202010458124 A CN202010458124 A CN 202010458124A CN 113721930 A CN113721930 A CN 113721930A
Authority
CN
China
Prior art keywords
deployment
application program
script
configuration information
deploying
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010458124.XA
Other languages
Chinese (zh)
Inventor
赵増乾
胡伟平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qianxin Technology Group Co Ltd, Secworld Information Technology Beijing Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN202010458124.XA priority Critical patent/CN113721930A/en
Publication of CN113721930A publication Critical patent/CN113721930A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present disclosure provides a method, apparatus, medium, and program product for deploying an application. The method for deploying the application program is applied to the server and comprises the following steps: pushing a deployment script and an application program downloading link list to a plurality of terminal devices of the application program to be deployed; and controlling the plurality of terminal devices to start so that each terminal device in the plurality of terminal devices deploys the application program according to the deployment script and the download link list. Wherein the deployment script is capable of being executed by at least two terminal devices having different configuration information.

Description

Method, apparatus, device, medium and program product for deploying application program
Technical Field
The present disclosure relates to the field of electronic technology, and more particularly, to a method, apparatus, device, medium, and program product for deploying an application.
Background
With the development of electronic technology, in order to meet different requirements of users, the variety of operating systems (operating systems) and/or architectures (architectures) is increasing. The same architecture may run different operating systems, and the same operating system may run on different architectures. Different terminal devices may have different configuration information, i.e. have different operating systems and/or different architectures, according to the needs of different users.
In order to quickly deploy the application programs on different terminal devices, terminal devices with the same configuration information can be deployed in batches. However, in the related art, in an application scenario of a Unix-like system, there are often cases where multiple terminal devices need to be deployed at one time and the multiple terminal devices are scattered on different network nodes. However, in addition to manual distributed installation and deployment, the related art cannot automatically deploy the application on a plurality of terminal devices with different configuration information in batch.
Disclosure of Invention
In view of the above, the present disclosure provides a method, an apparatus, a medium, and a program product for deploying an application that are capable of configuring applications on terminal apparatuses having different configuration information in a batch.
One aspect of the present disclosure provides a method for deploying an application, applied to a server, the method including: pushing a deployment script and an application program downloading link list to a plurality of terminal devices of the application program to be deployed; and controlling the plurality of terminal devices to start so that each terminal device in the plurality of terminal devices deploys the application program according to the deployment script and the download link list. Wherein the deployment script is capable of being executed by at least two terminal devices having different configuration information.
According to an embodiment of the present disclosure, the method for deploying an application further includes: receiving a deployment result fed back by any terminal device in the plurality of terminal devices, wherein the deployment result can represent whether any terminal device successfully deploys the application program; and under the condition that the deployment result indicates that any terminal equipment does not successfully deploy the application program, re-pushing the deployment script to any terminal equipment.
According to an embodiment of the present disclosure, the pushing the deployment script to any terminal device again includes: determining the times of pushing a deployment script to any terminal equipment; and under the condition that the times are less than or equal to the target times, the deployment script is pushed to any terminal equipment again.
According to an embodiment of the present disclosure, the configuration information includes operating system information and architecture information; the deployment script includes a Bourne shell script.
Another aspect of the present disclosure provides a method for deploying an application, applied to a terminal device, the method including: receiving a deployment script and an application program downloading link list pushed by a server; starting an operating system in response to control of the server; and deploying the application program according to the deployment script and the download link list. Wherein the deployment script is capable of being executed by at least two terminal devices having different configuration information.
According to an embodiment of the present disclosure, the deploying the application program according to the deployment script and the download link list includes: running the deployment script to perform the following operations: acquiring configuration information of terminal equipment; determining a download link matched with the configuration information in the download link list; and deploying the application program according to the download link and the configuration information.
According to the embodiment of the disclosure, the deployment script comprises a parsing engine sub-script and a matching engine sub-script; the obtaining of the configuration information of the terminal device includes: running the analysis engine sub-script to analyze the target instruction to obtain the configuration information of the terminal equipment; determining a download link in the download link list that matches the configuration information includes: and running the matching engine sub-script to match the configuration information with the download link in the download link list to obtain the download link matched with the configuration information.
According to an embodiment of the present disclosure, the method for deploying an application further includes, after deploying the application: and feeding back a deployment result to the server, wherein the deployment result can represent whether the terminal equipment successfully deploys the application program.
Another aspect of the present disclosure provides an apparatus for deploying an application program, provided at a server, the apparatus including: the pushing module is used for pushing the deployment script and the application program downloading link list to a plurality of terminal devices of the application program to be deployed; the control module is used for controlling the starting of the plurality of terminal devices so that each terminal device in the plurality of terminal devices deploys the application program according to the deployment script and the download link list, wherein the deployment script can be operated by at least two terminal devices with different configuration information.
Another aspect of the present disclosure provides an apparatus for deploying an application, provided in a terminal device, the apparatus including: the receiving module is used for receiving the deployment script and the application program downloading link list pushed by the server; the response module is used for responding to the control of the server and starting the operating system; and the deployment module is used for deploying the application program according to the deployment script and the download link list, wherein the deployment script can be operated by at least two terminal devices with different configuration information.
Another aspect of the present disclosure provides an electronic device, including: one or more processors; a storage device for storing one or more programs, wherein the one or more programs, when executed by the one processor, cause the one or more processors to perform the above-described method of deploying an application.
Another aspect of the present disclosure provides a computer-readable storage medium having stored thereon computer-executable instructions for, when executed, implementing a method of deploying an application as described above.
Another aspect of the disclosure provides a computer program product comprising computer readable instructions. Wherein the computer readable instructions, when executed, are for performing the method of deploying an application as described above.
According to the embodiment of the disclosure, the technical problem that the application program cannot be deployed in the terminal devices with different configuration information in batches can be at least partially solved. Therefore, the deployment scripts which can be operated by the equipment with different configuration information are pushed to the plurality of terminal equipment, so that the equipment with different configuration information deploys the application program by operating the deployment scripts, thereby realizing the uniform deployment of the terminal equipment with different configuration information, improving the deployment efficiency and reducing the labor cost.
Drawings
The foregoing and other objects, features and advantages of the disclosure will be apparent from the following description of embodiments of the disclosure, which proceeds with reference to the accompanying drawings, in which:
FIG. 1 schematically illustrates an application scenario of a method, apparatus, medium, and program product for deploying an application in accordance with embodiments of the present disclosure;
fig. 2 schematically shows a flowchart of a method for deploying an application program applied to a server according to a first exemplary embodiment of the present disclosure;
fig. 3 schematically shows a flowchart of a method for deploying an application program applied to a terminal device according to a first exemplary embodiment of the present disclosure;
FIG. 4 is a flow diagram that schematically illustrates deployment of an application in accordance with a deployment script and a download link list, in accordance with an embodiment of the present disclosure;
Fig. 5 schematically shows a flowchart of a method for deploying an application program applied to a terminal device according to a second exemplary embodiment of the disclosure;
fig. 6 schematically shows a flowchart of a method for deploying an application program applied to a server according to a second exemplary embodiment of the present disclosure;
fig. 7 is a block diagram schematically illustrating a structure of an apparatus for deploying an application provided in a server according to an exemplary embodiment of the present disclosure;
fig. 8 is a block diagram schematically illustrating an apparatus for deploying an application provided in a terminal device according to an exemplary embodiment of the present disclosure; and
FIG. 9 schematically illustrates a block diagram of an electronic device adapted to perform a method of deploying an application according to an embodiment of the disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
The embodiment of the present disclosure provides a method for deploying an application program, which is applied to a server, and the method includes: pushing a deployment script and an application program downloading link list to a plurality of terminal devices of the application program to be deployed; and controlling the plurality of terminal devices to start so that each terminal device in the plurality of terminal devices deploys the application program according to the deployment script and the download link list. Wherein the deployment script is capable of being executed by at least two terminal devices having different configuration information.
The embodiment of the disclosure also provides a method for deploying the application program, which is applied to the terminal equipment. The method comprises the following steps: receiving a deployment script and an application program downloading link list pushed by a server; starting an operating system in response to control of the server; and deploying the application program according to the deployment script and the download link list. Wherein the deployment script is capable of being executed by at least two terminal devices having different configuration information.
Fig. 1 schematically illustrates an application scenario of a method, apparatus, medium, and program product for deploying an application according to an embodiment of the present disclosure. It should be noted that fig. 1 is only an example of an application scenario in which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, but does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 1, the application scenario 100 according to this embodiment may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, and so forth.
The server 105 may store, for example, deployment scripts of applications, application installation packages that support various platforms (terminal devices having various operating systems and various architectures), and bulk deployment total control scripts.
The terminal devices 101, 102, 103 may be, for example, various terminal devices newly provided by users, and the terminal devices have various architectures and are installed with various operating systems according to the needs of the users. The architecture may include, for example, at least one of: x86, ARM (Advanced RISC Machines, modified RISC architecture), loongson, mega-core, sea light, and shenwei, etc. The operating system may include at least one of: ubuntu (Linux Operating System based on desktop applications), centros (Community Enterprise Operating System), Red Hat (Linux version released by Red Hat corporation), Xen (an open source project developed by cambridge university computer laboratory), ESXi (System designed to run virtual machines, minimize configuration requirements, and simplify deployment), unicon-like Operating systems such as kylin, galaxy, deep, and puhua. The terminal device may be, for example, various electronic devices capable of installing applications and supporting remote control, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The server 105 may, for example, remotely control the terminal devices 101, 102, 103 via the network 104, in order to facilitate the batch deployment of applications on a plurality of terminal devices. For example, login information of all terminal devices to be deployed with the application program may be configured in the server 105 for facilitating remote control. The login information may be, for example, SSH (Secure Shell) login information of the terminal device, and the login information may be obtained from a factory protocol of the terminal device. The server 105, through this remote control, may control the terminal devices 101, 102, 103 to start an operating system for deployment of the application, for example.
In an embodiment, in order to facilitate the deployment of the server 105 to the terminal devices in bulk, for example, the server 105 and the terminal devices 101, 102, and 103 may also establish a secret-free mutual access in various ways. In an embodiment, the privacy-free mutual access may be established, for example, by configuring the cluster SSH mutual trust function.
According to an embodiment of the present disclosure, the server 105 may, for example, push a deployment script of the application to the terminal device, so that the terminal device performs deployment of the application by running the deployment script.
It should be noted that the method for deploying the application program, which is provided by the embodiment of the present disclosure and applied to the server, may be generally executed by the server 105. Accordingly, the method for deploying the application program applied to the terminal device provided by the embodiment of the present disclosure may be generally performed by the terminal devices 101, 102, and 103.
It should be understood that the types of terminal devices, servers, and networks in fig. 1 are merely illustrative. There may be any type of terminal device, server, and network, as desired for implementation.
The method for deploying the application program according to the embodiment of the present disclosure will be described in detail below with reference to fig. 2 to 6.
Fig. 2 schematically shows a flowchart of a method for deploying an application program applied to a server according to a first exemplary embodiment of the disclosure.
As shown in fig. 2, the method for deploying an application program applied to a server according to this embodiment may include, for example, operations S210 to S220.
In operation S210, a deployment script and an application download link list are pushed to a plurality of terminal devices to which an application is to be deployed.
According to embodiments of the present disclosure, the deployment script may be, for example, pre-configured. Considering that an application program is deployed for a Unix-like operating system such as Linux/Unix, the deployment script is formed by adopting a Shell script language which can provide a user interaction interface under the Linux/Unix operating system and is also a script language of the operating system.
In one embodiment, considering that the types of shells popular in Unix are mainly sh (Bourne shell), bash (Bourne Again shell), zsh (z shell), ksh (korn shell), csh (c shell), etc., to further ensure the universality of the deployment script, the deployment script may be formed, for example, in the Bourne shell language default to the Unix standard, i.e., the deployment script may include a Bourne shell script.
According to the embodiment of the disclosure, through the selection of the forming language of the deployment script, the deployment script can be operated by at least two terminal devices with different configuration information. The configuration information may include, among other things, operating system information and architecture information. Accordingly, the deployment script may be executed by at least two terminal devices having different operating systems and/or different architectures to implement a bulk deployment of the application in the at least two terminal devices.
According to an embodiment of the present disclosure, the application download link list may include, for example, a key-value list having the configuration information as a key value and the download link matching the configuration information as a value. Therefore, the terminal equipment can conveniently obtain the downloading link of the application program according to the configuration information in a matching mode so as to deploy the application program. The terminal device can obtain the installation package of the application program by accessing the matched download link in the download link list, for example, so that the deployment of the application program is facilitated.
According to the embodiment of the disclosure, in order to facilitate pushing the deployment script and the application download link list, the server may, for example, store in advance an address list of the terminal device that needs to deploy the application, where the address in the address list may be, for example, an IP address. Accordingly, operation S210 may be to push the deployment script and the application download list to the terminal device corresponding to the IP address in the address list.
In an embodiment, for example, the terminal device to be deployed may also be determined by: firstly, establishing a network; and then all the terminal devices newly placed by the users are accessed into the established network. The server may determine that all terminal devices accessing the network are terminal devices to be deployed.
In operation S220, the plurality of terminal devices are controlled to start up, so that each terminal device of the plurality of terminal devices deploys the application program according to the deployment script and the download link list.
The operation S220 may be, for example, remotely controlling, by the server 105, the plurality of terminal devices in the operation S210 to control the plurality of terminal devices to start respective operating systems in preparation for deploying the application program for the plurality of terminal devices.
For example, the server 105 may remotely log in each terminal apparatus according to SSH login information of each of the plurality of terminal apparatuses, thereby causing each terminal apparatus to start up the operating system in response to the login operation. Alternatively, the server 105 may implement access control for a plurality of terminal devices by, for example, establishing a secret-free mutual access with the plurality of terminal devices, so that each terminal device starts up an operating system in response to the access control.
After each terminal device starts the operating system and receives the deployment script and the application program downloading link list, the application program can be deployed according to the deployment script and the downloading link list. Specifically, each terminal device may implement the deployment of the application program through the flow described in fig. 3.
Fig. 3 schematically shows a flowchart of a method for deploying an application program applied to a terminal device according to a first exemplary embodiment of the disclosure.
As shown in fig. 3, the method for deploying an application program applied to a terminal device of this embodiment may include, for example, operations S310 to S330.
In operation S310, a deployment script pushed by a server and an application download link list are received. The deployment script and the download link list received by the operation are pushed by the server through the aforementioned operation S210, which is not described herein again.
In operation S320, an operating system is started in response to control of the server. This operation S320 may be, for example, to start the operating system in response to a server telnet or remote privacy-free mutual access. The operating system may be, for example, any of Ubuntu, CentOS, Red Hat, Xen, ESxi, Haemon, Kanghu, Kanghe, Highua, and Puhua, as described above.
In operation S330, the application is deployed according to the deployment script and the download link list.
According to the embodiment of the disclosure, the deployment script may include, for example, code of logic for deploying the application program, and the deployment of the application program may be realized by running the deployment script.
According to the embodiment of the disclosure, the versions of the application programs which need to be deployed by the terminal devices with different configuration information are considered to be different. Therefore, when the application program is deployed, the download link matching with the configuration information of the terminal device can be found from the download link list according to the configuration information. The installation package of the application program is downloaded, and the deployment of the application program is realized. In this embodiment, operation S330 may, for example, first perform the following operations by running the deployment script: the configuration information of the terminal equipment is obtained firstly, and then the downloading link matched with the configuration information in the downloading link list is determined. After the downloading connection is obtained, the installation package of the application program can be obtained through accessing the downloading link, and the deployment of the application program is realized through decompressing the installation package.
To facilitate performing operation S330, in an embodiment, the deployment script may include, for example, a parsing engine sub-script and a matching engine sub-script to implement the functions of obtaining the configuration information and determining the download link, respectively. For example, the operation S330 may be implemented by the exemplary flow described in fig. 4.
FIG. 4 schematically illustrates a flowchart for deploying an application according to a deployment script and a download link list according to an embodiment of the disclosure.
As shown in fig. 4, the operation of deploying the application according to the deployment script and the download link list may include, for example, operations S431 to S433.
In operation S431, the parsing engine sub-script is executed to parse the target instruction, and obtain configuration information of the terminal device.
According to embodiments of the present disclosure, a parsing engine sub-script may be, for example, a script that results from a code package that implements obtaining configuration information. The target instructions may include, for example, an lsb _ release command for displaying an operating system release version and/or an diameter command for displaying operating system related information, and the like. The code for acquiring the configuration information is the code written by the Bourne Shell language.
By running the parsing engine sub-script, for example, the lsb _ release command, the uname command, the release file related to the parsing system, and the like can be processed, so as to obtain configuration information such as the architecture, the operating system, the system hair style version, and the like in the terminal device.
In operation S432, the matching engine sub-script is executed to match the configuration information and the download link in the download link list, so as to obtain the download link matched with the configuration information.
According to an embodiment of the present disclosure, the matching engine sub-script may be, for example, a script encapsulated by code that implements the functions of matching configuration information and downloading links. The code for realizing the functions of matching the configuration information and downloading the link is the code written by the Bourne Shell language.
In an embodiment, by running the matching engine sub-script, for example, a download link list may be searched according to the configuration information, and a key value whose value is the configuration information is found, then a value corresponding to the key value is a download link matched with the configuration information.
In operation S433, an application is deployed according to the download link and the configuration information.
According to an embodiment of the present disclosure, the operation may, for example, first obtain an installation package of the application by accessing the download link. And then finishing the installation and deployment of the installation package of the application program according to the acquired configuration information.
According to the embodiment of the disclosure, in order to enable the server to know whether the terminal device successfully deploys the application, the terminal device may further feed back the deployment result to the server after performing operations S310 to S330, for example.
Fig. 5 schematically shows a flowchart of a method for deploying an application program applied to a terminal device in an exemplary embodiment of the disclosure.
As shown in fig. 5, the method for deploying an application program applied to a terminal device of this embodiment may further include operation S540 in addition to operations S310 to S330, and the operation S540 is performed after operation S330.
In operation S540, the deployment result is fed back to the server. The deployment result can represent whether the terminal device successfully deploys the application program.
It is considered that the terminal device will have version related information of the application program after the application program is successfully deployed. Operation S540 may, for example, first check whether the terminal device has version-related information of the application program, and generate a deployment result according to the check result. For example, if the version-related information exists, a deployment result representing the successful deployment of the application program is generated; and if the version-related information does not exist, generating a deployment result representing that the application program is not successfully deployed. And then feeding back the generated deployment result to a server through a network.
After the terminal device feeds back the deployment result to the server, in order to improve the success rate of application deployment, for example, the server may also push the deployment script to the terminal device again when the deployment result indicates that the application is not successfully deployed, so that the terminal device performs deployment of the application again according to the flow described in fig. 2.
Fig. 6 schematically shows a flowchart of a method for deploying an application program applied to a server according to a second exemplary embodiment of the present disclosure.
As shown in fig. 6, the method for deploying an application program applied to a server may further include operations S630 and S640, in addition to operations S210 to S220, where the operations S630 and S640 may be performed after the operations S220, for example.
In operation S630, a deployment result fed back by any terminal device of the plurality of terminal devices is received, where the deployment result can represent whether any terminal device successfully deploys the application. The any terminal device may be, for example, a terminal device that executes the process described in fig. 5, and the received deployment result is the deployment result fed back through operation S540 in fig. 5, which is not described herein again.
In operation S640, in a case that the deployment result indicates that any terminal device has not successfully deployed the application, the deployment script is pushed to any terminal device again.
According to the embodiment of the disclosure, it is considered that if the terminal device has a fault, the application program cannot be deployed successfully no matter how many times the terminal device is re-deployed. At this time, if the server continuously pushes the deployment script, unnecessary network resource consumption will be caused. To avoid this, the server may maintain the number of times the deployment script is sent to the terminal device. Each time the deployment script is sent to any one terminal device, the number of times is increased by 1.
Accordingly, after the server receives the deployment result, it may be determined whether the deployment result represents that any terminal device has not successfully deployed the application program. In the case of determining that the deployment is not successful, the number of times of pushing the deployment script to the any terminal device may be determined first, that is, the value of the number of times of the deployment script maintained by the terminal device is determined. And only when the number of times is less than or equal to the target number of times, the deployment script is pushed to any terminal equipment again. The target times can be set according to actual requirements, and the disclosure does not limit the target times. In an embodiment, the value of the target number may be any value, such as 3 or 5.
Fig. 7 is a block diagram schematically illustrating a structure of an apparatus for deploying an application provided in a server according to an exemplary embodiment of the present disclosure.
As shown in fig. 7, the apparatus 700 for deploying an application program disposed in a server may include, for example, a push module 710 and a control module 720.
The pushing module 710 is configured to push the deployment script and the application download link list to a plurality of terminal devices to be deployed with the application. Wherein the deployment script is capable of being executed by at least two terminal devices having different configuration information. In an embodiment, the pushing module 710 may be configured to perform the operation S210 described in fig. 2, for example, and is not described herein again.
The control module 720 is configured to control the plurality of terminal devices to start, so that each terminal device in the plurality of terminal devices deploys the application program according to the deployment script and the download link list. In an embodiment, the control module 720 may be configured to perform operation S220 described in fig. 2, for example, and is not described herein again.
According to an embodiment of the present disclosure, the apparatus 700 for deploying an application program, which is disposed in the server, may further include a result receiving module, where the result receiving module is configured to receive a deployment result fed back by any terminal device of the multiple terminal devices, and the deployment result can represent whether the application program is successfully deployed by any terminal device. Correspondingly, the pushing module 710 is further configured to push the deployment script to any terminal device again when the deployment result indicates that any terminal device has not successfully deployed the application. In an embodiment, the receiving module and the pushing module 710 may be configured to perform operations S630 to S640 described in fig. 6, for example, and are not described herein again.
According to an embodiment of the present disclosure, the push module 710 may include, for example, a number determination sub-module and a push sub-module. The number determining submodule is used for determining the number of times of pushing the deployment script to any terminal device. And the pushing submodule is used for pushing the deployment script to any terminal equipment again under the condition that the times are less than or equal to the target times.
According to an embodiment of the present disclosure, the configuration information includes operating system information and architecture information; the deployment script comprises a Bourne shell script.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the disclosure may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
Fig. 8 is a block diagram schematically illustrating an apparatus for deploying an application provided in a terminal device according to an exemplary embodiment of the present disclosure.
As shown in fig. 8, the apparatus 800 for deploying an application provided in a terminal device may include a receiving module 810, a responding module 820, and a deploying module 830.
The receiving module 810 is configured to receive the deployment script and the application download link list pushed by the server. Wherein the deployment script is capable of being executed by at least two terminal devices having different configuration information. In an embodiment, the receiving module 810 may be configured to perform the operation S310 described in fig. 3, for example, and is not described herein again.
The response module 820 is used to start the operating system in response to the control of the server. In an embodiment, the response module 820 may be used to perform the operation S320 described in fig. 3, for example, and is not described herein again.
The deployment module 830 is used for deploying the application according to the deployment script and the download link list. In an embodiment, the deployment module 830 may be configured to perform the operation S330 described in fig. 3, for example, and is not described herein again.
According to an embodiment of the present disclosure, the deployment module 830 may include, for example, a script running submodule and a deployment submodule. The script running submodule is used for running the deployment script to execute the following operations: acquiring configuration information of terminal equipment; and determining the download link which is matched with the configuration information in the download link list. And the deployment submodule is used for deploying the application program according to the download link and the configuration information. In an embodiment, the deployment submodule may be configured to perform operation S433 described in fig. 4, for example, which is not described herein again.
According to embodiments of the present disclosure, a deployment script may include, for example, a parsing engine sub-script and a matching engine sub-script. The script execution submodule may include, for example, a first execution unit and a second execution unit. The first operation unit is used for operating the analysis engine sub-script to analyze the target instruction and obtain the configuration information of the terminal equipment. The second running unit is used for running the matching engine sub-script to match the configuration information with the download link in the download link list, and the download link matched with the configuration information is obtained. In an embodiment, the first running unit and the second running unit may be, for example, respectively configured to perform operations S431 to S432 described in fig. 4, and are not described herein again.
According to an embodiment of the present disclosure, the apparatus 800 for deploying an application program, which is disposed in a terminal device, may further include a result feedback module, for example, the result feedback module is configured to feed back a deployment result to a server, where the deployment result can represent whether the terminal device successfully deploys the application program. In an embodiment, the result feedback module may perform operation S540 described in fig. 5, which is not described herein again.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the disclosure may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
FIG. 9 schematically illustrates a block diagram of an electronic device adapted to perform a method of deploying an application according to an embodiment of the disclosure. The electronic device shown in fig. 9 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 9, an electronic apparatus 900 according to an embodiment of the present disclosure includes a processor 901 which can perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)902 or a program loaded from a storage portion 908 into a Random Access Memory (RAM) 903. Processor 901 may comprise, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), among others. The processor 901 may also include on-board memory for caching purposes. The processor 901 may comprise a single processing unit or a plurality of processing units for performing the different actions of the method flows according to embodiments of the present disclosure.
In the RAM 903, various programs and data necessary for the operation of the electronic apparatus 900 are stored. The processor 901, the ROM902, and the RAM 903 are connected to each other through a bus 904. The processor 901 performs various operations of the method flows according to the embodiments of the present disclosure by executing programs in the ROM902 and/or the RAM 903. Note that the programs may also be stored in one or more memories other than the ROM902 and the RAM 903. The processor 901 may also perform various operations of the method flows according to embodiments of the present disclosure by executing programs stored in the one or more memories.
Electronic device 900 may also include input/output (I/O) interface 905, input/output (I/O) interface 705 also connected to bus 904, according to an embodiment of the present disclosure. The electronic device 900 may also include one or more of the following components connected to the I/O interface 905: an input portion 906 including a keyboard, a mouse, and the like; an output section 907 including components such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage portion 908 including a hard disk and the like; and a communication section 909 including a network interface card such as a LAN card, a modem, or the like. The communication section 909 performs communication processing via a network such as the internet. The drive 910 is also connected to the I/O interface 905 as necessary. A removable medium 911 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 910 as necessary, so that a computer program read out therefrom is mounted into the storage section 908 as necessary.
According to embodiments of the present disclosure, method flows according to embodiments of the present disclosure may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable storage medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 909, and/or installed from the removable medium 911. The computer program performs the above-described functions defined in the electronic device of the embodiment of the present disclosure when executed by the processor 901. The systems, devices, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. For example, according to embodiments of the present disclosure, a computer-readable storage medium may include the ROM 902 and/or the RAM 903 described above and/or one or more memories other than the ROM 902 and the RAM 903.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
The embodiments of the present disclosure have been described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described separately above, this does not mean that the measures in the embodiments cannot be used in advantageous combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the present disclosure, and such alternatives and modifications are intended to be within the scope of the present disclosure.

Claims (13)

1. A method for deploying an application, applied to a server, the method comprising:
pushing a deployment script and an application program downloading link list to a plurality of terminal devices of the application program to be deployed; and
controlling the plurality of terminal devices to start so that each terminal device in the plurality of terminal devices deploys the application program according to the deployment script and the download link list,
wherein the deployment script is capable of being executed by at least two terminal devices having different configuration information.
2. The method of claim 1, further comprising:
receiving a deployment result fed back by any terminal device in the plurality of terminal devices, wherein the deployment result can represent whether the application program is successfully deployed by any terminal device;
And under the condition that the deployment result represents that the application program is not successfully deployed by any terminal equipment, re-pushing the deployment script to any terminal equipment.
3. The method of claim 2, wherein re-pushing the deployment script to the any terminal device comprises:
determining the times of pushing the deployment script to any terminal device; and
and under the condition that the times are less than or equal to the target times, the deployment script is pushed to any terminal equipment again.
4. The method of claim 1, wherein:
the configuration information comprises operating system information and architecture information;
the deployment script comprises a Bourne shell script.
5. A method for deploying an application program, applied to a terminal device, the method comprising:
receiving a deployment script and an application program downloading link list pushed by a server;
starting an operating system in response to control of the server; and
deploying the application according to the deployment script and the download link list,
wherein the deployment script is capable of being executed by at least two terminal devices having different configuration information.
6. The method of claim 5, wherein said deploying the application according to the deployment script and the download link list comprises:
running the deployment script to perform the following operations:
acquiring configuration information of the terminal equipment;
determining a download link matched with the configuration information in the download link list; and
and deploying the application program according to the download link and the configuration information.
7. The method of claim 6, wherein:
the deployment script comprises an analysis engine sub-script and a matching engine sub-script;
the obtaining the configuration information of the terminal device includes: running the analysis engine sub-script to analyze a target instruction to obtain the configuration information of the terminal equipment;
the determining the download link matching the configuration information in the download link list comprises: and running the matching engine sub-script to match the configuration information with the download link in the download link list to obtain the download link matched with the configuration information.
8. The method of claim 5, further comprising, after deploying the application:
and feeding back a deployment result to the server, wherein the deployment result can represent whether the terminal equipment successfully deploys the application program.
9. An apparatus for deploying an application program, provided in a server, the apparatus comprising:
the pushing module is used for pushing the deployment script and the application program downloading link list to a plurality of terminal devices of the application program to be deployed;
a control module, configured to control the plurality of terminal devices to start, so that each terminal device in the plurality of terminal devices deploys the application program according to the deployment script and the download link list,
wherein the deployment script is capable of being executed by at least two terminal devices having different configuration information.
10. An apparatus for deploying an application program, provided in a terminal device, the apparatus comprising:
the receiving module is used for receiving the deployment script and the application program downloading link list pushed by the server;
the response module is used for responding to the control of the server and starting an operating system; and
a deployment module for deploying the application program according to the deployment script and the download link list,
wherein the deployment script is capable of being executed by at least two terminal devices having different configuration information.
11. An electronic device, comprising:
one or more processors;
a storage device for storing one or more programs,
Wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform:
the method of any one of claims 1 to 4; or
A process according to any one of claims 5 to 8.
12. A computer-readable storage medium having stored thereon executable instructions, the instructions being executable by a processor to:
the method of any one of claims 1 to 4; or
A process according to any one of claims 5 to 8.
13. A computer program product comprising computer readable instructions, wherein the computer readable instructions when executed are for performing:
the method of any one of claims 1 to 4; or
A process according to any one of claims 5 to 8.
CN202010458124.XA 2020-05-26 2020-05-26 Method, apparatus, device, medium and program product for deploying application program Pending CN113721930A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010458124.XA CN113721930A (en) 2020-05-26 2020-05-26 Method, apparatus, device, medium and program product for deploying application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010458124.XA CN113721930A (en) 2020-05-26 2020-05-26 Method, apparatus, device, medium and program product for deploying application program

Publications (1)

Publication Number Publication Date
CN113721930A true CN113721930A (en) 2021-11-30

Family

ID=78672206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010458124.XA Pending CN113721930A (en) 2020-05-26 2020-05-26 Method, apparatus, device, medium and program product for deploying application program

Country Status (1)

Country Link
CN (1) CN113721930A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827257A (en) * 2022-05-10 2022-07-29 携程旅游网络技术(上海)有限公司 Method, device, equipment and medium for pushing application program of enterprise client

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140259010A1 (en) * 2013-03-06 2014-09-11 Dell Products L.P. Systems and methods for deploying a customized operating system
CN105912375A (en) * 2016-05-31 2016-08-31 乐视控股(北京)有限公司 Method and device for deploying application programs to servers
CN107908414A (en) * 2017-11-22 2018-04-13 中国银行股份有限公司 A kind of method, apparatus and system of the deployment of application server version
CN110221859A (en) * 2019-06-05 2019-09-10 软通智慧科技有限公司 A kind of online management method of the deployment of application, device, equipment and storage medium
CN110221845A (en) * 2019-06-06 2019-09-10 江苏满运软件科技有限公司 Using dispositions method, device, equipment and medium
CN110389903A (en) * 2019-07-19 2019-10-29 中国工商银行股份有限公司 Test environment dispositions method and device, electronic equipment and readable storage medium storing program for executing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140259010A1 (en) * 2013-03-06 2014-09-11 Dell Products L.P. Systems and methods for deploying a customized operating system
CN105912375A (en) * 2016-05-31 2016-08-31 乐视控股(北京)有限公司 Method and device for deploying application programs to servers
CN107908414A (en) * 2017-11-22 2018-04-13 中国银行股份有限公司 A kind of method, apparatus and system of the deployment of application server version
CN110221859A (en) * 2019-06-05 2019-09-10 软通智慧科技有限公司 A kind of online management method of the deployment of application, device, equipment and storage medium
CN110221845A (en) * 2019-06-06 2019-09-10 江苏满运软件科技有限公司 Using dispositions method, device, equipment and medium
CN110389903A (en) * 2019-07-19 2019-10-29 中国工商银行股份有限公司 Test environment dispositions method and device, electronic equipment and readable storage medium storing program for executing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827257A (en) * 2022-05-10 2022-07-29 携程旅游网络技术(上海)有限公司 Method, device, equipment and medium for pushing application program of enterprise client

Similar Documents

Publication Publication Date Title
US20220417125A1 (en) Method and system for implementing high availability (ha) web application firewall (waf) functionality
US11599348B2 (en) Container image building using shared resources
US9519472B2 (en) Automation of virtual machine installation by splitting an installation into a minimal installation and customization
US10241774B2 (en) Release lifecycle management system for multi-node application
Matthias et al. Docker: Up & Running: Shipping Reliable Containers in Production
US10719311B2 (en) Function library build architecture for serverless execution frameworks
US20150378708A1 (en) Installation of a software agent via an existing template agent
US8914785B2 (en) Providing virtual appliance system firmware images
US9473356B2 (en) Automatic configuration of applications based on host metadata using application-specific templates
CN108733380B (en) Application deployment method and device
CN112130871B (en) Method and device for remotely deploying middleware, computer equipment and storage medium
US20140130064A1 (en) Method of disseminating updated drivers to mobile computing devices and a dissemination sytem therefor
US20200349059A1 (en) Systems and methods for on-demand container-based development environments
US11748113B2 (en) Operating system installation mechanism
US20200167215A1 (en) Method and System for Implementing an Application Programming Interface Automation Platform
US11385923B2 (en) Container-based virtualization system extending kernel functionality using kernel modules compiled by a compiling container and loaded by an application container
CN113721930A (en) Method, apparatus, device, medium and program product for deploying application program
CN113821220A (en) Installation method and device of linux operating system
US10997269B1 (en) Using web application components with different web application frameworks in a web application
CN106126303B (en) Installation method, the apparatus and system of (SuSE) Linux OS
CN110213333B (en) Task processing method and device, electronic equipment and computer readable medium
US20220197633A1 (en) Software defined build infrastructure for hybrid, virtualized and native build environments
CN111142972B (en) Method, apparatus, system, and medium for extending functions of application program
CN113672243A (en) Linux system installation method, device, system, computer equipment and storage medium
TWI799035B (en) System updating method and electronic apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination