Storage space release method and device, electronic equipment and storage medium

By determining the release priority of volumes based on the free capacity and the number of data to be deleted in a distributed storage system, the problem of the free disk space not being released for a long time is solved, the efficiency and accuracy of the release of storage space is improved, and the performance of the storage system is improved.

CN119828965APending Publication Date: 2025-04-15BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411885990.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-19
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

In distributed storage systems, free disk space cannot be released for a long time, resulting in low storage space management efficiency and inability to effectively process new data write requests.

Method used

By determining the release priority of different volumes based on the free capacity and the number of data to be deleted, the release priority of each volume is calculated, and the problem of the free disk space not being released for a long time.

Benefits of technology

Improve the efficiency and accuracy of storage space release, ensure that each node has enough space to process new data write requests, and improve the performance and efficiency of the storage system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119828965A_ABST
    Figure CN119828965A_ABST
Patent Text Reader

Abstract

The invention provides a storage space release method and device, electronic equipment and a storage medium, and relates to the technical field of computers, in particular to the technical field of distributed storage and the like. According to the specific implementation scheme, the method comprises the steps of determining the number of to-be-deleted blocks corresponding to a volume according to the number of storage units blocks occupied by to-be-deleted data in the to-be-processed storage volume; according to the total capacity and the used capacity corresponding to each storage block in the volume, determining the idle capacity in the block; and determining the release priority of the volume according to the number of the to-be-deleted blocks corresponding to the volume and the idle capacity in the block.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, in particular to technical fields such as distributed storage, and specifically to a storage space releasing method, device, electronic device and storage medium. Background Art

[0002] In a distributed storage system, a volume represents an independent storage space. Volumes are usually mounted to specific nodes or containers for data read and write operations. Storage space is a valuable resource. By releasing unnecessary storage space, space resources can be managed more efficiently, ensuring that each node has enough space to process new data write requests, thereby improving the performance and efficiency of the storage system. Summary of the invention

[0003] The present disclosure aims to solve one of the technical problems in the related art at least to some extent.

[0004] To this end, the purpose of the present invention is to propose a storage space release method, device, electronic device and storage medium, so as to determine the release priority of different volumes according to the size of free capacity and the amount of data to be deleted, thereby avoiding the problem of free disk space not being released for a long time and improving the efficiency of storage space release.

[0005] According to a first aspect of the present disclosure, a storage space releasing method is provided, comprising:

[0006] Determine the number of blobs to be deleted corresponding to the volume according to the number of storage unit blobs occupied by the data to be deleted in the storage volume to be processed;

[0007] Determine the free capacity in each storage block according to the total capacity and the used capacity corresponding to each storage block in the volume;

[0008] The release priority of the volume is determined according to the number of blobs to be deleted corresponding to the volume and the free capacity in the block.

[0009] According to a second aspect of the present disclosure, a storage space releasing device is provided, comprising:

[0010] A first determination module, configured to determine the number of blobs to be deleted corresponding to the volume to be processed according to the number of storage unit blobs occupied by the data to be deleted in the storage volume to be processed;

[0011] A second determining module, configured to determine the free capacity in each storage block in the volume according to the total capacity and the used capacity corresponding to each storage block in the volume;

[0012] The third determining module is used to determine the release priority of the volume according to the number of blobs to be deleted corresponding to the volume and the free capacity in the block.

[0013] According to a third aspect of the present disclosure, there is provided an electronic device, including:

[0014] at least one processor; and

[0015] a memory communicatively connected to the at least one processor; wherein,

[0016] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the storage space releasing method as described in the first aspect.

[0017] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the storage space releasing method as described in the first aspect.

[0018] According to a fifth aspect of the present disclosure, a computer program product is provided, comprising computer instructions, which, when executed by a processor, implement the steps of the storage space releasing method as described in the first aspect.

[0019] The storage space release method, device, electronic device and storage medium provided by the present disclosure have the following beneficial effects:

[0020] By calculating the free capacity in the block corresponding to the volume and combining it with the number of blobs to be deleted, the release priority of each volume can be determined. This can improve the accuracy of the volume release priority, avoid the problem of free disk space not being released for a long time, and improve the efficiency of storage space release.

[0021] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it 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

[0022] The above and / or additional aspects and advantages of the present disclosure will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, which are used to better understand the present solution and do not constitute a limitation of the present disclosure, wherein:

[0023] Figure 1 is a flowchart of a storage space release method proposed according to an embodiment of the present disclosure;

[0024] Figure 2 is a flowchart of a storage space release method proposed according to another embodiment of the present disclosure;

[0025] Figure 3 is a structural schematic diagram of a storage space release device proposed according to an embodiment of the present disclosure;

[0026] Figure 4 A block diagram of an exemplary electronic device suitable for implementing embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0027] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0028] The embodiments of the present disclosure relate to technical fields such as distributed storage.

[0029] Distributed storage is a data storage technology that connects the disk space on the machine through the network and forms these scattered storage resources into a virtual storage device. In a distributed storage system, data is stored on multiple independent devices, which are connected together through the network to form a logical storage system. When a user needs to access data, the system retrieves and reassembles the data blocks from various devices based on the location and redundancy strategy of the data.

[0030] In the technical solution of the present disclosure, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0031] In the prior art, for the garbage space generated after the deletion operation is executed, the recycling scheduling is based on the volume. The more space to be released in a volume, the higher the space release priority of the volume. However, the priority of calculating the volume is determined by the number of storage units blobs to be deleted. The more blobs to be deleted, the higher the priority. Such a storage space release method does not take into account the space where the storage block is pre-allocated but the blob is not actually written. Since there are no blobs to be deleted in this space, the space will not be released, resulting in space waste. In addition, after determining the release priority of each volume, it is also necessary to calculate the space that can be released by the volume for deletion and scheduling. Usually, the size of the blobs to be deleted is accumulated to determine the space capacity that can be released, which is relatively inefficient.

[0032] In the present disclosure, by determining the release priority of different volumes according to the free capacity size and the amount of data to be deleted, the problem of free disk space not being released for a long time is avoided, and there is no need to count the sizes of a large number of blobs when calculating the volume space release priority, thereby improving the efficiency of storage space release.

[0033] The following describes the storage space releasing method, device, electronic device and storage medium of the embodiments of the present disclosure with reference to the accompanying drawings.

[0034] It should be noted that the executor of the storage space release method of this embodiment is a storage space release device, which can be implemented by software and / or hardware. The device can be configured in an electronic device, and the electronic device may include but is not limited to a terminal, a server, etc.

[0035] Figure 1 It is a flowchart of a storage space release method proposed according to an embodiment of the present disclosure.

[0036] like Figure 1 As shown, the storage space releasing method includes:

[0037] S101: Determine the number of blobs to be deleted corresponding to the volume according to the number of storage unit blobs occupied by the data to be deleted in the storage volume to be processed.

[0038] Among them, the storage volume is the basic unit of data storage and management, which is used to store and organize storage blocks and storage units blobs. It can be a partition of a storage medium such as a hard disk, USB flash drive, SD card, or a shared folder in a network storage device (such as NAS). Volume is a collection of multiple blocks.

[0039] In addition, a storage block is the basic unit for storing data, corresponding to a section of actual physical storage space on the disk. A storage unit blob is a large binary data object, which can be an image, audio, video, text file or any other form of binary data. The size of each blob is inconsistent.

[0040] In the disclosed embodiment, a user can perform a deletion operation on data already written in a storage volume. The storage space occupied by the data to be deleted is the space to be released. The number of storage unit blobs occupied by the data to be deleted can be counted to obtain the number of blobs to be deleted corresponding to the volume.

[0041] S102: Determine the free capacity in each storage block according to the total capacity and the used capacity corresponding to each storage block in the volume.

[0042] In the disclosed embodiment, each storage block records its total capacity when it is created, and then updates its used capacity each time a blob is written. Therefore, when the storage space of the volume needs to be released, the total capacity and used capacity corresponding to each block can be directly obtained, and then the total capacity minus the used capacity can be calculated to obtain the free capacity in each block, and then the free capacity in all blocks can be added together to obtain the free capacity in all blocks on the volume, that is, the free space of the volume.

[0043] S103: Determine the release priority of the volume according to the number of blobs to be deleted corresponding to the volume and the free capacity in the block.

[0044] In the disclosed embodiment, the release priority of the volume can be determined by comprehensively considering the number of blobs to be deleted corresponding to the volume and the size of the free capacity in the block. Specifically, the free capacity in the block corresponding to the volume can be converted into the number of blobs that can be deleted, that is, the number of blobs that can be written when writing blobs in the free capacity. Then the number of blobs to be deleted is added to the number of blobs that can be deleted, and the release priority of the volume is determined based on the size of the sum. The larger the sum, the more space can be released and the higher the priority.

[0045] It should be noted that, since the size of the blob may also affect the size of the releasable space in the volume, in the embodiment of the present disclosure, the size of the blob may also be considered when determining the release priority of the volume.

[0046] It should be noted that in a distributed storage system, after determining the release priority of each volume, the storage space of the corresponding volumes can be released in order from high to low release priorities. The storage space of volumes with the same priority can be released in parallel.

[0047] In this embodiment, the release priority corresponding to each volume is determined by calculating the free capacity in the block corresponding to the volume and combining it with the number of blobs to be deleted. This can improve the accuracy of the volume release priority, avoid the problem of free disk space not being released for a long time, and improve the efficiency of storage space release.

[0048] Figure 2 It is a flowchart of a storage space releasing method proposed in another embodiment of the present disclosure.

[0049] like Figure 2 As shown, the storage space releasing method includes:

[0050] S201: Determine the number of blobs to be deleted corresponding to the volume according to the number of storage unit blobs occupied by the data to be deleted in the storage volume to be processed.

[0051] S202: Determine the free capacity in each storage block according to the total capacity and the used capacity corresponding to each storage block in the volume.

[0052] The description of S201 and S202 can be specifically referred to the above embodiment, which will not be repeated here.

[0053] S203: Determine the average size of the blobs corresponding to the volume.

[0054] It should be noted that because the number of blobs in the distributed storage base is large, even if the size of each blob is different, when the number of blobs is large, it can be considered that the average size of the blob is the correct size of the blob corresponding to the volume. In addition, when deleting blobs in a volume, they are usually deleted in batches, so the number of blobs corresponding to the space can be determined based on the average size of the blob corresponding to the volume.

[0055] In the disclosed embodiment, the average size of the blobs corresponding to the volume can be calculated based on the number of blobs written to the volume and the total space of the blobs written to the volume. Alternatively, the average size of the blobs corresponding to the volume can be determined based on the type of storage space contained in the volume, such as whether the storage space stores images or videos.

[0056] Optionally, the average size of the blobs corresponding to the volume may be determined according to the size of the used space corresponding to the volume and the number of used blobs.

[0057] It is understandable that, for the convenience of user query, the storage base generally stores the variable of the total blob space that has been written for each volume, that is, the size of the used space, and records the number of blobs used at the same time.

[0058] Therefore, in the embodiment of the present disclosure, the size of the used space corresponding to the volume and the number of used blobs can be determined in the storage base, and then the value obtained by dividing the size of the used space by the number of used blobs is determined as the average size of the blobs corresponding to the volume. This avoids counting the sizes of a large number of blobs, which is conducive to improving the efficiency of determining the priority of storage space release.

[0059] Optionally, the average size of the blobs corresponding to the volume may also be determined according to the type of storage space contained in the volume.

[0060] It should be noted that because different volumes may belong to different businesses and store different types of data in the storage space, the average size of the corresponding blobs may also be different. For example, when the storage space contained in the volume stores video data, the average size of the corresponding blobs will be larger than the average size of the blobs corresponding to the volume storing image data.

[0061] In the disclosed embodiment, the average size of blobs corresponding to different types of storage devices can be determined by statistics. Then, when determining the release priority of different volumes, the average size of the blobs corresponding to the type of storage space contained in the volume is determined as the average size. Thus, the average size of the blobs corresponding to the volume can be determined without calculation, further improving the efficiency of determining the priority of storage space release, making the average size of blobs corresponding to volumes containing the same type of storage space consistent, which is beneficial to improving the orderliness and reliability of volume storage space release.

[0062] S204: Determine the number of free blobs in the block according to the average size of the blobs and the free capacity in the block.

[0063] In the disclosed embodiment, the value of the free capacity in the block divided by the average size of the blob can be calculated, and the value is determined as the number of free blobs contained in the block. Since releasing the free capacity in the block can be regarded as deleting the number of blobs corresponding to the free capacity, the number of blobs corresponding to the free capacity is generally very large, so the number of blobs calculated using the average size of the blob and the free capacity in the block should be accurate.

[0064] S205: Determine the number of blobs to be released corresponding to the volume according to the number of free blobs contained in the block and the number of blobs to be deleted corresponding to the volume.

[0065] In the embodiment of the present disclosure, the number of free blobs contained in the block and the number of blobs to be deleted corresponding to the volume may be added to obtain the number of blobs to be released corresponding to the volume.

[0066] S206: Determine the release priority of the volume according to the number of blobs to be released corresponding to the volume.

[0067] In the embodiment of the present disclosure, the larger the number of blobs to be released corresponding to a volume, the higher the release priority of the volume. Conversely, the smaller the number of blobs to be released corresponding to a volume, the lower the release priority of the volume.

[0068] In this embodiment, the free capacity of the block in the volume is converted into the number of free blobs by calculating the average size of the blobs corresponding to the volume, and then added to the number of blobs to be deleted, and the release priority of the volume is determined based on the size of the sum of the added numbers. Without counting the sizes of different blobs, the efficiency of determining the priority of volume space release can be improved, thereby improving the efficiency and accuracy of storage space release.

[0069] It should be noted that the release priority of different volumes can be determined based only on the number of blobs. Alternatively, the size of the blobs corresponding to the volumes can be considered as a coefficient when calculating the release priority. Only when the sizes of the blobs corresponding to all volumes are the same, the priority is determined based on the number of blobs to be released.

[0070] Optionally, when the types of storage spaces included in all volumes to be processed are the same, or when the average sizes of blobs corresponding to all volumes to be processed are the same, the release priority of the volumes may be determined according to the number of blobs to be released corresponding to the volumes.

[0071] In the embodiment of the present disclosure, when it is determined that the types of storage spaces contained in all volumes to be processed are the same, or when the average sizes of blobs corresponding to all volumes to be processed are the same, it can be determined that the average size of blobs will not affect the size of releasable space of different volumes. In this case, the larger the number of blobs to be released corresponding to a volume, the higher the release priority of the volume. The accuracy of determining the release priority of the volume can be ensured, thereby improving the efficiency of releasing storage space.

[0072] Optionally, the size of the space to be released corresponding to the volume may be determined first according to the number of blobs to be released corresponding to the volume and the average size of the blobs, and then the release priority of the volume may be determined according to the size of the space to be released corresponding to the volume.

[0073] In the disclosed embodiment, the product of the number of blobs to be released corresponding to the volume and the average size of the blobs can be used as the size of the space to be released corresponding to the volume, and the larger the size of the space to be released corresponding to the volume, the higher the release priority of the volume. Therefore, when calculating the release priority of each volume, the average size of the blobs can be combined to further improve the accuracy and reliability of determining the release priority of the volume, which is conducive to improving the efficiency of releasing storage space.

[0074] Optionally, the size of the to-be-released space corresponding to the volume and the target interval to which it belongs may be determined first, and then the priority corresponding to the target interval may be determined as the release priority of the volume.

[0075] In the disclosed embodiment, since the priority is determined based on the size of the space to be released corresponding to the volume, there may be too many priority levels, which is not conducive to management. Therefore, several critical points can be set to classify the priorities. Volumes with the same size of the space to be released can be determined as having the same release priority. Volumes with the same release priority can be released synchronously when releasing storage space. This can reduce the level of release priorities and improve the efficiency of storage space release.

[0076] For example, the release priority of the volume whose corresponding space to be released is between 0 and 10 GB can be determined as 5, the release priority of the volume whose corresponding space to be released is between 10 and 100 GB can be determined as 4, the release priority of the volume whose corresponding space to be released is between 100 and 200 GB can be determined as 3, and the release priority of the volume whose corresponding space to be released is between 200 and 1 TB can be determined as 2. Then, the storage space of the volume with priority 2 can be released first, and then the storage space of the volume with priority 3 can be released, and so on, until the storage space of the volume with priority 5 is released, and the storage space of all volumes is released.

[0077] Figure 3 It is a structural diagram of a storage space releasing device proposed in one embodiment of the present disclosure.

[0078] like Figure 3 As shown, the storage space releasing device 300 includes:

[0079] The first determination module 301 is used to determine the number of blobs to be deleted corresponding to the volume according to the number of storage unit blobs occupied by the data to be deleted in the storage volume to be processed;

[0080] A second determining module 302 is used to determine the free capacity in each storage block according to the total capacity and the used capacity corresponding to each storage block in the volume;

[0081] The third determination module 303 is used to determine the release priority of the volume according to the number of blobs to be deleted corresponding to the volume and the free capacity in the block.

[0082] In some possible embodiments, the third determining module 303 may be specifically configured to:

[0083] Determine the average size of the blobs corresponding to the volume;

[0084] Determine the number of free blobs in a block based on the average size of the blob and the free capacity in the block;

[0085] Determine the number of blobs to be released corresponding to the volume based on the number of free blobs contained in the block and the number of blobs to be deleted corresponding to the volume;

[0086] Determine the release priority of the volume based on the number of blobs to be released corresponding to the volume.

[0087] In some possible embodiments, the third determining module 303 may be specifically configured to:

[0088] Determine the average size of the blobs corresponding to the volume based on the size of the used space corresponding to the volume and the number of blobs used.

[0089] In some possible embodiments, the third determining module 303 may be specifically configured to:

[0090] Determine the average size of the blobs corresponding to the volume based on the type of storage space contained in the volume.

[0091] In some possible embodiments, the third determining module 303 may be specifically configured to:

[0092] When the types of storage spaces contained in all volumes to be processed are the same, or when the average sizes of blobs corresponding to all volumes to be processed are the same, the release priority of the volumes is determined according to the number of blobs to be released corresponding to the volumes.

[0093] In some possible embodiments, the third determining module 303 may be specifically configured to:

[0094] Determine the size of the space to be released corresponding to the volume based on the number of blobs to be released corresponding to the volume and the average size of the blobs;

[0095] Determine the release priority of the volume based on the size of the space to be released corresponding to the volume.

[0096] In some possible embodiments, the third determining module 303 may be specifically configured to:

[0097] Determine the size of the space to be released corresponding to the volume and the target interval to which it belongs;

[0098] The priority corresponding to the target interval is determined as the release priority of the volume.

[0099] It should be noted that the above explanation of the storage space releasing method is also applicable to the storage space releasing device of this embodiment, and will not be repeated here.

[0100] In this embodiment, the release priority corresponding to each volume is determined by calculating the free capacity in the block corresponding to the volume and combining it with the number of blobs to be deleted. This can improve the accuracy of the volume release priority, avoid the problem of free disk space not being released for a long time, and improve the efficiency of storage space release.

[0101] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.

[0102] Figure 4 A schematic block diagram of an example electronic device 400 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0103] like Figure 4 As shown, the device 400 includes a computing unit 401, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 402 or a computer program loaded from a storage unit 408 into a random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the device 400 can also be stored. The computing unit 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.

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

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

[0106] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

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

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

[0109] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0110] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.

[0111] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services ("Virtual Private Server", or "VPS" for short). The server may also be a server of a distributed system, or a server combined with a blockchain.

[0112] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0113] In addition, the terms "first" and "second" are used for descriptive purposes only and cannot be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of the present disclosure, the meaning of "multiple" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined. In the description of the present disclosure, the words "if" and "if" used can be interpreted as "at the time of" or "when" or "in response to determination" or "under the circumstances of".

[0114] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A storage space release method, comprising: Determine the number of blobs to be deleted corresponding to the volume according to the number of storage unit blobs occupied by the data to be deleted in the storage volume to be processed; Determine the free capacity in each storage block according to the total capacity and the used capacity corresponding to each storage block in the volume; The release priority of the volume is determined according to the number of blobs to be deleted corresponding to the volume and the free capacity in the block.

2. The method of claim 1, wherein: The step of determining the release priority of the volume according to the number of blobs to be deleted corresponding to the volume and the free capacity in the block includes: Determine an average size of blobs corresponding to the volume; Determine the number of free blobs in the block according to the average size of the blobs and the free capacity in the block; Determine the number of blobs to be released corresponding to the volume according to the number of free blobs contained in the block and the number of blobs to be deleted corresponding to the volume; Determine the release priority of the volume according to the number of blobs to be released corresponding to the volume.

3. The method of claim 2, wherein: The determining an average size of blobs corresponding to the volume includes: An average size of the blobs corresponding to the volume is determined according to the size of the used space corresponding to the volume and the number of used blobs.

4. The method of claim 2, wherein: The determining an average size of blobs corresponding to the volume includes: An average size of blobs corresponding to the volume is determined according to a type of storage space included in the volume.

5. The method according to any one of claims 2 to 4, wherein: The determining the release priority of the volume according to the number of blobs to be released corresponding to the volume includes: When the types of storage spaces contained in all volumes to be processed are the same, or when the average sizes of blobs corresponding to all volumes to be processed are the same, the release priority of the volumes is determined according to the number of blobs to be released corresponding to the volumes.

6. The method according to any one of claims 2 to 4, wherein: The determining the release priority of the volume according to the number of blobs to be released corresponding to the volume includes: Determine the size of the space to be released corresponding to the volume according to the number of blobs to be released corresponding to the volume and the average size of the blobs; A release priority of the volume is determined according to a size of the to-be-released space corresponding to the volume.

7. The method of claim 6, wherein: The determining, according to the size of the to-be-released space corresponding to the volume, the release priority of the volume includes: Determine the size of the space to be released corresponding to the volume and the target interval to which it belongs; The priority corresponding to the target interval is determined as the release priority of the volume.

8. A storage space releasing device, comprising: A first determination module, configured to determine the number of blobs to be deleted corresponding to the volume to be processed according to the number of storage unit blobs occupied by the data to be deleted in the storage volume to be processed; A second determining module, configured to determine the free capacity in each storage block in the volume according to the total capacity and the used capacity corresponding to each storage block in the volume; The third determining module is used to determine the release priority of the volume according to the number of blobs to be deleted corresponding to the volume and the free capacity in the block.

9. The device of claim 8, wherein: The third determination module is specifically used to: Determine an average size of blobs corresponding to the volume; Determine the number of free blobs in the block according to the average size of the blobs and the free capacity in the block; Determine the number of blobs to be released corresponding to the volume according to the number of free blobs contained in the block and the number of blobs to be deleted corresponding to the volume; Determine the release priority of the volume according to the number of blobs to be released corresponding to the volume.

10. The device of claim 9, wherein: The third determination module is specifically used to: An average size of the blobs corresponding to the volume is determined according to the size of the used space corresponding to the volume and the number of used blobs.

11. The device of claim 9, wherein: The third determination module is specifically used to: An average size of blobs corresponding to the volume is determined according to a type of storage space included in the volume.

12. The device according to any one of claims 9 to 11, wherein: The third determination module is specifically used to: When the types of storage spaces contained in all volumes to be processed are the same, or when the average sizes of blobs corresponding to all volumes to be processed are the same, the release priority of the volumes is determined according to the number of blobs to be released corresponding to the volumes.

13. The device according to any one of claims 9 to 11, wherein: The third determination module is specifically used to: Determine the size of the space to be released corresponding to the volume according to the number of blobs to be released corresponding to the volume and the average size of the blobs; A release priority of the volume is determined according to a size of the to-be-released space corresponding to the volume.

14. The device of claim 13, wherein: The third determination module is specifically used to: Determine the size of the space to be released corresponding to the volume and the target interval to which it belongs; The priority corresponding to the target interval is determined as the release priority of the volume.

15. An electronic device, comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the storage space releasing method described in any one of claims 1-7.

16. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: in, The computer instructions are used to enable the computer to execute the storage space releasing method described in any one of claims 1-7.

17. A computer program product, characterized in that It comprises a computer program, which, when executed by a processor, implements the storage space releasing method according to any one of claims 1-7.