Disclosure of Invention
According to an embodiment of the present disclosure, an upgrade scheme for deploying a tool client is provided.
In a first aspect of the disclosure, an upgrade method for deploying a tool client is provided. The method comprises the following steps:
the deployment tool server sends an update package which is packaged into system software to the deployment tool client; the updating package comprises a multi-version starter and a latest version deployment tool client;
the deployment tool client receives and installs the update package;
after the update package is installed, detecting an installation path of the deployment tool client, and releasing the multi-version starter and the latest version deployment tool client under the installation path;
and the multi-version starter starts the latest version deployment tool client to finish the upgrade of the deployment tool client.
Further, the multi-version launcher starting the latest version deployment tool client includes:
and after the multi-version starter is started, detecting the version number of the deployment tool client under the current installation path, and starting the latest version deployment tool client.
Further, still include:
if the multi-version starter fails to start the latest version deployment tool client, starting an old version deployment tool client; the old version deployment tool client comprises a highest version deployment tool client which can be normally started before updating;
the old version deployment tool client sends upgrading failure information to the deployment tool server; the upgrade failure information includes a version number of the old version deployment tool client.
Further, still include:
if the update package is failed to be installed, the deployment tool client sends installation failure information to the deployment tool server; the installation failure information includes a version number of the deployment tool client.
Further, the sending, by the deployment tool client, the installation or upgrade failure information to the deployment tool server includes:
the maintenance personnel acquire the installation or upgrade failure information through the deployment tool server;
and manually installing the latest version deployment tool client according to the installation or upgrade failure information.
Further, the sending, by the deployment tool server, the update package packaged into the system software to the deployment tool client further includes:
and the deployment tool server sends a software upgrading command to the deployment tool client, wherein the upgrading command comprises an updating package packaged into system software.
In a second aspect of the disclosure, an electronic device is provided. The electronic device includes: a memory having a computer program stored thereon and a processor implementing the method as described above when executing the program.
In a third aspect of the present disclosure, a computer readable storage medium is provided, having stored thereon a computer program, which when executed by a processor, implements a method as in accordance with the first aspect of the present disclosure.
According to the upgrading method of the software deployment tool client, the deployment tool server sends the update package which is packaged into the system software to the deployment tool client; the updating package comprises a multi-version starter and a latest version deployment tool client; the deployment tool client receives and installs the update package; after the update package is installed, detecting an installation path of the deployment tool client, and releasing the multi-version starter and the latest version deployment tool client under the installation path; the multi-version starter starts the latest version deployment tool client to finish the upgrade of the deployment tool client, so that the problem that the upgrade time is too long due to the fact that maintenance personnel use the deployment tool to deploy and abnormity occurs is solved, the time consumption is reduced, and meanwhile the problem that versions are different due to manual operation is avoided.
It should be understood that the statements herein reciting aspects are not intended to limit the critical or essential features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Detailed Description
To make the objects, technical solutions and advantages of the embodiments of the present disclosure more clear, the technical solutions of the embodiments of the present disclosure will be described clearly and completely with reference to the drawings in the embodiments of the present disclosure, and it is obvious that the described embodiments are some, but not all embodiments of the present disclosure. All other embodiments, which can be derived by a person skilled in the art from the embodiments disclosed herein without making any creative effort, shall fall within the protection scope of the present disclosure.
In addition, the term "and/or" herein is only one kind of association relationship describing an associated object, and means that there may be three kinds of relationships, for example, a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
FIG. 1 illustrates a schematic diagram of an exemplary operating environment 100 in which embodiments of the present disclosure can be implemented. A deployment tool client 101, a network 102, and a deployment tool server 103 are included in the runtime environment 100.
It should be understood that the number of deployment tool clients 101, networks 102, and deployment tool servers 103 in FIG. 1 are merely illustrative. There may be any number of deployment tool clients 101, networks 102, and deployment tool servers 103, as desired for an implementation. The deployment tool client 101 corresponds to each station on the subway line.
The deployment tool server 103 is used for performing uniform version management on the ATS software of each station on the whole line by issuing an upgrade instruction to the deployment tool client 101 of each station, so that the efficiency of the ATS software upgrade can be improved, and the problem of inconsistent software versions or inconsistent data versions caused by manual upgrade is avoided.
The deployment tool client 101 is used for upgrading the ATS software according to the upgrading instruction of the deployment tool server 103.
FIG. 2 illustrates a flow chart of a method 200 for upgrading a deployment tool client, according to an embodiment of the disclosure. As shown in fig. 2, the method 200 includes:
s210, the deployment tool server 101 sends the update package packaged into the system software to the deployment tool client 103.
In this embodiment, the deployment tool server 103 and the deployment tool client 101 may be connected in a wired or wireless manner.
Further, the deployment tool server 103 may obtain an update package sent by an electronic device connected to the deployment tool server in communication therewith, or may obtain an update package stored locally in advance.
Wherein, the update package comprises a multi-version launcher and a latest version deployment tool client. The multi-version starter can start the existing deployment tool clients of all versions and the deployment tool client of the latest version.
Optionally, most existing deployment tools (deployment tool clients) have over-old versions and single functions, and only support traditional system software. Therefore, when the deployment tool server 103 sends an update package to the deployment tool client 101, the update package needs to be packaged into system software.
Optionally, the system software includes system software such as an ATS.
Further, the update package may be packaged into system software through various types of packaging software.
Optionally, the deployment tool server 103 sends a software upgrade command to the deployment tool client 101, the upgrade command including an update package packaged into system software.
Alternatively, typically one deployment tool server 103 corresponds to a plurality of deployment tool clients 101.
S220, the deployment tool client 101 receives and installs the update package.
Optionally, the deployment tool client 101 receives the update package and performs installation, and if the installation is successful, performs the subsequent step (S230); if the installation fails, the deployment tool client 101 sends installation failure information to the deployment tool server 103. The installation failure information includes the version number of the deployment tool client 101 and information of the installed update package.
Because the update package is packaged into the form of system software, the deployment tool client 101 may install the update package in the form of system software installation, and the update package may be started only after installation.
Alternatively, the deployment tool server 103 may display the upgrade result of each deployment tool client 101, so as to locate the abnormal deployment tool client terminal (update package installation failure, deployment tool client update failure, etc.).
Furthermore, the maintainer may locate the deployment tool client 101 that fails to install the update package through the deployment tool server 103, and obtain the installation failure information sent by the deployment tool client 101 that fails to install the update package, so as to manually update the deployment tool client that fails to install to the deployment tool client of the latest version.
Optionally, the maintenance personnel may modify the update package according to the version number of the deployment tool client in the installation failure information, so as to solve the problem that the deployment tool client 101 cannot normally install the update package.
And S230, after the update package is installed, detecting an installation path of the deployment tool client, and releasing the multi-version starter and the latest version deployment tool client under the installation path.
Optionally, after the installation of the update package is completed, the update package is started, or the update package is started by itself, and the update package detects an installation path of the deployment tool client 101, and then releases (installs) the multi-version initiator and the latest version deployment tool client in the path.
Optionally, the update package releases (installs) the multi-version launcher and the latest version deployment tool client according to a preset path.
S240, the multi-version starter starts the latest version deployment tool client to finish the upgrade of the deployment tool client.
Optionally, after the multi-version initiator performs self-starting, detecting version numbers of all the deployment tool clients in the current installation path, ending the process of the deployment tool client 101 (the currently running deployment tool client), then starting the latest version client, and if the starting is successful, finishing the upgrading of the deployment tool client 101;
if the starting fails, starting an old version deployment tool client; the old version deployment tool client comprises a highest version deployment tool client which can be normally started before updating; the old version deployment tool client sends upgrade failure information to a deployment tool server 103; the upgrade failure information includes a version number of the old version deployment tool client. Optionally, the clients of all the deployment tools are sequentially started from top to bottom according to the version numbers of the clients of all the deployment tools in the current installation path until the starting is successful.
Optionally, if the multi-version initiator detects that the version number of the existing deployment tool client in the current installation path is consistent with the version number of the latest version deployment tool client, the process of the deployment tool client 101 is ended, the latest version deployment tool client is initiated, and the latest version deployment tool client sends repeated upgrade information to the deployment tool server 103; the repeated upgrading information comprises the version number of the latest version deployment tool;
if the latest version of the deployment tool client fails to be started, starting a deployment tool client with the version number consistent with that of the latest version of the deployment tool client, and sending repeated upgrading information to a deployment tool server 103 by the deployment tool client with the version number consistent with that of the latest version of the deployment tool client;
if the deployment tool client with the version number consistent with that of the latest version deployment tool client fails to be started, the above-mentioned failed starting process is referred to, and details are not repeated here.
Furthermore, the maintenance personnel can locate the failed-to-upgrade deployment tool client 101 and/or the repeatedly-upgraded deployment tool client 101 through the deployment tool server 103, and acquire the failed-to-upgrade information sent by the failed-to-upgrade deployment tool client 101 and/or the repeatedly-upgraded deployment tool client 101;
if the acquired information is upgrade failure information sent by the deployment tool client 101 with the upgrade failure, manually updating the deployment tool client with the upgrade failure to the deployment tool client with the latest version;
if the acquired information is the repeated upgrading information sent by the repeatedly upgraded deployment tool client 101, the update package is detected to determine whether the deployment tool client in the update package is the latest version deployment tool client.
Optionally, the maintenance personnel may modify the update package (the latest version client) according to the version number of the deployment tool client in the upgrade failure information, so as to solve the problem that the deployment tool client 101 cannot be upgraded normally.
Optionally, when the latest version deployment tool client (a client supporting self-upgrade) needs to be updated subsequently, the latest version deployment tool client may be updated according to the normal deployment software. That is, the update package only needs to be used once when the old version deployment tool (deployment tool client 101) is updated to the new version.
Optionally, the updated deployment tool client may push upgrades of more functions in the subsequent process, such as system performance monitoring, log management, execution of custom scripts, and the like. Scripts with special requirements can be used in different lines, so that upgrading is more flexible.
According to the embodiment of the disclosure, the following technical effects are achieved:
by the deployment tool upgrading method, an old version deployment tool client can be upgraded into a new version deployment tool client with a self-upgrading function, when the deployment tool client 101 needs to be upgraded, the whole deployment tool client (self-upgrading) 101 can be updated only by operating the deployment tool server 103, the usability and the usability of the deployment tool (deployment tool client) are improved, the problems of time delay and the like caused by manual errors are reduced, and the upgrading efficiency is effectively improved.
It is noted that while for simplicity of explanation, the foregoing method embodiments have been described as a series of acts or combination of acts, it will be appreciated by those skilled in the art that the present disclosure is not limited by the order of acts, as some steps may, in accordance with the present disclosure, occur in other orders and concurrently. Further, those skilled in the art should also appreciate that the embodiments described in the specification are exemplary embodiments and that acts and modules referred to are not necessarily required by the disclosure.
FIG. 3 shows a schematic block diagram of an electronic device 300 that may be used to implement embodiments of the present disclosure. As shown, device 300 includes a Central Processing Unit (CPU)301 that may perform various appropriate actions and processes in accordance with computer program instructions stored in a Read Only Memory (ROM)302 or loaded from a storage unit 308 into a Random Access Memory (RAM) 303. In the RAM403, various programs and data required for the operation of the device 300 can also be stored. The CPU301, ROM302, and RAM 303 are connected to each other via a bus 304. An input/output (I/O) interface 305 is also connected to bus 304.
Various components in device 300 are connected to I/O interface 305, including: an input unit 306 such as a keyboard, a mouse, or the like; an output unit 307 such as various types of displays, speakers, and the like; a storage unit 308 such as a magnetic disk, optical disk, or the like; and a communication unit 309 such as a network card, modem, wireless communication transceiver, etc. The communication unit 309 allows the device 300 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The processing unit 301 performs the various methods and processes described above. For example, in some embodiments, the method may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 308. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 300 via ROM302 and/or communication unit 309. When the computer program is loaded into RAM 303 and executed by CPU301, one or more steps of the method described above may be performed. Alternatively, in other embodiments, the CPU301 may be configured to perform the method by any other suitable means (e.g., by way of firmware).
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a load programmable logic device (CPLD), and the like.
Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, 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), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
Further, while operations are depicted in a particular order, this should be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Under certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims, and the scope of the invention is not limited thereto, as modifications and substitutions may be readily made by those skilled in the art without departing from the spirit and scope of the invention as disclosed herein.