掌桥专利:专业的专利平台
掌桥专利
首页

硬盘数据清除方法、装置及计算机可读存储介质

文献发布时间:2024-04-29 00:47:01


硬盘数据清除方法、装置及计算机可读存储介质

技术领域

本申请涉及计算机技术领域,具体涉及一种硬盘数据清除方法、装置及计算机可读存储介质。

背景技术

目前,对于建立过磁盘阵列的硬盘,在进行数据清除时,需要使用全盘格式化指令进行所有数据的擦除,才能使该硬盘后续可以正常使用,不会受到磁盘阵列的影响。然而,该种硬盘数据清除的方式效率比较低。

发明内容

鉴于此,本申请提供一种硬盘数据清除方法、装置及计算机可读存储介质,用于提高硬盘数据清除的效率。本申请技术方案如下:

第一方面,本申请提供一种硬盘数据清除方法,包括:(a)按照预设顺序查找目标硬盘的最后一个目标逻辑块;(b)读取所述目标逻辑块的存储数据;(c)判断所述存储数据中是否包含有磁盘阵列信息;(d)当所述存储数据中包含有所述磁盘阵列信息时,清除所述目标逻辑块的所述存储数据。

在一种可能的实施方式中,所述磁盘阵列信息包括目标锚头数据,所述目标锚头数据具有预设磁盘数据格式。

在一种可能的实施方式中,所述(c)步骤,包括:从所述存储数据的预设位置提取目标字节数据;判断所述目标字节数据是否与预设标志数据一致,以判断所述存储数据中是否包含有所述磁盘阵列信息。

在一种可能的实施方式中,所述目标字节数据为所述存储数据中第一字节至第四字节的数据;所述预设标志数据为SNIA标准的磁盘数据格式的全局标志数据。

在一种可能的实施方式中,所述清除所述目标逻辑块的所述存储数据,包括:生成空字符流文件;将所述空字符流文件输入至所述目标逻辑块,以使所述空字符流文件覆盖所述存储数据。

在一种可能的实施方式中,所述(a)步骤,包括:获取所述目标硬盘的逻辑块数量;根据所述逻辑块数量以及预设地址索引算法,获得所述目标逻辑块的地址;根据所述地址查找所述目标逻辑块。

在一种可能的实施方式中,所述方法还包括:(e)重启系统,以判断所述目标硬盘是否被识别为磁盘阵列设备;(f)若所述目标硬盘被识别为所述磁盘阵列设备,则返回执行所述(a)~(d)步骤;(g)若所述目标硬盘未被识别为所述磁盘阵列设备,则结束所述目标硬盘的数据清除。

在一种可能的实施方式中,所述方法应用于主机总线适配器,所述主机总线适配器连接有多个所述目标硬盘;所述方法还包括:(h)若所述存储数据中不包含有所述磁盘阵列信息,查找下一个所述目标硬盘的最后一个目标逻辑块,并返回执行所述(b)~(d)步骤。

在一种可能的实施方式中,所述预设顺序包括所述目标硬盘驱动后读写逻辑块的顺序。

第二方面,本申请还提供一种硬盘数据清除装置,包括:查找模块,用于按照预设顺序查找目标硬盘最后一个目标逻辑块;读取模块,用于读取所述目标逻辑块的存储数据;判断模块,用于判断所述存储数据中是否包含有磁盘阵列信息;清除模块,用于当所述存储数据中包含有所述磁盘阵列信息时,清除所述目标逻辑块的所述存储数据。

第三方面,本申请提供一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使所述处理器执行所述的硬盘数据清除方法。

本申请提供的技术方案带来的有益效果至少包括:

在检测出目标逻辑块中有磁盘阵列信息后,仅清除目标逻辑块的存储数据即可破坏完整的磁盘阵列信息,使其失去有效性。即本方案可通过精准清除最少的数据,即可完成目标硬盘数据清除的过程,相比于全盘格式化,其数据清除的效率更高。

附图说明

图1是本申请实施方式提供的一种硬盘数据清除方法的流程示意图。

图2是本申请实施方式提供的一种磁盘阵列信息判断方式的流程示意图。

图3是本申请实施方式提供的一种目标逻辑块数据清除方式的流程示意图。

图4是本申请实施方式提供的一种目标逻辑块查找方式的流程示意图。

图5是本申请实施方式提供的另一种硬盘数据清除方法的流程示意图。

图6是本申请实施方式提供的一种硬盘数据清除装置的结构示意图。

具体实施方式

需要说明的是,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。

另外需要说明的是,本申请实施例中公开的方法或流程图所示出的方法,包括用于实现方法的一个或多个步骤,在不脱离权利要求的范围的情况下,多个步骤的执行顺序可以彼此互换,其中某些步骤也可以被删除。

目前,对于建立过磁盘阵列的硬盘(RAID,Redundant Arrays of IndependentDisks,磁盘阵列),在进行数据清除时,需要使用全盘格式化指令进行所有数据的擦除,才能使该硬盘后续可以正常使用,不会受到磁盘阵列的影响。然而,该种硬盘数据清除的方式效率比较低。而本申请实施方式提供一种硬盘数据清除方法,以提高硬盘数据清除的效率。

请参考图1,图1示例性示出了本申请实施方式提供的一种硬盘数据清除方法的流程示意图。具体地,包括以下步骤:

步骤S11:按照预设顺序查找目标硬盘的最后一个目标逻辑块。

本申请实施方式中,上述硬盘即计算机设备的数据存储器,用于存储计算机设备需要正常运行所需的大部分应用程序以及数据等,而逻辑块则是指存储在硬盘上的数据块,每个硬盘上包括有多个逻辑块,每个逻辑块具有一个用于检索以及重写的地址。其中,上述预设顺序包括目标硬盘驱动后读写逻辑块的顺序。

作为一种可选的实施方式,上述目标硬盘可连接至计算机设备的主机总线适配器,即计算机设备的HBA卡中(HBA,Host Bus Adapter,主机总线适配器)。

作为一种可选的实施方式,在需要清除计算机设备的目标硬盘的数据时,可首先检索通过HBA卡连接至计算机设备的所有硬盘,从而获得目标硬盘的盘符,进而根据盘符对目标硬盘进行查找操作。

作为一种可选的实施方式,目标硬盘中的逻辑块的大小可由计算机设备的系统来设定,例如在计算机为Linux系统下,逻辑块一般设置为512字节大小。同时,也可以由用户通过操作计算机系统来设定硬盘中逻辑块的大小,这里不做限定。

作为一种可选的实施方式,上述目标硬盘包括磁盘,该磁盘按照其扇区以及旋转方向由外至内的顺序将存储区域划分为多个逻辑块。可以理解,在本申请实施例中,接近磁盘中心部分的内部扇区组成上述目标硬盘的最后一个目标逻辑块。

步骤S12:读取目标逻辑块的存储数据。

本申请实施方式中,在查找到目标硬盘的最后一个目标逻辑块后,将读取出目标逻辑块的存储数据。

作为一种可选的实施方式,若目标硬盘为磁盘时,则可控制该磁盘定位至接近磁盘中心部分的内部扇区,从而读取目标逻辑块的存储数据。

步骤S13:判断存储数据中是否包含有磁盘阵列信息。

本申请实施方式中,计算机设备内可以设置主机总线适配器和/或磁盘阵列卡,用于连接至硬盘并作为硬盘的控制端。即在计算机应用场景中,同一个目标硬盘可能在主机总线适配器以及磁盘阵列卡下交叉使用。当目标硬盘在磁盘阵列卡下组过磁盘阵列卷后,目标硬盘中将保留磁盘阵列信息,该磁盘阵列信息将会影响其它的主机总线适配器以及磁盘阵列卡的控制,因此为清除硬盘数据的首要目标。

作为一种可选的实施方式,上述存储数据中包含的磁盘阵列信息,为完整磁盘阵列信息的一部分。

作为一种可选的实施方式,磁盘阵列信息包括预设磁盘数据格式的目标锚头数据。其中,该预设磁盘数据格式包括全球网络存储工业协会(Storage NetworkingIndustry Association,SNIA)提出的磁盘数据格式。

作为一种可选的实施方式,对上述存储数据进行目标锚头数据的检测,即可判断出存储数据中是否包含有磁盘阵列信息,从而判断出硬盘是否组过磁盘阵列卷并保留有完整的磁盘整列信息。

步骤S14:当存储数据中包含有磁盘阵列信息时,清除目标逻辑块的存储数据。

本申请实施方式中,若存储数据中包含有磁盘阵列信息,则说明该目标硬盘在磁盘阵列卡下组过卷,保留有的磁盘阵列信息将影响后续其它控制端的使用。因此,在检测出目标逻辑块中有磁盘阵列信息后,可通过清除目标逻辑块的存储数据,即可破坏完整的磁盘阵列信息,使其失去有效性。即本方案可通过精准清除最少的数据,即可完成目标硬盘数据清除的过程,相比于全盘格式化,其数据清除的效率更高。

作为一种可选的实施方式,上述清除目标逻辑块的存储数据的过程,可以包括,但不限于,通过指令对目标逻辑块中的存储数据进行删除、格式化等操作,这里不做限定。

如图2所示,为本申请实施方式提供的一种磁盘阵列信息判断方式的流程示意图,该磁盘阵列信息判断方式为上述步骤S13的其中一种实施方式,具体包括以下步骤:

步骤S21:从存储数据的预设位置提取目标字节数据。

本申请实施方式中,上述磁盘阵列信息为基于SNIA提出的磁盘数据格式。在该磁盘数据格式中,明确需要通过特定锚头数据才能寻址到磁盘阵列信息的存储位置。即通过对特定锚头数据进行清除后,目标硬盘中的磁盘阵列信息将成为无效数据,不会再被计算机系统识别以影响目标硬盘的后续使用。

其中,上述SNIA提出的磁盘数据格式为存储磁盘阵列信息的标准格式,在目标硬盘通过磁盘阵列卡建立磁盘阵列时,存储在目标硬盘的磁盘阵列信息需要按照上述磁盘数据格式进行存储。在存储时,磁盘阵列信息存储在目标硬盘的最后一段空间中。

其中,在上述SNIA提出的磁盘数据格式的数据结构中,每一区域都定义了全局位移的标志字段,而特定锚头数据存储在目标硬盘的最后一个可访问的逻辑块中,即上述目标逻辑块。将目标逻辑块中的特定锚头数据清除即可使磁盘阵列信息失效。预设位置提取目标字节数据,对应于特定锚头数据,用于检测目标字节数据是否为特定锚头数据。

作为一种可选的实施方式,该目标字节数据为存储数据中,第一字节至第四字节的数据。即在上述的目标逻辑块中,前四个字节数据用于存储该特定锚头数据。若该前四个字节数据为特定锚头数据,则说明目标硬盘中存储有磁盘阵列信息。

步骤S22:判断目标字节数据是否与预设标志数据一致,以判断存储数据中是否包含有磁盘阵列信息。

本申请实施方式中,预设标志数据为SNIA标准的磁盘数据格式的全局标志数据。即该预设标志数据即为磁盘阵列信息中的特定锚头数据。

作为一种可选的实施方式,该预设标志数据可以为0xde11de11,若上述获取的前四个字节数据的目标字节数据也为0xde11de11,即标字节数据与预设标志数据一致时,则说明该目标硬盘中存储有磁盘阵列信息,该目标硬盘曾经在磁盘阵列卡下组成卷,需要进行数据清除。

如图3所示,为本申请实施方式提供的一种目标逻辑块数据清除方式的流程示意图,该目标逻辑块数据清除方式为上述步骤S14的其中一种实施方式,具体包括以下步骤:

步骤S31:生成空字符流文件。

本申请实施方式中,在清除目标逻辑块上的存储数据时,除了直接删除数据或者格式化目标逻辑块,还可以生成空字符流文件去覆盖目标逻辑块上的存储数据。

作为一种可选的实施方式,若设置目标硬盘的计算设备为Linux系统时,还可以通过/dev/zero提供空字符流文件。该/dev/zero是一个可以连续不断提供空字符流的设备文件,可以通过/dev/zero生成上述空字符流文件。

步骤S32:将空字符流文件输入至目标逻辑块,以使空字符流文件覆盖存储数据。

作为一种可选的实施方式,若设置目标硬盘的计算设备为Linux系统时,可以通过dd指令将该目标逻辑块的数据进行清除。其中,该dd指令在Linux系统中可以从标准输入或文件中读取数据,根据指定格式转换数据,然后输出至文件、设备或者标准输出。即可以将上述空字符流文件作为输入文件,通过dd指令输入至目标逻辑块中,以覆盖存储数据达到清除存储数据的效果。

如图4所示,为本申请实施方式提供的一种目标逻辑块查找方式的流程示意图,该目标逻辑块查找方式为上述步骤S11的其中一种实施方式,具体包括以下步骤:

步骤S41:获取目标硬盘的逻辑块数量。

步骤S42:根据逻辑块数量以及预设地址索引算法,获得目标逻辑块的地址。

步骤S43:根据地址查找目标逻辑块。

作为一种可选的实施方式,若设置目标硬盘的计算设备为Linux系统时,可以通过getsz[device]指令获取目标硬盘512字节块的数量,通过该数量减一即可获得最后一个目标逻辑块的地址。

请参考图5,图5示例性示出了本申请实施方式提供的另一种硬盘数据清除方法的流程示意图。该硬盘数据清除方法包括步骤S51-S54,其中,步骤S51-S54与图1中的步骤S11-S14相同或类似,具体可参阅图1中有关步骤S11-S14的描述,在此不再赘述。可以理解,图5所示的硬盘数据清除方法与图1所示的硬盘数据清除方法相比,其区别在于,图5所示的硬盘数据清除方法还包括步骤S55-S57。

步骤S55:重启系统,以判断目标硬盘是否被识别为磁盘阵列设备。

步骤S56:若目标硬盘被识别为磁盘阵列设备,则返回执行S51~S54步骤。

本申请实施方式中,在清除目标逻辑块中的存储数据后,可以重启系统以及该目标硬盘,并在重启系统后判断目标硬盘是否会被识别为磁盘阵列设备,在目标硬盘中还存在有完整的磁盘阵列信息时,才会被系统识别为磁盘阵列设备。其中,若目标硬盘被系统识别为磁盘阵列设备,则说明目标硬盘中还存在有完整的磁盘阵列信息,则需要重新执行S51~S54步骤,直到把磁盘阵列信息清除至无效,避免影响目标硬盘的后续使用。

步骤S57:若目标硬盘未被识别为磁盘阵列设备,则结束目标硬盘的数据清除。

可以理解,本申请实施例的硬盘数据清除方法可应用于主机总线适配器,主机总线适配器连接有多个目标硬盘。

可以理解,在计算机设备中,可以通过主机总线适配器连接有多个硬盘用于存储数据以及应用程序,当需要进行多个目标硬盘的数据清除时,在当前目标硬盘检测不到磁盘阵列信息,则可以查找下一个目标硬盘进行上述步骤的清除过程,从而提高整体清除数据的效率。

请参见图6,为本申请实施方式提供的一种硬盘数据清除装置的结构示意图,如图6所示,该硬盘数据清除装置600包括:

查找模块610,用于按照预设顺序查找目标硬盘最后一个目标逻辑块;

读取模块620,用于读取目标逻辑块的存储数据;

判断模块630,用于判断存储数据中是否包含有磁盘阵列信息;

清除模块640,用于当存储数据中包含有磁盘阵列信息时,清除目标逻辑块的存储数据。

本申请实施例中,上述各个模块更加详细的功能描述可以参考前述部分相应的内容,在此不再赘述。

本申请实施例还提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,当该计算机程序被处理器执行时,使处理器执行上述的硬盘数据清除方法。上述硬盘数据清除装置各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述存储介质中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital SubscriberLine,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(Digital VersatileDisc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可存储程序代码的介质。在不冲突的情况下,本实施例和实施方案中的技术特征可以任意组合。

以上所述的实施例仅仅是本申请的优选实施例方式进行描述,并非对本申请的范围进行限定,在不脱离本申请的设计精神的前提下,本领域普通技术人员对本申请的技术方案作出的各种变形及改进,均应落入本申请的权利要求书确定的保护范围内。

技术分类

06120116595118