專(zhuān)利名稱(chēng):數(shù)據(jù)庫(kù)存儲(chǔ)空間最優(yōu)化的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種在主存儲(chǔ)器中存儲(chǔ)后備數(shù)據(jù)的方法。
主存儲(chǔ)后備操作是在給定時(shí)刻和所有的目標(biāo)處在一致?tīng)顟B(tài)時(shí)凍結(jié)數(shù)據(jù)庫(kù)中的全部數(shù)據(jù)。這種后備操作可以按許多不同的方式進(jìn)行,這視乎有效利用率方面的要求和差錯(cuò)容限特性而定。若數(shù)據(jù)庫(kù)由配備有后備存儲(chǔ)器的容錯(cuò)計(jì)算機(jī)組成,則后備數(shù)據(jù)和記錄可以存入同一臺(tái)計(jì)算機(jī)中。若計(jì)算機(jī)不是容錯(cuò)計(jì)算機(jī)因而在出差錯(cuò)時(shí)必須關(guān)機(jī),則后備數(shù)據(jù)和記錄可以存入兩臺(tái)冗余計(jì)算機(jī)中。
數(shù)據(jù)庫(kù)通常具有復(fù)原功能,擔(dān)負(fù)起使存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)始終如一(即在不同更新過(guò)程中處在預(yù)期的狀態(tài))的任務(wù)。
為了能從寫(xiě)錯(cuò)數(shù)據(jù)庫(kù)的差錯(cuò)狀態(tài)恢復(fù)過(guò)來(lái),需要存儲(chǔ)后備復(fù)制品。后備數(shù)據(jù)含有所有能使數(shù)據(jù)庫(kù)進(jìn)入制造后備復(fù)制品時(shí)占優(yōu)勢(shì)的同一恒定狀態(tài)所需要的信息。使數(shù)據(jù)庫(kù)重新進(jìn)入有關(guān)狀態(tài)需要來(lái)自記錄的信息。
使數(shù)據(jù)庫(kù)恢復(fù)原狀的一般對(duì)策概括起來(lái)如下當(dāng)數(shù)據(jù)庫(kù)因嚴(yán)重差錯(cuò)而變得不一致時(shí),復(fù)原功能就命令數(shù)據(jù)庫(kù)再裝入最新的后備復(fù)制品中重新啟動(dòng)。為了能恢復(fù)到更恰當(dāng)?shù)臓顟B(tài),這時(shí)可以用記錄中存儲(chǔ)的信息(即存儲(chǔ)在存儲(chǔ)器中早先各項(xiàng)操作的檔案)更新數(shù)據(jù)庫(kù),復(fù)原功能即利用該記錄重復(fù)最新收到的事務(wù)處理,即數(shù)據(jù)庫(kù)中各目標(biāo)的處理。這里目標(biāo)一詞具有數(shù)據(jù)處理技術(shù)中傳統(tǒng)上采用的意義。簡(jiǎn)單地說(shuō),目標(biāo)是說(shuō)明其有關(guān)的信息就如何處理的信息包。目標(biāo)按其應(yīng)用范圍分成許多等級(jí),并用目標(biāo)籍別加以識(shí)別。有關(guān)目標(biāo)一詞及其使用方法更詳細(xì)的說(shuō)明,可參看例如PeterCoad和EdwardYourdon寫(xiě)的躍旦出版社計(jì)算機(jī)叢書(shū)《從目標(biāo)出發(fā)進(jìn)行的分析》(Object-OrientedAnalysis)一書(shū)。
更新某一目標(biāo)時(shí),先將原來(lái)的目標(biāo)復(fù)制出來(lái)并加以鎖定,以防其它使用數(shù)據(jù)庫(kù)的人對(duì)該數(shù)據(jù)庫(kù)進(jìn)行更新。履行所委托的事務(wù)之后,才切換到經(jīng)更新的副本并解除上述鎖定,這就是說(shuō),程序或操作人員所使用的事務(wù)操作表明,目前的事務(wù)已經(jīng)結(jié)束,但其作用仍然保持。
重新裝入數(shù)據(jù)庫(kù)再啟動(dòng)時(shí),副本目標(biāo)或那些無(wú)需后備處理的目標(biāo)都被清除掉。
對(duì)有效利用率的各項(xiàng)高要求可以通過(guò)在計(jì)算機(jī)的主存儲(chǔ)器中存儲(chǔ)最新形式的后備數(shù)據(jù)和記錄來(lái)滿(mǎn)足。較久的后備復(fù)制品用后備檔案庫(kù)存儲(chǔ)器存儲(chǔ)起來(lái)。
由于存儲(chǔ)技術(shù)的迅速發(fā)展,現(xiàn)在可以以合理的價(jià)格獲取大型主存儲(chǔ)器數(shù)據(jù)庫(kù)。但需要在數(shù)據(jù)庫(kù)中存儲(chǔ)大量數(shù)據(jù)時(shí),重要的一點(diǎn)還是要節(jié)約存儲(chǔ)空間。作為數(shù)據(jù)庫(kù)存放在同一計(jì)算機(jī)的后備數(shù)據(jù)和記錄可能起碼對(duì)存儲(chǔ)器的要求提高例如兩倍。
現(xiàn)行解決主存儲(chǔ)器后備操作問(wèn)題的辦法通常是基于這樣的概念,即既可以在數(shù)據(jù)庫(kù)區(qū)也可以在后備區(qū)找到數(shù)據(jù)庫(kù)的所有的目標(biāo)。這也適用于那些在各后備操作期之間沒(méi)有改變的那些目標(biāo)數(shù)據(jù)。
從世界知識(shí)產(chǎn)權(quán)組織文獻(xiàn)WO84/00426知道,不同關(guān)系的復(fù)制品可以存入不同的數(shù)據(jù)庫(kù)位置。可以設(shè)想,把不同的關(guān)系規(guī)定為不同的目標(biāo)。也有存取塊來(lái)確定數(shù)據(jù)庫(kù)位置及其所在點(diǎn)。更新時(shí),用新的存取塊將新關(guān)系復(fù)制品(目標(biāo))存入新的數(shù)據(jù)庫(kù)位置。這樣,雖然后備操作中使用了某一存取結(jié)構(gòu),但并未使用從后備區(qū)復(fù)制的整個(gè)存取結(jié)構(gòu)將經(jīng)收集的數(shù)據(jù)庫(kù)重新存到數(shù)據(jù)庫(kù)區(qū),以便用那些存入記錄中的改變更新數(shù)據(jù)庫(kù)區(qū)。
此外,從歐洲專(zhuān)利444,544還知道更新或恢復(fù)數(shù)據(jù)的作法。在此情況下,用多個(gè)指示器來(lái)指出不同的數(shù)據(jù)范圍。各指示器是更新時(shí)使用的。因此,該專(zhuān)利公開(kāi)了用存取結(jié)構(gòu)轉(zhuǎn)移所指示的目標(biāo)以便進(jìn)行更新的作法,但沒(méi)有談到從后備區(qū)將存取結(jié)構(gòu)轉(zhuǎn)移到數(shù)據(jù)庫(kù)區(qū),以便隨存儲(chǔ)在記錄中的改變更新數(shù)據(jù)庫(kù)區(qū)。
本發(fā)明的目的是提供本說(shuō)明書(shū)開(kāi)端所述的那一種方法,用該方法使數(shù)據(jù)庫(kù)中主存儲(chǔ)器的使用過(guò)程達(dá)到最佳狀態(tài)。
按照本發(fā)明,上述目的是這樣達(dá)到的只將各相同的目標(biāo)復(fù)制品存入主存儲(chǔ)器中的一存儲(chǔ)單元,在主存儲(chǔ)器的后備區(qū)只存儲(chǔ)自最近后備操作以來(lái)未經(jīng)更新的那些目標(biāo),并只將經(jīng)更新的目標(biāo)存入數(shù)據(jù)庫(kù),在再裝入數(shù)據(jù)庫(kù)時(shí)只將存取結(jié)構(gòu)從后備區(qū)復(fù)制到數(shù)據(jù)庫(kù)區(qū),而且使數(shù)據(jù)庫(kù)能在后備區(qū)中存取目標(biāo)。
現(xiàn)在參看附圖更詳細(xì)地說(shuō)明本發(fā)明的內(nèi)容。附圖中
圖1示意示出了公知的解決主存儲(chǔ)器后備問(wèn)題的辦法;
圖2以圖1同樣的方式示意示出了本發(fā)明的原理。
圖1旨在表示公知的解決辦法,圖中分成兩部分部分2和部分4,分別示意表示計(jì)算機(jī)主存儲(chǔ)器中的數(shù)據(jù)庫(kù)區(qū)和后備區(qū)。相應(yīng)的目錄6和8與各區(qū)有關(guān),目錄中列有目標(biāo)連同級(jí)別和關(guān)鍵詞一覽表。在知道有關(guān)的級(jí)別和關(guān)鍵詞的情況下,分別借助于指示器10和12可以選取待處理的目標(biāo)。從圖中可以看到,各目錄包括例如四個(gè)目標(biāo)A、B、C、D。最近后備操作以來(lái)經(jīng)過(guò)更新的那些目標(biāo),圖中用角撇號(hào)表示。目標(biāo)A和C自最近后備操作以來(lái)已更新為A′和C′。目標(biāo)B和C則沒(méi)有更新過(guò)。
圖1示出了公知解決辦法的特點(diǎn),即數(shù)據(jù)區(qū)2和后備區(qū)4一起含有全部目標(biāo)的復(fù)制副本,甚至包括那些在兩次后備操作之間未改變的目標(biāo)。
圖2中那些與圖1中相當(dāng)?shù)脑猛瑯拥姆?hào)表示。圖2示出了本發(fā)明的特點(diǎn),即相同的目標(biāo)復(fù)制品只存入主存儲(chǔ)器中的一個(gè)存儲(chǔ)單元中,且數(shù)據(jù)庫(kù)是為存取后備區(qū)中的各目標(biāo)實(shí)施的。這樣,不同的目標(biāo)復(fù)制品就存儲(chǔ)在主存儲(chǔ)器的不同存儲(chǔ)單元中。在最佳實(shí)施例的情況下,只有那些自最近后備操作以來(lái)已更新的目標(biāo)存入數(shù)據(jù)庫(kù)2中,而只有未更新的目標(biāo)存入后備區(qū)4中。改變數(shù)據(jù)庫(kù)的目的是指出后備區(qū)4中的那些受到寫(xiě)保護(hù)但可以讀出數(shù)據(jù)的目標(biāo)。
更具體地說(shuō),只有經(jīng)更新的目標(biāo)A′和C′存入數(shù)據(jù)庫(kù)區(qū)2中,目標(biāo)A、B、C和D則存入后備區(qū)4中,改變數(shù)據(jù)庫(kù)的目的是指出后備區(qū)4中的目標(biāo)B和D,分別如箭頭14和16所示。
本發(fā)明有許多重要的好處。
由于只有那些自最近后備操作以來(lái)改變過(guò)的目標(biāo)存入數(shù)據(jù)庫(kù)區(qū)中,因而節(jié)約了存儲(chǔ)空間,從而降低了計(jì)算機(jī)的制造成本。
再裝入時(shí),由于所有經(jīng)改變的目標(biāo)存入數(shù)據(jù)庫(kù)區(qū)中,因而可以獲得特性增益而不致丟失后備數(shù)據(jù)。各目標(biāo)是在數(shù)據(jù)庫(kù)區(qū)中擦拭掉的,只有存取結(jié)構(gòu)從后備區(qū)復(fù)制到數(shù)據(jù)庫(kù)區(qū),且讀取記錄。
可以對(duì)后備數(shù)據(jù)進(jìn)行寫(xiě)保護(hù)。
權(quán)利要求
1.一種把后備數(shù)據(jù)存入主存儲(chǔ)器中的方法,其特征在于,只將相同的目標(biāo)復(fù)制品存入主存儲(chǔ)器中的一個(gè)存儲(chǔ)單元中,具體作法是只將那些自最后備操作以來(lái)未經(jīng)更新的目標(biāo)存入后備區(qū),同時(shí)在數(shù)據(jù)庫(kù)區(qū)只存儲(chǔ)經(jīng)更新的目標(biāo);再裝數(shù)據(jù)庫(kù)時(shí),只將存取結(jié)構(gòu)從后備區(qū)復(fù)制到數(shù)據(jù)庫(kù)區(qū);且使數(shù)據(jù)庫(kù)能存取后備區(qū)中的目標(biāo)。
2.根據(jù)權(quán)利要求1的方法,其特征在于,后備區(qū)受到寫(xiě)保護(hù)。
3.根據(jù)權(quán)利要求1或2的方法,其特征在于,隨著記錄中存儲(chǔ)的改變而更新數(shù)據(jù)庫(kù)區(qū)。
全文摘要
當(dāng)往主存儲(chǔ)器中存入后備數(shù)據(jù)時(shí),以下列方式使存儲(chǔ)空間達(dá)到最佳狀態(tài)只在主存儲(chǔ)器的存儲(chǔ)單元中存儲(chǔ)相同的目標(biāo)復(fù)制品,且使數(shù)據(jù)庫(kù)能存取后備區(qū)(4)中的目標(biāo)。更具體地說(shuō),在主存儲(chǔ)器的后備區(qū)(4)中只存儲(chǔ)那些自最近后備操作以來(lái)未經(jīng)更新的目標(biāo),在數(shù)據(jù)庫(kù)區(qū)(2)中只存儲(chǔ)經(jīng)更新的目標(biāo)。后備區(qū)受到寫(xiě)保護(hù)。
文檔編號(hào)G06F17/30GK1092887SQ9312075
公開(kāi)日1994年9月28日 申請(qǐng)日期1993年12月8日 優(yōu)先權(quán)日1992年12月8日
發(fā)明者B·E·S·拉松, I·M·桑謝斯 申請(qǐng)人:艾利森電話(huà)股份有限公司