CN113867651B - 一种硬盘数据清理方法、装置及计算设备 - Google Patents

一种硬盘数据清理方法、装置及计算设备 Download PDF

Info

Publication number
CN113867651B
CN113867651B CN202111465744.7A CN202111465744A CN113867651B CN 113867651 B CN113867651 B CN 113867651B CN 202111465744 A CN202111465744 A CN 202111465744A CN 113867651 B CN113867651 B CN 113867651B
Authority
CN
China
Prior art keywords
hard disk
data
target hard
cleaning
partition
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.)
Active
Application number
CN202111465744.7A
Other languages
English (en)
Other versions
CN113867651A (zh
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.)
Wuhan Deepin Technology Co ltd
Original Assignee
Wuhan Deepin 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 Wuhan Deepin Technology Co ltd filed Critical Wuhan Deepin Technology Co ltd
Priority to CN202210081999.1A priority Critical patent/CN114415963B/zh
Priority to CN202111465744.7A priority patent/CN113867651B/zh
Publication of CN113867651A publication Critical patent/CN113867651A/zh
Application granted granted Critical
Publication of CN113867651B publication Critical patent/CN113867651B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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

本发明公开了一种硬盘数据清理方法、装置及计算设备,方法在计算设备中执行,包括步骤:获取计算设备中的每个硬盘的设备信息;根据设备信息确定每个硬盘是否能够进行清理,以确定一个或多个可清理硬盘;显示一个或多个可清理硬盘的设备信息,并获取用户选择的目标硬盘;以及向目标硬盘的每个分区随机写入数据,直到所述目标硬盘的剩余空间小于一个数据块,以触发垃圾回收机制对所述目标硬盘进行数据清理。根据本发明的技术方案,能实现在保留系统原有文件基础上对SSD硬盘数据的彻底清理。

Description

一种硬盘数据清理方法、装置及计算设备
技术领域
本发明涉及计算机技术领域,特别涉及一种硬盘数据清理方法、硬盘数据清理装置及计算设备。
背景技术
目前,SSD固态硬盘的普及率持续增长,并且速度和容量不断提高,使得SSD已逐渐取代机械硬盘。SSD的存储原理与机械硬盘不同,数据销毁方式也与机械硬盘不同。
SSD固态硬盘自带主控,通过在操作系统存取数据的逻辑块地址与原始数据闪存地址的间接层,来转换物理数据的储存,并通过隐藏闪存的特殊接口来管理每个数据块的写入和擦除次数。该间接层增强了SSD的存取性能和可靠性,并大大提高了SSD的使用寿命。但,间接层也会产生对用户不可见的副本数据,基于此,传统的粉碎删除文件、写覆盖、低级格式化驱动器的方法都无法确保彻底删除SSD数据。
现有技术中,通常采用全盘擦除的方式对SSD硬盘数据进行彻底清理,对硬盘全盘擦除会将系统数据也全部删除,导致需要重新安装操作系统,十分麻烦。
为此,需要一种硬盘数据清理方法,以解决上述技术方案中存在的问题。
发明内容
为此,本发明提供一种硬盘数据清理方法和硬盘数据清理装置,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种硬盘数据清理方法,在计算设备中执行,包括步骤:获取计算设备中的每个硬盘的设备信息;根据设备信息确定每个硬盘是否能够进行清理,以确定一个或多个可清理硬盘;显示一个或多个可清理硬盘的设备信息,并获取用户选择的目标硬盘;以及向目标硬盘的每个分区随机写入数据,直到所述目标硬盘的剩余空间小于一个数据块,以触发垃圾回收机制对所述目标硬盘进行数据清理。
可选地,在根据本发明的硬盘数据清理方法中,在触发垃圾回收机制对所述目标硬盘进行数据清理之后,还包括步骤:删除随机写入的所有数据。
可选地,在根据本发明的硬盘数据清理方法中,向目标硬盘的每个分区随机写入数据的步骤包括:基于所述数据块大小依次向所述目标硬盘的每个分区写入数据。
可选地,在根据本发明的硬盘数据清理方法中,向目标硬盘的每个分区随机写入数据,直到所述目标硬盘的剩余空间小于一个数据块的步骤,包括: 计算所述目标硬盘的剩余空间;获取所述目标硬盘的数据块大小、分页大小;基于所述剩余空间和数据块大小来计算待写入的数据块数量;每次基于所述数据块大小的整数倍,向所述目标硬盘的分区写入数据;确定已写入的数据块总数量,如果已写入的数据块总数量等于所述待写入的数据块数量,则确定目标硬盘的剩余空间小于一个数据块。
可选地,在根据本发明的硬盘数据清理方法中,还包括步骤:如果已写入的数据块总数量小于所述待写入的数据块数量,且已写入的数据大小小于或等于所述剩余空间与数据块大小的差值,则:基于所述分页大小依次向所述目标硬盘的每个分区写入数据,直到写入已写入的数据大小大于所述剩余空间与数据块大小的差值时,确定目标硬盘的剩余空间小于一个数据块。
可选地,在根据本发明的硬盘数据清理方法中,向目标硬盘的每个分区随机写入数据的步骤包括:基于所述目标硬盘的设备信息读取目标硬盘的分区信息表,并将目标硬盘的根分区放置到所述分区信息表的最后;根据所述目标硬盘的分区信息表中的分区顺序来向每个分区写入数据。
可选地,在根据本发明的硬盘数据清理方法中,在向目标硬盘的每个分区随机写入数据之前,还包括步骤:检测所述目标硬盘是否存在未分区区域和/或隐藏分区区域;如果存在,则对未分区区域和/或隐藏分区区域进行分区,并进行格式化处理;如果不存在,则向目标硬盘的每个分区随机写入数据。
可选地,在根据本发明的硬盘数据清理方法中,如果接收到用户选择闲时清理的操作,在向目标硬盘的每个分区随机写入数据之前,还包括步骤:检测鼠标或键盘在预定时间内是否进行了操作;如果否,则获取所述目标硬盘上次清理进度,并基于所述上次清理进度继续向目标硬盘的每个分区随机写入数据。
可选地,在根据本发明的硬盘数据清理方法中,显示一个或多个可清理硬盘的设备信息包括:在计算设备的屏幕上显示数据清理界面,在所述显示数据清理界面上显示一个或多个可清理硬盘的设备信息。
可选地,在根据本发明的硬盘数据清理方法中,还包括步骤:
根据当前已写入的数据大小与目标硬盘的剩余空间的比值,确定清理进度;将所述清理进度显示在所述显示数据清理界面上。
可选地,在根据本发明的硬盘数据清理方法中,还包括步骤:获取所述硬盘对应的最新一条历史清理信息,并显示在所述数据清理界面上。
可选地,在根据本发明的硬盘数据清理方法中,还包括步骤:记录所述目标硬盘的本次清理信息并存储。
可选地,在根据本发明的硬盘数据清理方法中,所述清理信息包括清理时间、设备型号、容量大小中的一种或多种。
可选地,在根据本发明的硬盘数据清理方法中,所述硬盘为SSD硬盘;所述设备信息包括盘符、设备型号、容量大小中的一种或多种。
根据本发明的一个方面,提供了一种硬盘数据清理装置,驻留在计算设备中,包括:获取模块,适于获取计算设备中的每个硬盘的设备信息;确定模块,适于根据设备信息确定每个硬盘是否能够进行清理,以确定一个或多个可清理硬盘;显示模块,适于显示一个或多个可清理硬盘的设备信息,并获取用户选择的目标硬盘;以及写入模块,适于向目标硬盘的每个分区随机写入数据,直到所述目标硬盘的剩余空间小于一个数据块,以触发垃圾回收机制对所述目标硬盘进行数据清理。
根据本发明的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的硬盘数据清理方法的指令。
根据本发明的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述方法。
根据本发明的技术方案,提供了一种硬盘数据清理方法,将确定的一个或多个可清理硬盘的设备信息显示在客户端,以供用户选择要进行清理的目标硬盘,根据用户选择的目标硬盘,随机向目标硬盘的每个分区写入数据,直到目标硬盘的剩余空间小于一个数据块时触发垃圾回收机制来擦除目标硬盘上的所有脏数据块,从而实现在保留系统原文件的基础上对SSD硬盘脏数据的彻底清理效果。
另外,根据用户可选择的闲时清理方案,可以在不影响用户工作的情况下对SSD硬盘数据进行清理,提高了用户体验感。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的示意图;
图2示出了根据本发明一个实施例的硬盘数据清理方法200的流程图;
图3示出了根据本发明一个实施例的数据清理界面的示意图;以及
图4示出了根据本发明一个实施例的硬盘数据清理装置400的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是示例计算设备100的示意框图。
如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(UP)、微控制器(UC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138。
计算设备100还可以包括储存接口总线134。储存接口总线134实现了从储存设备132(例如,可移除储存器136和不可移除储存器138)经由总线/接口控制器130到基本配置102的通信。操作系统120、应用122以及数据124的至少一部分可以存储在可移除储存器136和/或不可移除储存器138上,并且在计算设备100上电或者要执行应用122时,经由储存接口总线134而加载到系统存储器106中,并由一个或者多个处理器104来执行。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图像处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备100也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、数码照相机、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。甚至可以被实现为服务器,如文件服务器、数据库服务器、应用程序服务器和WEB服务器等。本发明的实施例对此均不做限制。
在根据本发明的实施例中,计算设备100被配置为执行根据本发明的硬盘数据清理方法200。其中,计算设备100的应用中包含用于执行本发明的硬盘数据清理方法200的多条程序指令,这些程序指令可以被处理器读取并执行,以便计算设备100通过执行本发明的硬盘数据清理方法200来实现对硬盘数据的彻底清除。
根据一个实施例,计算设备100的应用包括硬盘数据清理装置400,硬盘数据清理装置400中包含用于执行本发明的硬盘数据清理方法200的多条程序指令,使得本发明的硬盘数据清理方法200可以在硬盘数据清理装置400中执行。
需要说明的是,在具体实施例中,本发明仅以SSD硬盘为例对硬盘数据清理方法200进行了具体说明。但,应当理解,本发明的硬盘数据清理方法200并不受限于硬盘的具体种类。任何能通过本发明的方法来实现对硬盘进行数据清理的种类均在本发明的保护范围之内。
图2示出了根据本发明一个实施例的硬盘数据清理方法200的流程图。硬盘数据清理方法200可以在计算设备(例如前述计算设备100)的硬盘数据清理装置400中执行。
根据本发明的实施例,计算设备100的储存设备132包括一个或多个SSD硬盘。
如图2所示,方法200始于步骤S210。
在步骤S210中,扫描计算设备中包含的一个或多个硬盘,以获取计算设备中的每个硬盘的设备信息。这里,硬盘可以实现为SSD硬盘。
在一个实施例中,设备信息例如包括盘符、设备型号、容量大小中的一种或多种。
随后在步骤S220中,根据每个硬盘的设备信息来确定每个硬盘是否能够进行清理,最终可以确定一个或多个可清理硬盘。
随后,在步骤S230中,在客户端显示一个或多个可清理硬盘的设备信息,并获取用户选择的目标硬盘。
在一种实现方式中,通过在计算设备的屏幕上显示数据清理界面,在显示数据清理界面上显示一个或多个可清理硬盘的设备信息。例如,在扫描一个或多个硬盘的过程中,如果根据硬盘的设备信息确定硬盘为可清理硬盘,则可以将可清理硬盘的设备信息显示在客户端的数据清理界面上。随后,用户可以在数据清理界面选择需要被清除数据的目标硬盘。计算设备可以获取到用户选择的目标硬盘。
图3示出了根据本发明一个实施例的数据清理界面的示意图。如图3所示,在数据清理界面上显示的可清理硬盘的设备信息包括盘符(SDx)、设备型号、容量大小(xGB)等。
另外,如图3所示,数据清理界面上还可以显示历史记录。具体地,通过获取硬盘对应的最新一条历史清理信息(即上次清理信息),并将获取到的最新一条历史清理信息显示在数据清理界面上,以便用户了解历史清理信息。这里,历史清理信息例如包括清理时间、设备型号、容量大小中的一种或多种。
最后,在步骤S240中,向目标硬盘的每个分区随机写入数据,直到目标硬盘的剩余空间小于一个数据块,这样便会触发垃圾回收机制(GC)来对目标硬盘进行数据清理。需要说明的是,触发垃圾回收机制GC会回收目标硬盘上的所有脏数据块,最终在不删除系统原有文件基础上实现对目标硬盘脏数据的彻底清除。
在执行完步骤S240之后,通过删除随机写入的所有数据,完成对目标硬盘的数据清理过程。
应当指出,根据本发明的硬盘数据清理方案,无需对硬盘进行全盘擦除,并不会擦除系统原有文件,而是只对硬盘上的无用脏数据进行清理,从而在保护系统原有文件的基础上实现对硬盘脏数据的彻底清理效果。
在一个实施例中,在执行步骤S240之前,基于目标硬盘的设备信息中的盘符来读取目标硬盘的分区信息表,根据分区信息表可以确定目标硬盘的根分区,随后将目标硬盘的根分区放置到分区信息表(DInfo列表)的最后。进而在步骤S240中,可以根据目标硬盘的分区信息表中的各个分区的顺序来依次向每个分区写入数据。因根分区位于分区信息表的最后,从而最后才会向根分区写入数据。
进一步地,在执行步骤S240之前,还检测目标硬盘是否存在未分区区域和/或隐藏分区区域,如果不存在未分区区域和/或隐藏分区区域,则可以直接执行步骤S240向目标硬盘的每个分区随机写入数据。
如果目标硬盘存在未分区区域和/或隐藏分区区域,则提示用户存在未分区区域和/或隐藏分区区域,本次清理需要对未分区区域和/或隐藏分区区域进行分区并进行格式化处理,并在用户选择确认执行后,对未分区区域和/或隐藏分区区域进行分区,并进行格式化处理。
需要说明的是,SSD硬盘的数据擦除是以数据块(Block)为单位,而写入数据是以数据页(Page)为单位。
本发明中基于垃圾回收机制对SSD硬盘进行数据清理的原理如下:
假设一块SSD硬盘包括两个数据块,每个数据块包含16个数据页,每个数据页的大小为4k。其中,在数据块一的前4个数据页中分别写入ABCD,数据块如下表1和表2所示:
表1 写入ABCD后的数据块一
Figure 382270DEST_PATH_IMAGE001
表2 写入ABCD后的数据块二
Figure 375633DEST_PATH_IMAGE002
如果数据发生变化,需要将数据块一前4个数据页中的数据ABCD修改为A’B’C’D’,由于SSD硬盘的数据擦除是以数据块Block为单位,致使SSD硬盘无法直接擦除ABCD所在的数据页,只能接着写入数据A’B’C’D’到新的数据页,并且,将原来数据ABCD所在的数据页被标记为无用的数据,此时的数据块如下表3和表4所示:
表3 写入数据A’B’C’D’后的数据块一
Figure 129963DEST_PATH_IMAGE003
表4 写入数据A’B’C’D’后的数据块二
Figure 866975DEST_PATH_IMAGE004
可以看出,通过修改(覆盖)数据,实际上原来的数据ABCD依然存在,只是被标记为了无用数据。因此,不能通过覆盖数据的方式实现对原来数据ABCD的彻底删除。
为了将原来数据ABCD彻底删除,需要将ABCD所在的数据块一进行擦除。基于此,通过继续向SSD硬盘中写入数据“0”,直到将数据块一的空闲页填满,如下表5和表6所示:
表5 写入数据“0”后的数据块一
Figure 983835DEST_PATH_IMAGE005
表6 写入数据“0”后的数据块二
Figure 413679DEST_PATH_IMAGE006
在将数据块一的空闲页填满之后,如果继续向SSD硬盘中写入数据,则会触发垃圾回收机制(GC)将数据块一的数据迁移到数据块二,并会擦除数据块一,如下表7和表8所示:
表7 触发垃圾回收机制后的数据块一
Figure 655305DEST_PATH_IMAGE007
表8 触发垃圾回收机制后的数据块二
Figure 930429DEST_PATH_IMAGE008
至此,SSD硬盘中的原数据ABCD(即无用的脏数据)被彻底删除。
根据上述基于垃圾回收机制对SSD硬盘进行数据清理的原理,通过向目标硬盘的每个分区随机写入数据,当目标硬盘的剩余空间小于一个数据块时,如果继续向目标硬盘中写入数据,则会触发垃圾回收机制来擦除(回收)目标硬盘上的脏数据块,以实现在保留系统原文件的基础上对目标硬盘脏数据的彻底清除。
根据本发明的一个实施例,在步骤S240中,可以基于数据块大小依次(按照每个分区的顺序)向目标硬盘的每个分区写入数据。这里,可以根据目标硬盘的分区信息表中的分区顺序来依次向目标硬盘的每个分区写入数据。
具体地说,向目标硬盘的每个分区随机写入数据可以按照以下方法执行:
计算所述目标硬盘的剩余空间。这里,剩余空间表示为TZ。
通过调用系统接口来获取目标硬盘的数据块大小、分页大小。这里,数据块大小表示为BS,分页大小表示为PS。
基于剩余空间和数据块大小来计算待写入的数据块数量BC。这里,数据块数量表示为BC,其中,BC=TZ/BS。
按照分区的顺序,每次基于数据块大小的整数倍向目标硬盘的分区写入数据。也就是说,每次向目标硬盘的分区写入一个或多个数据块。直到目标硬盘的剩余空间TZ小于一个数据块。可以理解,基于数据块大小的整数倍来写入数据的效率更高。
实时确定已写入的数据块总数量(可表示为M),并比较已写入的数据块总数量M与待写入的数据块数量BC,例如可以计算已写入的数据块总数量M与待写入的数据块数量BC之间的差值来确定两者大小。
如果已写入的数据块总数量M等于待写入的数据块数量BC,则可以确定目标硬盘的剩余空间小于一个数据块,此时可以触发GC机制回收目标硬盘的脏数据块,以实现对目标硬盘进行数据清理。
例如,如果每次写入数据的大小为数据块大小的1倍,也即,则每次写入数据的大小为BS,那么,基于数据块大小写入BC次便可以达到已写入的数据块数量为BC(等于待写入的数据块数量BC),这种情况下,显然可以确定目标硬盘的剩余空间TZ小于一个数据块的大小。
如果已写入的数据块总数量M小于待写入的数据块数量BC,且已写入的数据大小小于或等于所述剩余空间与数据块大小的差值(TZ-BS),说明此时目标硬盘的剩余空间大于或等于一个数据块。随后,基于分页大小PS依次向目标硬盘的每个分区写入数据,直到写入已写入的数据大小大于所述剩余空间与数据块大小的差值(TZ-BS)时,确定目标硬盘的剩余空间小于一个数据块。随后可以触发GC机制对目标硬盘进行数据清理。
在一个实施例中,如图3所示,数据清理界面上还显示有可用用户选择的“闲时清理”、“立即清理”控件。用户在选择目标硬盘之后,可以通过点击闲时清理控件来控制计算设备执行闲时清理机制来清理硬盘数据,相应地,通过点击立即清理控件来控制计算设备执行闲时清理机制来清理硬盘数据。
如果用户点击了立即清理控件,计算设备可以接收到用户选择立即清理的操作,执行立即清理机制,即直接执行步骤S240向目标硬盘的每个分区随机写入数据,无需选择在计算设备的空闲时间向目标硬盘的每个分区随机写入数据。
如果用户点击了闲时清理控件,计算设备可以接收到用户选择闲时清理的操作,执行闲时清理机制。具体地,如果计算设备接收到用户选择闲时清理的操作,每次在向目标硬盘的每个分区随机写入数据之前,会检测鼠标或键盘在预定时间内是否进行了操作。如果在预定时间内检测到鼠标或键盘操作,则当前不会向目标硬盘的每个分区随机写入数据。如果在预定时间内没有检测到鼠标或键盘操作,则获取目标硬盘上次清理进度,并基于上次清理进度继续向目标硬盘的每个分区随机写入数据。
应当指出,根据本发明的闲时清理机制,使得对硬盘数据的清理可以在用户的空闲时间段执行,从而在不影响用户工作的情况下对硬盘数据进行清理,提升了用户体验。
在一个实施例中,如图3所示,在通过向目标硬盘的每个分区随机写入数据来实现对目标硬盘的数据清理过程中,还实时确定清理进度。具体地,实时确定当前已写入的数据大小,并根据当前已写入的数据大小与目标硬盘的剩余空间TZ的比值(百分比)来确定当前清理进度,并将当前清理进度实时显示在数据清理界面上。通过在数据清理界面上实时显示清理进度,使得用户可以清楚了解前清理状态。
另外,在删除随机写入的所有数据、对目标硬盘数据清理完成之后,记录目标硬盘的本次清理信息。具体地,可以将目标硬盘的本次清理信息(包括清理时间、设备型号、容量大小)写入数据存储装置中,以便下一次对硬盘进行数据清理时,可以从数据存储装置中获取对目标硬盘的本次清理信息,并显示在下一次的数据清理界面上。
图4示出了根据本发明一个实施例的硬盘数据清理装置400示意图。硬盘数据清理装置400驻留在计算设备(例如前述计算设备100)中,适于执行本发明的硬盘数据清理方法200。
如图4所示,硬盘数据清理装置400包括依次相连的获取模块410、确定模块420、显示模块430以及写入模块440。其中,获取模块410用于获取计算设备100中的每个硬盘的设备信息。确定模块420可以根据设备信息确定每个硬盘是否能够进行清理,以确定一个或多个可清理硬盘。显示模块430可以显示一个或多个可清理硬盘的设备信息,以获取用户选择的目标硬盘。写入模块440用于向目标硬盘的每个分区随机写入数据,直到目标硬盘的剩余空间小于一个数据块,以便触发垃圾回收机制回收目标硬盘上的所有脏数据块,实现对目标硬盘进行数据清理的效果。
应当指出,获取模块410用于执行前述步骤S210,确定模块420用于执行前述步骤S220,显示模块430用于执行前述步骤S230,写入模块440用于执行前述步骤S240。这里,获取模块410、确定模块420、显示模块430以及写入模块440的具体执行逻辑参见前文方法200中对步骤S210~S240的描述,此处不再赘述。
根据本发明的硬盘数据清理方法,将确定的一个或多个可清理硬盘的设备信息显示在客户端,以供用户选择要进行清理的目标硬盘,根据用户选择的目标硬盘,随机向目标硬盘的每个分区写入数据,直到目标硬盘的剩余空间小于一个数据块时触发垃圾回收机制来擦除目标硬盘上的所有脏数据块,从而实现在保留系统原文件的基础上对SSD硬盘脏数据的彻底清理效果。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的硬盘数据清理方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (16)

1.一种硬盘数据清理方法,在计算设备中执行,包括步骤:
获取计算设备中的每个硬盘的设备信息;
根据设备信息确定每个硬盘是否能够进行清理,以确定一个或多个可清理硬盘;
显示一个或多个可清理硬盘的设备信息,并获取用户选择的目标硬盘;
向目标硬盘的每个分区随机写入数据,直到所述目标硬盘的剩余空间小于一个数据块,以触发垃圾回收机制对所述目标硬盘进行数据清理;以及
删除随机写入的所有数据。
2.如权利要求1所述的方法,其中,向目标硬盘的每个分区随机写入数据的步骤包括:
基于所述数据块大小依次向所述目标硬盘的每个分区写入数据。
3.如权利要求1所述的方法,其中,向目标硬盘的每个分区随机写入数据,直到所述目标硬盘的剩余空间小于一个数据块的步骤,包括:
计算所述目标硬盘的剩余空间;
获取所述目标硬盘的数据块大小、分页大小;
基于所述剩余空间和数据块大小来计算待写入的数据块数量;
每次基于所述数据块大小的整数倍,向所述目标硬盘的分区写入数据;
确定已写入的数据块总数量,如果已写入的数据块总数量等于所述待写入的数据块数量,则确定目标硬盘的剩余空间小于一个数据块。
4.如权利要求3所述的方法,其中,还包括步骤:
如果已写入的数据块总数量小于所述待写入的数据块数量,且已写入的数据大小小于或等于所述剩余空间与数据块大小的差值,则:
基于所述分页大小依次向所述目标硬盘的每个分区写入数据,直到写入已写入的数据大小大于所述剩余空间与数据块大小的差值时,确定目标硬盘的剩余空间小于一个数据块。
5.如权利要求1-4中任一项所述的方法,其中,向目标硬盘的每个分区随机写入数据的步骤包括:
基于所述目标硬盘的设备信息读取目标硬盘的分区信息表,并将目标硬盘的根分区放置到所述分区信息表的最后;
根据所述目标硬盘的分区信息表中的分区顺序来向每个分区写入数据。
6.如权利要求1-4中任一项所述的方法,其中,在向目标硬盘的每个分区随机写入数据之前,还包括步骤:
检测所述目标硬盘是否存在未分区区域和/或隐藏分区区域;
如果存在,则对未分区区域和/或隐藏分区区域进行分区,并进行格式化处理;
如果不存在,则向目标硬盘的每个分区随机写入数据。
7.如权利要求1-4中任一项所述的方法,其中,如果接收到用户选择闲时清理的操作,在向目标硬盘的每个分区随机写入数据之前,还包括步骤:
检测鼠标或键盘在预定时间内是否进行了操作;
如果否,则获取所述目标硬盘上次清理进度,并基于所述上次清理进度继续向目标硬盘的每个分区随机写入数据。
8.如权利要求1-4中任一项所述的方法,其中,显示一个或多个可清理硬盘的设备信息包括:
在计算设备的屏幕上显示数据清理界面,在所述显示数据清理界面上显示一个或多个可清理硬盘的设备信息。
9.如权利要求8所述的方法,其中,还包括步骤:
根据当前已写入的数据大小与目标硬盘的剩余空间的比值,确定清理进度;
将所述清理进度显示在所述显示数据清理界面上。
10.如权利要求9所述的方法,其中,还包括步骤:
获取所述硬盘对应的最新一条历史清理信息,并显示在所述数据清理界面上。
11.如权利要求1-4中任一项所述的方法,其中,还包括步骤:
记录所述目标硬盘的本次清理信息并存储。
12.如权利要求11所述的方法,其中,
所述清理信息包括清理时间、设备型号、容量大小中的一种或多种。
13.如权利要求1-4中任一项所述的方法,其中,
所述硬盘为SSD硬盘;
所述设备信息包括盘符、设备型号、容量大小中的一种或多种。
14.一种硬盘数据清理装置,驻留在计算设备中,包括:
获取模块,适于获取计算设备中的每个硬盘的设备信息;
确定模块,适于根据设备信息确定每个硬盘是否能够进行清理,以确定一个或多个可清理硬盘;
显示模块,适于显示一个或多个可清理硬盘的设备信息,并获取用户选择的目标硬盘;以及
写入模块,适于向目标硬盘的每个分区随机写入数据,直到所述目标硬盘的剩余空间小于一个数据块,以触发垃圾回收机制对所述目标硬盘进行数据清理,并删除随机写入的所有数据。
15.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-13中任一项所述的方法的指令。
16.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-13中任一项所述方法。
CN202111465744.7A 2021-12-03 2021-12-03 一种硬盘数据清理方法、装置及计算设备 Active CN113867651B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210081999.1A CN114415963B (zh) 2021-12-03 2021-12-03 一种硬盘数据清理方法、装置及计算设备
CN202111465744.7A CN113867651B (zh) 2021-12-03 2021-12-03 一种硬盘数据清理方法、装置及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111465744.7A CN113867651B (zh) 2021-12-03 2021-12-03 一种硬盘数据清理方法、装置及计算设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210081999.1A Division CN114415963B (zh) 2021-12-03 2021-12-03 一种硬盘数据清理方法、装置及计算设备

Publications (2)

Publication Number Publication Date
CN113867651A CN113867651A (zh) 2021-12-31
CN113867651B true CN113867651B (zh) 2022-02-25

Family

ID=78985787

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111465744.7A Active CN113867651B (zh) 2021-12-03 2021-12-03 一种硬盘数据清理方法、装置及计算设备
CN202210081999.1A Active CN114415963B (zh) 2021-12-03 2021-12-03 一种硬盘数据清理方法、装置及计算设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210081999.1A Active CN114415963B (zh) 2021-12-03 2021-12-03 一种硬盘数据清理方法、装置及计算设备

Country Status (1)

Country Link
CN (2) CN113867651B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017113888A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 数据写入装置及方法
CN111078137A (zh) * 2019-11-07 2020-04-28 深圳市金泰克半导体有限公司 清理存储空间的方法
CN111090398A (zh) * 2019-12-13 2020-05-01 北京浪潮数据技术有限公司 固态硬盘的垃圾回收方法、装置、设备及可读存储介质
CN112433676A (zh) * 2020-11-24 2021-03-02 合肥康芯威存储技术有限公司 一种固态硬盘的垃圾回收处理方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004287552A (ja) * 2003-03-19 2004-10-14 Tdk Corp ハードディスクのデータ消去方法、コンピュータプログラムおよび記録媒体
JP5221157B2 (ja) * 2008-02-04 2013-06-26 株式会社日立製作所 コンピュータシステム及び物理ディスク回収方法
EP2631916B1 (en) * 2011-09-06 2015-08-26 Huawei Technologies Co., Ltd. Data deletion method and apparatus
MX361249B (es) * 2015-12-03 2018-11-30 Huawei Tech Co Ltd Controlador de arreglo, disco en estado sólido, y método para controlar el disco en estado sólido para escribir datos.
JP6524039B2 (ja) * 2016-09-23 2019-06-05 東芝メモリ株式会社 メモリシステム及び制御方法
CN107506138B (zh) * 2017-08-11 2020-12-18 东莞记忆存储科技有限公司 一种固态硬盘提升寿命的方法
CN109725842B (zh) * 2017-10-30 2022-10-11 伊姆西Ip控股有限责任公司 加速随机写入布局以用于混合存储系统内的桶分配的系统和方法
CN108874309B (zh) * 2018-05-25 2021-07-23 新华三技术有限公司 一种管理固态硬盘中物理块的方法和装置
US11126561B2 (en) * 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
CN112035061B (zh) * 2020-08-17 2024-05-10 鹏城实验室 固态硬盘资源分配方法、装置和存储介质
CN113360095B (zh) * 2021-06-04 2023-02-17 重庆紫光华山智安科技有限公司 硬盘数据管理方法、装置、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017113888A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 数据写入装置及方法
CN111078137A (zh) * 2019-11-07 2020-04-28 深圳市金泰克半导体有限公司 清理存储空间的方法
CN111090398A (zh) * 2019-12-13 2020-05-01 北京浪潮数据技术有限公司 固态硬盘的垃圾回收方法、装置、设备及可读存储介质
CN112433676A (zh) * 2020-11-24 2021-03-02 合肥康芯威存储技术有限公司 一种固态硬盘的垃圾回收处理方法及系统

Also Published As

Publication number Publication date
CN113867651A (zh) 2021-12-31
CN114415963B (zh) 2023-09-19
CN114415963A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
EP2108151B1 (en) Extending flash drive lifespan
EP2983087A1 (en) Junk data recycling method and storage device
CN106021013A (zh) 非挥发性存储器装置及其操作方法
EP2282267A1 (en) Restore index page
JP5708216B2 (ja) フラッシュメモリ装置、メモリ制御装置、メモリ制御方法、ストレージシステム
US20090198902A1 (en) Memory mapping techniques
CN108984130A (zh) 一种分布式存储的缓存读取方法及其装置
CN109284233B (zh) 一种存储系统的垃圾回收方法及相关装置
CN108710474A (zh) 一种数据存储方法、装置及计算机存储介质
CN111382126B (zh) 删除文件及阻碍文件恢复的系统和方法
CN111880723A (zh) 数据储存装置与数据处理方法
CN114416252A (zh) 一种窗口显示方法、装置、计算设备和存储介质
CN113342452A (zh) 一种窗口显示方法、计算设备及可读存储介质
CN111651315A (zh) 一种页面的数据采集方法
CN113867651B (zh) 一种硬盘数据清理方法、装置及计算设备
CN110990301A (zh) 多plane存储介质的顺序读方法及相关装置
CN113504861B (zh) 一种桌面管理方法、装置及计算设备
CN113326214A (zh) 一种页缓存管理方法、计算设备及可读存储介质
Lin et al. History-aware page replacement algorithm for NAND flash-based consumer electronics
CN113655960A (zh) 一种光盘可读性修复方法及计算设备
CN113254142B (zh) 一种系统桌面区域的划分方法及计算设备
JP6429197B2 (ja) 論理物理アドレス変換テーブルの制御方法及びメモリ装置
CN110389706A (zh) 一种指纹回收方法以及存储系统
CN113655941B (zh) 文本内容的全选方法、装置、计算设备及可读存储介质
CN110337637A (zh) 数据处理方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant