Virtual machine application program upgrading system, system deployment method and upgrading method

By upgrading the clustered or non-clustered deployment of the server and the network communication of the virtual machine client program, the problems of virtual machine applications being unable to use the optical drive and wasting resources are solved, realizing cross-platform virtual machine application upgrades and resource conservation.

CN121996265APending Publication Date: 2026-05-08ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZTE CORP
Filing Date
2024-11-05
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

Existing virtual machine application upgrade technologies cannot be upgraded in scenarios where optical drives are unavailable, and multiple virtualization platforms require the deployment of multiple shared storage spaces, resulting in resource waste.

Method used

The upgrade server is deployed in a cluster or non-cluster configuration by the virtualization management platform according to the size of the virtual machines, providing network upgrade services. The virtual machines install client programs to communicate with the upgrade server to perform upgrades.

Benefits of technology

It enables virtual machine application upgrades across virtualization platforms, saving resources, supporting upgrades in scenarios where optical drives are unavailable, and allowing different upgrade strategies to be set for different virtual machine applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121996265A_ABST
    Figure CN121996265A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a virtual machine application program upgrading system, a system deployment method and an upgrading method. The system comprises an upgrading server, a virtualization management platform and a virtual machine, the upgrading server is independently deployed by the virtualization management platform in a cluster deployment or non-cluster deployment manner according to the scale of the virtual machine to be upgraded, and is used for providing an upgrading service for the virtual machine under at least one virtualization management platform; the virtualization management platform is used for managing the upgrade server through network communication; a client program for upgrading is installed in the virtual machine, and the client program and the upgrading server realize upgrading of the application program of the virtual machine through network communication. According to the scheme of the embodiment, the upgrading server can adapt to scenes of different virtual machine scales, virtual machine application program upgrading across virtualization platforms is achieved, more resources are saved, equipment maintenance is facilitated, and a virtual machine application program upgrading solution can be provided under the scene that a virtual machine CD driver cannot be used.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of virtual machine applications, and in particular to a virtual machine application upgrade system, system deployment method, and upgrade method. Background Technology

[0002] Cloud desktop (also known as desktop virtualization) is a cloud computing technology that allows users to access virtual machines on remote servers over a network. Many enterprises now use web servers as a foundation to build management platforms as virtualization management platforms to manage virtual machines. To better manage virtual machines, the management platform needs to deploy applications within the virtual machines. As enterprises grow larger, upgrading and maintaining these virtual machine applications becomes crucial.

[0003] Virtual machine application upgrade technologies generally include two types:

[0004] Method 1: Upload the virtual machine application version package to the virtualization management platform. The platform then mounts the package to the CD-ROM drive of the virtual machine requiring upgrade. Finally, the application upgrade program uses the package mounted on the CD-ROM drive to complete the upgrade. The drawback of this method is that in scenarios where CD-ROM drives are unavailable (e.g., enterprises disable virtual machine CD-ROM drives for security reasons), upgrading the virtual machine application will be impossible.

[0005] Method 2: Deploy a shared storage space independently on the virtualization management platform server. Virtual machines download version packages from the shared storage space to automatically upgrade virtual machine applications. The drawback of this approach is that it can only upgrade applications for virtual machines managed under a single virtualization platform. Multiple virtualization platforms require the deployment of multiple shared storage spaces, resulting in resource waste. Summary of the Invention

[0006] This disclosure provides a virtual machine application upgrade system, a system deployment method, and an upgrade method.

[0007] In a first aspect, embodiments of this disclosure provide an upgrade system for virtual machine applications, which includes: an upgrade server, a virtualization management platform, and a virtual machine;

[0008] The upgrade server is independently deployed by the virtualization management platform using either clustered or non-clustered deployment methods, depending on the size of the virtual machine to be upgraded, and is used to provide upgrade services to at least one virtual machine under the virtualization management platform.

[0009] The virtualization management platform is used to manage the upgrade server via network communication;

[0010] The virtual machine is equipped with a client program for upgrading. The client program communicates with the upgrade server over a network to upgrade the virtual machine application.

[0011] Secondly, this disclosure also provides a method for deploying an upgrade system for a virtual machine application. Based on the virtual machine application upgrade system, the method includes:

[0012] The selected master virtualization management platform will deploy an upgrade server using either clustered or non-clustered deployment methods, depending on the size of the virtual machines to be upgraded.

[0013] After the main virtualization management platform completes the deployment of the upgrade server, it obtains the application version package of the virtual machine uploaded to the main virtualization management platform, and synchronizes the application version package and its version information and download path to the upgrade server.

[0014] The client program for upgrading is pre-installed inside the virtual machine.

[0015] Thirdly, this disclosure also provides a method for upgrading a virtual machine application, based on the virtual machine application upgrade system, the method comprising:

[0016] The client application within the virtual machine obtains the latest version information of the application version package of the virtual machine from the version server in the upgrade server;

[0017] If the latest version information indicates that the latest version of the application package on the version server is higher than the version of the application package in the virtual machine, the latest version is downloaded from the download server in the upgrade server to the virtual machine according to the download path of the latest version on the version server;

[0018] Upon receiving confirmation of the upgrade, the application of the virtual machine is upgraded according to the upgrade policy issued by the virtualization management platform corresponding to the virtual machine and the latest version.

[0019] Thirdly, embodiments of this disclosure also provide an electronic device, including: the aforementioned virtual machine application upgrade system.

[0020] Fourthly, embodiments of this disclosure also provide an electronic device, including:

[0021] One or more processors;

[0022] A memory having stored one or more programs that, when executed by one or more processors, cause the one or more processors to implement the deployment method and / or the upgrade method;

[0023] One or more input / output (I / O) interfaces are connected between the processor and the memory and configured to enable information exchange between the processor and the memory.

[0024] Fifthly, embodiments of this disclosure also provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the deployment method and / or the upgrade method.

[0025] Sixthly, embodiments of this disclosure also provide a computer program product, which includes a computer program that, when executed by a processor, implements the deployment method and / or the upgrade method.

[0026] The virtual machine application upgrade system of this embodiment includes: an upgrade server, a virtualization management platform, and virtual machines. The upgrade server is independently deployed by the virtualization management platform according to the size of the virtual machine to be upgraded, using either clustered or non-clustered deployment. It is used to provide upgrade services to virtual machines under at least one virtualization management platform, thereby enabling the upgrade server to adapt to scenarios with different virtual machine sizes, realizing cross-virtualization platform virtual machine application upgrades, saving resources, and facilitating equipment maintenance. The virtualization management platform is used to manage the upgrade server through network communication. The virtual machine has a client program installed for upgrades. The client program communicates with the upgrade server through the network to realize virtual machine application upgrades, thereby providing a solution for virtual machine application upgrades in scenarios where virtual machine optical drives cannot be used. Attached Figure Description

[0027] In the accompanying drawings of the embodiments disclosed herein:

[0028] Figure 1 A block diagram of a virtual machine application upgrade system provided in this disclosure embodiment;

[0029] Figure 2 This is a schematic diagram of the upgrade server cluster deployment provided in an embodiment of the present disclosure;

[0030] Figure 3 This is a schematic diagram of a non-clustered deployment of an upgrade server provided in an embodiment of this disclosure;

[0031] Figure 4 A flowchart illustrating a method for deploying a virtual machine application upgrade system provided in this embodiment of the disclosure;

[0032] Figure 5 A flowchart illustrating a virtual machine application upgrade method provided in this embodiment of the disclosure;

[0033] Figure 6 A block diagram of an electronic device provided in this disclosure embodiment;

[0034] Figure 7 This is another electronic device block diagram provided in the embodiments of this disclosure. Detailed Implementation

[0035] To enable those skilled in the art to better understand the technical solutions of this disclosure, the communication-sensing data processing method and computer-readable storage medium provided in the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings.

[0036] The present disclosure will be described more fully below with reference to the accompanying drawings; however, the embodiments shown may be embodied in different forms, and the present disclosure should not be construed as limited to the embodiments set forth below. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will enable those skilled in the art to fully understand the scope of the disclosure.

[0037] The accompanying drawings of the embodiments disclosed herein are provided to further illustrate the embodiments of this disclosure and form part of the specification. They are used together with the detailed embodiments to explain this disclosure and do not constitute a limitation thereof. The above and other features and advantages will become more apparent to those skilled in the art from the description of the detailed embodiments with reference to the accompanying drawings.

[0038] This disclosure may be described with reference to plan and / or cross-sectional views using the ideal schematic diagrams of this disclosure. Therefore, the example illustrations may be modified according to manufacturing techniques and / or tolerances.

[0039] Where there is no conflict, the various embodiments of this disclosure and the features thereof in the embodiments may be combined with each other.

[0040] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the disclosure. The term "and / or" as used in this disclosure includes any and all combinations of one or more of the associated enumerated entries. The singular forms "a" and "the" as used in this disclosure are also intended to include the plural forms, unless the context clearly indicates otherwise. The terms "comprising," "made of," etc., as used in this disclosure specify the presence of the stated feature, integral, step, operation, element, and / or component, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof.

[0041] Unless otherwise specified, all terms used in this disclosure (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this disclosure, and will not be interpreted as having an idealized or overly formal meaning, unless expressly so defined in this disclosure.

[0042] Cloud desktop (also known as desktop virtualization) is a cloud computing technology that allows users to access virtual machines on remote servers over a network. Many enterprises now use web servers as a foundation to build management platforms as virtualization management platforms to manage virtual machines. To better manage virtual machines, the management platform needs to deploy applications within the virtual machines. As enterprises grow larger, upgrading and maintaining these virtual machine applications becomes crucial.

[0043] Virtual machine application upgrade technologies generally include two types:

[0044] Method 1: Upload the virtual machine application version package to the virtualization management platform. The platform then mounts the package to the CD-ROM drive of the virtual machine requiring upgrade. Finally, the application upgrade program uses the package mounted on the CD-ROM drive to complete the upgrade. The drawback of this method is that in scenarios where CD-ROM drives are unavailable (e.g., enterprises disable virtual machine CD-ROM drives for security reasons), upgrading the virtual machine application will be impossible.

[0045] Method 2: Deploy a shared storage space independently on the virtualization management platform server. Virtual machines download version packages from the shared storage space to automatically upgrade virtual machine applications. The drawback of this approach is that it can only upgrade applications for virtual machines managed under a single virtualization platform. Multiple virtualization platforms require the deployment of multiple shared storage spaces, resulting in resource waste.

[0046] The virtual machine application upgrade system of this embodiment includes: an upgrade server, a virtualization management platform, and virtual machines. The upgrade server is independently deployed by the virtualization management platform according to the size of the virtual machine to be upgraded, using either clustered or non-clustered deployment. It is used to provide upgrade services to virtual machines under at least one virtualization management platform. This allows the upgrade server to adapt to scenarios with different virtual machine sizes, enabling cross-virtualization platform virtual machine application upgrades, saving resources and facilitating equipment maintenance. The virtualization management platform is used to manage the upgrade server through network communication. The virtual machine has a client program installed for upgrades. The client program communicates with the upgrade server through the network to upgrade the virtual machine application, thus providing a solution for upgrading virtual machine applications in scenarios where a virtual machine optical drive cannot be used.

[0047] The solutions disclosed herein can be applied to any cloud product, including but not limited to cloud desktop products, cloud computer products, and virtual machine products, and are particularly suitable for scenarios involving virtual machine application upgrades in the virtualization management platform of cloud computer products.

[0048] The embodiments of this disclosure will be described in detail below.

[0049] This disclosure provides an upgrade system A for virtual machine applications, such as... Figure 1 As shown, it includes: upgrade server 1, virtualization management platform 2, and virtual machine 3;

[0050] Upgrade server 1 is independently deployed by the virtualization management platform using either clustered or non-clustered deployment methods, depending on the size of the virtual machines to be upgraded, and is used to provide upgrade services to virtual machines under at least one virtualization management platform.

[0051] Virtualization management platform 2 is used to upgrade and manage the upgrade server via network communication;

[0052] Virtual machine 3 has a client program installed for upgrading. The client program communicates with the upgrade server over the network to upgrade the virtual machine application.

[0053] In this embodiment of the disclosure, the upgrade server 1 can be deployed independently, without relying on the optical drive of the virtual machine, and the upgrade of virtual machine applications across virtualization platforms can be achieved through network upgrade.

[0054] In this embodiment of the disclosure, a virtualization management platform 2 can be pre-deployed on a physical or virtual server to manage virtual machines 3 and upgrade server 1.

[0055] In this embodiment of the disclosure, the upgrade server 1 can be deployed by the virtualization management platform 2. The virtualization management platform 2 can provide the following functions: (1) independently deploy the upgrade server; (2) upload application version packages and maintain application version packages and version information; (3) support the configuration of the upgrade server size at any time according to the size of the virtual machine to be upgraded; (4) support the setting of different upgrade strategies according to different virtual machine applications to realize the automatic time-segmented upgrade of different applications.

[0056] In this embodiment, the virtualization management platform 2 can independently deploy the upgrade server on a physical or virtual machine server, while ensuring uninterrupted network communication between the server hosting the upgrade server 1 and the virtualization management platform 2. Alternatively, the upgrade server 1 can be deployed on the same server as the virtualization management platform 2.

[0057] In this embodiment of the disclosure, in order to adapt to scenarios with different virtual machine sizes, the upgrade server 1 can be deployed in a cluster or not, depending on the size of the virtual machine to be upgraded.

[0058] In this embodiment of the disclosure, depending on the size of the virtual machine 3 to be upgraded, the upgrade server 1 may be deployed in a cluster or not, which may include:

[0059] If the total number of virtual machines is greater than or equal to the preset threshold, the upgrade server 1 will be deployed in a cluster.

[0060] If the total number of virtual machines is less than the preset threshold, upgrade server 1 will be deployed in a non-clustered manner.

[0061] In the embodiments disclosed herein, such as Figure 2 As shown, when the total number of virtual machines is greater than or equal to a preset threshold, for example, when upgrade server 1 needs to provide upgrade services for virtual machines under multiple virtualization management platforms 2 (such as 2-1, 2-2, 2-3, ..., 2-k, where k is a positive integer), upgrade server 1 may include: load balancer 11, multiple version servers 12 (such as 12-1, 12-2, 12-3, ..., 12-n, where n is a positive integer) and multiple download servers 13 (such as 13-1, 13-2, 13-3, ..., 13-m, where m is a positive integer).

[0062] In this embodiment of the disclosure, cluster deployment of upgrade server 1 may include:

[0063] Set up multiple version servers 12 and multiple download servers 13, and connect the version servers 12 and download servers 13 to the corresponding virtualization management platform 2 and virtual machine 3 via the network; set each version server 12 to provide services for querying application version information and download paths, and store the upgrade progress of each application version package; set each download server 13 to provide services for downloading application version packages.

[0064] Configure load balancer 11, which is connected to each group of version servers 12 and download servers 13. The load balancer is configured to distribute query requests and / or download requests sent by the cluster of virtualization management platform 2 and virtual machines 3, thereby achieving load balancing between version servers and download servers.

[0065] In this embodiment, each virtualization management platform 2 can correspond to multiple virtual machines 3. When the upgrade server 1 needs to provide upgrade services for virtual machines 3 under multiple virtualization management platforms 2, it indicates that the number of virtual machines 3 to be upgraded is large. With a large number of virtual machines 3 to be upgraded, there will be a large number of simultaneous query or download requests accessing the version server 12 or download server 13. To increase the number of requests processed by the upgrade server 1 at the same time, multiple version servers 12 and download servers 13 need to be deployed to form a cluster. Therefore, when the upgrade server 1 needs to provide upgrade services for virtual machines 3 under multiple virtualization management platforms 2, multiple sets of version servers 12 and download servers 13 are set up to achieve cluster deployment. The information stored in each version server 12 within the cluster is identical, and the version packages stored in each download server 13 within the cluster are also identical. After the cluster deployment is completed, an additional load balancer 11 needs to be deployed. Load balancer 11 can uniformly receive query and download requests from the outside. Based on the number of requests currently being processed by each version server 12 and download server 13, it forwards the requests to version servers 12 and download servers 13 with fewer requests currently being processed, thereby achieving request distribution and load balancing within the version server cluster and download server cluster under a large number of requests.

[0066] In this embodiment of the disclosure, the number of version servers and the number of download servers may be the same or different.

[0067] In this embodiment of the disclosure, under a cluster deployment, the upgrade server 1 provides upgrade services to the virtual machine 3, which may include: the version server 12 providing services for querying application version information and download paths, and storing the upgrade progress of each application version package; the download server 13 providing services for downloading application version packages; and the load balancer 11 distributing the query requests and / or download requests sent by the cluster of virtualization management platform 2 and virtual machine 3 to achieve load balancing between the version server 12 and the download server 13.

[0068] In the embodiments disclosed herein, such as Figure 3 As shown, when the total number of virtual machines is less than a preset threshold, for example, when only upgrade server 1 needs to provide upgrade services for virtual machine 3 under virtualization management platform 2, upgrade server 1 may include: a version server 12 and a download server 13.

[0069] In this embodiment of the disclosure, deploying the upgrade server 1 in a non-cluster manner may include:

[0070] Set up a version server 12 and a download server 13, and connect the version server 12 and the download server 13 to the virtualization management platform 2 and the virtual machine 3 via the network; set the version server 12 to provide services for querying application version information and download paths, and store the upgrade progress of each application version package; set the download server 13 to provide services for downloading application version packages.

[0071] In this embodiment of the disclosure, when the virtual machine to be upgraded is small in size, only one version server and one download server can be deployed (i.e., a non-cluster deployment method is adopted), which can save server resources.

[0072] In this embodiment of the disclosure, when the deployment mode is non-cluster deployment, the upgrade server 1 provides upgrade services to the virtual machine 3, including: the version server 12 provides services for querying application version information and download paths, and stores the upgrade progress of each application version package; the download server 13 provides services for downloading application version packages.

[0073] In this embodiment of the disclosure, the deployment method and scale of the upgrade server can be adjusted at any time through the virtualization management platform interface.

[0074] In this embodiment of the disclosure, the upgrade server 1 is capable of providing upgrade services to one or more virtual machines 3 under the virtualization management platform 2;

[0075] Upgrade server 1 is obtained by deploying virtualization management platform 2 selected from virtualization management platform 2; among them, virtualization management platform 2 that deploys upgrade server 1 is the main virtualization management platform.

[0076] In this embodiment of the disclosure, the virtualization management platform 2 manages the upgrade server through network communication, including:

[0077] After the main virtualization management platform deploys upgrade server 1, it receives and verifies the application version package of the uploaded virtual machine 3, persistently stores the application version package, records the version information of the application version package, and synchronizes the application version package and version information to upgrade server 1.

[0078] In this embodiment of the disclosure, the upgrade server is deployed independently by the virtualization management platform 2, which may include the following operations:

[0079] In cases where upgrade server 1 needs to provide upgrade services for virtual machines 3 under one or more virtualization management platforms 2, a virtualization management platform 2 is selected from one or more virtualization management platforms 2 as the main virtualization management platform according to the preset selection rules, and the main virtualization management platform deploys upgrade server 1 on a physical or virtual server.

[0080] One or more virtualization management platforms can select an existing upgrade server to connect to in their respective interfaces, and then upgrade the virtual machines managed by each of the non-primary virtualization management platforms based on the connected upgrade server.

[0081] In this embodiment of the disclosure, the selection rule may include, but is not limited to, arbitrarily selecting a virtualization management platform, or selecting the virtualization management platform with the smallest virtual machine size.

[0082] In this embodiment, one upgrade server 1 can manage multiple virtualization management platforms 2, enabling the upgrade of virtual machine applications across virtualization management platforms without the need for repeated deployment of upgrade servers. In scenarios where the upgrade server 1 needs to interface with multiple virtualization management platforms 2, each virtualization management platform 2 has identical functionality.

[0083] In this embodiment of the disclosure, when using one upgrade server 1 to connect to multiple virtualization management platforms 2, it is necessary to ensure that the network communication between the upgrade server 1 and each virtualization management platform 2 is unimpeded.

[0084] In this embodiment of the disclosure, after the upgrade server 1 is deployed, the application version package of the virtual machine can be uploaded to the main virtualization management platform; the main virtualization management platform verifies the uploaded application version package, persistently stores the application version package, records the version information of the application version package, and synchronizes the application version package and version information to the upgrade server 1.

[0085] In this embodiment, after the upgrade server 1 is deployed on any virtualization management platform, this virtualization management platform is designated as the primary virtualization management platform. Subsequent maintenance operations, such as uploading virtual machine application version packages, maintaining version information, and scaling up / down during the operation of the upgrade server 1, must be completed on the primary virtualization management platform. The upgrade server 1 will discard the aforementioned operation requests from non-primary virtualization management platforms.

[0086] In this embodiment, other non-primary virtualization management platforms that need to be connected can choose to establish a network connection with the existing upgrade server when deploying the upgrade server on their respective interfaces, thus achieving connection with the existing upgrade server. Once an existing upgrade server has been connected and joined to the unified virtualization management platform, the connection can be canceled at any time, and a new set of upgrade servers can be deployed independently.

[0087] In this embodiment of the disclosure, different upgrade strategies can be set for different virtual machine applications on each virtualization management platform.

[0088] In this embodiment of the disclosure, the upgrade strategy may include, but is not limited to: a timed polling period, a polling interval, and an upgrade mode;

[0089] The scheduled polling period is the time during which the virtual machine polls the upgrade server for version information and downloads the application version package.

[0090] The polling interval is the time interval between virtual machines polling the upgrade server.

[0091] Upgrade modes include: immediate upgrade, idle upgrade, and manual upgrade.

[0092] In this embodiment of the disclosure, after the upgrade strategy is distributed from the virtualization management platform to the virtual machine, the timed polling period, the polling interval, and the idle upgrade period (i.e., the period during which the virtual machine can execute the upgrade mode inside the virtual machine when it is idle) can be controlled to request the virtual machine application version information from the upgrade server.

[0093] In this embodiment, a client application for checking and upgrading virtual machine application versions can be installed inside each virtual machine. The client application can poll the upgrade server to check for the latest version of the application package, download the latest version package to the virtual machine, perform the upgrade according to the set upgrade policy, and report the upgrade result to the version server. During the upgrade process, the upgrade server can monitor the upgrade status of the virtual machine application and the upgrade progress of all virtual machines.

[0094] In this embodiment of the disclosure, all virtual machines under the virtualization management platform need to ensure smooth network communication between the virtual machines and the upgrade server.

[0095] This disclosure also provides a method for deploying a virtual machine application upgrade system, based on the virtual machine application upgrade system, such as... Figure 4 As shown, the method may include steps S11-S13:

[0096] S11. The selected master virtualization management platform deploys an upgrade server using either clustered or non-clustered deployment methods, depending on the size of the virtual machines to be upgraded.

[0097] S12. After the main virtualization management platform completes the deployment and upgrade server, obtain the application version package of the virtual machine uploaded to the main virtualization management platform, and synchronize the application version package and its version information and download path to the upgrade server.

[0098] S13. Pre-install the client program for upgrades inside the virtual machine.

[0099] In this embodiment of the disclosure, the selected master virtualization management platform deploys an upgrade server using either clustered or non-clustered deployment methods, depending on the size of the virtual machines to be upgraded. This may include:

[0100] When an upgrade server is required to provide upgrade services for virtual machines under one or more virtualization management platforms, a virtualization management platform is selected from one or more virtualization management platforms as the main virtualization management platform according to a preset selection rule, and the upgrade server is deployed on a physical or virtual server by the main virtualization management platform.

[0101] One or more virtualization management platforms may select an existing upgrade server to connect to on their respective interfaces, and then upgrade the virtual machines managed by each of the non-primary virtualization management platforms based on the connected upgrade server.

[0102] In this embodiment of the disclosure, the selected master virtualization management platform deploys an upgrade server using either clustered or non-clustered deployment methods, depending on the size of the virtual machines to be upgraded. This may include:

[0103] In situations where upgrade servers are required to provide upgrade services for virtual machines under multiple virtualization management platforms, the upgrade servers should be deployed in a cluster.

[0104] In cases where the upgrade server is required to provide upgrade services for virtual machines under a virtualization management platform, the upgrade server is deployed in a non-clustered manner.

[0105] In this embodiment of the disclosure, when the upgrade server needs to provide upgrade services for virtual machines under multiple virtualization management platforms, the upgrade server may include: a load balancer, multiple version servers, and multiple download servers;

[0106] Deploying upgrade servers in a cluster can include:

[0107] Set up multiple version servers and multiple download servers, and connect the version servers and download servers to the corresponding virtualization management platform and virtual machines via the network; configure each version server to provide services for querying application version information and download paths, and store the upgrade progress of each application version package; configure each download server to provide services for downloading application version packages.

[0108] Configure a load balancer, which is connected to each version server and each download server. The load balancer is configured to distribute query requests and / or download requests sent by the virtualization management platform and the cluster of virtual machines, thereby achieving load balancing between the version server and the download server.

[0109] In this embodiment of the disclosure, when an upgrade server is required to provide upgrade services for virtual machines under a virtualization management platform, the upgrade server may include: a version server and a download server;

[0110] Deploying upgrade servers in a non-cluster manner can include:

[0111] Configure a version server and a download server, and connect the version server and the download server to the virtualization management platform and the virtual machines under the virtualization management platform via the network, respectively; configure the version server to provide services for querying application version information and download paths, and store the upgrade progress of each application version package; configure the download server to provide services for downloading application version packages.

[0112] In this embodiment of the disclosure, after the main virtualization management platform completes the deployment of the upgrade server, it obtains the application version package of the virtual machine uploaded to the main virtualization management platform, and synchronizes the application version package, its version information, and download path to the upgrade server, including:

[0113] After the main virtualization management platform deploys the upgrade server, it receives and verifies the application version package of the uploaded virtual machine, stores the application version package, records the version information and download path of the application version package, and synchronizes the application version package, version information and download path to the upgrade server.

[0114] In this embodiment, depending on the size of the virtual machines, one virtualization management platform can be selected from among many virtualization management platforms as the primary virtualization management platform, and an upgrade server can be deployed using either clustered or non-clustered deployment. For the remaining virtualization management platforms (or non-primary virtualization management platforms) that need to be managed, existing upgrade servers can be selected for integration, i.e., they can be integrated with the upgrade servers already deployed on the primary virtualization management platform.

[0115] In this embodiment of the disclosure, after the main virtualization management platform deploys the upgrade server, it can upload the latest virtual machine application version package to the main virtualization management platform and wait for the main virtualization management platform to synchronize version information and download path to the version server, and synchronize the virtual machine application version package to the download server.

[0116] In this embodiment of the disclosure, a client program for upgrades can be pre-installed inside the user's virtual machine. The client program is used for virtual machine application version checking and upgrades. The client application polls the upgrade server to check for the latest version information, downloads the latest version package to the virtual machine, performs the upgrade according to the set upgrade policy, and reports the upgrade result to the version server.

[0117] In this disclosure, any of the embodiments in the foregoing system embodiments are applicable to this deployment method embodiment, and will not be described in detail here.

[0118] This disclosure also provides a method for upgrading virtual machine applications, based on the aforementioned virtual machine application upgrade system, such as... Figure 5 As shown, the method may include steps S21-S23:

[0119] S21. The client application inside the virtual machine obtains the latest version information of the application version package of the virtual machine from the version server in the upgrade server.

[0120] S22. If the latest version information indicates that the latest version of the application package on the version server is higher than the version of the application package in the virtual machine, download the latest version from the download server in the upgrade server to the virtual machine according to the download path of the latest version on the version server.

[0121] S23. Upon receiving confirmation of the upgrade, upgrade the virtual machine's application according to the latest version.

[0122] In this embodiment, the client program can poll the version server in the upgrade server to obtain the version number and download address of the latest virtual machine application version package, and report the polling result of the virtual machine to the version server. If the latest version number in the version server is greater than the version number of the application inside the current virtual machine, and there is no virtual machine application version package with the same version number inside the virtual machine, a download request can be sent to the download server according to the download address to download the latest version of the application version package to the virtual machine. At this time, if the virtual machine stores a historical version of the application version package, the historical version of the application version package can be deleted to release the storage space inside the virtual machine. Conversely, if the latest version number in the version server is less than or equal to the version number of the application inside the current virtual machine, the upgrade process is terminated.

[0123] In this embodiment of the disclosure, when the latest version package of the virtual machine application is downloaded into the virtual machine, the virtual machine will perform different upgrade operations according to the different upgrade strategies configured for different applications.

[0124] In this embodiment, different upgrade policies can be set for different virtual machine applications on different virtualization management platforms. The upgrade policies can be extended and customized according to the needs of different upgrade scenarios. The general upgrade policy supports the following three settings: timed polling period, polling interval, and upgrade mode.

[0125] In this embodiment of the disclosure, the timed polling period is used to set the time period during which the virtual machine polls the upgrade server for version information and downloads the application version package.

[0126] In this embodiment of the disclosure, the polling time interval is the time interval between virtual machines polling the upgrade server. After the polling time interval is configured, all virtual machines under the virtualization management platform will poll the upgrade server based on the polling time interval during the scheduled polling period.

[0127] In this embodiment, the upgrade mode also supports expansion and customization according to the needs of different upgrade scenarios. Common upgrade scenarios include, but are not limited to, the following three modes: immediate upgrade, idle upgrade, and manual upgrade:

[0128] Immediate Upgrade Mode: After the client program inside the virtual machine completes the download of the application version package, it will immediately pop up a prompt box asking the user whether to perform the upgrade operation. If the user confirms the upgrade operation, the upgrade operation will be performed immediately.

[0129] Idle Upgrade Mode: Supports configuring idle upgrade time periods. After the client program completes the download of the application version package, a prompt will appear during the configured idle upgrade time period, asking the user whether to upgrade the application. There are two modes: Immediate Upgrade and Idle Upgrade. After the prompt appears, if the user clicks "Confirm Upgrade" or does not click "Cancel Upgrade" within a certain period, the upgrade program in the latest downloaded application version package will be automatically invoked to complete the application upgrade.

[0130] Manual upgrade mode: After the client program completes the download of the application version package, no prompt box will pop up. The user needs to manually perform the upgrade operation in the client program interface.

[0131] In this embodiment, after a successful upgrade, the version number of the application version package inside the virtual machine can be updated, and the original virtual machine application version package inside the virtual machine can be deleted to free up storage space. The upgrade result is then reported to the version server. Subsequently, the upgrade progress and status of the version package of each application of all managed virtual machines can be viewed on the upgrade server. The version server can aggregate all polling results and upgrade results reported by the virtual machines and display the upgrade status of the virtual machine applications and the upgrade progress of all virtual machines.

[0132] In this embodiment of the disclosure, if the upgrade fails or the user cancels or interrupts the upgrade process, the version number of the application version package inside the virtual machine will not be updated. The virtual machine will then enter the next polling process according to the polling interval to restart the upgrade process.

[0133] This disclosure embodiment includes at least the following advantages:

[0134] 1. The solution of this disclosure does not rely on the virtual machine's optical drive during the virtual machine application upgrade process, providing a solution for upgrading virtual machine applications in scenarios where the virtual machine's optical drive cannot be used due to security or other factors.

[0135] 2. In the embodiments of this disclosure, the independently deployed upgrade server can manage multiple virtualization platforms, enabling cross-virtualization platform virtual machine application upgrades. Compared to related technologies that deploy an upgrade device on each virtualization platform, the upgrade device in the embodiments of this disclosure is easier to maintain and saves resources.

[0136] 3. The solution of this disclosure supports setting different upgrade strategies for different virtual machine applications on different management platforms, so as to realize the batch upgrade of applications at different time periods; it supports expanding and shrinking the scale of the server cluster at any time as the scale of virtual machines changes; after the upgrade server summarizes the upgrade results reported by each virtual machine, it supports viewing the upgrade progress of each virtual machine application.

[0137] This disclosure also provides an electronic device B, such as... Figure 6 As shown, it includes: the virtual machine application upgrade system A.

[0138] This disclosure also provides an electronic device 100, such as... Figure 7 As shown, it includes:

[0139] One or more processors 101;

[0140] The memory 102 stores one or more programs that, when executed by one or more processors 201, cause the one or more processors to implement the deployment method and / or the upgrade method.

[0141] One or more input / output I / O interfaces 103 are connected between the processor and the memory and configured to enable information exchange between the processor and the memory.

[0142] This disclosure also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the deployment method and / or the upgrade method.

[0143] This disclosure also provides a computer program product including a computer program that, when executed by a processor, implements the deployment method and / or the upgrade method.

[0144] Those skilled in the art will understand that all or some of the functional modules / units disclosed above can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0145] In hardware implementations, the division between functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be executed by several physical components working together.

[0146] Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit (CPU), digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software may be distributed on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technique for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory (FLASH) or other disk storage; read-only optical disc (CD-ROM), digital versatile disc (DVD) or other optical disc storage; magnetic cartridges, magnetic tapes, disk storage or other magnetic storage; and any other media that can be used to store desired information and can be accessed by a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0147] This disclosure has disclosed exemplary embodiments, and although specific terminology has been used, it is for general illustrative purposes only and should not be construed as limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in conjunction with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in conjunction with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of this disclosure as set forth by the appended claims.

Claims

1. An upgrade system for a virtual machine application, comprising: Upgrade servers, virtualization management platform, and virtual machines; The upgrade server is independently deployed by the virtualization management platform using either clustered or non-clustered deployment methods, depending on the size of the virtual machine to be upgraded, and is used to provide upgrade services to at least one virtual machine under the virtualization management platform. The virtualization management platform is used to manage the upgrade server via network communication; The virtual machine is equipped with a client program for upgrading. The client program communicates with the upgrade server over a network to upgrade the virtual machine application.

2. The virtual machine application upgrade system according to claim 1, wherein, In the case of a non-cluster deployment, the upgrade server includes: a version server and a download server; The upgrade server provides upgrade services to the virtual machine, including: The version server provides services for querying application version information and download paths, and stores the upgrade progress of each application version package; The download server provides application version package download services.

3. The virtual machine application upgrade system according to claim 1, wherein, In the case of cluster deployment, the upgrade server includes: a load balancer, multiple version servers, and multiple download servers; the multiple version servers and multiple download servers are connected to the corresponding virtualization management platform and virtual machine network. The upgrade server provides upgrade services to the virtual machine, including: The version server provides services for querying application version information and download paths, and stores the upgrade progress of each application version package; The download server provides application version package download services; The load balancer distributes query requests and / or download requests sent by the virtualization management platform and the cluster of virtual machines to achieve load balancing between the version server and the download server.

4. The virtual machine application upgrade system according to claim 1, wherein, The upgrade server is deployed by a virtualization management platform selected from the at least one virtualization management platform; wherein the virtualization management platform that deploys the upgrade server is the primary virtualization management platform.

5. The virtual machine application upgrade system according to claim 4, wherein, The non-primary virtualization management platforms in the at least one virtualization management platform select to connect to the existing upgrade server on their respective interfaces, so as to upgrade the virtual machines managed by each of the non-primary virtualization management platforms based on the connected upgrade server.

6. The virtual machine application upgrade system according to claim 1, wherein, The virtualization management platform is also used for: Configure the size of the upgrade server according to the size of the virtual machine; and / or, Different upgrade strategies are set for different virtual machine applications and then distributed to the corresponding virtual machines.

7. The virtual machine application upgrade system according to claim 6, wherein, The upgrade strategy includes: a timed polling period, a polling interval, and an upgrade mode; The time period for the scheduled polling is the time period during which the virtual machine polls the upgrade server for version information and downloads the application version package. The polling time interval is the time interval between the virtual machine polling the upgrade server. The upgrade modes include: immediate upgrade, idle upgrade, and manual upgrade.

8. A method for deploying a virtual machine application upgrade system, based on the virtual machine application upgrade system according to any one of claims 1-7, the method comprising: The selected master virtualization management platform will deploy an upgrade server using either clustered or non-clustered deployment methods, depending on the size of the virtual machines to be upgraded. After the main virtualization management platform completes the deployment of the upgrade server, it obtains the application version package of the virtual machine uploaded to the main virtualization management platform, and synchronizes the application version package and its version information and download path to the upgrade server. The client program for upgrading is pre-installed inside the virtual machine.

9. The deployment method of the virtual machine application upgrade system according to claim 8, wherein, The selected master virtualization management platform deploys an upgrade server, using either clustered or non-clustered deployment methods, based on the size of the virtual machines to be upgraded. This includes: When it is necessary for the upgrade server to provide upgrade services for virtual machines under one or more virtualization management platforms, a virtualization management platform is selected from the one or more virtualization management platforms as the main virtualization management platform according to a preset selection rule, and the upgrade server is deployed on a physical or virtual server by the main virtualization management platform. The non-primary virtualization management platforms in the one or more virtualization management platforms select to connect to the existing upgrade server on their respective interfaces, so as to upgrade the virtual machines managed by each non-primary virtualization management platform based on the connected upgrade server.

10. The deployment method of the virtual machine application upgrade system according to claim 9, wherein, The selected master virtualization management platform deploys an upgrade server, using either clustered or non-clustered deployment methods, based on the size of the virtual machines to be upgraded. This includes: If the total number of virtual machines is greater than or equal to a preset threshold, the upgrade server is deployed in a cluster. If the total number of virtual machines is less than a preset threshold, the upgrade server is deployed in a non-clustered manner.

11. The deployment method of the virtual machine application upgrade system according to claim 10, wherein, The cluster deployment of the upgrade servers includes: Multiple version servers and multiple download servers are set up, and the version servers and download servers are respectively connected to the corresponding virtualization management platform and virtual machine via network; each version server is configured to provide services for querying application version information and download paths, and to store the upgrade progress of each application version package; each download server is configured to provide services for downloading application version packages. A load balancer is configured to be connected to each of the version servers and each of the download servers. The load balancer is configured to distribute query requests and / or download requests sent by the virtualization management platform and the cluster of virtual machines, thereby achieving load balancing between the version servers and the download servers.

12. The deployment method of the virtual machine application upgrade system according to claim 10, wherein, The non-cluster deployment of the upgrade server includes: Configure a version server and a download server, and connect the version server and the download server to the virtualization management platform and the virtual machines under the virtualization management platform via the network, respectively; configure the version server to provide services for querying application version information and download paths, and store the upgrade progress of each application version package; configure the download server to provide services for downloading application version packages.

13. A method for upgrading a virtual machine application, based on the virtual machine application upgrade system according to any one of claims 1-7, the method comprising: The client application within the virtual machine obtains the latest version information of the application version package of the virtual machine from the version server in the upgrade server; If the latest version information indicates that the latest version of the application package on the version server is higher than the version of the application package in the virtual machine, the latest version is downloaded from the download server in the upgrade server to the virtual machine according to the download path of the latest version on the version server; Upon receiving confirmation of the upgrade, the application of the virtual machine is upgraded according to the upgrade policy issued by the virtualization management platform corresponding to the virtual machine and the latest version.

14. The method for upgrading a virtual machine application according to claim 13, wherein, The method further includes: After successfully upgrading the application in the virtual machine, update the version number of the application version package inside the virtual machine, delete the original version package of the virtual machine application inside the virtual machine, free up storage space, and report the upgrade result to the version server.

15. The method for upgrading a virtual machine application according to claim 14, wherein, The method further includes: The version server aggregates all upgrade results reported by the virtual machines and displays the upgrade status of all virtual machine applications and the upgrade progress of all virtual machines.

16. An electronic device comprising: The virtual machine application upgrade system according to any one of claims 1-7.

17. An electronic device comprising: One or more processors; A memory having stored thereon one or more programs that, when executed by one or more processors, cause the one or more processors to implement the deployment method of any one of claims 8-12, and / or the upgrade method of any one of claims 13-15; One or more input / output (I / O) interfaces are connected between the processor and the memory and configured to enable information exchange between the processor and the memory.

18. A computer-readable storage medium storing a computer program that, when executed by a processor, implements the deployment method of any one of claims 8-12, and / or the upgrade method of any one of claims 13-15.

19. A computer program product comprising a computer program that, when executed by a processor, implements the deployment method of any one of claims 8-12, and / or the upgrade method of any one of claims 13-15.