一種存儲系統(tǒng)及其數(shù)據(jù)一致性校驗方法
【專利摘要】本發(fā)明公開了一種存儲系統(tǒng)及其數(shù)據(jù)一致性校驗方法,其中,該方法包括以下步驟:S1,在執(zhí)行讀寫操作時,判斷系統(tǒng)是否首次執(zhí)行讀寫操作,是則記錄協(xié)議化數(shù)據(jù)的關(guān)鍵信息;S2,在讀寫操作通過各個功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口時,監(jiān)控所述關(guān)鍵信息;S3,在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,根據(jù)所述關(guān)鍵信息記錄對應(yīng)的功能模塊與數(shù)據(jù)內(nèi)容。本發(fā)明在存儲系統(tǒng)發(fā)生數(shù)據(jù)一致性異常時,對異常的發(fā)生和異常數(shù)據(jù)進(jìn)行記錄,進(jìn)而根據(jù)記錄的結(jié)果快速定位發(fā)生異常的模塊,將定位該類問題的時間大大降低,提高整個存儲系統(tǒng)的開發(fā)效率和穩(wěn)定性,同時也能用來驗證存儲系統(tǒng)的數(shù)據(jù)一致性。
【專利說明】一種存儲系統(tǒng)及其數(shù)據(jù)一致性校驗方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)驗證,尤其涉及的是,一種存儲系統(tǒng)及其數(shù)據(jù)一致性校驗方法。
【背景技術(shù)】
[0002]在存儲系統(tǒng)的開發(fā)中,數(shù)據(jù)一致性問題是極為重要和復(fù)雜的,一旦出現(xiàn)數(shù)據(jù)一致性問題,則極難定位和嚴(yán)重拖延開發(fā)進(jìn)度。
[0003]引起數(shù)據(jù)一致性問題的可能有很多,例如,存儲系統(tǒng)軟件邏輯問題,數(shù)據(jù)內(nèi)存被踩問題,或者磁盤異常等,這些導(dǎo)致數(shù)據(jù)一致性問題的錯誤,由于可能涉及到存儲系統(tǒng)的各個方面,故想要快速定位,極為困難。在現(xiàn)有的技術(shù)中,針對存儲系統(tǒng)數(shù)據(jù)一致性異常后并沒有一個很好的處理定位方法,通常需要加入大量的調(diào)試代碼進(jìn)行定位。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是提供一種新的存儲系統(tǒng)及其數(shù)據(jù)一致性校驗方法。
[0005]本發(fā)明的技術(shù)方案如下:一種存儲系統(tǒng)的數(shù)據(jù)一致性校驗方法,其包括以下步驟:S1,在執(zhí)行讀寫操作時,判斷系統(tǒng)是否首次執(zhí)行讀寫操作,是則記錄協(xié)議化數(shù)據(jù)的關(guān)鍵信息;S2,在讀寫操作通過各個功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口時,監(jiān)控所述關(guān)鍵信息;S3,在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,根據(jù)所述關(guān)鍵信息記錄對應(yīng)的功能模塊與數(shù)據(jù)內(nèi)容。
[0006]優(yōu)選的,所述方法中,步驟S1之前還執(zhí)行以下步驟S0:預(yù)設(shè)置所述協(xié)議化數(shù)據(jù)的數(shù)據(jù)塊結(jié)構(gòu)。
[0007]優(yōu)選的,所述方法中,所述數(shù)據(jù)塊結(jié)構(gòu)包括虛擬邏輯地址數(shù)據(jù)頭、數(shù)據(jù)內(nèi)容、版本號與校驗碼的數(shù)據(jù)塊。
[0008]優(yōu)選的,所述方法中,步驟S1具體包括以下步驟:系統(tǒng)在獲得讀寫操作的數(shù)據(jù)包時,判斷其中是否第一次監(jiān)控到數(shù)據(jù)塊,是則記錄所述數(shù)據(jù)塊的版本號,否則執(zhí)行步驟S2。
[0009]優(yōu)選的,所述方法中,步驟S3包括以下步驟:S31,判斷數(shù)據(jù)是否有效,是則執(zhí)行步驟S32,否則記錄并報錯;S32,判斷數(shù)據(jù)塊的版本號是否相同,是則執(zhí)行步驟S33,否則記錄并報錯;S33,判斷是否打開數(shù)據(jù)內(nèi)容檢測,是則執(zhí)行步驟S34,否則進(jìn)入其他正常10流程;S34,檢測數(shù)據(jù)內(nèi)容并判斷是否有效,是則進(jìn)入其他正常10流程,否則記錄并報錯。
[0010]優(yōu)選的,所述方法中,步驟S31中,所述判斷數(shù)據(jù)是否有效,是校驗所述數(shù)據(jù)塊中的數(shù)據(jù)的有效性,其根據(jù)所述數(shù)據(jù)塊中的虛擬邏輯地址數(shù)據(jù)頭、數(shù)據(jù)內(nèi)容、版本號與校驗碼進(jìn)行校驗。
[0011 ] 優(yōu)選的,所述方法中,根據(jù)磁盤扇區(qū)設(shè)置所述數(shù)據(jù)塊的大小。
[0012]優(yōu)選的,所述方法中,步驟S3之后,還執(zhí)行步驟S4:根據(jù)記錄的結(jié)果快速定位發(fā)生異常的所述功能模塊。
[0013]優(yōu)選的,所述方法中,步驟S4之后,還執(zhí)行步驟S5:設(shè)置所述功能模塊為異常模塊并處理。[0014]本發(fā)明的又一技術(shù)方案如下:一種存儲系統(tǒng),其包括若干功能模塊,還包括存儲模塊、監(jiān)控模塊,以及在每一所述功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口分別設(shè)置一數(shù)據(jù)一致性檢驗?zāi)K;所述存儲模塊用于在所述存儲在執(zhí)行讀寫操作時,判斷系統(tǒng)是否首次執(zhí)行讀寫操作,是則記錄協(xié)議化數(shù)據(jù)的關(guān)鍵信息;所述監(jiān)控模塊用于在讀寫操作通過各個功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口時,監(jiān)控所述關(guān)鍵信息;所述數(shù)據(jù)一致性檢驗?zāi)K用于檢驗讀寫操作的數(shù)據(jù)一致性,在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,根據(jù)所述關(guān)鍵信息記錄對應(yīng)的功能模塊與數(shù)據(jù)內(nèi)容到所述存儲模塊。
[0015]采用上述方案,本發(fā)明采用協(xié)議化數(shù)據(jù)的關(guān)鍵信息設(shè)置,在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,根據(jù)所述關(guān)鍵信息記錄對應(yīng)的模塊與數(shù)據(jù)內(nèi)容,能夠迅速發(fā)現(xiàn)具有很高的市場應(yīng)用價值。
【專利附圖】
【附圖說明】
[0016]圖1為本發(fā)明的一個實施例的協(xié)議化數(shù)據(jù)的數(shù)據(jù)塊結(jié)構(gòu)示意圖;
[0017]圖2為本發(fā)明系統(tǒng)的一個實施例的實現(xiàn)示意圖;
[0018]圖3為本發(fā)明方法的一個實施例的流程示意圖。
【具體實施方式】
[0019]為了便于理解本發(fā)明,下面結(jié)合附圖和具體實施例,對本發(fā)明進(jìn)行更詳細(xì)的說明。附圖中給出了本發(fā)明的較佳的實施例。但是,本發(fā)明可以采用許多不同的形式來實現(xiàn),并不限于本說明書所描述的實施例。相反地,提供這些實施例的目的是使對本發(fā)明的公開內(nèi)容的理解更加透徹全面。
[0020]需要說明的是,當(dāng)元件被稱為“固定于”另一個元件,它可以直接在另一個元件上或者也可以存在居中的元件。當(dāng)一個元件被認(rèn)為是“連接”另一個元件,它可以是直接連接到另一個元件或者可能同時存在居中元件。本說明書所使用的術(shù)語“垂直的”、“水平的”、“左”、“右”以及類似的表述只是為了說明的目的。
[0021]除非另有定義,本說明書所使用的所有的技術(shù)和科學(xué)術(shù)語與屬于本發(fā)明的【技術(shù)領(lǐng)域】的技術(shù)人員通常理解的含義相同。本說明書中在本發(fā)明的說明書中所使用的術(shù)語只是為了描述具體的實施例的目的,不是用于限制本發(fā)明。本說明書所使用的術(shù)語“和/或”包括一個或多個相關(guān)的所列項目的任意的和所有的組合。
[0022]一種存儲系統(tǒng)的數(shù)據(jù)一致性校驗方法,其包括以下步驟:SI,在執(zhí)行讀寫操作時,判斷系統(tǒng)是否首次執(zhí)行讀寫操作,是則記錄協(xié)議化數(shù)據(jù)的關(guān)鍵信息;S2,在讀寫操作通過各個功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口時,監(jiān)控所述關(guān)鍵信息;S3,在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,根據(jù)所述關(guān)鍵信息記錄對應(yīng)的功能模塊與數(shù)據(jù)內(nèi)容。例如,系統(tǒng)在執(zhí)行某一或者若干讀寫操作時,先判斷對應(yīng)的讀寫操作是否首次執(zhí)行,如果是首次執(zhí)行,則記錄協(xié)議化數(shù)據(jù)的關(guān)鍵信息,否則在讀寫操作通過各個功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口時,監(jiān)控所述關(guān)鍵信息。這樣,通過將檢測數(shù)據(jù)協(xié)議化,分為:虛擬邏輯地址數(shù)據(jù)頭、數(shù)據(jù)內(nèi)容、版本號、校驗碼;并在各個關(guān)鍵數(shù)據(jù)出入口,即數(shù)據(jù)輸入口、數(shù)據(jù)輸出口,通過監(jiān)控數(shù)據(jù)內(nèi)容和版本號進(jìn)行數(shù)據(jù)一致性檢測,從而能夠在數(shù)據(jù)錯誤發(fā)生時,快速定位、及時糾錯。
[0023]優(yōu)選的,所述方法,即所述數(shù)據(jù)一致性校驗方法,其中,步驟SI之前還執(zhí)行以下步驟so:預(yù)設(shè)置所述協(xié)議化數(shù)據(jù)的數(shù)據(jù)塊結(jié)構(gòu)。例如,所述方法中,所述數(shù)據(jù)塊結(jié)構(gòu)包括虛擬邏輯地址數(shù)據(jù)頭、數(shù)據(jù)內(nèi)容、版本號與校驗碼的數(shù)據(jù)塊。也就是說,數(shù)據(jù)塊設(shè)置有一定的結(jié)構(gòu),即所述數(shù)據(jù)塊結(jié)構(gòu),其大小根據(jù)實際應(yīng)用確定,優(yōu)選的,根據(jù)磁盤扇區(qū)設(shè)置所述數(shù)據(jù)塊的大小。
[0024]例如,協(xié)議化的數(shù)據(jù)塊大小為512字節(jié)(bytes),正好符合一個磁盤扇區(qū)(sector)的大小。前8字節(jié)為存儲系統(tǒng)虛擬邏輯地址,中間488字節(jié)為可修改的數(shù)據(jù)內(nèi)容,緊跟著為8字節(jié)的版本號,每一次對存儲系統(tǒng)進(jìn)行檢驗,其版本號均不同,所述版本號與時間戳相關(guān)。最后8字節(jié)為整個數(shù)據(jù)塊的CRC校驗。又如,磁盤扇區(qū)為4096字節(jié),則協(xié)議化的數(shù)據(jù)塊大小為4096字節(jié),以此類推,其數(shù)據(jù)結(jié)構(gòu)亦如上類推。
[0025]又如,對于所述數(shù)據(jù)塊,所述關(guān)鍵信息包括虛擬邏輯地址數(shù)據(jù)頭、版本號和/或校驗碼。又如,所述關(guān)鍵信息包括版本號和/或校驗碼。又如,所述關(guān)鍵信息僅包括版本號。例如,通過實現(xiàn)模擬協(xié)議化10的應(yīng)用程序,生成的10數(shù)據(jù)塊,具有如圖1所示數(shù)據(jù)格式,例如,對于協(xié)議化的數(shù)據(jù),其數(shù)據(jù)頭包含數(shù)據(jù)的邏輯地址,即存儲系統(tǒng)虛擬邏輯地址,其后數(shù)據(jù)內(nèi)容,可以自由設(shè)置或者修改,數(shù)據(jù)內(nèi)容之后為版本號,最后為整個數(shù)據(jù)塊的CRC校驗值。
[0026]優(yōu)選的,所述方法中,步驟S1具體包括以下步驟:系統(tǒng)在獲得讀寫操作的數(shù)據(jù)包時,判斷其中是否第一次監(jiān)控到數(shù)據(jù)塊,是則記錄所述數(shù)據(jù)塊的版本號,否則執(zhí)行步驟S2。其中,所述系統(tǒng)為存儲系統(tǒng)。
[0027]優(yōu)選的,所述方法中,步驟S3包括以下步驟:S31,判斷數(shù)據(jù)是否有效,是則執(zhí)行步驟S32,否則記錄并報錯;S32,判斷數(shù)據(jù)塊的版本號是否相同,是則執(zhí)行步驟S33,否則記錄并報錯;S33,判斷是否打開數(shù)據(jù)內(nèi)容檢測,是則執(zhí)行步驟S34,否則進(jìn)入其他正常10流程;S34,檢測數(shù)據(jù)內(nèi)容并判斷是否有效,是則進(jìn)入其他正常10流程,否則記錄并報錯。優(yōu)選的,步驟S31中,所述判斷數(shù)據(jù)是否有效,是校驗所述數(shù)據(jù)塊中的數(shù)據(jù)的有效性,其根據(jù)所述數(shù)據(jù)塊中的虛擬邏輯地址數(shù)據(jù)頭、數(shù)據(jù)內(nèi)容、版本號與校驗碼進(jìn)行校驗。
[0028]例如,系統(tǒng)在首次運行10時,將記錄下協(xié)議化數(shù)據(jù)的關(guān)鍵信息,如數(shù)據(jù)內(nèi)容和版本號。當(dāng)10通過各個模塊的出入口時,都將進(jìn)行這些關(guān)鍵信息的監(jiān)控,如果系統(tǒng)10運行出現(xiàn)數(shù)據(jù)一致性問題時,數(shù)據(jù)檢測模塊會記錄下發(fā)生異常的環(huán)節(jié)和內(nèi)容,從而達(dá)到快速定位的目的。例如,如圖3所示,一種存儲系統(tǒng)的數(shù)據(jù)一致性校驗方法,其包括以下步驟:10數(shù)據(jù)包進(jìn)入Datatest模塊,判斷是否第一次監(jiān)控到數(shù)據(jù),是則記錄數(shù)據(jù)塊的版本號,否則檢驗數(shù)據(jù)有效性;其中,一個10數(shù)據(jù)包中可能有多個協(xié)議化的數(shù)據(jù)塊。檢驗數(shù)據(jù)有效性,判斷數(shù)據(jù)是否有效,是則比較數(shù)據(jù)塊的版本號,否則記錄并報錯;其中,校驗數(shù)據(jù)塊中的數(shù)據(jù)的有效性,是根據(jù)虛擬邏輯地址數(shù)據(jù)頭、數(shù)據(jù)內(nèi)容、版本號與校驗碼進(jìn)行校驗。比較數(shù)據(jù)塊的版本號,判斷與記錄中的信息是否相同,否則記錄并報錯;是則繼續(xù)下一步判斷。判斷是否打開數(shù)據(jù)內(nèi)容檢測,是則檢測數(shù)據(jù)內(nèi)容,否則進(jìn)入其他正常10流程,即按該10信息執(zhí)行。檢測數(shù)據(jù)內(nèi)容,判斷其是否有效,是則進(jìn)入其他正常10流程,否則記錄并報錯;這樣,能夠迅速發(fā)現(xiàn)錯誤,快速定位,有利于及時糾錯,保障系統(tǒng)的正常運行。
[0029]優(yōu)選的,所述方法中,步驟S3之后,還執(zhí)行步驟S4:根據(jù)記錄的結(jié)果快速定位發(fā)生異常的所述功能模塊。優(yōu)選的,步驟S4之后,還執(zhí)行步驟S5:設(shè)置所述功能模塊為異常模塊并處理。[0030]又如,一種存儲系統(tǒng)的數(shù)據(jù)一致性校驗方法,其包括以下步驟:
[0031]S0,預(yù)設(shè)置協(xié)議化數(shù)據(jù)的數(shù)據(jù)塊結(jié)構(gòu);
[0032]SI,在執(zhí)行讀寫操作時,判斷系統(tǒng)是否首次執(zhí)行讀寫操作,是則記錄協(xié)議化數(shù)據(jù)的關(guān)鍵信息;
[0033]S2,在讀寫操作通過各個功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口時,監(jiān)控所述關(guān)鍵信息;
[0034]S3,在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,根據(jù)所述關(guān)鍵信息記錄對應(yīng)的功能模塊與數(shù)據(jù)內(nèi)容;
[0035]S4,根據(jù)記錄的結(jié)果快速定位發(fā)生異常的所述功能模塊;
[0036]S5,設(shè)置所述功能模塊為異常模塊并處理。
[0037]又如,一種存儲系統(tǒng)的數(shù)據(jù)一致性校驗方法,其包括以下步驟:
[0038]SI,系統(tǒng)在獲得讀寫操作的數(shù)據(jù)包時,判斷其中是否第一次監(jiān)控到數(shù)據(jù)塊,是則記錄所述數(shù)據(jù)塊的版本號,否則執(zhí)行步驟S2 ;
[0039]S2,在讀寫操作通過各個功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口時,監(jiān)控所述關(guān)鍵信息;
[0040]S31,判斷數(shù)據(jù)是否有效,是則執(zhí)行步驟S32,否則記錄并報錯;
[0041]S32,判斷數(shù)據(jù)塊的版本號是否相同,是則執(zhí)行步驟S33,否則記錄并報錯;
[0042]S33,判斷是否打開數(shù)據(jù)內(nèi)容檢測,是則執(zhí)行步驟S34,否則進(jìn)入其他正常IO流程;
[0043]S34,檢測數(shù)據(jù)內(nèi)容并判斷是否有效,是則進(jìn)入其他正常IO流程,否則記錄并報錯;
[0044]S4,根據(jù)記錄的結(jié)果快速定位發(fā)生異常的所述功能模塊;
[0045]S5,設(shè)置所述功能模塊為異常模塊并處理。
[0046]與上述任一實施例結(jié)合應(yīng)用,本發(fā)明的又一實施例如下:一種存儲系統(tǒng),其包括若干功能模塊,還包括存儲模塊、監(jiān)控模塊,以及如圖2所示,在每一所述功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口分別設(shè)置一數(shù)據(jù)一致性檢驗?zāi)K;所述存儲模塊用于在所述存儲在執(zhí)行讀寫操作時,判斷系統(tǒng)是否首次執(zhí)行讀寫操作,是則記錄協(xié)議化數(shù)據(jù)的關(guān)鍵信息;所述監(jiān)控模塊用于在讀寫操作通過各個功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口時,監(jiān)控所述關(guān)鍵信息;所述數(shù)據(jù)一致性檢驗?zāi)K用于檢驗讀寫操作的數(shù)據(jù)一致性,在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,根據(jù)所述關(guān)鍵信息記錄對應(yīng)的功能模塊與數(shù)據(jù)內(nèi)容到所述存儲模塊。其中,數(shù)據(jù)一致性檢驗?zāi)K,即數(shù)據(jù)檢測(Data test)模塊,其運行流程圖如圖3所示。
[0047]優(yōu)選的,所述存儲系統(tǒng)應(yīng)用了上述任一實施例所述方法。
[0048]例如,在現(xiàn)有的存儲系統(tǒng)的各個功能模塊的出入口增加數(shù)據(jù)一致性檢驗?zāi)K,如圖2所示。例如,存儲系統(tǒng)按照IO請求路徑的順序,包括以下功能模塊:前端接口模塊(Front End, FC/iSCSI/FCoE, FE)、邏輯虛擬卷模塊(Logic volume, LV)> Cache 緩存模塊(Cache)、Raid 模塊(RAID)、后端磁盤接 口模塊(Back End, SATA/SAS 磁盤接 口,BE)等。優(yōu)選的,所述功能模塊還包括執(zhí)行某些功能的模塊,例如,CPU、內(nèi)存、存儲器等。優(yōu)選的,所述存儲系統(tǒng)還設(shè)置報警模塊,用于在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,向上級或者管理員進(jìn)行報警;優(yōu)選的,所述存儲系統(tǒng)還設(shè)置校驗?zāi)K,用于發(fā)送讀寫數(shù)據(jù)包,進(jìn)行數(shù)據(jù)校驗;優(yōu)選的,所述存儲系統(tǒng)還設(shè)置定位模塊,用于在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,向上級或者管理員顯示出現(xiàn)異常的功能模塊的信息,優(yōu)選的,所述信息包括位置信息和時間信息。
[0049]進(jìn)一步地,本發(fā)明的實施例還包括,上述各實施例的各技術(shù)特征,相互組合形成的存儲系統(tǒng)的數(shù)據(jù)一致性校驗方法,以及所述存儲系統(tǒng),該存儲系統(tǒng)的數(shù)據(jù)一致性校驗方法以及所述存儲系統(tǒng)在存儲系統(tǒng)發(fā)生數(shù)據(jù)一致性異常時,對異常的發(fā)生和異常數(shù)據(jù)進(jìn)行記錄,進(jìn)而根據(jù)記錄的結(jié)果快速定位發(fā)生異常的模塊,將定位該類問題的時間大大降低,提高整個存儲系統(tǒng)的開發(fā)效率和穩(wěn)定性;同時也能用來驗證存儲系統(tǒng)的數(shù)據(jù)一致性。
[0050]綜上所述,該存儲系統(tǒng)的數(shù)據(jù)一致性校驗方法是一種在存儲系統(tǒng)發(fā)生數(shù)據(jù)一致性異常時,對異常的發(fā)生和異常數(shù)據(jù)進(jìn)行記錄的處理方法,解決的是如何根據(jù)記錄的結(jié)果快速定位發(fā)生異常的模塊的技術(shù)問題,該方法通過執(zhí)行計算機(jī)程序?qū)崿F(xiàn)對計算機(jī)系統(tǒng)內(nèi)部運行性能的改進(jìn),反映的在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,根據(jù)所述關(guān)鍵信息記錄對應(yīng)的功能模塊與數(shù)據(jù)內(nèi)容,利用的是遵循自然規(guī)律的技術(shù)手段,獲得了定位該類存儲異常問題的時間大大降低,提高整個存儲系統(tǒng)的開發(fā)效率和穩(wěn)定性的技術(shù)效果。因此,本發(fā)明專利申請存儲系統(tǒng)的數(shù)據(jù)一致性校驗方法是一種通過執(zhí)行計算機(jī)程序?qū)崿F(xiàn)計算機(jī)系統(tǒng)內(nèi)部性能改進(jìn)的解決方案,屬于專利法第二條第二款規(guī)定的技術(shù)方案,屬于專利保護(hù)的客體。
[0051]需要說明的是,上述各技術(shù)特征繼續(xù)相互組合,形成未在上面列舉的各種實施例,均視為本發(fā)明說明書記載的范圍;并且,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種存儲系統(tǒng)的數(shù)據(jù)一致性校驗方法,其特征在于,包括以下步驟: SI,在執(zhí)行讀寫操作時,判斷系統(tǒng)是否首次執(zhí)行讀寫操作,是則記錄協(xié)議化數(shù)據(jù)的關(guān)鍵信息; S2,在讀寫操作通過各個功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口時,監(jiān)控所述關(guān)鍵信息; S3,在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,根據(jù)所述關(guān)鍵信息記錄對應(yīng)的功能模塊與數(shù)據(jù)內(nèi)容。
2.根據(jù)權(quán)利要求1所述方法,其特征在于,步驟SI之前還執(zhí)行以下步驟SO:預(yù)設(shè)置所述協(xié)議化數(shù)據(jù)的數(shù)據(jù)塊結(jié)構(gòu)。
3.根據(jù)權(quán)利要求2所述方法,其特征在于,所述數(shù)據(jù)塊結(jié)構(gòu)包括虛擬邏輯地址數(shù)據(jù)頭、數(shù)據(jù)內(nèi)容、版本號與校驗碼的數(shù)據(jù)塊。
4.根據(jù)權(quán)利要求3所述方法,其特征在于,步驟SI具體包括以下步驟:系統(tǒng)在獲得讀寫操作的數(shù)據(jù)包時,判斷其中是否第一次監(jiān)控到數(shù)據(jù)塊,是則記錄所述數(shù)據(jù)塊的版本號,否則執(zhí)行步驟S2。
5.根據(jù)權(quán)利要求4所述方法,其特征在于,步驟S3包括以下步驟: S31,判斷數(shù)據(jù)是否有效,是則執(zhí)行步驟S32,否則記錄并報錯; S32,判斷數(shù)據(jù)塊的版本號是否相同,是則執(zhí)行步驟S33,否則記錄并報錯; S33,判斷是否打開數(shù)據(jù)內(nèi)容檢測,是則執(zhí)行步驟S34,否則進(jìn)入其他正常IO流程; S34,檢測數(shù)據(jù)內(nèi)容并判斷是否有效,是則進(jìn)入其他正常IO流程,否則記錄并報錯。
6.根據(jù)權(quán)利要求5所述方法,其特征在于,步驟S31中,所述判斷數(shù)據(jù)是否有效,是校驗所述數(shù)據(jù)塊中的數(shù)據(jù)的有效性,其根據(jù)所述數(shù)據(jù)塊中的虛擬邏輯地址數(shù)據(jù)頭、數(shù)據(jù)內(nèi)容、版本號與校驗碼進(jìn)行校驗。
7.根據(jù)權(quán)利要求6所述方法,其特征在于,根據(jù)磁盤扇區(qū)設(shè)置所述數(shù)據(jù)塊的大小。
8.根據(jù)權(quán)利要求1至7任一所述方法,其特征在于,步驟S3之后,還執(zhí)行步驟S4:根據(jù)記錄的結(jié)果快速定位發(fā)生異常的所述功能模塊。
9.根據(jù)權(quán)利要求8所述方法,其特征在于,步驟S4之后,還執(zhí)行步驟S5:設(shè)置所述功能模塊為異常模塊并處理。
10.一種存儲系統(tǒng),其包括若干功能模塊,其特征在于,還包括存儲模塊、監(jiān)控模塊,以及在每一所述功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口分別設(shè)置一數(shù)據(jù)一致性檢驗?zāi)K; 所述存儲模塊用于在所述存儲在執(zhí)行讀寫操作時,判斷系統(tǒng)是否首次執(zhí)行讀寫操作,是則記錄協(xié)議化數(shù)據(jù)的關(guān)鍵信息; 所述監(jiān)控模塊用于在讀寫操作通過各個功能模塊的數(shù)據(jù)輸入口、數(shù)據(jù)輸出口時,監(jiān)控所述關(guān)鍵信息; 所述數(shù)據(jù)一致性檢驗?zāi)K用于檢驗讀寫操作的數(shù)據(jù)一致性,在讀寫操作發(fā)生數(shù)據(jù)一致性問題時,根據(jù)所述關(guān)鍵信息記錄對應(yīng)的功能模塊與數(shù)據(jù)內(nèi)容到所述存儲模塊。
【文檔編號】G06F11/08GK103645963SQ201310733581
【公開日】2014年3月19日 申請日期:2013年12月26日 優(yōu)先權(quán)日:2013年12月26日
【發(fā)明者】李二郎 申請人:深圳市迪菲特科技股份有限公司