一种基于linux系统的硬盘检测方法、装置及其设备制造方法及图纸

技术编号:20117230 阅读:20 留言:0更新日期:2019-01-16 11:58
本发明专利技术公开了一种基于linux系统的硬盘检测方法,包括:接收输入的多条检测命令语句,每条检测命令语句对应硬盘内的不同存储区域;通过多个线程,并行运行各条检测命令语句;通过运行检测命令语句,对硬盘内相应的存储区域内的数据进行检测,并输出检测结果至指定路径内。本发明专利技术采用多线程并行运行检测命令语句的方式进行硬盘检测,提高硬盘检测的效率。本发明专利技术的还公开了一种基于上述方法的装置、设备及计算机可读存储介质。

A Hard Disk Detection Method, Device and Equipment Based on Linux System

The invention discloses a hard disk detection method based on Linux system, which includes: receiving input multiple detection command statements, each detection command statement corresponds to different storage areas in the hard disk; running each detection command statement in parallel through multiple threads; detecting data in the corresponding storage areas in the hard disk by running detection command statements, and outputting detection. The result is within the specified path. The invention adopts the method of multi-threaded parallel running detection command statement to carry out hard disk detection, so as to improve the efficiency of hard disk detection. The invention also discloses a device, device and computer readable storage medium based on the above method.

【技术实现步骤摘要】
一种基于linux系统的硬盘检测方法、装置及其设备
本专利技术涉及硬盘管理
,特别是涉及一种基于linux系统的硬盘检测方法、装置、设备及计算机可读存储介质。
技术介绍
在Linux系统下,为了保证硬盘的可靠性,需要经常对硬盘进行检测,检测内容主要是看硬盘内是否有坏块,这里的坏块指的是损坏的区块(存储区域是由多个区块组成的)。目前采用的区块检测方法中,通常使用检测命令对硬盘进行区块检测时,常用单线程检测,即每次仅通过一个线程执行检测命令,来对检测命令对应的区块进行检测,这种检测方式效率低,随着现在磁盘空间越来越大,单线程磁盘检测需要耗费大量的时间。因此,如何提供一种检测效率高的基于linux系统的硬盘检测方法、装置、设备及计算机可读存储介质是本领域技术人员目前需要解决的问题。
技术实现思路
本专利技术的目的是提供一种基于linux系统的硬盘检测方法,采用多线程并行运行检测命令语句的方式进行硬盘检测,提高硬盘检测的效率;本专利技术的另一目的是提供一种基于上述方法的装置、设备及计算机可读存储介质。为解决上述技术问题,本专利技术提供了一种基于linux系统的硬盘检测方法,包括:接收输入的多条检测命令语句,每条检测命令语句对应硬盘内的不同存储区域;通过多个线程,并行运行各条所述检测命令语句;通过运行所述检测命令语句,对所述硬盘内相应的存储区域内的数据进行检测,并输出检测结果至指定路径内。优选地,所述检测命令语句具体为dd命令语句;所述通过运行所述检测命令语句,对所述硬盘内对应的存储区域的数据进行检测的过程具体为:通过运行所述dd命令语句,对相应存储区域内的各个区块的数据依次进行读取;区块数据的读取过程中,若接收到所述硬盘返回的I/O错误响应,则所述I/O错误响应对应的区块故障,并停止读取该区块的数据;若对一个区块读取的过程均未接收到所述硬盘返回的I/O错误响应,则当前检测的区块正常。优选地,所述dd命令语句包括:待检测的源盘名称、用于保存读取数据的目标盘名称、区块大小、每条dd命令语句对应的区块个数、检测开始时源盘内从开头跳过的区块个数、检测开始时目标盘从开头跳过的区块个数。优选地,接收到的全部所述检测命令语句对应的存储区域合起来为所述硬盘的全部存储区域。优选地,所述通过多个线程,并行运行各条所述检测命令语句的过程具体为:判断当前接收到的所述检测命令语句的条数是否超出预设线程数;若超出,则通过所述预设线程数个线程,分批次运行接收到的全部所述检测命令语句,其中,每批次运行所述预设线程数个检测命令语句;若未超出,则通过多个线程,并行运行接收到的全部所述检测命令语句。为解决上述技术问题,本专利技术还提供了一种基于linux系统的硬盘检测装置,包括:接收模块,用于接收输入的多条检测命令语句,每条检测命令语句对应硬盘内的不同存储区域;并行运行模块,用于通过多个线程,并行运行各条所述检测命令语句;检测模块,用于通过运行所述检测命令语句,对所述硬盘内相应的存储区域内的数据进行检测,并输出检测结果至指定路径内。优选地,所述检测模块具体包括:读取单元,用于通过运行所述dd命令语句,对相应存储区域内的各个区块的数据依次进行读取;结果确定单元,用于区块数据的读取过程中,若接收到所述硬盘返回的I/O错误响应,则所述I/O错误响应对应的区块故障,并停止读取该区块的数据;若对一个区块读取的过程均未接收到所述硬盘返回的I/O错误响应,则当前检测的区块正常;结果输出单元,用于输出检测结果至指定路径内。优选地,所述并行运行模块具体包括:判断单元,用于判断当前接收到的所述检测命令语句的条数是否超出预设线程数;若超出,触发第一检测单元;若未超出,触发第二检测单元;所述第一检测单元,用于通过所述预设线程数个线程,分批次运行接收到的全部所述检测命令语句,其中,每批次运行所述预设线程数个检测命令语句;所述第二检测单元,用于通过多个线程,并行运行接收到的全部所述检测命令语句。为解决上述技术问题,本专利技术还提供了一种基于linux系统的硬盘检测设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如以上任一项所述的基于linux系统的硬盘检测方法的步骤。为解决上述技术问题,本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上任一项所述的基于linux系统的硬盘检测方法的步骤。本专利技术提供了一种基于linux系统的硬盘检测方法,接收输入的多条检测命令语句后,每条检测命令语句均对应硬盘内不同的存储区域,之后通过多个线程,并行运行各条检测命令语句,来对相应的存储区域进行检测。可见,本专利技术中,采用的是多线程并行检测的方式,相比单线程来说,检测速度更快,能够大大缩短整个磁盘的检测时间,检测效率更高。本专利技术还提供了一种基于上述方法的装置、设备及计算机可读存储介质,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种基于linux系统的硬盘检测方法的过程的流程图;图2为本专利技术提供的另一种基于linux系统的硬盘检测方法的过程的流程图;图3为本专利技术提供的一种基于linux系统的硬盘检测装置的结构示意图。具体实施方式本专利技术的核心是提供一种基于linux系统的硬盘检测方法,采用多线程并行运行检测命令语句的方式进行硬盘检测,提高硬盘检测的效率;本专利技术的另一核心是提供一种基于上述方法的装置、设备及计算机可读存储介质。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供了一种基于linux系统的硬盘检测方法,参见图1所示,图1为本专利技术提供的一种基于linux系统的硬盘检测方法的过程的流程图;该方法包括:步骤s1:接收输入的多条检测命令语句,每条检测命令语句对应硬盘内的不同存储区域;这里的检测命令语句,包含了需要对硬盘内哪个存储区域进行检测、检测方式等内容,为了避免重复检测,各条检测命令语句需要对应不同的存储区域。当然,各条检测命令语句对应的存储区域大小可以相同也可以不同,本专利技术对此不作限定。步骤s2:通过多个线程,并行运行各条检测命令语句;接收检测命令语句后,需要通过线程来运行,每个线程运行一条检测命令语句。因此,通过多个线程,分别同时对各条检测命令语句进行运行的话,能够并行对相应的多个存储区域进行检测,从而大大缩短了硬盘检测的时间,提高了检测效率。步骤s3:通过运行检测命令语句,对硬盘内相应的存储区域内的数据进行检测,并输出检测结果至指定路径内。本专利技术提供了一种基于linux系统的硬盘检测方法,接收输入的多条检测命令语句后,每条检测命令语句均对应硬盘内不同的存储区域,之后通过多个线程,并行运行各条检测命令语句,来对本文档来自技高网...

【技术保护点】
1.一种基于linux系统的硬盘检测方法,其特征在于,包括:接收输入的多条检测命令语句,每条检测命令语句对应硬盘内的不同存储区域;通过多个线程,并行运行各条所述检测命令语句;通过运行所述检测命令语句,对所述硬盘内相应的存储区域内的数据进行检测,并输出检测结果至指定路径内。

【技术特征摘要】
1.一种基于linux系统的硬盘检测方法,其特征在于,包括:接收输入的多条检测命令语句,每条检测命令语句对应硬盘内的不同存储区域;通过多个线程,并行运行各条所述检测命令语句;通过运行所述检测命令语句,对所述硬盘内相应的存储区域内的数据进行检测,并输出检测结果至指定路径内。2.根据权利要求1所述的硬盘检测方法,其特征在于,所述检测命令语句具体为dd命令语句;所述通过运行所述检测命令语句,对所述硬盘内对应的存储区域的数据进行检测的过程具体为:通过运行所述dd命令语句,对相应存储区域内的各个区块的数据依次进行读取;区块数据的读取过程中,若接收到所述硬盘返回的I/O错误响应,则所述I/O错误响应对应的区块故障,并停止读取该区块的数据;若对一个区块读取的过程均未接收到所述硬盘返回的I/O错误响应,则当前检测的区块正常。3.根据权利要求2所述的硬盘检测方法,其特征在于,所述dd命令语句包括:待检测的源盘名称、用于保存读取数据的目标盘名称、区块大小、每条dd命令语句对应的区块个数、检测开始时源盘内从开头跳过的区块个数、检测开始时目标盘从开头跳过的区块个数。4.根据权利要求1-3任一项所述的硬盘检测方法,其特征在于,接收到的全部所述检测命令语句对应的存储区域合起来为所述硬盘的全部存储区域。5.根据权利要求1-3任一项所述的硬盘检测方法,其特征在于,所述通过多个线程,并行运行各条所述检测命令语句的过程具体为:判断当前接收到的所述检测命令语句的条数是否超出预设线程数;若超出,则通过所述预设线程数个线程,分批次运行接收到的全部所述检测命令语句,其中,每批次运行所述预设线程数个检测命令语句;若未超出,则通过多个线程,并行运行接收到的全部所述检测命令语句。6.一种基于linux系统的硬盘检测装...

【专利技术属性】
技术研发人员:王辉
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1