Data destruction method and device
By introducing a collaborative working mechanism between the control end and the execution agent end in the storage server, and adopting a data destruction task with a preset proportion and a destruction progress event mechanism, the problem of excessive consumption of communication resources in the existing technology is solved, and the efficiency and stability of data destruction are improved.
Patent Information
- Application Number
- CN202510864994.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-26
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2045-06-26
AI Technical Summary
Existing data destruction solutions lead to excessive consumption of communication resources in storage servers, resulting in system performance degradation and downtime risks, seriously affecting data destruction efficiency and stability.
By introducing a collaborative working mechanism between the control end and the execution agent end in the storage server, and adopting a data destruction task with a preset proportion and a destruction progress event mechanism, the number of communication interactions is reduced and the data destruction process is optimized.
It effectively reduces the amount of event interaction between the control end and the execution agent end, reduces the system communication resource usage, ensures the normal operation of other system functions, and improves the efficiency and stability of data destruction.
Smart Images

Figure CN120371539B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of data destruction, and in particular to a data destruction method and device. Background Art
[0002] Safely and thoroughly destroying data on storage servers has become a critical step in ensuring data security throughout its lifecycle. Currently, centralized storage servers destroy data based on logical unit numbers (LUNs). LUNs are divided into storage extensions (Extents), which are further broken down into 256KB sections (Sections). Destruction typically involves overwriting each section individually to destroy the entire LUN.
[0003] However, when executing existing data destruction solutions, the control end and the agent execution end interact once after each data block is destroyed. Taking the destruction of a 100GB LUN as an example, after each destruction of the data in a 256KB section, the agent execution end needs to send an event to the control end to provide feedback on the destruction status, resulting in a high event transmission volume of 100GB / 256KB = 409,600 times. Such high-frequency event interactions will continuously occupy system communication resources. The functions of various modules in the system rely on a unified communication mechanism. When the number of destroyed LUNs increases, communication resources are over-consumed, which can easily lead to system performance degradation, operation lag, or even the risk of downtime, seriously restricting the efficiency and stability of data destruction. Summary of the Invention
[0004] The present application provides a data destruction method and device to at least solve the problem of excessive consumption of communication resources during data destruction in the related art.
[0005] This application provides a data destruction method, which is applied to a control terminal in a storage server, including:
[0006] receiving a destruction instruction for a target logical storage unit;
[0007] In response to the destruction instruction, a data destruction task is sent to the target execution agent; the data destruction task is used to instruct the target execution agent to destroy data of a preset size in the target logical storage unit;
[0008] Upon receiving the destruction progress event sent by the target execution agent, determining whether all data in the target logical storage unit has been destroyed; the destruction progress event is sent after the target execution agent completes the destruction of data of a preset proportion;
[0009] If so, sending a destruction completion notification to the target execution agent;
[0010] If not, the data destruction task is repeatedly sent to the execution agent until all the data in the target logical storage unit is destroyed.
[0011] This application provides another data destruction method, which is applied to a target execution agent in a storage server, including:
[0012] Receiving a data destruction task sent by a control terminal; the data destruction task is used to destroy data of a preset size in the target logical storage unit;
[0013] In response to the data destruction task, destroy the data in the target logical storage unit, and generate a destruction progress event when the destroyed data reaches the preset proportion;
[0014] The destruction progress event is sent to the control end, so that the control end determines whether all data in the target logical storage unit has been destroyed when receiving the destruction progress event sent by the target execution agent end.
[0015] The present application also provides a data destruction device, comprising:
[0016] An instruction receiving module, configured to receive a destruction instruction of a target logical storage unit;
[0017] A task sending module, configured to send a data destruction task to a target execution agent in response to the destruction instruction; the data destruction task is used to instruct the target execution agent to destroy data of a preset size in the target logical storage unit;
[0018] a progress determination module, configured to receive a destruction progress event sent by the target execution agent, and determine whether all data in the target logical storage unit has been destroyed based on the data destruction progress carried in the destruction progress event;
[0019] The task sending module is further configured to determine that the destruction of the target logical storage unit is complete when all data in the target logical storage unit is destroyed, and to send a destruction completion notification to the target execution agent;
[0020] The task sending module is further configured to repeatedly send the data destruction task to the execution agent when the data in the target logical storage unit has not been completely destroyed, until the data in the target logical storage unit has been completely destroyed.
[0021] This application also provides another data destruction device, comprising:
[0022] A task receiving module, configured to receive a data destruction task sent by a control terminal; the data destruction task is used to instruct the destruction of data of a preset size in the target logical storage unit;
[0023] a data destruction module, configured to destroy the data in the target logical storage unit in response to the data destruction task, and generate a destruction progress event when the destroyed data reaches the preset proportion;
[0024] An event sending module is configured to send the destruction progress event to the control terminal, so that upon receiving the destruction progress event sent by the target execution agent, the control terminal can determine whether all data in the target logical storage unit has been destroyed. The present application also provides an electronic device comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-described data destruction methods when executing the computer program.
[0025] The present application also provides a computer-readable storage medium, in which a computer program is stored, wherein when the computer program is executed by a processor, the steps of any of the above-mentioned data destruction methods are implemented.
[0026] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned data destruction methods when executed by a processor.
[0027] The present application sends a data destruction task to the target execution agent, and then can instruct the target execution agent to destroy data of a preset proportion according to the preset proportion, and further judge whether the destruction of the target logical storage unit is completed through the data destruction progress of the destruction progress event. Therefore, the present application will generate an event interaction between the control end and the execution agent only after the target execution agent destroys the data of the preset proportion. Compared with the original frequent interaction mode of interacting once every time a 256KB data block is destroyed, the event interaction amount between the control end and the execution agent can be greatly reduced, avoiding the problem of squeezing out core communication resources due to frequent interactions during the data destruction process, reducing the system communication resource occupancy, and ensuring the normal operation of other system functions. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0029] Figure 1One of the flow charts of a data destruction method provided in an embodiment of the present application;
[0030] Figure 2 The second flowchart of a data destruction method provided in an embodiment of the present application;
[0031] Figure 3 The third flowchart of a data destruction method provided in an embodiment of the present application;
[0032] Figure 4 A fourth flow chart of a data destruction method provided in an embodiment of the present application;
[0033] Figure 5 A schematic diagram of the interaction process between a control terminal and a target execution agent terminal of a data destruction method provided in an embodiment of the present application;
[0034] Figure 6 This is one of the structural diagrams of a data destruction device provided in an embodiment of the present application;
[0035] Figure 7 This is a second structural diagram of a data destruction device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0036] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0037] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.
[0038] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0039] In combination with the storage system architecture on which the execution of the data destruction method depends, the storage system architecture includes a control layer and an execution agent layer; when the storage system receives a user destruction instruction and generates a destruction instruction for the target logical storage unit based on the user destruction instruction, since each target logical storage unit is equipped with a corresponding control terminal, it is necessary to send the destruction instruction for the target logical storage unit to the corresponding control terminal in the control layer; then the control terminal parses the instruction to determine the target execution agent terminal that executes the subsequent data destruction task, and sends the data destruction task to the target execution agent terminal in the execution agent layer, instructing the target execution agent terminal to perform data destruction.
[0040] It should be noted that the control end can be a Control State Machine (CSM), which serves as the control center of the storage server and manages the configuration and status information of each component in the system. In this application, it is used to control the execution of the data destruction process, receive activation stimuli from the destruction control state machine, and control the destruction progress of the logical storage unit. The execution agent end can be an Execution Agent State Machine (EAS), which is the execution module for data destruction on the storage server. It receives data destruction tasks from the control end and organizes the data destruction process. During the interaction between the control end and the target execution agent, when the control end needs to execute the data destruction task, it activates the call gateway (Callgate), allowing the execution agent to obtain the data destruction task by listening to the Callgate instruction channel and then execute the data destruction task. When the execution agent feedbacks data progress or other interaction information to the control end, it does so through base events (Baseevents). Furthermore, the control end receives information fed back by the execution agent by listening to the Baseevent channel.
[0041] The embodiment of the present application provides a data destruction method, and the method is described in detail in conjunction with the execution process of the data destruction method. Figure 1 The figure shows a flow chart of the control end in the storage server provided by this application, and the specific steps include the following:
[0042] S101: Receive a destroy instruction for a target logical storage unit.
[0043] The data destruction method provided in the embodiment of the present application is developed around the target logical storage unit, and the destruction operation of the target logical storage unit is completed through the cooperation between the control end and the execution agent end in the storage server.
[0044] The destruction instruction for the target logical storage unit can be generated by the storage system administrator, the upper-level business system or the compliance audit system and sent to the control end corresponding to the current target logical storage unit. After parsing the instruction, the control end sends a data destruction task to the target execution agent to instruct the target execution agent to destroy the data of the preset proportion of the target logical storage unit according to the data destruction task.
[0045] Specifically, on a storage device, after hard disks form a redundant independent disk array group, these redundant independent disk array groups usually need to be divided into logical storage units and allocated to servers. Logical unit numbers (LUNs) are usually used to describe the logical units in the storage device.
[0046] To facilitate refined data management, logical storage units are further divided into storage extension blocks (Extent) as the basic units of data allocation and management. Each storage extension block is further divided into data blocks of 256KB each, forming the minimum granularity of data management operations.
[0047] S102: In response to the destruction instruction, send a data destruction task to the target execution agent.
[0048] The data destruction task instructs the target execution agent to destroy data of a preset size in the target logical storage unit.
[0049] After receiving the destruction instruction, the control end will determine the target execution agent for executing the data destruction task among multiple execution agents. After determining the target execution agent, the data destruction task will be sent to the target execution agent, so that the target execution agent will destroy the data of a preset proportion in the target logical storage unit according to the instructions of the data destruction task.
[0050] Specifically, the destruction instruction is an instruction for destroying all data in the target logical storage unit; furthermore, considering all data in the target logical storage unit as 100%, when the preset proportion is 1%, the data destruction task instructs the target agent execution end to destroy 1% of the data in the target logical storage unit.
[0051] It should be noted that the preset proportion size can be set to a corresponding size according to actual conditions, and this application does not make any specific restrictions.
[0052] S103: Upon receiving the destruction progress event sent by the target execution agent, determine whether all data in the target logical storage unit has been destroyed.
[0053] Among them, the destruction progress event is issued after the target execution agent completes the destruction of data of a preset size.
[0054] In an embodiment of the present application, after receiving the data destruction task, the target agent end will immediately destroy the data of the preset proportion size. After completing the destruction of the data of the preset proportion size, it will promptly feedback the destruction status to the control end, that is, send a destruction progress event to the control end. After receiving the destruction progress event sent by the target execution agent end, the control end determines whether all the data in the target logical storage unit has been destroyed.
[0055] For example, when the total data size of the target logical storage unit is 100G and the preset proportion size is 1%, the target execution agent needs to destroy 1G of data in the target logical storage unit. According to the calculation that each data block in the target logical storage unit stores 256KB of data, 4096 data blocks need to be destroyed each time to meet the requirements of this data destruction task; after the destruction of these 4096 data blocks is completed, a destruction progress event will be sent to the control end; compared with the method of sending a destruction progress event to the control end each time a data block is destroyed, the number of times the destruction progress event is sent is greatly reduced, thereby reducing the occupation of communication resources.
[0056] When the control end receives this destruction progress event, it needs to determine whether all data in the target logical storage unit has been destroyed after the destruction of the preset proportion of data is completed. In other words, it needs to measure whether the destruction of the entire target logical storage unit is completed, providing a basis for subsequent decision-making.
[0057] After the above S103 (determining whether all data in the target logical storage unit has been destroyed upon receiving the destruction progress event sent by the target execution agent), if all data in the target logical storage unit has been destroyed, the following S104 is executed; if not all data in the target logical storage unit has been destroyed, the following S105 is executed:
[0058] S104: Send a destruction completion notification to the target execution agent.
[0059] When it is confirmed that the overall destruction progress of the target logical storage unit has reached 100%, that is, all data in the target logical storage unit has been destroyed, a destruction completion notification can be sent to the target execution agent to notify the target execution agent that all data in the target logical storage unit has been destroyed and no further data destruction is required. At this time, the target execution agent can stop the data destruction operation and release resources.
[0060] S105 , repeatedly sending the data destruction task to the execution agent until all the data in the target logical storage unit is destroyed.
[0061] When it is confirmed that the overall destruction progress of the target logical storage unit has not reached 100%, it is necessary to continue the data destruction operation, and then the control end continues to send the data destruction task to the target execution agent end, and still destroys the data of the target logical storage unit according to the preset proportion until it is confirmed that all the data of the target logical storage unit has been destroyed, that is, the overall destruction progress reaches 100%.
[0062] The present application sends a data destruction task to the target execution agent, and then can instruct the target execution agent to destroy data of a preset proportion according to the preset proportion, and further judge whether the destruction of the target logical storage unit is completed through the data destruction progress of the destruction progress event. Therefore, the present application will generate an event interaction between the control end and the execution agent only after the target execution agent destroys the data of the preset proportion. Compared with the original frequent interaction mode of interacting once every time a 256KB data block is destroyed, the event interaction amount between the control end and the execution agent can be greatly reduced, avoiding the problem of squeezing out core communication resources due to frequent interactions during the data destruction process, reducing the system communication resource occupancy, and ensuring the normal operation of other system functions.
[0063] As an extension and refinement of the above embodiment, refer to Figure 2 As shown, in the above S103, upon receiving the destruction progress event sent by the target execution agent, the specific implementation process of determining whether all data of the target logical storage unit has been destroyed can be refined into the following S201 to S203:
[0064] S201. Obtain the cumulative number of received destruction progress events.
[0065] Specifically, the control end is also equipped with a corresponding event monitoring mechanism, which can capture the destruction progress events sent by the target execution agent in real time. Each time the target execution agent completes the destruction of the preset proportion of data, it will send a destruction progress event, and then use the event monitoring mechanism to count the cumulative number of destruction progress events.
[0066] S202: Calculate the overall destruction progress of the target logical storage unit based on the accumulated number and a preset proportion.
[0067] Furthermore, the overall destruction progress can be calculated based on the cumulative number of destruction progress events and the preset proportion. For example, if the overall data size of the target logical storage unit is 1G, when the preset proportion is 1%, and the cumulative number is 100 times, it means that the destruction progress of the target logical storage unit has reached 100%.
[0068] S203: Determine whether all data in the target logical storage unit has been destroyed based on the overall destruction progress.
[0069] In combination with the above embodiment, when the cumulative number is 100 times, it means that the destruction progress of the target logical storage unit has reached 100%, and the data of the target logical storage unit has been completely destroyed. Conversely, if the destruction progress of the target logical storage unit does not reach 100%, the data of the target logical storage unit has not been completely destroyed.
[0070] The above detailed steps can quantify the number of events, convert the number of events into the overall destruction progress in combination with the preset proportion, and then determine whether all destruction has been completed; realize the precision and lightweight of the data destruction process; calculate the precise progress based on the number of events combined with the preset proportion, while reducing the interaction overhead and accurately obtaining the overall destruction progress.
[0071] As an extension and refinement of the above embodiment, the present application also provides an interactive flow diagram of a data destruction method, referring to Figure 3 As shown in FIG, a flowchart of the target execution agent in the storage server provided by this application is shown, and the specific steps include the following:
[0072] S301: Receive a data destruction task sent by a control terminal.
[0073] The data destruction task is used to instruct the destruction of data of a preset size in the target logical storage unit.
[0074] In an embodiment of the present application, after responding to the destruction instruction, the control end sends a data destruction task to the target execution agent end. The data destruction task will carry the logical storage unit number of the target logical storage unit, and then accurately locate the target logical storage unit based on the logical storage unit number to carry out subsequent data destruction operations on the target logical storage unit, and then combine the instructions in the data destruction task to destroy the data of a preset proportion in the target logical storage unit.
[0075] Specifically, when the total data size of the target logical storage unit is 100G and the preset proportion size is 1%, the target execution agent needs to destroy 1G of data in the target logical storage unit. Since, when destroying the data of the target logical storage unit, multiple data blocks in the storage extension block in the target logical storage unit are destroyed one by one; then, when destroying 1G of data in the target logical storage unit, based on the fact that each data block is a 256KB data block, 4096 data blocks need to be destroyed this time; and then the target execution agent destroys the 4096 data blocks in the target logical storage unit one by one.
[0076] S302 : In response to the data destruction task, destroy the data in the target logical storage unit, and generate a destruction progress event when the destroyed data reaches a preset proportion.
[0077] In an embodiment of the present application, after receiving a data destruction task, the target execution agent will immediately respond to the data destruction task and start destroying the data in the target logical storage unit until the destroyed data reaches a preset proportion size, and then pause, and generate a destruction progress event to feedback to the control end that the target agent execution end has completed the destruction of the data of the preset proportion size.
[0078] In combination with the embodiment in the above S301, when the target execution agent completes the destruction of 4096 data blocks in the target logical storage unit, a destruction progress event is generated.
[0079] S303: Send a destruction progress event to the control end, so that the control end determines whether all data in the target logical storage unit has been destroyed when receiving the destruction progress event sent by the target execution agent end.
[0080] After the destruction progress event is generated, it is necessary to immediately send the destruction progress event to the control end so that the control end can determine whether all data in the target logical storage unit has been destroyed after receiving the destruction progress event, providing a basis for whether to continue data destruction in the future.
[0081] The embodiment of the present application stands from the perspective of the target execution agent end, and by receiving the data destruction task sent by the control end, it clarifies the task goal and scope, realizes the precise targeting of the data destruction operation, and uses the data destruction task to instruct the target execution agent end to destroy data according to the preset proportion size. After the destruction of the data of the preset proportion size is completed, a destruction progress event is generated again and sent to the control end; thereby avoiding sending a destruction progress event to the control end every time a data block is destroyed, greatly reducing the amount of destruction progress events sent, and reducing the occupation of communication resources.
[0082] As an extension and refinement of the above embodiment, refer to Figure 4 As shown, the specific process of destroying the data in the target logical storage unit in response to the data destruction task in S202 and generating a destruction progress event when the destroyed data reaches a preset proportion can be broken down into the following steps:
[0083] S401 : In response to a data destruction task, determine a plurality of data blocks corresponding to a target logical storage unit.
[0084] Specifically, the target execution agent first locates multiple storage extension blocks of the logical storage unit corresponding to the logical storage unit number through the logical storage unit number, and then obtains data blocks corresponding to the multiple storage extension blocks to clarify the specific objects to be subsequently destroyed, that is, multiple data blocks.
[0085] S402: Generate a data block overwrite instruction for any data block among the multiple data blocks.
[0086] In some embodiments, the data in the data block is stored in the form of binary numbers 1 and 0; the data block is overwritten with meaningless and irregular new data (all 0, all 1 or random numbers, etc.) to cover the original binary content of the data block; thereby destroying the physical traces of the original data in the data block (magnetic signals, electronic potentials, etc.), making it impossible to restore the original combination of the data block by technical means, thereby achieving the purpose of data destruction.
[0087] It should be noted that in order to ensure the complete destruction of the data in the data block, it is necessary to overwrite the data of the same data block multiple times. That is, after the data of the entire target logical storage unit is destroyed once using the data destruction method of the above embodiment of the present application, the merchant destruction process can be repeated multiple times to overwrite the data block of the target logical storage unit multiple times; for example, the target logical storage unit needs to be destroyed three times. The first time, all 0s are used to overwrite the data block. The second time, all 1s are used to overwrite the data block. The third time, random numbers are used to overwrite the data block. The original data of the data block of the target logical storage unit is completely destroyed by the above-mentioned multiple overwriting method, thereby improving the security of the data.
[0088] S403 , in response to the data block overwrite instruction, overwrite the data in the data block, and after the data block is overwritten, determine whether the destroyed data reaches a preset proportion size.
[0089] It's important to note that when overwriting data in a data block, the target execution agent primarily organizes the overwriting process for multiple data blocks. Since overwriting data blocks is an I / O (input / output) operation, essentially modifying the original data in the block through I / O, the overwriting of data blocks can be performed by the underlying I / O module. Specifically, after a data block is overwritten, the underlying I / O module sends a completion message to the target execution agent, which then determines whether the destroyed data has reached a preset percentage.
[0090] Specifically, the specific steps for determining whether the data to be destroyed has reached the preset proportion can refer to the following steps 1 and 2:
[0091] Step 1: After the data block is overwritten, the number of data blocks overwritten is increased by one to obtain the total number of data blocks overwritten.
[0092] In an embodiment of the present application, a data block overwrite quantity is set for the data block overwrite process. Whenever a data block is overwritten, the data block overwrite quantity is increased by one, and the total number of data block overwrites is finally counted.
[0093] Step 2: Based on the total number of data blocks overwritten, determine whether the destroyed data has reached a preset proportion.
[0094] After each overwrite is completed, based on the total number of data blocks overwritten and considering that each data block stores 256KB of data, it is calculated whether the currently destroyed data has reached the preset proportion.
[0095] It should be noted that the data in the last data block of a storage extension block may be less than 256KB. When overwriting, only the valid data in this data block needs to be overwritten. However, when the total number of statistical block overwrites is subsequently calculated, the data block is still regarded as a complete data block.
[0096] For example, when the total data size of the target logical storage unit is 100G and the preset proportion size is 1%, when the total number of data blocks overwritten by the target execution agent is 100, the calculation is based on each data block storing 256KB of data. At this time, the total amount of data destroyed is 25600KB, which is approximately 0.024G, which does not meet the preset proportion size requirement of 1%. It is necessary to continue destroying the next data block until the data of the preset proportion size of 1% is destroyed, that is, 1G of data, which means that 4096 data blocks need to be destroyed.
[0097] After the above S403 (determining whether the destroyed data reaches the preset proportion) is executed, if the destroyed data reaches the preset proportion, the following S404 is executed; if the destroyed data does not reach the preset proportion, the following S405 is executed:
[0098] S404: Generate a destruction progress event.
[0099] When the proportion of destroyed data reaches the preset proportion, the target execution agent can generate a destruction progress event, and then feedback to the control end that it has completed the destruction of data of the preset proportion, so as to drive the control end to decide whether to continue the destruction based on this.
[0100] S405 , repeatedly generating a data block overwriting instruction for any data block among the multiple data blocks until the destroyed data reaches a preset proportion.
[0101] When the proportion of destroyed data has not reached the preset proportion, the target execution agent continues to destroy the next data block and repeats steps S402-S403 until the destroyed data reaches the preset proportion.
[0102] The embodiment of the present application illustrates that after receiving a data destruction task, the target execution agent terminal uses data blocks as operation units and operates on the data blocks one by one to destroy the data in the data blocks. Then, each time a data block is overwritten, the progress is counted. By further judging whether the destroyed data reaches a preset proportion size through the relationship between the size of the destroyed data and the size of the data proportion, a destruction progress event is generated and then fed back to the control terminal once. Compared with the original frequent interaction mode of interacting once every time a 256KB data block is destroyed, the amount of event interaction between the control terminal and the execution agent terminal can be greatly reduced, avoiding the problem of squeezing out core communication resources due to frequent interactions during the data destruction process, reducing the system communication resource usage, and ensuring the normal operation of other system functions.
[0103] As an extension and refinement of the above embodiment, the present application also provides an interactive flow diagram of a data destruction method, referring to Figure 5 FIG. 1 is a flow chart of the interaction between the control terminal and the target execution agent terminal in the storage server provided by this application, and the specific steps include the following:
[0104] S501: A control terminal receives a destroy instruction for a target logical storage unit.
[0105] S502: In response to the destruction instruction for the target logical storage unit, the control end determines a target execution agent from multiple execution agents, and sends a data destruction task to the target execution agent.
[0106] The data destruction task instructs the target execution agent to destroy data of a preset size in the target logical storage unit; the target execution agent is any execution agent in the multiple execution agents that is in the initial waiting-for-use state.
[0107] Specifically, when an execution agent is in the initial waiting state, it indicates that it is not occupied by other tasks, that is, the execution agent has no destruction process being executed; furthermore, based on the status of multiple execution agents, the execution agent in the initial waiting state can be used as the target execution agent.
[0108] In the embodiment of the present application, after determining the target execution agent from multiple execution agents, the control end switches the execution state from the agent to be assigned to the execution destruction state.
[0109] Specifically, after determining the target execution agent, the control end itself needs to change its state, that is, switch from the pending agent state to the execution destruction state; then, announce to other modules in the storage system that the current control end has entered the destruction process to avoid being occupied by other businesses.
[0110] S503: The target execution agent receives the data destruction task sent by the control terminal.
[0111] The data destruction task is used to instruct the destruction of data of a preset size in the target logical storage unit.
[0112] S504: The target execution agent destroys the data in the target logical storage unit in response to the data destruction task, and generates a destruction progress event when the destroyed data reaches a preset proportion.
[0113] S505: The target execution agent sends a destruction progress event to the control end, so that the control end determines whether all data in the target logical storage unit has been destroyed when receiving the destruction progress event sent by the target execution agent.
[0114] S506: When the control end receives the destruction progress event sent by the target execution agent end, it determines whether all the data in the target logical storage unit has been destroyed.
[0115] Among them, the destruction progress event is issued after the target execution agent completes the destruction of data of a preset size.
[0116] After the above S506 (the control end determines whether all data in the target logical storage unit has been destroyed upon receiving the destruction progress event sent by the target execution agent end), if all data in the target logical storage unit has been destroyed, the following S507 is executed; if not all data in the target logical storage unit has been destroyed, the following S508 is executed:
[0117] S507: The control end sends a destruction completion notification to the target execution agent end.
[0118] Specifically, after the control end sends a destruction completion notification to the target execution agent end, the method further includes the following steps:
[0119] Step A: After sending the destruction completion notification to the target execution agent, the execution state of the control end is switched from the execution destruction state to the stop destruction state.
[0120] Once the controller confirms that the destruction progress of the target logical storage unit has reached 100%, the data destruction is complete. At this point, the controller switches the execution state from "Execute Destruction" to "Stop Destruction," marking the completion of the destruction task for the target logical storage unit and allowing subsequent finishing operations to proceed.
[0121] Step B: The target agent receives the destruction completion notification sent by the control end, and in response to the destruction completion notification, the target execution agent switches the execution state from the executing task state to the initial waiting state, and sends an agent state change completion event to the control end.
[0122] Specifically, when the target execution agent receives the destruction completion notification, it knows that the control end has announced that the destruction task for the target logical storage unit has been completely completed. At this time, the target execution agent can enter the state reset process, that is, switch the execution state from the executing task state to the initial waiting state to prepare for taking on new tasks; avoid the target execution agent continuously waiting for instructions, resulting in waste of resources.
[0123] Step C: The control end receives the agent state change completion event sent by the target execution agent end.
[0124] The control end receives the agent state change completion event sent by the target execution agent through the event monitoring mechanism, and can then confirm that the target execution agent has switched to the initial standby state.
[0125] Step D: Based on the status change completion event of the agent, the control end updates the execution state from the stop and destroy state to the initial waiting state.
[0126] Since the control end confirms that the target execution agent has switched to the initial standby state based on the state change completion event sent by the target execution agent, the control end itself can switch the execution state from the stopped destruction state to the initial standby state to mark itself as able to undertake new destruction tasks, forming a complete closed loop for the entire destruction process from start to finish.
[0127] The embodiment of the present application illustrates that the control end and the agent end verify the status change through event interaction, thereby preventing the system status inconsistency caused by unilateral status misjudgment, ensuring that both parties have a strict synchronization of the understanding of the task completion status, and facilitating the subsequent development of other businesses.
[0128] S508: The control end repeatedly sends the data destruction task to the execution agent end until all the data in the target logical storage unit is destroyed.
[0129] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.
[0130] The embodiments of the present application also provide a data destruction device, which corresponds one-to-one with the method claims. Figure 6 A structural diagram of a data destruction device 600 provided by the present disclosure is shown as follows: Figure 6 As shown, the apparatus 600 of this embodiment includes:
[0131] An instruction receiving module 61 is configured to receive a destroy instruction of a target logical storage unit;
[0132] The task sending module 62 is used to send a data destruction task to the target execution agent in response to the destruction instruction; the data destruction task is used to instruct the target execution agent to destroy the data of a preset size in the target logical storage unit;
[0133] a progress determination module 63 for receiving a destruction progress event sent by the target execution agent and determining whether all data in the target logical storage unit has been destroyed based on the data destruction progress carried in the destruction progress event;
[0134] The task sending module 62 is further configured to determine that the destruction of the target logical storage unit is complete when all data in the target logical storage unit is destroyed, and to send a destruction completion notification to the target execution agent;
[0135] The task sending module 62 is further configured to repeatedly send the data destruction task to the execution agent when the data in the target logical storage unit has not been completely destroyed, until the data in the target logical storage unit has been completely destroyed.
[0136] As an optional implementation of the embodiment of the present application, the progress judgment module 63 is specifically used to obtain the cumulative number of received destruction progress events; based on the cumulative number, combined with the preset proportion size, calculate the overall destruction progress corresponding to the target logical storage unit; and according to the overall destruction progress, determine whether all data in the target logical storage unit has been destroyed.
[0137] As an optional implementation of an embodiment of the present application, the data destruction device also includes a processing module, which is specifically used to determine the target execution agent from multiple execution agents in response to the destruction instruction for the target logical storage unit; the target execution agent is any execution agent among the multiple execution agents that is in an initial waiting-for-use state.
[0138] As an optional implementation of the embodiment of the present application, the processing module is further configured to, after determining the target execution agent from a plurality of execution agents, switch the execution state from the agent to be assigned to the execution destruction state by the control end.
[0139] As an optional implementation of an embodiment of the present application, the processing module is also used to switch the execution state of the control end from the execution destruction state to the stop destruction state after sending a destruction completion notification to the target execution agent end; receive the agent end state change completion event sent by the target execution agent end; and based on the agent end state change completion event, update the execution state from the stop destruction state to the initial standby state.
[0140] For the description of the features in the embodiment corresponding to the data destruction device, please refer to the relevant description of the embodiment corresponding to the data destruction method, and no further details will be given here.
[0141] The embodiments of the present application also provide another data destruction device, which corresponds one-to-one with the method claims. Figure 7 This is a structural diagram of another data destruction device 700 provided by the present disclosure, as shown in FIG. Figure 7 As shown, the apparatus 700 of this embodiment includes:
[0142] The task receiving module 71 is used to receive a data destruction task sent by the control terminal; the data destruction task is used to instruct the destruction of data of a preset size in the target logical storage unit;
[0143] a data destruction module 72 for destroying the data in the target logical storage unit in response to the data destruction task, and generating a destruction progress event when the destroyed data reaches the preset proportion;
[0144] The event sending module 73 is used to send the destruction progress event to the control end, so that the control end can determine whether all data in the target logical storage unit has been destroyed when receiving the destruction progress event sent by the target execution agent.
[0145] As an optional implementation of the embodiment of the present application, the data destruction module 72 is specifically used to determine the multiple data blocks corresponding to the target logical storage unit in response to the data destruction task; generate a data block overwrite instruction for any data block among the multiple data blocks; respond to the data block overwrite instruction, overwrite the data in the data block, and after the data block is overwritten, determine whether the destroyed data reaches the preset proportion size; if so, generate a destruction progress event.
[0146] As an optional implementation of the embodiment of the present application, the data destruction module 72 is specifically used to repeatedly generate the data block overwrite instruction for any data block among the multiple data blocks until the destroyed data reaches the preset proportion size.
[0147] As an optional implementation of the embodiment of the present application, the data destruction module 72 is specifically used to add one to the number of data block overwrites after the data block is overwritten to obtain the total number of data block overwrites; and determine whether the destroyed data reaches the preset proportion size based on the total number of data block overwrites.
[0148] As an optional implementation of an embodiment of the present application, the task receiving module 71 is also used to receive a destruction completion notification sent by the control end, and in response to the destruction completion notification, the target execution agent end switches the execution state from the task executing state to the initial standby state, and sends an agent end state change completion event to the control end.
[0149] For the description of the features in the embodiment corresponding to the data destruction device, please refer to the relevant description of the embodiment corresponding to the data destruction method, and no further details will be given here.
[0150] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above-mentioned data destruction method embodiments.
[0151] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned data destruction method embodiments when run.
[0152] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0153] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above-mentioned data destruction method embodiments are implemented.
[0154] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps in any of the above-mentioned data destruction method embodiments.
[0155] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0156] The above describes in detail the data destruction method and device provided by this application. This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above examples is only intended to help understand the method and core concept of this application. It should be noted that for those skilled in the art, without departing from the principles of this application, various improvements and modifications can be made to this application, and these improvements and modifications also fall within the scope of protection of the claims of this application.
Claims
1. A data destruction method, characterized in that: The control end used in the storage server includes: receiving a destruction instruction for a target logical storage unit; the destruction instruction is used to instruct to destroy data in the target logical storage unit; In response to the destruction instruction, a data destruction task is sent to the target execution agent; the data destruction task is used to instruct the target execution agent to destroy a preset proportion of data in the target logical storage unit; the preset proportion is set according to actual needs; Upon receiving the destruction progress event sent by the target execution agent, determining whether all data in the target logical storage unit has been destroyed; the destruction progress event is sent after the target execution agent completes the destruction of data of a preset proportion; If so, sending a destruction completion notification to the target execution agent; If not, repeatedly sending the data destruction task to the execution agent until all the data in the target logical storage unit is destroyed; The method of determining whether all data in the target logical storage unit has been destroyed upon receiving the destruction progress event sent by the target execution agent includes: Obtain the cumulative number of received destruction progress events; Based on the accumulated number and the preset proportion, the overall destruction progress corresponding to the target logical storage unit is calculated; According to the overall destruction progress, it is determined whether all data in the target logical storage unit has been destroyed.
2. The data destruction method according to claim 1, wherein: The method further comprises: In response to the destruction instruction for the target logical storage unit, the target execution agent is determined from a plurality of execution agents; the target execution agent is any execution agent in the plurality of execution agents that is in an initial waiting-for-use state.
3. The data destruction method according to claim 2, wherein: The method further comprises: After determining the target execution agent from a plurality of execution agents, the control end switches the execution state from the agent to be assigned to the execution destruction state.
4. The data destruction method according to claim 1, wherein: The method further comprises: After sending a destruction completion notification to the target execution agent, the execution state of the control terminal is switched from the execution destruction state to the stop destruction state; Receiving an agent state change completion event sent by the target execution agent; Based on the agent-side state change completion event, the execution state is updated from the stop and destroy state to an initial waiting state.
5. A data destruction method, characterized in that: The target execution agent used in the storage server includes: Receive a data destruction task sent by the control terminal; the data destruction task is used to instruct to destroy a preset proportion of data in the target logical storage unit; the preset proportion is set according to actual needs; In response to the data destruction task, destroy the data in the target logical storage unit, and generate a destruction progress event when the destroyed data reaches the preset proportion; Sending the destruction progress event to the control end, so that the control end determines whether all data of the target logical storage unit has been destroyed when receiving the destruction progress event sent by the target execution agent end; The method comprises: destroying the data in the target logical storage unit in response to the data destruction task, and generating a destruction progress event when the destroyed data reaches the preset proportion; comprising: In response to the data destruction task, determining a plurality of data blocks corresponding to the target logical storage unit; generating a data block overwrite instruction for any data block among the plurality of data blocks; In response to the data block overwrite instruction, overwrite the data in the data block, and after the data block is overwritten, determine whether the destroyed data reaches the preset proportion size; If so, a destroy progress event is generated.
6. The data destruction method according to claim 5, characterized in that: After determining whether the destroyed data reaches the preset proportion, the method further includes: If not, the data block overwriting instruction is repeatedly generated for any data block among the multiple data blocks until the destroyed data reaches the preset proportion size.
7. The data destruction method according to claim 6, characterized in that: After the data block is overwritten, determining whether the destroyed data reaches the preset proportion size includes: After the data block is overwritten, the number of data blocks overwritten is increased by one to obtain the total number of data blocks overwritten; According to the total number of data blocks overwritten, it is determined whether the destroyed data reaches the preset proportion size.
8. The data destruction method according to claim 6, wherein: The method further comprises: The target execution agent receives the destruction completion notification sent by the control end, and in response to the destruction completion notification, switches the execution state from the task executing state to the initial waiting state, and sends an agent state change completion event to the control end.
9. A data destruction device, characterized in that: include: An instruction receiving module, configured to receive a destruction instruction of a target logical storage unit; the destruction instruction is used to instruct to destroy the data in the target logical storage unit; a task sending module, configured to send a data destruction task to a target execution agent in response to the destruction instruction; the data destruction task is configured to instruct the target execution agent to destroy a preset proportion of data in the target logical storage unit; the preset proportion is set according to actual needs; a progress determination module, configured to receive a destruction progress event sent by the target execution agent, and determine whether all data in the target logical storage unit has been destroyed based on the data destruction progress carried in the destruction progress event; The task sending module is further configured to determine that the destruction of the target logical storage unit is complete when all data in the target logical storage unit is destroyed, and to send a destruction completion notification to the target execution agent; The task sending module is further configured to repeatedly send the data destruction task to the execution agent when the data in the target logical storage unit has not been completely destroyed, until the data in the target logical storage unit has been completely destroyed; The progress determination module is specifically configured to obtain the cumulative number of received destruction progress events; Based on the accumulated number and in combination with the preset proportion, the overall destruction progress corresponding to the target logical storage unit is calculated; and according to the overall destruction progress, it is determined whether all data in the target logical storage unit has been destroyed.
10. A data destruction device, characterized in that: include: A task receiving module is used to receive a data destruction task sent by a control terminal; the data destruction task is used to instruct to destroy a preset proportion of data in a target logical storage unit; the preset proportion is set according to actual needs; a data destruction module, configured to destroy the data in the target logical storage unit in response to the data destruction task, and generate a destruction progress event when the destroyed data reaches the preset proportion; an event sending module, configured to send the destruction progress event to the control terminal, so that the control terminal can determine whether all data in the target logical storage unit has been destroyed when receiving the destruction progress event sent by the target execution agent terminal; The data destruction module is specifically configured to determine, in response to the data destruction task, a plurality of data blocks corresponding to the target logical storage unit; and generate a data block overwriting instruction for any data block among the plurality of data blocks; In response to the data block overwrite instruction, overwrite the data in the data block, and after the data block is overwritten, determine whether the destroyed data reaches the preset proportion size; If so, a destroy progress event is generated.
11. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the data destruction method according to any one of claims 1 to 4 or any one of 5 to 8 when executing the computer program.
12. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the data destruction method according to any one of claims 1 to 4 or any one of 5 to 8 are implemented.
13. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the data destruction method according to any one of claims 1 to 4 or any one of 5 to 8 are implemented.
Citation Information
Patent Citations
LUN destroying method and storage equipment
CN112558876A
Data destruction validity verification method, system and device and medium
CN115237789A