Object deletion method and system

By detecting quota thresholds in the object storage system and then sorting and deleting objects using object time index information, the problem of poor timeliness in deletion methods in the object storage system is solved, thereby improving the system's reliability and management efficiency.

CN122131961APending Publication Date: 2026-06-02DAWNING INFORMATION IND (BEIJING) CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
DAWNING INFORMATION IND (BEIJING) CO LTD
Filing Date
2024-11-25
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

In existing object storage systems, the deletion method is not timely when the total capacity/number of objects in a bucket exceeds the quota, resulting in reduced system performance and low management efficiency.

Method used

When the target storage bucket is detected to have reached the quota threshold, the excess management node obtains the objects to be deleted from each storage node, sorts them from the oldest to the newest according to the last access time using the object time index information, and performs the deletion process to release storage space.

Benefits of technology

Release storage space in a timely manner to avoid system performance degradation and improve the reliability and management efficiency of object storage systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122131961A_ABST
    Figure CN122131961A_ABST
Patent Text Reader

Abstract

The application relates to an object deletion method and system. The method comprises the following steps: when detecting that the total capacity of objects under a target storage bucket reaches the quota threshold of the target storage bucket, an excess management node acquires to-be-deleted objects of each storage node corresponding to the target storage bucket; according to pre-maintained object time index information, the to-be-deleted objects of each storage node are sorted in descending order of the last access time of the objects; and the sorted to-be-deleted objects are subjected to deletion processing. By using the method, over-quota objects can be deleted in time, storage space can be released in time, and the management efficiency of the object storage system can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer storage technology, and in particular to an object deletion method and system. Background Technology

[0002] Object storage is a data storage architecture used to manage and store large amounts of unstructured data, such as files, images, and videos.

[0003] A bucket is a container for storing objects in object storage. Object storage systems control the total capacity / number of objects allowed to be uploaded within a bucket by setting quota limits. In related technologies, when the total capacity / number of objects in a bucket exceeds the bucket's quota, uploading objects will fail. In this case, some existing objects need to be deleted to free up space before new objects can be uploaded again.

[0004] However, the object deletion methods in related technologies have a technical problem of poor timeliness. Summary of the Invention

[0005] Therefore, it is necessary to provide an object deletion method and system to address the above-mentioned technical problems, which can promptly delete over-quota objects, release storage space in a timely manner, and improve the management efficiency of the object storage system.

[0006] In a first aspect, embodiments of this application provide an object deletion method applied to an excess management node in an object storage system, the method comprising:

[0007] If the total capacity of objects under the target bucket reaches the quota threshold of the target bucket, retrieve the objects to be deleted from each storage node corresponding to the target bucket.

[0008] Based on the pre-maintained object time index information, the objects to be deleted on each storage node are sorted in order from the oldest to the most recent access time.

[0009] Perform deletion processing on each sorted object to be deleted.

[0010] In the object deletion method provided in this application embodiment, when the excess management node detects that the total capacity of objects under the target storage bucket has reached the quota threshold of the target storage bucket, it obtains the objects to be deleted from each storage node corresponding to the target storage bucket. Then, according to the pre-maintained object time index information, it sorts the objects to be deleted from each storage node in order of the object's last access time from oldest to newest. Finally, it performs deletion processing on each sorted object to be deleted. In this method, first, it detects whether the target storage bucket has exceeded the quota threshold. If it detects that the total capacity of objects under the target storage bucket has reached the quota threshold, it manages the objects in the target storage bucket in a timely manner, obtains the objects to be deleted from each storage node corresponding to the target storage bucket, and then sorts the objects to be deleted from each storage node in order of the last access time of each object in the object time index information. Finally, it performs deletion processing on the sorted objects to be deleted. This is equivalent to deleting excess objects according to the object's last access time from youngest to oldest, releasing storage space in a timely manner, avoiding system performance degradation due to insufficient space, and improving the reliability and management efficiency of the object storage system.

[0011] In one embodiment, obtaining the objects to be deleted from each storage node corresponding to the target storage bucket includes:

[0012] Send object retrieval requests to each storage node; the object retrieval request is used to instruct each storage node to determine the objects to be deleted that match the deletion policy but do not match the retention policy, based on the object deletion policy information;

[0013] Receive objects to be deleted reported by each storage node based on object retrieval requests.

[0014] In the object deletion method provided in this application embodiment, the excess management node sends object retrieval requests to each storage node and receives objects to be deleted reported by each storage node based on the object retrieval requests. The object retrieval requests are used to instruct each storage node to determine the objects to be deleted that match the deletion policy but do not match the retention policy, based on the object deletion policy information. In this method, when the excess management node retrieves the objects to be deleted from each storage node corresponding to the target storage bucket, it sends object retrieval requests to each storage node corresponding to the target storage bucket to instruct each storage node to determine its own objects to be deleted based on the pre-configured deletion and retention policies, and send them to the excess management node. This allows the excess management node to retrieve the objects to be deleted from each storage node, perform deletion operations in a timely manner, release storage space, and improve the performance of the object storage system.

[0015] In one embodiment, based on pre-maintained object time index information, the objects to be deleted on each storage node are sorted in ascending order of their last access time, including:

[0016] Based on the object time index information, obtain the last access time of each object to be deleted;

[0017] Based on the last access time of each object, sort the objects to be deleted from smallest to largest to obtain the sorted objects to be deleted.

[0018] In the object deletion method provided in this application embodiment, the over-limit management node obtains the last access time of each object to be deleted based on the object time index information, and then sorts the objects to be deleted from smallest to largest according to the last access time, obtaining the sorted objects to be deleted. This method provides data support for sorting the objects by obtaining the last access time of each object from the object time index information. Then, it sorts the objects to be deleted from smallest to largest according to the last access time, enabling the over-limit management node to delete objects that have not been used for a long time, thus releasing storage space in a timely manner and improving the user experience.

[0019] In one embodiment, the deletion process is performed on each sorted object to be deleted, including:

[0020] Based on the sorted order of the objects to be deleted, each object is sent sequentially to the corresponding storage node to instruct each storage node to delete the object.

[0021] In the object deletion method provided in this application embodiment, the excess management node sends each object to be deleted sequentially to the corresponding storage node according to the sorted order of the objects to be deleted, so as to instruct each storage node to delete each object. In this method, when deleting objects, the excess management node sends each sorted object to be deleted sequentially to the corresponding storage node according to the sorted order, so that each storage node can delete each object, thereby improving the management efficiency of the object storage system, reducing management costs, and improving system reliability.

[0022] In one embodiment, the method further includes:

[0023] If the bucket capacity of the target storage bucket is detected to be less than a preset capacity threshold when the ordered objects to be deleted are sent to each storage node in sequence, the sending of each object to be deleted to each storage node will be stopped.

[0024] In the object deletion method provided in this application embodiment, when sequentially sending the ordered objects to be deleted to each storage node, if the over-deletion management node detects that the bucket capacity of the target storage bucket is less than a preset capacity threshold, it stops sending the objects to be deleted to each storage node. In this method, during the deletion process, if the current bucket capacity of the target storage bucket is detected to be less than the preset capacity threshold, there is no need to continue sending the ordered objects to be deleted; that is, deletion stops when the stop threshold is reached, preventing frequent triggering of over-deletion, which could lead to excessive deletion and affect object access and usage.

[0025] In one embodiment, the method further includes:

[0026] Send a statistics retrieval request to each storage node corresponding to the storage bucket configured with excess deletion management; the statistics retrieval request is used to instruct each storage node corresponding to the storage bucket to report the object capacity of the objects in the storage bucket in each storage node;

[0027] Receive the object capacity reported by each storage node;

[0028] Determine the target storage bucket based on the capacity of each object.

[0029] In the object deletion method provided in this application embodiment, the excess management node sends a statistical information retrieval request to each storage node corresponding to the storage bucket configured with excess deletion management, and receives the object capacity reported by each storage node. Then, based on the object capacity, a target storage bucket is determined. The statistical information retrieval request is used to instruct each storage node corresponding to the storage bucket to report the object capacity of objects in the storage bucket within each storage node. In this method, the excess management node sends a statistical information retrieval request to each storage node corresponding to the storage bucket configured with excess deletion management, causing each storage node to report the object capacity of objects in its respective storage bucket to the excess management node. This allows the excess management node to determine the target storage bucket for excess based on the object capacity reported by each storage node, and to intervene and manage the target storage bucket for excess in a timely manner, thereby improving the management efficiency of the object storage system.

[0030] Secondly, embodiments of this application also provide an object deletion method, applied to any storage node in an object storage system, the method comprising:

[0031] Report objects to be deleted in the target bucket to the excess management node in the object storage system;

[0032] The system receives objects to be deleted from the excess management node and performs deletion processing on the objects to be deleted. The objects to be deleted are sent sequentially by the excess management node after sorting multiple objects according to the object time index information that has been maintained in advance and in order of the object's last access time.

[0033] The object deletion method provided in this application involves reporting objects to be deleted in a target storage bucket to an excess management node in the object storage system; receiving the objects to be deleted sent by the excess management node and deleting them; the objects to be deleted are sent sequentially by the excess management node after sorting multiple objects according to their last access time from oldest to newest based on pre-maintained object time index information. In this method, firstly, it detects whether the target storage bucket exceeds the quota threshold. If the total capacity of objects in the target storage bucket reaches the quota threshold, it promptly manages the objects in the target storage bucket, obtains the objects to be deleted from each storage node corresponding to the target storage bucket, and then sorts the objects to be deleted from each storage node from oldest to newest based on their last access time in the object time index information. Finally, it deletes the sorted objects, effectively deleting excess objects according to their last access time from youngest to oldest, releasing storage space in a timely manner, avoiding system performance degradation due to insufficient space, and improving the reliability and management efficiency of the object storage system.

[0034] In one embodiment, the method further includes:

[0035] Based on the object deletion policy information of the objects in the target bucket in the storage node, identify multiple objects to be deleted that match the deletion policy but do not match the retention policy;

[0036] Sort the objects to be deleted in ascending order according to their last access time to obtain the sorted objects to be deleted.

[0037] The sorted objects to be deleted are reported to the excess management node.

[0038] In the object deletion method provided in this application embodiment, the storage node determines multiple objects to be deleted that match the deletion policy but do not match the retention policy based on the object deletion policy information of the objects in the target storage bucket. Then, the objects to be deleted are arranged in ascending order according to their last access time, resulting in a sorted list of objects to be deleted. Finally, the sorted list of objects to be deleted is reported to the excess management node. In this method, the storage node determines multiple objects to be deleted that match the deletion policy but do not match the retention policy based on the object deletion policy information, and arranges these objects in ascending order of their last access time. The sorted list of objects to be deleted is then sent to the excess management node, allowing the excess management node to indicate which objects can be deleted, thus promptly deleting the objects and freeing up storage space.

[0039] In one embodiment, the method further includes:

[0040] If the excess management node detects that the object to be deleted is locked, the excess management node sends back the processing information of the object to be deleted. The processing information indicates that the object to be deleted is in a protected state and no deletion processing is performed on the object to be deleted.

[0041] In the object deletion method provided in this application embodiment, when the storage node detects that an object to be deleted sent by the excess management node is locked, it sends processing information of the object to be deleted back to the excess management node. The processing information indicates that the object to be deleted is in a protected state and deletion processing is not performed on the object. In this method, when receiving an object to be deleted sent by the excess management node, it first checks whether the object to be deleted is locked. If so, the object to be deleted is not deleted. This is equivalent to protecting a single object by object locking. Objects that are locked are not deleted, further ensuring that important data is not accidentally deleted and improving the accuracy of object deletion.

[0042] Thirdly, embodiments of this application also provide an object deletion system, which includes an object storage system, and the object storage system includes an excess management node and multiple storage nodes;

[0043] An excess management node is used to implement the steps of the method in any of the embodiments of the first aspect above;

[0044] Each storage node is configured to implement the steps of the method in any of the embodiments of the second aspect described above.

[0045] Fourthly, embodiments of this application also provide an object deletion device, comprising:

[0046] The object acquisition module is used to acquire the objects to be deleted from each storage node corresponding to the target storage bucket when the total capacity of objects under the target storage bucket reaches the quota threshold of the target storage bucket.

[0047] The object sorting module is used to sort the objects to be deleted on each storage node according to the object's last access time, from oldest to newest, based on the pre-maintained object time index information.

[0048] The object deletion module is used to perform deletion processing on each sorted object to be deleted.

[0049] Fifthly, embodiments of this application also provide an object deletion device, comprising:

[0050] The object reporting module is used to report objects to be deleted in the target storage bucket to the excess management node in the object storage system;

[0051] The object processing module is used to receive objects to be deleted sent by the excess management node and to delete the objects to be deleted. The objects to be deleted are sent sequentially by the excess management node after sorting multiple objects according to the object time index information in advance and in order of the object's last access time.

[0052] In a sixth aspect, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method in any of the embodiments of the first or second aspect described above.

[0053] In a seventh aspect, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method in any of the embodiments of the first or second aspect described above.

[0054] Eighthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the method in any of the embodiments of the first aspect described above.

[0055] The object deletion method and system provided in this application embodiment, when the excess management node detects that the total capacity of objects under the target storage bucket has reached the quota threshold of the target storage bucket, obtains the objects to be deleted from each storage node corresponding to the target storage bucket. Then, according to the pre-maintained object time index information, the objects to be deleted from each storage node are sorted in order of the object's last access time from oldest to newest. Finally, the sorted objects to be deleted are deleted. In this method, firstly, it is detected whether the target storage bucket has exceeded the quota threshold. If it is detected that the total capacity of objects under the target storage bucket has reached the quota threshold, the objects in the target storage bucket are managed in a timely manner, and the objects to be deleted from each storage node corresponding to the target storage bucket are obtained. Then, according to the last access time of each object to be deleted in the object time index information, the objects to be deleted from each storage node are sorted in order of the oldest to newest. The sorted objects to be deleted are then deleted. This is equivalent to deleting excess objects according to the object's last access time from youngest to oldest, releasing storage space in a timely manner, avoiding system performance degradation due to insufficient space, and improving the reliability and management efficiency of the object storage system. Attached Figure Description

[0056] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0057] Figure 1 This is a diagram illustrating the application environment of an object deletion method in one embodiment.

[0058] Figure 2 This is a flowchart illustrating an object deletion method in one embodiment;

[0059] Figure 3 This is a schematic diagram of the process for obtaining the object to be deleted in one embodiment;

[0060] Figure 4 This is a flowchart illustrating the sorting process for objects to be deleted in one embodiment;

[0061] Figure 5 This is a schematic diagram of the process for determining the target storage bucket in one embodiment;

[0062] Figure 6 This is a flowchart illustrating the object deletion method in another embodiment;

[0063] Figure 7 This is a schematic diagram of the process for reporting objects to be deleted in one embodiment;

[0064] Figure 8 This is a flowchart illustrating the object deletion method in another embodiment;

[0065] Figure 9 This is a schematic diagram of the structure of an object deletion device in one embodiment;

[0066] Figure 10 This is a schematic diagram of the object deletion device in another embodiment;

[0067] Figure 11 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0068] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0069] The technical background of the embodiments of this application will be described below.

[0070] Object storage is a data storage architecture used to manage and store large amounts of unstructured data, such as files, images, and videos. A bucket is a container for storing objects in object storage. In an object storage system, quota limits can be set for buckets to control the total capacity / number of objects allowed to be uploaded within a bucket. Once the set capacity / number of objects is exceeded, the upload will fail, and an alert will be sent to the user or administrator indicating that storage space is full.

[0071] When the total capacity / number of objects in a bucket of an object storage system exceeds the set bucket quota, users will be unable to perform data storage operations normally, negatively impacting user experience. Furthermore, manual intervention from users or administrators is required to clean up unnecessary objects or modify the bucket quota. Bucket quotas are usually pre-set, but actual data may exceed expectations, leading to the aforementioned problems. This is partly due to limitations in the technology itself and partly due to the diversity of business requirements.

[0072] Based on this, this application provides an object deletion method. First, it detects whether the target storage bucket exceeds the quota threshold. If the total capacity of objects under the target storage bucket reaches the quota threshold, it manages the objects in the target storage bucket in a timely manner, obtains the objects to be deleted from each storage node corresponding to the target storage bucket, and then sorts the objects to be deleted from each storage node from farthest to nearest according to the last access time of each object in the object time index information. The sorted objects to be deleted are then deleted. This is equivalent to deleting over-quota objects according to the last access time of the objects from smallest to largest, releasing storage space in a timely manner, avoiding system performance degradation due to insufficient space, and improving the reliability and management efficiency of the object storage system.

[0073] It should be noted that the beneficial effects or technical problems solved by the embodiments of this application are not limited to this one, but may also be other implicit or related problems. For details, please refer to the description of the embodiments below.

[0074] The following describes the application environment of the object deletion method provided in the embodiments of this application, which can be applied to, for example... Figure 1 In the application environment shown, storage node 102 communicates with excess management node 104 via a network. When excess management node 104 detects that the total capacity of objects under the target storage bucket has reached the quota threshold of the target storage bucket, it retrieves objects to be deleted from each storage node 102 corresponding to the target storage bucket. Based on pre-maintained object time index information, it sorts the objects to be deleted on each storage node in order of their last access time from oldest to newest, and then performs deletion processing on each sorted object. Excess management node 104 can be any one of multiple storage nodes in the object storage system.

[0075] The technical solution of this application and how it solves the above-mentioned technical problems will be described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.

[0076] In one exemplary embodiment, such as Figure 2 As shown, an object deletion method is provided, which is applied to... Figure 1 Taking the excess management node 104 as an example, the explanation includes the following steps 201 to 203. Wherein:

[0077] S201, if the total capacity of objects under the target storage bucket reaches the quota threshold of the target storage bucket, obtain the objects to be deleted from each storage node corresponding to the target storage bucket.

[0078] In this embodiment, the object storage system includes multiple storage nodes. The over-quota management node is any one of these storage nodes, used to manage and delete objects in the storage bucket when the bucket exceeds its quota threshold. The object storage system has multiple storage buckets, each corresponding to multiple storage nodes.

[0079] The target bucket is any bucket whose total object capacity exceeds the bucket quota threshold. Each bucket has a quota limit to control the total capacity / number of objects allowed to be uploaded within the bucket; that is, the quota limit can be understood as the upper limit of the bucket's capacity. In this embodiment, the quota threshold is less than the quota limit. When the total object capacity in a bucket reaches the bucket's quota threshold, objects are deleted promptly, rather than waiting until the quota limit is exceeded. This improves the timeliness of object deletion, prevents users from being unable to perform data storage operations normally, improves the reliability of the object storage system, and enhances the user experience.

[0080] In this embodiment, over-deletion management is pre-configured for the storage buckets that need to be managed, to detect in real time whether the storage buckets configured with over-deletion management exceed the quota threshold. For any storage bucket, if it is detected that the total capacity of objects within the storage bucket reaches the quota threshold of the storage bucket, then the storage bucket is determined as the target storage bucket. When it is detected that the total capacity of objects under the target storage bucket reaches the quota threshold of the target storage bucket, the over-deletion management node obtains the objects to be deleted from the target storage bucket.

[0081] In one scenario, an excess management node can retrieve objects to be deleted from multiple storage nodes in a target bucket. These objects are determined by each storage node from multiple objects in the target bucket based on pre-set deletion criteria.

[0082] In another scenario, multiple storage nodes corresponding to the target storage object can report multiple candidate deletion objects to the excess management node. The excess management node then determines the object to be deleted from the multiple candidate deletion objects based on pre-set deletion conditions. In both scenarios, the deletion conditions can be flexibly configured in advance according to the actual scenario and needs. For example, deletion conditions can be determined based on information such as object size, object storage time, and object usage time.

[0083] S202, based on the pre-maintained object time index information, sort the objects to be deleted on each storage node in order from the oldest to the newest time of the last access to the object.

[0084] Object time index information refers to the index relationship between each object in an object storage system and the last access time of each object. The object storage system pre-creates an object time index table to store object time index information, and updates the last access time of each object in real time when it is accessed by a user.

[0085] In this embodiment of the application, after obtaining the objects to be deleted from each storage node corresponding to the target storage bucket, the excess management node first obtains the pre-maintained object time index information, then obtains the last access time of each object to be deleted from the object time index information, and then sorts each object to be deleted from farthest to near according to the last access time of each object to be deleted, and obtains the sorted objects to be deleted.

[0086] S203, perform deletion processing on each sorted object to be deleted.

[0087] After sorting the objects to be deleted, the excess management node performs deletion processing on each sorted object.

[0088] Each object to be deleted is determined by the storage nodes of the target bucket, and is also stored in the target bucket by the respective storage nodes. When deleting an object, it can also be done by the respective storage node. Based on this, the excess management node can send the sorted objects to be deleted to the respective storage nodes, which will then delete them.

[0089] In the object deletion method provided in this application embodiment, when the excess management node detects that the total capacity of objects under the target storage bucket has reached the quota threshold of the target storage bucket, it obtains the objects to be deleted from each storage node corresponding to the target storage bucket. Then, according to the pre-maintained object time index information, it sorts the objects to be deleted from each storage node in order of the object's last access time from oldest to newest. Finally, it performs deletion processing on each sorted object to be deleted. In this method, first, it detects whether the target storage bucket has exceeded the quota threshold. If it detects that the total capacity of objects under the target storage bucket has reached the quota threshold, it manages the objects in the target storage bucket in a timely manner, obtains the objects to be deleted from each storage node corresponding to the target storage bucket, and then sorts the objects to be deleted from each storage node in order of the last access time of each object in the object time index information. Finally, it performs deletion processing on the sorted objects to be deleted. This is equivalent to deleting excess objects according to the object's last access time from youngest to oldest, releasing storage space in a timely manner, avoiding system performance degradation due to insufficient space, and improving the reliability and management efficiency of the object storage system.

[0090] Based on the above embodiments, an embodiment is provided to illustrate the process of obtaining the objects to be deleted from each storage node corresponding to the target storage bucket.

[0091] In one exemplary embodiment, such as Figure 3 As shown, the objects to be deleted for each storage node corresponding to the target storage bucket are obtained, including:

[0092] S301, Send an object retrieval request to each storage node; the object retrieval request is used to instruct each storage node to determine the objects to be deleted that match the deletion policy but do not match the retention policy, based on the object deletion policy information.

[0093] The object deletion policy information refers to the filtering conditions used for deletion policies, including object name, object size, object tag, and storage level. Storage level refers to different levels based on the disk speed at which the object is stored. For example, if the object is stored on a solid-state drive (SSD), the storage level is performance; if the object is stored on a mechanical hard drive (HDD), the storage level is standard; and if the object is stored on optical discs or tapes, the storage level is archive.

[0094] Both the deletion and retention policies are pre-configured. The deletion policy can be a selection criterion for deletion based on information such as object name, object size, object tag, and storage level. The retention policy, on the other hand, is an object retention strategy determined by the importance level of the objects. For example, if the deletion policy is configured with storage level as the standard, then all objects with the standard storage level will be deleted. Conversely, if the retention policy is configured with certain objects as important data, then these important data objects will be removed from the list of objects to be deleted. It should be noted that in this embodiment, the filtering conditions in the deletion policy, such as object name, object size, object tag, and storage level, support OR and AND relationships to meet different scenarios. This allows for flexible configuration of deletion and retention policies according to different scenarios and actual needs, minimizing the impact on important data, optimizing storage resource utilization, and managing storage resources more effectively.

[0095] The excess management node sends object retrieval requests to each storage node corresponding to the target storage bucket. After receiving the object retrieval requests from the excess management node, each storage node determines the objects to be deleted from among the multiple objects in the target storage bucket that match the deletion policy but do not match the retention policy, based on the object deletion policy information.

[0096] S302, Receive objects to be deleted reported by each storage node based on object retrieval requests.

[0097] After identifying the objects to be deleted, each storage node sends the identified objects to the excess management node, which then receives the objects to be deleted from each storage node.

[0098] In the object deletion method provided in this application embodiment, the excess management node sends object retrieval requests to each storage node and receives objects to be deleted reported by each storage node based on the object retrieval requests. The object retrieval requests are used to instruct each storage node to determine the objects to be deleted that match the deletion policy but do not match the retention policy, based on the object deletion policy information. In this method, when the excess management node retrieves the objects to be deleted from each storage node corresponding to the target storage bucket, it sends object retrieval requests to each storage node corresponding to the target storage bucket to instruct each storage node to determine its own objects to be deleted based on the pre-configured deletion and retention policies, and send them to the excess management node. This allows the excess management node to retrieve the objects to be deleted from each storage node, perform deletion operations in a timely manner, release storage space, and improve the performance of the object storage system.

[0099] Based on any of the above embodiments, an embodiment is provided to illustrate the process of sorting the objects to be deleted on each storage node according to the last access time of the objects in order from the oldest to the newest, based on the pre-maintained object time index information.

[0100] In one exemplary embodiment, such as Figure 4 As shown, based on pre-maintained object time index information, the objects to be deleted on each storage node are sorted in ascending order of their last access time, including:

[0101] S401, based on the object time index information, obtain the last access time of each object to be deleted.

[0102] When sorting objects to be deleted, the excess management node first obtains the last access time of each object based on the pre-maintained object time index information. For example, if the object time index information is an index relationship established between the object identifier and the last access time of each object, then the last access time of each object to be deleted can be matched from the object time index information based on the object identifier of each object to be deleted.

[0103] S402, Sort the objects to be deleted from smallest to largest according to the last access time, and obtain the sorted objects to be deleted.

[0104] After obtaining the last access time of each object to be deleted, the objects are sorted from smallest to largest based on their last access time, that is, from oldest to newest, to obtain the sorted objects to be deleted.

[0105] In the object deletion method provided in this application embodiment, the over-limit management node obtains the last access time of each object to be deleted based on the object time index information, and then sorts the objects to be deleted from smallest to largest according to the last access time, obtaining the sorted objects to be deleted. This method provides data support for sorting the objects by obtaining the last access time of each object from the object time index information. Then, it sorts the objects to be deleted from smallest to largest according to the last access time, enabling the over-limit management node to delete objects that have not been used for a long time, thus releasing storage space in a timely manner and improving the user experience.

[0106] Based on the above embodiments, an embodiment of the process of performing deletion processing on each sorted item to be deleted will be described.

[0107] In an exemplary embodiment, the deletion process is performed on each sorted object to be deleted, including:

[0108] Based on the sorted order of the objects to be deleted, each object is sent sequentially to the corresponding storage node to instruct each storage node to delete the object.

[0109] After sorting the objects to be deleted, the excess management node sends the sorted objects to each storage node in sequence according to the order of the objects to be deleted, so as to instruct each storage node to delete the sent objects.

[0110] For example, five objects to be deleted are A, B, C, D, and E. A and B are objects on storage node 1, and C, D, and E are objects on storage node 2. After sorting the objects according to their last access time from oldest to youngest, the order is B, C, A, D, and E. First, object B is sent to storage node 1, instructing it to delete. After storage node 1 deletes object B, the excess management node sends object C to storage node 2, instructing it to delete. This process is repeated for objects A, D, and E, which are then sent to their respective storage nodes, instructing each node to delete the sent objects.

[0111] In the object deletion method provided in this application embodiment, the excess management node sends each object to be deleted sequentially to the corresponding storage node according to the sorted order of the objects to be deleted, so as to instruct each storage node to delete each object. In this method, when deleting objects, the excess management node sends each sorted object to be deleted sequentially to the corresponding storage node according to the sorted order, so that each storage node can delete each object, thereby improving the management efficiency of the object storage system, reducing management costs, and improving system reliability.

[0112] Based on the above embodiments, an embodiment of the process of sending objects to be deleted is provided for description.

[0113] In one exemplary embodiment, the method further includes:

[0114] If the bucket capacity of the target storage bucket is detected to be less than a preset capacity threshold when the ordered objects to be deleted are sent to each storage node in sequence, the sending of the objects to be deleted to each storage node will be stopped.

[0115] In this embodiment, as the excess management node sequentially sends the sorted objects to be deleted to each storage node, it monitors the current bucket capacity of the target storage bucket in real time. If the current bucket capacity of the target storage bucket is detected to be less than a preset capacity threshold, the sorted objects to be deleted will no longer be sent to each storage node. The preset capacity threshold can be set according to actual needs, and this embodiment does not limit it. For example, the capacity threshold can be 95%.

[0116] Taking the aforementioned five objects to be deleted as an example, when the excess management node sends the object to be deleted, D, to storage node 2 and deletes the object, if it detects that the current bucket capacity of the target storage bucket is less than the preset capacity threshold, then it will no longer send the object to be deleted, E, to storage node 2.

[0117] In the object deletion method provided in this application embodiment, when sequentially sending the ordered objects to be deleted to each storage node, if the over-deletion management node detects that the bucket capacity of the target storage bucket is less than a preset capacity threshold, it stops sending the objects to be deleted to each storage node. In this method, during the deletion process, if the current bucket capacity of the target storage bucket is detected to be less than the preset capacity threshold, there is no need to continue sending the ordered objects to be deleted; that is, deletion stops when the stop threshold is reached, preventing frequent triggering of over-deletion, which could lead to excessive deletion and affect object access and usage.

[0118] Based on the above embodiments, an embodiment of the process of determining the target storage bucket is provided for description.

[0119] In one exemplary embodiment, such as Figure 5 As shown, the method also includes:

[0120] S501, send a statistics information retrieval request to each storage node corresponding to the storage bucket configured with excess deletion management; the statistics information retrieval request is used to instruct each storage node corresponding to the storage bucket to report the object capacity of the objects in the storage bucket in each storage node.

[0121] Among them, the storage buckets configured with over-quota deletion management are those that require object management and deletion when the quota is exceeded. In this embodiment of the application, over-quota deletion management can be configured for each storage bucket, or it can be configured for some storage buckets according to actual needs.

[0122] The over-deletion management node sends statistics retrieval requests to multiple storage nodes corresponding to the storage buckets configured with over-deletion management, so that each storage node reports the object capacity of the objects in its storage bucket. For example, if there are storage buckets 1 and 2 configured with over-deletion management, with storage bucket 1 corresponding to storage nodes 1 and 2, and storage bucket 2 corresponding to storage nodes 3 and 4, then the over-deletion management node sends statistics retrieval requests to storage nodes 1, 2, 3, and 4 respectively. Upon receiving the statistics retrieval request, each storage node sends the object capacity of its corresponding storage bucket to the over-deletion management node. Storage nodes 1 and 2 send the object capacity of objects stored in storage bucket 1 to the over-deletion management node, and storage nodes 3 and 4 send the object capacity of objects stored in storage bucket 2 to the over-deletion management node.

[0123] S502 receives the object capacity reported by each storage node.

[0124] The excess management node receives the object capacity reported by each storage node.

[0125] S503, determine the target storage bucket based on the capacity of each object.

[0126] After receiving the object capacity reports from each storage node, the excess management node determines the total object capacity of each bucket based on the data from each storage node, and then determines the target bucket based on the total object capacity of each bucket. For any bucket, if the total object capacity of the bucket exceeds the quota threshold for that bucket, then that bucket is designated as the target bucket.

[0127] For example, for the aforementioned storage bucket 1, if the sum of the object capacities reported by storage node 1 and storage node 2 corresponding to storage bucket 1 is greater than the quota threshold of storage bucket 1, then storage bucket 1 is the target storage bucket.

[0128] In the object deletion method provided in this application embodiment, the excess management node sends a statistical information retrieval request to each storage node corresponding to the storage bucket configured with excess deletion management, and receives the object capacity reported by each storage node. Then, based on the object capacity, a target storage bucket is determined. The statistical information retrieval request is used to instruct each storage node corresponding to the storage bucket to report the object capacity of objects in the storage bucket within each storage node. In this method, the excess management node sends a statistical information retrieval request to each storage node corresponding to the storage bucket configured with excess deletion management, causing each storage node to report the object capacity of objects in its respective storage bucket to the excess management node. This allows the excess management node to determine the target storage bucket for excess based on the object capacity reported by each storage node, and to intervene and manage the target storage bucket for excess in a timely manner, thereby improving the management efficiency of the object storage system.

[0129] The above describes embodiments with the excess management node as the execution subject. Based on this, this application also provides embodiments corresponding to the above process with the storage node as the execution subject. Below, embodiments of the object deletion method with the storage node as the execution subject will be described.

[0130] Since the implementation principles, detailed processes, and technical effects of the aforementioned embodiments with the excess management node as the execution subject are all the same as those of the aforementioned embodiments with the storage node as the execution subject, for the sake of brevity and clarity, the aforementioned embodiments will not be described in detail one by one. The implementation process and effects of each embodiment can be found in the description of the aforementioned embodiments.

[0131] In one exemplary embodiment, such as Figure 6As shown, an object deletion method is provided, which is applied to any storage node in the object storage node. The method includes:

[0132] S601, report the objects to be deleted in the target bucket to the excess management node in the object storage system.

[0133] The target bucket is any bucket whose total object capacity exceeds the bucket quota threshold. The storage node reports the objects to be deleted within the target bucket to the excess management node. The objects to be deleted can be determined by the storage node based on pre-configured deletion and retention policies.

[0134] S602, receive the objects to be deleted sent by the excess management node, and perform deletion processing on the objects to be deleted; the objects to be deleted are sent sequentially by the excess management node after sorting multiple objects to be deleted in order from the oldest to the newest according to the object's last access time, based on the pre-maintained object time index information.

[0135] After obtaining the objects to be deleted from each storage node corresponding to the target bucket, the excess management node retrieves the pre-maintained object time index information. It then obtains the last access time of each object from the object time index information and sorts the objects from oldest to most recent according to their last access time. The sorted objects are then sent to each storage node in sequence. Each storage node receives the objects to be deleted from the excess management node and performs the deletion process.

[0136] The object deletion method provided in this application involves reporting objects to be deleted in a target storage bucket to an excess management node in the object storage system; receiving the objects to be deleted sent by the excess management node and deleting them; the objects to be deleted are sent sequentially by the excess management node after sorting multiple objects according to their last access time from oldest to newest based on pre-maintained object time index information. In this method, firstly, it detects whether the target storage bucket exceeds the quota threshold. If the total capacity of objects in the target storage bucket reaches the quota threshold, it promptly manages the objects in the target storage bucket, obtains the objects to be deleted from each storage node corresponding to the target storage bucket, and then sorts the objects to be deleted from each storage node from oldest to newest based on their last access time in the object time index information. Finally, it deletes the sorted objects, effectively deleting excess objects according to their last access time from youngest to oldest, releasing storage space in a timely manner, avoiding system performance degradation due to insufficient space, and improving the reliability and management efficiency of the object storage system.

[0137] Based on the above embodiments, an embodiment of the process of sending objects to be deleted is provided for description.

[0138] In one exemplary embodiment, such as Figure 7 As shown, the method also includes:

[0139] S701, based on the object deletion policy information of the objects in the target storage bucket in the storage node, determine multiple objects to be deleted that match the deletion policy but do not match the retention policy.

[0140] Object deletion policy information refers to the filtering conditions used for deletion policies, including object name, object size, object tag, and storage level. Both deletion and retention policies are pre-configured. Deletion policies can be filtering conditions for deletion based on object name, object size, object tag, and storage level, while retention policies are object retention policies determined based on the object's importance level.

[0141] The storage node retrieves the objects in the target bucket from each object and, based on the object deletion policy information of the objects in the target bucket, determines multiple objects in the target bucket that match the deletion policy but do not match the retention policy and are to be deleted.

[0142] S702, Sort the objects to be deleted in ascending order according to the last access time of each object, and obtain the sorted objects to be deleted.

[0143] The storage node obtains the last access time of each object to be deleted from the object time index information of each object to be deleted, and arranges the objects to be deleted in order from the oldest to the newest last access time, thus obtaining the arranged objects to be deleted.

[0144] S703 reports the sorted objects to be deleted to the excess management node.

[0145] The storage node sends the sorted objects to be deleted to the excess management node.

[0146] In the object deletion method provided in this application embodiment, the storage node determines multiple objects to be deleted that match the deletion policy but do not match the retention policy based on the object deletion policy information of the objects in the target storage bucket. Then, the objects to be deleted are arranged in ascending order according to their last access time, resulting in a sorted list of objects to be deleted. Finally, the sorted list of objects to be deleted is reported to the excess management node. In this method, the storage node determines multiple objects to be deleted that match the deletion policy but do not match the retention policy based on the object deletion policy information, and arranges these objects in ascending order of their last access time. The sorted list of objects to be deleted is then sent to the excess management node, allowing the excess management node to indicate which objects can be deleted, thus promptly deleting the objects and freeing up storage space.

[0147] Based on the above embodiments, an embodiment is provided to illustrate the process of deleting objects to be deleted from the above storage nodes.

[0148] In one exemplary embodiment, the method further includes:

[0149] If the excess management node detects that the object to be deleted is locked, the excess management node sends back the processing information of the object to be deleted. The processing information indicates that the object to be deleted is in a protected state and no deletion processing is performed on the object to be deleted.

[0150] In this embodiment, when the excess management node sends objects to be deleted from the storage node for deletion processing, if the storage node detects that the objects to be deleted are locked, it will not perform the deletion processing to protect important data from being deleted. Instead, it will send processing information about the objects to be deleted back to the excess management node, indicating that the objects are in a protected state and that deletion processing has not been performed. Here, an object being locked is defined as an object with a locked protection flag added to it; that is, the locked protection flag indicates that the object is in a locked state.

[0151] Each time a storage node receives an object to be deleted from the excess management node, it checks whether the object to be deleted has a lock protection flag. If the object to be deleted has a lock protection flag, it is determined that the object to be deleted is locked and the object to be deleted will not be deleted.

[0152] In the object deletion method provided in this application embodiment, when the storage node detects that an object to be deleted sent by the excess management node is locked, it sends processing information of the object to be deleted back to the excess management node. The processing information indicates that the object to be deleted is in a protected state and deletion processing is not performed on the object. In this method, when receiving an object to be deleted sent by the excess management node, it first checks whether the object to be deleted is locked. If so, the object to be deleted is not deleted. This is equivalent to protecting a single object by object locking. Objects that are locked are not deleted, further ensuring that important data is not accidentally deleted and improving the accuracy of object deletion.

[0153] In addition, in an exemplary embodiment, the process of deleting an object is described using an excess management node and all storage nodes as examples.

[0154] like Figure 8 As shown, the over-limit management node scans for over-limit deletion events, retrieves bucket statistics from all storage nodes, and all storage nodes return the statistics. The over-limit management node checks whether the bucket's object capacity exceeds the quota threshold. If so, it sends an object retrieval request to all storage nodes, instructing them to list objects that match the deletion policy but not the retention policy based on their last access time. The storage nodes return the listed objects. The over-limit management node sorts the listed objects from each storage node in ascending order of their last access time and instructs each storage node to perform deletion processing. Each storage node deletes objects, but does not delete objects that are locked. Each storage node returns the deletion results. The over-limit management node detects that the stop water level has been reached and stops deletion; otherwise, it continues listing and deleting.

[0155] In this embodiment, the system first detects whether the target storage bucket exceeds the quota threshold. If the total capacity of objects under the target storage bucket reaches the quota threshold, the system promptly manages the objects in the target storage bucket, obtains the objects to be deleted from each storage node corresponding to the target storage bucket, and then sorts the objects to be deleted from each storage node from farthest to nearest based on the last access time of each object in the object time index information. The sorted objects to be deleted are then deleted. This is equivalent to deleting over-quota objects according to the last access time of the objects from smallest to largest, releasing storage space in a timely manner, avoiding system performance degradation due to insufficient space, and improving the reliability and management efficiency of the object storage system.

[0156] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0157] Based on the same inventive concept, this application also provides an object deletion system. The solution provided by this system is similar to the solution described in the above-described method; therefore, the specific limitations of one or more object deletion systems provided below can be found in the limitations of the object deletion method described above, and will not be repeated here.

[0158] In one exemplary embodiment, the object deletion system includes an object storage system, which includes an excess management node and multiple storage nodes;

[0159] The excess management node is used to implement the steps of the method in any of the above embodiments where the excess management node is the execution subject; each storage node is used to implement the steps of the method in any of the above embodiments where the storage node is the execution subject.

[0160] Based on the same inventive concept, this application also provides an object deletion apparatus for implementing the object deletion method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more object deletion apparatus embodiments provided below can be found in the limitations of the object deletion method described above, and will not be repeated here.

[0161] In one exemplary embodiment, such as Figure 9 As shown, an object deletion device 1 is provided, including: an object acquisition module 10, an object sorting module 20, and an object deletion module 30, wherein:

[0162] The object acquisition module 10 is used to acquire the objects to be deleted from each storage node corresponding to the target storage bucket when the total capacity of objects under the target storage bucket reaches the quota threshold of the target storage bucket.

[0163] The object sorting module 20 is used to sort the objects to be deleted on each storage node according to the object's last access time from the oldest to the newest, based on the pre-maintained object time index information.

[0164] The object deletion module 30 is used to perform deletion processing on each sorted object to be deleted.

[0165] In one embodiment, the object acquisition module 10 is further configured to:

[0166] Send object retrieval requests to each storage node; the object retrieval request is used to instruct each storage node to determine the objects to be deleted that match the deletion policy but do not match the retention policy, based on the object deletion policy information;

[0167] Receive objects to be deleted reported by each storage node based on object retrieval requests.

[0168] In one embodiment, the object sorting module 20 is further configured to:

[0169] Based on the object time index information, obtain the last access time of each object to be deleted;

[0170] Based on the last access time of each object, sort the objects to be deleted from smallest to largest to obtain the sorted objects to be deleted.

[0171] In one embodiment, the object deletion module 30 is further configured to:

[0172] Based on the sorted order of the objects to be deleted, each object is sent sequentially to the corresponding storage node to instruct each storage node to delete the object.

[0173] In one embodiment, the object deletion device 1 further includes:

[0174] The object sending module is used to stop sending each object to be deleted to each storage node if the bucket capacity of the target storage bucket is detected to be less than a preset capacity threshold when the objects to be deleted are sent to each storage node in sequence.

[0175] In one embodiment, the object deletion device 1 further includes:

[0176] The request sending module is used to send statistics information retrieval requests to each storage node corresponding to the storage bucket configured with over-deletion management; the statistics information retrieval request is used to instruct each storage node corresponding to the storage bucket to report the object capacity of the objects in the storage bucket in each storage node;

[0177] The capacity receiving module is used to receive the object capacity reported by each storage node;

[0178] The bucket determination module is used to determine the target bucket based on the capacity of each object.

[0179] In one exemplary embodiment, such as Figure 10 As shown, an object deletion device 2 is provided, including: an object reporting module 40 and an object processing module 50, wherein:

[0180] The object reporting module 40 is used to report objects to be deleted in the target storage bucket to the excess management node in the object storage system;

[0181] The object processing module 50 is used to receive objects to be deleted sent by the excess management node and to delete the objects to be deleted. The objects to be deleted are sent by the excess management node in sequence after sorting multiple objects to be deleted according to the object time index information in advance and in order of the object's last access time.

[0182] In one embodiment, the object deletion device 2 further includes:

[0183] The object determination module is used to determine multiple objects to be deleted that match the deletion policy but do not match the retention policy, based on the object deletion policy information of the objects in the target storage bucket in the storage node.

[0184] The object sorting module is used to sort the objects to be deleted from smallest to largest according to the last access time of each object, and obtain the sorted objects to be deleted.

[0185] The reporting module is used to report the sorted objects to be deleted to the excess management node.

[0186] In one embodiment, the object deletion device 2 further includes:

[0187] The information feedback module is used to send processing information of the object to be deleted to the excess management node when it is detected that the object to be deleted is locked. The processing information indicates that the object to be deleted is in a protected state and no deletion processing has been performed on the object to be deleted.

[0188] The modules in the aforementioned object deletion device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can invoke and execute the operations corresponding to each module.

[0189] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 11As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores object deletion data. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When executed by the processor, the computer program implements an object deletion method.

[0190] Those skilled in the art will understand that Figure 11 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0191] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0192] If the total capacity of objects under the target bucket reaches the quota threshold of the target bucket, retrieve the objects to be deleted from each storage node corresponding to the target bucket.

[0193] Based on the pre-maintained object time index information, the objects to be deleted on each storage node are sorted in order from the oldest to the most recent access time.

[0194] Perform deletion processing on each sorted object to be deleted.

[0195] The implementation principles and technical effects of each step in the processor embodiment of this application are similar to those of the object deletion method described above, and will not be repeated here.

[0196] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:

[0197] If the total capacity of objects under the target bucket reaches the quota threshold of the target bucket, retrieve the objects to be deleted from each storage node corresponding to the target bucket.

[0198] Based on the pre-maintained object time index information, the objects to be deleted on each storage node are sorted in order from the oldest to the most recent access time.

[0199] Perform deletion processing on each sorted object to be deleted.

[0200] The implementation principles and technical effects of each step in the computer program executed by the processor in this embodiment are similar to those of the object deletion method described above, and will not be repeated here.

[0201] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:

[0202] If the total capacity of objects under the target bucket reaches the quota threshold of the target bucket, retrieve the objects to be deleted from each storage node corresponding to the target bucket.

[0203] Based on the pre-maintained object time index information, the objects to be deleted on each storage node are sorted in order from the oldest to the most recent access time.

[0204] Perform deletion processing on each sorted object to be deleted.

[0205] The implementation principles and technical effects of each step in the computer program executed by the processor in this embodiment are similar to those of the object deletion method described above, and will not be repeated here.

[0206] It should be noted that the personnel information (including but not limited to personnel and equipment information, personnel personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the personnel or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.

[0207] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0208] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0209] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A method for deleting an object, characterized in that, The method, applied to an excess management node in an object storage system, includes: If the total capacity of objects under the target storage bucket reaches the quota threshold of the target storage bucket, obtain the objects to be deleted from each storage node corresponding to the target storage bucket; Based on the pre-maintained object time index information, the objects to be deleted on each storage node are sorted in order from the oldest to the most recent access time. Perform deletion processing on each sorted object to be deleted.

2. The method according to claim 1, characterized in that, The step of obtaining the objects to be deleted from each storage node corresponding to the target storage bucket includes: Send an object retrieval request to each of the storage nodes; the object retrieval request is used to instruct each of the storage nodes to determine the objects to be deleted that match the deletion policy but do not match the retention policy, based on the object deletion policy information; Receive objects to be deleted reported by each of the storage nodes based on the object acquisition request.

3. The method according to claim 1 or 2, characterized in that, The step of sorting the objects to be deleted on each storage node according to the last access time of the objects, from oldest to youngest, based on the pre-maintained object time index information, includes: Based on the object time index information, obtain the last access time of each of the objects to be deleted; Based on the last access time of each object, the objects to be deleted are sorted from smallest to largest to obtain the sorted objects to be deleted.

4. The method according to claim 1 or 2, characterized in that, The deletion process for each sorted object to be deleted includes: According to the sorted order of the objects to be deleted, each object to be deleted is sent sequentially to the storage node corresponding to each object to be deleted, so as to instruct each storage node to delete each object to be deleted.

5. The method according to claim 4, characterized in that, The method further includes: If, when sending the ordered objects to be deleted to each of the storage nodes in sequence, the bucket capacity of the target storage bucket is detected to be less than a preset capacity threshold, then the sending of the objects to be deleted to each of the storage nodes is stopped.

6. The method according to claim 1 or 2, characterized in that, The method further includes: Send a statistics information retrieval request to each storage node corresponding to the storage bucket configured with excess deletion management; the statistics information retrieval request is used to instruct each storage node corresponding to the storage bucket to report the object capacity of the objects in the storage bucket in each storage node; Receive the object capacity reported by each of the storage nodes; The target storage bucket is determined based on the capacity of each object.

7. A method for deleting an object, characterized in that, The method, applicable to any storage node in an object storage system, includes: Report the objects to be deleted in the target storage bucket to the excess management node in the object storage system; The system receives objects to be deleted sent by the excess management node and performs deletion processing on the objects to be deleted. The objects to be deleted are sent sequentially by the excess management node after sorting multiple objects according to the object time index information that is maintained in advance and in order of the object's last access time from the oldest to the newest.

8. The method according to claim 7, characterized in that, The method further includes: Based on the object deletion policy information of the objects in the target storage bucket in the storage node, determine multiple objects to be deleted that match the deletion policy but do not match the retention policy; Arrange the objects to be deleted in ascending order according to the last access time of each object to be deleted to obtain the sorted objects to be deleted. The sorted objects to be deleted are reported to the excess management node.

9. The method according to claim 7 or 8, characterized in that, The method further includes: If the excess management node detects that the object to be deleted is locked, the excess management node sends back the processing information of the object to be deleted. The processing information indicates that the object to be deleted is in a protected state and no deletion processing is performed on the object to be deleted.

10. An object deletion system, characterized in that, The object deletion system includes an object storage system, which includes an excess management node and multiple storage nodes. The excess management node is used to implement the steps of the method according to any one of claims 1 to 6; Each of the aforementioned storage nodes is used to implement the steps of the method according to any one of claims 7 to 9.