新四季網

一種數據存儲方法及裝置與流程

2023-10-08 18:22:39 1


本發明涉及數據處理領域,特別涉及一種數據存儲方法及裝置。



背景技術:

對於基於塊存儲的存儲系統,存儲設備中的元數據的重要性是不言而喻的。目前,在存儲系統中,為了提高數據存儲效率,常將真實數據和真實數據的元數據存儲在同一存儲設備上,例如:在存儲一數據時,首先計算該數據在該存儲設備上的存儲位置,確定該數據的存儲位置,並將該數據存儲至該存儲位置。這樣可以高效的存儲數據。

但是,上述存儲設備在計算一數據的存儲位置偏時,很可能出現偏差,例如:通過計算確定的一數據在上述存儲設備上的存儲位置正好在存儲了元數據的存儲位置,該數據將覆蓋該存儲位置上已存儲的元數據,進而對元數據進行誤操作,上述存儲設備在讀取元數據時必然出現問題,甚至導致存儲系統崩潰。

現有技術中,缺少對元數據的保護,在存儲數據時該數據很可能覆蓋了已存儲的元數據,導致存儲設備不能正確讀取元數據,甚至導致存儲系統崩潰,降低了存儲系統的可靠性。



技術實現要素:

本發明實施例的目的在於提供一種數據存儲方法及裝置,以提高存儲系統的可靠性。

為達到上述目的,本發明實施例公開了一種數據存儲方法,應用於存儲設備,所述存儲設備包括:元數據存儲區域,所述方法包括步驟:

接收數據存儲請求,其中,所述數據存儲請求中包含待存儲數據;

確定所述待存儲數據的目標存儲位置,並判斷所述目標存儲位置是否在所述元數據存儲區域內;

若在所述元數據存儲區域內,則判斷所述待存儲數據是否為元數據;

若為是,則在滿足預設存儲條件的情況下將所述待存儲數據存儲至所述目標存儲位置;

若為否,則拒絕將所述待存儲數據存儲至所述目標存儲位置。

在本發明的一種具體實現方式中,所述數據存儲請求中還包含:設備接口標識;

所述判斷所述待存儲數據是否為元數據,包括:

判斷所述設備接口標識是否對應預設的設備接口,其中,所述預設的設備接口用於傳遞元數據;

若為是,則判定所述待存儲數據為所述元數據。

在本發明的一種具體實現方式中,所述在滿足預設存儲條件的情況下將所述待存儲數據存儲至所述目標存儲位置,包括:

判斷所述元數據存儲區域中已存儲的所有元數據是否完整;

若為是,則將所述待存儲數據存儲至所述目標存儲位置。

在本發明的一種具體實現方式中,所述判斷所述元數據存儲區域中已存儲的所有元數據是否完整,包括:

根據預設的校驗算法,獲得所述元數據存儲區域中已存儲的所有元數據的第一校驗值;

判斷所述第一校驗值是否與第一預設的校驗值一致;

若為是,則判定所述元數據存儲區域中已存儲的所有元數據完整;

在所述將所述待存儲數據存儲至所述目標存儲位置之後,還包括:

根據所述預設的校驗算法,獲得所述元數據存儲區域中已存儲的所有元數據的第二校驗值;

根據所述第二校驗值,更新所述第一預設的校驗值。

在本發明的一種具體實現方式中,所述元數據存儲區域包括:主元數據存儲區域和備元數據存儲區域,其中,所述備元數據存儲區域為所述主元數據存儲區域的數據備份區域,所述目標存儲位置在所述主元數據存儲區域內;

所述判斷所述元數據存儲區域中已存儲的所有元數據是否完整,包括:

根據預設的校驗算法,獲得所述主元數據存儲區域中已存儲的所有元數據的第三校驗值,並判斷所述第三校驗值是否與第二預設的校驗值一致;

若所述第三校驗值與所述第二預設的校驗值不一致,則根據所述預設的校驗算法,獲得所述備元數據存儲區域中已存儲的元數據的第四校驗值,並判斷所述第四校驗值是否與所述第二預設的校驗值一致;

若為是,則判定所述元數據存儲區域中已存儲的所有元數據完整;

在所述將所述待存儲數據存儲至所述目標存儲位置之後,還包括:

根據所述預設的校驗算法,獲得所述主元數據存儲區域中已存儲的所有元數據的第五校驗值;

根據所述第五校驗值,更新所述第二預設的校驗值。

在本發明的一種具體實現方式中,在判定所述第四校驗值與所述第二預設的校驗值一致之後,還包括:

根據所述備元數據存儲區域中已存儲的所有元數據,更新所述主元數據存儲區域中已存儲的元數據。

在本發明的一種具體實現方式中,所述方法還包括:

在所述第四校驗值與所述第二預設的校驗值不一致的情況下,初始化所述主元數據存儲區域內的元數據和所述備元數據存儲區域內的元數據,並判定所述元數據存儲區域中已存儲的所有元數據完整。

為達到上述目的,本發明實施例還公開了一種數據存儲裝置,應用於存儲設備,所述存儲設備包括:元數據存儲區域,所述裝置包括:請求接收模塊、存儲位置判斷模塊、數據判斷模塊、數據存儲模塊和數據存儲拒絕模塊;

其中,所述請求接收模塊,用於接收數據存儲請求,其中,所述數據存儲請求中包含待存儲數據;

所述存儲位置判斷模塊,用於確定所述待存儲數據的目標存儲位置,並判斷所述目標存儲位置是否在所述元數據存儲區域內,若在所述元數據存儲區域內,則觸發所述數據判斷模塊;

所述數據判斷模塊,用於判斷所述待存儲數據是否為元數據,若為是,則觸發所述數據存儲模塊,若為否,則觸發所述數據存儲拒絕模塊;

所述數據存儲模塊,用於在滿足預設存儲條件的情況下將所述待存儲數據存儲至所述目標存儲位置;

所述數據存儲拒絕模塊,用於拒絕將所述待存儲數據存儲至所述目標存儲位置。

在本發明的一種具體實現方式中,所述數據存儲請求中還包含:設備接口標識;

所述數據判斷模塊,包括:設備接口判斷子模塊和數據判定子模塊;

其中,所述設備接口判斷子模塊,用於判斷所述設備接口標識是否對應預設的設備接口,若為是,則觸發所述數據判定子模塊,其中,所述預設的設備接口用於傳遞元數據;

所述數據判定子模塊,用於判定所述待存儲數據為所述元數據。

在本發明的一種具體實現方式中,所述數據存儲模塊,包括:完整數據判斷子模塊和數據存儲子模塊;

其中,所述完整數據判斷子模塊,用於判斷所述元數據存儲區域中已存儲的所有元數據是否完整,若為是,則觸發所述數據存儲子模塊;

所述數據存儲子模塊,用於將所述待存儲數據存儲至所述目標存儲位置。

在本發明的一種具體實現方式中,所述完整數據判斷子模塊,包括:校驗值獲得單元、第一校驗值判斷單元和第一完整數據判定單元;

其中,所述校驗值獲得單元,用於根據預設的校驗算法,獲得所述元數據存儲區域中已存儲的所有元數據的第一校驗值;

所述第一校驗值判斷單元,用於判斷所述第一校驗值是否與第一預設的校驗值一致,若為是,則觸發所述完整數據判定單元;

所述完整數據判定單元,用於判定所述元數據存儲區域中已存儲的所有元數據完整;

所述裝置還包括:第一校驗值獲得模塊和第一校驗值更新模塊;

其中,所述第一校驗值獲得模塊,用於根據所述預設的校驗算法,獲得所述元數據存儲區域中已存儲的所有元數據的第二校驗值;

所述第一校驗值更新模塊,用於根據所述第二校驗值,更新所述第一預設的校驗值。

在本發明的一種具體實現方式中,所述元數據存儲區域包括:主元數據存儲區域和備元數據存儲區域,其中,所述備元數據存儲區域為所述主元數據存儲區域的數據備份區域,所述目標存儲位置在所述主元數據存儲區域內;

所述完整數據判斷子模塊,包括:第二校驗值判斷單元、第三校驗值判斷單元和第二完整數據判定單元;

其中,所述第二校驗值判斷單元,用於根據預設的校驗算法,獲得所述主元數據存儲區域中已存儲的所有元數據的第三校驗值,並判斷所述第三校驗值是否與第二預設的校驗值一致,若所述第三校驗值與所述第二預設的校驗值不一致,則觸發所述第三校驗值判斷單元;

所述第三校驗值判斷單元,用於根據所述預設的校驗算法,獲得所述備元數據存儲區域中已存儲的元數據的第四校驗值,並判斷所述第四校驗值是否與所述第二預設的校驗值一致,若為是,則觸發所述第二完整數據判定單元;

所述第二完整數據判定單元,用於判定所述元數據存儲區域中已存儲的所有元數據完整;

所述裝置還包括:第二校驗值獲得模塊和第二校驗值更新模塊;

其中,所述第二校驗值獲得模塊,用於根據所述預設的校驗算法,獲得所述主元數據存儲區域中已存儲的所有元數據的第五校驗值;

所述第二校驗值更新模塊,用於根據所述第五校驗值,更新所述第二預設的校驗值。

在本發明的一種具體實現方式中,所述裝置還包括:元數據更新模塊,

用於根據所述備元數據存儲區域中已存儲的所有元數據,更新所述主元數據存儲區域中已存儲的元數據。

在本發明的一種具體實現方式中,所述裝置還包括:元數據初始化模塊,

用於在所述第四校驗值與所述第二預設的校驗值不一致的情況下,初始化所述主元數據存儲區域內的元數據和所述備元數據存儲區域內的元數據,並判定所述元數據存儲區域中已存儲的所有元數據完整。

由上可見,本發明實施例中,存儲設備接收到數據存儲請求後,確定出待存儲數據的目標存儲位置,並判斷該目標存儲位置是否在元數據存儲區域內,若在元數據存儲區域內,則判斷該待存儲數據是否為元數據,若為是,在滿足預設存儲條件的情況下將該待存儲數據存儲至所述目標存儲位置,若為否,則拒絕存儲該待存儲數據,這樣避免了真實數據覆蓋元數據的問題,保證了存儲設備能夠正確讀取元數據,提高了存儲系統的可靠性。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1本發明實施例提供的一種數據存儲方法的流程示意圖;

圖2本發明實施例提供的另一種數據存儲方法的流程示意圖;

圖3本發明實施例提供的另一種數據存儲方法的流程示意圖;

圖4本發明實施例提供的另一種數據存儲方法的流程示意圖;

圖5本發明實施例提供的一種數據存儲裝置的結構示意圖;

圖6本發明實施例提供的另一種數據存儲裝置的結構示意圖;

圖7本發明實施例提供的另一種數據存儲裝置的結構示意圖;

圖8本發明實施例提供的另一種數據存儲裝置的結構示意圖。

具體實施方式

下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是 全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。

本發明實施例公開了一種數據存儲方法及裝置,應用於存儲設備,存儲設備包括:元數據存儲區域,該方法包括:接收數據存儲請求,確定該數據存儲請求中包含的待存儲數據的目標存儲位置,並判斷目標存儲位置是否在元數據存儲區域內,若在元數據存儲區域內,則判斷待存儲數據是否為元數據,若為是,則在滿足預設存儲條件的情況下將待存儲數據存儲至目標存儲位置,若為否,則拒絕待存儲數據存儲至目標存儲位置。

下面通過具體實施例,對本發明進行詳細說明。

參考圖1,圖1本發明實施例提供的一種數據存儲方法的流程示意圖,應用於存儲設備,該存儲設備可以包括:元數據存儲區域,該方法可以包括如下步驟:

s101:接收數據存儲請求;

其中,上述數據存儲請求中包含待存儲數據。這裡,待存儲數據可以為真實數據,也可以為真實數據的元數據。

實際應用中,數據存儲請求可以為存儲設備中的虛擬文件系統接收的用戶發送的數據存儲請求,其中,虛擬文件系統為基於雲存儲的文件系統,其作為雲存儲系統的底層存儲基礎,可以為上層應用提供存儲服務。

真實數據的元數據可以為:真實數據的存儲位置、真實數據的數據大小……等信息,本申請並不對此進行限定。

s102:確定所述待存儲數據的目標存儲位置,並判斷所述目標存儲位置是否在所述元數據存儲區域內,若在所述元數據存儲區域內,則執行步驟s103;

當然,在本發明其他實施例中,如果目標存儲位置不在所述元數據存儲區域內,則可以將待存儲數據直接存儲至目標存儲位置。

在本發明的一種具體實現方式中,上述存儲設備可以包括:元數據存儲區域和真實數據存儲區域,其中,元數據存儲區域,用於存儲元數據,真實數據存儲區域,用於存儲真實數據。

對於基於塊存儲的存儲系統,存儲設備中的元數據的重要性是不言而喻的,因為,存儲系統中可能包括多個存儲設備,且每個存儲設備中存儲有大量的真實數據,存儲系統可以根據元數據可以快速地獲得真實數據,而不必去每個存儲設備中所有真實數據來獲得獲得真實數據。因此,這種情況下,在存儲設備接收到數據存儲請求後,需要確定待存儲數據的目標存儲位置是否在元數據存儲區域。這裡,對於如何確定待存儲數據的目標存儲位置數據現有技術,此處不再贅述。

s103:判斷所述待存儲數據是否為元數據,若為是,則執行步驟s104,若為否,則執行步驟s105;

s104:在滿足預設存儲條件的情況下將所述待存儲數據存儲至所述目標存儲位置;

s105:拒絕將所述待存儲數據存儲至所述目標存儲位置。

具體地,在確定待存儲數據的目標存儲位置在元數據存儲區域內情況下,為了確保元數據存儲區域內的元數據正確,需要確定該待存儲數據是否為元數據,若是元數據,則滿足預設存儲條件的情況下將待存儲數據存儲至確定的該待存儲數據的目標存儲位置,即將該待存儲數據存儲至元數據存儲區域內,若不是元數據,則拒絕待存儲數據存儲至確定的該待存儲數據的目標存儲位置,即不允許該待存儲數據存儲至元數據存儲區域內。

在本發明的一種具體實現方式中,上述數據存儲請求中還可以包含:設備接口標識;

這種情況下,上述判斷所述待存儲數據是否為元數據,可以包括:

判斷設備接口標識是否對應預設的設備接口,其中,預設的設備接口用於傳遞元數據;

若為是,則判定待存儲數據為元數據;

若為否,則判定待存儲數據不是元數據。

實際應用中,在存儲設備中可以預設一個設備接口,如:設備驅動接口,該預設的設備接口負責傳遞元數據及元數據的相關信息,而拒絕傳遞真實數據及真實數據的相關信息,這裡元數據的相關信息包括:元數據的數據量大小、 元數據的目標存儲位置等,真實數據的相關信息包括:真實數據的數據量大小、真實數據的目標存儲位置等。這樣在判斷待存儲數據是否為元數據時,只需要判斷數據存儲請求中包含的設備接口標識對應的設備接口是否為用於傳遞元數據的預設的設備接口即可,方便、快捷地判斷出了待存儲數據是否為元數據,有效地避免了真實數據存儲至元數據存儲區域中。

應用圖1所示實施例,存儲設備接收到數據存儲請求後,確定出待存儲數據的目標存儲位置,並判斷該目標存儲位置是否在元數據存儲區域內,若在元數據存儲區域內,則判斷該待存儲數據是否為元數據,若為是,在滿足預設存儲條件的情況下將該待存儲數據存儲至所述目標存儲位置,若為否,則拒絕存儲該待存儲數據,這樣避免了真實數據覆蓋元數據的問題,保證了存儲設備能夠正確讀取元數據,提高了存儲系統的可靠性。

參考圖2,圖2本發明實施例提供的另一種數據存儲方法的流程示意圖,應用於存儲設備,該存儲設備可以包括:元數據存儲區域,該方法中,步驟s104可以包括:

s1041:判斷所述元數據存儲區域中已存儲的所有元數據是否完整,若為是,則執行步驟s1042;

s1042:將所述待存儲數據存儲至所述目標存儲位置。

實際應用中,很可能因為用戶的誤操作等原因,導致元數據存儲區域內的元數據的信息缺失或信息錯誤,此時,若不對該不完整的元數據進行處理,還是將接收到的元數據存儲至元數據存儲區域中,那麼當存儲設備讀取到該不完整的元數據時,很可能導致存儲系統崩潰。因此,在將元數據存儲至元數據存儲區域的目標存儲位置之前,判斷元數據存儲區域中已存儲的所有元數據是否完整,以儘快發現並處理元數據存儲區域中的元數據不完整的問題,避免存儲系統崩潰的問題出現。

應用圖2所示實施例,判斷元數據存儲區域中已存儲的所有元數據是否完整,在元數據存儲區域中已存儲的所有元數據完整的情況下,才將待存儲數據存儲至目標存儲位置。這樣,保證了元數據存儲區域中的元數據的正確、完整,避免了因元數據存儲區域中的元數據不完整而導致存儲系統崩潰的問題。

參考圖3,圖3本發明實施例提供的另一種數據存儲方法的流程示意圖,應 用於存儲設備,該存儲設備可以包括:元數據存儲區域,該方法中,步驟s1041可以包括:

s1041a:根據預設的校驗算法,獲得所述元數據存儲區域中已存儲的所有元數據的第一校驗值;

其中,預設的校驗算法可以為crc校驗算法,還可以為其他校驗算法,本發明對此不進行限定。

s1041b:判斷所述第一校驗值是否與第一預設的校驗值一致,若為是,則執行步驟s1041c;

其中,第一預設的校驗值可以為上述存儲設備在上一次元數據存儲區域中存儲待存儲數據後獲得的,這樣更為智能化;也可以為用戶根據元數據存儲區域中已存儲的元數據給定的,這樣更為人性化。

s1041c:判定所述元數據存儲區域中已存儲的所有元數據完整。

假設,第一預設的校驗值為145,若根據預設的校驗算法,獲得第一的校驗值為145,145=145,則可以判定元數據存儲區域中已存儲的所有元數據完整,此時,可以將待存儲數據存儲至元數據存儲區域中的目標存儲位置。

一種具體實現方式中,若第一校驗值與第一預設的校驗值不一致,則可以初始化元數據存儲區域中的元數據,再將待存儲數據存儲至元數據存儲區域中的目標存儲位置。假設,第一預設的校驗值為145,若根據預設的校驗算法,獲得第一的校驗值為120,145≠120,則可以判定元數據存儲區域中已存儲的所有元數據不完整,此時,可以將元數據存儲區域中的元數據全部初始化後。這樣若元數據存儲區域中的元數據存儲錯誤的部分,可以得到及時的處理,提高了存儲系統的可靠性。

另外,上述數據存儲方法中,在將待存儲數據存儲至目標存儲位置之後,還可以包括:

s106:根據所述預設的校驗算法,獲得所述元數據存儲區域中已存儲的所有元數據的第二校驗值;

s107:根據所述第二校驗值,更新所述第一預設的校驗值。

實際應用中,待存儲數據存儲至元數據存儲區域中後,元數據存儲區域中的元數據發生了變化,為了確保校驗正確,第一預設的校驗值需要更新。假設,存儲待存儲數據前第一預設的校驗值為145,判斷得到第一校驗值與第一預設的校驗值一致,則將待存儲數據存儲至元數據存儲區域中,此時再獲得第二校驗值為150,則將第一預設的校驗值更新為150。

需要說明的是,當元數據存儲區域中未存儲數據時,可以直接將待存儲數據存儲至元數據存儲區域中的目標存儲位置,存儲後獲得第二校驗值,並將該第二校驗值作為第一預設的校驗值,當再有待存儲數據需要存儲至元數據存儲區域中時,根據上述步驟進行校驗。

應用圖3所示實施例,根據預設的校驗算法,獲得元數據存儲區域中已存儲的所有元數據的第一校驗值,判斷該第一校驗值是否與第一預設的校驗值一致,若一致,則可以將待存儲數據存儲至元數據存儲區域中的目標存儲位置,並在存儲待存儲數據後,獲得元數據存儲區域中已存儲的所有元數據的第二校驗值,根據該第二校驗值,更新第一預設的校驗值。這樣能夠及時發現元數據存儲區域中的元數據存儲是否錯誤的部分,提高了存儲系統的可靠性。

參考圖4,圖4本發明實施例提供的另一種數據存儲方法的流程示意圖,應用於存儲設備,該存儲設備可以包括:元數據存儲區域,該方法中,元數據存儲區域可以包括:主元數據存儲區域和備元數據存儲區域,其中,備元數據存儲區域為主元數據存儲區域的數據備份區域,目標存儲位置在主元數據存儲區域內。

這種情況下,步驟s1041可以包括:

s1041d:根據預設的校驗算法,獲得所述主元數據存儲區域中已存儲的所有元數據的第三校驗值,並判斷所述第三校驗值是否與第二預設的校驗值一致,若所述第三校驗值與所述第二預設的校驗值不一致,則執行步驟s1041e;

其中,預設的校驗算法可以為crc校驗算法,還可以為其他校驗算法,本發明對此不進行限定。另外,第二預設的校驗值可以為上述存儲設備在上一次主元數據存儲區域中存儲待存儲數據後,根據主元數據存儲區域中已存儲的所有元數據獲得的;也可以上述存儲設備在上一次主元數據存儲區域中存儲待存儲數據後,並將該待存儲數據備份到備元數據存儲區域後,根據備元數據存儲 區域中已存儲的所有元數據獲得的;還可以為用戶根據主元數據存儲區域中已存儲的所有元數據給定的。

一種具體實現方式中,若第三校驗值與第二預設的校驗值一致,可以將待存儲數據存儲至主元數據存儲區域中的目標存儲位置,存儲在主元數據存儲區域中後,還可以將該待存儲數據從主元數據存儲區域中備份到備元數據存儲區域中。

當然,若第三校驗值與第二預設的校驗值一致,還可以在將待存儲數據存儲至主元數據存儲區域中的目標存儲位置的同時,將該待存儲數據直接存儲至備元數據存儲區域中。

s1041e:根據所述預設的校驗算法,獲得所述備元數據存儲區域中已存儲的元數據的第四校驗值,並判斷所述第四校驗值是否與所述第二預設的校驗值一致,若為是,則執行步驟s1041f;

s1041f:判定所述元數據存儲區域中已存儲的所有元數據完整。

在本發明的一種具體實現方式中,上述判定元數據存儲區域中已存儲的所有元數據完整之前,還可以包括:

根據備元數據存儲區域中已存儲的所有元數據,更新主元數據存儲區域中已存儲的元數據。

具體地,根據備元數據存儲區域中已存儲的所有元數據,更新主元數據存儲區域中已存儲的元數據,可以為:獲得主元數據存儲區域中出現錯誤的元數據,及備元數據存儲區域中對應該出現錯誤的元數據的正確的元數據,由該正確的元數據更新出現錯誤的元數據,這樣能夠快速地更新主元數據存儲區域中已存儲的元數據。

具體地,根據備元數據存儲區域中已存儲的所有元數據,更新主元數據存儲區域中已存儲的元數據,還可以為:由備元數據存儲區域中已存儲的所有元數據更新主元數據存儲區域中已存儲的所有元數據,這樣能夠準確地更新主元數據存儲區域中已存儲的元數據。

實際應用中,備元數據存儲區域為主元數據存儲區域的數據備份區域,在正常的情況下,主元數據存儲區域中的元數據和備元數據存儲區域中的元數據 相同。當主元數據存儲區域內的元數據不完整、出現差錯時,若備元數據存儲區域內的元數據完整,則可以根據備元數據存儲區域中已存儲的所有元數據,更新主元數據存儲區域中已存儲的所有元數據完整,從而保證了元數據存儲區域的元數據的正確完整,降低了操作元數據的出錯率。

一種具體實現方式中,上述數據存儲方法還可以包括:

在第四校驗值與第二預設的校驗值不一致的情況下,初始化主元數據存儲區域內的元數據和備元數據存儲區域內的元數據,並判定元數據存儲區域中已存儲的所有元數據完整。

具體地,在第四校驗值與第二預設的校驗值不一致的情況下,表明主元數據存儲區域內的元數據和備元數據存儲區域內的元數據都不完整,主元數據存儲區域內的出現錯誤的元數據並不能由備元數據存儲區域內的元數據恢復,因此,需要初始化主元數據存儲區域內的元數據和備元數據存儲區域內的元數據,以保證後續存儲的元數據正確,避免了存儲系統崩潰。

另外,上述數據存儲方法中,在將待存儲數據存儲至目標存儲位置之後,還可以包括:

s108:根據所述預設的校驗算法,獲得所述主元數據存儲區域中已存儲的所有元數據的第五校驗值;

s109:根據所述第五校驗值,更新所述第二預設的校驗值。

實際應用中,待存儲數據存儲至主元數據存儲區域中後,主元數據存儲區域中的元數據發生了變化,為了確保校驗正確,第二預設的校驗值需要更新。假設,存儲待存儲數據前第二預設的校驗值為145,在判定元數據存儲區域中已存儲的所有元數據完整後,將待存儲數據存儲至主元數據存儲區域中,此時再獲得第五校驗值為150,則將第二預設的校驗值更新為150。

當然,第二預設的校驗值也可以根據備元數據存儲區域中已存儲的所有元數據進行更新。具體地,在在判定元數據存儲區域中已存儲的所有元數據完整後,將待存儲數據存儲至主元數據存儲區域中,在將該待存儲數據存備份至備在判定元數據存儲區域中已存儲的所有元數據完整後,將待存儲數據存儲至主元數據存儲區域中,此時,可以根據預設的校驗算法,獲得備元數據存儲區域 中已存儲的所有元數據的第六校驗值,根據該第六校驗值,更新第二預設的校驗值。

需要說明的是,當主元數據存儲區域中未存儲數據時,可以直接將待存儲數據存儲至主元數據存儲區域中的目標存儲位置,存儲後獲得第五校驗值,並將該第五校驗值作為第二預設的校驗值,當再有待存儲數據需要存儲至主元數據存儲區域中時,根據上述步驟進行校驗。

應用圖4所示實施例,在校驗主元數據存儲區域中已存儲的元數據失敗後,再校驗備主元數據存儲區域中已存儲的元數據,若成功,則可以判定元數據存儲區域中已存儲的所有元數據完整,由於備元數據存儲區域為主元數據存儲區域的數據備份區域,因此可以根據該備元數據存儲區域中的元數據恢復主元數據存儲區域的元數據,降低操作元數據的出錯率,提高了存儲系統的可靠性。

參考圖5,圖5本發明實施例提供的一種數據存儲裝置的結構示意圖,應用於存儲設備,上述存儲設備可以包括:元數據存儲區域,該裝置可以包括:請求接收模塊501、存儲位置判斷模塊502、數據判斷模塊503、數據存儲模塊504和數據存儲拒絕模塊505;

其中,請求接收模塊501,用於接收數據存儲請求,其中,數據存儲請求中包含待存儲數據;

存儲位置判斷模塊502,用於確定待存儲數據的目標存儲位置,並判斷目標存儲位置是否在元數據存儲區域內,若在元數據存儲區域內,則觸發數據判斷模塊;

數據判斷模塊503,用於判斷待存儲數據是否為元數據,若為是,則觸發數據存儲模塊504,若為否,則觸發數據存儲拒絕模塊505;

數據存儲模塊504,用於在滿足預設存儲條件的情況下將待存儲數據存儲至目標存儲位置;

數據存儲拒絕模塊505,用於拒絕將待存儲數據存儲至目標存儲位置。

一種具體實現方式中,數據存儲請求中還可以包含:設備接口標識;

數據判斷模塊503,可以包括:設備接口判斷子模塊和數據判定子模塊(圖5中未示出);

其中,設備接口判斷子模塊,用於判斷設備接口標識是否對應預設的設備接口,若為是,則觸發數據判定子模塊,其中,預設的設備接口用於傳遞元數據;

數據判定子模塊,用於判定待存儲數據為元數據。

應用圖5所示實施例,存儲設備接收到數據存儲請求後,確定出待存儲數據的目標存儲位置,並判斷該目標存儲位置是否在元數據存儲區域內,若在元數據存儲區域內,則判斷該待存儲數據是否為元數據,若為是,在滿足預設存儲條件的情況下將該待存儲數據存儲至所述目標存儲位置,若為否,則拒絕存儲該待存儲數據,這樣避免了真實數據覆蓋元數據的問題,保證了存儲設備能夠正確讀取元數據,提高了存儲系統的可靠性。

參考圖6,圖6本發明實施例提供的另一種數據存儲裝置的結構示意圖,應用於存儲設備,上述存儲設備可以包括:元數據存儲區域,該裝置中,數據存儲模塊504,可以包括:完整數據判斷子模塊5041和數據存儲子模塊5042;

其中,完整數據判斷子模塊5041,用於判斷元數據存儲區域中已存儲的所有元數據是否完整,若為是,則觸發數據存儲子模塊5042;

數據存儲子模塊5042,用於將待存儲數據存儲至目標存儲位置。

應用圖6所示實施例,判斷元數據存儲區域中已存儲的所有元數據是否完整,在元數據存儲區域中已存儲的所有元數據完整的情況下,才將待存儲數據存儲至目標存儲位置。這樣,保證了元數據存儲區域中的元數據的正確、完整,避免了因元數據存儲區域中的元數據不完整而導致存儲系統崩潰的問題。

參考圖7,圖7本發明實施例提供的另一種數據存儲裝置的結構示意圖,應用於存儲設備,上述存儲設備可以包括:元數據存儲區域,該裝置中,完整數據判斷子模塊5041,可以包括:校驗值獲得單元5041a、第一校驗值判斷單元5041b和第一完整數據判定單元5041c;

其中,校驗值獲得單元5041a,用於根據預設的校驗算法,獲得元數據存儲區域中已存儲的所有元數據的第一校驗值;

第一校驗值判斷單元5041b,用於判斷第一校驗值是否與第一預設的校驗值一致,若為是,則觸發完整數據判定單元5041c;

完整數據判定單元5041c,用於判定元數據存儲區域中已存儲的所有元數據完整;

此時,上述數據存儲裝置還可以包括:第一校驗值獲得模塊506和第一校驗值更新模塊507;

其中,第一校驗值獲得模塊506,用於根據預設的校驗算法,獲得元數據存儲區域中已存儲的所有元數據的第二校驗值;

第一校驗值更新模塊507,用於根據第二校驗值,更新第一預設的校驗值。

應用圖7所示實施例,根據預設的校驗算法,獲得元數據存儲區域中已存儲的所有元數據的第一校驗值,判斷該第一校驗值是否與第一預設的校驗值一致,若一致,則可以將待存儲數據存儲至元數據存儲區域中的目標存儲位置,並在存儲待存儲數據後,獲得元數據存儲區域中已存儲的所有元數據的第二校驗值,根據該第二校驗值,更新第一預設的校驗值。這樣能夠及時發現元數據存儲區域中的元數據存儲是否錯誤的部分,提高了存儲系統的可靠性。

參考圖8,圖8本發明實施例提供的另一種數據存儲裝置的結構示意圖,應用於存儲設備,上述存儲設備可以包括:元數據存儲區域,該裝置中,元數據存儲區域可以包括:主元數據存儲區域和備元數據存儲區域,其中,備元數據存儲區域為主元數據存儲區域的數據備份區域,目標存儲位置在主元數據存儲區域內;

完整數據判斷子模塊5041,包括:第二校驗值判斷單元5041d、第三校驗值判斷單元5041e和第二完整數據判定單元5041f;

其中,第二校驗值判斷單元5041d,用於根據預設的校驗算法,獲得主元數據存儲區域中已存儲的所有元數據的第三校驗值,並判斷第三校驗值是否與第二預設的校驗值一致,若第三校驗值與第二預設的校驗值不一致,則觸發第三校驗值判斷單元5041e;

第三校驗值判斷單元5041e,用於根據預設的校驗算法,獲得備元數據存儲區域中已存儲的元數據的第四校驗值,並判斷第四校驗值是否與第二預設的校驗值一致,若為是,則觸發第二完整數據判定單元5041f;

第二完整數據判定單元5041f,用於判定元數據存儲區域中已存儲的所有元 數據完整。

此時,上述數據存儲裝置還可以包括:第二校驗值獲得模塊508和第二校驗值更新模塊509;

其中,第二校驗值獲得模塊508,用於根據預設的校驗算法,獲得主元數據存儲區域中已存儲的所有元數據的第五校驗值;

第二校驗值更新模塊509,用於根據第五校驗值,更新第二預設的校驗值。

一種具體實現方式中,上述數據存儲裝置還可以包括:元數據更新模塊(圖8中未示出),

用於根據備元數據存儲區域中已存儲的所有元數據,更新主元數據存儲區域中已存儲的元數據。

一種具體實現方式中,上述數據存儲裝置還可以包括:元數據初始化模塊(圖8中未示出),

用於在第四校驗值與第二預設的校驗值不一致的情況下,初始化主元數據存儲區域內的元數據和備元數據存儲區域內的元數據,並判定元數據存儲區域中已存儲的所有元數據完整。

應用圖8所示實施例,在校驗主元數據存儲區域中已存儲的元數據失敗後,再校驗備主元數據存儲區域中已存儲的元數據,若成功,則可以判定元數據存儲區域中已存儲的所有元數據完整,由於備元數據存儲區域為主元數據存儲區域的數據備份區域,因此可以根據該備元數據存儲區域中的元數據恢復主元數據存儲區域的元數據,降低操作元數據的出錯率,提高了存儲系統的可靠性。

對於裝置實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。

需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有 更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。

本領域普通技術人員可以理解實現上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,所述的程序可以存儲於計算機可讀取存儲介質中,這裡所稱得的存儲介質,如:rom/ram、磁碟、光碟等。

以上所述僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發明的保護範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀