Disclosure of Invention
In view of this, embodiments of the present invention provide a method and an apparatus for upgrading a plug-in, which can improve usability of an application program when upgrading the plug-in, so as to solve a problem of low usability of the application program when upgrading a plug-in the application program in an existing method for upgrading the plug-in.
In a first aspect, an embodiment of the present invention provides a method for upgrading a plug-in, including:
the method comprises the steps that a cluster management client determines that plug-ins in an application program need to be upgraded, and acquires corresponding plug-in upgrade packages through message pipelines corresponding to the pre-constructed plug-ins, wherein each plug-in the application program corresponds to one message pipeline;
the cluster management client closes the message pipeline corresponding to the plug-in, and runs the plug-in upgrading package to upgrade the plug-in;
and the cluster management client starts the upgraded plug-in and constructs a message pipeline corresponding to the upgraded plug-in.
With reference to the first aspect, in a first implementation manner of the first aspect, the determining that a plug-in an application needs to be upgraded, and acquiring a corresponding plug-in upgrade package through a pre-constructed message pipe corresponding to the plug-in includes:
sending a plug-in upgrading request to a cluster management server by using a message pipeline corresponding to a pre-constructed plug-in, wherein the plug-in upgrading request comprises an application program identifier to which the plug-in belongs and a version identifier of the plug-in;
and receiving a plug-in upgrade package pushed by the cluster management server by using the message pipeline corresponding to the pre-constructed plug-in, wherein the plug-in upgrade package is obtained by comparing the information contained in the plug-in upgrade request and a stored plug-in upgrade library by the cluster management server.
With reference to the first implementation manner of the first aspect, in a second implementation manner of the first aspect, the comparing, by the cluster management server, information included in the plug-in upgrade request and a stored plug-in upgrade library by the cluster management server includes:
inquiring the stored plug-in upgrade library to acquire an application program identifier which is the same as the application program identifier to which the plug-in belongs;
extracting the latest version identification corresponding to the version identification of the plug-in under the same application program identification;
and comparing whether the latest version identification is higher than the version identification of the plug-in.
With reference to the first implementation manner of the first aspect, in a third implementation manner of the first aspect, the receiving a plug-in upgrade package pushed by the cluster management server includes:
and if the cluster management server is abnormal in the process of pushing the plug-in upgrading package, switching to a backup cluster management server to continue receiving the rest plug-in upgrading packages.
With reference to any one of the first to third implementation manners of the first aspect, in a fourth implementation manner of the first aspect, before the determining that the plug-in the application needs to be upgraded, the method further includes:
and registering with the cluster management server.
With reference to the first aspect, in a fifth implementation manner of the first aspect, the closing a message pipe corresponding to the plug-in, and running an upgrade package of the plug-in to upgrade the plug-in includes:
if the number of the plug-in upgrade packages is multiple, one plug-in upgrade package is sequentially extracted, the message pipeline corresponding to the plug-in to which the extracted plug-in upgrade package belongs is closed, and the extracted plug-in upgrade package is operated.
In a second aspect, an embodiment of the present invention provides an apparatus for upgrading a plug-in, including: a plug-in upgrade package acquisition module, a plug-in upgrade package operation module, and a message pipe construction module, wherein,
the plug-in upgrading package obtaining module is used for determining that plug-ins in the application program need to be upgraded and obtaining a corresponding plug-in upgrading package through a message pipeline corresponding to the pre-constructed plug-ins, wherein each plug-in the application program corresponds to one message pipeline;
the plug-in upgrade package operation module is used for closing the message pipeline corresponding to the plug-in and operating the plug-in upgrade package to upgrade the plug-in;
and the message pipeline building module is used for starting the upgraded plug-in and building a message pipeline corresponding to the upgraded plug-in.
With reference to the second aspect, in a first implementation manner of the second aspect, the plug-in upgrade package obtaining module includes: an upgrade request unit and a plug-in upgrade package acquisition unit, wherein,
the upgrading request unit is used for sending a plug-in upgrading request to the cluster management server by using a message pipeline corresponding to a pre-constructed plug-in, wherein the plug-in upgrading request comprises an application program identifier to which the plug-in belongs and a version identifier of the plug-in;
and the plug-in upgrade package acquisition unit is used for receiving the plug-in upgrade package pushed by the cluster management server by using the pre-constructed message pipeline corresponding to the plug-in, wherein the plug-in upgrade package is obtained by comparing the information contained in the plug-in upgrade request and a stored plug-in upgrade library by the cluster management server.
With reference to the first implementation manner of the second aspect, in a second implementation manner of the second aspect, the comparing, by the cluster management server, information included in the plug-in upgrade request and a stored plug-in upgrade library by the cluster management server includes:
inquiring the stored plug-in upgrade library to acquire an application program identifier which is the same as the application program identifier to which the plug-in belongs;
extracting the latest version identification corresponding to the version identification of the plug-in under the same application program identification;
and comparing whether the latest version identification is higher than the version identification of the plug-in.
With reference to the first implementation manner of the second aspect, in a third implementation manner of the second aspect, the receiving a plug-in upgrade package pushed by the cluster management server includes:
and if the cluster management server is abnormal in the process of pushing the plug-in upgrading package, switching to a backup cluster management server to continue receiving the rest plug-in upgrading packages.
With reference to any one of the first to third embodiments of the second aspect, in a fourth embodiment of the second aspect, the apparatus further comprises:
and the registration module is used for registering to the cluster management server.
With reference to the second aspect, in a fifth implementation manner of the second aspect, the plug-in upgrade package operation module includes: a judging unit, an extracting unit and an operating unit, wherein,
the judging unit is used for judging whether the plug-in upgrading packages are multiple, if so, the extracting unit is informed, and if not, the running unit is informed;
the extraction unit is used for sequentially extracting one plug-in upgrading package from the plurality of plug-in upgrading packages and outputting the plug-in upgrading package to the operation unit;
and the operation unit is used for closing the message pipeline corresponding to the plug-in to which the extracted plug-in upgrading package belongs and operating the received plug-in upgrading package.
The method and the device for upgrading the plug-ins provided by the embodiment of the invention determine that the plug-ins in the application program need to be upgraded through the cluster management client, and acquire the corresponding plug-in upgrade packages through the pre-established message pipelines corresponding to the plug-ins; the cluster management client closes the message pipeline corresponding to the plug-in, and runs the plug-in upgrading package to upgrade the plug-in; the cluster management client starts the upgraded plug-in, constructs a message pipeline corresponding to the upgraded plug-in, and can improve the usability of the application program during plug-in upgrading so as to solve the problem of low usability of the application program caused by upgrading one plug-in the application program in the existing plug-in upgrading method.
Detailed Description
Embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
It should be understood that the described embodiments are only some embodiments of the invention, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention. The technical scheme of the embodiment of the invention is applied to a cluster system, and the cluster system comprises a cluster management server and a cluster management client.
Fig. 1 is a schematic flowchart of a method for upgrading a plug-in according to an embodiment of the present invention, as shown in fig. 1, the method of this embodiment may include:
step 101, a cluster management client determines that a plug-in an application program needs to be upgraded, and acquires a corresponding plug-in upgrade package through a message pipeline corresponding to the pre-constructed plug-in, wherein each plug-in the application program corresponds to one message pipeline;
in this embodiment, for each plug-in the same application, when each plug-in runs, a message pipe is constructed for each running plug-in. And each plug-in provides the services of the plug-in to the outside through the corresponding message pipeline. Therefore, corresponding services are provided to the outside through the unified message pipeline by each plug-in the same application program, so that when one plug-in is upgraded, the unified message pipeline needs to be closed, and the service provided to the outside by other plug-ins in the application program needs to be interrupted.
In this embodiment, as an optional embodiment, determining that a plug-in an application needs to be upgraded, and acquiring a corresponding plug-in upgrade package through a pre-established message pipe corresponding to the plug-in includes:
a11, sending a plug-in upgrading request to a cluster management server by using a message pipeline corresponding to a pre-constructed plug-in, wherein the plug-in upgrading request comprises an application program identifier to which the plug-in belongs and a version identifier of the plug-in;
in this embodiment, as an optional embodiment, each plug-in upgrade request corresponds to upgrade of a plug-in, and the plug-in upgrade request may further include an identifier of a cluster management client that sends the plug-in upgrade request, where the identifier of the application is an identifier of an application installed in the cluster management client.
In this embodiment, as an optional embodiment, the same plug-in upgrade request may also include application identifiers and version identifiers of plug-ins under each application identifier, and the plug-in upgrade request is transmitted by using a message pipe corresponding to any pre-constructed plug-in. For example, the message pipe corresponding to the idle plug-in or the plug-in with a lighter load is used to transmit the plug-in upgrade request, and in the subsequent application, the message pipe may also be used to transmit the upgrade package of the plug-in, which is not limited in this embodiment.
In this embodiment, as an optional embodiment, the version identifier includes but is not limited to: the version number, the version name, the information digest algorithm MD5 value of the version, the secure hash algorithm SHA1 value of the version, or any combination thereof.
And A12, receiving a plug-in upgrade package pushed by the cluster management server by using the message pipeline corresponding to the pre-constructed plug-in, wherein the plug-in upgrade package is obtained by comparing information contained in the plug-in upgrade request and a stored plug-in upgrade library by the cluster management server.
In this embodiment, as an optional embodiment, the receiving the plug-in upgrade package pushed by the cluster management server includes:
and if the cluster management server is abnormal in the process of pushing the plug-in upgrade package, switching to a backup cluster management server to enable the cluster management client to continuously receive the rest plug-in upgrade packages.
In an embodiment of the present invention, in order to improve the reliability of the transmission of the plug-in upgrade package, a main cluster management server and one or more backup cluster management servers are provided, and a cluster system is composed of the cluster storage server, the main cluster management server and the backup cluster management servers, so as to ensure that under an abnormal condition of one cluster management server, other cluster management servers can take over the abnormal cluster management server in real time, thereby ensuring the normal operation of externally provided services (services). As an optional embodiment, the cluster management server includes one or more functional units, for example, a plug-in management server, where the plug-in management server is used as a process in the cluster management server; the cluster storage server includes one or more functional units, for example, a cluster management client, which is a process in the cluster storage server.
In this embodiment, as an optional embodiment, the comparing, by the cluster management server, the information included in the plug-in upgrade request and the stored plug-in upgrade library includes:
inquiring the stored plug-in upgrade library to acquire an application program identifier which is the same as the application program identifier to which the plug-in belongs;
extracting the latest version identification corresponding to the version identification of the plug-in under the same application program identification;
and comparing whether the latest version identification is higher than the version identification of the plug-in.
In this embodiment, if the latest version identifier is higher than the version identifier of the plug-in, which indicates that the plug-in needs to be upgraded, the plug-in upgrade package corresponding to the latest version identifier is pushed; and if the latest version identification is not higher than the version identification of the plug-in, indicating that the plug-in does not need to be upgraded, not processing.
In this embodiment, as another optional embodiment, before receiving the plug-in upgrade package pushed by the cluster management server, the method may further include:
and receiving a comparison result returned by the cluster management server, selecting plug-in information needing to be upgraded according to the comparison result, and reporting the plug-in information to the cluster management server.
In this embodiment, as another optional embodiment, determining that a plug-in an application needs to be upgraded, and acquiring a corresponding plug-in upgrade package through a message pipe corresponding to the plug-in that is pre-constructed includes:
a21, receiving a plug-in upgrading request pushed by a cluster management server, selecting a plug-in needing to be upgraded, encapsulating an application program identifier to which the plug-in belongs and a version identifier of the plug-in a plug-in upgrading request response, and sending the plug-in upgrading request response to the cluster management server;
in this embodiment, after receiving the pushed plug-in upgrade request, the cluster management client may conditionally select a plug-in that needs to be upgraded.
A22, receiving a plug-in upgrade package pushed by the cluster management server, where the plug-in upgrade package is obtained by the cluster management server comparing information included in the plug-in upgrade request response with a stored plug-in upgrade library.
In this embodiment, as an optional embodiment, before the determining that the plug-in the application needs to be upgraded, the method further includes:
and registering with the cluster management server.
In this embodiment, plug-ins of application programs installed in a plurality of cluster management clients may be uniformly managed by the cluster management server, so that automatic upgrade of a plug-in cluster is facilitated to improve upgrade efficiency.
In this embodiment, after the cluster management client is started and operated, the cluster management client actively registers with the cluster management server, and after the cluster management server adds the cluster management client to the cluster management list, the cluster management client can communicate with the cluster management server in real time through the constructed message pipe. When detecting that the plug-in the cluster management client needs to be updated, the cluster management server actively informs the cluster management client to update the plug-in.
Step 102, the cluster management client closes the message pipeline corresponding to the plug-in, and runs the plug-in upgrade package to upgrade the plug-in;
in this embodiment, as an optional embodiment, the closing of the message pipe corresponding to the plug-in, and the running of the upgrade package of the plug-in to upgrade the plug-in includes:
if the number of the plug-in upgrade packages is multiple, one plug-in upgrade package is sequentially extracted, the message pipeline corresponding to the plug-in to which the extracted plug-in upgrade package belongs is closed, and the extracted plug-in upgrade package is operated.
In this embodiment, plug-in update and upgrade are performed sequentially, update and upgrade are performed only on one plug-in an application program in a cluster for one time, and before or at the same time as the update and upgrade of the plug-in, a message pipe corresponding to the plug-in is closed, so that the plug-in cannot provide services. Therefore, the message pipelines corresponding to other plug-ins in the application program do not need to be closed, so that the other plug-ins can continue to provide services, and the services of the other plug-ins cannot be influenced by upgrading of one plug-in.
In this embodiment, a manner of upgrading one plug-in at a time is adopted, and after the update and upgrade of the plug-in are completed, the update and upgrade are performed on other plug-ins in the application program or a plug-in another application program, so that the influence of the application program on providing services to the outside can be reduced as much as possible.
In this embodiment, as another optional embodiment, the closing of the message pipe corresponding to the plug-in, and the running of the upgrade package of the plug-in to upgrade the plug-in includes:
and if the number of the plug-in upgrading packages is multiple, closing the message pipelines corresponding to the plug-ins to which the plug-in upgrading packages belong respectively, and operating the plug-in upgrading packages in parallel.
In the embodiment, the plug-in is upgraded in a parallel mode, so that the effect on the service provided by the application program to the outside can be realized only in a short time.
103, the cluster management client starts the upgraded plug-in, and constructs a message pipeline corresponding to the upgraded plug-in.
In this embodiment, as an optional embodiment, starting the upgraded plugin, and constructing a message pipe corresponding to the upgraded plugin includes:
if the number of the plug-in upgrade packages is multiple, after the fact that the extracted plug-in upgrade packages are operated is monitored, the upgraded plug-in is started, a message pipeline corresponding to the upgraded plug-in is constructed, and then the step of sequentially extracting one plug-in upgrade package is executed.
In this embodiment, for plug-in upgrade, after a plug-in is upgraded, a message pipeline corresponding to the upgraded plug-in can be built in time, so that services can be provided to the outside in time. Of course, in practical application, after all the plug-ins are upgraded, the message pipelines corresponding to the upgraded plug-ins may be sequentially constructed.
In this embodiment, as another optional embodiment, starting the upgraded plugin, and constructing a message pipe corresponding to the upgraded plugin includes:
if the number of the plug-in upgrading packages is multiple, after all the plug-in upgrading packages are monitored to be operated, the upgraded plug-ins are sequentially started, and message pipelines corresponding to the upgraded plug-ins are constructed.
In the method for upgrading the plug-ins, the plug-ins in the application program need to be upgraded through the cluster management client, and the corresponding plug-in upgrade packages are obtained through the pre-established message pipelines corresponding to the plug-ins; the cluster management client closes the message pipeline corresponding to the plug-in, and runs the plug-in upgrading package to upgrade the plug-in; and the cluster management client starts the upgraded plug-in and constructs a message pipeline corresponding to the upgraded plug-in. Therefore, when the plug-in is upgraded, the cluster management client downloads the latest plug-in upgrade package from the cluster management server, informs the corresponding application program in the cluster management client of upgrading the plug-in after the download is completed, the application program stops the service corresponding to the plug-in, informs the cluster management client of upgrading the plug-in after the preparation is ready, and informs the application program of starting the corresponding service after the upgrading is completed. When a plurality of plug-ins need to be upgraded, the plug-ins in the application program are sequentially updated and upgraded, and other application programs or other plug-ins in the application program can provide services when the plug-ins are updated and upgraded, so that services provided by the cluster management client cannot be completely interrupted. Especially, compared with large system upgrading, in the embodiment, when the plug-in is upgraded, all upgrading processes are automatically executed in the background, and in the plug-in upgrading process, only the services closely related to the upgraded plug-in are affected, and all the services are not stopped, so that the services of other plug-ins of the application program can be ensured to normally run.
Fig. 2 is a schematic structural diagram of a device for upgrading a plug-in according to a second embodiment of the present invention. As shown in fig. 2, the apparatus of the present embodiment may include: a plug-in upgradepackage acquisition module 21, a plug-in upgradepackage execution module 22, and a messagepipe construction module 23, wherein,
the plug-in upgradepackage obtaining module 21 is configured to determine that a plug-in an application needs to be upgraded, and obtain a corresponding plug-in upgrade package through a message pipeline corresponding to the pre-established plug-in;
in this embodiment, for each plug-in the application, when each plug-in runs, a message pipe is constructed for each running plug-in. Each plug-in provides the services of the plug-in to the outside through the corresponding message pipe.
In this embodiment, as an optional embodiment, the plug-in upgradepackage obtaining module 21 includes: an upgrade request unit, and a plug-in upgrade package acquisition unit (not shown), wherein,
the upgrading request unit is used for sending a plug-in upgrading request to the cluster management server by using a message pipeline corresponding to a pre-constructed plug-in, wherein the plug-in upgrading request comprises an application program identifier to which the plug-in belongs and a version identifier of the plug-in;
in this embodiment, as an optional embodiment, the same plug-in upgrade request may also include application identifiers and version identifiers of plug-ins under each application identifier, and the plug-in upgrade request is transmitted by using a message pipe corresponding to any pre-constructed plug-in. For example, the message pipe corresponding to the idle plug-in or the plug-in with a lighter load is used to transmit the plug-in upgrade request, and in the subsequent application, the message pipe may also be used to transmit the upgrade package of the plug-in, which is not limited in this embodiment.
In this embodiment, as an optional embodiment, the version identifier includes but is not limited to: the version number, the version name, the information digest algorithm MD5 value of the version, the secure hash algorithm SHA1 value of the version, or any combination thereof.
And the plug-in upgrade package acquisition unit is used for receiving the plug-in upgrade package pushed by the cluster management server by using the pre-constructed message pipeline corresponding to the plug-in, wherein the plug-in upgrade package is obtained by comparing the information contained in the plug-in upgrade request and a stored plug-in upgrade library by the cluster management server.
In this embodiment, the plug-in upgrade request may also only include an application identifier indicating that the application program has not installed any plug-in, and when the cluster management server receives the plug-in upgrade request, if the application program corresponding to the application identifier has a plurality of plug-in upgrade packages, the plurality of plug-in upgrade packages may be pushed to the cluster management client for installation.
In this embodiment, as an optional embodiment, before receiving the plug-in upgrade package pushed by the cluster management server, the plug-in upgrade package obtaining unit is further configured to receive a comparison result returned by the cluster management server, select plug-in information to be upgraded according to the comparison result, and report the selected plug-in information to the cluster management server.
In this embodiment, as an optional embodiment, the comparing, by the cluster management server, the information included in the plug-in upgrade request and the stored plug-in upgrade library includes:
inquiring the stored plug-in upgrade library to acquire an application program identifier which is the same as the application program identifier to which the plug-in belongs;
extracting the latest version identification corresponding to the version identification of the plug-in under the same application program identification;
and comparing whether the latest version identification is higher than the version identification of the plug-in.
In this embodiment, as an optional embodiment, the receiving the plug-in upgrade package pushed by the cluster management server includes:
and if the cluster management server is abnormal in the process of pushing the plug-in upgrading package, switching to a backup cluster management server to continue receiving the rest plug-in upgrading packages.
In this embodiment, in order to improve the reliability of the transmission of the plug-in upgrade package, a main cluster management server and one or more backup cluster management servers are provided, and the main cluster management server and the backup cluster management servers form a cluster, so as to ensure that under an abnormal condition of one cluster management server, other cluster management servers can take over the abnormal cluster management server in real time, thereby ensuring the normal operation of externally provided services (services).
In this embodiment, as another optional embodiment, the plug-in upgradepackage obtaining module 21 includes: an upgrade request receiving unit, and a plug-in upgrade package receiving unit (not shown), wherein,
the upgrading request receiving unit is used for receiving a plug-in upgrading request pushed by the cluster management server, selecting a plug-in needing to be upgraded, packaging an application program identifier to which the plug-in belongs and a version identifier of the plug-in a plug-in upgrading request response, and sending the plug-in to the cluster management server, wherein each plug-in the application program corresponds to a message pipeline;
and the plug-in upgrade package receiving unit is used for receiving a plug-in upgrade package pushed by the cluster management server, wherein the plug-in upgrade package is obtained by comparing information contained in the plug-in upgrade request response and a stored plug-in upgrade library by the cluster management server.
The plug-in upgradepackage operation module 22 is configured to close the message pipe corresponding to the plug-in, and operate the plug-in upgrade package to upgrade the plug-in;
in this embodiment, as an optional embodiment, the plug-in upgradepackage operation module 22 includes: a judging unit, an extracting unit, and an operating unit (not shown in the figure), wherein,
the judging unit is used for judging whether the plug-in upgrading packages are multiple, if so, the extracting unit is informed, and if not, the running unit is informed;
the extraction unit is used for sequentially extracting one plug-in upgrading package from the plurality of plug-in upgrading packages and outputting the plug-in upgrading package to the operation unit;
and the operation unit is used for closing the message pipeline corresponding to the plug-in to which the extracted plug-in upgrading package belongs and operating the received plug-in upgrading package.
In this embodiment, as another optional embodiment, the closing of the message pipe corresponding to the plug-in, and the running of the upgrade package of the plug-in to upgrade the plug-in includes:
and if the number of the plug-in upgrading packages is multiple, closing the message pipelines corresponding to the plug-ins to which the plug-in upgrading packages belong respectively, and operating the plug-in upgrading packages in parallel.
And the messagepipeline building module 23 is configured to start the upgraded plugin and build a message pipeline corresponding to the upgraded plugin.
In this embodiment, as an optional embodiment, starting the upgraded plugin, and constructing a message pipe corresponding to the upgraded plugin includes:
if the number of the plug-in upgrade packages is multiple, after the fact that the extracted plug-in upgrade packages are operated is monitored, the upgraded plug-in is started, a message pipeline corresponding to the upgraded plug-in is constructed, and then the step of sequentially extracting one plug-in upgrade package is executed.
In this embodiment, for plug-in upgrade, after a plug-in is upgraded, a message pipeline corresponding to the upgraded plug-in can be built in time, so that services can be provided to the outside in time. Of course, in practical application, after all the plug-ins are upgraded, the message pipelines corresponding to the upgraded plug-ins may be sequentially constructed.
In this embodiment, as another optional embodiment, starting the upgraded plugin, and constructing a message pipe corresponding to the upgraded plugin includes:
if the number of the plug-in upgrading packages is multiple, after all the plug-in upgrading packages are monitored to be operated, the upgraded plug-ins are sequentially started, and message pipelines corresponding to the upgraded plug-ins are constructed.
In this embodiment, as an optional embodiment, the apparatus further includes:
a registration module (not shown in the figure) for registering with the cluster management server.
In this embodiment, plug-ins of application programs installed in a plurality of cluster management clients may be uniformly managed by the cluster management server, so that automatic upgrade of a plug-in cluster is facilitated to improve upgrade efficiency.
The apparatus of this embodiment may be used to implement the technical solution of the method embodiment shown in fig. 1, and the implementation principle and the technical effect are similar, which are not described herein again.
Fig. 3 is a schematic diagram of a logic architecture of a third upgraded plugin according to an embodiment of the present invention, as shown in fig. 3, in this embodiment, after a plugin management client (a process of a cluster storage server) starts to run, the plugin management client actively registers with a plugin management server (master), that is, a process of a cluster management server, for example, a master plugin management server, and after the plugin management server adds the plugin management client to a cluster management list, the plugin management client may communicate with the plugin management server in real time through a constructed message pipeline. When detecting that the plug-in the plug-in management client application program needs to be updated, the plug-in management server actively informs the plug-in management client to update the plug-in, and when the plug-in management server (master) is abnormal, one plug-in management server (slave), namely the backup plug-in management server, takes over the plug-in.
In this embodiment, for example, the cluster includes three plug-in management clients, which are a, B, and c, when the application programs a and B of the plug-in management client a are respectively subjected to plug-in upgrade, the application programs a and B of the plug-in management client a may not be closed, the application programs a and B of the plug-in management client a may continue to provide services in a para-position manner, only the services corresponding to the plug-ins to be upgraded of the application programs a and B may be suspended, after the plug-ins of the application programs a and B are upgraded, the upgrade plug-ins corresponding to the application programs a and B may normally provide services, in the whole process of plug-in upgrade of the application programs a and B, the application program C, D installed in the plug-in management client a, and the plug-ins not upgraded in the application programs a and B may not be affected, and corresponding services are always provided.
In this embodiment, services corresponding to all plug-ins are designed in a modular manner, each service corresponds to a module, the modules are independent from each other, interaction between the services is realized through a message pipeline, and when a certain plug-in is upgraded, only the message pipeline corresponding to the plug-in needs to be closed, so that only services related to the plug-in are affected, services provided by other plug-ins unrelated to the plug-in are not affected, and thus, the effect on the unrelated services when the plug-in is upgraded is avoided. The plug-in upgrading method and the plug-in upgrading device enable plug-in upgrading of a plurality of application programs in the cluster to be carried out without interrupting service provided by the cluster to the outside, the whole cluster is stably upgraded, and meanwhile plug-in upgrading in the cluster can be carried out automatically without manual intervention.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments.
In particular, as for the apparatus embodiment, since it is substantially similar to the method embodiment, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The logic and/or steps represented in the flowcharts or otherwise described herein, e.g., an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
It should be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof.
In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
It will be understood by those skilled in the art that all or part of the steps carried by the method for implementing the above embodiments may be implemented by hardware related to instructions of a program, which may be stored in a computer readable storage medium, and when the program is executed, the program includes one or a combination of the steps of the method embodiments.
For convenience of description, the above devices are described separately in terms of functional division into various units/modules. Of course, the functionality of the units/modules may be implemented in one or more software and/or hardware implementations of the invention.
From the above description of the embodiments, it is clear to those skilled in the art that the present invention can be implemented by software plus necessary general hardware platform. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which may be stored in a storage medium, such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method according to the embodiments or some parts of the embodiments.
The above description is only for the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope of the present invention are included in the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.