Upgrading method and device for virtual storage system and computer program product

By monitoring the storage space usage status and workload of the virtual storage system, accurately determine whether the upgrade is needed and the optimal upgrade time is selected, the problem of untimely or improper upgrade in the existing technology is solved, and the normal use of the system and cost savings are achieved.

CN119718361APending Publication Date: 2025-03-28DELL PROD LP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311288886.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-28
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The prior art is difficult to accurately determine whether the virtual storage system needs to be upgraded and the optimal upgrade time, resulting in untimely or improper upgrade, affecting the normal use of the system and increasing labor and communication costs.

Method used

By obtaining the storage space usage status of the virtual storage system, determine whether an upgrade is needed; select the optimal upgrade time based on the workload, and upgrade the system at that point in time.

Benefits of technology

It realizes accurate upgrade judgment and optimal time selection of the virtual storage system, ensures the normal use of the system, and saves labor and communication costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718361A_ABST
    Figure CN119718361A_ABST
Patent Text Reader

Abstract

The invention relates to an upgrading method and device for a virtual storage system and a computer program product. The method comprises the following steps: acquiring a use state of a storage space of the virtual storage system; the method also includes determining whether to upgrade the virtual storage system based on the usage state. And in response to the determination of upgrading the virtual storage system, determining a target moment according to the workload of the virtual storage system. The method further comprises the step of upgrading the virtual storage system at the target moment. In this way, whether the virtual storage system is upgraded or not can be accurately determined according to the storage state of the virtual storage system, the optimal upgrading time is selected according to the working load of the virtual storage system to upgrade the system when upgrading is needed, and normal use of the virtual storage system is effectively guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of data storage, and more particularly, to an upgrade method, device and computer program product for a virtual storage system. Background Art

[0002] In the storage field, multiple distributed computing resources can be combined into a logical space to form a virtual storage system to store data. The virtual storage system can protect, back up, and restore data between virtual machines on the same server, across multiple servers, or in a cloud environment. Users can use the virtual storage system to store business data, enterprise data, etc.

[0003] Usually, the storage capacity of the virtual storage system can be adjusted dynamically. Users can subscribe to the appropriate storage capacity according to their usage needs. As the business develops and the amount of data required to be stored increases, the virtual storage system needs to be upgraded (for example, expanding storage capacity) to meet normal business needs. Summary of the invention

[0004] The embodiments of the present disclosure provide a method, device and computer program product for upgrading a virtual storage system. The method includes accurately determining whether to upgrade the virtual storage system according to the storage status of the virtual storage system, and selecting the best upgrade time to upgrade the system according to the workload of the virtual storage system when an upgrade is required, thereby effectively ensuring the normal use of the virtual storage system.

[0005] In a first aspect of an embodiment of the present disclosure, a method for upgrading a virtual storage system is provided. The method includes obtaining a usage status of a storage space of the virtual storage system. The method also includes determining whether to upgrade the virtual storage system based on the usage status, and the method also includes determining a target time according to a workload of the virtual storage system in response to determining to upgrade the virtual storage system. The method also includes upgrading the virtual storage system at the target time.

[0006] In a second aspect of an embodiment of the present disclosure, an electronic device is provided. The electronic device includes one or more processors; and a storage device for storing one or more programs, when the one or more programs are executed by the one or more processors, the one or more processors implement an upgrade method for a virtual storage system, the method including obtaining the usage status of the storage space of the virtual storage system. The method also includes determining whether to upgrade the virtual storage system based on the usage status, and the method also includes determining a target time according to the workload of the virtual storage system in response to determining to upgrade the virtual storage system. The method also includes upgrading the virtual storage system at the target time.

[0007] In a third aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, a method for upgrading a virtual storage system is implemented, the method comprising obtaining a usage status of a storage space of the virtual storage system. The method further comprises determining whether to upgrade the virtual storage system based on the usage status, and the method further comprises determining a target time according to a workload of the virtual storage system in response to determining to upgrade the virtual storage system. The method further comprises upgrading the virtual storage system at the target time.

[0008] It should be understood that the contents described in the summary of the invention are not intended to limit the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:

[0010] Figure 1 A schematic diagram illustrating an example environment in which various embodiments of the present disclosure may be implemented;

[0011] Figure 2 A schematic diagram showing a process for a virtual storage system according to multiple embodiments of the present disclosure is shown;

[0012] Figure 3 A flowchart of an upgrade method for a virtual storage system according to some embodiments of the present disclosure is shown;

[0013] Figure 4 A flowchart showing a process of determining a target time by historical operation conditions, workload and usage status according to some embodiments of the present disclosure is shown;

[0014] Figure 5 A schematic diagram showing a process of upgrading a virtual storage system by using a preset cloud function according to some embodiments of the present disclosure; and

[0015] Figure 6 A block diagram of a device in which various embodiments of the present disclosure may be implemented is shown. DETAILED DESCRIPTION

[0016] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0017] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0018] In the storage field, multiple distributed computing resources can be combined into a logical space to form a virtual storage system for data storage. The virtual storage system can run on a virtual machine or on the cloud. Specifically, it can implement the functions of protecting, backing up, and restoring data between virtual machines on the same server, across multiple servers, or in a cloud environment. Users can use the virtual storage system to store business data, enterprise data, etc. Since the storage capacity of the virtual storage system can be adjusted dynamically, the virtual storage system needs to be upgraded when the user's storage needs expand to expand the storage capacity of the virtual storage system (for example, upgrading a virtual storage system with a storage capacity of 16TB to a virtual storage system with a storage capacity of 32TB). For users, it is crucial to know when to upgrade and how to upgrade the virtual storage system at a reasonable time node. The traditional upgrade solution is for users (such as administrators) to call engineers, and the engineers upgrade the virtual storage system.

[0019] In addition, users are generally not sure which nodes of the virtual storage system need to be upgraded, which easily leads to the inability to upgrade the system at the best upgrade time, thereby affecting the normal use of the virtual storage system. In addition, additional communication costs and labor costs are added.

[0020] To this end, an embodiment of the present disclosure proposes an upgrade solution for a virtual storage system. In an embodiment of the present disclosure, the usage status of the storage space of the virtual storage system can be obtained; based on the usage status, it is determined whether to upgrade the virtual storage system. In this way, it is possible to directly and accurately determine whether the virtual storage system needs to be upgraded based on the usage status of the storage space, without the need for the user to make a judgment. Thereby, it is possible to save labor costs and improve the accuracy of the upgrade. Further, in response to determining to upgrade the virtual storage system, a target time is determined based on the workload of the virtual storage system; and the virtual storage system is upgraded at the target time. In this way, even if the virtual system needs to be shut down during the upgrade, it can be ensured that the impact on the business management of enterprise users is minimized. Through the embodiments of the present disclosure, the virtual storage system can be accurately upgraded at the optimal upgrade time.

[0021] Figure 1 1 is a schematic diagram of an example environment 100 in which various embodiments of the present disclosure may be implemented. Figure 1 As shown, the example environment 100 may include a virtual storage system 102. The virtual storage system 102 includes virtual software 110 and virtual hardware 112. The virtual software 110 includes multiple operating systems, such as a LINUX system 114 and a DDR system 116 (storage system software). The virtual software 110 also includes a kernel layer 118. The virtual hardware 112 includes a virtual central processing unit (Virtual CPU) 120, a virtual memory 122, and a virtual storage 124. The virtual central processing unit 120 can process data (for example, data replication, data recovery, data deduplication, data protection), and then store the processed data in the virtual storage 124. The upgrade of the virtual storage system 102 is an upgrade of the virtual hardware 112, such as expanding the capacity of the virtual storage 124, or increasing the size of the virtual central processing unit 120. The following is an example of an upgrade of the virtual storage system 102. Figure 2 The example environment 200 shown in FIG. 1 is used as an example to illustrate the upgrade process for the virtual storage system 102 .

[0022] like Figure 2 As shown, the virtual storage system 102 also includes a usage status monitor 126 and a workload monitor 128. The usage status monitor 126 can monitor the storage space (e.g., virtual storage 124) of the virtual storage system 102 and determine the usage status of the storage space. The usage status of the storage space includes the usage status of the object storage 134 and the usage status of the block storage 136. The object storage 134 can store business data and metadata together during the process of storing data. It can be understood that metadata is a kind of intermediate data used to describe the attribute information of business data. For example, metadata can be used to describe the storage location, type, style, size, source, etc. of business data.

[0023] like Figure 2 As shown, in the environment 200, the usage status monitor 126 can be used to obtain the usage status of the storage space, so as to determine whether to upgrade the virtual storage system 102 according to the usage status. For example, if the remaining capacity of the storage space is less than the set value, it is determined to upgrade the virtual storage system 102. Further, after determining to upgrade the virtual storage system 102, the workload monitor 128 can be used to obtain the workload of the virtual storage system 102, so as to determine the target time according to the workload. Among them, the workload of the virtual storage system 102 includes the virtual central processing unit load 130 and the input / output load 132. Further, the moment when the workload is monitored to be less than the set value can be determined as the target time. For example, the moment when the virtual central processing unit load 130 is detected to be less than the set value can be determined as the target time. Finally, the virtual storage system 102 can be upgraded at the target time. For example, the virtual storage system 102 with a storage capacity of 16TB is upgraded to a virtual storage system with a storage capacity of 32TB.

[0024] like Figure 2 As shown, in the environment 200, before upgrading the virtual storage system 102, it is necessary to use the license capacity checker 142 to check the license capacity of the virtual storage system 102 to determine whether the license capacity of the virtual storage system 102 meets the upgrade requirements. Only when the upgrade requirements are met, the virtual storage system 102 can be upgraded. If the upgrade requirements are not met, it is necessary to return an abnormal reminder message to prompt the user to increase the license to apply for the system resources required for upgrading the virtual storage system 102.

[0025] In some embodiments, in order to save the capital cost and operating cost required for upgrading the virtual storage system, the virtual storage system can be upgraded in the serverless platform. For example, the virtual storage system is upgraded using the preset cloud function deployed in the serverless platform. Figure 2As shown, the environment 200 also includes a serverless platform 104, and the serverless platform 104 includes a preset cloud function 138. The serverless platform 104 and the virtual storage system 102 run in cloud computing, and the cloud computing provides the computing resources required by the preset cloud function 138 and the computing resources required by the virtual storage system 102. The virtual storage system 102 also includes an upgrade instruction trigger 140. After determining that the virtual storage system 102 needs to be upgraded and the target time of the upgrade, the upgrade instruction trigger 140 can generate an upgrade instruction, and the upgrade instruction includes the target time. The serverless platform 104 communicates with the virtual storage system 102 to receive the upgrade instruction generated by the virtual storage system 102. And after receiving the upgrade instruction, the preset cloud function 138 is triggered to upgrade the virtual storage system 102 using the preset cloud function 138.

[0026] In this way, it is possible to accurately determine whether to upgrade the virtual storage system according to the storage status of the virtual storage system, and when an upgrade is required, the best upgrade time is selected according to the workload of the virtual storage system to upgrade the system, thereby ensuring the normal use of the virtual storage system.

[0027] It should be understood that the architecture and functions in the example environment 100 are described for exemplary purposes only and do not imply any limitation on the scope of the present disclosure. Embodiments of the present disclosure may also be applied to other environments with different structures and / or functions.

[0028] The following will combine Figures 3 to 6 The process according to the embodiment of the present disclosure is described in detail. For ease of understanding, the specific data mentioned in the following description are exemplary and are not intended to limit the scope of protection of the present disclosure. It is understood that the embodiments described below may also include additional actions not shown and / or the actions shown may be omitted, and the scope of the present disclosure is not limited in this respect.

[0029] Figure 3 A flow chart of a method 300 for upgrading a virtual storage system according to some embodiments of the present disclosure is shown. The virtual storage system 102 serves as the execution subject of the method 300. In block 302, the method 300 obtains the usage status of the storage space of the virtual storage system. The usage status of the storage space refers to the usage capacity, remaining capacity, or usage capacity ratio of the storage space. The usage capacity ratio refers to the ratio of the storage capacity that has been used to the storage capacity of the storage space. For example, the usage status may be the usage capacity of each virtual storage 124. The usage status of the storage space may be monitored by a usage status monitor (e.g., Figure 2The usage status monitor 126 in the storage space is used for real-time monitoring or periodic monitoring. Periodic monitoring refers to monitoring the usage status of the storage space at a preset time interval. In the case of periodic monitoring, the usage status of the storage space at the next moment can be calculated based on the data reading speed, bandwidth utilization, etc., so as to avoid the periodic monitoring time interval being too long, and the virtual storage system cannot be upgraded normally later, affecting normal use.

[0030] In some embodiments, the storage space has multiple storage types, such as object storage and block storage. The usage status of the storage space can be the usage status of the object storage or the usage status of the block storage. For example, the usage status of the storage space can include the remaining capacity of the object storage and the remaining capacity of the block storage. Alternatively, the usage status of the storage space can also be the remaining capacity of the file storage.

[0031] In block 304, method 300 determines whether to upgrade the virtual storage system based on the usage status. For example, if the usage status reaches a first set state, it is determined that the virtual storage system is upgraded; if the usage status does not reach the first set state, it is determined not to upgrade the virtual storage system. The first set state may be a first predetermined remaining capacity threshold, a first predetermined used capacity threshold, or a first predetermined remaining capacity percentage threshold.

[0032] In some embodiments, the storage capacity used by the block storage and object storage for storing different data is not necessarily the same. For example, the used capacity of the block storage is greater than the used capacity of the object storage. In this article, it can be determined whether to upgrade the virtual storage system based on the usage status of the block storage. The method 300 can determine whether to upgrade the virtual storage system based on the comparison result of the usage status of the block storage and the set status of the block storage. For example, if the remaining capacity of the block storage is less than the preset remaining capacity threshold of the block storage (or the remaining capacity is zero), the virtual storage system is upgraded. The preset remaining capacity threshold of the block storage can be determined by the size of the virtual storage.

[0033] In some embodiments, it may also be determined whether to upgrade the virtual storage system based on the usage status of the object storage. The method 300 may determine whether to upgrade the virtual storage system based on the comparison result between the usage status of the object storage and the set status of the object storage. For example, if the remaining capacity of the object storage is less than a preset remaining capacity threshold of the object storage (or the remaining capacity is zero), the virtual storage system is upgraded. Alternatively, if the usage capacity of the object storage reaches the capacity upper limit of the virtual storage system, the virtual storage system is upgraded.

[0034] Continue to refer Figure 3In response to determining to upgrade the virtual storage system, at block 306, method 300 determines a target time according to the workload of the virtual storage system. There are many ways to upgrade the virtual storage system, some of which require shutting down the virtual storage system before the upgrade. Therefore, it is necessary to determine the target time for the upgrade according to the workload of the virtual storage system to reduce the impact on the business management of enterprise users or other users.

[0035] In some embodiments, the workload of the virtual storage system may be monitored, and the time when the workload is detected to be smaller is used as the target time. The workload is the workload of the virtual storage system, including the virtual CPU load, input / output (IN / OUT) load, memory load, etc. For example, the virtual CPU load refers to the complexity of the tasks being processed by the virtual CPU over a period of time. It can reflect the current operating status of the system and is a measure of the amount of burden that the system can bear.

[0036] In some embodiments, the moment when the workload is less than the first predetermined workload threshold is used as the target moment. For example, the moment when the virtual central processing unit load is less than the first predetermined workload threshold can be determined as the target moment. Alternatively, the moment when the memory load is less than the first predetermined workload threshold can also be determined as the target moment. Among them, the first predetermined workload threshold can be determined according to the user's usage requirements and application environment. It can be understood that in order to avoid the situation where the remaining capacity of the storage space is less than the capacity upper limit (for example, the remaining capacity is zero), the first predetermined workload threshold should not be set too small (for example, the first predetermined workload is zero).

[0037] In some embodiments, in order to make the determined target moment more accurate and to save the user the upgrade cost, the usage status and the workload can be combined, and the target moment can be determined based on the workload and the usage status. Specifically, the target moment can be directly determined based on the usage status and workload monitored in real time. For example, the target moment can be determined in response to the workload being less than the second predetermined workload threshold and the usage status reaching the second set state. The second set state can be set to be less than the first set state described above. For example, the second predetermined remaining capacity threshold is less than the first predetermined remaining capacity threshold. Thus, the virtual storage system can be upgraded when the workload is small and the usage capacity is maximized. It can be understood that when the usage status has reached the second set state and the workload is greater than the second predetermined workload threshold, if the difference between the workload and the second predetermined workload threshold is within the allowable range, the virtual storage system can also be upgraded.

[0038] In this way, on the one hand, it can avoid the problem of delaying the system upgrade due to heavy workload, thus affecting the normal use of the virtual storage system by users. On the other hand, it can also save user costs and maximize user benefits.

[0039] In some embodiments, in order to further improve the accuracy and rationality of the target time, the historical operation status, workload and usage status of the virtual storage system can also be combined to determine the target time. Figure 4 Describes an example implementation for determining a target moment based on historical operation, workload, and usage status.

[0040] Figure 4 A schematic diagram of a process of determining a target moment through historical operation conditions, workload, and usage status according to certain embodiments of the present disclosure is shown. In box 402, a linear regression can be performed on the workload according to the historical operation conditions of the virtual storage system to determine multiple candidate moments with a small workload (or even zero workload). Alternatively, multiple candidate moments can also be directly determined based on the historical operation conditions. For example, taking a bank as an example, the bank handles business from Monday to Friday, and is closed on Saturday and Sunday. The workload of the virtual storage system used by the bank is small on Saturday and Sunday, so the candidate moment can be a certain moment on Saturday or a certain moment on Sunday. Among them, the historical operation conditions can be the workload of the virtual storage system in the historical time period. Specifically, it can be the workload of the virtual storage system at each historical moment, or it can be the change trend of the workload in the historical time period. For example, the historical operation conditions can be the workload change of the virtual storage system used by the bank in the previous week.

[0041] In some embodiments, multiple historical moments at which the historical workload is less than a third predetermined workload threshold can be determined based on the change trend of the historical workload. Thereafter, multiple candidate moments can be determined based on the historical moments.

[0042] In box 404, the use status of the storage space (for example, the used capacity) can be used to calculate the deadline for the virtual storage system upgrade. The deadline refers to the latest time for the virtual storage system to be upgraded, and the virtual storage system needs to be upgraded before the deadline. Specifically, the allowed time for the current used capacity of the storage space to reach the upper capacity limit can be calculated based on the capacity of the remaining storage data of the virtual storage system and the data storage speed. The deadline is determined based on the allowed time and the current time. Alternatively, the deadline can also be determined based on the comparison result of the bandwidth utilization of the virtual storage system and the bandwidth utilization required by the user. Furthermore, in box 406, multiple candidate moments can be screened based on the deadline to determine the target moment. If the candidate moment is greater than the deadline, the candidate moment is filtered out; if the candidate moment is less than the deadline, the candidate moment is determined to be the target moment.

[0043] By the above method, an optimal upgrade time that meets all requirements can be determined. For example, upgrading at the target time not only maximizes the use of storage space, but also reduces the workload of the virtual storage system, so that shutting down the virtual storage system will not have a significant impact on users.

[0044] In some embodiments, the overall workload situation can also be determined from the data backup time information of the virtual storage system. For example, if there are more data backups, the workload is larger. Then, the time when the workload is lower (for example, the workload is the smallest) is determined as the target time.

[0045] Return to reference Figure 3 In block 308, method 300 upgrades the virtual storage system at the target time. There are many ways to upgrade the virtual storage system, for example, virtual storage can be added to the virtual storage system, and the number and capacity of the newly added virtual storage can be determined according to the size of the business data or other data to be stored. For example, a virtual storage with a capacity of 1 TB can be added to the virtual storage system.

[0046] In addition, the capacity of the virtual storage system can also be expanded. For example, multiple virtual storage systems may be deployed in a public cloud, and the capacities of multiple virtual storage systems share the resource pool of the public cloud. Therefore, cloud resources can be applied to the public cloud to expand the capacity of the virtual storage system. For example, the capacity of the existing virtual storage of the virtual storage system can be expanded. Alternatively, since the upper capacity limits of the storage space configured by virtual storage systems of different types (sizes) are different, such as 16TB, 32TB, and 64TB. Therefore, the virtual storage system can be upgraded by switching the type of the virtual storage system and reconfiguring the virtual storage system.

[0047] In some embodiments, the configuration of the virtual storage system may determine the size of the capacity that the virtual storage system can use, and the capacity allowed by the virtual storage system is subject to an upper limit. Therefore, before upgrading the virtual storage system, it is necessary to determine whether the configuration of the virtual storage system meets the upgrade requirements (e.g., the storage capacity required to upgrade the virtual storage system). Specifically, a license capacity checker (e.g., Figure 1 The configuration information includes the virtual central processor of the virtual storage system (for example, Figure 1 The size of the virtual CPU 120 shown, the size of the virtual memory (e.g., Figure 1 The size of the virtual memory 122 in the Figure 1 If the configuration information meets the upgrade requirements, the virtual storage system is upgraded. For example, if the size of the storage virtualizer is larger than the storage capacity required for upgrading the virtual storage system, the virtual storage system is upgraded.

[0048] In some embodiments, if the configuration information does not meet the upgrade requirements, it is necessary to return an abnormal reminder message to prompt the user to obtain a license for the virtual storage system to increase the licensed capacity of the virtual storage system. Among them, there are two forms of licenses, one is a node-locked license (no service mode is provided), and the other is a service mode license. After obtaining the license, you can apply to the cloud server or virtual machine for the system resources required to upgrade the virtual storage system and reconfigure the virtual storage system. For example, reconfigure the virtual central processor of the virtual storage system 4G to a virtual central processor of 8G, and reconfigure the virtual system 16TB of virtual memory to 32TB of virtual memory.

[0049] In some embodiments, some upgrade methods require shutting down the virtual storage system, and after the upgrade is complete, the virtual storage system needs to be started. In order to reduce costs, you can use preset cloud functions to automatically start / shut down the virtual storage system and expand the capacity of the virtual storage system. The preset cloud function is a function that is deployed in advance on the cloud (server side) to run. A preset cloud function can be composed of multiple files and occupy a certain amount of computing resources. A preset cloud function handles an upgrade task, and each cloud function is independent of each other. Since there are multiple upgrade methods, multiple preset cloud functions can be used to execute different upgrade methods respectively. The following is combined with the attached Figure 5 Describes an example implementation of upgrading a virtual storage system using a preset cloud function.

[0050] Figure 5 FIG. 1 is a schematic diagram showing a process of upgrading a virtual storage system by presetting a cloud function according to certain embodiments of the present disclosure. Figure 5As shown, the environment 500 includes cloud computing 502, in which a virtual storage system 102 and a serverless platform 504 are running. Cloud computing 502 includes a public cloud, which generally refers to a cloud that a third-party provider provides to users and can use. The serverless platform 104 is deployed with preset cloud functions 138, and the number of preset cloud functions 138 can be multiple. Among them, cloud computing 502 is a computing model that separates resources from physical hardware and provides them to users as a service. Cloud computing 502 provides configurable computing resources, such as servers, storage, networks, and applications. Users can use these computing resources on a pay-as-you-go basis according to their needs.

[0051] In some embodiments, the virtual storage system 102 may trigger an upgrade instruction based on the usage status of the storage space. The upgrade instruction may indicate the system resources required to upgrade the virtual storage system 102, the target time of the upgrade, etc. Further, the serverless platform 104 may run a preset cloud function 138 to upgrade the virtual storage system 102. Figure 5 As shown, in block 514, the preset cloud function 138 may send a system resource request to the cloud computing 502 to request the system resources required to upgrade the virtual storage system 102. In block 516, upon receiving the system resources, the virtual storage system 102 may be shut down using the preset cloud function 138. Then, the virtual storage system 102 may be upgraded based on the system resources using the preset cloud function 138. After the upgrade is completed, the virtual storage system 102 may be restarted. Figure 5 In block 518, after obtaining the upgrade log using the preset cloud function 138, an abnormal reminder message is returned in the event of an upgrade failure. This upgrade method can save upgrade costs and improve upgrade efficiency based on the advantages of the preset cloud function itself (for example, it does not increase costs when not running, and does not require the deployment of additional applications for auxiliary upgrades).

[0052] Figure 6 A schematic block diagram of an example device 600 that can be used to implement an embodiment of the present disclosure is shown. As shown, the device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 602 or loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0053] A number of components in the device 600 are connected to the I / O interface 605, including: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a disk, an optical disk, etc.; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0054] The computing unit 601 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above, such as method 300. For example, in some embodiments, the method 300 may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the method 300 described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the method 300 in any other appropriate manner (e.g., by means of firmware).

[0055] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip systems (SOCs), load programmable logic devices (CPLDs), and the like.

[0056] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0057] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In addition, although each operation is depicted in a specific order, this should be understood as requiring such operations to be performed in the specific order shown or in a sequential order, or requiring that all illustrated operations should be performed to obtain the desired result. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Certain features described in the context of separate embodiments can also be implemented in a single implementation in combination. On the contrary, the various features described in the context of a single implementation can also be implemented in multiple implementations individually or in any suitable sub-combination.

[0058] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.

Claims

1. A method for upgrading a virtual storage system, comprising: Acquire the usage status of the storage space of the virtual storage system; Based on the usage status, determining whether to upgrade the virtual storage system; In response to determining to upgrade the virtual storage system, determining a target time according to a workload of the virtual storage system; and The virtual storage system is upgraded at the target time.

2. The method of claim 1, wherein determining the target time comprises: The time when the workload is less than a first predetermined workload threshold is determined as the target time.

3. The method of claim 1 , wherein determining the target time comprises: The target time is determined based on the workload and the usage status.

4. The method of claim 3, wherein determining the target time comprises: In response to the workload being less than a second predetermined workload threshold and the usage status reaching a second set status, the target time is determined.

5. The method of claim 3, wherein determining the target time comprises: Determining at least one candidate time based on the workload and the historical operation of the virtual storage system; Determining a cutoff time according to the usage status and the upper limit of the storage space capacity; as well as A target time that is smaller than the cutoff time is selected from the at least one candidate time.

6. The method according to claim 5, wherein the historical operation status includes historical workloads corresponding to various historical moments during the historical operation of the virtual storage system, and determining at least one candidate moment includes: determining at least one target historical moment at which the historical workload is less than a third predetermined workload threshold; The at least one candidate moment is determined according to the historical workloads respectively corresponding to the at least one target historical moment and the workload.

7. The method according to claim 5, wherein the usage status includes the usage capacity of the storage space, and determining the cut-off time comprises: Acquire remaining storage data and storage speed of the virtual storage system; as well as The cut-off time is determined based on the remaining storage data, the storage speed, the used capacity and the capacity upper limit.

8. The method according to claim 1, wherein the usage status comprises a usage status of an object storage, and determining whether to upgrade the virtual storage system comprises: In response to the usage status of the object storage reaching the set status of the object storage, it is determined to upgrade the virtual storage system.

9. The method according to claim 1, wherein the usage status comprises a usage status of block storage, and determining whether to upgrade the virtual storage system comprises: In response to the usage status of the block storage reaching the set status of the block storage, it is determined to upgrade the virtual storage system.

10. The method according to claim 1, wherein upgrading the virtual storage system comprises: Acquire configuration information of the virtual storage system; Determining whether the configuration information meets the upgrade requirements; as well as In response to the configuration information satisfying an upgrade requirement, the virtual storage system is upgraded.

11. The method according to claim 10, further comprising: In response to the configuration information not satisfying the upgrade requirement, prompt information for increasing the licensed capacity of the virtual storage system is provided.

12. The method according to claim 1, wherein upgrading the virtual storage system comprises at least one of the following: Added virtual memory; Expanding the capacity of the virtual storage system; The virtual storage system is reconfigured.

13. The method according to claim 1, wherein upgrading the virtual storage system comprises: The virtual storage system is upgraded using a preset cloud function.

14. An electronic device comprising: at least one processor; as well as coupled to the at least one processor and having instructions stored thereon, the instructions, when executed by the at least one processor, causing the electronic device to perform actions, the actions comprising: Obtaining the usage status of the storage space of the virtual storage system; Based on the usage status, determining whether to upgrade the virtual storage system; In response to determining to upgrade the virtual storage system, determining a target time according to a workload of the virtual storage system; and The virtual storage system is upgraded at the target time.

15. The apparatus of claim 14, wherein determining the target time comprises: The time when the workload is less than a first predetermined workload threshold is determined as the target time.

16. The apparatus of claim 14, wherein determining the target time comprises: The target time is determined based on the workload and the usage status.

17. The apparatus of claim 16, wherein determining the target time comprises: In response to the workload being less than a second predetermined workload threshold and the usage status reaching a second set status, the target time is determined.

18. The apparatus of claim 16, wherein determining the target time comprises: Determining at least one candidate time based on the workload and the historical operation of the virtual storage system; Determining a cutoff time according to the usage status and the upper limit of the storage space capacity; as well as A target time that is smaller than the cutoff time is selected from the at least one candidate time.

19. The device according to claim 18, wherein the historical operation status includes historical workloads corresponding to various historical moments during the historical operation of the virtual storage system, and determining at least one candidate moment includes: determining at least one target historical moment at which the historical workload is less than a third predetermined workload threshold; The at least one candidate moment is determined according to the historical workloads respectively corresponding to the at least one target historical moment and the workload.

20. A computer program product tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions that when executed cause a machine to perform actions comprising: Obtaining the usage status of the storage space of the virtual storage system; Based on the usage status, determining whether to upgrade the virtual storage system; In response to determining to upgrade the virtual storage system, determining a target time according to a workload of the virtual storage system; and The virtual storage system is upgraded at the target time.