讀數(shù)據(jù)的方法、數(shù)據(jù)處理方法及相關(guān)存儲設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及讀數(shù)據(jù)的方法、數(shù)據(jù)處理方法及相關(guān)存儲設(shè) 備。
【背景技術(shù)】
[0002] 快照(Snapshot)是對指定數(shù)據(jù)集合的一個完全可用的拷貝,該拷貝包含源數(shù)據(jù)拷 貝時間點的靜態(tài)映像,其作用主要是在線數(shù)據(jù)備份與恢復(fù)。虛擬快照是快照技術(shù)的一種,虛 擬快照不生成完整的物理上的數(shù)據(jù)拷貝,而是通過映射表來定位數(shù)據(jù)位置。存儲設(shè)備可以 劃分為多個卷,卷與卷之間存在級聯(lián)關(guān)系。卷可以分為源卷和快照卷,源卷為第一個快照卷 的上級卷,第一快照卷為源卷的下級卷,第二快照卷為第一快照卷的下級卷,依此類推其他 快照卷之間的級聯(lián)關(guān)系。
[0003] 現(xiàn)有技術(shù)中讀數(shù)據(jù)的方法大致如下:主機(jī)向存儲設(shè)備發(fā)送讀I/O指令,若數(shù)據(jù)沒有 寫在該讀I/O指令指定的卷中,那么存儲設(shè)備會查詢指定卷的上一級卷,以從下級到上級的 順序,逐一查詢存儲設(shè)備包含的卷,直至查找到數(shù)據(jù)所在卷,從其中讀取數(shù)據(jù)。
[0004] 在實際應(yīng)用中,數(shù)據(jù)可能寫在與指定卷有級聯(lián)關(guān)系的任意一個卷上,如果數(shù)據(jù)沒 有寫在指定卷,那么需要對指定卷的上級卷進(jìn)行逐級查詢,在最壞的情況下在源卷中才能 讀取數(shù)據(jù),當(dāng)卷的級數(shù)很多時,需要進(jìn)行多次查詢,因此讀寫性能不佳。另外,由于數(shù)據(jù)存儲 位置的不確定,因此查詢數(shù)據(jù)的次數(shù)是隨機(jī)的,在多次讀數(shù)據(jù)的情況下,讀數(shù)據(jù)的時間可能 相差很大,讀數(shù)據(jù)性能會發(fā)生波動。
【發(fā)明內(nèi)容】
[0005] 本申請?zhí)峁┝俗x數(shù)據(jù)的方法、數(shù)據(jù)處理方法以及相關(guān)存儲設(shè)備,能夠提高讀寫數(shù) 據(jù)的效率,提高數(shù)據(jù)讀寫性能的穩(wěn)定性。
[0006] 本申請第一方面提供一種讀數(shù)據(jù)的方法,所述方法應(yīng)用于存儲設(shè)備中,存儲設(shè)備 包括卷,卷包括源卷和多個快照卷,源卷用于保存寫入存儲設(shè)備的數(shù)據(jù);多個快照卷中的第 一個快照卷是源卷的快照,除第一快照卷之外的其余快照卷均是最近一次快照卷的快照, 并且每個卷分配有標(biāo)識;所述方法包括:接收讀數(shù)據(jù)指令,讀數(shù)據(jù)指令包括卷的標(biāo)識和起始 地址;根據(jù)起始地址確定數(shù)據(jù)塊標(biāo)識,根據(jù)卷的標(biāo)識,以及數(shù)據(jù)塊標(biāo)識與預(yù)先設(shè)置的對應(yīng)關(guān) 系確定待讀取數(shù)據(jù)所在的快照卷的標(biāo)識,預(yù)先設(shè)置的對應(yīng)關(guān)系包括卷的標(biāo)識、數(shù)據(jù)塊標(biāo)識、 與快照卷的標(biāo)識之間的對應(yīng)關(guān)系;從與確定出的快照卷的標(biāo)識對應(yīng)的快照卷中讀取待讀取 數(shù)據(jù)。
[0007] 按照這種實施方式,當(dāng)主機(jī)讀快照時,由于存儲設(shè)備為每個卷的數(shù)據(jù)塊預(yù)先設(shè)置 了相應(yīng)的對應(yīng)關(guān)系,存儲設(shè)備利用卷標(biāo)識和數(shù)據(jù)塊標(biāo)識進(jìn)行一次查找,就可以查找到待讀 取數(shù)據(jù)并返回給主機(jī),無需進(jìn)行多次查找,因此提高了讀快照的效率。另外,在多次讀快照 的情況下,每次讀取數(shù)據(jù)的時間非常相近,因此提高了讀快照的穩(wěn)定性。
[0008] 結(jié)合第一方面,在第一方面的第一種實現(xiàn)方式中,每個快照卷包含有預(yù)先設(shè)置的 對應(yīng)關(guān)系。
[0009]按照這種實施方式,在存儲設(shè)備根據(jù)讀數(shù)據(jù)指令查詢?nèi)我庖粋€快照卷時,就能夠 根據(jù)其包含的預(yù)設(shè)對應(yīng)關(guān)系確定待讀取數(shù)據(jù)所在快照,提供了本發(fā)明實施的可行性。
[0010]本申請第二方面提供一種數(shù)據(jù)處理方法,所述方法應(yīng)用于存儲設(shè)備中,存儲設(shè)備 包括卷,卷包括源卷和多個快照卷,源卷用于保存寫入存儲設(shè)備的數(shù)據(jù);多個快照卷中的第 一個快照卷是源卷的快照,除第一快照卷之外的其余快照卷均是最近一次快照卷的快照, 并且每個卷分配有標(biāo)識;所述方法包括:接收寫數(shù)據(jù)指令,寫數(shù)據(jù)指令包括待寫數(shù)據(jù)、卷的 標(biāo)識和起始地址;根據(jù)起始地址確定數(shù)據(jù)塊標(biāo)識,根據(jù)卷的標(biāo)識、數(shù)據(jù)塊標(biāo)識以及預(yù)先設(shè)置 的對應(yīng)關(guān)系,預(yù)先設(shè)置的對應(yīng)關(guān)系包括卷的標(biāo)識、數(shù)據(jù)塊標(biāo)識,與快照卷的標(biāo)識之間的對應(yīng) 關(guān)系;從與確定出的快照卷的標(biāo)識對應(yīng)的快照卷中獲取需保護(hù)數(shù)據(jù),將需保護(hù)數(shù)據(jù)寫入卷 的標(biāo)識對應(yīng)的卷,將待寫數(shù)據(jù)寫入卷的標(biāo)識對應(yīng)的卷,并在預(yù)先設(shè)置的對應(yīng)關(guān)系中,將快照 卷的標(biāo)識修改為卷的標(biāo)識。
[0011]按照這種實施方式,在快照卷的映射對象由需保護(hù)數(shù)據(jù)更改為待寫數(shù)據(jù)的過程 中,存儲設(shè)備利用卷標(biāo)識和數(shù)據(jù)塊標(biāo)識,通過一次查找,可以查找到快照卷所映射的數(shù)據(jù), 并對該數(shù)據(jù)進(jìn)行保護(hù),無需逐級查找快照卷,減少了查找數(shù)據(jù)的時間,因此提高了數(shù)據(jù)處理 效率。另外,在多次執(zhí)行上述數(shù)據(jù)處理方法的情況下,每次數(shù)據(jù)處理的時間非常相近,因此 提高了數(shù)據(jù)處理的穩(wěn)定性。
[0012] 結(jié)合第二方面,在第二方面的第一種實現(xiàn)方式中,將需保護(hù)數(shù)據(jù)寫入卷的標(biāo)識對 應(yīng)的卷包括:將需保護(hù)數(shù)據(jù)寫入數(shù)據(jù)保護(hù)空間,數(shù)據(jù)保護(hù)空間屬于與卷的標(biāo)識對應(yīng)的卷。
[0013] 按照這種實施方式,將需保護(hù)數(shù)據(jù)寫入數(shù)據(jù)保護(hù)空間之后,主機(jī)讀快照時,可以從 快照中讀取需保護(hù)數(shù)據(jù),避免了需保護(hù)數(shù)據(jù)被后來寫入的數(shù)據(jù)覆蓋而丟失的情況。
[0014] 結(jié)合第二方面的第一種實現(xiàn)方式,在第二方面的第二種實現(xiàn)方式中,將需保護(hù)數(shù) 據(jù)寫入卷的標(biāo)識對應(yīng)的卷包括:根據(jù)卷的標(biāo)識以及數(shù)據(jù)塊標(biāo)識,將待寫數(shù)據(jù)寫入卷的數(shù)據(jù) 塊,卷的數(shù)據(jù)塊與數(shù)據(jù)塊標(biāo)識對應(yīng)。
[0015] 按照這種實施方式,當(dāng)主機(jī)讀數(shù)據(jù)時,存儲設(shè)備可以從該卷的數(shù)據(jù)塊中讀取待寫 數(shù)據(jù)。
[0016] 結(jié)合第二方面的以上任意一種實現(xiàn)方式,在第二方面的第四種實現(xiàn)方式中,每個 快照卷包含有預(yù)先設(shè)置的對應(yīng)關(guān)系。
[0017] 按照這種實施方式,在存儲設(shè)備根據(jù)寫數(shù)據(jù)指令查詢?nèi)我庖粋€快照卷時,就能夠 根據(jù)其包含的預(yù)設(shè)對應(yīng)關(guān)系確定需保護(hù)數(shù)據(jù)所在快照,提供了本發(fā)明實施的可行性。
[0018] 本申請第三方面提供一種存儲設(shè)備,具有實現(xiàn)第一方面讀數(shù)據(jù)方法的功能,功能 可以通過硬件實現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實現(xiàn)。所述硬件或軟件包括一個或多 個與上述功能相對應(yīng)的模塊。
[0019] -種可能的實現(xiàn)方式中,存儲設(shè)備包括通訊接口、控制器、存儲器以及總線;通訊 接口、控制器和存儲器之間通過總線相互連接,存儲器用于存儲數(shù)據(jù)以及操作指令,其中, 通過調(diào)用存儲器存儲的操作指令,控制器用于執(zhí)行以下方法:控制通訊接口接收讀數(shù)據(jù)指 令,讀數(shù)據(jù)指令包括卷的標(biāo)識和起始地址,根據(jù)起始地址確定數(shù)據(jù)塊標(biāo)識,根據(jù)卷的標(biāo)識, 以及數(shù)據(jù)塊標(biāo)識與預(yù)先設(shè)置的對應(yīng)關(guān)系確定待讀取數(shù)據(jù)所在的快照卷的標(biāo)識,預(yù)先設(shè)置的 對應(yīng)關(guān)系包括卷的標(biāo)識、數(shù)據(jù)塊標(biāo)識、與快照卷的標(biāo)識之間的對應(yīng)關(guān)系,從與確定出的快照 卷的標(biāo)識對應(yīng)的快照卷中讀取待讀取數(shù)據(jù)。
[0020] 按照這種實施方式,當(dāng)主機(jī)讀快照時,由于每個卷的數(shù)據(jù)塊預(yù)先設(shè)置了相應(yīng)的對 應(yīng)關(guān)系,控制器利用卷標(biāo)識和數(shù)據(jù)塊標(biāo)識進(jìn)行一次查找,就可以查找到待讀取數(shù)據(jù)并返回 給主機(jī),無需進(jìn)行多次查找,因此提高了讀快照的效率。另外,在多次讀快照的情況下,每次 讀取數(shù)據(jù)的時間非常相近,因此提高了讀快照的穩(wěn)定性。
[0021] 可選的,每個快照卷包含有預(yù)先設(shè)置的對應(yīng)關(guān)系。
[0022] 第四方面提供一種存儲設(shè)備,具有實現(xiàn)第二方面中數(shù)據(jù)處理方法的功能。
[0023] -種可能的實現(xiàn)方式中,存儲設(shè)備包括通訊接口、控