WO2024040928A1 - 一种数据销毁方法、装置、计算机设备和存储介质 - Google Patents

一种数据销毁方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
WO2024040928A1
WO2024040928A1 PCT/CN2023/080864 CN2023080864W WO2024040928A1 WO 2024040928 A1 WO2024040928 A1 WO 2024040928A1 CN 2023080864 W CN2023080864 W CN 2023080864W WO 2024040928 A1 WO2024040928 A1 WO 2024040928A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
data
data destruction
disk array
volume
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2023/080864
Other languages
English (en)
French (fr)
Inventor
徐洪志
杨善松
甄凤远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Publication of WO2024040928A1 publication Critical patent/WO2024040928A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Definitions

  • This application relates to the field of data security technology, and in particular to a data destruction method, device, computer equipment and storage medium.
  • Data destruction refers to the complete deletion of data in storage devices through various technical means to prevent unauthorized users from using data recovery technology to recover residual data in storage devices.
  • Different storage devices have different storage principles and structures, so the data destruction methods adopted by different storage devices are also different.
  • Data destruction is divided into two categories: physical destruction and software destruction.
  • Physical destruction refers to the method of using physical means to destroy information storage media so that it loses its information storage capacity. Physical destruction will cause permanent damage to the memory and fundamentally delete the data completely. It is suitable for data destruction processes with higher confidentiality requirements. Compared with physical destruction, software destruction is cheaper and the hard disk can be reused.
  • Common data overwriting standards include: DoD5220.22-ME standard, DoD5220.22-M-ECE standard, and Gutmann standard.
  • the data overwriting method based on the DoD5220.22-ME standard is: overwrite the data in all areas once with 8-bit characters, then overwrite once with its complement, and finally overwrite once with random codes.
  • the data overwriting method based on the DoD5220.22-M-ECE standard is: overwriting the random number three times, overwriting the data twice, and overwriting the one's complement of the data twice.
  • the data overwriting method based on C.Gutmann standard is the University of Auckland, New Zealand.
  • This application provides a data destruction method, including:
  • the volume is divided into several areas;
  • a relationship mapping table is generated, with one-to-one correspondence between areas and controllers.
  • Each controller destroys data in the zone based on the relational mapping table.
  • generating volumes according to preset volume generation rules includes: creating a storage pool, which includes several disk arrays; dividing each disk array into several data blocks based on the disk arrays; and, Based on the preset volume capacity requirements and according to the preset volume generation rules, several data blocks are obtained and a volume is generated.
  • the preset volume generation rules include: based on the preset volume capacity requirements, traversing several disk arrays to determine the allocation status information of the data block; and, in response to the allocation status information of the data block being unavailable. Allocate and obtain data blocks for use in generating volumes until the volume capacity meets the preset volume capacity requirements.
  • the preset volume generation rules include: based on the volume, predefining several disk arrays as specific disk arrays for generating volumes; based on the preset volume capacity requirements, traversing the specific disk arrays and determining the size of the data blocks. Allocation status information; and, in response to the allocation status information of the data block being unallocated, obtaining the data block for use in generating a volume until the volume capacity meets the preset volume capacity requirement.
  • each controller destroys data in the zone based on the relational mapping table, including: dividing each zone into several blocks according to the logical block address of the zone, and the sizes of the several blocks are consistent; And, each controller uses the block as the data destruction unit to destroy data in the area based on the relational mapping table.
  • each controller uses blocks as data destruction units based on the relational mapping table.
  • the method also includes: obtaining the user's data destruction rate requirement and the load pressure of the controller; Based on the user's data destruction rate requirements and the load pressure of the controller, according to the preset thread startup rules, the number of data destruction threads is generated; and, based on the number of data destruction threads and the relationship mapping table, each controller starts the thread in blocks. It is the data destruction unit and performs data destruction on the area.
  • the preset thread startup rules include: obtaining the user's data destruction rate requirements. level, and, the level of the controller's load pressure; in response to the controller's load pressure level being the highest, the number of data destruction threads generated is 1; in response to the controller's load pressure level not being the highest, the user's data destruction rate requirement
  • the level is not equal to the level of the controller's load pressure.
  • the number of generated data destruction threads is the smaller value of the level of the user's data destruction rate requirement and the level of the controller's load pressure; and, in response to the load of the controller The level of pressure is not the highest.
  • the level of the user's data destruction rate requirement is equal to the level of the controller's load pressure.
  • the number of generated data destruction threads is the level of the user's data destruction rate requirement, or the level of the controller's load pressure.
  • the method further includes: obtaining the disk array to which the region belongs based on the region; obtaining the controller corresponding to the region based on the region and relationship mapping table; and processing background tasks of the disk array based on the controller.
  • the method before obtaining the disk array to which the area belongs, the method further includes: based on the disk array, determining whether there is a data block used to generate the volume in the disk array; responding to the existence of the data block used to generate the volume in the disk array.
  • Data block based on extent, obtains the disk array to which the extent belongs; in response to the fact that the data block used to generate the volume does not exist in the disk array, allocates the background task of the disk array to a controller based on a hash algorithm, and the controller is at least one.
  • the method before processing background tasks of the disk array based on the controller, includes: determining whether the data destruction status of the zone is being destroyed; in response to the data destruction status of the zone being being destroyed, processing the disk based on the controller Background tasks of the array; in response to the data destruction status of the area not being destroyed, obtain the volume to which the area belongs, obtain the preferred controller of the volume, and process background tasks of the disk array based on the preferred controller.
  • the method further includes: based on the preferred controller, determining whether the preferred controller is online; in response to the preferred controller being online, processing background tasks of the disk array based on the preferred controller ; In response to the preferred controller being offline, obtain the online controller in sequence to process the background tasks of the disk array in accordance with the preset disk array sequence.
  • the background tasks of the disk array include: at least one of disk array reconstruction, disk array formatting, and disk array inspection.
  • the present application provides a data destruction device for destroying data in a storage device.
  • the device includes:
  • the volume generation unit is used to generate volumes according to preset volume generation rules
  • the area generation unit is used by the controller based on the storage device to divide the volume into several areas;
  • a mapping table generation unit is used to generate a relationship mapping table based on the controller and the zone, with one-to-one correspondence between the zone and the controller;
  • the controller is used to destroy data in the zone based on the relational mapping table.
  • a computer device including one or more memories, one or more processors, and a computer program stored on the one or more memories and capable of running on the one or more processors.
  • Read instructions one One or more processors perform the following steps when executing computer-readable instructions:
  • the volume is divided into several areas;
  • a relationship mapping table is generated, with one-to-one correspondence between areas and controllers.
  • Each controller destroys data in the zone based on the relational mapping table.
  • a non-volatile computer-readable storage medium on which computer-readable instructions are stored.
  • the computer-readable instructions are executed by one or more processors, the following steps are implemented:
  • the volume is divided into several areas;
  • a relationship mapping table is generated, with one-to-one correspondence between areas and controllers.
  • Each controller destroys data in the zone based on the relational mapping table.
  • Figure 1 is an application environment diagram of a data destruction method provided in one or more embodiments of the present application
  • Figure 2 is a schematic flowchart of a data destruction method provided in one or more embodiments of the present application.
  • Figure 3 is a schematic diagram of the relationship between a storage pool, a disk array, and volumes provided in one or more embodiments of the present application;
  • Figure 4 is a schematic diagram of the relationship between a disk array and volumes provided in one or more embodiments of the present application;
  • Figure 5 is a schematic flowchart of a data destruction method provided in one or more embodiments of the present application.
  • Figure 6 is a schematic flowchart of a data destruction method provided in one or more embodiments of the present application.
  • Figure 7 is a structural block diagram of a data destruction device provided in one or more embodiments of the present application.
  • Figure 8 is an internal structure diagram of a computer device provided in one or more embodiments of the present application.
  • the data destruction method provided by this application can be applied in the application environment as shown in Figure 1.
  • the terminal 102 communicates with the server 104 through the network.
  • a storage device is set up in the server 104.
  • the terminal 102 logs in to the storage device through the server 104 and performs a data destruction task on the data in the storage device.
  • the terminal 102 can But it is not limited to various personal computers, laptops, smart phones and tablets.
  • the server 104 can be implemented as an independent server or a server cluster composed of multiple servers.
  • a data destruction method is provided.
  • the method is applied to the server in Figure 1 as an example.
  • the method is used to destroy data in the storage device and includes the following steps:
  • the volume is divided into several areas;
  • a relationship mapping table is generated, and the area and the controller correspond one to one;
  • Each controller destroys data in the zone based on the relational mapping table.
  • the space of the generated volume is divided into four areas, that is, the number of areas is consistent with the number of controllers.
  • the four controllers respectively perform data destruction on the data in the corresponding generated areas.
  • the four controllers can perform the data destruction task on the four areas at the same time.
  • Each controller performs data destruction tasks at block granularity.
  • a volume is generated according to the preset volume generation rules; based on the controller of the storage device, the volume is divided to generate several areas; based on the controller and the area, a relationship mapping table is generated, and the areas correspond to the controller one-to-one; Each controller destroys data in the zone based on the relational mapping table.
  • This application divides the volume that performs the data destruction task into multiple areas, and each controller simultaneously destroys the data belonging to its own area in multi-thread parallel, which can double the data destruction rate and complete the data destruction task as quickly as possible. beneficial effects.
  • generating a volume according to preset volume generation rules includes: creating a storage pool, which includes several disk arrays; and dividing each disk array into several disk arrays based on the disk array.
  • Data block Based on the preset volume capacity requirements and according to the preset volume generation rules, several data blocks are obtained and a volume is generated.
  • disk array (English meaning: Redundant Arrays of Independent Drives; abbreviation: RAID) means "an array with redundant capabilities composed of independent disks".
  • a disk array is composed of many independent disks, combined into a disk group with a huge capacity.
  • the bonus effect generated by the data provided by individual disks is used to improve the performance of the entire disk system; multiple disk arrays can be added to a storage pool, and multiple disk arrays can also be created.
  • a volume; extent is an attribute of the storage pool.
  • the storage pool divides the disk array it contains into data blocks according to the preset extent size, and the data blocks are also the data units that make up the volume; the partition is divided into multiple blocks, each Each block has its own node, that is, each block has its corresponding controller, and IO (input ⁇ output) will be delivered from the controller to which the block belongs to the disk array and hard disk.
  • the user logs in to the storage device through the IP link on the management host and creates a storage pool.
  • the storage pool will divide all the disk arrays belonging to it according to the preset data block sizes. Later, when creating a volume, the volume will Select data blocks on one or more disk arrays in the storage pool as the source of space based on the required capacity.
  • the preset volume generation rules include: based on the preset volume capacity requirements, traverse several disk arrays and determine the allocation status information of the data block; when the allocation status information of the data block is unallocated, then Obtain data blocks for volume generation until the volume capacity meets the preset volume capacity requirements.
  • the preset volume generation rules include: based on the volume, predefining several disk arrays as specific disk arrays for generating volumes; based on the preset volume capacity requirements, traversing the specific disk arrays and determining the allocation of data blocks. Status information; when the allocation status information of the data block is unallocated, the data block is obtained and used to generate a volume until the volume capacity meets the preset volume capacity requirements.
  • each controller destroys data in the zone based on the relational mapping table, including: dividing each zone into several blocks according to the logical block address of the zone, and several The size of the blocks is the same; each controller uses the block as the data destruction unit to destroy data in the area based on the relational mapping table.
  • each controller uses blocks as data destruction units based on the relational mapping table.
  • the method also includes: obtaining the user's data destruction rate requirements and the controller load pressure; based on the user's data destruction rate requirements and the load pressure of the controller, the number of data destruction threads is generated according to the preset thread startup rules; based on the number of data destruction threads, based on the relationship mapping table, each controller starts a thread, Use blocks as data destruction units to destroy data in areas.
  • data destruction in the zone mainly involves overwriting and erasing the data in the zone. Based on the user's data destruction rate requirements and the load pressure of the controller, the total load pressure value is obtained, and the load pressure value is graded, corresponding to each Set a threshold at one level. Based on the user's data destruction rate and the load pressure of the controller, the number of data destruction threads is dynamically generated to avoid excessive impact on the host business.
  • the preset thread startup rules include: obtaining the level of the user's data destruction rate requirement and the level of the controller's load pressure; when the level of the controller's load pressure is the highest, data destruction is generated.
  • the number of threads is 1; when the load pressure level of the controller is not the highest, if the user's data destruction rate requirement is not equal to the controller's load pressure level, the number of data destruction threads generated is the user's data destruction rate requirement.
  • the load pressure of the controller is level 1, level 2 or level 3. What needs to be understood is that as shown in Eq.
  • the operator composed of "?" and ":” is a ternary operator, also known as a conditional operator.
  • the user's data destruction rate requirement is level 3, and the load pressure of the controller is level 3.
  • the number of data destruction threads is calculated to be 1; that is, each node Start a data destruction thread to perform data destruction tasks on the data in its corresponding area.
  • the method also includes: based on the zone, obtaining the disk array to which the zone belongs; based on the zone and relationship mapping table, obtaining the controller corresponding to the zone; and processing background tasks of the disk array based on the controller. .
  • the background tasks of the disk array will be executed according to the controller corresponding to the zone to prevent the problem of inconsistent striping.
  • the disk array contains several data blocks, and the data blocks contain several stripes.
  • inconsistent stripes will occur. In other words, if the stripes are consistent, it means that the controller that performs the background tasks of the disk array is correct; otherwise, it means that the controller that performs the background tasks of the disk array is incorrect.
  • the method before obtaining the disk array to which the area belongs, the method further includes: based on the disk array, determining whether there is a data block used to generate the volume in the disk array; if there is a data block used to generate the volume in the disk array; To generate the data block of the volume, based on the zone, obtain the disk array to which the zone belongs; if the data block used to generate the volume does not exist in the disk array, the background task of the disk array is assigned to the controller based on the hash algorithm, and the controller is at least For one.
  • the method before processing the background task of the disk array based on the controller, includes: determining whether the data destruction status of the zone is being destroyed; if the data destruction status of the zone is being destroyed, based on The controller processes the background tasks of the disk array; if the data destruction status of the zone is not being destroyed, the volume to which the zone belongs is obtained, the preferred controller of the volume is obtained, and the background tasks of the disk array are processed based on the preferred controller.
  • the method further includes: based on the preferred controller, determining whether the preferred controller is online; if the preferred controller is online, processing background tasks of the disk array based on the preferred controller; if Preferably, if the controller is not online, the online controller will be acquired sequentially to process the background tasks of the disk array according to the preset disk array sequence.
  • a data destruction device which is used to destroy data in a storage device, including: a volume generation unit, an area generation unit, a mapping table generation unit and a controller, in:
  • the volume generation unit is used to generate volumes according to preset volume generation rules
  • the area generation unit is used by the controller based on the storage device to divide the volume into several areas;
  • the mapping table generation unit is used to generate a relationship mapping table based on the controller and the area, and the area and the controller have a one-to-one correspondence;
  • the controller is used to destroy data in the zone based on the above relationship mapping table.
  • the volume generation unit is also used to create a storage pool.
  • the storage pool includes several disk arrays. Based on the disk arrays, each disk array is divided into several data blocks. Based on the preset volume capacity requirements, the storage pool is divided into several data blocks based on the preset volume capacity requirements.
  • the preset volume generation rules obtain several data blocks and generate volumes; among them, the preset volume generation rules include: based on the preset volume capacity requirements, traverse several disk arrays to determine the allocation status information of the data blocks; when the data When the allocation status information of the block is unallocated, the data block is obtained and used to generate a volume until the volume capacity meets the preset volume capacity requirement.
  • the controller is also used to divide each area into several blocks according to the logical block address of the area, and the sizes of the several blocks are consistent; each controller uses the blocks as data based on the relationship mapping table. Destroy the unit and destroy the data in the area.
  • the controller is also used to obtain the user's data destruction rate requirement and the controller's load pressure; based on the user's data destruction rate requirement and the controller's load pressure, generate data destruction according to the preset thread startup rules. Number of threads; Based on the number of data destruction threads and the relationship mapping table, each controller starts a thread and uses blocks as data destruction units to destroy data in the area.
  • the preset thread startup rules include: obtaining the level of the user's data destruction rate requirement and the level of the controller's load pressure; when the level of the controller's load pressure is the highest, data destruction is generated.
  • the number of threads is 1; when the load pressure level of the controller is not the highest, if the user's data destruction rate requirement is not equal to the controller's load pressure level, the number of data destruction threads generated is the user's data destruction rate requirement.
  • the number of data destruction threads generated is the level of the user's data destruction rate requirement, or the level of the load pressure of the controller.
  • the controller is also configured to obtain, based on the zone, the disk array to which the zone belongs; based on zone and relationship mapping Table, obtain the controller corresponding to the zone; handle the background tasks of the disk array based on the controller.
  • the device further includes a task allocation unit for determining, based on the disk array, whether there are data blocks for generating volumes in the disk array; if there are data blocks for generating volumes in the disk array, based on the area , obtain the disk array to which the area belongs; if the data block used to generate the volume does not exist in the disk array, the background task of the disk array is assigned to the controller based on the hash algorithm, and the controller is at least one.
  • the device further includes: a status judgment unit, used to judge whether the data destruction status of the zone is being destroyed; if the data destruction status of the zone is being destroyed, the background task of the disk array is processed based on the controller; if If the data destruction status of the zone is not destroying, the volume to which the zone belongs is obtained, the preferred controller of the volume is obtained, and the background tasks of the disk array are processed based on the preferred controller.
  • a status judgment unit used to judge whether the data destruction status of the zone is being destroyed; if the data destruction status of the zone is being destroyed, the background task of the disk array is processed based on the controller; if If the data destruction status of the zone is not destroying, the volume to which the zone belongs is obtained, the preferred controller of the volume is obtained, and the background tasks of the disk array are processed based on the preferred controller.
  • the status judgment unit is also used to determine whether the preferred controller is online based on the preferred controller; if the preferred controller is online, process background tasks of the disk array based on the preferred controller; if the preferred controller is not online, then Obtain the background tasks of the online controller to process the disk array in sequence according to the preset disk array sequence; wherein, the background tasks of the disk array include: at least one of disk array reconstruction, disk array formatting, and disk array inspection .
  • Each module in the above-mentioned data destruction device can be implemented in whole or in part by software, hardware and combinations thereof.
  • Each of the above modules may be embedded in or independent of the processor of the computer device in the form of hardware, or may be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
  • a computer device is provided.
  • the computer device may be a terminal, and its internal structure diagram may be as shown in FIG. 8 .
  • the computer equipment includes a processor, memory, network interface, display screen and input device connected by a system bus.
  • the processor of the computer device is used to provide computing and control capabilities.
  • the memory of the computer device includes non-volatile storage media and internal memory.
  • the non-volatile storage medium stores an operating system and computer-readable instructions.
  • This internal memory provides an environment for the execution of an operating system and computer-readable instructions in a non-volatile storage medium.
  • the network interface of the computer device is used to communicate with external terminals through a network connection.
  • the computer readable instructions when executed by the processor implement a data destruction method.
  • the display screen of the computer device may be a liquid crystal display or an electronic ink display.
  • the input device of the computer device may be a touch layer covered on the display screen, or may be a button, trackball or touch pad provided on the computer device shell. , it can also be an external keyboard, trackpad or mouse, etc.
  • Figure 8 is only a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer equipment to which the solution of the present application is applied.
  • Specific computer equipment can May include more or fewer parts than shown, or combine certain parts, or have a different arrangement of parts.
  • Embodiments of the present application also provide a computer device, including one or more memories, one or more processors and computer-readable instructions stored in one or more memories and executable on one or more processors, characterized in that when one or more processors execute the computer-readable instructions, the implementation provided in any of the above embodiments is The steps of the data destruction method.
  • Embodiments of the present application also provide a non-volatile computer-readable storage medium on which computer-readable instructions are stored.
  • the computer-readable instructions are executed by one or more processors, the computer-readable instructions provided in any of the above embodiments are implemented. The steps of the data destruction method.
  • Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory may include random access memory (RAM) or external cache memory.
  • RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain Synchlink DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
  • SRAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDRSDRAM double data rate SDRAM
  • ESDRAM enhanced SDRAM
  • SLDRAM synchronous chain Synchlink DRAM
  • Rambus direct RAM
  • DRAM direct memory bus dynamic RAM
  • RDRAM memory bus dynamic RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数据销毁方法、装置、计算机设备和存储介质。所述方法用于销毁存储设备中的数据,包括:按照预设的卷生成规则,生成卷;基于存储设备的控制器,划分所述卷生成若干个区;基于所述控制器与所述区,生成关系映射表,所述区与所述控制器一一对应;每一所述控制器,基于所述关系映射表对所述区进行数据销毁。

Description

一种数据销毁方法、装置、计算机设备和存储介质
相关申请的交叉引用
本申请要求于2022年08月24日提交中国专利局,申请号为202211015784.6,申请名称为“一种数据销毁方法、装置、计算机设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据安全技术领域,尤其涉及一种数据销毁方法、装置、计算机设备和存储介质。
背景技术
随着数字经济的发展,我们已经进入数字化转型的加速阶段,数据作为企业的核心资产,将发挥巨大的价值,数据保护对于企业至关重要。近几年来,各种网络威胁事件频发,政府等机构出台了许多关于用户数据保护的规定。存储厂商大都提供了数据销毁的功能,如,通过将已经使用过的数据进行擦除,从而达到防止泄密的目的。
数据销毁,是指通过各种技术手段,对存储设备中的数据进行彻底删除,以防止非授权用户利用数据恢复技术将存储设备中的残留数据恢复。不同存储设备的存储原理及自身结构不同,所以对于不同的存储设备所采取的数据销毁方式也不同,数据销毁分为物理销毁和软件销毁两大类。
物理销毁是指采用物理手段破坏信息存储介质,使其失去信息存储能力的方法。物理销毁会造成存储器的永久性损坏,从根本上彻底删除数据。适用于密级要求较高的数据销毁过程。软件销毁相比物理销毁,成本低,硬盘可以重复使用。
软件销毁常用的是数据覆写。常见的数据覆写标准包括:DoD5220.22-M-E标准、DoD5220.22-M-ECE标准、Gutmann标准。其中,基于DoD5220.22-M-E标准的数据覆写方式为:用8位字符覆写所有区域中的数据一次,然后用其补码覆写一次,最后再用随机码覆写一次。基于DoD5220.22-M-ECE标准的数据覆写方法为:三次覆写随机数,两次覆写数据,两次覆写数据的反码。基于C.Gutmann标准的数据覆写方式是新西兰奥兰克大学 的Peter Gutmann教授提出的35次数据擦出方案,此方案是目前公认的最安全的数据擦除方案。总而言之,数据覆写就是往卷里面写数据,从数据的开头到数据的结尾覆写多次特定的数据。然而,发明人意识到,在现有技术中,数据覆写的时间是比较长的,并且,除非用户把销毁任务删除,否则这个卷所占用的空间无法被主机业务使用。
发明内容
本申请提供了一种数据销毁方法,包括:
按照预设的卷生成规则,生成卷;
基于存储设备的控制器,划分卷生成若干个区;
基于控制器与区,生成关系映射表,区与控制器一一对应;及
每一控制器,基于关系映射表,对区进行数据销毁。
在其中一些实施例中,按照预设的卷生成规则,生成卷,包括:创建存储池,存储池包括若干个磁盘阵列;基于磁盘阵列,将每一磁盘阵列划分为若干个数据块;及,基于预设的卷容量需求,按照预设的卷生成规则,获取若干个数据块,生成卷。
在其中一些实施例中,预设的卷生成规则,包括:基于预设的卷容量需求,遍历若干个磁盘阵列,判断数据块的分配状态信息;及,响应于数据块的分配状态信息为未分配,获取数据块,以用于生成卷,直至卷容量满足预设的卷容量需求。
在其中一些实施例中,预设的卷生成规则,包括:基于卷,预先定义若干个磁盘阵列为生成卷的特定磁盘阵列;基于预设的卷容量需求,遍历特定磁盘阵列,判断数据块的分配状态信息;及,响应于数据块的分配状态信息为未分配,获取数据块,以用于生成卷,直至卷容量满足预设的卷容量需求。
在其中一些实施例中,每一控制器,基于关系映射表,对区进行数据销毁,包括:按照区的逻辑区块地址,将每一区划分得到若干个块,若干个块的大小一致;及,每一控制器,基于关系映射表,以块为数据销毁单元,对区进行数据销毁。
在其中一些实施例中,每一控制器,基于关系映射表,以块为数据销毁单元,对区进行数据销毁时,该方法还包括:获取用户的数据销毁速率需求及控制器的负载压力;基于用户的数据销毁速率需求及控制器的负载压力,按照预设的线程启动规则,生成数据销毁线程数;及,基于数据销毁线程数,基于关系映射表,每一控制器启动线程,以块为数据销毁单元,对区进行数据销毁。
在其中一些实施例中,预设的线程启动规则,包括:获取用户的数据销毁速率需求的 等级,及,控制器的负载压力的等级;响应于控制器的负载压力的等级最高,生成数据销毁线程数为1;响应于控制器的负载压力的等级不为最高,用户的数据销毁速率需求的等级不等于控制器的负载压力的等级,生成数据销毁线程数为用户的数据销毁速率需求的等级,与,控制器的负载压力的等级中的较小值;及,响应于控制器的负载压力的等级不为最高,用户的数据销毁速率需求的等级等于控制器的负载压力的等级,生成数据销毁线程数为用户的数据销毁速率需求的等级,或,控制器的负载压力的等级。
在其中一些实施例中,该方法还包括:基于区,获取区所属的磁盘阵列;基于区和关系映射表,获取区对应的控制器;及,基于控制器处理磁盘阵列的后台任务。
在其中一些实施例中,在获取区所属的磁盘阵列前,该方法还包括:基于磁盘阵列,判断磁盘阵列中是否存在用于生成卷的数据块;响应于磁盘阵列中存在用于生成卷的数据块,基于区,获取区所属的磁盘阵列;响应于磁盘阵列中不存在用于生成卷的数据块,基于哈希算法将磁盘阵列的后台任务分配至控制器,控制器至少为一。
在其中一些实施例中,在基于控制器处理磁盘阵列的后台任务前,该方法包括:判断区的数据销毁状态是否为正在销毁;响应于区的数据销毁状态为正在销毁,基于控制器处理磁盘阵列的后台任务;响应于区的数据销毁状态不为正在销毁,获取区所属的卷,获取卷的优选控制器,基于优选控制器处理磁盘阵列的后台任务。
在其中一些实施例中,在获取卷的优选控制器后,该方法还包括:基于优选控制器,判断优选控制器是否在线;响应于优选控制器在线,基于优选控制器处理磁盘阵列的后台任务;响应于优选控制器不在线,获取按照预设的磁盘阵列顺序,顺次获取在线的控制器处理磁盘阵列的后台任务。
在其中一些实施例中,磁盘阵列的后台任务包括:磁盘阵列重建、磁盘阵列格式化和磁盘阵列巡检中的至少一项。
本申请根据另一方面,提供了一种数据销毁装置,该装置以用于销毁存储设备中的数据,该装置包括:
卷生成单元,用于按照预设的卷生成规则,生成卷;
区生成单元,用于基于存储设备的控制器,划分卷生成若干个区;
映射表生成单元,用于基于控制器与区,生成关系映射表,区与控制器一一对应;及
控制器,用于基于关系映射表,对区进行数据销毁。
本申请的再一方面,提供了一种计算机设备,包括一个或多个存储器、一个或多个处理器及存储在一个或多个存储器上并可在一个或多个处理器上运行的计算机可读指令,一 个或多个处理器执行计算机可读指令时实现以下步骤:
按照预设的卷生成规则,生成卷;
基于存储设备的控制器,划分卷生成若干个区;
基于控制器与区,生成关系映射表,区与控制器一一对应;及
每一控制器,基于关系映射表,对区进行数据销毁。
本申请的又一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:
按照预设的卷生成规则,生成卷;
基于存储设备的控制器,划分卷生成若干个区;
基于控制器与区,生成关系映射表,区与控制器一一对应;及
每一控制器,基于关系映射表,对区进行数据销毁。
附图说明
图1为本申请一个或多个实施例中提供的一种数据销毁方法的应用环境图;
图2为本申请一个或多个实施例中提供的一种数据销毁方法的流程示意图;
图3为本申请一个或多个实施例中提供的一种存储池、磁盘阵列及卷之间的关系示意图;
图4为本申请一个或多个实施例中提供的一种磁盘阵列及卷之间的关系示意图;
图5为本申请一个或多个实施例中提供的一种数据销毁方法的流程示意图;
图6为本申请一个或多个一个实施例中提供的一种数据销毁方法的流程示意图;
图7为本申请一个或多个一个实施例中提供的一种数据销毁装置的结构框图;
图8为本申请一个或多个一个实施例中提供的一种计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据销毁方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104内设置存储设备,终端102通过服务器104登陆至存储设备,对存储设备中的数据执行数据销毁任务。其中,终端102可以 但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据销毁方法,以该方法应用于图1中的服务器为例进行说明,方法以用于销毁存储设备中的数据,包括以下步骤:
按照预设的卷生成规则,生成卷;
基于存储设备的控制器,划分卷生成若干个区;
基于控制器与区,生成关系映射表,区与控制器一一对应;
每一控制器,基于关系映射表,对区进行数据销毁。
具体地,对于一个拥有四个控制器的存储设备而言,将生成的卷的空间划分为四个区,即区的数量与控制器的数量是一致的。在对卷内数据执行数据销毁任务时,四个控制器分别对与其对应生成的区的数据进行数据销毁,四个控制器可以是同时对四个区执行数据销毁任务。每个控制器按照块的块粒度执行数据销毁任务。
上述数据销毁方法中,按照预设的卷生成规则,生成卷;基于存储设备的控制器,划分卷生成若干个区;基于控制器与区,生成关系映射表,区与控制器一一对应;每一控制器,基于关系映射表,对区进行数据销毁。本申请通过将执行数据销毁任务的卷划分为多个区,各控制器同时对归属于自己的区的数据进行多线程并行销毁,具有成倍的提升数据销毁速率、达到尽快完成数据销毁任务的有益效果。
在一个实施例中,如图3所示,按照预设的卷生成规则,生成卷,包括:创建存储池,存储池包括若干个磁盘阵列;基于磁盘阵列,将每一磁盘阵列划分为若干个数据块;基于预设的卷容量需求,按照预设的卷生成规则,获取若干个数据块,生成卷。
其中,磁盘阵列(英文含义:Redundant Arrays of Independent Drives;简称:RAID)有“独立磁盘构成的具有冗余能力的阵列”之意。磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能;一个存储池中可以添加多个磁盘阵列,也可以创建多个卷;extent作为存储池的一个属性,存储池将其包含的磁盘阵列按照预设的extent的大小切分成数据块,数据块也为组成卷的数据单元;将区划分为多个块,每个块有其归属节点,即每一块都有其对应的控制器,IO(输入\输出)会从块所属控制器下发至磁盘阵列及硬盘。
具体地,用户在管理主机通过IP链路登陆到存储设备,创建存储池,存储池会将属于它的所有的磁盘阵列按照预设的数据块的大小进行划分,之后在创建卷时,卷会根据所需的容量在存储池中选中一个或多个磁盘阵列上的数据块作为其空间来源。
在一个实施例中,预设的卷生成规则,包括:基于预设的卷容量需求,遍历若干个磁盘阵列,判断数据块的分配状态信息;当数据块的分配状态信息为未分配时,则获取数据块,以用于生成卷,直至卷容量满足预设的卷容量需求。
在一个实施例中,预设的卷生成规则,包括:基于卷,预先定义若干个磁盘阵列为生成卷的特定磁盘阵列;基于预设的卷容量需求,遍历特定磁盘阵列,判断数据块的分配状态信息;当数据块的分配状态信息为未分配时,则获取数据块,以用于生成卷,直至卷容量满足预设的卷容量需求。
在一个实施例中,如图4所示,每一控制器,基于关系映射表,对区进行数据销毁,包括:按照区的逻辑区块地址,将每一区划分得到若干个块,若干个块的大小一致;每一控制器,基于关系映射表,以块为数据销毁单元,对区进行数据销毁。
在一个实施例中,如图5所示,每一控制器,基于关系映射表,以块为数据销毁单元,对区进行数据销毁时,方法还包括:获取用户的数据销毁速率需求及控制器的负载压力;基于用户的数据销毁速率需求及控制器的负载压力,按照预设的线程启动规则,生成数据销毁线程数;基于数据销毁线程数,基于关系映射表,每一控制器启动线程,以块为数据销毁单元,对区进行数据销毁。
具体地,对区进行数据销毁主要为对区的数据进行覆盖擦除,基于用户的数据销毁速率需求和控制器的负载压力,获取总的负载压力值,并将负载压力值进行分级,对应每一级别设置一个阈值。基于用户的数据销毁速率和控制器的负载压力,动态生成数据销毁线程数,以避免对主机业务的过多影响。
在一个实施例中,预设的线程启动规则,包括:获取用户的数据销毁速率需求的等级,及,控制器的负载压力的等级;当控制器的负载压力的等级最高时,则生成数据销毁线程数为1;当控制器的负载压力的等级不为最高时,若用户的数据销毁速率需求的等级不等于控制器的负载压力的等级,则生成数据销毁线程数为用户的数据销毁速率需求的等级,与,控制器的负载压力的等级中的较小值;当控制器的负载压力的等级不为最高时,若用户的数据销毁速率需求的等级等于控制器的负载压力的等级,则生成数据销毁线程数为用户的数据销毁速率需求的等级,或,控制器的负载压力的等级;其中,基于下述公式,生成数据销毁线程数:Z=(Y==3)?(1:(X<Y?X:Y));式中,Z表示数据销毁线程数;Y表示用户的数据销毁速率需求,用户的数据销毁速率需求为1级、2级或3级;X表示控制器的负载压力,控制器的负载压力为1级、2级或3级。需要理解的是,式中所示的 由“?”和“:”构成的运算符为三目运算符,又称为条件运算符。
具体地,比如,在实际应用场景中,用户的数据销毁速率需求为3级,控制器的负载压力为3级,基于上式,计算得到数据销毁线程数为1;也就是说,每个节点启动一个数据销毁线程对与其对应的区的数据执行数据销毁任务。需要理解的是,本申请的用户的数据销毁速率需求,级数越高,意味着用户越想尽快地完成数据销毁任务;控制器的负载压力的级数越高,意味着控制器的负载压力就越大;数据销毁线程数的级数越高,就意味着数据销毁的速率越高。
在一个实施例中,如图6所示,该方法还包括:基于区,获取区所属的磁盘阵列;基于区和关系映射表,获取区对应的控制器;基于控制器处理磁盘阵列的后台任务。
具体的,磁盘阵列的后台任务会根据区对应的控制器执行,以防止出现分条不一致的问题。如图4所示,磁盘阵列包含若干个数据块,数据块包含有若干个分条,当采用与区不对应的控制器来执行磁盘阵列的后台任务时,就会出现分条不一致的情况。也就是说,分条一致即说明执行磁盘阵列的后台任务的控制器是正确的,反之,则说明执行磁盘阵列的后台任务的控制器是不正确的。
在一个实施例中,如图6所示,获取区所属的磁盘阵列前,该方法还包括:基于磁盘阵列,判断磁盘阵列中是否存在用于生成卷的数据块;若磁盘阵列中存在用于生成卷的数据块,则基于区,获取区所属的磁盘阵列;若磁盘阵列中不存在用于生成卷的数据块,则基于哈希算法将磁盘阵列的后台任务分配至控制器,控制器至少为一。
在一个实施例中,如图6所示,基于控制器处理磁盘阵列的后台任务前,该方法包括:判断区的数据销毁状态是否为正在销毁;若区的数据销毁状态为正在销毁,则基于控制器处理磁盘阵列的后台任务;若区的数据销毁状态不为正在销毁,则获取区所属的卷,获取卷的优选控制器,基于优选控制器处理磁盘阵列的后台任务。
在一个实施例中,获取卷的优选控制器后,该方法还包括:基于优选控制器,判断优选控制器是否在线;若优选控制器在线,则基于优选控制器处理磁盘阵列的后台任务;若优选控制器不在线,则获取按照预设的磁盘阵列顺序,顺次获取在线的控制器处理磁盘阵列的后台任务。
应该理解的是,虽然图2、5和6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、5和6 中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种数据销毁装置,该装置以用于销毁存储设备中的数据,包括:卷生成单元、区生成单元、映射表生成单元和控制器,其中:
卷生成单元,用于按照预设的卷生成规则,生成卷;
区生成单元,用于基于存储设备的控制器,划分卷生成若干个区;
映射表生成单元,用于基于控制器与区,生成关系映射表,区与控制器一一对应;
控制器,用于基于上述关系映射表,对区进行数据销毁。
在一个实施例中,卷生成单元,还用于创建存储池,存储池包括若干个磁盘阵列;基于磁盘阵列,将每一磁盘阵列划分为若干个数据块;基于预设的卷容量需求,按照预设的卷生成规则,获取若干个数据块,生成卷;其中,预设的卷生成规则包括:基于预设的卷容量需求,遍历若干个磁盘阵列,判断数据块的分配状态信息;当数据块的分配状态信息为未分配时,则获取数据块,以用于生成卷,直至卷容量满足预设的卷容量需求。
在一个实施例中,控制器还用于按照区的逻辑区块地址,将每一区划分得到若干个块,若干个块的大小一致;每一控制器,基于关系映射表,以块为数据销毁单元,对区进行数据销毁。
在一个实施例中,控制器还用于获取用户的数据销毁速率需求及控制器的负载压力;基于用户的数据销毁速率需求及控制器的负载压力,按照预设的线程启动规则,生成数据销毁线程数;基于数据销毁线程数,基于关系映射表,每一控制器启动线程,以块为数据销毁单元,对区进行数据销毁。
在一个实施例中,预设的线程启动规则,包括:获取用户的数据销毁速率需求的等级,及,控制器的负载压力的等级;当控制器的负载压力的等级最高时,则生成数据销毁线程数为1;当控制器的负载压力的等级不为最高时,若用户的数据销毁速率需求的等级不等于控制器的负载压力的等级,则生成数据销毁线程数为用户的数据销毁速率需求的等级,与,控制器的负载压力的等级中的较小值;当控制器的负载压力的等级不为最高时,若用户的数据销毁速率需求的等级等于控制器的负载压力的等级,则生成数据销毁线程数为用户的数据销毁速率需求的等级,或,控制器的负载压力的等级。
在一个实施例中,控制器还用于基于区,获取区所属的磁盘阵列;基于区和关系映射 表,获取区对应的控制器;基于控制器处理磁盘阵列的后台任务。
在一个实施例中,该装置还包括任务分配单元,用于基于磁盘阵列,判断磁盘阵列中是否存在用于生成卷的数据块;若磁盘阵列中存在用于生成卷的数据块,则基于区,获取区所属的磁盘阵列;若磁盘阵列中不存在用于生成卷的数据块,则基于哈希算法将磁盘阵列的后台任务分配至控制器,控制器至少为一。
在一个实施例中,该装置还包括:状态判断单元,用于判断区的数据销毁状态是否为正在销毁;若区的数据销毁状态为正在销毁,则基于控制器处理磁盘阵列的后台任务;若区的数据销毁状态不为正在销毁,则获取区所属的卷,获取卷的优选控制器,基于优选控制器处理磁盘阵列的后台任务。
在一个实施例中,状态判断单元还用于基于优选控制器,判断优选控制器是否在线;若优选控制器在线,则基于优选控制器处理磁盘阵列的后台任务;若优选控制器不在线,则获取按照预设的磁盘阵列顺序,顺次获取在线的控制器处理磁盘阵列的后台任务;其中,磁盘阵列的后台任务包括:磁盘阵列重建、磁盘阵列格式化和磁盘阵列巡检中的至少一项。
关于数据销毁装置的具体限定可以参见上文中对于数据销毁方法的限定,在此不再赘述。上述数据销毁装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令。该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种数据销毁方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例还提供了一种计算机设备,包括一个或多个存储器、一个或多个处理器 及存储在一个或多个存储器上并可在一个或多个处理器上运行的计算机可读指令,其特征在于,一个或多个处理器执行计算机可读指令时实现上述任一实施例中提供的数据销毁方法的步骤。
本申请实施例还提供了一种非易失性计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被一个或多个处理器执行时实现上述任一实施例中提供的数据销毁方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (20)

  1. 一种数据销毁方法,其特征在于,所述方法以用于销毁存储设备中的数据,所述方法包括:
    按照预设的卷生成规则,生成卷;
    基于所述存储设备的控制器,划分所述卷生成若干个区;
    基于所述控制器与所述区,生成关系映射表,所述区与所述控制器一一对应;及
    每一所述控制器,基于所述关系映射表,对所述区进行数据销毁。
  2. 根据权利要求1所述的数据销毁方法,其特征在于,所述存储设备包括4个所述控制器;所述基于所述存储设备的控制器,划分所述卷生成若干个区,包括:
    基于所述存储设备的4个所述控制器,划分所述卷的空间生成4个区。
  3. 根据权利要求1所述的数据销毁方法,其特征在于,所述按照预设的卷生成规则,生成卷,包括:
    创建存储池,所述存储池包括若干个磁盘阵列;
    基于所述磁盘阵列,将每一所述磁盘阵列划分为若干个数据块;及
    基于预设的卷容量需求,按照预设的卷生成规则,获取若干个所述数据块,生成卷。
  4. 根据权利要求3所述的数据销毁方法,其特征在于,将每一所述磁盘阵列划分为若干个数据块,包括:
    将所述存储池包含的每一所述磁盘阵列按照预设的extent的大小切分为若干个所述数据块;所述extent为所述存储池的一个属性。
  5. 根据权利要求3所述的数据销毁方法,其特征在于,所述预设的卷生成规则,包括:
    基于预设的卷容量需求,遍历所述若干个磁盘阵列,判断所述数据块的分配状态信息;及
    响应于所述数据块的分配状态信息为未分配,获取所述数据块,以用于生成卷,直至所述卷容量满足预设的卷容量需求。
  6. 根据权利要求3所述的数据销毁方法,其特征在于,所述预设的卷生成规则,包括:
    基于所述卷,预先定义若干个磁盘阵列为生成所述卷的特定磁盘阵列;
    基于预设的卷容量需求,遍历所述特定磁盘阵列,判断所述数据块的分配状态信息;及
    响应于所述数据块的分配状态信息为未分配,获取所述数据块,以用于生成卷,直至所述卷容量满足预设的卷容量需求。
  7. 根据权利要求6所述的数据销毁方法,其特征在于,每一所述控制器,基于所述关系映射表,对所述区进行数据销毁,包括:
    按照所述区的逻辑区块地址,将每一所述区划分得到若干个块,所述若干个块的大小一致;及
    每一所述控制器,基于所述关系映射表,以所述块为数据销毁单元,对所述区进行数据销毁。
  8. 根据权利要求7所述的数据销毁方法,其特征在于,每一所述控制器,基于所述关系映射表,以所述块为数据销毁单元,对所述区进行数据销毁时,所述方法还包括:
    获取用户的数据销毁速率需求及所述控制器的负载压力;
    基于所述用户的数据销毁速率需求及所述控制器的负载压力,按照预设的线程启动规则,生成数据销毁线程数;及
    基于所述数据销毁线程数,基于所述关系映射表,每一所述控制器启动线程,以所述块为数据销毁单元,对所述区进行数据销毁。
  9. 根据权利要求8所述的数据销毁方法,其特征在于,所述对所述区进行数据销毁,包括:
    对所述区的数据进行覆盖擦除。
  10. 根据权利要求8所述的数据销毁方法,其特征在于,按照预设的线程启动规则,生成数据销毁线程数,包括:
    获取总的负载压力值,并将所述负载压力值进行分级,对应每一级别设置一个阈值;基于用户的数据销毁速率和控制器的负载压力,动态生成数据销毁线程数。
  11. 根据权利要求8所述的数据销毁方法,其特征在于,所述预设的线程启动规则,包括:
    获取用户的数据销毁速率需求的等级,及,所述控制器的负载压力的等级;
    响应于所述控制器的负载压力的等级最高,生成数据销毁线程数为1;
    响应于所述控制器的负载压力的等级不为最高,所述用户的数据销毁速率需求的等级不等于所述控制器的负载压力的等级,生成数据销毁线程数为所述用户的数据销毁速率需求的等级,与,所述控制器的负载压力的等级中的较小值;及
    响应于所述控制器的负载压力的等级不为最高时,所述用户的数据销毁速率需求的等 级等于所述控制器的负载压力的等级,生成数据销毁线程数为所述用户的数据销毁速率需求的等级,或,所述控制器的负载压力的等级。
  12. 根据权利要求11所述的数据销毁方法,其特征在于,所述生成数据销毁线程数,包括:
    通过以下公式生成数据销毁线程数:
    Z=(Y==3)?(1:(X<Y?X:Y));
    其中,Z表示数据销毁线程数;Y表示用户的数据销毁速率需求,所述用户的数据销毁速率需求为1级、2级或3级;X表示控制器的负载压力,所述控制器的负载压力为1级、2级或3级;其中,由“?”和“:”构成的运算符为三目运算符。
  13. 根据权利要求11所述的数据销毁方法,其特征在于,所述方法还包括:
    基于所述区,获取所述区所属的磁盘阵列;
    基于所述区和所述关系映射表,获取所述区对应的所述控制器;及
    基于所述控制器处理所述磁盘阵列的后台任务。
  14. 根据权利要求13所述的数据销毁方法,其特征在于,获取所述区所属的磁盘阵列前,所述方法还包括:
    基于所述磁盘阵列,判断所述磁盘阵列中是否存在用于生成所述卷的数据块;
    响应于所述磁盘阵列中存在用于生成所述卷的数据块,基于所述区,获取所述区所属的磁盘阵列;及
    响应于所述磁盘阵列中不存在用于生成所述卷的数据块,基于哈希算法将所述磁盘阵列的后台任务分配至控制器,所述控制器至少为一。
  15. 根据权利要求13所述的数据销毁方法,其特征在于,基于所述控制器处理所述磁盘阵列的后台任务前,所述方法包括:
    判断所述区的数据销毁状态是否为正在销毁;
    响应于所述区的数据销毁状态为正在销毁,基于所述控制器处理所述磁盘阵列的后台任务;及
    响应于所述区的数据销毁状态不为正在销毁,获取所述区所属的所述卷,获取所述卷的优选控制器,基于所述优选控制器处理所述磁盘阵列的后台任务。
  16. 根据权利要求15所述的数据销毁方法,其特征在于,在获取所述卷的优选控制器后,所述方法还包括:
    基于所述优选控制器,判断所述优选控制器是否在线;
    响应于所述优选控制器在线,基于所述优选控制器处理所述磁盘阵列的后台任务;及
    响应于所述优选控制器不在线,获取按照预设的磁盘阵列顺序,顺次获取在线的控制器处理所述磁盘阵列的后台任务。
  17. 根据权利要求13~16任一项所述的数据销毁方法,其特征在于,所述磁盘阵列的后台任务包括:磁盘阵列重建、磁盘阵列格式化和磁盘阵列巡检中的至少一项。
  18. 一种数据销毁装置,其特征在于,所述装置以用于销毁存储设备中的数据,所述装置包括:
    卷生成单元,用于按照预设的卷生成规则,生成卷;
    区生成单元,用于基于存储设备的控制器,划分所述卷生成若干个区;
    映射表生成单元,用于基于所述控制器与所述区,生成关系映射表,所述区与所述控制器一一对应;及
    控制器,用于基于所述关系映射表,对所述区进行数据销毁。
  19. 一种计算机设备,包括一个或多个存储器、一个或多个处理器及存储在所述一个或多个存储器上并可在所述一个或多个处理器上运行的计算机可读指令,其特征在于,所述一个或多个处理器执行所述计算机可读指令时实现权利要求1至17中任一项所述方法的步骤。
  20. 一种非易失性计算机可读存储介质,其上存储有计算机可读指令,其特征在于,所述计算机可读指令被所述一个或多个处理器执行时实现权利要求1至17中任一项所述方法的步骤。
PCT/CN2023/080864 2022-08-24 2023-03-10 一种数据销毁方法、装置、计算机设备和存储介质 Ceased WO2024040928A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211015784.6 2022-08-24
CN202211015784.6A CN115113827B (zh) 2022-08-24 2022-08-24 一种数据销毁方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
WO2024040928A1 true WO2024040928A1 (zh) 2024-02-29

Family

ID=83335447

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/080864 Ceased WO2024040928A1 (zh) 2022-08-24 2023-03-10 一种数据销毁方法、装置、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN115113827B (zh)
WO (1) WO2024040928A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115113827B (zh) * 2022-08-24 2023-02-03 苏州浪潮智能科技有限公司 一种数据销毁方法、装置、计算机设备和存储介质
CN117644101B (zh) * 2023-11-20 2024-05-07 北京信佳伟业科技发展有限公司 具有信息采集功能的硬盘销毁机
CN119442346B (zh) * 2024-10-24 2026-01-30 苏州元脑智能科技有限公司 进行数据销毁的方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101465164A (zh) * 2009-01-12 2009-06-24 成都市华为赛门铁克科技有限公司 一种擦除数据的方法、装置及系统
CN101751228A (zh) * 2009-12-29 2010-06-23 成都市华为赛门铁克科技有限公司 磁盘阵列的实现方法和数据读写方法及装置
US20180075053A1 (en) * 2016-09-15 2018-03-15 Pure Storage, Inc. Distributed deletion of a file and directory hierarchy
CN110069330A (zh) * 2019-04-23 2019-07-30 苏州浪潮智能科技有限公司 一种基于系统负载的数据销毁方法、装置以及设备
CN114840885A (zh) * 2022-04-12 2022-08-02 深圳市安信达存储技术有限公司 一种基于赛灵思平台及raid技术的存储主板的智能销毁方法
CN115113827A (zh) * 2022-08-24 2022-09-27 苏州浪潮智能科技有限公司 一种数据销毁方法、装置、计算机设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902695A (zh) * 2014-03-28 2014-07-02 山西奥克斯电子系统工程中心 存储文件加密保护及快速销毁的方法
EP3642740B1 (en) * 2017-06-21 2025-08-06 Cigent Technology, Inc. Method and system for emergency data destruction
CN111694505B (zh) * 2019-03-15 2021-11-02 北京京东尚科信息技术有限公司 数据存储管理方法、装置和计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101465164A (zh) * 2009-01-12 2009-06-24 成都市华为赛门铁克科技有限公司 一种擦除数据的方法、装置及系统
CN101751228A (zh) * 2009-12-29 2010-06-23 成都市华为赛门铁克科技有限公司 磁盘阵列的实现方法和数据读写方法及装置
US20180075053A1 (en) * 2016-09-15 2018-03-15 Pure Storage, Inc. Distributed deletion of a file and directory hierarchy
CN110069330A (zh) * 2019-04-23 2019-07-30 苏州浪潮智能科技有限公司 一种基于系统负载的数据销毁方法、装置以及设备
CN114840885A (zh) * 2022-04-12 2022-08-02 深圳市安信达存储技术有限公司 一种基于赛灵思平台及raid技术的存储主板的智能销毁方法
CN115113827A (zh) * 2022-08-24 2022-09-27 苏州浪潮智能科技有限公司 一种数据销毁方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN115113827A (zh) 2022-09-27
CN115113827B (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
WO2024040928A1 (zh) 一种数据销毁方法、装置、计算机设备和存储介质
US7895394B2 (en) Storage system
US8103847B2 (en) Storage virtual containers
US10216446B2 (en) Method for deduplication in storage system, storage system, and controller
US9817582B2 (en) Offload read and write offload provider
US11928053B2 (en) System garbage collection method and method for garbage collection in solid state disk
CN107484427B (zh) 用于处理存储设备中分条的方法和存储设备
EP2631916A1 (en) Data deletion method and device
CN106527992A (zh) 一种存储设备数据销毁方法及装置
JP2017021805A (ja) 不揮発性メモリ装置内でデータ属性基盤データ配置を利用可能にするインターフェイス提供方法及びコンピュータ装置
CN106708425A (zh) 分布式多模存储管理
CN112799584B (zh) 一种数据存储方法及装置
US10203899B2 (en) Method for writing data into flash memory apparatus, flash memory apparatus, and storage system
CN104272242B (zh) 创建加密存储体
US11409456B2 (en) Methods to reduce storage capacity
CN110569000A (zh) 基于固态硬盘阵列的主机端raid管理方法和装置
CN107402719B (zh) 可用于数据储存装置的数据储存方法与数据回复方法、以及采用这些方法的数据储存装置
US11422931B2 (en) Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
WO2020192710A1 (zh) 基于lsm数据库的垃圾处理的方法、固态硬盘以及存储装置
US12182065B2 (en) Performance of file system operations
US20230176921A1 (en) Application-defined storage architecture for offloading computation
US10019574B2 (en) Systems and methods for providing dynamic file system awareness on storage devices
WO2019148757A1 (zh) 非易失随机访问存储器及其提供方法
CN106933496B (zh) 管理raid的方法及装置
CN103345417A (zh) 一种存储空间回收方法及设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23856025

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23856025

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 09.07.2025)

122 Ep: pct application non-entry in european phase

Ref document number: 23856025

Country of ref document: EP

Kind code of ref document: A1