一種存儲(chǔ)系統(tǒng)中驗(yàn)證數(shù)據(jù)一致性的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲(chǔ)技術(shù)領(lǐng)域,特別是涉及一種存儲(chǔ)系統(tǒng)中驗(yàn)證數(shù)據(jù)一致性的方法。
【背景技術(shù)】
[0002]目前存儲(chǔ)系統(tǒng)常用的測(cè)試方法和工具,多數(shù)是針對(duì)存儲(chǔ)系統(tǒng)性能和穩(wěn)定性等進(jìn)行測(cè)試,但是這些方法和工具無(wú)法對(duì)寫(xiě)入的數(shù)據(jù)進(jìn)行實(shí)時(shí)對(duì)比,以保障數(shù)據(jù)一致性。
[0003]存儲(chǔ)系統(tǒng)的測(cè)試中,更多的關(guān)注點(diǎn)是性能指標(biāo),而忽略了數(shù)據(jù)一致性,例如測(cè)試工具1meter,它在存儲(chǔ)測(cè)試中使用廣泛,能夠通過(guò)設(shè)置讀寫(xiě)模式、數(shù)據(jù)塊大小、讀寫(xiě)比例等模擬實(shí)際場(chǎng)景應(yīng)用的方式來(lái)進(jìn)行存儲(chǔ)的性能測(cè)試,1meter的測(cè)試結(jié)果主要展現(xiàn)存儲(chǔ)10PS、帶寬、響應(yīng)時(shí)間、資源占用等性能指標(biāo),通過(guò)這些指標(biāo)我們可以直觀的對(duì)比不同存儲(chǔ)系統(tǒng)的性能表現(xiàn)。但是,對(duì)于出現(xiàn)數(shù)據(jù)不一致現(xiàn)象時(shí),1meter這類測(cè)試工具無(wú)法感知,不會(huì)停止讀寫(xiě)和報(bào)錯(cuò),影響判斷存儲(chǔ)讀寫(xiě)數(shù)據(jù)的一致性。
[0004]存儲(chǔ)系統(tǒng)由于數(shù)據(jù)冗余、并發(fā)控制不當(dāng)、各種故障或軟件錯(cuò)誤而引起的數(shù)據(jù)不一致問(wèn)題,數(shù)據(jù)讀寫(xiě)準(zhǔn)確性性降低。數(shù)據(jù)不一致影響數(shù)據(jù)的正確性、完整性和有效性,比如數(shù)據(jù)重復(fù)存儲(chǔ)、變更未及時(shí)同步、數(shù)據(jù)丟失或數(shù)據(jù)損壞都會(huì)直接影響前端業(yè)務(wù),造成不可挽回的損失。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種存儲(chǔ)系統(tǒng)中驗(yàn)證數(shù)據(jù)一致性的方法,以實(shí)現(xiàn)防止由存儲(chǔ)系統(tǒng)軟件故障引起的數(shù)據(jù)不一致問(wèn)題,保證數(shù)據(jù)的完整性和有效性,提高數(shù)據(jù)讀寫(xiě)的準(zhǔn)確性。
[0006]為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種存儲(chǔ)系統(tǒng)中驗(yàn)證數(shù)據(jù)一致性的方法,該方法包括:
[0007]在存儲(chǔ)系統(tǒng)進(jìn)行數(shù)據(jù)的讀寫(xiě)測(cè)試時(shí),將數(shù)據(jù)寫(xiě)入磁盤(pán)中,記錄寫(xiě)入的數(shù)據(jù);
[0008]將寫(xiě)入的數(shù)據(jù)從磁盤(pán)中讀取出來(lái),得到讀取的數(shù)據(jù);
[0009]將所述讀取的數(shù)據(jù)與所述寫(xiě)入的數(shù)據(jù)進(jìn)行比對(duì);
[0010]若所述讀取的數(shù)據(jù)與所述寫(xiě)入的數(shù)據(jù)不一致,停止數(shù)據(jù)的讀寫(xiě)過(guò)程,并產(chǎn)生錯(cuò)誤提不?目息。
[0011]優(yōu)選的,所述方法還包括:
[0012]若所述讀取的數(shù)據(jù)與所述寫(xiě)入的數(shù)據(jù)一致,繼續(xù)執(zhí)行數(shù)據(jù)的讀寫(xiě)過(guò)程。
[0013]優(yōu)選的,所述將寫(xiě)入的數(shù)據(jù)從磁盤(pán)中讀取出來(lái),得到讀取的數(shù)據(jù),包括:
[0014]每隔一段預(yù)設(shè)時(shí)間,讀取一次磁盤(pán)中寫(xiě)入的數(shù)據(jù)。
[0015]優(yōu)選的,所述將所述讀取的數(shù)據(jù)與所述寫(xiě)入的數(shù)據(jù)進(jìn)行比對(duì),包括:
[0016]采用動(dòng)態(tài)數(shù)據(jù)實(shí)時(shí)對(duì)比的方式,將每次讀取的數(shù)據(jù)與記錄下的寫(xiě)入的數(shù)據(jù)進(jìn)行比對(duì)和校驗(yàn)。
[0017]優(yōu)選的,所述方法還包括:
[0018]將所述讀取的數(shù)據(jù)的參數(shù)信息與所述寫(xiě)入的數(shù)據(jù)的參數(shù)信息進(jìn)行比對(duì);
[0019]若所述讀取的數(shù)據(jù)的參數(shù)信息與所述寫(xiě)入的數(shù)據(jù)的參數(shù)信息不同,停止數(shù)據(jù)的讀寫(xiě)過(guò)程,并產(chǎn)生錯(cuò)誤提示信息。
[0020]優(yōu)選的,所述參數(shù)信息包括1讀寫(xiě)模式、1讀寫(xiě)隊(duì)列深度、測(cè)試磁盤(pán)扇區(qū)范圍和1讀寫(xiě)時(shí)間。
[0021 ]優(yōu)選的,所述產(chǎn)生錯(cuò)誤提示信息之后,還包括:
[0022]生成錯(cuò)誤日志,依據(jù)所述錯(cuò)誤日志查找數(shù)據(jù)不一致的錯(cuò)誤原因。
[0023]本發(fā)明所提供的一種存儲(chǔ)系統(tǒng)中驗(yàn)證數(shù)據(jù)一致性的方法,在存儲(chǔ)系統(tǒng)進(jìn)行數(shù)據(jù)的讀寫(xiě)測(cè)試時(shí),將數(shù)據(jù)寫(xiě)入磁盤(pán)中,記錄寫(xiě)入的數(shù)據(jù);將寫(xiě)入的數(shù)據(jù)從磁盤(pán)中讀取出來(lái),得到讀取的數(shù)據(jù);將所述讀取的數(shù)據(jù)與所述寫(xiě)入的數(shù)據(jù)進(jìn)行比對(duì);若所述讀取的數(shù)據(jù)與所述寫(xiě)入的數(shù)據(jù)不一致,停止數(shù)據(jù)的讀寫(xiě)過(guò)程,并產(chǎn)生錯(cuò)誤提示信息??梢?jiàn),該方法在存儲(chǔ)系統(tǒng)進(jìn)行讀寫(xiě)測(cè)試時(shí),通過(guò)比對(duì)的方式對(duì)數(shù)據(jù)進(jìn)行一致性驗(yàn)證,出現(xiàn)數(shù)據(jù)不一致時(shí),就會(huì)停止讀寫(xiě)過(guò)程,并給出錯(cuò)誤提示信息進(jìn)行報(bào)錯(cuò),如此確保數(shù)據(jù)讀寫(xiě)正確有效,實(shí)現(xiàn)防止由存儲(chǔ)系統(tǒng)軟件故障引起的數(shù)據(jù)不一致問(wèn)題,保證數(shù)據(jù)的完整性和有效性,提高數(shù)據(jù)讀寫(xiě)的準(zhǔn)確性。
【附圖說(shuō)明】
[0024]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0025]圖1為本發(fā)明所提供的一種存儲(chǔ)系統(tǒng)中驗(yàn)證數(shù)據(jù)一致性的方法的流程圖;
[0026]圖2為測(cè)試工具的測(cè)試流程示意圖;
[0027]圖3為測(cè)試工具的指定測(cè)試策略示意圖;
[0028]圖4為測(cè)試工具的測(cè)試過(guò)程示意圖;
[0029]圖5為測(cè)試工具生成的錯(cuò)誤日志示意圖。
【具體實(shí)施方式】
[0030]本發(fā)明的核心是提供一種存儲(chǔ)系統(tǒng)中驗(yàn)證數(shù)據(jù)一致性的方法,以實(shí)現(xiàn)防止由存儲(chǔ)系統(tǒng)軟件故障引起的數(shù)據(jù)不一致問(wèn)題,保證數(shù)據(jù)的完整性和有效性,提高數(shù)據(jù)讀寫(xiě)的準(zhǔn)確性。
[0031]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(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ù)的范圍。
[0032]請(qǐng)參考圖1,圖1為本發(fā)明所提供的一種存儲(chǔ)系統(tǒng)中驗(yàn)證數(shù)據(jù)一致性的方法的流程圖,該方法包括:
[0033]Sll:在存儲(chǔ)系統(tǒng)進(jìn)行數(shù)據(jù)的讀寫(xiě)測(cè)試時(shí),將數(shù)據(jù)寫(xiě)入磁盤(pán)中,記錄寫(xiě)入的數(shù)據(jù);
[0034]其中,每寫(xiě)入一次數(shù)據(jù),都對(duì)寫(xiě)入的數(shù)據(jù)進(jìn)行記錄。
[0035]S12:將寫(xiě)入的數(shù)據(jù)從磁盤(pán)中讀取出來(lái),得到讀取的數(shù)據(jù);
[0036]其中,將寫(xiě)入的數(shù)據(jù)從磁盤(pán)中讀取出來(lái),得到讀取的數(shù)據(jù)的過(guò)程為:每隔一段預(yù)設(shè)時(shí)間,讀取一次磁盤(pán)中寫(xiě)入的數(shù)據(jù)。
[0037]S13:將讀取的數(shù)據(jù)與寫(xiě)入的數(shù)據(jù)進(jìn)行比對(duì);
[0038]其中,將讀取的數(shù)據(jù)與寫(xiě)入的數(shù)據(jù)進(jìn)行比對(duì)的過(guò)程具體為:采用動(dòng)態(tài)數(shù)據(jù)實(shí)時(shí)對(duì)比的方式,將每次讀取的數(shù)據(jù)與記錄下的寫(xiě)入的數(shù)據(jù)進(jìn)行比對(duì)和校驗(yàn)。
[0039]對(duì)讀取的數(shù)據(jù)進(jìn)行校驗(yàn)的過(guò)程就是判斷讀取的數(shù)據(jù)是否是完整的,若是,校驗(yàn)成功,若否,校驗(yàn)失敗。
[0040]S14:若讀取的數(shù)據(jù)與寫(xiě)入的數(shù)據(jù)不一致,停止數(shù)據(jù)的讀寫(xiě)過(guò)程,并產(chǎn)生錯(cuò)誤提示
?目息O
[0041]其中,若讀取的數(shù)據(jù)與寫(xiě)入的數(shù)據(jù)一致,繼續(xù)執(zhí)行數(shù)據(jù)的讀寫(xiě)過(guò)程。數(shù)據(jù)都一致,表明數(shù)據(jù)寫(xiě)入和讀取的過(guò)程均沒(méi)有出現(xiàn)問(wèn)題,這樣繼續(xù)執(zhí)行數(shù)據(jù)的讀寫(xiě)過(guò)程,不會(huì)出現(xiàn)數(shù)據(jù)不一致的情況
[0042]其中,產(chǎn)生錯(cuò)誤提示信息之后,生成錯(cuò)誤日志,依據(jù)錯(cuò)誤日志查找數(shù)據(jù)不一致的錯(cuò)誤原因。生成錯(cuò)誤日志能夠讓用戶進(jìn)行實(shí)時(shí)查看,了解當(dāng)前讀寫(xiě)的運(yùn)行過(guò)程,也能了解數(shù)據(jù)不一致的錯(cuò)誤原因,及時(shí)解決數(shù)據(jù)不一致的故障問(wèn)題。
[0043]可見(jiàn),該方法在存儲(chǔ)系統(tǒng)進(jìn)行讀寫(xiě)測(cè)試時(shí),通過(guò)比對(duì)的方式對(duì)數(shù)據(jù)進(jìn)行一致性驗(yàn)證,出現(xiàn)數(shù)據(jù)不一致時(shí),就會(huì)停止讀寫(xiě)過(guò)程,并給出錯(cuò)誤提示信息進(jìn)行報(bào)錯(cuò),如此確保數(shù)據(jù)讀寫(xiě)正確有效,實(shí)現(xiàn)防止由存儲(chǔ)系統(tǒng)軟件故障引起的數(shù)據(jù)不一致問(wèn)題,保證數(shù)據(jù)的完整性和有效性,提高數(shù)據(jù)讀寫(xiě)的準(zhǔn)確性。
[0044]其中,所述方法還包括以下步驟:
[0045]S1:將讀取的數(shù)據(jù)的參數(shù)信息與寫(xiě)入的數(shù)據(jù)的參數(shù)信息