A deployment tool client upgrade method
By using the multi-version initiator and the latest version of the deployment tool client for upgrading, the problem of the inability to synchronously update the server and client in the existing technology is solved, improving the upgrade efficiency and availability, and avoiding the version of the product. Compatibility issues.
Patent Information
- Application Number
- CN202011565553.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-25
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2040-12-25
AI Technical Summary
Existing deployment tools cannot synchronously update server and client during upgrade, resulting in version incompatibility, inefficient and error-prone.
The deployment tool server sends encapsulated update packages to the client, including the multi-version initiator and the latest version of the deployment tool client. After the client receives and installs, the latest version will be started by the multi-version initiator, completes the upgrade, and falls back on failure. Go to the old version to ensure the system is stable.
It realizes synchronous upgrades between the server and the client, reduces the problem of version inconsistency caused by manual operations, improves upgrade efficiency and availability, and reduces upgrade time.
Smart Images

Figure CN112612485B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to the field of data processing, and more specifically, to an upgrade method, apparatus, device, and computer-readable storage medium for a deployment tool client. Background Art
[0002] With the development of subways, subway lines are getting longer and longer, with more and more stations, and the number of equipment in corresponding stations is also increasing. Manually upgrading the software one by one during system upgrades is not only inefficient but also prone to errors. Using deployment tools to uniformly manage the version of the entire line software can improve the efficiency of system upgrades and avoid problems such as inconsistent software versions or inconsistent data versions caused by manual upgrades.
[0003] However, although existing deployment tools can avoid the problem of inconsistent software and data versions during software deployment, when maintenance personnel update the deployment tools themselves, they cannot synchronously upgrade the server and client, which will lead to version incompatibility and inability to deploy. Summary of the invention
[0004] According to an embodiment of the present disclosure, a deployment tool client upgrade solution is provided.
[0005] In a first aspect of the present disclosure, a method for upgrading a deployment tool client is provided. The method comprises:
[0006] The deployment tool server sends an update package that has been packaged into system software to the deployment tool client; the update package includes a multi-version launcher and the latest version of the deployment tool client;
[0007] The deployment tool client receives the update package and installs it;
[0008] After the update package is installed, the installation path of the deployment tool client is detected, and the multi-version launcher and the latest version of the deployment tool client are released under the installation path;
[0009] The multi-version launcher starts the latest version of the deployment tool client to complete the upgrade of the deployment tool client.
[0010] Further, the multi-version launcher launching the latest version of the deployment tool client includes:
[0011] After the multi-version launcher is self-started, it detects the version number of the deployment tool client in the current installation path and starts the latest version of the deployment tool client.
[0012] Furthermore, it also includes:
[0013] If the multi-version launcher fails to launch the latest version of the deployment tool client, then launching the old version of the deployment tool client; the old version of the deployment tool client includes the highest version of the deployment tool client that can be launched normally before the update;
[0014] The old version deployment tool client sends upgrade failure information to the deployment tool server; the upgrade failure information includes the version number of the old version deployment tool client.
[0015] Furthermore, it also includes:
[0016] If the installation of the update package fails, the deployment tool client sends installation failure information to the deployment tool server; the installation failure information includes the version number of the deployment tool client.
[0017] Furthermore, after the deployment tool client sends the installation or upgrade failure information to the deployment tool server, the following steps are performed:
[0018] The maintenance personnel obtains the installation or upgrade failure information through the deployment tool server;
[0019] According to the installation or upgrade failure information, manually install the latest version of the deployment tool client.
[0020] Furthermore, the deployment tool server sending the update package packaged into the system software to the deployment tool client further includes:
[0021] The deployment tool server sends a software upgrade command to the deployment tool client, where the upgrade command includes an update package packaged into system software.
[0022] In a second aspect of the present disclosure, an electronic device is provided, which includes a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the program, the method described above is implemented.
[0023] In a third aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the method according to the first aspect of the present disclosure is implemented.
[0024] The software deployment tool client upgrade method provided in the embodiment of the present application includes sending an update package that has been packaged into system software to the deployment tool client through a deployment tool server; the update package includes a multi-version launcher and the latest version of the deployment tool client; the deployment tool client receives the update package and installs it; after the update package is installed, the installation path of the deployment tool client is detected, and the multi-version launcher and the latest version of the deployment tool client are released under the installation path; the multi-version launcher starts the latest version of the deployment tool client to complete the upgrade of the deployment tool client, which solves the problem that the maintenance personnel use the deployment tool to deploy and the upgrade time is too long due to an exception, reduces time consumption, and avoids the problem of different versions caused by human operation.
[0025] It should be understood that the contents described in the summary of the invention are not intended to limit the key or important 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 easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:
[0027] Figure 1 A schematic diagram showing an exemplary operating environment in which embodiments of the present disclosure can be implemented;
[0028] Figure 2 A flowchart of a method for upgrading a deployment tool client according to an embodiment of the present disclosure is shown;
[0029] Figure 3 A block diagram of an exemplary electronic device capable of implementing embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0030] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.
[0031] In addition, the term "and / or" in this article is only a description of the association relationship between the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0032] Figure 1 A schematic diagram of an exemplary operating environment 100 in which embodiments of the present disclosure can be implemented is shown. The operating environment 100 includes a deployment tool client 101, a network 102, and a deployment tool server 103.
[0033] It should be understood that Figure 1 The number of deployment tool clients 101, networks 102, and deployment tool servers 103 in FIG. 1 is only illustrative. According to implementation requirements, there may be any number of deployment tool clients 101, networks 102, and deployment tool servers 103. The deployment tool clients 101 correspond to each station on the subway line.
[0034] The deployment tool server 103 is used to perform unified version management of the ATS software of all stations on the entire line by issuing upgrade instructions to the deployment tool client 101 of each station, which can improve the efficiency of ATS software upgrades and avoid software version inconsistencies or data version inconsistencies caused by manual upgrades.
[0035] The deployment tool client 101 is used to upgrade the ATS software according to the upgrade instruction of the deployment tool server 103 .
[0036] Figure 2 FIG. 2 is a flowchart of a method 200 for upgrading a deployment tool client according to an embodiment of the present disclosure. Figure 2 As shown, the method 200 includes:
[0037] S210 , the deployment tool server 101 sends the update package packaged into the system software to the deployment tool client 103 .
[0038] In this embodiment, the deployment tool server 103 and the deployment tool client 101 may be connected via wired or wireless means.
[0039] Furthermore, the deployment tool server 103 may obtain an update package sent by an electronic device that is in communication with it, or an update package pre-stored locally.
[0040] The update package includes a multi-version launcher and a latest version of a deployment tool client. The multi-version launcher can launch existing deployment tool clients of various versions and the latest version of the deployment tool client.
[0041] Optionally, most of the existing deployment tools (deployment tool clients) are too old and have 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.
[0042] Optionally, the system software includes system software such as ATS.
[0043] Furthermore, the update package may be packaged into system software through various packaging software.
[0044] Optionally, the deployment tool server 103 sends a software upgrade command to the deployment tool client 101 , where the upgrade command includes an update package packaged into system software.
[0045] Optionally, usually one deployment tool server 103 corresponds to multiple deployment tool clients 101 .
[0046] S220: The deployment tool client 101 receives the update package and installs it.
[0047] Optionally, the deployment tool client 101 receives the update package and installs it. If the installation is successful, the subsequent step (S230) is performed; 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 the information of the installed update package.
[0048] Since the update package is packaged in the form of system software, the deployment tool client 101 can install it in the form of installing system software. After the installation, the update package can be started.
[0049] Optionally, the deployment tool server 103 may display the upgrade results of each deployment tool client 101 to facilitate locating abnormal deployment tool client terminals (failed to install the update package, failed to update the deployment tool client, etc.).
[0050] Furthermore, the maintenance personnel can locate the deployment tool client 101 that failed 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 failed to install the update package, so as to manually update the deployment tool client that failed to install to the latest version of the deployment tool client.
[0051] Optionally, the maintenance personnel may modify the update package according to the version number of the deployment tool client in the installation failure information to solve the problem that the deployment tool client 101 cannot normally install the update package.
[0052] S230, after the update package is installed, detecting the installation path of the deployment tool client, and releasing the multi-version launcher and the latest version of the deployment tool client under the installation path.
[0053] Optionally, after the update package is installed, the update package is started, or the update package is started automatically, the update package detects the installation path of the deployment tool client 101, and then releases (installs) the multi-version launcher and the latest version of the deployment tool client under the path.
[0054] Optionally, the update package releases (installs) the multi-version launcher and the latest version of the deployment tool client according to a preset path.
[0055] S240: The multi-version launcher starts the latest version of the deployment tool client to complete the upgrade of the deployment tool client.
[0056] Optionally, after the multi-version launcher is self-started, it detects the version numbers of all deployment tool clients in the current installation path, ends the process of the deployment tool client 101 (the currently running deployment tool client), and then starts the latest version client. If the startup is successful, the upgrade of the deployment tool client 101 is completed;
[0057] If the startup fails, start the old version of the deployment tool client; the old version of the deployment tool client includes the highest version of the deployment tool client that can be started normally before the update; the old version of the deployment tool client sends an upgrade failure message to the deployment tool server 103; the upgrade failure message includes the version number of the old version of the deployment tool client. Optionally, start in order from the highest to the lowest version of the deployment tool client in the current installation path until the startup succeeds.
[0058] Optionally, if the multi-version launcher 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 of the deployment tool client, the process of the deployment tool client 101 is terminated, and the latest version of the deployment tool client is started, and the latest version of the deployment tool client sends duplicate upgrade information to the deployment tool server 103; the duplicate upgrade information includes the version number of the latest version of the deployment tool;
[0059] If starting the latest version of the deployment tool client fails, starting a deployment tool client with the same version number as the latest version of the deployment tool client, and the deployment tool client with the same version number as the latest version of the deployment tool client sends a repeat upgrade message to the deployment tool server 103;
[0060] If the deployment tool client with the same version number as the latest deployment tool client fails to be started, refer to the above startup failure process, which will not be repeated here.
[0061] Furthermore, the maintenance personnel can locate the deployment tool client 101 that failed to upgrade and / or the deployment tool client 101 that was repeatedly upgraded through the deployment tool server 103, and obtain the upgrade failure information sent by the deployment tool client 101 that failed to upgrade and / or the repeated upgrade information sent by the deployment tool client 101 that was repeatedly upgraded;
[0062] If the acquired information is upgrade failure information sent by the deployment tool client 101 that failed to upgrade, manually update the deployment tool client that failed to upgrade to the latest version of the deployment tool client;
[0063] If the acquired information is repeated upgrade information sent by the repeatedly upgraded deployment tool client 101, the update package is detected to confirm whether the deployment tool client in the update package is the latest version of the deployment tool client.
[0064] Optionally, the maintenance personnel may modify the update package (latest version of the client) according to the version number of the deployment tool client in the upgrade failure information to solve the problem that the deployment tool client 101 cannot be upgraded normally.
[0065] Optionally, the latest version of the deployment tool client (client supporting self-upgrade) can be updated according to normal deployment software when it needs to be updated later. That is, the update package only needs to be used once when the old version of the deployment tool (deployment tool client 101) is updated to the new version.
[0066] Optionally, the updated deployment tool client can push more functional upgrades in the future, such as system performance monitoring, log management, and execution of custom scripts, etc. Scripts with special requirements can be used in different lines to make the upgrade more flexible.
[0067] According to the embodiments of the present disclosure, the following technical effects are achieved:
[0068] Through the deployment tool upgrade method disclosed in the present invention, the old version of the deployment tool client can be upgraded to a new version of the deployment tool client with a self-upgrade function. When the deployment tool client 101 needs to be upgraded, only the operation is performed on the deployment tool server 103 to update the entire line of deployment tool clients (self-upgrade) 101, thereby improving the availability and ease of use of the deployment tool (deployment tool client), reducing upgrade time delays caused by human errors, and effectively improving upgrade efficiency.
[0069] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should be aware that the present disclosure is not limited by the order of the actions described, because according to the present disclosure, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by the present disclosure.
[0070] Figure 3 A schematic block diagram of an electronic device 300 that can be used to implement an embodiment of the present disclosure is shown. As shown, the device 300 includes a central processing unit (CPU) 301, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 302 or computer program instructions loaded from a storage unit 308 into a random access memory (RAM) 303. In RAM 403, various programs and data required for the operation of the device 300 can also be stored. CPU 301, ROM 302, and RAM 303 are connected to each other via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.
[0071] A number of components in the device 300 are connected to the I / O interface 305, including: an input unit 306, such as a keyboard, a mouse, etc.; an output unit 307, such as various types of displays, speakers, etc.; a storage unit 308, such as a disk, an optical disk, etc.; and a communication unit 309, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 309 allows the device 300 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0072] The processing unit 301 performs the various methods and processes described above. For example, in some embodiments, the method can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 308. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 300 via the ROM 302 and / or the communication unit 309. When the computer program is loaded into the RAM 303 and executed by the CPU 301, one or more steps of the method described above can be performed. Alternatively, in other embodiments, the CPU 301 can be configured to perform the method in any other suitable manner (e.g., by means of firmware).
[0073] The functions described above herein 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: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip systems (SOCs), load programmable logic devices (CPLDs), and the like.
[0074] The program code for implementing the method 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, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0075] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A 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, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0076] In addition, although each operation is described in a specific order, this should be understood as requiring such operation to be performed in the specific order shown or in a sequential order, or requiring that all illustrated operations should be performed to obtain desired results. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single implementation in combination. On the contrary, the various features described in the context of a single implementation can also be implemented in multiple implementations individually or in any suitable sub-combination mode.
[0077] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.
[0078] Although the subject matter has been described in language specific to structural features and / or method logic actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims, and the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be covered within the protection scope of the present invention.
Claims
1. A method for upgrading a deployment tool client, characterized in that: include: The deployment tool server sends an update package that has been packaged into system software to the deployment tool client; the update package includes a multi-version launcher and the latest version of the deployment tool client; The deployment tool client receives the update package and installs it; After the update package is installed, the update package is started, or the update package is started automatically, the update package detects the installation path of the deployment tool client, and then releases the multi-version launcher and the latest version of the deployment tool client under the installation path; After the multi-version launcher is self-started, it detects the version numbers of all deployment tool clients in the current installation path, ends the process of the currently running deployment tool client, and then starts the latest version of the client. If the startup is successful, the upgrade of the deployment tool client is completed; If the multi-version launcher fails to launch the latest version of the deployment tool client, then launching the old version of the deployment tool client; the old version of the deployment tool client includes the highest version of the deployment tool client that can be launched normally before the update; The old version deployment tool client sends upgrade failure information to the deployment tool server; the upgrade failure information includes the version number of the old version deployment tool client.
2. The method according to claim 1, characterized in that Also includes: If the update package installation fails, the deployment tool client sends installation failure information to the deployment tool server; The installation failure information includes the version number of the deployment tool client.
3. The method according to claim 2, characterized in that The deployment tool client sends the installation or upgrade failure information to the deployment tool server, including: The maintenance personnel obtains the installation or upgrade failure information through the deployment tool server; According to the installation or upgrade failure information, manually install the latest version of the deployment tool client.
4. The method according to claim 1, characterized in that: The deployment tool server sending the update package packaged into the system software to the deployment tool client also includes: The deployment tool server sends a software upgrade command to the deployment tool client, where the upgrade command includes an update package packaged into system software.
5. An electronic device comprising a memory and a processor, wherein a computer program is stored in the memory, wherein: When the processor executes the program, the method according to any one of claims 1 to 4 is implemented.
6. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Dynamic association upgrading method and system of terminal application program
CN105549998A
A method and system for automatically upgrading a train automatic monitoring ATS subsystem software
CN109445809A