一种磁盘中损坏数据巡检方法及系统与流程

文档序号:11154717阅读:352来源:国知局
一种磁盘中损坏数据巡检方法及系统与制造工艺

本发明涉及数据存储技术领域,特别涉及一种磁盘中损坏数据巡检方法,还涉及一种磁盘中损坏数据巡检系统。



背景技术:

传统存储服务器,由于磁盘的访问量很大,使用久了造成磁盘损坏,导致用户在磁盘读取数据时发生错误,如果频繁出现读数错误,对用户体验、用户满意度都会大大降低。

现有技术中,当出现频繁读取数据错误时,表明磁盘中出现损坏的数据信息,原因是磁盘已经损坏。解决的方法通常将坏盘踢出,换块新盘,这种处理方法会导致坏盘率高,增加了客户的成本,同时新插入的磁盘需要进行数据恢复,消耗较长时间系统才能恢复正常状态。由于出错的磁盘被踢出,出错现场信息没有保存,导致此类问题很难定位,使系统稳定性存在隐患。或者通过检查物理磁盘的磁盘头部和尾部,粗略判读磁盘硬件状态,来粗略估计磁盘中是否有损坏的数据信息,进而判断磁盘是否可以继续使用。上述两种方法只用当用户在读取磁盘中的数据时,才会发现磁盘中数据错误,降低数据读取的效率。

然而,上述两种方法均无法提前对磁盘上的损坏的数据信息进行准确检测,进而无法对磁盘的损坏程度做出准确判断。

因此,如何提前检测磁盘上的损坏的数据信息,进而判断磁盘的损坏程度是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种磁盘中损坏数据巡检方法,提前检测磁盘上的损坏的数据信息,进而判断磁盘的损坏程度,便于后续对磁盘中的错误数据进行定位以及修复,提高读取磁盘中数据的效率。

为解决上述技术问题,本发明提供一种磁盘中损坏数据巡检方法,包括:

读取磁盘中所有的写入数据;

在磁盘未使用状态下,计算与所述写入数据对应的当前校验值;

判断所述当前校验值与标准校验值是否一致,若不一致,则确认所述写入数据为损坏数据。

优选的,在上述磁盘中损坏数据巡检方法中,还包括:

判断所述写入数据中的正本数据和副本数据是否一致,若不一致,则确认所述写入数据为损坏数据。

优选的,在上述磁盘中损坏数据巡检方法中,所述确认所述写入数据为损坏数据之后,还包括:

对所述损坏数据进行标记,并对已标记损坏数据的数量进行统计;

判断所述已标记损坏数据的数量是否超过阈值,若是,则确认所述磁盘为已损坏磁盘。

优选的,在上述磁盘中损坏数据巡检方法中,所述对已标记损坏数据的数量进行统计之后,还包括:

将所述已标记损坏数据存储至无损磁盘中。

优选的,在上述磁盘中损坏数据巡检方法中,将所述已标记损坏数据转换为文件格式,存储至新磁盘中之后,还包括:

对所述无损磁盘中的所述已标记损坏数据进行修复。

本发明还提供一种的磁盘中损坏数据巡检系统,包括:

读取模块,用于读取磁盘中所有的写入数据;

计算模块,用于在磁盘未使用状态下,计算与所述写入数据对应的当前校验值;

第一判断模块,用于判断所述当前校验值与标准校验值是否一致,若不一致,则确认所述写入数据为损坏数据。

优选的,在上述磁盘中损坏数据巡检系统中,还包括:

第二判断模块,用于判断所述写入数据中的正本数据和副本数据是否一致,若不一致,则确认所述写入数据为损坏数据。

优选的,在上述磁盘中损坏数据巡检系统中,还包括:

标记模块,用于对所述损坏数据进行标记,并对已标记损坏数据的数量进行统计;

第三判断模块,用于判断所述已标记损坏数据的数量是否超过阈值,若是,则确认所述磁盘为已损坏磁盘。

优选的,在上述磁盘中损坏数据巡检系统中,还包括:

存储模块,用于将所述已标记损坏数据存储至无损磁盘中。

优选的,在上述磁盘中损坏数据巡检系统中,还包括:

修复模块,用于对所述无损磁盘中的所述已标记损坏数据进行修复。

本发明所提供一种磁盘中损坏数据巡检方法,包括:读取磁盘中所有的写入数据;在磁盘未使用状态下,计算与所述写入数据对应的当前校验值;判断所述当前校验值与标准校验值是否一致,若不一致,则确认所述写入数据为损坏数据。在磁盘未使用状态下对其进行巡检,提前检测磁盘上的损坏的数据信息,进而判断磁盘的损坏程度,便于后续对磁盘中的损坏数据进行定位以及修复,提高磁盘数据的读取效率。

本发明还提供一种系统,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的磁盘中损坏数据巡检方法的流程图;

图2为本发明实施例所提供的磁盘中损坏数据巡检系统的结构框图。

具体实施方式

本发明的核心是提供一种磁盘中损坏数据巡检方法及系统,提前检测磁盘上的损坏的数据信息,进而判断磁盘的损坏程度,便于后续对磁盘中的错误数据进行定位以及修复,提高读取磁盘中数据的效率。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例所提供的磁盘中损坏数据巡检方法的流程图。

在一种具体实施方式中,该方法具体可以包括:

步骤S1:读取磁盘中所有的写入数据;

其中,已写入的数据在磁盘的反复读取过程中可能损坏,导致下一次的数据读取不能正常进行,因此需要对已经写入的数据进行巡检。

步骤S2:在磁盘未使用状态下,计算与所述写入数据对应的当前校验值;

其中,在后台启动巡检程序,设置巡检程序的优先级最低,后台执行可以达到用户无感知的目的。对全盘进行巡检,避免了磁盘错误的检查遗漏。例如,至少使用3块硬盘或者更多组建RAID5磁盘阵列,当有数据写入硬盘的时候,根据算法分成3部分,然后写入这3块硬盘,写入的同时还会在这3块硬盘上写入标准校验值,当读取写入数据的时候会分别从3块硬盘上读取数据内容,计算当前校验值进行校验。

在磁盘未使用状态下即当磁盘数据未被读取时,进行数据巡检操作。同时,设置在预设时间段内完成所有磁盘的巡检操作。磁盘空闲时,进行磁盘巡检,避免影响磁盘的IO性能。预设时间段优选为7天,7天内完成所有磁盘的全盘巡检,7天为周期,使得巡检工作可以在磁盘空闲时进行,避免巡检和正常业务IO相互冲突,相互影响。

步骤S3:判断所述当前校验值与标准校验值是否一致,若不一致,则确认所述写入数据为损坏数据。

其中,巡检的具体过程为将所有写入数据读取出来,当前校验值和已有的标准校验值进行比较,如果相同,则确认所述写入数据为正确数据,如果不同,则确认所述写入数据为损坏数据,通知管理员发生校验错误。

本发明所提供一种磁盘中损坏数据巡检方法,在磁盘未使用状态下对其进行巡检,提前检测磁盘上的损坏的数据信息,进而判断磁盘的损坏程度,便于后续对磁盘中的损坏数据进行定位以及修复,提高磁盘数据的读取效率。

在另一种具体实施方式中,该方法中还包括:

判断所述写入数据中的正本数据和副本数据是否一致,若不一致,则确认所述写入数据为损坏数据。

其中,由于用户在往磁盘中写入数据时,生成的写入数据包括一对数据,正本数据和副本数据,若写入数据能够被正常读取或者为正确数据时,正本数据和副本数据一致。若写入数据损坏时,正本数据和副本数据不一致,并通知管理员写入数据为损坏数据。

例如,对于Raid 10结构,首先创建两个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。磁盘1和磁盘2组成一个Raid1,磁盘3和磁盘4又组成另外一个Raid1;这两个Raid1组成了一个新的Raid0。如写在硬盘1上的数据1、3、5、7,写在硬盘2中则为数据1、3、5、7,硬盘3中的数据为0、2、4、6,硬盘4中的数据则为0、2、4、6,因此数据在这四个硬盘上组合成Raid10,且具有raid0和raid1两者的特性。比较磁盘1和磁盘2中的数据是否一致,若不一致,则确认所述写入数据为损坏数据。

在上述磁盘中损坏数据巡检方法的基础上,所述确认所述写入数据为损坏数据之后,还包括:

对所述损坏数据进行标记,并对已标记损坏数据的数量进行统计;

判断所述已标记损坏数据的数量是否超过阈值,若是,则确认所述磁盘为已损坏磁盘。

其中,对所述损坏数据进行标记,便于对损坏数据进行统计,提高检测效率。当损坏数据达到阈值时,停止磁盘巡检,对其进行修复或者更换;损坏数据小于阈值时,继续对磁盘进行巡检。这样设计的目的在于,损坏数据的修复需要占用磁盘资源,当损坏数据的数量很多时,会影响到用户正常业务的IO性能,因此设定最大的损坏数据量来保证磁盘IO的性能。

在上述磁盘中损坏数据巡检方法的基础上,所述对已标记损坏数据的数量进行统计之后,还包括:

将所述已标记损坏数据存储至无损磁盘中。

例如,对于RAID5磁盘阵列,若其中一个磁盘中的当前校验值和已有的标准校验值进行比较,如果不同,则确认所述写入数据为损坏数据,将当前校验值、标准校验值以及损坏数据转换为文件格式,均保存到无损磁盘上。将出错场景保留下来,解决了损坏数据难以定位的难题。

在上述磁盘中损坏数据巡检方法的基础上,将所述已标记损坏数据转存储至新磁盘中之后,还包括:

对所述无损磁盘中的所述已标记损坏数据进行修复。

下面对本发明实施例提供的磁盘中损坏数据巡检系统进行介绍,下文描述的磁盘中损坏数据巡检系统与方法可相互对应参照。

请参考图2,图2为本发明实施例所提供的磁盘中损坏数据巡检系统的结构框图。

本发明还提供一种的磁盘中损坏数据巡检系统,包括:

选取模块100,用于选取磁盘中至少两个写入数据;

计算模块200,用于在所述磁盘未使用状态下,根据所述写入数据计算对应的当前校验值;

第一判断模块300,用于判断所述当前校验值与标准校验值是否一致,若不一致,则确认所述写入数据为损坏数据。

进一步的,在上述磁盘中损坏数据巡检系统中,还包括:

第二判断模块,用于判断所述写入数据中的正本数据和副本数据是否一致,若不一致,则确认所述写入数据为损坏数据。

进一步的,在上述磁盘中损坏数据巡检系统中,还包括:

标记模块,用于对所述损坏数据进行标记,并对已标记损坏数据的数量进行统计;

第三判断模块,用于判断所述已标记损坏数据的数量是否超过阈值,若是,则确认所述磁盘为已损坏磁盘。

进一步的,在上述磁盘中损坏数据巡检系统中,还包括:

存储模块,用于将所述已标记损坏数据存储至无损磁盘中。

进一步的,在上述磁盘中损坏数据巡检系统中,还包括:

修复模块,用于对所述无损磁盘中的所述已标记损坏数据进行修复。

本发明提供的一种磁盘中损坏数据巡检系统,提前检测磁盘上的损坏的数据信息,进而判断磁盘的损坏程度,便于后续对磁盘中的错误数据进行定位以及修复,提高读取磁盘中数据的效率。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的移动Sink节点对感知节点的数据收集的方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1