一種磁盤健康狀態(tài)檢測(cè)方法與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種磁盤健康狀態(tài)檢測(cè)方法與系統(tǒng)。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)時(shí)代,計(jì)算機(jī)是人們不可或缺的高科技產(chǎn)品。計(jì)算機(jī)可以存儲(chǔ)人們?nèi)粘K璧闹匾獢?shù)據(jù)及計(jì)算機(jī)系統(tǒng)所需的數(shù)據(jù),數(shù)據(jù)一般存儲(chǔ)在磁盤中,即使計(jì)算機(jī)斷電,數(shù)據(jù)也不會(huì)丟失。
[0003]磁盤的參數(shù)包括容量、傳輸率、扇區(qū)、尋道時(shí)間、誤碼率等。這些物理參數(shù)都會(huì)影響磁盤的健康狀態(tài),而磁盤保持健康狀態(tài)對(duì)計(jì)算機(jī)系統(tǒng)的正常運(yùn)行是非常重要的。當(dāng)磁盤長(zhǎng)時(shí)間運(yùn)行后,很多物理參數(shù)如扇區(qū)、尋道時(shí)間、誤碼率等都將發(fā)生變化,這時(shí)磁盤可能將近損壞,如果繼續(xù)讓磁盤運(yùn)行,磁盤可能會(huì)突然發(fā)生故障,使得重要數(shù)據(jù)丟失,造成不必要的損失。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明的主要目的在于提供一種磁盤健康狀態(tài)檢測(cè)方法與系統(tǒng),可以有效地檢測(cè)磁盤的健康狀態(tài),避免磁盤突然損壞造成數(shù)據(jù)丟失。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種磁盤健康狀態(tài)檢測(cè)方法,包括:
[0006]確定需要進(jìn)行檢測(cè)的目標(biāo)磁盤;
[0007]獲取所述目標(biāo)磁盤需要進(jìn)行檢測(cè)的磁盤健康因素的值,確定所述磁盤健康因素的正常工作閾值;
[0008]判斷所述磁盤健康因素的值是否大于所述正常工作閾值,如果大于則將所述目標(biāo)磁盤的數(shù)據(jù)進(jìn)行備份,并將所述目標(biāo)磁盤進(jìn)行離線處理。
[0009]優(yōu)選地,所述方法還包括:
[0010]當(dāng)所述磁盤健康因素的值不大于所述正常工作閾值時(shí),確定所述目標(biāo)磁盤為健康狀態(tài)。
[0011]優(yōu)選地,確定所述磁盤健康因素的正常工作閾值前包括:
[0012]根據(jù)用戶的設(shè)定指令,設(shè)定所述磁盤健康因素的正常工作閾值。
[0013]優(yōu)選地,所述磁盤健康因素包括容量、溫度、密度、扇區(qū)狀態(tài)、尋道時(shí)間和誤碼率。
[0014]本發(fā)明還提供了一種磁盤健康狀態(tài)檢測(cè)系統(tǒng),包括磁盤健康狀態(tài)監(jiān)控模塊和磁盤處理模塊;
[0015]所述磁盤健康狀態(tài)監(jiān)控模塊用于確定需要進(jìn)行檢測(cè)的目標(biāo)磁盤;獲取所述目標(biāo)磁盤需要進(jìn)行檢測(cè)的磁盤健康因素的值;確定所述磁盤健康因素的正常工作閾值;判斷所述磁盤健康因素的值是否大于所述正常工作閾值;
[0016]所述磁盤處理模塊與所述磁盤健康狀態(tài)監(jiān)控模塊相連接,用于當(dāng)所述磁盤健康因素的值大于所述正常工作閾值時(shí),將所述目標(biāo)磁盤的數(shù)據(jù)進(jìn)行備份,并將所述目標(biāo)磁盤進(jìn)行離線處理。
[0017]優(yōu)選地,所述系統(tǒng)還包括健康狀態(tài)確定模塊;
[0018]所述健康狀態(tài)確定模塊與所述磁盤健康狀態(tài)監(jiān)控模塊相連接,用于當(dāng)所述磁盤健康因素的值不大于所述正常工作閾值時(shí),確定所述目標(biāo)磁盤為健康狀態(tài)。
[0019]優(yōu)選地,所述磁盤健康因素包括容量、溫度、密度、扇區(qū)狀態(tài)、尋道時(shí)間和誤碼率。
[0020]應(yīng)用本發(fā)明提供的一種磁盤健康狀態(tài)檢測(cè)方法與系統(tǒng),確定需要進(jìn)行檢測(cè)的目標(biāo)磁盤,獲取所述目標(biāo)磁盤需要進(jìn)行檢測(cè)的磁盤健康因素的值,確定所述磁盤健康因素的正常工作閾值,判斷所述磁盤健康因素的值是否大于所述正常工作閾值,如果大于則將所述目標(biāo)磁盤的數(shù)據(jù)進(jìn)行備份,并將所述目標(biāo)磁盤進(jìn)行離線處理,根據(jù)目標(biāo)磁盤的各健康因素的值以及其正常工作的閾值,判斷目標(biāo)磁盤的磁盤健康因素是否在正常工作閾值范圍內(nèi),當(dāng)超出正常工作的閾值時(shí),可確定該目標(biāo)磁盤的磁盤健康存在問(wèn)題,將此磁盤的數(shù)據(jù)進(jìn)行備份,備份好數(shù)據(jù)后將磁盤離線,之后此磁盤將不再進(jìn)行數(shù)據(jù)的存儲(chǔ),避免磁盤健康狀態(tài)存在問(wèn)題的磁盤工作時(shí)突然損壞造成數(shù)據(jù)丟失,防止造成不必要的損失。
【附圖說(shuō)明】
[0021]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0022]圖1為本發(fā)明一種磁盤健康狀態(tài)檢測(cè)方法實(shí)施例一的流程圖;
[0023]圖2為本發(fā)明一種磁盤健康狀態(tài)檢測(cè)方法實(shí)施例二的流程圖;
[0024]圖3為本發(fā)明一種磁盤健康狀態(tài)檢測(cè)系統(tǒng)實(shí)施例三的結(jié)構(gòu)示意圖;
[0025]圖4為本發(fā)明一種磁盤健康狀態(tài)檢測(cè)系統(tǒng)實(shí)施例四的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0027]實(shí)施例一:
[0028]本發(fā)明提供了一種磁盤健康狀態(tài)檢測(cè)方法,圖1示出了本發(fā)明磁盤健康狀態(tài)檢測(cè)方法實(shí)施例一的流程圖,包括:
[0029]步驟SlOl:確定需要進(jìn)行檢測(cè)的目標(biāo)磁盤;
[0030]系統(tǒng)中有多個(gè)磁盤,確定要進(jìn)行檢測(cè)的目標(biāo)磁盤。
[0031]步驟S102:獲取所述目標(biāo)磁盤需要進(jìn)行檢測(cè)的磁盤健康因素的值,確定所述磁盤健康因素的正常工作閾值;
[0032]選定目標(biāo)磁盤需要進(jìn)行檢測(cè)的磁盤健康因素,包括容量、溫度、密度、扇區(qū)狀態(tài)、尋道時(shí)間和誤碼率等參數(shù),根據(jù)這些參數(shù)的值對(duì)磁盤進(jìn)行分析,獲取指定的磁盤健康因素的值,確定該磁盤健康因素的正常工作閾值,磁盤健康因素的正常工作閾值可為之前根據(jù)用戶的設(shè)定指令預(yù)先設(shè)定好的正常工作閾值,或?yàn)橄到y(tǒng)默認(rèn)的正常工作閾值。
[0033]步驟S103:判斷所述磁盤健康因素的值是否大于所述正常工作閾值,如果大于則進(jìn)入步驟S104 ;
[0034]判斷指定的磁盤健康因素的值是否超出正常工作的范圍。
[0035]步驟S104:將所述目標(biāo)磁盤的數(shù)據(jù)進(jìn)行備份,并將所述目標(biāo)磁盤進(jìn)行離線處理。
[0036]當(dāng)指定的磁盤健康因素的值已經(jīng)超出了正常工作的范圍,則說(shuō)明該目標(biāo)磁盤的磁盤健康狀態(tài)存在問(wèn)題,存在突然損壞,丟失數(shù)據(jù)的風(fēng)險(xiǎn),所以將該存在問(wèn)題的磁盤數(shù)據(jù)首先進(jìn)行備份,然后將該磁盤離線,不再對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),避免突然損壞丟失數(shù)據(jù),保證用戶的正常使用和計(jì)算機(jī)的正常運(yùn)行。
[0037]本實(shí)施例中方法可應(yīng)用于多種系統(tǒng),如windows、MAC os或Linux系統(tǒng)等,以Linux系統(tǒng)為例,具體實(shí)施時(shí)可利用監(jiān)控磁盤健康狀態(tài)的工具smartctl,獲取磁盤健康狀態(tài)信息,通過(guò)對(duì)獲取的健康狀態(tài)信息進(jìn)行提取,使用smartctl - H命令、grep和cut命令完成磁盤健康狀態(tài)的提取。如果磁盤健康狀態(tài)是failed,則首先提取磁盤健康狀態(tài)failed的磁盤名,然后對(duì)該磁盤數(shù)據(jù)進(jìn)行備份,再將該磁盤進(jìn)行下線處理,通過(guò)/sys/block/% s/device/delete文件使得磁盤下線,其中% s為獲取的磁盤名。
[0038]應(yīng)用本實(shí)施例提供的一種磁盤健康狀態(tài)檢測(cè)方法,確定