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

By deploying and running preset execution files on serverless platforms, the problem of high cost and low efficiency of virtual storage system upgrades is solved, and more precise resource billing and more efficient upgrade processes are achieved.

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

Patent Information

Application Number
CN202311283467.7
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 existing virtual storage system upgrade solution requires the deployment of additional applications, which increases capital and operational costs, and the task decoupling is not high and the upgrade efficiency is low.

Method used

Pre-deploy different types of upgrade preset execution files on the serverless platform, determine the target preset execution files according to the upgrade instructions, and run the file on the serverless platform to upgrade the virtual storage system.

Benefits of technology

Through the precise and real-time billing mode of the serverless platform, users only need to pay according to the actual computing resources used, saving resources and operational costs; at the same time, due to the high task processing efficiency of the serverless platform, the upgrade efficiency has also been improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718360A_ABST
    Figure CN119718360A_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 upgrading method for the virtual storage system is applied to a server-free platform and comprises the following steps: receiving an upgrading instruction for the virtual storage system; the method further comprises the step of determining an upgrading type corresponding to the upgrading instruction and a preset execution file matched with the upgrading type, wherein the preset execution file is deployed in the server-free platform in advance. The method further comprises the step of upgrading the virtual storage system by running the preset execution file in the server-free platform. Through the mode, the preset execution function is operated in the server-free platform, the virtual storage system is upgraded, and resource cost and operation cost can be saved for a user. In addition, due to the fact that the task processing efficiency of the server-free platform is high, the upgrading efficiency of the virtual storage system can be improved.
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] As digital and networked business content continues to increase, virtual storage systems are gaining more and more attention. Virtual storage systems can centralize multiple storage media modules (such as hard disks and disk arrays) and manage them uniformly through a link in the network (such as a server), thereby providing users with computing resources with large capacity and high data transmission performance.

[0003] The computing resources of the virtual storage system can be adjusted dynamically. Users can purchase computing resources corresponding to their storage needs according to the principle of "pay as you use". As the business data that users need to process gradually increases, the virtual storage system needs to be upgraded before it can continue to be used to process business data. Summary of the invention

[0004] The embodiments of the present disclosure propose an upgrade method, device and computer program product for a virtual storage system. In the embodiments of the present disclosure, preset execution files corresponding to different upgrade types can be pre-deployed on a serverless platform. Afterwards, the target preset execution file can be determined according to the upgrade type indicated in the upgrade instruction. And, the virtual storage system is upgraded by running the target preset execution file on the serverless platform. In this way, since the serverless platform can provide a more accurate and real-time billing model. Users only need to pay according to the computing resources actually used, instead of paying for idle and unused resources, thereby saving resource costs and operating costs for users. In addition, since the task processing efficiency of the serverless platform is high, the upgrade efficiency of the virtual storage system can also be improved.

[0005] In the first aspect of the embodiments of the present disclosure, a method for upgrading a virtual storage system is provided. The method is applied in a serverless platform, and includes receiving an upgrade instruction for the virtual storage system. The method also includes determining an upgrade type corresponding to the upgrade instruction and a preset execution file matching the upgrade type, and the preset execution file is pre-deployed in the serverless platform. The method also includes upgrading the virtual storage system by running the preset execution file in the serverless platform. In this way, the virtual storage system is upgraded by running the preset execution function in the serverless platform. Since the serverless platform can provide a more accurate and real-time billing model. Users only need to pay according to the computing resources actually used, instead of paying for idle and unused resources, which can save resource costs and operating costs for users. In addition, since the task processing efficiency of the serverless platform is high, the upgrade efficiency of the virtual storage system can also be improved.

[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 a method for upgrading a virtual storage system, the method is applied to a serverless platform, and includes receiving an upgrade instruction for the virtual storage system. The method also includes determining an upgrade type corresponding to the upgrade instruction and a preset execution file matching the upgrade type, the preset execution file being pre-deployed in the serverless platform. The method also includes upgrading the virtual storage system by running the preset execution file in the serverless platform.

[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 is applied to a serverless platform, and includes receiving an upgrade instruction for the virtual storage system. The method also includes determining an upgrade type corresponding to the upgrade instruction and a preset execution file matching the upgrade type, and the preset execution file is pre-deployed in the serverless platform. The method also includes upgrading the virtual storage system by running the preset execution file in the serverless platform.

[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 100 in which various embodiments of the present disclosure may be implemented;

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

[0012] Figure 3 A schematic diagram showing a process 300 of upgrading a virtual storage system using a first preset execution file according to some embodiments of the present disclosure;

[0013] Figure 4 A schematic diagram showing a process 400 of expanding the memory of a virtual storage system by using a second preset execution file according to some embodiments of the present disclosure;

[0014] Figure 5 A schematic diagram showing a process 500 of switching the type of a virtual storage system using a second preset execution file according to some embodiments of the present disclosure;

[0015] Figure 6 An example environment 600 is shown in which a target time is determined based on workload and usage of a virtual storage system;

[0016] Figure 7 illustrates an example environment 700 for virtual storage system upgrades according to some embodiments of the present disclosure; and

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

[0018] 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.

[0019] 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.

[0020] As digital and networked business content continues to increase, virtual storage systems are gaining more and more attention. Virtual storage systems can centralize multiple storage media modules (such as hard disks and disk arrays) and manage them uniformly through a link in the network (such as a server), thereby providing users with computing resources with large capacity and high data transmission performance.

[0021] The computing resources of the virtual storage system can be adjusted dynamically. Users can purchase computing resources corresponding to their storage needs according to the principle of "pay as you use". As the business data that users need to process gradually increases, the virtual storage system needs to be upgraded before it can continue to be used to process business data. For users, how to save the cost of upgrading the virtual storage system is crucial. The traditional upgrade solution is that the application deployed in the virtual machine (VM) automatically upgrades the virtual storage system and drives each control node in the upgrade process, such as shutting down the virtual storage system and starting the virtual storage system.

[0022] However, this method requires users to deploy additional applications to assist with the upgrade, which increases capital costs. Users also need to pay for physical servers, virtual machines, and other resources required to run applications. Upgrading virtual storage systems is not a high-frequency event, but virtual machines must always run, which greatly increases operating costs and capital costs. In addition, there are many types of virtual storage system upgrade methods, and all types of upgrade methods require the use of applications in virtual machines, and the degree of task decoupling is not high.

[0023] 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 virtual storage system can be upgraded in a serverless platform. First, an upgrade instruction for the virtual storage system is received, and the upgrade type corresponding to the upgrade instruction is determined. Then, a preset execution file matching the upgrade type can be determined. The preset execution file is deployed in the serverless platform in advance. Different preset execution files can perform different types of upgrades on the virtual storage system, and each preset execution file is independent of each other and has a high degree of decoupling. Finally, the virtual storage system can be upgraded by running the preset execution file in the serverless platform. In this way, the virtual storage system can be upgraded without a virtual machine or an application for auxiliary upgrade deployed in the virtual machine, thereby saving capital costs. In addition, the preset execution function will only be run when the upgrade instruction is received. When the preset execution function is not triggered, no resources are running, thereby saving processing resources on the basis of saving operating costs.

[0024] In this way, the virtual storage system is upgraded by running the preset execution function in the serverless platform. Since the serverless platform can provide a more accurate and real-time billing model, users only need to pay for the computing resources actually used, instead of paying for idle and unused resources. This can save users resource costs and operating costs. In addition, since the task processing efficiency of the serverless platform is high, it can also improve the upgrade efficiency of the virtual storage system.

[0025] 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 environment 100 includes cloud computing 102, a virtual storage system 104 and a serverless platform 106. Among them, the virtual storage system 104 and the serverless platform 106 can apply for computing resources, storage resources, etc. from the cloud computing 102. Cloud computing 102 is a computing model that separates resources from physical hardware and provides them to users as services. In cloud computing 102, resources such as central processing units (CPUs), graphics processing units (GPUs), memory, and hard disks can be combined to form a virtual and infinitely expandable "computing resource pool" through software. When users have computing power needs, they can apply for resources from cloud computing 102, and the "computing resource pool" will dynamically allocate computing power resources. Cloud computing 102 can be a public cloud, which refers to a cloud that a third-party provider provides to users and can be used through network services.

[0026] like Figure 1As shown, the virtual storage system 104 and the serverless platform 106 can be connected in communication, and the virtual storage system 104 sends an upgrade instruction to the serverless platform 106, and the serverless platform 106 can upgrade the virtual storage system 104 in response to the upgrade instruction. This can save operating costs and capital costs and improve upgrade efficiency. Alternatively, the serverless platform 106 can also receive an upgrade instruction for the virtual storage system 104 sent by a user (e.g., an administrator, an engineer) to upgrade the virtual storage system 104.

[0027] like Figure 1 As shown, the environment 100 further includes a cloud computing resource manager 108. The virtual storage system 104 and the serverless platform 106 can send resource applications to the cloud computing resource manager 108. The cloud computing resource manager 108 can allocate computing resources to the virtual storage system 104 and the serverless platform 106 according to the resource application to ensure the normal use and normal upgrade of the virtual storage system.

[0028] like Figure 1 As shown, the serverless platform 106 includes a preset execution file 110-1, a preset execution file 110-2, ..., a preset execution file 110-N (collectively referred to as preset execution file 110). The preset execution file 110-1, the preset execution file 110-2, ..., the preset execution file 110-N are respectively deployed in various areas of the serverless platform 106. Each preset execution file 110 is independent of each other and is used to perform different upgrade tasks. In the serverless platform 106, the virtual storage system 104 can be upgraded by running the preset execution file 110. The preset execution file 110 is in the form of a cloud function (Function As a Service, FaaS). A cloud function is a lightweight, unrelated, and reusable code that runs on the cloud. Users can write code in a language supported by cloud computing 102 (for example, Java, Python, JavaScript, Node.js) according to upgrade requirements, and set the conditions for the code to run to generate a cloud function.

[0029] Figure 2 FIG. 2 is a flowchart of a method 200 for upgrading a virtual storage system according to some embodiments of the present disclosure. Figure 2As shown, in box 202, method 200 receives an upgrade instruction for a virtual storage system. For example, an upgrade instruction sent by a virtual storage system is received, or an upgrade instruction sent by a user (e.g., an administrator). The upgrade instruction may include upgrade requirements, upgrade types, and target time for the upgrade. The upgrade requirements refer to system resources required by the virtual storage system, such as CPU resources and storage resources. The upgrade type refers to the upgrade method of the virtual storage system, such as a first upgrade type and a second upgrade type. The target time for the upgrade is used to indicate that the virtual storage system can be upgraded at the target time, or to indicate the triggering time of a preset execution file.

[0030] In block 204, method 200 determines an upgrade type corresponding to the upgrade instruction and a preset execution file that matches the upgrade type. Since different upgrade types correspond to different workflows, for example, the first upgrade type is to add a new memory, which does not require shutting down the virtual storage system; while the second upgrade type is to expand the capacity of the virtual storage system, which requires shutting down the virtual storage system. Therefore, in order to improve the upgrade efficiency and ensure the reliability of the upgrade, different preset execution files need to be used to execute the upgrade task of the virtual storage system.

[0031] Further, it is possible to implement the Figure 1 Different types of preset execution files are deployed in advance in the serverless platform 106 shown, such as a first preset execution file (e.g., Figure 1 The preset execution file 110-1 shown in FIG. 110-1), the second preset execution file (for example, Figure 1 The preset execution file 110-2 shown in the figure). The user writes code according to the upgrade instruction to generate a preset execution file. For example, a user (for example, an engineer) can use a language supported by the serverless platform to write code and set the conditions for the code to run to generate a preset execution file. Then, a mapping relationship between the upgrade type and the preset execution file can be established in the serverless platform. The expression form of the mapping relationship can be a mapping relationship table, a mapping relationship model, a mapping relationship function, etc. In this way, the preset execution file that matches the upgrade type can be determined based on the mapping relationship. For example, the preset execution file that matches the first upgrade type is the first preset execution file.

[0032] Continue to refer Figure 2In block 206, method 200 upgrades the virtual storage system by running a preset executable file in the serverless platform. Since the preset executable file includes an executable command set, the executable command set can combine different commands and automatically and continuously execute them in a determined order. Therefore, by triggering and executing the preset executable file, the virtual storage system can be upgraded according to the set workflow. When the preset executable file is called, the serverless platform can allocate system resources for the preset executable file and start the host environment to run the preset executable file.

[0033] In this way, method 200 can run the preset execution file in the serverless platform to upgrade the virtual storage system. Since the serverless platform can provide an accurate and real-time billing model. In the process of upgrading the virtual storage system using the preset execution file, only the actual computing resources used need to be paid, instead of paying for idle and unused resources, which can save resource costs and operating costs for users. At the same time, different preset execution files can be used to perform different types of upgrades of the virtual storage system, which can ensure the comprehensiveness and reliability of the upgrade system and further improve the upgrade efficiency.

[0034] In some embodiments, a virtual storage system can be upgraded by adding a virtual storage (eg, a first upgrade type) to the virtual storage system through a first preset execution file. Figure 3 An example implementation of upgrading a virtual storage system by using a first preset file is described. Figure 3 FIG. 3 is a schematic diagram showing a process 300 of upgrading a virtual storage system using a first preset file according to some embodiments of the present disclosure. Figure 3 As shown, in block 302, the preset execution file 110-1 can be used to provide a cloud computing platform (e.g., Figure 1 The cloud computing 102 shown in the figure sends a storage resource request. For example, the preset execution file can realize data sharing and interaction with the cloud computing platform through the cloud application programming interface (API). The size of the storage resource indicated by the storage resource request can be determined according to the upgrade requirements. For example, if the upgrade requirement is to add a storage with a capacity of 1TB to the virtual storage system, the indicated storage resource is a storage capacity resource of 1TB.

[0035] In some embodiments, the size of the storage resource indicated by the storage resource request may be determined based on the usage status and configuration information of the virtual storage system. The usage status of the virtual storage system refers to the usage capacity and remaining capacity of the storage space of the virtual storage system. The configuration information refers to the upper limit of the storage space capacity allowed by the virtual storage system, the size of the virtual memory, and the size of the virtual central processing unit. In some embodiments, the serverless platform (e.g., Figure 1 The serverless platform 106 shown can be connected to a virtual storage system (e.g., Figure 1 The network connection of the virtual storage system 104 shown in FIG. 1 is used to obtain configuration information and usage status. The size of the storage resource is determined according to the difference between the remaining capacity of the storage space and the upper limit of the capacity of the storage space.

[0036] Furthermore, in order to avoid frequent upgrades of the virtual storage system in a short period of time, the size of the storage resources can be adjusted according to the size of the remaining storage data of the virtual storage system and the data reading speed. For example, when the data reading speed is fast and the data volume of the remaining storage data is large, multiple memories can be added, or the storage capacity of the newly added memories can be increased. In this way, the size of the storage resources can be appropriately increased.

[0037] Continue to refer Figure 3 In box 304, the first preset execution file can receive the request result and the required storage resources returned by the cloud computing platform through the cloud API. In box 306, the first preset execution file can be used to configure a new memory according to the received storage resources, for example, a memory with a capacity of 1TB. In box 308, the first preset execution file can add the new memory to the virtual storage system through the cloud API. In this way, the virtual storage system can convert the new memory into the internal memory of the system through the internal API of the system to store business data.

[0038] In some embodiments, expanding the capacity of the existing memory of the virtual storage system or switching the type of the virtual storage system all belong to the second upgrade type. Different types of virtual storage systems have different configuration information and supported system resources. For example, the upper limit of capacity allowed by virtual storage system type 1 is 16TB, the size of the virtual CPU is 4G, and the size of the virtual memory is 16G. The upper limit of capacity allowed by virtual storage system type 2 is 32TB, the size of the virtual CPU is 8G, and the size of the virtual memory is 32G.

[0039] Since the virtual storage system needs to be shut down during the upgrade of the second upgrade type when the virtual storage system is upgraded, which is different from the upgrade workflow corresponding to the first upgrade type, the second preset execution file can be used to upgrade the virtual storage system. After shutting down the virtual storage system, the second preset execution file can be executed through the cloud computing resource manager (for example, Figure 1 ) to a cloud computing platform (e.g., Figure 1 The second preset execution file may apply for the system resources required to upgrade the virtual storage system based on the system resources, and expand the upper limit of the capacity allowed by the virtual storage system. Finally, after completing the upgrade of the virtual storage system, the second preset execution file may start the virtual storage system so that the virtual storage system can be used normally again. It is understandable that after the virtual storage system is restarted, it can reconfigure the resources required to process the business data.

[0040] In this way, the virtual storage system can be upgraded by running the second preset execution file on the serverless platform. No additional application is required to control the startup and shutdown of the virtual storage system, saving operating costs and capital costs. Moreover, this method can smoothly and efficiently execute the upgrade workflow, thereby improving the upgrade efficiency.

[0041] In some embodiments, since there are two types of second upgrade types, the two types of second upgrade types are different when using the second preset execution file to upgrade the virtual storage system. Therefore, two types of second preset execution files can be used to respectively implement the upgrade of the virtual storage system. Figures 4 to 5 A schematic diagram of a process 400 of expanding the memory of a virtual storage system using a second preset execution file according to some embodiments of the present disclosure and a schematic diagram of a process 500 of switching the type of a virtual storage system using a second preset execution file according to some embodiments of the present disclosure are shown.

[0042] like Figure 4 As shown, in box 402, the virtual storage system can be shut down using the preset execution file 110-2. For example, the state of the virtual storage system is set to "stopped". In box 404, the preset execution file 110-2 can send a message to the cloud computing platform (e.g., Figure 1The cloud computing platform 102 shown in FIG. 404 applies for system resources required to expand the capacity of the existing memory of the virtual storage system. For example, if the capacity of the existing memory of the virtual storage system needs to be expanded from 1 TB to 2 TB, it is necessary to apply for system resources with a capacity of 1 TB from the cloud computing platform. In block 406, the capacity of the memory of the virtual storage system can be expanded based on the applied system resources using the preset execution file 110-2 to upgrade the virtual storage system.

[0043] In some embodiments, since the system resources supported by the virtual storage system are limited, the memory capacity of the virtual storage system needs to be expanded within the supported system resources. Therefore, before upgrading the virtual storage system, it is necessary to determine whether the extended capacity of the memory indicated in the upgrade instruction meets the configuration of the virtual storage system. For example, the upper limit of the capacity allowed by the virtual storage system is obtained to be 96TB. If the extended capacity indicated in the upgrade instruction is 10TB, and the used capacity of the virtual storage system is 20TB, then the extended capacity meets the upper limit of the capacity allowed by the virtual storage system. In response to determining that the extended capacity meets the system resources supported by the virtual storage system, the system resources required for upgrading the virtual storage system are obtained using the second preset execution file. It can be understood that after the extended capacity does not meet the system resources supported by the virtual storage system, an abnormal reminder message can be returned to prompt the user to purchase the required system resources on demand. In this way, the operation of upgrading the virtual storage system can be made to comply with the normal upgrade process.

[0044] like Figure 5 As shown, in block 502, the virtual storage system can be shut down using the preset execution file 110-3. In block 504, the preset execution file 110-3 can be sent to the cloud computing platform (e.g., Figure 1 The cloud computing platform 102 shown in FIG. 5A applies for the system resources required for switching the virtual storage system. For example, if a virtual storage system with a capacity of 16 TB needs to be switched to a virtual storage system with a capacity of 32 TB, it is necessary to apply for storage resources with a capacity of 16 TB and other system resources from the cloud computing platform. In box 506, the type of the virtual storage system can be switched based on the applied system resources using the preset execution file 110-3 to upgrade the virtual storage system. For example, the virtual storage system can be reconfigured to change the size of the virtual central processor of the virtual storage system and the upper limit of the allowed capacity to switch the type of the virtual storage system.

[0045] In some embodiments, the system resources used by the virtual storage system can only be used after the user pays. Switching the type of virtual storage system will result in an increase in the system resources used by the virtual storage system. Therefore, the user purchases system resources as needed, and after obtaining a license, the system resources required for switching the virtual storage system can be obtained from the cloud computing platform. Further, after determining the target switching type of the virtual storage system using the second preset execution file, the system resources used by the virtual storage system of the target switching type can be determined. Afterwards, a prompt message for adding a license can be returned. After the user purchases system resources on demand, the cloud computing platform can generate a license. Then, after receiving the license corresponding to the target switching type using the second preset execution file, the system resources required for switching the type of virtual storage system can be switched.

[0046] In some embodiments, when switching the type of the virtual storage system, the types can be switched one by one according to the arrangement order of the types. The arrangement order can be the order obtained by arranging the types of the virtual storage systems in order from small to large according to the upper limit of the capacity allowed by the virtual storage system. For example, when the arrangement order is type 1, type 2, type 3, the virtual storage system is switched from type 1 to type 2. Alternatively, in order to avoid frequently upgrading the virtual storage system in a short period of time, the target switching type of the virtual storage system can also be selected according to the actual storage requirements and application environment. Further, the target switching type of the virtual storage system can be determined according to the size of the remaining storage data of the virtual storage system and the data reading speed. For example, when the data volume of the remaining storage data is large and the data reading speed is fast, the virtual storage system can be switched from type 1 to type 3, and the target switching type is type 3.

[0047] In this way, the appropriate target switching type can be selected for switching according to the application environment and application requirements of the virtual storage system, thereby avoiding the problem of frequent switching of the virtual storage system in a short period of time and further improving the user experience.

[0048] In some embodiments, the time point at which the virtual storage system is upgraded is of great importance to the user. Upgrading the virtual storage system at the best upgrade time can maximize the legitimate interests of the user under the premise of ensuring the normal use of the virtual storage system. The target time for the upgrade can be determined based on the workload and usage of the virtual storage system. Figure 6 An example environment 600 is described for determining a target time based on workload and usage of a virtual storage system.

[0049] like Figure 6As shown, the environment 600 includes a virtual storage system 104 and a serverless platform 106. The virtual storage system 104 includes a virtual central processor 602, a virtual memory 604, a virtual storage 606, a workload monitor 608, a usage status monitor 610, and an upgrade trigger 612. The usage status monitor 610 can monitor the usage status of the virtual storage system 104. For example, the usage status of the virtual storage 606 can be monitored to determine the remaining capacity of the virtual storage 606. The workload monitor 608 can monitor the workload of the virtual storage system 104. For example, the load of the virtual central processor 602 and the load of the virtual memory 604 can be monitored.

[0050] like Figure 6 As shown, after the use status monitor 610 is used to determine the use status of the virtual storage system 104, and the workload monitor 608 is used to determine the workload of the virtual storage system 104, if the use status and the workload meet the upgrade requirements at the same time, the target time can be determined, and the upgrade trigger 612 is triggered, so that the trigger upgrader 612 generates an upgrade instruction. The upgrade instruction indicates the target time of the upgrade. Finally, the second preset execution file can be triggered at the target time, so that the second preset execution file can close the virtual storage system 104 at the target time to upgrade the virtual storage system 104. Before upgrading the virtual storage system 104, it is necessary to use the licensed capacity detector 614 to determine whether the upgrade requirements meet the licensed capacity of the virtual storage system. If the upgrade requirements do not meet the licensed capacity of the virtual storage system, it is necessary to return an abnormal reminder message.

[0051] In some embodiments, in order to improve the upgrade efficiency, multiple controllers can be deployed on the serverless platform to drive each workflow node. The preset execution file can select and use each controller according to the set order to upgrade the virtual storage system. Figure 7 The following describes a process for upgrading a virtual storage system according to some embodiments of the present disclosure. Figure 7 FIG. 7 is a schematic diagram of an example environment 700 for upgrading a virtual storage system according to some embodiments of the present disclosure. Figure 7 As shown, the serverless platform 106 includes a resource acquirer 702, a virtual storage system controller 704, and an error handler 706. The resource acquirer 702 can apply to the cloud computing 102 for system resources required for upgrading the virtual storage system through the cloud computing resource manager 108. When applying for system resources, the resource acquirer 702 can determine the system resources to be applied for according to the upgrade type and upgrade requirements indicated by the upgrade instruction.

[0052] like Figure 7As shown, the virtual storage system controller 704 can determine whether to start / shut down the virtual storage system according to the upgrade type indicated by the upgrade instruction. The error processor 706 can record the upgrade process and generate a log. The error processor 706 can also return an abnormal reminder message in the case of an upgrade failure, prompting the user that the upgrade failed and the reason for the failure. For example, in the case where a license is not obtained and system resources cannot be applied to the cloud computing platform, a prompt message "cloud resources are unavailable, upgrade failed" can be returned to the user.

[0053] In some embodiments, Figure 7 As shown, when the upgrade type indicated by the upgrade instruction is the type of switching the virtual storage system, after being triggered, the second preset execution file can first call the resource acquirer 702 to apply for the system resources required for upgrading the virtual storage system from the cloud computing platform 102 through the cloud API. When it is determined that the system resources are available, the virtual storage system controller 704 is called to shut down the virtual storage system 104. After the upgrade is completed, the virtual storage system controller 704 can be called to restart the virtual storage system 104.

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

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

[0056] The computing unit 801 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 801 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 801 performs the various methods and processes described above, such as method 200. For example, in some embodiments, the method 200 may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the method 200 described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the method 200 in any other appropriate manner (e.g., by means of firmware).

[0057] 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.

[0058] 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.

[0059] 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.

[0060] 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, the method being applied in a serverless platform, comprising: receiving an upgrade instruction for the virtual storage system; Determining an upgrade type corresponding to the upgrade instruction and a preset execution file matching the upgrade type, wherein the preset execution file is pre-deployed in the serverless platform; The virtual storage system is upgraded by running the preset execution file in the serverless platform.

2. The method according to claim 1, wherein the upgrade type comprises a first upgrade type, the first upgrade type is adding a new memory, the preset execution file is a first preset execution file, and upgrading the virtual storage system comprises: Sending a storage resource request to the cloud computing platform using the first preset execution file; Receiving, by using the first preset execution file, storage resources allocated by the cloud computing platform in response to the storage resource request; configuring a new memory based on the storage resource using the first preset execution file; The new memory is added to the virtual storage system using the first preset execution file. 3 . The method according to claim 2 , wherein the storage resource request comprises a size of the storage resource, and the size of the storage resource is determined according to a usage status and configuration information of the virtual storage system.

4. The method according to claim 1, wherein the upgrade type includes a second upgrade type, the preset execution file is a second preset execution file, and upgrading the virtual storage system includes: Using the second preset execution file to close the virtual storage system; Using the second preset execution file to obtain system resources required for upgrading the virtual storage system; Based on the system resources, upgrading the virtual storage system using the second preset execution file; The virtual storage system is started using the second preset execution file.

5. The method according to claim 4, wherein the second upgrade type includes switching the type of the virtual storage system, different types of virtual storage systems have different configuration information and supported system resources, and using the second preset execution file to obtain the system resources required for upgrading the virtual storage system includes: Determining a target switching type of the virtual storage system by using the second preset execution file; Receiving a license corresponding to the target switching type using the second preset execution file; The second preset execution file is used to acquire system resources required for upgrading the virtual storage system based on the license.

6. The method according to claim 4, wherein the second upgrade type includes switching the type of the virtual storage system, different types of virtual storage systems have different configuration information and supported system resources, and upgrading the virtual storage system using the second preset execution file includes: The virtual storage system is reconfigured using the second preset execution file to switch the type of the virtual storage system.

7. The method according to claim 5, wherein determining the target switching type of the virtual storage system comprises: The target switching type of the virtual storage system is determined according to the size of the remaining storage data of the virtual storage system and the data reading speed.

8. The method according to claim 4, wherein the second upgrade type includes expanding the memory of the virtual storage system, and using the second preset execution file to obtain system resources required for the upgrade includes: Acquire the expansion capacity of the memory indicated in the upgrade instruction; Determining whether the expansion capacity satisfies system resources supported by the virtual storage system by using the second preset execution file; as well as In response to determining that the expansion capacity satisfies the supported system resources, the system resources required for upgrading the virtual storage system are acquired using the second preset execution file.

9. The method according to claim 4, wherein the second upgrade type includes expanding the memory of the virtual storage system, and upgrading the virtual storage system using the second preset execution file comprises: The memory of the virtual storage system is expanded using the second preset execution file.

10. The method according to claim 4, before closing the virtual storage system using the second preset execution file, further comprising: Determine the target time according to the workload and usage status of the virtual storage system; The second preset execution file is triggered at the target time.

11. 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: receiving an upgrade instruction for the virtual storage system; Determining an upgrade type corresponding to the upgrade instruction and a preset execution file matching the upgrade type, wherein the preset execution file is pre-deployed in the serverless platform; The virtual storage system is upgraded by running the preset execution file in the serverless platform.

12. The device according to claim 11, wherein the upgrade type comprises a first upgrade type, the first upgrade type is adding a new memory, the preset execution file is a first preset execution file, and upgrading the virtual storage system comprises: Sending a storage resource request to the cloud computing platform using the first preset execution file; Receiving, by using the first preset execution file, storage resources allocated by the cloud computing platform in response to the storage resource request; configuring a new memory based on the storage resource using the first preset execution file; The new memory is added to the virtual storage system using the first preset execution file.

13. The device according to claim 12, wherein the storage resource request comprises a size of the storage resource, and the size of the storage resource is determined according to a usage status and configuration information of the virtual storage system.

14. The device according to claim 11, wherein the upgrade type comprises a second upgrade type, the preset execution file is a second preset execution file, and upgrading the virtual storage system comprises: Using the second preset execution file to close the virtual storage system; Using the second preset execution file to obtain system resources required for upgrading the virtual storage system; Based on the system resources, upgrading the virtual storage system using the second preset execution file; The virtual storage system is started using the second preset execution file.

15. The device according to claim 14, wherein the second upgrade type includes switching the type of the virtual storage system, different types of virtual storage systems have different configuration information and supported system resources, and using the second preset execution file to obtain the system resources required for upgrading the virtual storage system includes: Determining a target switching type of the virtual storage system by using the second preset execution file; Receiving a license corresponding to the target switching type using the second preset execution file; The second preset execution file is used to obtain system resources corresponding to system resources required to upgrade the virtual storage system based on the license.

16. The device according to claim 14, wherein the second upgrade type includes switching the type of the virtual storage system, different types of virtual storage systems have different configuration information and supported system resources, and upgrading the virtual storage system using the second preset execution file includes: The virtual storage system is reconfigured using the second preset execution file to switch the type of the virtual storage system.

17. The device according to claim 15, wherein determining the target switching type of the virtual storage system comprises: The target switching type of the virtual storage system is determined according to the size of the remaining storage data of the virtual storage system and the data reading speed.

18. The device according to claim 14, wherein the second upgrade type comprises expanding the memory of the virtual storage system, and using the second preset execution file to obtain system resources required for the upgrade comprises: Acquire the expansion capacity of the memory indicated in the upgrade instruction; Determining whether the expansion capacity satisfies system resources supported by the virtual storage system by using the second preset execution file; as well as In response to determining that the expansion capacity satisfies the supported system resources, the system resources required for upgrading the virtual storage system are acquired using the second preset execution file.

19. The device according to claim 14, wherein the second upgrade type comprises expanding the memory of the virtual storage system, and upgrading the virtual storage system using the second preset execution file comprises: The memory of the virtual storage system is expanded using the second preset execution file.

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: receiving an upgrade instruction for the virtual storage system; Determining an upgrade type corresponding to the upgrade instruction and a preset execution file matching the upgrade type, wherein the preset execution file is pre-deployed in the serverless platform; The virtual storage system is upgraded by running the preset execution file in the serverless platform.