專利名稱:使用數(shù)個(gè)存儲(chǔ)介質(zhì)來存儲(chǔ)和恢復(fù)數(shù)據(jù)文件的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于使用數(shù)個(gè)存儲(chǔ)介質(zhì)來存儲(chǔ)和恢復(fù)數(shù)據(jù)文件的方法。例如,該發(fā)明方法可應(yīng)用于存儲(chǔ)和恢復(fù)數(shù)據(jù)庫日志文件。
背景技術(shù):
為了保護(hù)數(shù)據(jù)文件,有必要制作至少一個(gè)復(fù)件,其被存儲(chǔ)在單獨(dú)的存儲(chǔ)介質(zhì)上。對(duì)于重要的數(shù)據(jù),經(jīng)常制作數(shù)個(gè)相同的數(shù)據(jù)文件的復(fù)件。這些復(fù)件被同時(shí)存儲(chǔ)和分布在分離的存儲(chǔ)介質(zhì)上。也可以在通過根據(jù)第一個(gè)復(fù)件來創(chuàng)建復(fù)件的第二步中創(chuàng)建另外的復(fù)件。通常只有第一個(gè)復(fù)件用來恢復(fù)數(shù)據(jù)文件。其它復(fù)件是不可見的并且用戶不能容易地訪問那些復(fù)件。然而,如果第一個(gè)復(fù)件或其存儲(chǔ)介質(zhì)被毀壞或者不可用,那么其它復(fù)件之一可以用來恢復(fù)數(shù)據(jù)文件。重要的是要注意數(shù)據(jù)一般但不是強(qiáng)制存儲(chǔ)在依次的存儲(chǔ)介質(zhì)上。
圖6和圖7分別示出用于存儲(chǔ)和恢復(fù)數(shù)據(jù)文件的傳統(tǒng)方法的第一示例。
在圖6中作為示意性的表示而示出存儲(chǔ)行為。在圖6中,數(shù)個(gè)相同的數(shù)據(jù)文件40的復(fù)件被同時(shí)分別存儲(chǔ)在分離并且獨(dú)立的存儲(chǔ)介質(zhì)41、42、43和44上。分別通過數(shù)據(jù)通道51、52、53和54來將數(shù)據(jù)文件40寫在存儲(chǔ)介質(zhì)41、42、43和44上。存儲(chǔ)介質(zhì)41、42、43和44上的復(fù)件與數(shù)據(jù)文件40相同。
圖7示出數(shù)據(jù)文件40的傳統(tǒng)的恢復(fù)操作的相應(yīng)示意性表示。將存儲(chǔ)介質(zhì)41、42、43和44上的相同復(fù)件之一用來恢復(fù)數(shù)據(jù)文件40。在此示例中,第三存儲(chǔ)介質(zhì)43上的復(fù)件恢復(fù)數(shù)據(jù)文件40。通過第三數(shù)據(jù)通道53來讀出存儲(chǔ)介質(zhì)43上的復(fù)件。其它存儲(chǔ)介質(zhì)41、42和44上復(fù)件保持不用。然而,如果當(dāng)前所使用的存儲(chǔ)介質(zhì)43被毀壞或者不可用,那么其它存儲(chǔ)介質(zhì)41、42和44之一上復(fù)件可以用來恢復(fù)數(shù)據(jù)文件40。在此情況下,由于必須再次讀出全部數(shù)據(jù)文件40的復(fù)件,所以用于恢復(fù)數(shù)據(jù)文件40的時(shí)間增加。
在圖7的恢復(fù)操作中,首先創(chuàng)建可能的數(shù)據(jù)源的列表。然后將此列表以這樣的方式來分類,即,列表中的第一項(xiàng)是優(yōu)選的復(fù)件,可以從其恢復(fù)數(shù)據(jù)文件40。當(dāng)該列表不是空的時(shí),因?yàn)閺脑摿斜碇刑崛×怂龅谝豁?xiàng)。然后根據(jù)對(duì)應(yīng)于所述所提取的項(xiàng)的復(fù)件來恢復(fù)數(shù)據(jù)文件40。如果數(shù)據(jù)文件40被完全恢復(fù),那么恢復(fù)操作停止。但是如果由于錯(cuò)誤而導(dǎo)致不能恢復(fù)所有的數(shù)據(jù),那么用列表中的下一項(xiàng)來繼續(xù)恢復(fù)操作。如果列表是空的,那么發(fā)送錯(cuò)誤消息。
通常,根據(jù)圖6和圖7的傳統(tǒng)方法需要大量時(shí)間來恢復(fù)數(shù)據(jù)文件40。具體而言,如果發(fā)生錯(cuò)誤,由于必須重復(fù)恢復(fù)操作所以需要額外的時(shí)間。
圖8和圖9分別示意性地示出用于存儲(chǔ)和恢復(fù)數(shù)據(jù)文件的傳統(tǒng)方法的第二示例。
根據(jù)所述方法,將數(shù)據(jù)文件40的不同數(shù)據(jù)部分分布在不同的存儲(chǔ)介質(zhì)41、42、43和44上。圖8示出數(shù)據(jù)文件40的存儲(chǔ),而圖9示出數(shù)據(jù)文件40的恢復(fù)。
在根據(jù)圖8的存儲(chǔ)行為中,首先,將數(shù)據(jù)文件40分成相同大小的數(shù)據(jù)部分61、62和63。然后,分別將數(shù)據(jù)分區(qū)61、62和63中的每個(gè)與一個(gè)存儲(chǔ)介質(zhì)41、42和43相關(guān)聯(lián)。最后,分別通過數(shù)據(jù)通道51、52和53將數(shù)據(jù)部分61、62和63移到存儲(chǔ)介質(zhì)41、42和43上。
圖9示意性地示出數(shù)據(jù)文件40的恢復(fù)。首先,分別查找包含數(shù)據(jù)部分61、62和63的存儲(chǔ)介質(zhì)41、42和43。接下來,將每個(gè)數(shù)據(jù)部分61、62和63與數(shù)據(jù)部分61、62和63要被恢復(fù)到其上的位置相關(guān)聯(lián)。最后,分別通過數(shù)據(jù)通道51、52和53同時(shí)讀出所述不同數(shù)據(jù)部分61、62和63,以恢復(fù)數(shù)據(jù)文件40。
只要圖9中的存儲(chǔ)介質(zhì)41、42和43中的一個(gè)被毀壞或者不可用,就不可能恢復(fù)原始數(shù)據(jù)文件40。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于使用數(shù)個(gè)存儲(chǔ)介質(zhì)來存儲(chǔ)和恢復(fù)數(shù)據(jù)文件的方法,該方法改善所述數(shù)據(jù)文件的恢復(fù)操作。
以上的目的通過如獨(dú)立權(quán)利要求中所展示的方法來實(shí)現(xiàn)。在從屬權(quán)利要求中描述本發(fā)明的進(jìn)一步的有利實(shí)施例,并且在以下的描述中對(duì)本發(fā)明的進(jìn)一步的有利實(shí)施例進(jìn)行教學(xué)。
本發(fā)明的主要思想是在不同存儲(chǔ)介質(zhì)上的數(shù)據(jù)文件的所有可用相同復(fù)件都可以用于恢復(fù)操作。將這些復(fù)件再分為數(shù)據(jù)部分。從不同存儲(chǔ)介質(zhì)同時(shí)讀出數(shù)據(jù)文件的數(shù)個(gè)不同數(shù)據(jù)部分。這提供快速的恢復(fù)操作。
每個(gè)存儲(chǔ)介質(zhì)包含全部數(shù)據(jù)文件的復(fù)件,但是通常從一個(gè)存儲(chǔ)介質(zhì)中只讀取一個(gè)數(shù)據(jù)部分。然而,如果存儲(chǔ)介質(zhì)被破壞了,那么從另外的存儲(chǔ)介質(zhì)中讀取相應(yīng)的數(shù)據(jù)部分。
數(shù)據(jù)傳輸速率與數(shù)據(jù)部分的數(shù)目成比例。該發(fā)明方法提供非常快速的恢復(fù)操作。
在以下詳細(xì)寫出的描述中,本發(fā)明的以上以及附加目的、特征和優(yōu)點(diǎn)將變得清楚明白。在所附的權(quán)利要求中闡述本發(fā)明的新穎的和發(fā)明的特征和所認(rèn)為的特性。通過參照以下結(jié)合附圖的優(yōu)選實(shí)施例的詳細(xì)描述,將最大限度地理解本發(fā)明自身、它們的優(yōu)選實(shí)施例和其優(yōu)點(diǎn),其中圖1示出根據(jù)該發(fā)明方法的優(yōu)選實(shí)施例的存儲(chǔ)行為的示意性表示;圖2示出根據(jù)該發(fā)明方法的優(yōu)選實(shí)施例的恢復(fù)操作的示意性表示;圖3示出系統(tǒng)的示意性表示,所述系統(tǒng)允許根據(jù)該發(fā)明方法的優(yōu)選實(shí)施例的恢復(fù)操作;圖4示出根據(jù)該發(fā)明方法的優(yōu)選實(shí)施例的方法的流程圖的示意性表示;圖5示出繼根據(jù)圖4的方法之后的詳細(xì)流程圖的示意性表示;圖6示出根據(jù)現(xiàn)有技術(shù)的存儲(chǔ)行為的第一示例的示意性表示;圖7示出根據(jù)現(xiàn)有技術(shù)的恢復(fù)操作的第一示例的示意性表示;圖8示出根據(jù)現(xiàn)有技術(shù)的存儲(chǔ)行為的第二示例的示意性表示;和圖9示出根據(jù)現(xiàn)有技術(shù)的恢復(fù)操作的第二示例的示意性表示。
具體實(shí)施例方式
圖1示出根據(jù)該發(fā)明方法的優(yōu)選實(shí)施例的存儲(chǔ)行為的示意性表示。數(shù)據(jù)文件10存儲(chǔ)在數(shù)個(gè)分離的存儲(chǔ)介質(zhì)11、12、13和14上。存儲(chǔ)介質(zhì)11、12、13和14彼此獨(dú)立??梢詫?shù)據(jù)文件10再分為四個(gè)數(shù)據(jù)部分31、32、33和34。通過數(shù)據(jù)通道21、22、23和24將數(shù)據(jù)文件10的相同的復(fù)件存儲(chǔ)在每個(gè)存儲(chǔ)介質(zhì)11、12、13和14上。每個(gè)數(shù)據(jù)通道21、22、23和24分別對(duì)應(yīng)于存儲(chǔ)介質(zhì)11、12、13和14中的一個(gè)。在每個(gè)存儲(chǔ)介質(zhì)11、12、13和14上,數(shù)據(jù)文件的復(fù)件被再分為四個(gè)數(shù)據(jù)部分31、32、33和34。在圖1中,只在第四存儲(chǔ)介質(zhì)14上表示數(shù)據(jù)部分31、32、33和34。在此實(shí)施例中,所有的數(shù)據(jù)部分31、32、33和34具有基本相同的大小。每個(gè)數(shù)據(jù)部分31、32、33和34分別被指定到數(shù)據(jù)通道21、22、23和24之一。
圖2示意性地示出數(shù)據(jù)文件10的恢復(fù)。從每個(gè)存儲(chǔ)介質(zhì)11、12、13和14中同時(shí)讀出數(shù)據(jù)文件10的復(fù)件,其中分別從每個(gè)存儲(chǔ)介質(zhì)11、12、13和14中只讀出一個(gè)數(shù)據(jù)文件部分。
在此實(shí)施例中,通過第一數(shù)據(jù)通道21從第一存儲(chǔ)介質(zhì)11中讀出第一數(shù)據(jù)部分31。通過第二數(shù)據(jù)通道22從第二存儲(chǔ)介質(zhì)12中讀出第二數(shù)據(jù)部分32。通過第三數(shù)據(jù)通道23從第三存儲(chǔ)介質(zhì)13中讀出第三數(shù)據(jù)部分33。通過第四數(shù)據(jù)通道24從第四存儲(chǔ)介質(zhì)14中讀出第四數(shù)據(jù)部分34。在此實(shí)施例中,數(shù)據(jù)部分31、32、33和34的數(shù)目與存儲(chǔ)介質(zhì)11、12、13和14和數(shù)據(jù)通道21、22、23和24的數(shù)目相同。通常這是不必要的。
或者,數(shù)據(jù)部分31、32、33和34的數(shù)目可以小于存儲(chǔ)介質(zhì)11、12、13和14的數(shù)目。在此情況下,一般在恢復(fù)操作中不使用所有的儲(chǔ)介質(zhì)11、12、13和14。但是如果存儲(chǔ)介質(zhì)11、12、13和14被破壞,那么可以從另外的存儲(chǔ)介質(zhì)11、12、13和14中讀取相應(yīng)的數(shù)據(jù)部分,而基本不浪費(fèi)時(shí)間。
圖3示出根據(jù)本發(fā)明的允許恢復(fù)操作的系統(tǒng)的示意性表示。所述系統(tǒng)包括失敗轉(zhuǎn)移(fail-over)管理器70,其與存儲(chǔ)介質(zhì)11、12和13相連接。失敗轉(zhuǎn)移管理器70包括第一列表71、第二列表72和第三列表73。該失敗管理器70還包括進(jìn)程列表74和成功列表75。
第一、二和三列表71、72和73包括分別對(duì)應(yīng)于數(shù)據(jù)部分31、32和33的項(xiàng)。以一定的次序?qū)⑺鲰?xiàng)列入表中。在第一、二和三列表71、72和73中的每個(gè)列表中,不同的項(xiàng)位于所述列表的頂部。
圖4示出根據(jù)使用根據(jù)圖3的系統(tǒng)的發(fā)明的恢復(fù)操作的流程圖。在第一步101中,創(chuàng)建源列表,其包括可能的數(shù)據(jù)源。在附圖中沒有示出所述源列表。所述數(shù)據(jù)源中的每個(gè)包含數(shù)據(jù)文件10的完整復(fù)件。在此情況下,數(shù)據(jù)源為存儲(chǔ)介質(zhì)11、12和13。
在第二步102中,應(yīng)被恢復(fù)的數(shù)據(jù)文件10被再分成相同大小的數(shù)據(jù)部分31、32和33。數(shù)據(jù)部分31、32和33的數(shù)目必須等于或者小于在存儲(chǔ)介質(zhì)11、12和13上的可用復(fù)件的數(shù)目。可以在存儲(chǔ)行為和恢復(fù)操作的過程中進(jìn)行步驟102。
在進(jìn)一步103中,創(chuàng)建主列表(master list)。在附圖中沒有示出主列表。主列表包含針對(duì)在步驟102中生成的數(shù)據(jù)部分31、32和33的每個(gè)的一項(xiàng)。在該列表中的項(xiàng)按這樣的次序來分類,即所述次序?qū)?yīng)于最佳的恢復(fù)順序。例如,如果數(shù)據(jù)文件10的復(fù)件位于帶上,那么對(duì)應(yīng)于帶上的次序的這樣的次序是優(yōu)選的。
在下一步104中,創(chuàng)建第一列表71、第二列表72和第三列表73。第一、第二和第三列表71、72和73的數(shù)目對(duì)應(yīng)于在先前的步驟102中生成的數(shù)據(jù)部分31、32和33的數(shù)目。在可選實(shí)施例中,主列表可以用作第一列表71,使得沒有必要?jiǎng)?chuàng)建第一列表71。然而,在此優(yōu)選實(shí)施例中,主列表和第一列表71是分開的列表。
在以下的步驟105中,將主列表的內(nèi)容復(fù)制到第一、第二和第三列表71、72和73中。
在下一步106中,以這樣的方式來重新安排第k列表的內(nèi)容,即所述第k列表的第r項(xiàng)是在主列表中的第((r+k)mod n)項(xiàng)的復(fù)件,其中n是第一、第二和第三列表71、72和73的數(shù)目。
如果在主列表中的數(shù)據(jù)部分31、32和33的所有項(xiàng)對(duì)應(yīng)于以該次序出現(xiàn)在帶上的數(shù)據(jù)部分31、32和33,那么步驟106確保在所有第一、第二和第三列表71、72和73中,數(shù)據(jù)部分31、32和33被安排在至多一個(gè)帶上。如果所有數(shù)據(jù)部分必須只能從一個(gè)列表中恢復(fù),那么可能發(fā)生間斷。
在下一步107中,除了主列表之外向所有第一、第二和第三列表71、72和73發(fā)送恢復(fù)事件。如果非空的每個(gè)列表收到恢復(fù)事件,那么其執(zhí)行以下的步驟。
圖5示出根據(jù)圖4的步驟的繼續(xù)步驟。在所述列表收到恢復(fù)事件之后,由非空的那些列表來執(zhí)行圖5中的步驟。所有列表可以同時(shí)執(zhí)行這些恢復(fù)事件。
在第一步111中,從列表中去除第一項(xiàng)。在下一步112中,針對(duì)進(jìn)程列表74和成功列表75而獲得排它鎖。
如果所去除的項(xiàng)包含在成功列表75中,那么在步驟113中,丟棄該項(xiàng)并且釋放該鎖。然后系統(tǒng)等待新的恢復(fù)事件。
如果所去除的項(xiàng)包含在進(jìn)程列表74中,那么在步驟114中,將該項(xiàng)放回至該列表的頂部并且釋放該鎖。然后系統(tǒng)等待新的恢復(fù)事件。
如果所去除的項(xiàng)既不包含在進(jìn)程列表74中也不包含在成功列表75中,那么在步驟115中,將所去除的項(xiàng)添加至進(jìn)程列表74并且釋放該鎖。然后開始相應(yīng)的數(shù)據(jù)部分的恢復(fù)操作。如果恢復(fù)成功,那么如在步驟112中那樣,針對(duì)進(jìn)程列表74和成功列表75而獲得排它鎖。而且將該項(xiàng)從進(jìn)程列表74移至成功列表75,釋放該鎖并且系統(tǒng)等待新的恢復(fù)事件。
如果發(fā)生錯(cuò)誤,在步驟116中,將該項(xiàng)從進(jìn)程列表74中去除并丟棄。由錯(cuò)誤類型來決定在進(jìn)一步的處理中不使用此列表或者系統(tǒng)等待新的恢復(fù)事件。然后將恢復(fù)事件發(fā)送至所有其它列表。
存在可能發(fā)生的三種類型錯(cuò)誤。根據(jù)第一類型錯(cuò)誤,數(shù)據(jù)文件的復(fù)件是不可用的。這種數(shù)據(jù)文件在步驟101或步驟116中進(jìn)行過濾。根據(jù)第二類型錯(cuò)誤,只有一個(gè)數(shù)據(jù)部分是錯(cuò)誤的。在此情況下,不執(zhí)行步驟116。根據(jù)第三類型錯(cuò)誤,數(shù)個(gè)數(shù)據(jù)部分是錯(cuò)誤的。如果錯(cuò)誤數(shù)據(jù)部分是已知的,取代步驟116而從列表中去除相應(yīng)的項(xiàng)。
最后,如果所有列表都是空的,但是不恢復(fù)所有數(shù)據(jù)部分,那么使用還沒有使用的那些復(fù)件。
根據(jù)該發(fā)明方法,在開始時(shí)所有數(shù)據(jù)部分31、32和33都在每個(gè)列表中。因此,可以通過每個(gè)列表來恢復(fù)所有數(shù)據(jù)。如果所述數(shù)據(jù)部分31、32或33被成功地恢復(fù),那么只從列表中去除數(shù)據(jù)部分31、32和33中的一個(gè)。
如果發(fā)生錯(cuò)誤,通過排在錯(cuò)誤列表前面的那個(gè)列表來重復(fù)恢復(fù)操作。為了開始此重復(fù),必須發(fā)送恢復(fù)事件。如果那個(gè)列表也是錯(cuò)誤的,那么使用排在前面的下一列表。如果不存在排在前面的列表,那么使用最后的列表。
特別地,本發(fā)明方法可以用來改善數(shù)據(jù)庫日志文件的恢復(fù)性能。新的存儲(chǔ)技術(shù),例如大部分快照技術(shù),允許減少表空間文件的恢復(fù)時(shí)間。這些技術(shù)不可用于日志文件,使得數(shù)據(jù)庫的日志文件成為瓶頸。將本發(fā)明方法用于日志文件,將會(huì)改善整個(gè)數(shù)據(jù)庫的訪問時(shí)間。
圖6示出用于存儲(chǔ)數(shù)據(jù)文件40的第一種傳統(tǒng)方法。分別通過數(shù)據(jù)通道51、52、53和54將的數(shù)據(jù)文件40的四個(gè)相同的復(fù)件同時(shí)存儲(chǔ)在獨(dú)立的存儲(chǔ)介質(zhì)41、42、43和44上。復(fù)件包含數(shù)據(jù)文件40的完整信息,而不是任何附加信息。因此,存儲(chǔ)介質(zhì)41、42、43和44上的復(fù)件與數(shù)據(jù)文件40相同。
圖7示出用于恢復(fù)數(shù)據(jù)文件40的第一種傳統(tǒng)方法。將相同的復(fù)件之一用來恢復(fù)數(shù)據(jù)文件40。在此示例中,將第三存儲(chǔ)介質(zhì)43上的復(fù)件用來恢復(fù)數(shù)據(jù)文件40。通過第三數(shù)據(jù)通道53將存儲(chǔ)介質(zhì)43上的復(fù)件讀出。其它存儲(chǔ)介質(zhì)41、42和44上的復(fù)件保持不用。然而,如果當(dāng)前使用的存儲(chǔ)介質(zhì)43被毀壞或者不可用,那么將其它存儲(chǔ)介質(zhì)41、42和44之一上的復(fù)件用來恢復(fù)數(shù)據(jù)文件40。在此情況下,由于必須再次讀出完整數(shù)據(jù)文件40的復(fù)件,所以用于恢復(fù)數(shù)據(jù)文件40的時(shí)間增加。由于數(shù)據(jù)文件10被再分成數(shù)據(jù)部分31、32、33和34,所以本發(fā)明方法解決了此問題。因此,只有被毀壞的存儲(chǔ)介質(zhì)上的數(shù)據(jù)部分必須被再次讀出。
圖8示意性地示出用于存儲(chǔ)數(shù)據(jù)文件的傳統(tǒng)方法第二個(gè)示例。根據(jù)所述方法,將數(shù)據(jù)文件40的不同的數(shù)據(jù)部分分布在不同的存儲(chǔ)介質(zhì)41、42、43和44上。在根據(jù)圖8的存儲(chǔ)行為中,首先將數(shù)據(jù)文件40分成相同大小的數(shù)據(jù)部分61、62和63。然后分別將數(shù)據(jù)分區(qū)61、62和63中的每個(gè)與一個(gè)存儲(chǔ)介質(zhì)41、42和43相關(guān)聯(lián)。最后分別通過數(shù)據(jù)通道51、52和53將數(shù)據(jù)部分61、62和63移至存儲(chǔ)介質(zhì)41、42和43。
圖9示意性地示出數(shù)據(jù)文件40的第二種恢復(fù)操作。首先查找分別包含數(shù)據(jù)部分61、62和63的存儲(chǔ)介質(zhì)41、42和43。接著,將每個(gè)數(shù)據(jù)部分61、62和63與數(shù)據(jù)部分61、62和63要被恢復(fù)到其上的位置相關(guān)聯(lián)。最后分別通過數(shù)據(jù)通道51、52和53同時(shí)將所述不同數(shù)據(jù)部分61、62和63讀出,以便恢復(fù)數(shù)據(jù)文件40。
如果只有圖9中的存儲(chǔ)介質(zhì)41、42和43中的一個(gè)被毀壞或者不可用,那么不可能恢復(fù)原始數(shù)據(jù)文件40。由于所有或者多數(shù)存儲(chǔ)介質(zhì)11、12、13和14包含數(shù)據(jù)文件10的所有數(shù)據(jù)部分31、32、33和34,所以本發(fā)明方法解決了此問題。
本發(fā)明也可以嵌入在包括能夠?qū)崿F(xiàn)這里描述的方法的所有特征的計(jì)算機(jī)程序產(chǎn)品中。而且,當(dāng)被加載到計(jì)算機(jī)系統(tǒng)中時(shí),所述計(jì)算機(jī)程序產(chǎn)品能夠執(zhí)行這些方法。
盡管已經(jīng)參照附圖描述了本發(fā)明的說明性實(shí)施例,但是應(yīng)該明白本發(fā)明不限于這些精確的實(shí)施例,并且在不偏離本發(fā)明的精神和范圍的情況下,本領(lǐng)域的技術(shù)人員可以進(jìn)行各種其它改變和修改。所有這些改變和修改意欲包括在由所附權(quán)利要求所限定的本發(fā)明的范圍中。
權(quán)利要求
1.一種用于使用數(shù)個(gè)存儲(chǔ)介質(zhì)(11、12、13、14)來存儲(chǔ)和恢復(fù)數(shù)據(jù)文件(10)的方法,所述方法包括步驟a)產(chǎn)生數(shù)據(jù)文件(10)的數(shù)個(gè)相同的復(fù)件;b)將所述相同的復(fù)件存儲(chǔ)在不同存儲(chǔ)介質(zhì)(11、12、13、14)上;c)根據(jù)預(yù)定方案將所述復(fù)件再分成數(shù)據(jù)部分(31、32、33、34);d)通過不同數(shù)據(jù)通道(21、22、23、24)從至少兩個(gè)不同存儲(chǔ)介質(zhì)(11、12、13、14)中同時(shí)讀取所選擇的數(shù)據(jù)部分(31、32、33、34);和e)從所選擇的數(shù)據(jù)部分(31、32、33、34)中恢復(fù)數(shù)據(jù)文件(10)。
2.根據(jù)權(quán)利要求1所述的方法,其中數(shù)據(jù)部分(31、32、33、34)的數(shù)目等于或者小于存儲(chǔ)介質(zhì)(11、12、13、14)的數(shù)目。
3.根據(jù)前面的權(quán)利要求中的任何一項(xiàng)所述的方法,其中將每個(gè)所選擇的數(shù)據(jù)部分(31、32、33、34)指定到一個(gè)數(shù)據(jù)通道(21、22、23、24)。
4.根據(jù)前面的權(quán)利要求中的任何一項(xiàng)所述的方法,其中每個(gè)數(shù)據(jù)部分(31、32、33、34)具有相同的大小或者基本相同的大小。
5.根據(jù)前面的權(quán)利要求中的任何一項(xiàng)所述的方法,其中如果初始選擇的數(shù)據(jù)部分(31、32、33、34)被毀壞或者不可用,那么選擇其它存儲(chǔ)介質(zhì)(11、12、13、14)之一上的另外的相同數(shù)據(jù)部分(31、32、33、34)。
6.根據(jù)權(quán)利要求5所述的方法,其中從其它相同的數(shù)據(jù)部分(31、32、33、34)中重復(fù)從初始選擇的數(shù)據(jù)部分(31、32、33、34)中的恢復(fù)。
7.根據(jù)前面的權(quán)利要求中的任何一項(xiàng)所述的方法,其中每個(gè)數(shù)據(jù)部分(31、32、33、34)與項(xiàng)相關(guān)聯(lián),并且每個(gè)復(fù)件與對(duì)應(yīng)于所述復(fù)件的數(shù)據(jù)部分(31、32、33、34)的一組項(xiàng)相關(guān)聯(lián)。
8.根據(jù)權(quán)利要求7所述的方法,其中由以預(yù)定次序包含項(xiàng)的列表(71、72、73)來表示每組項(xiàng)。
9.根據(jù)權(quán)利要求8所述的方法,其中在步驟c)和步驟d)之間產(chǎn)生列表(71、72、73)。
10.根據(jù)權(quán)利要求8或9所述的方法,其中列表(71、72、73)的數(shù)目n等于數(shù)據(jù)部分(31、32、33、34)的數(shù)目。
11.根據(jù)權(quán)利要求8到10中的任何一項(xiàng)所述的方法,其中以這樣的方式在列表(71、72、73)中重新安排列表(71、72、73)中的項(xiàng),即在每個(gè)列表(71、72、73)中的項(xiàng)具有不同的次序。
12.根據(jù)權(quán)利要求11所述的方法,其中以這樣的方式來重新安排第k列表(72,73)中的項(xiàng),即,所述第k列表(72、73)的第r項(xiàng)是參考列表(71)中的第((r+k)mod n)項(xiàng)的復(fù)件。
13.根據(jù)權(quán)利要求12所述的方法,其中將列表(71、72、73)之一定義為參考列表(71)或者將單獨(dú)的列表用作參考列表。
14.根據(jù)權(quán)利要求11到13中的任何一項(xiàng)所述的方法,其中在步驟c)和步驟d)之間在列表(71、72、73)中重新安排列表(71、72、73)中的項(xiàng)。
15.根據(jù)權(quán)利要求8到14中的任何一項(xiàng)所述的方法,其中初始選擇的數(shù)據(jù)部分(31、32、33、34)與在預(yù)定列表(71、72、73)中的它的項(xiàng)相關(guān)聯(lián),并且如果初始選擇的數(shù)據(jù)部分(31、32、33、34)被毀壞或者不可用,那么將其它相同的數(shù)據(jù)部分(31、32、33、34)與下個(gè)列表(71、72、73)中的相同的項(xiàng)相關(guān)聯(lián)。
16.根據(jù)權(quán)利要求1到15中的任何一項(xiàng)所述的方法,其中在將所述復(fù)件存儲(chǔ)在不同存儲(chǔ)介質(zhì)(11、12、13、14)上之前,已經(jīng)將相同的復(fù)件再分成數(shù)據(jù)部分(31、32、33、34)。
17.一種用于執(zhí)行根據(jù)前面的權(quán)利要求1到16中的任何一項(xiàng)所述的方法的系統(tǒng)。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),包括數(shù)據(jù)文件(10);n數(shù)目的存儲(chǔ)介質(zhì)(11、12、13、14);和n數(shù)目的數(shù)據(jù)通道(21、22、23、24);其中通過數(shù)據(jù)通道(21、22、23、24)之一將每個(gè)存儲(chǔ)介質(zhì)(11、12、13、14)與數(shù)據(jù)文件(10)相連。
19.根據(jù)權(quán)利要求17或18所述的系統(tǒng),其中所述系統(tǒng)以硬件、軟件或硬件和軟件的組合來實(shí)現(xiàn)。
20.一種存儲(chǔ)在計(jì)算機(jī)可使用的介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀程序部件,其用于使得計(jì)算機(jī)執(zhí)行根據(jù)前面的權(quán)利要求1到16中的任何一個(gè)所述的方法。
全文摘要
本發(fā)明涉及一種用于使用數(shù)個(gè)存儲(chǔ)介質(zhì)(11、12、13、14)來存儲(chǔ)和恢復(fù)數(shù)據(jù)文件(10)的方法。所述方法以產(chǎn)生數(shù)據(jù)文件(10)的數(shù)個(gè)相同的復(fù)件的步驟開始。將所述相同的復(fù)件存儲(chǔ)在不同存儲(chǔ)介質(zhì)(11、12、13、14)上。根據(jù)預(yù)定方案將所述相同的復(fù)件再分成數(shù)據(jù)部分(31、32、33、34)。通過不同數(shù)據(jù)通道(21、22、23、24)從至少兩個(gè)不同存儲(chǔ)介質(zhì)(11、12、13、14)中同時(shí)讀出所選擇的數(shù)據(jù)部分(31、32、33、34)。從所選擇的數(shù)據(jù)部分(31、32、33、34)中恢復(fù)數(shù)據(jù)文件(10)。
文檔編號(hào)G06F11/14GK1794190SQ20051012480
公開日2006年6月28日 申請(qǐng)日期2005年11月15日 優(yōu)先權(quán)日2004年12月22日
發(fā)明者奧利弗·奧根斯坦, 托馬斯·普勞斯 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司