Methods, apparatus, computer equipment and storage media for data destruction

By dynamically adjusting the number of destruction queues and rationally allocating data blocks, the problem of low data destruction efficiency in existing technologies is solved, achieving more efficient resource utilization and storage system stability.

CN119442346BActive Publication Date: 2026-01-30INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411496556.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-24
Publication Date
2026-01-30
Estimated Expiration
2044-10-24

AI Technical Summary

Technical Problem

Existing technologies have low data destruction efficiency and insufficient utilization of storage system resources, resulting in inadequate stability and efficiency of the storage system.

Method used

By monitoring the resource utilization of the processor and memory in real time, the number of destruction queues is dynamically adjusted. Based on the number of undestroyed data blocks and resource utilization, it is determined whether to regenerate the destruction queues and reasonably allocate data blocks to different destruction queues for data destruction.

Benefits of technology

It improves data destruction efficiency, optimizes storage system resource utilization, ensures the stability and flexibility of the storage system, and avoids resource waste and instability caused by frequent adjustments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119442346B_ABST
    Figure CN119442346B_ABST
Patent Text Reader

Abstract

This invention relates to the field of data security technology and discloses a method, apparatus, computer equipment, and storage medium for data destruction. The method includes: acquiring the number of a first destruction queue from the previous period, the number of undestroyed data blocks, the identification information of the undestroyed data blocks, the real-time resource utilization rate of the processor, and the real-time resource utilization rate of memory; determining whether to regenerate the destruction queue based on multiple elements selected from the number of undestroyed data blocks, the real-time resource utilization rate of the processor and memory, the theoretical resource utilization rate of the processor, the theoretical resource utilization rate of memory, and a preset floating threshold; when it is determined to regenerate the destruction queue, determining the number of a second destruction queue based on the number of the first destruction queue and a preset adjustment queue number; and regenerating multiple destruction queues based on the number of the second destruction queue, the number of undestroyed data blocks, and the identification information of the undestroyed data blocks to destroy data on the target volume. This invention can improve data destruction efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data security technology, and specifically to methods, apparatus, computer equipment, and storage media for data destruction. Background Technology

[0002] With increasing societal emphasis on data security and privacy protection, and the advent of the information age, data has become an indispensable part of business operations and personal lives. To ensure data security, logical destruction technology (also known as soft destruction or logical deletion) is generally used to destroy data.

[0003] When destroying data on a volume, first, a destruction task is created for the volume containing the data to be destroyed. Then, based on the physical address of the volume containing the data to be destroyed, the data blocks are sequentially overwritten multiple times to achieve the purpose of data destruction. For example, the first write is 0, the second is 1, and the third is a random write.

[0004] However, only one destruction task is performed on the volume of data to be destroyed at any given time, resulting in low data destruction efficiency. Summary of the Invention

[0005] In view of this, the present invention provides a method, apparatus, computer equipment, storage medium and program product for data destruction, so as to solve the problem of low data destruction efficiency.

[0006] In a first aspect, the present invention provides a method for data destruction, the method comprising:

[0007] During the target period, the number of the first destruction queue, the number of undestroyed data blocks, the identification information of the undestroyed data blocks, the real-time resource utilization of the processor, and the real-time resource utilization of the memory are obtained in the previous period corresponding to the target period. The target period is any period other than the first period in the process of destroying data on the target volume. The target volume includes multiple data blocks.

[0008] Based on multiple elements including the number of data blocks that have not been destroyed, the real-time resource utilization of the processor and the real-time resource utilization of the memory, the preset theoretical resource utilization of the processor, the preset theoretical resource utilization of the memory, and a preset floating threshold, it is determined whether to regenerate the destruction queue.

[0009] When it is determined to regenerate the destruction queue, the second destruction queue number is determined based on the first destruction queue number and the preset adjustment queue number;

[0010] Based on the number of the second destruction queue, the number of undestroyed data blocks, and the identification information of the undestroyed data blocks, multiple destruction queues are regenerated;

[0011] Data destruction is performed on the target volume according to multiple destruction queues.

[0012] The data destruction method provided by this invention has the following advantages:

[0013] First, in non-first cycles, the system can obtain the number of the first destruction queue from the previous cycle, as well as the number of undestroyed data blocks, their identification information, real-time processor resource utilization, and real-time memory resource utilization. Then, based on multiple elements including the number of undestroyed data blocks, real-time processor resource utilization, real-time memory resource utilization, theoretical processor resource utilization, preset theoretical memory resource utilization, and preset floating thresholds, it can determine whether a new destruction queue needs to be generated. If it is determined that a new destruction queue needs to be generated, multiple destruction queues are regenerated based on the number of the second destruction queue, the number of undestroyed data blocks, and their identification information. Finally, data destruction operations can be performed based on the regenerated multiple destruction queues. This allows for the simultaneous execution of multiple destruction tasks on the target volume, improving data destruction efficiency. Furthermore, this solution can periodically adjust the number of destruction queues based on real-time complexity to ensure the stability of the storage system.

[0014] In one optional implementation, the preset adjustment queue number is a preset incremental queue number;

[0015] The step of determining whether to regenerate the destruction queue based on multiple elements including the number of data blocks that have not been destroyed, the real-time resource utilization of the processor and the real-time resource utilization of memory, a preset theoretical resource utilization of the processor, a preset theoretical resource utilization of memory, and a preset floating threshold, includes:

[0016] When it is determined that the number of data blocks that have not been destroyed is greater than a preset threshold, it is determined whether the real-time resource utilization of the processor is less than the theoretical resource utilization of the processor, and whether the real-time resource utilization of the memory is less than the theoretical resource utilization of the memory.

[0017] When it is determined that the real-time resource utilization of the processor is less than the theoretical resource utilization of the processor, and the real-time resource utilization of the memory is less than the theoretical resource utilization of the memory, the count value of the pre-constructed first counting parameter is updated.

[0018] Determine whether the updated count value of the first counting parameter is equal to the first preset threshold;

[0019] When it is determined that the updated count value of the first counting parameter is equal to the first preset threshold, it is determined to regenerate the destruction queue.

[0020] Specifically, firstly, if the number of undestroyed data blocks is small, re-dividing the queues would waste significant resources. Therefore, the number of destruction queues is only considered when the number of undestroyed data blocks exceeds a preset threshold. Furthermore, by comparing real-time resource utilization with theoretical resource utilization, it is ensured that the number of destruction queues is not blindly increased before resources reach maximum utilization efficiency. This helps to maximize the use of existing resources and avoid waste. Secondly, increasing the number of destruction queues is only considered when the number of undestroyed data blocks exceeds the preset threshold, and the real-time utilization of processors and memory is lower than the theoretical utilization, thus improving destruction efficiency. Additionally, by introducing a first counting parameter and its update mechanism, the regeneration of the destruction queues is only triggered when the count value of the first counting parameter reaches a preset threshold. This method avoids the instability caused by frequent adjustments.

[0021] In one optional implementation, the preset adjustment queue number is a preset decreasing queue number;

[0022] The step of determining whether to regenerate the destruction queue based on multiple elements including the number of data blocks that have not been destroyed, the real-time resource utilization of the processor and the real-time resource utilization of memory, a preset theoretical resource utilization of the processor, a preset theoretical resource utilization of memory, and a preset floating threshold, includes:

[0023] The maximum processor resource utilization rate is determined based on the preset floating threshold and the theoretical processor resource utilization rate.

[0024] The maximum memory resource utilization rate is determined based on the preset floating threshold and the theoretical memory resource utilization rate.

[0025] Determine whether the real-time resource utilization of the processor is greater than the maximum processor resource utilization;

[0026] Determine whether the real-time memory resource utilization rate is greater than the maximum memory resource utilization rate;

[0027] When it is determined that the real-time resource utilization of the processor is greater than the maximum processor resource utilization, or the real-time resource utilization of the memory is greater than the maximum memory resource utilization, it is determined to regenerate the destruction queue.

[0028] Specifically, the number of destruction queues will only be reduced when the real-time utilization of the processor or memory exceeds the maximum allowable value, thus avoiding storage system overload due to excessive destruction tasks.

[0029] In one optional implementation, the step of regenerating multiple destruction queues based on the second destruction queue number, the number of undestroyed data blocks, and the identification information of the undestroyed data blocks includes:

[0030] The queue length of each destruction queue is determined based on the number of the second destruction queues and the number of data blocks that have not been destroyed;

[0031] Based on the queue length of each of the destruction queues and the identification information of the undestroyed data blocks, a plurality of destruction queues are generated, equal to the number of the second destruction queues.

[0032] Specifically, by rationally allocating data blocks to different destruction queues, the latency caused by a single queue processing a large number of data blocks can be reduced.

[0033] In an optional implementation, when it is determined that the updated count value of the first counting parameter is less than a first preset threshold, the method further includes:

[0034] Get the number of data blocks that have been destroyed in the previous cycle;

[0035] The real-time destruction processing speed of the previous cycle is determined based on the number of data blocks that have been destroyed and the preset cycle length.

[0036] Obtain the service type, at least one configuration parameter, and preset number of threads corresponding to the target volume;

[0037] Based on the first number of destruction queues, the real-time resource utilization of the processor, the real-time resource utilization of the memory, the service type corresponding to the target volume, at least one of the configuration parameters, and the preset number of threads, obtain the first theoretical destruction processing speed corresponding to the previous cycle;

[0038] Determine whether the real-time destruction processing speed is greater than the first theoretical destruction processing speed;

[0039] When it is determined that the real-time destruction processing speed is greater than the first theoretical destruction processing speed, the count value of the pre-constructed second counting parameter is updated;

[0040] Determine whether the updated count value of the second count parameter is equal to the second preset threshold;

[0041] When it is determined that the updated count value of the second count parameter is equal to the second preset threshold, it is determined to regenerate the destruction queue.

[0042] Specifically, by dynamically adjusting the destruction queue by comparing the actual destruction rate with the theoretical destruction rate, it is possible to better adapt to changes in actual workload.

[0043] In an optional implementation, when it is determined that the updated count value of the second counting parameter is equal to the second preset threshold, the method further includes:

[0044] The processor resource utilization range is determined based on the preset floating threshold and the theoretical processor resource utilization rate;

[0045] The memory resource utilization range is determined based on the preset floating threshold and the theoretical memory resource utilization rate;

[0046] Determine whether the real-time resource utilization of the processor is within the range of the processor resource utilization;

[0047] Determine whether the real-time memory resource utilization rate is within the range of the memory resource utilization rate;

[0048] When it is determined that the real-time resource utilization of the processor is within the range of the processor resource utilization and the real-time resource utilization of the memory is within the range of the memory resource utilization, the first theoretical destruction processing speed is increased according to the real-time destruction processing speed to obtain the second theoretical destruction processing speed.

[0049] The second theoretical destruction processing speed is determined as the theoretical destruction processing speed corresponding to the target cycle.

[0050] Specifically, determining the theoretical destruction speed based on the actual configuration and operation of the target volume can make the determined theoretical destruction speed more accurate.

[0051] In one optional implementation, the destruction queue includes identification information for at least one data block;

[0052] The step of destroying data on the target volume according to multiple destruction queues includes:

[0053] Based on the identification information of the target data block, a pre-acquired destruction strategy is executed on the target data block, wherein the identification information of the target data block is the identification information of any data block in any one of the multiple destruction queues;

[0054] After the destruction policy is executed on the target data block, the state of the target data block is set to allow writing.

[0055] Specifically, in related technologies, the target volume can only be used after all data blocks have been destroyed. However, in this solution, the status of each data block is set to allow writing after the destruction of each data block, which can reduce the impact of write operations on the target volume.

[0056] Secondly, the present invention provides an apparatus for data destruction, the apparatus comprising:

[0057] The acquisition module is used to acquire the number of the first destruction queue, the number of undestroyed data blocks, the identification information of the undestroyed data blocks, the real-time resource utilization of the processor, and the real-time resource utilization of the memory in the previous period corresponding to the target period. The target period is any period other than the first period in the process of destroying data on the target volume, and the target volume includes multiple data blocks.

[0058] The determination module is used to determine whether to regenerate the destruction queue based on multiple elements including the number of data blocks that have not been destroyed, the real-time resource utilization rate of the processor and the real-time resource utilization rate of the memory, the preset theoretical resource utilization rate of the processor, the preset theoretical resource utilization rate of the memory, and a preset floating threshold; when it is determined to regenerate the destruction queue, the second destruction queue number is determined based on the first destruction queue number and the preset adjustment queue number.

[0059] The generation module is used to regenerate multiple destruction queues based on the number of the second destruction queues, the number of undestroyed data blocks, and the identification information of the undestroyed data blocks;

[0060] The destruction module is used to destroy data on the target volume according to multiple destruction queues.

[0061] Thirdly, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to perform the data destruction method described in the first aspect or any corresponding embodiment thereof.

[0062] Fourthly, the present invention provides a computer-readable storage medium storing computer instructions for causing a computer to perform the data destruction method described in the first aspect or any corresponding embodiment thereof.

[0063] Fifthly, the present invention provides a computer program product, including computer instructions for causing a computer to execute the data destruction method described in the first aspect or any corresponding embodiment thereof. Attached Figure Description

[0064] To more clearly illustrate the technical solutions in the specific embodiments or related technologies of the present invention, the drawings used in the description of the specific embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0065] Figure 1 This is a schematic diagram of the overall data destruction system according to an embodiment of the present invention;

[0066] Figure 2 This is a flowchart illustrating a method for data destruction according to an embodiment of the present invention;

[0067] Figure 3 This is a schematic diagram of a destruction queue according to an embodiment of the present invention;

[0068] Figure 4 This is a structural block diagram of a data destruction apparatus according to an embodiment of the present invention;

[0069] Figure 5 This is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. Detailed Implementation

[0070] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0071] This invention provides a data destruction system, such as... Figure 1As shown, the overall data destruction system can include business-side devices, network devices, and a storage system. Business-side devices can be servers, terminals, etc. Network devices can be switches. The storage system can include processors, memory, an Intelligent Data Destruction (IDD) unit, disk arrays, front-end interfaces, and back-end interfaces. The intelligent data destruction unit can be a board, such as a programmable logic device, used to monitor the operation of the storage system and the execution of destruction tasks, as well as to control the number of destruction queues. For example, it can monitor the real-time load of the storage system (real-time processor resource utilization and real-time memory resource utilization, etc.), the number of destruction queues, the number of destroyed data blocks, the number of undestroyed data blocks, etc. The processor in the storage system is mainly used to destroy data in the volumes of the disk array that need to be destroyed, according to the destruction queues. The disk array can be a solid-state drive (SSD) array, which can include multiple volumes, and each volume can include multiple data blocks. The front-end interface can be different types of I / O interface cards, such as Fibre Channel (FC), Internet Protocol (IP), Remote Direct Memory Access (RDMA over Converged Ethernet, RoCE), and InfiniBand (IB). The front-end interface can be used to connect network devices. The back-end interface can be different types of I / O interface cards, such as Serial Attached SCSI (SAS), Peripheral Component Interconnect Express (PCIe), and RoCE. The back-end interface can be used to connect disk arrays.

[0072] This invention provides a method for data destruction, which improves data destruction efficiency by adjusting the number of destruction tasks according to the actual load.

[0073] According to an embodiment of the present invention, a method for data destruction is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0074] This embodiment provides a method for data destruction, which can be executed by the aforementioned storage system. Figure 2 This is a flowchart of a data destruction method according to an embodiment of the present invention, such as... Figure 2 As shown, the process includes the following steps:

[0075] Step S201: In the target period, obtain the number of the first destruction queue, the number of data blocks that have not been destroyed, the identification information of the data blocks that have not been destroyed, the real-time resource utilization of the processor, and the real-time resource utilization of the memory in the previous period corresponding to the target period.

[0076] The target period is any period other than the first period in the process of destroying data on the target volume, and the target volume can be any volume in the disk array of the aforementioned storage system.

[0077] Specifically, when a target volume needs to be destroyed, the service device can send the target destruction task corresponding to the target volume to the storage system. Upon receiving the target destruction task, the storage system can destroy the data in the target volume based on the preset initial destruction queue number, the identification information of the data blocks included in the target volume, and the pre-acquired destruction strategy. For example, the initial destruction queue number can be 1. Simultaneously, the storage system can start a timer. When the timer reaches the preset timer duration (target time), steps S201 to S205 can be executed, and the timer duration can be reset to zero to start the next cycle. For example, the preset timer duration can be 5 seconds. It should be noted that the first cycle is from the start of data destruction of the target volume to the target time; that is, except for the first cycle, the storage system can periodically execute steps S201 to S205.

[0078] The following explanation uses the target cycle as an example. During the target cycle, the storage system can obtain the number of the first destruction queue in the previous cycle corresponding to the target cycle, the number of data blocks not yet destroyed, the identification information of the data blocks not yet destroyed, the real-time processor resource utilization, and the real-time memory resource utilization. The real-time processor resource utilization and the real-time memory resource utilization can reflect the load status of the storage system. For example, when the target cycle is the second cycle in the data destruction process of the target volume, the number of the first destruction queue is the same as the initial destruction queue number mentioned above.

[0079] The number of data blocks that have not been destroyed can be calculated by the storage system after each cycle of processing, based on the number of data blocks included in the target volume and the number of data blocks that have been destroyed.

[0080] In some alternative implementations, the status of a data block can be one of "write-allowed," "in use," or "faulty." Each time the storage system destroys a data block, it can set the status of that data block to "write-allowed." Accordingly, the storage system can count the number of data blocks in the target volume with a "write-allowed" status, that is, it can count the number of data blocks that have been destroyed.

[0081] In some optional implementations, the user can specify the destruction mode of the target volume. That is, the storage system can first obtain the destruction mode and then perform corresponding destruction processing on the target volume according to the destruction mode. The destruction mode can be either an adjustment mode or a custom mode. When the destruction mode is an adjustment mode, the number of destruction queues in the first cycle is the initial number of destruction queues mentioned above. When the destruction mode is a custom mode, the number of destruction queues in the first cycle is the user-defined target number of destruction queues, and the target destruction task can also include a user-defined target queue length. Accordingly, when the storage system determines that the destruction mode is an adjustment mode, it can begin executing steps S201 to S205. When the storage system determines that the destruction mode is a custom mode, it can first determine whether the target number of destruction queues is greater than a preset threshold for the number of destruction queues (e.g., it could be 1). If so, it can directly obtain the identification information of the data blocks included in the target volume, and generate multiple destruction queues equal to the target number of destruction queues based on the target number of destruction queues included in the target destruction task, the target queue length, and the identification information of the data blocks included in the target volume. The queue length of each generated destruction queue is less than or equal to the target queue length. If not, then the processing from steps S201 to S205 can begin.

[0082] In this way, if users want to expedite the destruction of the queue, they can choose a custom mode and set the number of destruction queues to be greater than a preset destruction queue threshold. If users want to prioritize other write operations, they can set the number of destruction queues to be less than or equal to the preset destruction queue threshold. By selecting the mode, the storage system can complete tasks according to user needs, making it more flexible.

[0083] Step S202: Determine whether to regenerate the destruction queue based on multiple elements including the number of data blocks that have not been destroyed, the real-time resource utilization of the processor and the real-time resource utilization of memory, the preset theoretical resource utilization of the processor, the preset theoretical resource utilization of memory, and the preset floating threshold.

[0084] The preset theoretical processor resource utilization rate and the preset theoretical memory resource utilization rate can be obtained by technicians based on historical data analysis of the storage system.

[0085] Specifically, the storage system can first obtain multiple preset conditions, and then determine whether any of the preset conditions in the previous cycle were met based on multiple elements including the number of data blocks that have not been destroyed, the real-time resource utilization of the processor and memory, the preset theoretical resource utilization of the processor, the preset theoretical resource utilization of the memory, and preset floating thresholds. When it is determined that any of the preset conditions in the previous cycle were met, the destruction queue is regenerated.

[0086] Among these, various preset conditions can include conditions for increasing the number of destruction queues and conditions for decreasing the number of destruction queues.

[0087] Accordingly, the storage system can determine whether to regenerate the destruction queue in two ways:

[0088] Case 1: Determining whether the conditions for increasing the number of destruction queues were met in the previous cycle.

[0089] When the storage system determines that the number of data blocks not yet destroyed exceeds a preset threshold, it can determine whether the real-time processor resource utilization is less than the theoretical processor resource utilization, and whether the real-time memory resource utilization is less than the theoretical memory resource utilization. When both the real-time processor resource utilization and the real-time memory resource utilization are less than the theoretical memory resource utilization, the count value of the pre-built first counting parameter is updated (a third preset value can be added, for example, [missing information]). It is then determined whether the updated count value of the first counting parameter is equal to the first preset threshold. When the updated count value of the first counting parameter is equal to the first preset threshold, the condition for increasing the number of destruction queues is met, meaning the destruction queue can be regenerated.

[0090] When the storage system determines that the number of data blocks that have not been destroyed is less than or equal to a preset threshold, it means that there are not many data blocks left, and the destruction queue of the previous cycle can continue to be executed without regenerating the destruction queue.

[0091] When the storage system determines that the real-time processor resource utilization is greater than or equal to the theoretical processor resource utilization, or the real-time memory resource utilization is greater than or equal to the theoretical memory resource utilization, it indicates that the current load is high. Continuing to increase the number of destruction queues may lead to service interruption. Therefore, in this situation, the count value of the first counting parameter can be reset to zero, and there is no need to generate a destruction queue.

[0092] For example, the first preset threshold could be 3.

[0093] In some optional implementations, when the storage system determines that the updated count value of the first counting parameter is less than a first preset threshold, in addition to clearing the count value of the first counting parameter to zero, it can also first calculate the real-time destruction processing speed of the previous cycle, and determine whether to regenerate the destruction queue by comparing the real-time destruction processing speed with the first theoretical destruction processing speed. Accordingly, the storage system can perform the following steps:

[0094] Obtain the number of data blocks destroyed in the previous period. Based on the number of destroyed data blocks and the preset period length, determine the real-time destruction processing speed of the previous period. Obtain the service type corresponding to the target volume, at least one configuration parameter, and the preset number of threads. Based on the number of first destruction queues, real-time processor resource utilization, real-time memory resource utilization, the service type corresponding to the target volume, at least one configuration parameter, and the preset number of threads, obtain the first theoretical destruction processing speed corresponding to the previous period. Determine whether the real-time destruction processing speed is greater than the first theoretical destruction processing speed. When it is determined that the real-time destruction processing speed is less than or equal to the first theoretical destruction processing speed, clear the count value of the pre-built second counting parameter to zero. When it is determined that the real-time destruction processing speed is greater than the first theoretical destruction processing speed, update the count value of the pre-built second counting parameter (increase a third preset value, for example, 1). Determine whether the updated count value of the second counting parameter is equal to the second preset threshold. When it is determined that the updated count value of the second counting parameter is equal to the second preset threshold, determine to regenerate the destruction queue.

[0095] The service type can be one of the following: Redundant Array of Independent Disks (RAID) initialization, RAID inspection, hard drive reconstruction, etc. Configuration parameters can be hard drive type, hard drive performance metrics, processor performance metrics, memory capacity, memory speed, etc. The preset number of threads can be the number of threads allocated to perform the task of destroying storage devices (including other volumes). The second preset threshold can be 3.

[0096] Specifically, the storage system can determine the real-time destruction processing speed of the previous cycle by the ratio of the number of destroyed data blocks to the preset cycle length. The storage system can store a table showing the correspondence between business data models (including different correspondences of destruction queue numbers, configuration parameters, processor resource utilization, and memory resource utilization), business types, and theoretical processing speeds. Accordingly, the storage system can determine the corresponding theoretical destruction processing speed, i.e., the theoretical destruction processing speed of the previous cycle, based on the first destruction queue number, real-time processor resource utilization, real-time memory resource utilization, the business type corresponding to the target volume, at least one configuration parameter, and the preset number of threads, within the aforementioned correspondence table. When the storage system determines that the updated second counting parameter's count value equals the second preset threshold, it can be considered that the load destruction speed is relatively fast for several consecutive cycles, and the destruction queue can be increased. When it determines that the updated second counting parameter's count value is less than the second preset threshold, it is determined not to regenerate the destruction queue.

[0097] In some optional implementations, when the updated count value of the second counting parameter is determined to be equal to the second preset threshold, the storage system can also determine the processor resource utilization range based on the preset floating threshold and the theoretical processor resource utilization rate, and determine the memory resource utilization range based on the preset floating threshold and the real-time memory resource utilization rate. It is determined whether the real-time processor resource utilization rate is within the processor resource utilization range, and whether the real-time memory resource utilization rate is within the memory resource utilization range. When it is determined that both the real-time processor resource utilization rate and the real-time memory resource utilization rate are within the memory resource utilization range, the first theoretical destruction processing speed is increased based on the real-time destruction processing speed to obtain the second theoretical destruction processing speed. The second theoretical destruction processing speed is determined as the theoretical destruction processing speed corresponding to the target cycle. In this way, except for the first cycle, the destruction processing speed of other cycles can be adjusted according to the real-time situation, making it more accurate.

[0098] Specifically, the expressions for calculating the maximum processor resource utilization are: M1 = C * (1 + F), and the expression for calculating the minimum processor resource utilization is: M3 = C * (1 - F). Where M1 is the maximum processor resource utilization, C is the theoretical processor resource utilization, F is a preset floating threshold, and M3 is the minimum processor resource utilization. The minimum and maximum processor resource utilization constitute the range of processor resource utilization. The expressions for calculating the maximum memory resource utilization are: M2 = N * (1 + F), and the expression for calculating the minimum memory resource utilization is: M4 = N * (1 - F). Where M2 is the maximum memory resource utilization, C is the theoretical memory resource utilization, F is a preset floating threshold, and M4 is the minimum memory resource utilization. The minimum and maximum memory resource utilization constitute the range of memory resource utilization.

[0099] Thus, when the processor's real-time resource utilization is determined to be within the processor's resource utilization range, and the memory's real-time resource utilization is determined to be within the memory's resource utilization range, the storage system can directly adjust the first theoretical destruction processing speed to the real-time destruction processing speed of the previous cycle. Alternatively, the storage system can first calculate the difference between the real-time destruction processing speed of the previous cycle and the first theoretical destruction processing speed, and further, the sum of the first theoretical destruction processing speed and half of this difference can be determined as the second theoretical destruction processing speed.

[0100] Scenario 2: Determining whether the conditions for reducing the number of destruction queues were met in the previous cycle.

[0101] The storage system can determine the maximum processor resource utilization based on a preset floating threshold and the theoretical processor resource utilization. It can also determine the maximum memory resource utilization based on a preset floating threshold and the theoretical memory resource utilization. Next, it can determine whether the real-time processor resource utilization is greater than the maximum processor resource utilization. Finally, it can determine whether the real-time memory resource utilization is greater than the maximum memory resource utilization. When either the real-time processor resource utilization or the real-time memory resource utilization is greater than the maximum memory resource utilization, the conditions for reducing the number of destruction queues are met, meaning the destruction queues can be regenerated.

[0102] When it is determined that the real-time processor resource utilization is less than or equal to the maximum processor resource utilization, and the real-time memory resource utilization is less than or equal to the maximum memory resource utilization, it can be said that the current load is low, and there is no need to reduce the number of destruction queues, that is, there is no need to regenerate the destruction queues.

[0103] The preset floating threshold can be a percentage, for example, 5%.

[0104] The maximum processor resource utilization rate, determined based on the preset floating threshold and the theoretical processor resource utilization rate, can be expressed by the following formula:

[0105] M1 = C*(1+F)

[0106] Where M1 is the maximum processor resource utilization, C is the theoretical processor resource utilization, and F is the preset floating threshold.

[0107] The maximum memory resource utilization rate, determined based on the preset floating threshold and the theoretical memory resource utilization rate, can be expressed by the following formula:

[0108] M2 = N*(1+F)

[0109] Where M2 is the maximum memory resource utilization rate, C is the theoretical memory resource utilization rate, and F is the preset floating threshold.

[0110] Step S203: When it is determined to regenerate the destruction queue, the number of the second destruction queue is determined based on the number of the first destruction queue and the preset number of the adjustment queue.

[0111] Specifically, when the preset condition met in the previous period was to increase the number of destruction queues, the preset adjustment queue number can be a preset increasing queue number; when the preset condition met in the previous period was to decrease the number of destruction queues, the preset adjustment queue number can be a preset decreasing queue number. For example, both the preset increasing queue number and the preset decreasing queue number can be 1.

[0112] Specifically, when the preset adjustment queue number is a preset increasing queue number, the storage system can determine the second destruction queue number by the sum of the first destruction queue number and the preset adjustment queue number. When the preset adjustment queue number is a preset decreasing queue number, the storage system can determine the second destruction queue number by the difference between the first destruction queue number and the preset adjustment queue number.

[0113] Step S204: Based on the number of the second destruction queue, the number of undestroyed data blocks, and the identification information of the undestroyed data blocks, regenerate multiple destruction queues.

[0114] Specifically, the storage system can regenerate the destruction queue by following these steps:

[0115] Step 1: Determine the queue length of each destruction queue based on the number of the second destruction queue and the number of data blocks that have not been destroyed.

[0116] Step 2: Based on the queue length of each destruction queue and the identification information of the undestroyed data blocks, generate multiple destruction queues equal to the number of the second destruction queue.

[0117] Specifically, the storage system can calculate the quotient and remainder of the number of undestroyed data blocks and the number of the second destruction queue. Further, when the remainder is zero, the calculated quotient is used as the queue length for each destruction queue, meaning all destruction queues have the same length. When the remainder is non-zero, starting with the first destruction queue, the length of each destruction queue is increased by 1 sequentially until all remainders are allocated, thus obtaining the length of each destruction queue. For example, when the number of undestroyed data blocks is 10 and the number of the second destruction queue is 3, the queue length of the first destruction queue is 4, the queue length of the second destruction queue is 3, and the queue length of the third destruction queue is 3. Then, the storage system can partition the queues based on the length of each destruction queue and the identification information of the undestroyed data blocks. During the partitioning process, data blocks with similar storage locations can be grouped into the same destruction queue.

[0118] like Figure 3As shown, it is assumed that the destruction queue is adjusted by adding queues in each cycle. When the initial destruction queue number is 1 and the preset incremental adjustment queue number is 1, in the first cycle, the identification information of all data blocks in the target volume constitutes the initial destruction queue. At the start of the second cycle, it can be determined that the data blocks destroyed in the first cycle are data block 1 and data block 2. At this time, the identification information of the data blocks that were not destroyed in the first cycle is obtained, and two destruction queues are generated based on the identification information of the data blocks that were not destroyed in the first cycle and the number of destruction queues in the second cycle. Destruction queue 1 can include data blocks 3 to 6, and destruction queue 2 can include data blocks 7 to 10. At the start of the third cycle, it can be determined that the data blocks destroyed in the second cycle include data blocks 3, 4, 7, and 8. At this point, the identification information of the undestroyed data blocks in the second cycle can be obtained, and three destruction queues can be generated based on the identification information of the undestroyed data blocks in the second cycle and the number of destruction queues in the third cycle. Among them, destruction queue 1 can include data block 5 and data block 6, destruction queue 2 can include data block 9, and destruction queue 3 can include data block 10.

[0119] Step S205: Destroy the data on the target volume according to multiple destruction queues.

[0120] Specifically, the storage system can send multiple destruction queues to the storage device, which can then proceed with the data destruction of the target volume according to the following steps:

[0121] Step 1: Based on the identification information of the target data block, execute the pre-acquired destruction strategy on the target data block.

[0122] The target data block's identification information is the identification information of any data block in any of the multiple destruction queues. The destruction strategy can include the number of writes and the write method for each write operation. The write method can include either writing a fixed value or writing randomly.

[0123] Step 2: After executing the destruction policy on the target data block, set the state of the target data block to allow writing.

[0124] Specifically, the storage system can process multiple destruction queues simultaneously. For each destruction queue, the storage system can traverse the queue from beginning to end. Upon encountering the identifier of a data block, the system executes a pre-fetched destruction strategy based on that identifier. After execution, the data block's status can be set to write-enabled. Thus, when the storage system receives a new write operation instruction, it can use that data block to write data.

[0125] In some optional implementations, the number of writes can be any number from 3 to 100. When executing the destruction strategy on the target data block, the target data block can be written with a first preset value first, then with a second preset value, and then the target data block can be randomly written with the remaining number of writes.

[0126] It should be noted that while destroying data on the target volume, the storage system can also destroy data on other volumes.

[0127] The data destruction method provided in this embodiment addresses several issues. First, when the number of undestroyed data blocks is small, re-dividing the queues would waste significant resources. Therefore, increasing the number of destruction queues is only considered when the number of undestroyed data blocks exceeds a preset threshold. Furthermore, by comparing real-time resource utilization with theoretical resource utilization, the method ensures that the number of destruction queues is not blindly increased before resources reach maximum utilization efficiency. This helps maximize the use of existing resources and avoid waste. Second, increasing the number of destruction queues only occurs when the number of undestroyed data blocks exceeds the preset threshold and the real-time utilization of the processor and memory is lower than the theoretical utilization, thus improving destruction efficiency. Additionally, by introducing a first counting parameter and its update mechanism, the regeneration of the destruction queues is only triggered when the count value of the first counting parameter reaches a preset threshold. This method avoids the instability caused by frequent adjustments.

[0128] This embodiment also provides a data destruction apparatus for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0129] This embodiment provides a device for data destruction, such as... Figure 4 As shown, it includes:

[0130] The acquisition module 401 is used to acquire the number of the first destruction queue, the number of data blocks that have not been destroyed, the identification information of the data blocks that have not been destroyed, the real-time resource utilization of the processor, and the real-time resource utilization of the memory in the previous period corresponding to the target period. The target period is any period other than the first period in the process of destroying data on the target volume. The target volume includes multiple data blocks.

[0131] The determination module 402 is used to determine whether to regenerate the destruction queue based on multiple elements including the number of data blocks that have not been destroyed, the real-time resource utilization of the processor and the real-time resource utilization of memory, the preset theoretical resource utilization of the processor, the preset theoretical resource utilization of memory, and a preset floating threshold; when it is determined to regenerate the destruction queue, the second destruction queue number is determined based on the first destruction queue number and the preset adjustment queue number.

[0132] The generation module 403 is used to regenerate multiple destruction queues based on the number of the second destruction queues, the number of undestroyed data blocks, and the identification information of the undestroyed data blocks.

[0133] The destruction module 404 is used to destroy data on the target volume based on multiple destruction queues.

[0134] In some optional implementations, the preset number of adjustment queues is a preset incremental number of queues;

[0135] Module 402 is specifically used for:

[0136] When it is determined that the number of data blocks that have not been destroyed is greater than a preset threshold, it is determined whether the real-time resource utilization of the processor is less than the theoretical resource utilization of the processor, and whether the real-time resource utilization of the memory is less than the theoretical resource utilization of the memory.

[0137] When it is determined that the real-time resource utilization of the processor is less than the theoretical resource utilization of the processor, and the real-time resource utilization of the memory is less than the theoretical resource utilization of the memory, the count value of the pre-constructed first counting parameter is updated.

[0138] Determine whether the updated count value of the first counting parameter is equal to the first preset threshold;

[0139] When it is determined that the updated count value of the first count parameter is equal to the first preset threshold, the destruction queue is regenerated.

[0140] In one optional implementation, the preset adjustment queue number is a preset decreasing queue number;

[0141] Module 402 is specifically used for:

[0142] The maximum processor resource utilization rate is determined based on the preset floating threshold and the theoretical processor resource utilization rate.

[0143] The maximum memory resource utilization rate is determined based on the preset floating threshold and the theoretical memory resource utilization rate.

[0144] Determine whether the real-time processor resource utilization is greater than the maximum processor resource utilization;

[0145] Determine whether the real-time memory resource utilization is greater than the maximum memory resource utilization;

[0146] When it is determined that the real-time processor resource utilization is greater than the maximum processor resource utilization, or the real-time memory resource utilization is greater than the maximum memory resource utilization, the destruction queue is regenerated.

[0147] In one alternative implementation, the generation module 403 is specifically used for:

[0148] The queue length of each destruction queue is determined based on the number of the second destruction queue and the number of data blocks that have not been destroyed;

[0149] Based on the queue length of each destruction queue and the identification information of the undestroyed data blocks, generate multiple destruction queues equal to the number of the second destruction queue.

[0150] In one alternative implementation, the determining module 402 is further specifically used for:

[0151] When it is determined that the updated count value of the first count parameter is less than the first preset threshold, the number of data blocks that have been destroyed in the previous period is obtained.

[0152] The real-time destruction processing speed for the previous cycle is determined based on the number of data blocks that have been destroyed and the preset cycle length.

[0153] Obtain the business type corresponding to the target volume, at least one configuration parameter, and the preset number of threads;

[0154] Based on the number of the first destruction queue, the real-time resource utilization of the processor, the real-time resource utilization of the memory, the business type corresponding to the target volume, at least one configuration parameter, and the preset number of threads, obtain the first theoretical destruction processing speed corresponding to the previous cycle.

[0155] Determine whether the real-time destruction processing speed is greater than the first theoretical destruction processing speed;

[0156] When it is determined that the real-time destruction processing speed is greater than the first theoretical destruction processing speed, the count value of the pre-constructed second counting parameter is updated;

[0157] Determine whether the updated count value of the second count parameter is equal to the second preset threshold;

[0158] When it is determined that the updated count value of the second count parameter is equal to the second preset threshold, the destruction queue is regenerated.

[0159] In one alternative implementation, the determining module 402 is further specifically used for:

[0160] When the updated count value of the second count parameter is determined to be equal to the second preset threshold, the range of processor resource utilization is determined based on the preset floating threshold and the theoretical processor resource utilization.

[0161] The range of memory resource utilization is determined based on the preset floating threshold and the theoretical memory resource utilization rate;

[0162] Determine whether the processor's real-time resource utilization is within the range of processor resource utilization;

[0163] Determine whether the real-time memory resource utilization rate is within the range of memory resource utilization;

[0164] When it is determined that the real-time processor resource utilization is within the range of processor resource utilization and the real-time memory resource utilization is within the range of memory resource utilization, the first theoretical destruction processing speed is increased according to the real-time destruction processing speed to obtain the second theoretical destruction processing speed.

[0165] The second theoretical destruction processing speed is determined as the theoretical destruction processing speed corresponding to the target cycle.

[0166] In one optional implementation, the destruction queue includes identification information for at least one data block;

[0167] Destroy module 404, specifically used for:

[0168] Based on the identification information of the target data block, a pre-acquired destruction strategy is executed on the target data block, wherein the identification information of the target data block is the identification information of any data block in any of the multiple destruction queues;

[0169] After executing the destruction policy on the target data block, set the state of the target data block to allow writing.

[0170] Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.

[0171] In this embodiment, the data destruction device is presented in the form of a functional unit. Here, a unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that execute one or more software or fixed programs, and / or other devices that can provide the above functions.

[0172] This invention also provides a computer device having the above-described features. Figure 5 The device shown is for data destruction.

[0173] Please see Figure 5 , Figure 5This is a schematic diagram of the structure of a computer device provided in an optional embodiment of the present invention, such as... Figure 5 As shown, the computer device includes one or more processors 10, memory 20, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components communicate with each other via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the computer device, including instructions stored in or on memory to display graphical information of a GUI on external input / output devices (such as display devices coupled to the interfaces). In some alternative implementations, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple computer devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 5 Take a processor 10 as an example.

[0174] Processor 10 may be a central processing unit, a network processor, or a combination thereof. Processor 10 may further include a hardware integrated circuit. The aforementioned hardware integrated circuit may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GDA), or any combination thereof.

[0175] The memory 20 stores instructions executable by at least one processor 10 to cause the at least one processor 10 to perform the method shown in the above embodiments.

[0176] The memory 20 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the computer device. Furthermore, the memory 20 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 20 may optionally include memory remotely located relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0177] The memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 20 may also include a combination of the above types of memory.

[0178] The computer device also includes a communication interface 30 for communicating with other devices or communication networks.

[0179] This invention also provides a computer-readable storage medium. The methods described above according to embodiments of the invention can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded via a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods shown in the above embodiments.

[0180] A portion of this invention can be applied as a computer program product, such as computer program instructions, which, when executed by a computer, can invoke or provide the methods and / or technical solutions according to the invention through the operation of the computer. Those skilled in the art will understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executing the instructions, or the computer compiling the instructions and then executing the corresponding compiled program, or the computer reading and executing the instructions, or the computer reading and installing the instructions and then executing the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to a computer.

[0181] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations all fall within the scope defined by the appended claims.

Claims

1. A method of conducting data destruction, characterized by, The method comprises: acquiring, in a target period, a first number of destruction queues of a last period corresponding to the target period, a number of data blocks that have not been destroyed, identification information of the data blocks that have not been destroyed, a real-time processor resource utilization rate, and a real-time memory resource utilization rate, wherein the target period is any period in a non-first period during a data destruction process of a target volume, and the target volume comprises a plurality of data blocks; determining whether to regenerate a destruction queue according to a plurality of elements including the number of data blocks that have not been destroyed, the real-time processor resource utilization rate, the real-time memory resource utilization rate, a preset theoretical processor resource utilization rate, a preset theoretical memory resource utilization rate, and a preset floating threshold value; when it is determined to regenerate the destruction queue, determining a second number of destruction queues according to the first number of destruction queues and a preset adjustment queue number; regenerating a plurality of destruction queues according to the second number of destruction queues, the number of data blocks that have not been destroyed, and the identification information of the data blocks that have not been destroyed; performing data destruction on the target volume according to the plurality of destruction queues.

2. The method of claim 1, wherein, The preset adjustment queue number is a preset incremental queue number. The determining whether to regenerate the destruction queue according to the plurality of elements including the number of data blocks that have not been destroyed, the real-time processor resource utilization rate, the real-time memory resource utilization rate, the preset theoretical processor resource utilization rate, the preset theoretical memory resource utilization rate, and the preset floating threshold value comprises: when it is determined that the number of data blocks that have not been destroyed is greater than a preset number threshold value, determining whether the real-time processor resource utilization rate is less than the theoretical processor resource utilization rate and whether the real-time memory resource utilization rate is less than the theoretical memory resource utilization rate; when it is determined that the real-time processor resource utilization rate is less than the theoretical processor resource utilization rate and the real-time memory resource utilization rate is less than the theoretical memory resource utilization rate, updating a count value of a first count parameter that is pre-constructed; determining whether the updated count value of the first count parameter is equal to a first preset threshold value; when it is determined that the updated count value of the first count parameter is equal to the first preset threshold value, determining to regenerate the destruction queue.

3. The method of claim 1, wherein, The preset adjustment queue number is a preset decremental queue number. The determining whether to regenerate the destruction queue according to the plurality of elements including the number of data blocks that have not been destroyed, the real-time processor resource utilization rate, the real-time memory resource utilization rate, the preset theoretical processor resource utilization rate, the preset theoretical memory resource utilization rate, and the preset floating threshold value comprises: determining a maximum processor resource utilization rate according to the preset floating threshold value and the theoretical processor resource utilization rate; determining a maximum memory resource utilization rate according to the preset floating threshold value and the theoretical memory resource utilization rate; determining whether the real-time processor resource utilization rate is greater than the maximum processor resource utilization rate; determining whether the real-time memory resource utilization rate is greater than the maximum memory resource utilization rate; determining to re-generate the destruction queue when it is determined that the processor real-time resource utilization is greater than the maximum processor resource utilization, or the memory real-time resource utilization is greater than the maximum memory resource utilization.

4. The method according to any one of claims 1 to 3, characterized in that, The re-generating a plurality of destruction queues according to the second destruction queue number, the number of the data blocks that have not been destroyed, and the identification information of the data blocks that have not been destroyed comprises: determining a queue length of each destruction queue according to the second destruction queue number and the number of the data blocks that have not been destroyed; generating a plurality of destruction queues with a number equal to the second destruction queue number according to the queue length of each destruction queue and the identification information of the data blocks that have not been destroyed.

5. The method of claim 2, wherein, The method further comprises: obtaining the number of the data blocks that have been destroyed in the last period; determining a real-time destruction processing speed of the last period according to the number of the data blocks that have been destroyed and a preset period length; obtaining a service type corresponding to the target volume, at least one configuration parameter, and a preset thread number; obtaining a first theoretical destruction processing speed corresponding to the last period according to the first destruction queue number, the processor real-time resource utilization, the memory real-time resource utilization, the service type corresponding to the target volume, at least one of the configuration parameters, and the preset thread number; determining whether the real-time destruction processing speed is greater than the first theoretical destruction processing speed; updating a count value of a second count parameter pre-constructed when it is determined that the real-time destruction processing speed is greater than the first theoretical destruction processing speed; determining whether the count value of the second count parameter after being updated is equal to a second preset threshold value; determining to re-generate the destruction queue when it is determined that the count value of the second count parameter after being updated is equal to the second preset threshold value.

6. The method of claim 5, wherein, The method further comprises: determining a processor resource utilization range according to the preset floating threshold value and the processor theoretical resource utilization; determining a memory resource utilization range according to the preset floating threshold value and the memory theoretical resource utilization; determining whether the processor real-time resource utilization is within the processor resource utilization range; determining whether the memory real-time resource utilization is within the memory resource utilization range; increasing the first theoretical destruction processing speed to obtain a second theoretical destruction processing speed according to the real-time destruction processing speed when it is determined that the processor real-time resource utilization is within the processor resource utilization range and the memory real-time resource utilization is within the memory resource utilization range; determining the second theoretical destruction processing speed as a theoretical destruction processing speed corresponding to the target period.

7. The method according to any one of claims 1 to 3, characterized in that, The destruction queue comprises identification information of at least one data block; The destroying data of the target volume according to the plurality of destruction queues comprises: According to the identification information of the target data block, a pre-acquisition destruction strategy is performed on the target data block, wherein the identification information of the target data block is identification information of any data block in any of the plurality of destruction queues; After the destruction strategy is performed on the target data block, the state of the target data block is set to allow writing.

8. An apparatus for conducting data destruction, characterized by The device comprises: An acquisition module is configured to acquire, in a target period, a first number of destruction queues, a number of data blocks that have not been destroyed, identification information of the data blocks that have not been destroyed, a real-time processor resource utilization rate, and a real-time memory resource utilization rate of a last period corresponding to the target period, wherein the target period is any period in a non-first period in a data destruction process of a target volume, and the target volume comprises a plurality of data blocks; A determination module is configured to determine whether to regenerate a destruction queue according to a plurality of elements including the number of data blocks that have not been destroyed, the real-time processor resource utilization rate, the real-time memory resource utilization rate, a preset theoretical processor resource utilization rate, a preset theoretical memory resource utilization rate, and a preset floating threshold value; when it is determined to regenerate a destruction queue, determine a second number of destruction queues according to the first number of destruction queues and a preset number of adjusted queues; A generation module is configured to regenerate a plurality of destruction queues according to the second number of destruction queues, the number of data blocks that have not been destroyed, and the identification information of the data blocks that have not been destroyed. A destruction module is configured to perform data destruction on the target volume according to the plurality of destruction queues.

9. A computer device, comprising: Comprise: A memory and a processor are communicatively connected, and the memory stores computer instructions. The processor executes the computer instructions to perform the method for data destruction according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions for causing a computer to perform the method for data destruction according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Data access method, device, equipment and storage medium

    CN113535656A

  • Data destruction method and device, computer equipment and storage medium

    CN115113827A