A method, device, storage medium and electronic device for dynamic management of storage pool

By dynamically managing the user's storage pool and adjusting the service capacity and data storage location according to the user's status, the problems of low resource utilization and high operating costs in cloud storage services are solved, and the rational allocation of resources and the improvement of user experience are achieved.

CN118963679BActive Publication Date: 2025-03-11ZIGUANG HENGYUE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411442272.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-16
Publication Date
2025-03-11
Estimated Expiration
2044-10-16

AI Technical Summary

Technical Problem

Existing cloud storage services cannot effectively utilize unused storage space after user needs and selections, and users cannot continue to store after reaching the limit, resulting in low resource utilization and high operating costs.

Method used

By obtaining the user status in the user parameters corresponding to the specified timestamp, comparing the user status and current status, determining that the user has entered the dynamic allocation stage of capacity or the dynamic allocation stage of storage, dynamically adjusting the service capacity and user data storage location, and realizing the rational allocation and utilization of resources.

Benefits of technology

It improves the utilization rate of cloud storage resources, reduces operating costs, meets users' storage needs, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118963679B_ABST
    Figure CN118963679B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of data storage, and specifically provides a method, device, storage medium and electronic device for dynamic management of a storage pool, the method may include: obtaining a user status in a user parameter corresponding to a specified timestamp; determining a management stage for the user by comparing the user status with the user's current status, wherein the management stage includes: a capacity dynamic allocation stage and a storage dynamic allocation stage; the capacity dynamic allocation stage is used to adjust the service capacity provided to the user, and the storage dynamic allocation stage is used to adjust the location for storing user data related to the user. Some embodiments of the present application can achieve reasonable utilization of storage pool resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data storage, and in particular to a method, device, storage medium and electronic device for dynamic management of a storage pool. Background Art

[0002] At present, when providing cloud storage services to users, resources of corresponding capacity are usually configured for them based on their needs and choices. After allocating the specified capacity to the user, it is impossible to effectively utilize the majority of the unused space, nor is it possible to exceed the storage limit after the user's usage reaches the limit. Obviously, this one-time method of directly allocating resources to users cannot achieve the reasonable utilization of resources in cloud storage services, and the resource utilization rate is low.

[0003] Therefore, how to provide a technical solution for an efficient storage pool dynamic management method has become a technical problem that needs to be solved urgently. Summary of the invention

[0004] The purpose of some embodiments of the present application is to provide a method, device, storage medium and electronic device for dynamic management of a storage pool. Through the technical solutions of the embodiments of the present application, reasonable allocation and utilization of cloud storage resources can be achieved, resource utilization can be improved, and operating costs can be reduced.

[0005] In a first aspect, some embodiments of the present application provide a method for dynamic management of a storage pool, including: obtaining a user status in a user parameter corresponding to a specified timestamp; determining a management stage for the user by comparing the user status with the user's current status, wherein the management stage includes: a capacity dynamic allocation stage and a storage dynamic allocation stage; the capacity dynamic allocation stage is used to adjust the service capacity provided to the user, and the storage dynamic allocation stage is used to adjust the location for storing user data related to the user.

[0006] Some embodiments of the present application compare the user status at a specified timestamp with the user's current status to determine whether the user has entered the capacity dynamic allocation phase or the storage dynamic allocation phase. Some embodiments of the present application dynamically adjust the management of user service resources through changes in user status, achieve reasonable allocation and utilization of cloud storage resources, improve resource utilization, and reduce operating costs.

[0007] In some embodiments, before obtaining the user status in the user parameters corresponding to the specified timestamp, the method further includes: configuring user parameters of at least one user, wherein the user parameters include: the user status, user disaster recovery capability, user level and user network status; based on the user weight of each user in the at least one user, adding each user to an inspection queue, wherein the inspection queue includes: a timestamp and a linked list pointer, and the linked list pointer includes: the user weight and the user parameters; determining that the current timestamp is the specified timestamp.

[0008] Some embodiments of the present application configure user parameters and add users to the inspection queue according to user weights. Based on the node arrived at the current timestamp, it is convenient to extract the data of related users from the inspection queue, thereby realizing effective management of users and dynamic management of subsequent storage pools.

[0009] In some embodiments, determining the management stage of the user by comparing the user status and the user's current status includes: confirming that the user status and the user's current status are the first status, then the user enters the capacity dynamic allocation stage; wherein the first status includes: an active status and a temporarily idle status; confirming that the user status and the user's current status are the second status, and there is a service demand, then the user enters the capacity dynamic allocation stage; wherein the second status includes: the user status and the user's current status are continuously idle and the count value of the idle status exceeds a set threshold, or the user's current status is in an exit state; confirming that the user status and the user's current status are the second status, and there is no service demand, then the user enters the storage dynamic allocation stage.

[0010] Some embodiments of the present application determine whether to enter the capacity dynamic allocation stage or the storage dynamic allocation stage by judging the user's user status, thereby meeting user needs and improving the rationality of resource allocation.

[0011] In some embodiments, when the user enters the capacity dynamic allocation stage, the method includes: based on the user's current network status, determining whether the user's capacity quota meets the service requirements of the next timestamp; if so, not adjusting the service capacity; if not, determining a capacity expansion gear that matches the service requirements, and expanding the service capacity according to the capacity expansion gear.

[0012] Some embodiments of the present application confirm whether the current capacity quota meets the service requirements of the next timestamp through the user's current network status to determine whether to perform capacity expansion operations, thereby improving the rationality of capacity usage resource allocation while meeting the user's service requirements.

[0013] In some embodiments, the count value is negatively correlated with the user weight. When the user enters the dynamic storage allocation stage, the method includes: confirming that the user weight is lower than a preset weight threshold; storing the user data in a next-level subdirectory; wherein the subdirectory name of the next-level subdirectory is the same as the name prefix of the directory where the user data is currently located, and the user parameters include the name of the current directory and the subdirectory names at different storage levels in the storage pool.

[0014] Some embodiments of the present application perform storage management on user data based on user weights, thereby achieving reasonable utilization of storage pool resources.

[0015] In some embodiments, after storing the user data in the next-level subdirectory, the method further includes: upon confirming that the user's status is updated to the active status, obtaining storage parameters of the user data; if the user level in the storage parameters is lower than the user level in the user parameters, restoring the user data to a storage location that matches the user level in the user parameters.

[0016] Some embodiments of the present application confirm and adjust the storage location of the user data based on the user level after confirming that the user has resumed the active state, thereby achieving hierarchical and effective management of user data and improving user experience.

[0017] In a second aspect, some embodiments of the present application provide a device for dynamically managing a storage pool, comprising: an acquisition module for acquiring a user status in a user parameter corresponding to a specified timestamp; a management module for determining a management stage for the user by comparing the user status with the user's current status, wherein the management stage comprises: a capacity dynamic allocation stage and a storage dynamic allocation stage; the capacity dynamic allocation stage is used to adjust the service capacity provided to the user, and the storage dynamic allocation stage is used to adjust the location for storing user data related to the user.

[0018] In a third aspect, some embodiments of the present application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, can implement the method described in any embodiment of the first aspect.

[0019] In a fourth aspect, some embodiments of the present application provide an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor can implement a method as described in any embodiment of the first aspect when executing the program.

[0020] In a fifth aspect, some embodiments of the present application provide a computer program product, wherein the computer program product comprises a computer program, wherein the computer program, when executed by a processor, can implement the method described in any embodiment of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions of some embodiments of the present application, the drawings required for use in some embodiments of the present application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0022] Figure 1 One of the flow charts of the method for dynamic management of storage pool provided in some embodiments of the present application;

[0023] Figure 2 A schematic diagram of a data storage pool structure provided for some embodiments of the present application;

[0024] Figure 3 A second flow chart of a method for dynamic management of a storage pool provided in some embodiments of the present application;

[0025] Figure 4 A block diagram of a storage pool dynamic management device provided in some embodiments of the present application;

[0026] Figure 5 A schematic diagram of an electronic device is provided for some embodiments of the present application. DETAILED DESCRIPTION

[0027] The technical solutions in some embodiments of the present application will be described below in conjunction with the drawings in some embodiments of the present application.

[0028] It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. At the same time, in the description of this application, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.

[0029] In the related technologies, traditional cloud disks and file storage servers have relatively fixed quota allocations for users. After allocating specified capacity to users, there are drawbacks such as being unable to effectively utilize the unused space, and being unable to continue storing after the user reaches the specified capacity. On the premise that the horizontal expansion capability of the underlying server cluster is effectively improved with distributed storage, how to effectively manage user allocation capacity and improve resource utilization; and how to determine the data storage medium layer based on different user habits and frequencies are the keys to improving user experience and reducing operation and maintenance costs.

[0030] In view of this, some embodiments of the present application provide a method for dynamic management of a storage pool, which obtains the user status in the user parameters after reaching a specified timestamp, and then compares the user status with the user's current status to determine which management stage the user enters next. The present application can achieve dynamic adjustment of user quota capacity through the capacity dynamic allocation stage to meet user needs; and can achieve dynamic adjustment of user data storage through the storage dynamic allocation stage to reduce operating costs and improve user experience.

[0031] The following is combined with Figure 1 The implementation process of dynamic management of storage pools provided by some embodiments of the present application is exemplified.

[0032] Please see attached Figure 1 , Figure 1 A flow chart of a method for dynamic management of a storage pool provided in some embodiments of the present application. The method for dynamic management of a storage pool can be executed by a terminal, which can be a mobile terminal, or a non-portable computer or server terminal, and the embodiments of the present application are not specifically limited here.

[0033] The above process is explained below as an example.

[0034] In some embodiments of the present application, the method for dynamic management of a storage pool may include:

[0035] S110, obtaining a user status in a user parameter corresponding to a specified timestamp.

[0036] For example, in some embodiments of the present application, when the terminal monitor detects that the process time reaches a specified timestamp, the stored user state is obtained from the user parameters, where the user state includes an Active state and an Idle state.

[0037] In some embodiments of the present application, before executing S110, the method for dynamic management of the storage pool may further include: configuring user parameters of at least one user, wherein the user parameters include: the user status, user disaster recovery capability, user level and user network status; based on the user weight of each user in the at least one user, adding each user to an inspection queue, wherein the inspection queue includes: a timestamp and a linked list pointer, and the linked list pointer includes: the user weight and the user parameters; determining that the current timestamp is the specified timestamp.

[0038] For example, in some embodiments of the present application, a user directory group is first established to determine the initial quota assigned to each user, the redundancy mode of the data storage pool, the user level and other information to complete the configuration of user parameters. Then all users are added to the inspection queue to facilitate providing relevant services to the users. In one embodiment, Figure 2 As shown, the redundancy modes in the data storage pool structure in this application include erasure coding (or ERC disaster recovery area) and replica (or replica disaster recovery area). Data storage pools are divided into cold, warm, and hot data pools from low to high read / write / IO capabilities, and each data pool can be divided into erasure coding and replica. The former has high disk utilization and relatively low cost but strong disaster recovery capability, while the latter has strong disaster recovery capability but high cost and low disk utilization. Each data pool can be expanded horizontally online.

[0039] Specifically, when a user is established, the disaster recovery capability is first set to a replica type or an erasure code type (as a specific example of the user's disaster recovery capability), the user level, user status, and user network status are set, and corresponding subdirectories are established in the corresponding cold, warm, and hot storage pools, and similar directories are established in the pool with a temperature lower than its heat, so as to determine the user parameters for configuration. Among them, the user level is graded according to the user's service needs. For example, the greater the storage resources required for the user's service needs, the higher the user level. The user's network status can be the transmission bandwidth of the user's current data, etc. Taking the user "user1" as an erasure coded warm data user as an example, its subdirectory prefix is ​​set to "user1_erc_", and at the same time, "user1_erc_zwi" is established in the warm data pool, and "user1_erc_dre" directory (that is, a similar directory) is established in the cold data pool. The user parameters can also include directory names. After completing the configuration of all user parameters, they are entered into the database. According to the parameters based on the user's current network status (for example, the current bandwidth), the appropriate expansion gear is selected in the global parameters. The available capacity is allocated for the first time based on the user's total capacity limit. At the same time, the storage medium logical volume / physical sector and other information corresponding to the allocated available capacity are added to the database (that is, the location where the user data corresponding to the available capacity is stored), and the user is placed in the inspection queue according to the user weight. For example, the user's total capacity limit is 100G, and the available capacity allocated for the first time is 20G.

[0040] The inspection queue can be sorted in ascending or descending order according to the user weight. The user weight is determined based on the data pool to which the user's data belongs, the redundancy mode, the available capacity, the network status and other related parameters. The expansion gear is determined in the expansion mapping table, which includes the correspondence between different expansion gears and network conditions.

[0041] In addition, the data structure of the inspection queue is a pointer linked list, and each data element points to a data pair of "timestamp: linked list pointer", and the linked list pointer data element of the data pair is a data pair of "user weight value: user parameter configuration"; the cluster monitor uses the timestamp of the linked list header of the inspection queue as the reference for servo, and when the monitor timestamp reaches the specified timestamp, the linked list pointer corresponding to the data pair of the specified timestamp is parsed, and the users corresponding to each data element of the pointer enter the next stage.

[0042] S120, determining a management stage for the user by comparing the user state with the user's current state, wherein the management stage includes: a capacity dynamic allocation stage and a storage dynamic allocation stage; the capacity dynamic allocation stage is used to adjust the service capacity provided to the user, and the storage dynamic allocation stage is used to adjust the location for storing user data related to the user.

[0043] For example, in some embodiments of the present application, after the monitoring process reaches a specified timestamp, the corresponding linked list is sent to the specified service process, and the corresponding service process automatically starts to parse the user parameters and compare the user parameters with the user's current state. By comparing the user state corresponding to the specified timestamp with the user's current state, it is determined whether the user enters the capacity dynamic allocation stage or the storage dynamic allocation stage.

[0044] In some embodiments of the present application, S120 may include: confirming that the user status and the user's current status are the first state, then the user enters the capacity dynamic allocation stage; wherein the first state includes: an active state and a temporarily idle state; confirming that the user status and the user's current state are the second state, and there is a service demand, then the user enters the capacity dynamic allocation stage; wherein the second state includes: the user status and the user's current state are continuously idle and the count value of the idle state exceeds a set threshold, or the user's current state is in an exit state; confirming that the user status and the user's current state are the second state, and there is no service demand, then the user enters the storage dynamic allocation stage.

[0045] For example, in some embodiments of the present application, if the user continues to be in the Active state or temporarily enters the Idle state (that is, the temporary idle state) from the user state to the user's current state, the user enters the capacity dynamic allocation stage. Among them, the user's continuous Active state can be judged based on the data recorded in the relevant log. Temporary entry into the Idle state can be judged based on the user entering the Idle state for a preset period of time and then returning to the Active state. The preset period can be set according to demand, and this application is not specifically limited here. If the user continues to be in the Idle state, the Idle count continues to increase; when the user's Idle count (as a specific example of the count value) reaches the limit (as a specific example of setting the threshold) or has exited (that is, the exit state), it is regarded as the session termination, and the configuration content of the user parameters is updated at this time. It is further necessary to confirm whether the user has a service demand. If there is a service demand, it is necessary to continue to provide services to the user, and then send it to the appropriate position of the inspection queue (that is, determine its position in the queue according to the current user weight). If there is no service demand, that is, it is no longer necessary to provide services temporarily, the user is sent to the storage pool monitoring queue, and the user enters the "storage dynamic allocation stage". The threshold setting can be flexibly set according to actual needs.

[0046] In some embodiments of the present application, S120 may include: when the user enters the dynamic capacity allocation stage, based on the user's current network status, determining whether the user's capacity quota meets the service requirements of the next timestamp; if so, not adjusting the service capacity; if not, determining a capacity expansion gear that matches the service requirements, and expanding the service capacity according to the capacity expansion gear.

[0047] For example, in some embodiments of the present application, after the user enters the dynamic capacity allocation stage, the average network status of the current or current connection and the global parameters (as a specific example of the current network status) are referenced to estimate whether the user allocation capacity at the next timestamp can meet the usage needs (that is, the service needs). If it does, the capacity will not be expanded in this operation. If it does not, the user will be expanded to the corresponding capacity expansion level with reference to the current network status and global parameters. Among them, the global parameters may include parameters such as the current user access speed, user data type, and current distributed cluster usage status. In addition, after the expansion, the user parameters need to be adaptively adjusted.

[0048] In some embodiments of the present application, S120 may include: the count value is negatively correlated with the user weight, and when the user enters the dynamic storage allocation stage, confirming that the user weight is lower than a preset weight threshold; storing the user data in a next-level subdirectory; wherein the subdirectory name of the next-level subdirectory is the same as the name prefix of the directory where the user data is currently located, and the user parameters include the name of the current directory, and the subdirectory names at different storage levels in the storage pool.

[0049] For example, in some embodiments of the present application, based on the existing storage pool status of user data and the overall user parameter configuration, all user data is moved between the cold and hot data pools (as a specific example of different storage levels) while ensuring data integrity and normal business, and the storage pool health status is monitored based on existing trends, and reasonable suggestions are made on the expansion direction and stage of the storage pool. Among them, the preset weight threshold can be flexibly set according to the actual application scenario.

[0050] Specifically, all users in non-Aactive state (i.e., Idel state) are placed in a "storage pool balancing queue" with a structure similar to the inspection queue. The interval of the timestamps of the component users in the balancing queue is relatively long (for example, an interval of 1 day or a week, etc.), and as the count of users maintaining the inactive state increases, the time interval will gradually increase until it reaches a stable value. The continuous increase in the time interval means that the time period for detecting the user status in the balancing queue will also increase. As the count of the inactive state increases, the user weight will continue to decrease until it is reduced to the lowest weight in the user level. Among them, a comparison table can be set between the count of the inactive state and the user weight, which can include the relationship between the increase in the count value and the decrease in the user weight, such as an increase in the count by 5 and a decrease in the user weight by 1%.

[0051] When the user weight drops to the preset weight threshold, the user data is cooled. That is, the user data is moved from the subdirectory (as a specific example of the current directory) to a similar directory with the same name prefix (as a specific example of the next-level subdirectory). For example, if the user data is currently in a subdirectory of the hot data pool, it needs to be moved to a similar directory of the warm data pool.

[0052] It should be noted that when cooling down user data, data synchronization can be performed within a specified time. For example, when the user parameter configuration shows that the user has a stable login time, the specified time will avoid the user's common operation time to the greatest extent; when the user parameter configuration shows that the user's average login time is not fixed, the distributed cluster overall maintenance time point will be used as the specified time for data synchronization; after the data synchronization is successful, the directory information in the user parameters will be pointed to a similar directory with the same prefix at a lower level, the original subdirectories will be cleaned up, and the space capacity occupied by the original subdirectories will re-enter the allocatable queue so that the capacity can be reallocated.

[0053] In some embodiments of the present application, after storing the user data in a next-level subdirectory, the method for dynamic management of the storage pool also includes: when confirming that the user's status is updated to the active status, obtaining the storage parameters of the user data; if the user level in the storage parameters is lower than the user level in the user parameters, restoring the user data to a storage location that matches the user level in the user parameters.

[0054] For example, in some embodiments of the present application, when the user re-enters the Active state, all related "non-Active state counts" are cleared, and the storage pool parameters (that is, storage parameters) currently occupied by the user's user data are checked. If the user data has cooled down to a level lower than the current user level, it is first checked whether the original sector (that is, the space capacity corresponding to the original subdirectory in the above text, as a specific example of a storage location) is still available (that is, it has not been reallocated).

[0055] If the original sector is available, the metadata and sector information in the database are used to restore the data at the appropriate level, and the user data is verified. Taking the example above as an example, when cooling down, the user data was previously moved from the subdirectory of the hot data pool to the similar directory of the warm data pool. Now the data needs to be heated up, that is, the user data is moved from the similar directory of the warm data pool to the subdirectory of the hot data pool.

[0056] If the original sector is occupied, a new sector (as a specific example of a storage location) will be allocated to store user data, and the existing user data will be globally synchronized; after the user data is successfully upgraded and verified, the user's current occupancy in the user parameters will be redirected to the upgraded directory with the same prefix, and the user will re-enter the "dynamic capacity allocation phase".

[0057] The following is combined with Figure 3 The specific process of dynamic management of storage pools provided by some embodiments of the present application is exemplified.

[0058] Please see attached Figure 3 , Figure 3 A flow chart of a method for dynamic management of a storage pool provided for some embodiments of the present application.

[0059] The above process is explained below as an example.

[0060] S301, establishing a user directory, and configuring user parameters for users in the user directory.

[0061] S302, adding each user to the inspection queue in order based on the user weight of each user.

[0062] S303: Determine that the current timestamp is a specified timestamp in the inspection queue.

[0063] S304: Obtain the user status in the user parameters corresponding to the specified timestamp.

[0064] S305, comparing the user state with the user's current state to determine whether the user is in the first state, if not, executing S306, if yes, executing S307.

[0065] S306, determine whether the user has service demand, if yes, execute S307, otherwise execute S308.

[0066] S307, determining that the user enters the capacity dynamic allocation phase, and executing S309.

[0067] S308, determining that the user enters the storage dynamic allocation phase, and executing S311.

[0068] S309, determine whether the user needs to expand capacity, if so, execute S310, otherwise return to S303.

[0069] S310, determining an expansion level that matches the service demand, expanding the service capacity according to the expansion level, and returning to S303.

[0070] S311, using the count value of the inactive state, update the user weight.

[0071] S312, determine whether the user weight is lower than the preset weight threshold, if so, execute S313, otherwise return to S311.

[0072] S313, storing the user data in a similar directory with the same name prefix as the current subdirectory.

[0073] It should be noted that the specific implementation process of S301~S313 can refer to the method embodiment provided above. To avoid repetition, the detailed description is appropriately omitted here.

[0074] Through some of the above-mentioned embodiments of the present application, it can be known that after initialization, the storage users of the embodiments of the present application can switch between the "dynamic allocation of capacity" and "dynamic allocation of storage pool" stages according to their user parameters, that is, all users' data are regarded as deployable dynamic resources, thereby improving the utilization rate of the storage cluster without affecting the user experience and reducing the operation and procurement costs of the server.

[0075] Please refer to Figure 4 , Figure 4 The block diagram of the composition of the device for dynamic management of storage pools provided by some embodiments of the present application is shown. It should be understood that the device for dynamic management of storage pools corresponds to the above method embodiment and can execute each step involved in the above method embodiment. The specific functions of the device for dynamic management of storage pools can be found in the description above. To avoid repetition, the detailed description is appropriately omitted here.

[0076] Figure 4The storage pool dynamic management device includes at least one software function module that can be stored in the memory in the form of software or firmware or solidified in the storage pool dynamic management device, and the storage pool dynamic management device includes: an acquisition module 410, used to obtain the user status in the user parameters corresponding to the specified timestamp; a management module 420, used to determine the management stage of the user by comparing the user status with the user's current status, wherein the management stage includes: a capacity dynamic allocation stage and a storage dynamic allocation stage; the capacity dynamic allocation stage is used to adjust the service capacity provided to the user, and the storage dynamic allocation stage is used to adjust the location of storing user data related to the user.

[0077] In some embodiments of the present application, before obtaining module 410, the storage pool dynamic management device also includes a configuration module (not shown in the figure), which is used to configure user parameters of at least one user, wherein the user parameters include: the user status, user disaster recovery capability, user level and user network status; based on the user weight of each user in the at least one user, the each user is added to the inspection queue, wherein the inspection queue includes: a timestamp and a linked list pointer, and the linked list pointer includes: the user weight and the user parameters; determine that the current timestamp is the specified timestamp.

[0078] In some embodiments of the present application, the management module 420 is used to confirm that the user status and the user's current status are in the first state, and the user enters the capacity dynamic allocation stage; wherein the first state includes: an active state and a temporarily idle state; wherein the user status and the user's current status are confirmed to be in the second state, and there is a service demand, and the user enters the capacity dynamic allocation stage; wherein the second state includes: the user status and the user's current status are continuously in the idle state and the count value of the idle state exceeds a set threshold, or the user's current state is in an exit state; wherein the user status and the user's current status are confirmed to be in the second state, and there is no service demand, and the user enters the storage dynamic allocation stage.

[0079] In some embodiments of the present application, the management module 420 is used to determine whether the user's capacity quota meets the service demand of the next timestamp based on the user's current network status when the user enters the dynamic capacity allocation stage; if so, the service capacity is not adjusted; if not, a capacity expansion gear that matches the service demand is determined, and the service capacity is expanded according to the capacity expansion gear.

[0080] In some embodiments of the present application, the management module 420 is used to indicate that the count value is negatively correlated with the user weight. When the user enters the dynamic storage allocation stage, it is confirmed that the user weight is lower than a preset weight threshold; the user data is stored in a next-level subdirectory; wherein the subdirectory name of the next-level subdirectory is the same as the name prefix of the directory where the user data is currently located, and the user parameters include the name of the current directory and the subdirectory names at different storage levels in the storage pool.

[0081] In some embodiments of the present application, the management module 420 is used to obtain the storage parameters of the user data when confirming that the user's status is updated to the active status; if the user level in the storage parameters is lower than the user level in the user parameters, the user data is restored to a storage location that matches the user level in the user parameters.

[0082] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the device described above can refer to the corresponding process in the aforementioned method, and will not be described in detail here.

[0083] Some embodiments of the present application further provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, can implement the operations of the method corresponding to any of the above methods provided in the above embodiments.

[0084] Some embodiments of the present application further provide a computer program product, which includes a computer program, wherein when the computer program is executed by a processor, it can implement the operations corresponding to any of the above methods provided in the above embodiments.

[0085] like Figure 5 As shown, some embodiments of the present application provide an electronic device 500, which includes: a memory 510, a processor 520, and a computer program stored in the memory 510 and executable on the processor 520, wherein the processor 520 can implement a method as described in any of the above embodiments when reading the program from the memory 510 through a bus 530 and executing the program.

[0086] Processor 520 can process digital signals and can include various computing structures, such as complex instruction set computer structure, reduced instruction set computer structure, or a structure that implements a combination of multiple instruction sets. In some examples, processor 520 can be a microprocessor.

[0087] The memory 510 may be used to store instructions executed by the processor 520 or data related to the execution of instructions. These instructions and / or data may include codes for implementing some or all functions of one or more modules described in the embodiments of the present application. The processor 520 of the disclosed embodiment may be used to execute instructions in the memory 510 to implement the method shown above. The memory 510 includes a dynamic random access memory, a static random access memory, a flash memory, an optical memory, or other memory known to those skilled in the art.

[0088] The above description is only an embodiment of the present application and is not intended to limit the scope of protection of the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included in the scope of protection of the present application. It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in the subsequent drawings.

[0089] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0090] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

Claims

1. A method for dynamic management of a storage pool, characterized in that: include: Get the user status in the user parameters corresponding to the specified timestamp; By comparing the user state with the user's current state, the management stage of the user is determined, wherein the management stage includes: a capacity dynamic allocation stage and a storage dynamic allocation stage; the capacity dynamic allocation stage is used to adjust the service capacity provided to the user, and the storage dynamic allocation stage is used to adjust the location for storing user data related to the user; The step of determining the management stage of the user by comparing the user state with the user's current state includes: Confirming that the user state and the user current state are the first state, the user enters the capacity dynamic allocation phase; wherein the first state includes: an active state and a temporary idle state; Confirming that the user state and the user current state are in the second state and there is a service demand, the user enters the capacity dynamic allocation phase; wherein the second state includes: the user state and the user current state continue to be an idle state and the count value of the idle state exceeds a set threshold, or the user current state is in an exit state; If it is confirmed that the user state and the user current state are the second state and there is no service demand, the user enters the storage dynamic allocation phase.

2. The method according to claim 1, characterized in that Before obtaining the user status in the user parameters corresponding to the specified timestamp, the method further includes: Configuring user parameters of at least one user, wherein the user parameters include: the user status, user disaster recovery capability, user level and user network status; Based on the user weight of each user in the at least one user, adding each user to a check queue, wherein the check queue includes: a timestamp and a linked list pointer, and the linked list pointer includes: the user weight and the user parameter; The current timestamp is determined to be the specified timestamp.

3. The method according to claim 1, characterized in that When the user enters the capacity dynamic allocation stage, the method includes: Based on the current network status of the user, determining whether the capacity quota of the user meets the service demand at the next timestamp; If so, the service capacity is not adjusted; If not, determine an expansion level that matches the service demand, and expand the service capacity according to the expansion level.

4. The method according to claim 1, characterized in that The count value is negatively correlated with the user weight. When the user enters the storage dynamic allocation phase, the method includes: Confirming that the user weight is lower than a preset weight threshold; The user data is stored in a next-level subdirectory; wherein the subdirectory name of the next-level subdirectory is the same as the name prefix of the directory where the user data is currently located, and the user parameters include the name of the current directory and the subdirectory names at different storage levels in the storage pool.

5. The method according to claim 4, characterized in that After storing the user data in the next-level subdirectory, the method further includes: When confirming that the user's status is updated to the active status, obtaining storage parameters of the user data; If the user level in the storage parameters is lower than the user level in the user parameters, the user data is restored to a storage location that matches the user level in the user parameters.

6. A device for dynamic management of a storage pool, characterized in that: The device is used to perform the method according to claim 1, comprising: An acquisition module, used to acquire the user status in the user parameters corresponding to the specified timestamp; A management module is used to determine the management stage of the user by comparing the user state with the user's current state, wherein the management stage includes: a capacity dynamic allocation stage and a storage dynamic allocation stage; the capacity dynamic allocation stage is used to adjust the service capacity provided to the user, and the storage dynamic allocation stage is used to adjust the location for storing user data related to the user.

7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program executes the method according to any one of claims 1 to 5 when executed by a processor.

8. An electronic device, characterized in that: The method comprises a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the computer program executes the method according to any one of claims 1 to 5 when being run by the processor.

9. A computer program product, characterized in that The computer program product comprises a computer program, wherein the computer program executes the method according to any one of claims 1 to 5 when executed by a processor.

Citation Information

Patent Citations

  • Block storage capacity processing method and system, electronic equipment and storage medium

    CN114594906A

  • Cloud mobile phone multi-user management method and device, server and storage medium

    CN115801785A