專(zhuān)利名稱(chēng):備份并恢復(fù)用于所選數(shù)據(jù)庫(kù)對(duì)象的安全信息的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)備份與恢復(fù)的領(lǐng)域,并且具體地涉及用于從整體數(shù)據(jù)庫(kù)備份 (monolithic database backup)中選擇性地恢復(fù)對(duì)象同時(shí)維持用于所恢復(fù)的這些對(duì)象的相關(guān)聯(lián)的安全關(guān)系的一種方法和系統(tǒng)。
背景技術(shù):
對(duì)信息以及以不同的形式產(chǎn)生、處理、分配、和維持此類(lèi)信息的計(jì)算系統(tǒng)的不斷增長(zhǎng)的依賴(lài)?yán)^續(xù)對(duì)于存儲(chǔ)、備份、以及恢復(fù)此類(lèi)信息的多種技術(shù)提出巨大需求。隨著商界采用多種技術(shù)用于遍及整個(gè)企業(yè)來(lái)集中信息資源以便使之能夠進(jìn)行協(xié)調(diào)和文檔管理,此類(lèi)信息的存儲(chǔ)、備份和恢復(fù)對(duì)于企業(yè)的運(yùn)轉(zhuǎn)而言變得更加關(guān)鍵。
在一個(gè)典型的企業(yè)級(jí)的合作和文檔管理平臺(tái)中,來(lái)自一個(gè)或多個(gè)面向用戶(hù)的應(yīng)用程序?qū)ο蟮臄?shù)據(jù)可以被存儲(chǔ)在一個(gè)集中式的存儲(chǔ)對(duì)象(例如一個(gè)數(shù)據(jù)庫(kù))之中。維持來(lái)自多種應(yīng)用程序?qū)ο蟮臄?shù)據(jù)的數(shù)據(jù)庫(kù)可以被配置為維持由這些應(yīng)用程序?qū)ο笏┘拥臄?shù)據(jù)關(guān)系或?qū)蛹?jí)結(jié)構(gòu)。這種數(shù)據(jù)庫(kù)可以進(jìn)一步具有多種相關(guān)聯(lián)的安全關(guān)系,這些安全關(guān)系允許用戶(hù)和/或用戶(hù)組訪問(wèn)多個(gè)應(yīng)用程序?qū)ο?。任何用于此?lèi)數(shù)據(jù)庫(kù)的備份和恢復(fù)方案必須維持由這些應(yīng)用程序?qū)ο笏鶆?chuàng)建的數(shù)據(jù)的以及與這些對(duì)象相關(guān)聯(lián)的安全的關(guān)系和層級(jí)結(jié)構(gòu)。
對(duì)這樣一種數(shù)據(jù)庫(kù)進(jìn)行備份和恢復(fù)的傳統(tǒng)方法是人力和資源密集的。例如,假定在數(shù)據(jù)庫(kù)中有大批的基于應(yīng)用程序?qū)ο蟮膮^(qū)域,那么備份管理員將有責(zé)任知道并選擇那些需要保護(hù)的數(shù)據(jù)庫(kù)部分。對(duì)于數(shù)據(jù)保護(hù)的這種預(yù)先的、粒度的方式要求備份管理員(他可能并不是數(shù)據(jù)庫(kù)管理員)知道數(shù)據(jù)庫(kù)的拓?fù)浣Y(jié)構(gòu)以便為一個(gè)特定的應(yīng)用程序?qū)ο蠼⒁环N保護(hù)機(jī)制。另外,對(duì)一個(gè)應(yīng)用程序的層級(jí)性對(duì)象結(jié)構(gòu)所做出的任何改變都需要在那些改變發(fā)生時(shí)由備份管理員將其考慮在內(nèi)。這種傳統(tǒng)的備份途徑被稱(chēng)為粒度備份方案,因?yàn)樵跀?shù)據(jù)庫(kù)中與每個(gè)應(yīng)用程序?qū)ο笙嚓P(guān)聯(lián)的這些區(qū)域是被分別地進(jìn)行備份的。在粒度備份方案下,可以合理地將目標(biāo)確定為恢復(fù)與一個(gè)特定的應(yīng)用程序?qū)ο笙嚓P(guān)的數(shù)據(jù),因?yàn)槊總€(gè)應(yīng)用程序?qū)ο缶哂兴约旱膫浞菁稀?br>
一種替代的備份方法是將整個(gè)數(shù)據(jù)庫(kù)整體地備份。從數(shù)據(jù)庫(kù)的這樣一種整體備份中恢復(fù)數(shù)據(jù)的一種傳統(tǒng)的方法是將整個(gè)數(shù)據(jù)庫(kù)快照恢復(fù)到一個(gè)臨時(shí)區(qū)域上并且然后從數(shù)據(jù)庫(kù)中選擇所希望的信息以便包括一個(gè)有效的目標(biāo)數(shù)據(jù)庫(kù)。數(shù)據(jù)選擇的這樣一種后端方法的缺點(diǎn)是它要花費(fèi)時(shí)間從一個(gè)數(shù)據(jù)庫(kù)備份中恢復(fù)所有的數(shù)據(jù)、然后再?gòu)闹羞x擇所希望的信息并且數(shù)據(jù)庫(kù)的臨時(shí)復(fù)本消耗了硬盤(pán)資源。
因此,令人希望的是得到一種機(jī)制,該機(jī)制實(shí)現(xiàn)將整個(gè)數(shù)據(jù)庫(kù)整體地備份的效率, 從而不要求備份管理員熟悉正在備份的數(shù)據(jù)庫(kù)的結(jié)構(gòu)。同樣令人希望的是當(dāng)希望時(shí)用戶(hù)能夠選擇性地恢復(fù)所備份的數(shù)據(jù)庫(kù)的多個(gè)部分以便加快恢復(fù)時(shí)間。進(jìn)一步令人希望的是維持與選擇性恢復(fù)的所備份數(shù)據(jù)庫(kù)的多個(gè)部分相關(guān)聯(lián)的任何安全規(guī)定并將其應(yīng)用到該數(shù)據(jù)庫(kù)的那些所恢復(fù)的部分上。
發(fā)明內(nèi)容
本發(fā)明的多個(gè)實(shí)施方案提供了一種機(jī)制用于選擇性地恢復(fù)一個(gè)整體備份的數(shù)據(jù)庫(kù)的多個(gè)部分同時(shí)維持與該數(shù)據(jù)庫(kù)的所恢復(fù)的這些部分相關(guān)聯(lián)的安全關(guān)系。本發(fā)明的多個(gè)實(shí)施方案提供了一種方法、系統(tǒng)及計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì),它們提供了一種機(jī)制用于接收從一個(gè)數(shù)據(jù)庫(kù)備份的多個(gè)已備份對(duì)象中恢復(fù)一個(gè)所選對(duì)象的一個(gè)請(qǐng)求、在該數(shù)據(jù)庫(kù)備份中訪問(wèn)與所選對(duì)象相關(guān)聯(lián)的安全相關(guān)信息、使用與所選對(duì)象相關(guān)聯(lián)的信息將所選對(duì)象恢復(fù)到一個(gè)目標(biāo)區(qū)域中、并且將該安全相關(guān)信息的多個(gè)元素與所恢復(fù)的所選對(duì)象進(jìn)行關(guān)聯(lián)。
以上多個(gè)實(shí)施方案的多個(gè)方面使用了在創(chuàng)建該備份時(shí)從所備份的數(shù)據(jù)庫(kù)中收集的數(shù)據(jù)庫(kù)表元數(shù)據(jù)以便在該數(shù)據(jù)庫(kù)備份中對(duì)與所選對(duì)象相關(guān)聯(lián)的安全相關(guān)信息進(jìn)行定位。 本發(fā)明的多個(gè)進(jìn)一步的方面使用所選對(duì)象的安全相關(guān)信息中的一個(gè)或多個(gè)元素生成與該對(duì)象相關(guān)聯(lián)的一個(gè)安全碼并且從該安全碼中得出用于所恢復(fù)的對(duì)象的安全相關(guān)信息。本發(fā)明的另一個(gè)方面選擇該安全相關(guān)信息中的一個(gè)或多個(gè)元素用于與所恢復(fù)的對(duì)象進(jìn)行關(guān)聯(lián)并且可以通過(guò)確定與所選對(duì)象相關(guān)聯(lián)的一種層級(jí)結(jié)構(gòu)中的一個(gè)層級(jí)以及與該層級(jí)結(jié)構(gòu)中的該層級(jí)相關(guān)的安全信息來(lái)進(jìn)行此選擇。
上述是一種概述并且因此(必然地)包含了細(xì)節(jié)的簡(jiǎn)化、概括及省略;因此本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到該概述僅是說(shuō)明性的而并非旨在是以任何方式來(lái)限制。本發(fā)明的其他方面、發(fā)明性特征及優(yōu)點(diǎn)(如僅由權(quán)利要求書(shū)所限定的)將在以下給出的非限制性的詳細(xì)描述中變得清楚。
通過(guò)參見(jiàn)附圖可以更好地理解本發(fā)明,并且使其眾多的目的、特征和優(yōu)點(diǎn)對(duì)本領(lǐng)域的技術(shù)人員而言變得清楚。
圖1是一個(gè)簡(jiǎn)化框圖,展示了一種可配置為采用本發(fā)明的多個(gè)實(shí)施方案的網(wǎng)絡(luò)的實(shí)例。
圖2是一個(gè)簡(jiǎn)化框圖,展示了一種在數(shù)據(jù)庫(kù)中的對(duì)象布局的實(shí)例,該數(shù)據(jù)庫(kù)可與本發(fā)明的多個(gè)實(shí)施方案一起使用。
圖3是一個(gè)簡(jiǎn)化流程圖,展示了根據(jù)本發(fā)明的多個(gè)實(shí)施方案的備份過(guò)程。
圖4是一個(gè)簡(jiǎn)化的流程圖,展示了根據(jù)本發(fā)明的多個(gè)實(shí)施方案的數(shù)據(jù)庫(kù)恢復(fù)操作。
圖5是一個(gè)簡(jiǎn)化的框圖,展示了在多個(gè)安全相關(guān)的對(duì)象之間的關(guān)系,這些安全相關(guān)的對(duì)象可以在可以與本發(fā)明的多個(gè)實(shí)施方案聯(lián)合使用的數(shù)據(jù)庫(kù)中用于控制對(duì)多個(gè)應(yīng)用程序?qū)ο蟮脑L問(wèn)。
圖6是一個(gè)簡(jiǎn)化的流程圖,展示了根據(jù)本發(fā)明的多個(gè)實(shí)施方案的數(shù)據(jù)庫(kù)恢復(fù)操作的一部分,該數(shù)據(jù)庫(kù)恢復(fù)操作提供了與一個(gè)正在被恢復(fù)的對(duì)象相關(guān)聯(lián)的安全信息。
圖7描繪了一種計(jì)算機(jī)系統(tǒng)的框圖,該計(jì)算機(jī)系統(tǒng)適合用于實(shí)施本發(fā)明的多個(gè)實(shí)施方案。
圖8是一個(gè)框圖,描繪了一種適合用于實(shí)施本發(fā)明的多個(gè)實(shí)施方案的網(wǎng)絡(luò)體系結(jié)構(gòu)。
具體實(shí)施例方式本發(fā)明的多個(gè)實(shí)施方案提供了一種機(jī)制用于從存儲(chǔ)應(yīng)用程序?qū)ο髷?shù)據(jù)的數(shù)據(jù)庫(kù)的整體備份中選擇性地恢復(fù)應(yīng)用程序?qū)ο髷?shù)據(jù)。本發(fā)明的多個(gè)實(shí)施方案通過(guò)在數(shù)據(jù)庫(kù)備份時(shí)識(shí)別存儲(chǔ)在數(shù)據(jù)庫(kù)中的元數(shù)據(jù)來(lái)提供這種能力,該元數(shù)據(jù)描述了該應(yīng)用程序?qū)ο髷?shù)據(jù)、 該應(yīng)用程序?qū)ο髷?shù)據(jù)存儲(chǔ)其中的結(jié)構(gòu)、那些結(jié)構(gòu)之間的相互關(guān)系、以及與這些結(jié)構(gòu)相關(guān)聯(lián)的安全規(guī)定。本發(fā)明的多個(gè)實(shí)施方案可以存儲(chǔ)關(guān)于有待在恢復(fù)操作過(guò)程中使用的這種元數(shù)據(jù)的信息。在一個(gè)恢復(fù)操作過(guò)程中,本發(fā)明的多個(gè)實(shí)施方案可以訪問(wèn)與元數(shù)據(jù)有關(guān)的已存儲(chǔ)信息并且使用該信息來(lái)直接訪問(wèn)數(shù)據(jù)庫(kù)備份中的元數(shù)據(jù)。本發(fā)明的多個(gè)實(shí)施方案使用所訪問(wèn)的元數(shù)據(jù)向用戶(hù)恢復(fù)數(shù)據(jù)提供對(duì)從數(shù)據(jù)庫(kù)中備份的數(shù)據(jù)以及此類(lèi)數(shù)據(jù)之間的關(guān)系 (例如,數(shù)據(jù)結(jié)構(gòu)的層級(jí)結(jié)構(gòu))的描述。本發(fā)明的多個(gè)實(shí)施方案可以進(jìn)一步訪問(wèn)從來(lái)自數(shù)據(jù)庫(kù)備份的此類(lèi)描述中所選擇的數(shù)據(jù)并且將該信息恢復(fù)到一個(gè)目標(biāo)數(shù)據(jù)庫(kù)中。本發(fā)明的多個(gè)實(shí)施方案還可以訪問(wèn)與所選數(shù)據(jù)相關(guān)聯(lián)的安全相關(guān)信息并且按需要恢復(fù)該信息。以此方式,能夠以一種整體的方式高效率地對(duì)包括來(lái)自一個(gè)或多個(gè)應(yīng)用程序?qū)ο蟮臄?shù)據(jù)的一個(gè)數(shù)據(jù)庫(kù)進(jìn)行備份,并且然后以一種有目標(biāo)的方式高效率地將其恢復(fù)。另外,由于備份管理員不需要熟悉正在對(duì)其進(jìn)行備份的數(shù)據(jù)庫(kù)的結(jié)構(gòu),而是將熟悉結(jié)構(gòu)的任務(wù)留給要恢復(fù)一個(gè)特定的數(shù)據(jù)集的人,所以人力資源更有效率地得到利用。
圖1是一個(gè)簡(jiǎn)化框圖,展示了一種可配置為采用本發(fā)明的多個(gè)實(shí)施方案的網(wǎng)絡(luò)的實(shí)例。數(shù)據(jù)庫(kù)服務(wù)器110被直接地或間接地連接到存儲(chǔ)了數(shù)據(jù)庫(kù)120的多個(gè)存儲(chǔ)卷上。在數(shù)據(jù)庫(kù)120中存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)應(yīng)用程序?qū)ο罂梢栽L問(wèn)數(shù)據(jù)庫(kù)120。數(shù)據(jù)庫(kù)服務(wù)器 110連接到網(wǎng)絡(luò)130上,該網(wǎng)絡(luò)提供了去向以及來(lái)自該數(shù)據(jù)庫(kù)服務(wù)器的訪問(wèn)。網(wǎng)絡(luò)130典型地是用于一個(gè)機(jī)構(gòu)的企業(yè)級(jí)網(wǎng)絡(luò),并且可以包括但不限于局域網(wǎng)、城域網(wǎng)、廣域網(wǎng)、以及類(lèi)似的網(wǎng)絡(luò)。網(wǎng)絡(luò)130可以由標(biāo)準(zhǔn)的網(wǎng)絡(luò)硬件和協(xié)議(包括,例如,以太網(wǎng)路由器、光纜等等)來(lái)支持。網(wǎng)絡(luò)130還可以連接企業(yè)的一個(gè)或多個(gè)位置中的計(jì)算機(jī)設(shè)備(例如,客戶(hù)端 140 (1)-(N)),由此提供從那些客戶(hù)端到數(shù)據(jù)庫(kù)服務(wù)器110的通信。
圖1所示的網(wǎng)絡(luò)還連接到網(wǎng)絡(luò)服務(wù)器150上。網(wǎng)絡(luò)服務(wù)器150可以提供到一個(gè)應(yīng)用程序的用戶(hù)訪問(wèn),該應(yīng)用程序與一個(gè)或多個(gè)應(yīng)用程序?qū)ο笙嚓P(guān)聯(lián)。網(wǎng)絡(luò)130可以具有一個(gè)或多個(gè)網(wǎng)絡(luò)服務(wù)器150,它們各自提供一個(gè)分離的應(yīng)用程序或者提供分布同一個(gè)應(yīng)用程序的多個(gè)網(wǎng)絡(luò)服務(wù)器。網(wǎng)絡(luò)服務(wù)器150通過(guò)與數(shù)據(jù)庫(kù)服務(wù)器110進(jìn)行通信來(lái)提供一個(gè)應(yīng)用程序?qū)ο竽P鸵员阍L問(wèn)存儲(chǔ)在數(shù)據(jù)庫(kù)120中的數(shù)據(jù)。在網(wǎng)絡(luò)服務(wù)器150與數(shù)據(jù)庫(kù)服務(wù)器110 之間的此類(lèi)通信可以是通過(guò)一個(gè)應(yīng)用程序接口(API),該應(yīng)用程序接口由多個(gè)應(yīng)用程序?qū)ο笏蚕?,這些應(yīng)用程序?qū)ο笥删W(wǎng)絡(luò)服務(wù)器150和數(shù)據(jù)庫(kù)服務(wù)器110提供服務(wù)。
備份服務(wù)器160被連接到網(wǎng)絡(luò)130上并且被配置為將存儲(chǔ)在網(wǎng)絡(luò)130上的數(shù)據(jù)的備份圖像存儲(chǔ)在一個(gè)或多個(gè)備份存儲(chǔ)卷170中。備份服務(wù)器160可以被配置為運(yùn)行多種類(lèi)型的備份實(shí)用程序,在進(jìn)行備份時(shí),這些備份實(shí)用程序提供了網(wǎng)絡(luò)上數(shù)據(jù)的多個(gè)快照。例如,備份服務(wù)器160可以通過(guò)經(jīng)由數(shù)據(jù)庫(kù)服務(wù)器110直接訪問(wèn)數(shù)據(jù)來(lái)對(duì)數(shù)據(jù)庫(kù)120進(jìn)行備份。以此方式,可以通過(guò)數(shù)據(jù)庫(kù)服務(wù)器的SQL接口進(jìn)行數(shù)據(jù)庫(kù)120的完全整體備份而無(wú)論存儲(chǔ)在該數(shù)據(jù)庫(kù)內(nèi)的特定的數(shù)據(jù)結(jié)構(gòu)如何。可替代地,如果希望對(duì)數(shù)據(jù)庫(kù)120的一個(gè)特定的部分進(jìn)行備份,備份服務(wù)器160可以通過(guò)相關(guān)聯(lián)的應(yīng)用程序的網(wǎng)絡(luò)服務(wù)器150來(lái)訪問(wèn)一個(gè)具體的應(yīng)用程序?qū)ο蟮臄?shù)據(jù)。以此方式,可以進(jìn)行對(duì)存儲(chǔ)在數(shù)據(jù)庫(kù)120中的一個(gè)具體的
7應(yīng)用程序?qū)ο蟮牧6葌浞荨?br>
如上所述,進(jìn)行粒度備份不利的一面是消耗了與該具體的應(yīng)用程序相關(guān)聯(lián)的網(wǎng)絡(luò)服務(wù)器150的資源。這種對(duì)網(wǎng)絡(luò)服務(wù)器資源的消耗可能在備份時(shí)間過(guò)程中減緩或停止對(duì)所服務(wù)的應(yīng)用程序的訪問(wèn)。通過(guò)經(jīng)由數(shù)據(jù)庫(kù)服務(wù)器110直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份,避免了消耗網(wǎng)絡(luò)服務(wù)器資源。但是,在傳統(tǒng)的備份方案中,然后只能通過(guò)恢復(fù)整個(gè)數(shù)據(jù)庫(kù)并且然后從所恢復(fù)的數(shù)據(jù)中選擇數(shù)據(jù)來(lái)實(shí)現(xiàn)特定的應(yīng)用程序?qū)ο髷?shù)據(jù)的恢復(fù)。這樣的恢復(fù)和選擇操作既消耗了時(shí)間又消耗了物理資源(例如,要求用于存儲(chǔ)被完整恢復(fù)的備份的磁盤(pán)空間)。
圖2是一個(gè)簡(jiǎn)化框圖,展示了在數(shù)據(jù)庫(kù)120中的一種對(duì)象布局的實(shí)例,該數(shù)據(jù)庫(kù)可與本發(fā)明的多個(gè)實(shí)施方案聯(lián)合使用。數(shù)據(jù)庫(kù)120包含被標(biāo)識(shí)為站點(diǎn)(I)-(P)的一個(gè)或多個(gè)容器。每個(gè)站點(diǎn)可以與一個(gè)特定的應(yīng)用程序相關(guān)聯(lián)。因此每個(gè)站點(diǎn)是一個(gè)應(yīng)用程序?qū)ο螅?該應(yīng)用程序?qū)ο缶哂杏稍撜军c(diǎn)與一個(gè)具體的應(yīng)用程序的關(guān)聯(lián)所定義的一個(gè)唯一的特征集。 一個(gè)站點(diǎn)可以具有(例如)一個(gè)相關(guān)聯(lián)的URL、一個(gè)唯一的標(biāo)識(shí)符、一個(gè)所有者標(biāo)識(shí)符、相關(guān)聯(lián)的安全信息、相關(guān)聯(lián)的磁盤(pán)配額和磁盤(pán)使用信息、等等。一個(gè)或多個(gè)站點(diǎn)可以與一個(gè)具體的應(yīng)用程序相關(guān)聯(lián),這取決于該應(yīng)用程序的性質(zhì)。
站點(diǎn)可以與其他的容器相關(guān)聯(lián)。例如,站點(diǎn)(2)包括兩個(gè)子站點(diǎn)容器子站點(diǎn)(2, 1)和子站點(diǎn)0,2)。每個(gè)子站點(diǎn)可以包括描述該子站點(diǎn)的相關(guān)聯(lián)的信息,如以上對(duì)于一個(gè)站點(diǎn)所述的。盡管每個(gè)子站點(diǎn)與父站點(diǎn)相關(guān)聯(lián),但這些子站點(diǎn)本身是不連接的對(duì)象。
站點(diǎn)和子站點(diǎn)可以進(jìn)一步包含其他的應(yīng)用程序?qū)ο?。一個(gè)此類(lèi)應(yīng)用程序?qū)ο蟮膶?shí)例是一個(gè)列表,該列表也是一個(gè)容器。圖2展示了站點(diǎn)(1)具有多個(gè)相關(guān)聯(lián)的列表對(duì)象 (例如,列表(1,1)和列表(1,2))。子站點(diǎn)(2,1)也具有多個(gè)相關(guān)聯(lián)的列表(例如,列表 (2,1,1)和列表0,1,2))。另一方面,子站點(diǎn)(2,2)具有一個(gè)單一的列表(例如,列表(2, 2,1))。列表對(duì)象也可以具有相關(guān)聯(lián)的信息,該信息可以包括(例如)該列表所屬站點(diǎn)的標(biāo)識(shí)符、該列表的名稱(chēng)、創(chuàng)建日期和時(shí)間信息、安全信息、該列表的類(lèi)型(例如,存儲(chǔ)在該列表中的信息的類(lèi)型),等等。除了與列表直接相關(guān)聯(lián)的此類(lèi)特征,列表還可以繼承與包含該列表的站點(diǎn)和/或子站點(diǎn)相關(guān)聯(lián)的多個(gè)特征。因此,例如,列表可以獲得與該列表相關(guān)聯(lián)的站點(diǎn)相關(guān)聯(lián)的安全保護(hù)。
如圖2所示,列表可以包含多個(gè)相關(guān)聯(lián)的條目或數(shù)據(jù)對(duì)象。每個(gè)列表可以與一種特定類(lèi)型的條目相關(guān)聯(lián)。條目對(duì)象可以具有多個(gè)相關(guān)聯(lián)的特征,比如將該條目與一個(gè)具體的列表和/或站點(diǎn)相關(guān)聯(lián)的標(biāo)識(shí)符、輸入或修改該條目的一個(gè)用戶(hù)的標(biāo)識(shí)符、與該條目相關(guān)聯(lián)的數(shù)據(jù)類(lèi)型、以及該條目對(duì)象的值。同樣,一個(gè)條目也可以繼承該條目所屬的列表和/ 或該條目相關(guān)聯(lián)的站點(diǎn)或子站點(diǎn)的多種特征。
數(shù)據(jù)庫(kù)120不僅能夠存儲(chǔ)這些容器以及它們相關(guān)聯(lián)的數(shù)據(jù),并且還能夠存儲(chǔ)這些容器的元數(shù)據(jù)描述以及它們相關(guān)聯(lián)的數(shù)據(jù),包括它們的相互關(guān)系。數(shù)據(jù)庫(kù)120可以將此類(lèi)元數(shù)據(jù)存儲(chǔ)在與列表、條目、站點(diǎn)、和子站點(diǎn)、等等相關(guān)聯(lián)的表中。確實(shí),對(duì)于存儲(chǔ)在數(shù)據(jù)庫(kù) 120內(nèi)的每種類(lèi)型的應(yīng)用程序?qū)ο罂梢蕴峁┮粋€(gè)分離的元數(shù)據(jù)表。
使用如所述的數(shù)據(jù)庫(kù)的系統(tǒng)的一個(gè)實(shí)例是微軟公司的SharePoint 應(yīng)用程序。盡管本發(fā)明的多個(gè)實(shí)施方案并不限于同SharePoint .數(shù)據(jù)庫(kù)聯(lián)合使用,本發(fā)明的多個(gè)實(shí)施方案可以與SharePoint 數(shù)據(jù)庫(kù)一起使用,并且以下將使用SharePoint 術(shù)語(yǔ)來(lái)提供多個(gè)實(shí)例。應(yīng)當(dāng)理解,使用此類(lèi)術(shù)語(yǔ)并非意在是限制性的,并且本發(fā)明的多個(gè)實(shí)施方案可以與將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)環(huán)境下的多個(gè)對(duì)象中的多種應(yīng)用程序一起使用。
應(yīng)當(dāng)進(jìn)一步注意,在多個(gè)站點(diǎn)、子站點(diǎn)、列表及條目之間的關(guān)系是一種層級(jí)性關(guān)系。如以上討論的,在一個(gè)應(yīng)用程序?qū)ο髮蛹?jí)結(jié)構(gòu)內(nèi)的子對(duì)象可以繼承父對(duì)象的多個(gè)特征。 另外,使用以上討論的容器的類(lèi)比,一個(gè)子容器對(duì)象(比如一個(gè)列表)被包含在一個(gè)父子站點(diǎn)或父站點(diǎn)內(nèi)。因此,為了將子對(duì)象恢復(fù)到一個(gè)目標(biāo)數(shù)據(jù)庫(kù)上,必須首先恢復(fù)任何尚未被恢復(fù)的父對(duì)象以便將該子對(duì)象適當(dāng)?shù)夭⑶彝暾鼗謴?fù)到該目標(biāo)數(shù)據(jù)庫(kù)內(nèi)。這允許該子對(duì)象既被適當(dāng)?shù)胤胖迷趯蛹?jí)結(jié)構(gòu)中并且從該子對(duì)象的父對(duì)象中繼承多個(gè)特征。
備份應(yīng)用稈序?qū)ο? 圖3是一個(gè)簡(jiǎn)化流程圖,展示了根據(jù)本發(fā)明的多個(gè)實(shí)施方案的備份過(guò)程。備份服務(wù)器160可以接收對(duì)數(shù)據(jù)庫(kù)120進(jìn)行備份的一個(gè)請(qǐng)求(310)。此時(shí),發(fā)起了兩個(gè)過(guò)程。這些過(guò)程可以同時(shí)發(fā)生或者順序地發(fā)生,但是在時(shí)間上要足夠接近使得數(shù)據(jù)庫(kù)120的結(jié)構(gòu)是相同的。對(duì)數(shù)據(jù)庫(kù)進(jìn)行了整體備份(320)。這樣的一個(gè)備份可以是數(shù)據(jù)庫(kù)120的一個(gè)快照,該快照包括備份時(shí)與該數(shù)據(jù)庫(kù)相關(guān)的所有信息。該整體備份是使用在備份服務(wù)器與數(shù)據(jù)庫(kù)服務(wù)器之間的直接交互來(lái)進(jìn)行的。這個(gè)備份不是使用由(例如)網(wǎng)絡(luò)服務(wù)器150提供的應(yīng)用程序?qū)ο竽P蛠?lái)進(jìn)行的。
此外,可以就元數(shù)據(jù)表信息來(lái)詢(xún)問(wèn)數(shù)據(jù)庫(kù)120(330)。元數(shù)據(jù)表信息包括有關(guān)表的信息,這些表包含了數(shù)據(jù)庫(kù)120內(nèi)的不同對(duì)象結(jié)構(gòu)的特征。所尋找的表信息可以包括這個(gè)表的索引、表在數(shù)據(jù)庫(kù)內(nèi)的偏移(例如,表的位置)、表的名稱(chēng)、以及表的結(jié)構(gòu)。以此方式,對(duì)識(shí)別并定位每個(gè)表的信息進(jìn)行收集,這些表描述了數(shù)據(jù)庫(kù)120內(nèi)的感興趣的對(duì)象。
本發(fā)明的多個(gè)實(shí)施方案收集這種元數(shù)據(jù)表信息,這樣使得在恢復(fù)操作時(shí)能夠訪問(wèn)這些表。因此,收集了足夠的信息以允許此類(lèi)元數(shù)據(jù)表訪問(wèn),但不是實(shí)際存儲(chǔ)在這些表本身中的信息。一旦收集了元數(shù)據(jù)表信息,可以存儲(chǔ)該元數(shù)據(jù)表信息(340)。此類(lèi)存儲(chǔ)可以采取 (例如)多個(gè)表的一份清單的形式。在題為“用于恢復(fù)應(yīng)用程序級(jí)別的對(duì)象的技術(shù)”的未決美國(guó)專(zhuān)利申請(qǐng)序列號(hào)11/960,309中說(shuō)明了可以進(jìn)行此類(lèi)訪問(wèn)并存儲(chǔ)元數(shù)據(jù)表信息的一個(gè)實(shí)用程序的實(shí)例,該申請(qǐng)通過(guò)引用以其所披露的全部?jī)?nèi)容結(jié)合在此。
一旦備份完成并且元數(shù)據(jù)表信息已經(jīng)被存儲(chǔ),該元數(shù)據(jù)表信息與數(shù)據(jù)庫(kù)的備份就是相關(guān)聯(lián)的(350)。這樣一種關(guān)聯(lián)使之能夠在恢復(fù)操作過(guò)程中訪問(wèn)所存儲(chǔ)的元數(shù)據(jù)表信息的清單。
恢復(fù)所選的應(yīng)用程序?qū)ο? 圖4是一個(gè)簡(jiǎn)化流程圖,展示了根據(jù)本發(fā)明的多個(gè)實(shí)施方案的數(shù)據(jù)庫(kù)恢復(fù)操作。 響應(yīng)于從一個(gè)特定的備份中恢復(fù)應(yīng)用程序?qū)ο笮畔⒌囊粋€(gè)用戶(hù)請(qǐng)求,恢復(fù)實(shí)用程序可以讀取與該特定的備份相關(guān)聯(lián)的元數(shù)據(jù)表信息以便確定描述該備份中的多個(gè)應(yīng)用程序?qū)ο蟮亩鄠€(gè)表的位置和結(jié)構(gòu)G10)。然后,恢復(fù)實(shí)用程序可以使用來(lái)自該元數(shù)據(jù)表的信息的信息從該備份中直接讀取表數(shù)據(jù)G15)。一旦已經(jīng)讀取了該表數(shù)據(jù),然后就可以解讀該數(shù)據(jù)以便確定在該數(shù)據(jù)庫(kù)備份內(nèi)的多個(gè)應(yīng)用程序?qū)ο蟮囊环N層級(jí)結(jié)構(gòu)G20)。然后,可以將所解讀的對(duì)象層級(jí)結(jié)構(gòu)顯示給用戶(hù)025)。然后用戶(hù)可以審查所顯示的對(duì)象層級(jí)結(jié)構(gòu)以便確定用戶(hù)想要恢復(fù)的那些對(duì)象。用戶(hù)可以在該層級(jí)結(jié)構(gòu)的任何層級(jí)上選擇一個(gè)對(duì)象。
一旦用戶(hù)選擇了所希望的有待恢復(fù)的對(duì)象,恢復(fù)實(shí)用程序可以接收這些對(duì)象選擇 (430)。在這一點(diǎn)上,恢復(fù)實(shí)用程序開(kāi)始恢復(fù)操作以便對(duì)恢復(fù)每個(gè)所選對(duì)象所必需的層級(jí)結(jié)構(gòu)中的所有對(duì)象進(jìn)行恢復(fù)。例如,如果選擇了一個(gè)列表對(duì)象,則與該列表對(duì)象相關(guān)聯(lián)的任何站點(diǎn)或子站點(diǎn)對(duì)象也要經(jīng)歷恢復(fù)操作。如以上討論的,這是因?yàn)橐粋€(gè)列表對(duì)象(作為一個(gè)站點(diǎn)對(duì)象的子對(duì)象)繼承了父對(duì)象的某些特征。因此,這個(gè)恢復(fù)實(shí)用程序經(jīng)過(guò)一系列的步驟來(lái)恢復(fù)這種層級(jí)結(jié)構(gòu)。
因此,對(duì)于恢復(fù)一個(gè)所選對(duì)象所必需的層級(jí)結(jié)構(gòu)中的頂層對(duì)象成為第一個(gè)有待恢復(fù)的對(duì)象035)。恢復(fù)實(shí)用程序從與有待恢復(fù)的對(duì)象相關(guān)的備份中讀取元數(shù)據(jù)表數(shù)據(jù) (440)。同樣,可以從與該備份相關(guān)聯(lián)的元數(shù)據(jù)表信息中讀取對(duì)與這個(gè)有待恢復(fù)的對(duì)象相關(guān)聯(lián)的一個(gè)或多個(gè)適當(dāng)?shù)脑獢?shù)據(jù)表進(jìn)行定位所必需的信息。一旦已經(jīng)從該表中讀取了與該有待恢復(fù)的對(duì)象相關(guān)的信息,則就有關(guān)該有待恢復(fù)的對(duì)象是否已經(jīng)在該目標(biāo)數(shù)據(jù)庫(kù)中存在做出一個(gè)決定G45)。如果在該目標(biāo)數(shù)據(jù)庫(kù)中尚未存在有待恢復(fù)的對(duì)象,則使用從該備份中讀取的表數(shù)據(jù)在該目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建這個(gè)有待恢復(fù)的對(duì)象G50)。可以通過(guò)將與該對(duì)象相關(guān)的信息提供給一個(gè)由(例如)網(wǎng)絡(luò)服務(wù)器150所服務(wù)的應(yīng)用程序?qū)ο竽P蛠?lái)進(jìn)行這個(gè)有待恢復(fù)的對(duì)象的恢復(fù)。通過(guò)使用該應(yīng)用程序?qū)ο竽P驮谠撃繕?biāo)數(shù)據(jù)庫(kù)中生成該有待恢復(fù)的對(duì)象,保證了結(jié)構(gòu)與它們相關(guān)聯(lián)的應(yīng)用程序的一致性。
在該目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建了該對(duì)象或者確定了該對(duì)象已經(jīng)被恢復(fù)之后,就該有待恢復(fù)的對(duì)象是否與由用戶(hù)選擇用于恢復(fù)的對(duì)象相同做出一個(gè)決定^陽(yáng))。如果這個(gè)有待恢復(fù)的對(duì)象不是用戶(hù)所選的對(duì)象,則選擇下一個(gè)有待恢復(fù)的對(duì)象,該對(duì)象是在恢復(fù)所選對(duì)象所必需的層級(jí)結(jié)構(gòu)中的下一個(gè)對(duì)象G60)。然后,處理過(guò)程再次返回從與這個(gè)新的有待恢復(fù)的對(duì)象相關(guān)的備份中讀取表數(shù)據(jù)(440)并且如上所述重復(fù)該過(guò)程。
如果有待恢復(fù)的對(duì)象是用戶(hù)所選的對(duì)象G55),則就所選對(duì)象是否是用戶(hù)的最后一個(gè)所選對(duì)象做出一個(gè)決定G65)。這就是說(shuō),就現(xiàn)在是否已經(jīng)恢復(fù)了用戶(hù)所選的每個(gè)對(duì)象做出一個(gè)決定。如果不是,則將下一個(gè)所選對(duì)象作為有待恢復(fù)的目標(biāo),并且該過(guò)程返回到確定恢復(fù)該下一個(gè)所選對(duì)象所必需的層級(jí)結(jié)構(gòu)中的頂層對(duì)象035),并且如上所述重復(fù)該過(guò)程。如果所選對(duì)象是用戶(hù)所選的最后一個(gè)對(duì)象065),則該恢復(fù)過(guò)程完成。
通過(guò)使用上述恢復(fù)方法,可以將支持一個(gè)已備份數(shù)據(jù)庫(kù)中的一個(gè)所選對(duì)象所必需的整個(gè)層級(jí)結(jié)構(gòu)恢復(fù)到一個(gè)目標(biāo)數(shù)據(jù)庫(kù)中。此外,通過(guò)訪問(wèn)在數(shù)據(jù)庫(kù)備份內(nèi)存儲(chǔ)的表來(lái)恢復(fù)該對(duì)象的所有特征,這些表包含了描述所請(qǐng)求的對(duì)象所必需的特征。如果需要在目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)對(duì)象(例如,步驟450),該恢復(fù)實(shí)用程序可以訪問(wèn)與該對(duì)象相關(guān)聯(lián)的一個(gè)應(yīng)用程序網(wǎng)絡(luò)服務(wù)器150以便使用從備份表中提取的特征信息在目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建這個(gè)對(duì)象。以此方式,對(duì)于應(yīng)用程序訪問(wèn)該對(duì)象所必需的結(jié)構(gòu)可以通過(guò)應(yīng)用程序?qū)ο竽P蛠?lái)自動(dòng)地創(chuàng)建,并且同時(shí)從該備份中提供描述該對(duì)象所必需的特征信息。
使用這樣一種恢復(fù)技術(shù),可以在目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建多個(gè)容器,這些容器具有與已備份數(shù)據(jù)庫(kù)中的相關(guān)聯(lián)容器的相同特征。因此,用戶(hù)可以在目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建與備份數(shù)據(jù)庫(kù)中的結(jié)構(gòu)相同的結(jié)構(gòu),但是該結(jié)構(gòu)對(duì)存儲(chǔ)在已備份數(shù)據(jù)庫(kù)中的數(shù)據(jù)以外的數(shù)據(jù)是可供使用的。這就是說(shuō),已備份數(shù)據(jù)庫(kù)用作該目標(biāo)數(shù)據(jù)庫(kù)的一個(gè)模板。還可以將數(shù)據(jù)從已備份數(shù)據(jù)庫(kù)恢復(fù)到目標(biāo)數(shù)據(jù)庫(kù)。一旦已經(jīng)在目標(biāo)數(shù)據(jù)庫(kù)中配置了適當(dāng)?shù)娜萜?,如果是所希望的,可以直接訪問(wèn)在數(shù)據(jù)庫(kù)服務(wù)器與備份服務(wù)器之間的數(shù)據(jù)庫(kù)服務(wù)器以便將數(shù)據(jù)更快速并更有效地恢復(fù)到目標(biāo)數(shù)據(jù)庫(kù)的適當(dāng)結(jié)構(gòu)上。
備份并恢復(fù)安全相關(guān)信息 一個(gè)應(yīng)用程序?qū)ο髷?shù)據(jù)庫(kù)可以具有與存儲(chǔ)在一個(gè)數(shù)據(jù)庫(kù)中的不同的應(yīng)用程序?qū)ο笙嚓P(guān)聯(lián)的安全性。例如,數(shù)據(jù)庫(kù)的管理員可能希望限制某些用戶(hù)訪問(wèn)該數(shù)據(jù)庫(kù)中的特定內(nèi)容??商娲?,該數(shù)據(jù)庫(kù)管理員可能希望限制某些用戶(hù)或用戶(hù)組修改內(nèi)容,但仍允許這些用戶(hù)訪問(wèn)特定站點(diǎn)、子站點(diǎn)、列表或者甚至多個(gè)條目中的內(nèi)容。具有這樣一種安全方案的應(yīng)用程序?qū)ο髷?shù)據(jù)庫(kù)的一個(gè)實(shí)例是微軟公司的SharePoint 系統(tǒng)。以下與這樣一種安全方案的控制相關(guān)的討論使用來(lái)自SharePoint 配置的多個(gè)實(shí)例,但應(yīng)當(dāng)理解的是用于備份并恢復(fù)相關(guān)聯(lián)的安全信息的本發(fā)明的多個(gè)實(shí)施方案并不限于SharePoint 數(shù)據(jù)庫(kù)。
圖5是一個(gè)簡(jiǎn)化框圖,展示了在多個(gè)安全相關(guān)對(duì)象之間的關(guān)系,這些安全相關(guān)對(duì)象可用于控制對(duì)數(shù)據(jù)庫(kù)120內(nèi)的多個(gè)應(yīng)用程序?qū)ο蟮脑L問(wèn)。一個(gè)單獨(dú)的用戶(hù)可以作為一個(gè)個(gè)體直接地或者作為一個(gè)群組中的一員間接地獲得一個(gè)應(yīng)用程序?qū)ο?10的訪問(wèn)權(quán)。數(shù)據(jù)庫(kù)120可以通過(guò)用戶(hù)對(duì)象520維持有關(guān)用戶(hù)身份的信息。這樣一個(gè)用戶(hù)對(duì)象可以包括用于每個(gè)用戶(hù)的一個(gè)唯一標(biāo)識(shí)符以及與這些用戶(hù)相關(guān)的其他信息(例如,登錄名、顯示名、及電子郵件地址)。例如,在SharePoint 數(shù)據(jù)庫(kù)中,與用戶(hù)對(duì)象520相關(guān)聯(lián)的信息可以被存儲(chǔ)在用戶(hù)信息表中。
群組對(duì)象530存儲(chǔ)與多個(gè)用戶(hù)組相關(guān)的信息,這些用戶(hù)組被限定為可以訪問(wèn)對(duì)象 510。一個(gè)群組是多個(gè)用戶(hù)的集合,為了安全的目的以相同的方式管理這些用戶(hù),其中該群組中的每個(gè)成員具有對(duì)象150的相同類(lèi)型的訪問(wèn)權(quán)。群組對(duì)象530提供了多個(gè)群組的一個(gè)羅列,這個(gè)羅列包括(例如)用于該群組的一個(gè)標(biāo)識(shí)符以及群組中的多個(gè)用戶(hù)成員的一個(gè)羅列??梢耘c群組對(duì)象530相關(guān)聯(lián)的額外信息可以是(例如)群組的標(biāo)題、群組的描述、群組的擁有者標(biāo)識(shí)符(例如,可以修改群組成員資格的用戶(hù))、等等。例如,在SharePoint 數(shù)據(jù)庫(kù)中,與群組對(duì)象530相關(guān)聯(lián)的信息可以被存儲(chǔ)在群組表以及群組成員表中。圖5示出了在用戶(hù)對(duì)象520和群組對(duì)象530之間的一種關(guān)系,因?yàn)榭梢詮脑撚脩?hù)的對(duì)象中提取與一個(gè)群組內(nèi)的成員相關(guān)的信息。
可以使用多種方案向一個(gè)單獨(dú)的用戶(hù)或一組用戶(hù)授予對(duì)象510的訪問(wèn)權(quán)限。一種方法可以是將多個(gè)權(quán)限標(biāo)識(shí)符單獨(dú)地與一個(gè)用戶(hù)或一組用戶(hù)進(jìn)行關(guān)聯(lián),由此向這個(gè)用戶(hù)或者這組用戶(hù)授予該權(quán)限。但是一個(gè)對(duì)象的一組權(quán)限經(jīng)常彼此伴隨作為一束權(quán)限。因此,另一種將權(quán)限分配給一個(gè)用戶(hù)或一組用戶(hù)的方法是將多個(gè)權(quán)限的集合識(shí)別為一束或一個(gè)角色, 并且將該束分配給一個(gè)用戶(hù)或一組用戶(hù)。圖5展示了后一種途徑,該途徑同樣被微軟公司的SharePoint 數(shù)據(jù)庫(kù)所采用。
角色定義對(duì)象540包含了對(duì)多個(gè)角色定義的一個(gè)羅列。一個(gè)角色定義是與一個(gè)已被識(shí)別的角色相關(guān)聯(lián)的多項(xiàng)權(quán)限的一個(gè)清單。權(quán)限對(duì)象550包含與所有權(quán)限相關(guān)的信息, 這些權(quán)限可供用于分配給多個(gè)用戶(hù)或多個(gè)群組。角色定義是多個(gè)權(quán)限的一個(gè)集合,這些權(quán)限可以被綁定到一個(gè)特定的應(yīng)用程序?qū)ο笊喜⑶姨貏e地確定其在一個(gè)具體的對(duì)象上的范圍。角色的實(shí)例可以包括完全控制、讀取、貢獻(xiàn)、設(shè)計(jì)、或受限訪問(wèn)。如果一個(gè)角色定義被分配給一種層級(jí)結(jié)構(gòu)中的一個(gè)父對(duì)象(例如,站點(diǎn)),那么該角色定義適用于該層級(jí)結(jié)構(gòu)中的該對(duì)象的所有子對(duì)象。因此,一個(gè)角色定義可以由來(lái)自父對(duì)象的一個(gè)子對(duì)象繼承。但是,對(duì)于數(shù)據(jù)庫(kù)中不具有一種子對(duì)象關(guān)系的對(duì)象而言,該角色定義不需要是相同的。
角色分配對(duì)象560在一個(gè)角色定義與多個(gè)用戶(hù)或多個(gè)群組之間定義一種關(guān)系。每個(gè)角色定義可以被用在多個(gè)角色分配中(例如,列表1上的讀者和列表2上的讀者可以是不同的,但他們的角色分配可以共享一個(gè)單一的角色定義)。通過(guò)使用角色分配,將定義良好并一致的權(quán)限(角色定義)的有意義的集合分配給多個(gè)用戶(hù)或多個(gè)群組,而不是將多個(gè)單獨(dú)的權(quán)限分配給一個(gè)用戶(hù)或一個(gè)群組。
一個(gè)數(shù)據(jù)庫(kù)可以將與角色定義M0、權(quán)限550及角色分配560對(duì)象相關(guān)的信息存儲(chǔ)在多種多樣的互相聯(lián)系的表中。例如,SharePoint 數(shù)據(jù)庫(kù)可以將此類(lèi)信息存儲(chǔ)在一個(gè)角色表和一個(gè)角色分配表中。為了跟蹤用戶(hù)或群組對(duì)一個(gè)特定的對(duì)象510所具有的權(quán)限,該對(duì)象可以具有一個(gè)相關(guān)聯(lián)的訪問(wèn)控制列表(ACL)。ACL可以包括用于可以訪問(wèn)該對(duì)象的每個(gè)用戶(hù)和群組的一個(gè)訪問(wèn)控制項(xiàng)。每個(gè)訪問(wèn)控制項(xiàng)可以具有用于相關(guān)聯(lián)的用戶(hù)或群組的一個(gè)標(biāo)識(shí)符以及與該訪問(wèn)控制項(xiàng)的角色分配相關(guān)聯(lián)的多個(gè)標(biāo)識(shí)符。另外,一個(gè)訪問(wèn)控制列表將具有特定的權(quán)限、角色定義、以及構(gòu)建在其中的角色分配,這樣使得可以為該對(duì)象適當(dāng)?shù)貙?shí)現(xiàn)數(shù)據(jù)庫(kù)安全。盡管一種層級(jí)結(jié)構(gòu)中的多個(gè)對(duì)象可以繼承來(lái)自一個(gè)父對(duì)象的安全許可,如以上所述,但是一個(gè)對(duì)象可以可替代地具有與父容器不同的一組定義的許可。
由于安全是一個(gè)應(yīng)用程序?qū)ο髷?shù)據(jù)庫(kù)的適當(dāng)功能性的不可分割的一部分,如以上所述,所以備份與恢復(fù)操作應(yīng)當(dāng)維持安全關(guān)系。本發(fā)明的多個(gè)實(shí)施方案提供了通過(guò)訪問(wèn)并存儲(chǔ)提供安全相關(guān)信息的數(shù)據(jù)庫(kù)表元數(shù)據(jù)信息來(lái)維持安全關(guān)系,如以上參見(jiàn)圖3所討論的。將此類(lèi)安全相關(guān)信息與數(shù)據(jù)庫(kù)的一個(gè)備份相關(guān)聯(lián)地存儲(chǔ)并且在恢復(fù)時(shí)對(duì)其進(jìn)行訪問(wèn)并將其提供給一個(gè)目標(biāo)數(shù)據(jù)庫(kù)。
圖6是一個(gè)簡(jiǎn)化流程圖,展示了根據(jù)本發(fā)明的多個(gè)實(shí)施方案的一個(gè)數(shù)據(jù)庫(kù)恢復(fù)操作的一部分,該數(shù)據(jù)庫(kù)恢復(fù)操作提供了與一個(gè)正在被恢復(fù)的對(duì)象相關(guān)聯(lián)的安全信息。圖6 展示了恢復(fù)安全相關(guān)信息時(shí)發(fā)生的額外的操作連同已經(jīng)結(jié)合圖4所討論的并在其中展示的操作。圖6從圖4的步驟435開(kāi)始。應(yīng)當(dāng)理解,在圖4中展示的步驟410至430將仍在步驟435之前進(jìn)行,以便提供選擇一個(gè)所希望的用于恢復(fù)的對(duì)象,但是為了清晰的原因,圖 6包括步驟435及后續(xù)步驟。此外,圖6展示了在目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建該對(duì)象時(shí)訪問(wèn)安全信息并且提供該安全信息。
如參見(jiàn)圖4所討論的,對(duì)于恢復(fù)在步驟430中選擇的一個(gè)對(duì)象而言所必需的一種層級(jí)結(jié)構(gòu)中的頂層對(duì)象成為第一有待恢復(fù)的對(duì)象035)?;謴?fù)實(shí)用程序從與有待恢復(fù)的對(duì)象相關(guān)的備份中讀取元數(shù)據(jù)表數(shù)據(jù)G40)?;謴?fù)實(shí)用程序還讀取與該有待恢復(fù)的對(duì)象相關(guān)的安全相關(guān)元數(shù)據(jù)表信息(610)。同樣,從與該備份相關(guān)聯(lián)的元數(shù)據(jù)表信息中讀取對(duì)與安全相關(guān)信息相關(guān)聯(lián)的一個(gè)或多個(gè)適當(dāng)?shù)脑獢?shù)據(jù)表進(jìn)行定位所必需的信息。
對(duì)于該有待恢復(fù)的對(duì)象,安全相關(guān)信息是酌情從多個(gè)存儲(chǔ)了與數(shù)據(jù)庫(kù)中的不同對(duì)象(例如,在圖5中展示的這些對(duì)象)相關(guān)聯(lián)的安全相關(guān)信息的表中收集的。一旦該安全相關(guān)信息是從數(shù)據(jù)庫(kù)內(nèi)的不同的表中收集的,則可以為存儲(chǔ)在數(shù)據(jù)庫(kù)中的有待恢復(fù)的對(duì)象生成一個(gè)安全碼或標(biāo)識(shí)符。該安全碼或標(biāo)識(shí)符可以是一個(gè)值,該值代表用戶(hù)和群組對(duì)一個(gè)給定對(duì)象所具有的權(quán)限以及為該對(duì)象特別構(gòu)建的角色分配??商娲?,與該有待恢復(fù)的對(duì)象相關(guān)聯(lián)的安全相關(guān)信息可以被臨時(shí)地存儲(chǔ)而為恢復(fù)到目標(biāo)數(shù)據(jù)庫(kù)上做準(zhǔn)備。
一旦收集了與該有待恢復(fù)的對(duì)象相關(guān)聯(lián)的安全相關(guān)信息,就可以使用來(lái)自該備份的表數(shù)據(jù)在目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建該有待恢復(fù)的對(duì)象G50),如以上參見(jiàn)圖4所描述的。然后, 可以進(jìn)行一個(gè)分析以便確定需要被包括在目標(biāo)數(shù)據(jù)庫(kù)中的安全相關(guān)信息。例如,如果該有待恢復(fù)的對(duì)象是在該層級(jí)結(jié)構(gòu)(例如,一個(gè)站點(diǎn))中的一個(gè)頂層處,那么安全信息將被恢復(fù)為包括用戶(hù)和群組標(biāo)識(shí)符、以及與該站點(diǎn)相關(guān)聯(lián)的其他安全相關(guān)信息。另一方面,如果該有待恢復(fù)的對(duì)象在該層級(jí)結(jié)構(gòu)中較低但是正被放置在一個(gè)已經(jīng)存在的層級(jí)結(jié)構(gòu)中,那么可以不恢復(fù)特定的安全相關(guān)信息。例如,尚未與一個(gè)用于一個(gè)列表的有待恢復(fù)的對(duì)象的相關(guān)站點(diǎn)相關(guān)聯(lián)的用戶(hù)信息對(duì)于該列表而言將不會(huì)被恢復(fù),而是將被丟棄。可以進(jìn)行一個(gè)驗(yàn)證過(guò)程以便確定多個(gè)用戶(hù)和/或多個(gè)群組在目標(biāo)數(shù)據(jù)庫(kù)中的存在性和相關(guān)性性。這樣一種驗(yàn)證過(guò)程可以使用與目標(biāo)數(shù)據(jù)庫(kù)和所備份的數(shù)據(jù)庫(kù)中的用戶(hù)和群組相關(guān)聯(lián)的唯一的標(biāo)識(shí)符??梢詮?例如)所生成的安全碼或臨時(shí)存儲(chǔ)的安全相關(guān)信息中解讀該安全相關(guān)信息。
—旦識(shí)別了一組需要的安全數(shù)據(jù),可以提供與已恢復(fù)的有待恢復(fù)的對(duì)象相關(guān)聯(lián)的安全相關(guān)信息以便結(jié)合到目標(biāo)數(shù)據(jù)庫(kù)中(630)。用于創(chuàng)建該對(duì)象并結(jié)合該安全相關(guān)信息的一種機(jī)制是使用由網(wǎng)絡(luò)服務(wù)器150所提供的數(shù)據(jù)庫(kù)的對(duì)象模型。以此方式,能夠以被適當(dāng)?shù)馗袷交牟⑶覒?yīng)用于所給定的應(yīng)用程序?qū)ο蟮囊环N方式將該對(duì)象相關(guān)信息以及該安全相關(guān)信息結(jié)合到數(shù)據(jù)庫(kù)中。一旦已經(jīng)將該對(duì)象及其安全相關(guān)信息提供給了目標(biāo)數(shù)據(jù)庫(kù),則圖4中展示的恢復(fù)過(guò)程就進(jìn)行到過(guò)程塊455至470,如以上參見(jiàn)圖4所討論的。
上述備份和恢復(fù)操作提供了一種機(jī)制,通過(guò)該機(jī)制,可以在一個(gè)應(yīng)用程序?qū)ο髷?shù)據(jù)庫(kù)(例如,數(shù)據(jù)庫(kù)120)的備份操作過(guò)程中從該數(shù)據(jù)庫(kù)中直接提取安全相關(guān)信息,而不會(huì)在備份操作過(guò)程中對(duì)應(yīng)用程序網(wǎng)絡(luò)服務(wù)器150造成負(fù)擔(dān)。然后,可以在一個(gè)所選對(duì)象的恢復(fù)操作過(guò)程中存儲(chǔ)安全相關(guān)信息用于訪問(wèn)。通過(guò)利用這個(gè)信息并結(jié)合將該信息提供給一個(gè)相關(guān)聯(lián)的應(yīng)用程序網(wǎng)絡(luò)服務(wù)器,能夠以一種在恢復(fù)到一個(gè)目標(biāo)數(shù)據(jù)庫(kù)之后被應(yīng)用程序可用的方式結(jié)合該安全信息。
一種示例性計(jì)算和網(wǎng)絡(luò)環(huán)境 如以上所示出的,可以使用多種計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)來(lái)實(shí)施本發(fā)明。以下參見(jiàn)圖7 和8描述了一種此類(lèi)計(jì)算和網(wǎng)絡(luò)環(huán)境的實(shí)例。
圖7描繪了一種計(jì)算機(jī)系統(tǒng)710的框圖,該計(jì)算機(jī)系統(tǒng)適合用于實(shí)施本發(fā)明的多個(gè)方面(例如,客戶(hù)端140、備份服務(wù)器160、數(shù)據(jù)庫(kù)服務(wù)器110、以及網(wǎng)絡(luò)服務(wù)器150)。計(jì)算機(jī)系統(tǒng)710包括總線712,該總線將計(jì)算機(jī)系統(tǒng)710的大多數(shù)子系統(tǒng)相互連接,如中央處理器714、系統(tǒng)存儲(chǔ)器717(典型地RAM,但是還可以包括ROM、閃存RAM、或類(lèi)似的存儲(chǔ)器)、輸入/輸出控制器718、外部音頻裝置(如經(jīng)由音頻輸出接口 722的擴(kuò)音器系統(tǒng)720)、外部裝置(如經(jīng)由顯示適配器726的顯示屏7M)、多個(gè)串行端口 7 和730、鍵盤(pán)732 (與鍵盤(pán)控制器733相連接)、存儲(chǔ)接口 734、可操作用于接收軟盤(pán)738的軟盤(pán)驅(qū)動(dòng)器737、可操作用于與光纖通道網(wǎng)絡(luò)790相連接的主機(jī)總線適配器(HBA)接口卡735A、可操作用于連接到SCSI 總線739上的主機(jī)總線適配器(HBA)接口卡735B、以及可操作用于接收光盤(pán)742的光盤(pán)驅(qū)動(dòng)器740。還包括了鼠標(biāo)746(或其他指向和點(diǎn)擊裝置,通過(guò)串行端口 7 與總線712相連接)、調(diào)制解調(diào)器747 (通過(guò)串行端口 730與總線712相連接)、以及網(wǎng)絡(luò)接口 748 (直接與總線712相連接)。
總線712允許中央處理器714與系統(tǒng)存儲(chǔ)器717之間的數(shù)據(jù)通信,該系統(tǒng)存儲(chǔ)器可以包括只讀存儲(chǔ)器(ROM)或閃存(均未示出)、以及隨機(jī)存取存儲(chǔ)器(RAM)(未示出), 如以上指出的。RAM總體上是加載操作系統(tǒng)和應(yīng)用程序的主存儲(chǔ)器。ROM或閃存可以包含 (除其他代碼之外)基本輸入輸出系統(tǒng)(BIOS),該系統(tǒng)控制基本硬件操作如與外圍部件的交互。駐存在計(jì)算機(jī)系統(tǒng)710中的多種應(yīng)用程序總體上存儲(chǔ)在計(jì)算機(jī)可讀媒質(zhì)(如硬盤(pán)驅(qū)動(dòng)器(例如,固定盤(pán)744)、光盤(pán)驅(qū)動(dòng)器(例如,光盤(pán)驅(qū)動(dòng)器740)、軟盤(pán)單元737或其他存儲(chǔ)媒質(zhì))上并且通過(guò)它們進(jìn)行訪問(wèn)。此外,當(dāng)通過(guò)網(wǎng)絡(luò)調(diào)制解調(diào)器747或接口 748來(lái)訪問(wèn)時(shí), 應(yīng)用程序可以是處于根據(jù)應(yīng)用程序和數(shù)據(jù)通信技術(shù)進(jìn)行調(diào)制的電子信號(hào)的形式。
存儲(chǔ)接口 734連同計(jì)算機(jī)系統(tǒng)710的其他存儲(chǔ)接口可以連接到用于信息的存儲(chǔ)和/或檢索的一種標(biāo)準(zhǔn)計(jì)算機(jī)可讀媒質(zhì)上,如固定盤(pán)驅(qū)動(dòng)器744。固定盤(pán)驅(qū)動(dòng)器744可以是計(jì)算機(jī)系統(tǒng)710的一部分或者可以是分離的并且通過(guò)其他接口系統(tǒng)可訪問(wèn)的。調(diào)制解調(diào)器747可以通過(guò)電話鏈路提供到遠(yuǎn)程服務(wù)器上的直接連接、或者通過(guò)互聯(lián)網(wǎng)服務(wù)提供商 (ISP)提供到互聯(lián)網(wǎng)的直接連接。網(wǎng)絡(luò)接口 748可以通過(guò)一個(gè)直接網(wǎng)絡(luò)鏈路提供到一個(gè)遠(yuǎn)程服務(wù)器的直接連接、或者通過(guò)一個(gè)POP(存在點(diǎn))提供到互聯(lián)網(wǎng)的直接連接。網(wǎng)絡(luò)接口 748還可以使用無(wú)線技術(shù)提供此類(lèi)連接,該無(wú)線技術(shù)包括數(shù)字蜂窩電話連接、蜂窩數(shù)字包數(shù)據(jù)(CDPD)連接、數(shù)字衛(wèi)星數(shù)據(jù)連接、或類(lèi)似的連接。
許多其他裝置或子系統(tǒng)(未示出)能夠以類(lèi)似的方式(例如,文檔掃描儀、數(shù)碼照相機(jī)、等等)進(jìn)行連接。相反,實(shí)施本發(fā)明并不需要圖7中示出的所有裝置都存在。這些裝置和子系統(tǒng)能夠以不同于圖7中示出的方式互相連接。如圖7中示出的計(jì)算機(jī)系統(tǒng)的操作在本領(lǐng)域中是公知的并且未在本申請(qǐng)中進(jìn)行詳細(xì)討論。用于實(shí)施本發(fā)明的編碼可以被存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì)中,如系統(tǒng)存儲(chǔ)器717、固定盤(pán)744、 光盤(pán)742、或軟盤(pán)738的一個(gè)或多個(gè)中。在計(jì)算機(jī)系統(tǒng)710上提供的操作系統(tǒng)可以是 MS-DOS 、MS-WINDOWS 、OS/2 、UNIX 、Linux 、或另一種已知的操作系統(tǒng)。
另外,有關(guān)在此描述的這些信號(hào),本領(lǐng)域的普通技術(shù)人員將會(huì)認(rèn)識(shí)到一個(gè)信號(hào)可以被直接從一個(gè)第一方框傳送至一個(gè)第二方框、或者一個(gè)信號(hào)在這些方框之間可以被修改 (例如,放大、衰減、延遲、鎖存、緩存、逆轉(zhuǎn)、過(guò)濾、或其他方式的修改)。盡管以上描述的實(shí)施方案的這些信號(hào)的特征是從一個(gè)方框傳送到下一個(gè)上,本發(fā)明的其他實(shí)施方案可以包括多種修改的信號(hào)來(lái)代替此類(lèi)直接傳送的信號(hào),只要在多個(gè)方框之間傳送了該信號(hào)的信息的和/或功能的方面。因?yàn)樗婕暗碾娐返奈锢硐拗?例如,將不可避免地有某種衰減以及延遲),在某種程度上,在第二方框處的信號(hào)輸入可以理解為從來(lái)自第一方框的一個(gè)第一信號(hào)輸出中得出的一個(gè)第二信號(hào)。因此,如在此所使用的,從一個(gè)第一信號(hào)得出的一個(gè)第二信號(hào)包括該第一信號(hào)或?qū)υ摰谝恍盘?hào)的任何修改,無(wú)論是因?yàn)殡娐废拗苹蚴且驗(yàn)榻?jīng)過(guò)了其他電路元件,這些電路元件未改變?cè)摰谝恍盘?hào)的信息的和/或最終功能性方面。
圖8是一個(gè)框圖,它描繪了一種網(wǎng)絡(luò)體系結(jié)構(gòu)800,其中客戶(hù)端系統(tǒng)810、820和 830連同存儲(chǔ)服務(wù)器840A和840B(可以使用計(jì)算機(jī)系統(tǒng)710實(shí)施它們中的任何一個(gè)) 被連接到網(wǎng)絡(luò)850上。存儲(chǔ)服務(wù)器840A被進(jìn)一步描繪為具有直接附接的多個(gè)存儲(chǔ)裝置 860A (I)-(N),并且存儲(chǔ)服務(wù)器840B被描繪為具有直接附接的多個(gè)存儲(chǔ)裝置860B (I)-(N)。 多個(gè)存儲(chǔ)服務(wù)器840A和840B還被連接到SAN光纖通道870上,盡管本發(fā)明的操作不要求連接到存儲(chǔ)區(qū)域網(wǎng)絡(luò)上。SAN光纖通道870支持由存儲(chǔ)服務(wù)器840A和840B、以及因此通過(guò)網(wǎng)絡(luò)850由客戶(hù)端系統(tǒng)810、820和830對(duì)存儲(chǔ)裝置880 (I)-(N)的訪問(wèn)。智能存儲(chǔ)陣列890 還被示出為通過(guò)SAN光纖通道870可訪問(wèn)的一個(gè)具體的存儲(chǔ)裝置的實(shí)例。
借助于計(jì)算機(jī)系統(tǒng)810,調(diào)制解調(diào)器847、網(wǎng)絡(luò)接口 848或一些其他方法可以被用于提供從客戶(hù)端計(jì)算機(jī)系統(tǒng)810、820和830中的每一個(gè)到網(wǎng)絡(luò)850的連接性。例如,客戶(hù)
14端系統(tǒng)810、820、和830能夠使用例如一個(gè)網(wǎng)絡(luò)瀏覽器或其他客戶(hù)端軟件(未示出)來(lái)訪問(wèn)存儲(chǔ)服務(wù)器840A或840B上的信息。這樣一個(gè)客戶(hù)端允許客戶(hù)端系統(tǒng)810、820、和830訪問(wèn)由存儲(chǔ)服務(wù)器840A或840B或存儲(chǔ)裝置860A (1) - (N)、860B (1) - (N)、880 (1) - (N)之一或智能存儲(chǔ)陣列890托管的數(shù)據(jù)。圖8描繪了使用一個(gè)網(wǎng)絡(luò)(如互聯(lián)網(wǎng))用于交換數(shù)據(jù),但是本發(fā)明并不限于互聯(lián)網(wǎng)或任何具體的基于網(wǎng)絡(luò)的環(huán)境。
其他實(shí)施方案 本發(fā)明良好地適合于獲得所提及的優(yōu)點(diǎn)連同在此包含的其他優(yōu)點(diǎn)。盡管已經(jīng)通過(guò)參照本發(fā)明的具體實(shí)施方案來(lái)描繪、描述、并限定了本發(fā)明,這種參照并非暗示對(duì)本發(fā)明的限制,并且不得推斷出任何此類(lèi)限制。本發(fā)明在形式和功能上能夠進(jìn)行顯著的修改、替代、 以及等效物,如相關(guān)領(lǐng)域的普通技術(shù)人員將會(huì)想到的。所描繪和描述的實(shí)施方案僅是實(shí)例, 并且對(duì)本發(fā)明的范圍不是窮盡的。
上文描述了多個(gè)實(shí)施方案,它們包括被包含在其他部件中的多個(gè)部件(例如,不同的元件被示出為計(jì)算機(jī)系統(tǒng)710的部件)。此類(lèi)體系結(jié)構(gòu)僅是實(shí)例,并且事實(shí)上,可以實(shí)施許多其他體系結(jié)構(gòu),它們實(shí)現(xiàn)了相同的功能性。在一種抽象的但仍明確的意義上,為了實(shí)現(xiàn)相同的功能性的任何部件安排都是有效地“相關(guān)聯(lián)的”從而實(shí)現(xiàn)了所希望的功能性。因此,在此為了實(shí)現(xiàn)一種具體的功能性而相結(jié)合的任何兩個(gè)部件都可以被看作彼此“相關(guān)聯(lián)的”從而實(shí)現(xiàn)了所希望的功能性,而無(wú)論體系結(jié)構(gòu)或中間部件如何。同樣,如此相關(guān)聯(lián)的任何兩個(gè)部件還可以被看作彼此“可操作地相連接的”或“可操作地相聯(lián)接的”以便實(shí)現(xiàn)所希望的功能性。
上述詳細(xì)描述已經(jīng)通過(guò)使用框圖、流程圖、以及實(shí)例給出了本發(fā)明的不同實(shí)施方案。本領(lǐng)域的技術(shù)人員將會(huì)理解通過(guò)使用實(shí)例展示的每個(gè)框圖部件、流程圖步驟、操作和/ 或部件都可以由一個(gè)大系列的硬件、軟件、固件、或它們的任何組合來(lái)單獨(dú)地和/或共同地實(shí)現(xiàn)。例如,可以在用于實(shí)現(xiàn)與所述的功能塊中的一個(gè)或多個(gè)相關(guān)聯(lián)的功能的專(zhuān)用集成電路或類(lèi)似的或相關(guān)的電路系統(tǒng)中采用特定的電子元件。
本發(fā)明已經(jīng)在完全功能性的計(jì)算機(jī)系統(tǒng)背景中進(jìn)行了描述;然而,本領(lǐng)域的普通技術(shù)人員將會(huì)認(rèn)識(shí)到本發(fā)明能夠以多種的形式作為程序產(chǎn)品來(lái)分發(fā),并且無(wú)論用于實(shí)際上進(jìn)行該分發(fā)的具體類(lèi)型的信號(hào)承載媒質(zhì)如何本發(fā)明都是同等地適用的。信號(hào)承載媒質(zhì)的實(shí)例包括計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì)、傳輸型媒質(zhì)如數(shù)字的和模擬的通信鏈路、連同未來(lái)研發(fā)的媒質(zhì)存儲(chǔ)和分發(fā)系統(tǒng)。
以上討論的實(shí)施方案可以通過(guò)執(zhí)行某些任務(wù)的軟件模塊來(lái)實(shí)施。在此討論這些軟件模塊可以包括腳本、批數(shù)據(jù)、或其他可執(zhí)行文件。在此討論這些軟件模塊可以進(jìn)一步包括一個(gè)或多個(gè)指令集,該一個(gè)或多個(gè)指令集是由被配置為執(zhí)行此類(lèi)指令的一個(gè)處理器可執(zhí)行的。這些軟件模塊可以被存儲(chǔ)在機(jī)器可讀或計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì)上,如磁軟盤(pán)、硬盤(pán)、半導(dǎo)體存儲(chǔ)器(例如,RAM、ROM、以及閃存類(lèi)型的媒質(zhì))、光盤(pán)(例如,CD-ROM、CD-R、以及DVD)、 或其他類(lèi)型的存儲(chǔ)器模塊。用于存儲(chǔ)根據(jù)本發(fā)明的一種實(shí)施方案的固件或硬件模塊的存儲(chǔ)裝置還可以包括基于半導(dǎo)體的存儲(chǔ)器,它可以是永久地、可移除地或遠(yuǎn)程地與微處理器/ 存儲(chǔ)器系統(tǒng)相聯(lián)接。因此,這些模塊可以被存儲(chǔ)在一個(gè)計(jì)算機(jī)系統(tǒng)存儲(chǔ)器中以便將該計(jì)算機(jī)系統(tǒng)配置為進(jìn)行該模塊的功能。其他新的以及不同類(lèi)型的計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì)可以被用于存儲(chǔ)在此討論的這些模塊。
以上的描述是旨在展示本發(fā)明并且不應(yīng)當(dāng)被認(rèn)為是限制性的。本發(fā)明的范圍內(nèi)的其他實(shí)施方案是可能的。本領(lǐng)域的普通技術(shù)人員將容易地實(shí)施對(duì)提供在此披露的這些結(jié)構(gòu)和方法而言必需的步驟,并且將會(huì)理解這些步驟的過(guò)程參數(shù)和序列是僅通過(guò)舉例而給出的、并且可以被改變來(lái)實(shí)現(xiàn)本發(fā)明的范圍內(nèi)的所期望的結(jié)構(gòu)以及修改?;谠诖私o出的描述可以做出對(duì)于在此披露的這些實(shí)施方案的變更和修改,而不背離本發(fā)明的范圍。
因此,本發(fā)明是旨在僅由所附權(quán)利要求的范圍來(lái)限定,并在所有方面給予對(duì)等效物的全面認(rèn)同。
盡管已經(jīng)結(jié)合多個(gè)實(shí)施方案描述了本發(fā)明,但是本發(fā)明并非旨在受限于在此給出的這些特定形式。相反,它是旨在覆蓋能夠被合理地包括在如由所附權(quán)利要求限定的本發(fā)明的范圍內(nèi)的此類(lèi)替代方案、修改、以及等效物。
權(quán)利要求
1.一種方法,包括接收從一個(gè)包括多個(gè)對(duì)象的數(shù)據(jù)庫(kù)的備份中恢復(fù)一個(gè)所選對(duì)象的一個(gè)請(qǐng)求,其中該多個(gè)對(duì)象包括所選對(duì)象,并且所選對(duì)象具有相關(guān)聯(lián)的安全相關(guān)信息;訪問(wèn)該相關(guān)聯(lián)的安全相關(guān)信息,其中該相關(guān)聯(lián)的安全相關(guān)信息是從該數(shù)據(jù)庫(kù)的備份中收集的;將所選對(duì)象恢復(fù)到一個(gè)目標(biāo)數(shù)據(jù)庫(kù)中;并且將該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素與所恢復(fù)的所選對(duì)象進(jìn)行關(guān)聯(lián)。
2.如權(quán)利要求1所述的方法,其中所述訪問(wèn)該相關(guān)聯(lián)的安全相關(guān)信息包括 在該備份中對(duì)與所選對(duì)象相關(guān)聯(lián)的一組安全相關(guān)信息進(jìn)行定位,其中所述定位包括使用在創(chuàng)建該數(shù)據(jù)庫(kù)的備份時(shí)從所備份的數(shù)據(jù)庫(kù)中收集的數(shù)據(jù)庫(kù)表元數(shù)據(jù);并且該組安全相關(guān)信息包括該相關(guān)聯(lián)的安全相關(guān)信息;并且讀取該組安全相關(guān)信息。
3.如權(quán)利要求2所述的方法,進(jìn)一步包括生成與所選對(duì)象相關(guān)聯(lián)的一個(gè)安全碼,其中該安全碼是使用該相關(guān)聯(lián)的安全相關(guān)信息中的這些元素中的一個(gè)或多個(gè)生成的。
4.如權(quán)利要求3所述的方法,其中所述將該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素與所恢復(fù)的所選對(duì)象進(jìn)行關(guān)聯(lián)進(jìn)一步包括從該安全碼中得出該相關(guān)聯(lián)的安全相關(guān)信息。
5.如權(quán)利要求1所述的方法,其中所述將該相關(guān)聯(lián)的安全相關(guān)信息與所恢復(fù)的所選對(duì)象進(jìn)行關(guān)聯(lián)進(jìn)一步包括使用與所選對(duì)象相關(guān)聯(lián)的一個(gè)應(yīng)用程序的一個(gè)對(duì)象模型來(lái)存儲(chǔ)該相關(guān)聯(lián)的安全相關(guān) fn息ο
6.如權(quán)利要求5所述的方法,其中該對(duì)象模型包括一個(gè)應(yīng)用程序接口(API)。
7.如權(quán)利要求1所述的方法,進(jìn)一步包括選擇該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素用于與所恢復(fù)的所選對(duì)象進(jìn)行關(guān)聯(lián)。
8.如權(quán)利要求7所述的方法,其中所述選擇該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素包括確定該目標(biāo)數(shù)據(jù)庫(kù)的一種層級(jí)結(jié)構(gòu)中的一個(gè)層級(jí),在其中對(duì)所選對(duì)象進(jìn)行恢復(fù); 識(shí)別與該層級(jí)結(jié)構(gòu)的該層級(jí)相關(guān)聯(lián)的安全相關(guān)信息;并且選擇對(duì)應(yīng)于與該層級(jí)結(jié)構(gòu)的該層級(jí)相關(guān)聯(lián)的安全相關(guān)信息的該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素。
9.一種系統(tǒng),包括 一個(gè)處理器;一個(gè)連接到該處理器上的第一存儲(chǔ)對(duì)象,其中該第一存儲(chǔ)對(duì)象存儲(chǔ)了一個(gè)數(shù)據(jù)庫(kù)的備份,并且所備份的數(shù)據(jù)庫(kù)包括多個(gè)對(duì)象以及與該多個(gè)對(duì)象相關(guān)聯(lián)的安全相關(guān)的信息;一個(gè)連接到該處理器上的第二存儲(chǔ)對(duì)象,其中該第二存儲(chǔ)對(duì)象存儲(chǔ)了一個(gè)目標(biāo)存儲(chǔ)區(qū)域,該目標(biāo)存儲(chǔ)區(qū)域用于從該數(shù)據(jù)庫(kù)的備份中恢復(fù)的多個(gè)對(duì)象;以及一個(gè)存儲(chǔ)器,該存儲(chǔ)器被連接到該處理器上、并且存儲(chǔ)了由該處理器可執(zhí)行的多條指令,所述指令被配置為用于接收從該數(shù)據(jù)庫(kù)備份中恢復(fù)一個(gè)所選對(duì)象的一個(gè)請(qǐng)求,其中該多個(gè)對(duì)象包括所選對(duì)象;訪問(wèn)與所選對(duì)象相關(guān)聯(lián)的安全相關(guān)信息,其中該相關(guān)聯(lián)的安全相關(guān)信息是從該數(shù)據(jù)庫(kù)的備份中收集的;將所選對(duì)象恢復(fù)到該第二存儲(chǔ)對(duì)象上;并且將該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素與所恢復(fù)的所選對(duì)象進(jìn)行關(guān)聯(lián)。
10.如權(quán)利要求9所述的系統(tǒng),其中所述用于訪問(wèn)該相關(guān)聯(lián)的安全相關(guān)信息的指令進(jìn)一步包括多條指令,該多條指令被配置為用于在該備份中對(duì)與所選對(duì)象相關(guān)聯(lián)的一組安全相關(guān)信息進(jìn)行定位,其中所述定位包括使用在創(chuàng)建該數(shù)據(jù)庫(kù)的備份時(shí)從所備份的數(shù)據(jù)庫(kù)中收集的數(shù)據(jù)庫(kù)表元數(shù)據(jù);并且該組安全相關(guān)信息包括該相關(guān)聯(lián)的安全相關(guān)信息;并且讀取該組安全相關(guān)信息。
11.如權(quán)利要求10所述的系統(tǒng),其中該存儲(chǔ)器進(jìn)一步存儲(chǔ)了多條指令,該多條指令被配置為生成與所選對(duì)象相關(guān)聯(lián)的一個(gè)安全碼,其中該安全碼是使用該相關(guān)聯(lián)的安全相關(guān)信息中的這些元素中的一個(gè)或多個(gè)生成的。
12.如權(quán)利要求11所述的系統(tǒng),其中這些被配置為將該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素與所恢復(fù)的所選對(duì)象進(jìn)行關(guān)聯(lián)的指令進(jìn)一步包括多條指令,該多條指令被配置為用于從該安全碼得出該相關(guān)聯(lián)的安全相關(guān)信息。
13.如權(quán)利要求9所述的系統(tǒng),其中該存儲(chǔ)器存儲(chǔ)了多條指令,該多條指令被進(jìn)一步配置為用于選擇該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素用于與所恢復(fù)的所選對(duì)象進(jìn)行關(guān)聯(lián)。
14.如權(quán)利要求13所述的系統(tǒng),其中這些被配置為選擇該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素的指令進(jìn)一步包括多條指令,該多條指令被配置為確定該目標(biāo)數(shù)據(jù)庫(kù)的一種層級(jí)結(jié)構(gòu)中的一個(gè)層級(jí),在其中對(duì)所選對(duì)象進(jìn)行恢復(fù); 識(shí)別與該層級(jí)結(jié)構(gòu)中的該層級(jí)相關(guān)聯(lián)的安全相關(guān)信息;并且選擇對(duì)應(yīng)于與該層級(jí)結(jié)構(gòu)中的該層級(jí)相關(guān)聯(lián)的安全相關(guān)信息的該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素。
15.一種計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì),包括一個(gè)第一指令集,該第一指令集是由一個(gè)處理器可執(zhí)行的、并且被配置為接收從一個(gè)包括多個(gè)對(duì)象的數(shù)據(jù)庫(kù)的備份中恢復(fù)一個(gè)所選對(duì)象的一個(gè)請(qǐng)求,其中該多個(gè)對(duì)象包括所選對(duì)象,并且所選對(duì)象具有相關(guān)聯(lián)的安全相關(guān)信息;一個(gè)第二指令集,該第二指令集是由該處理器可執(zhí)行的、并且被配置為訪問(wèn)該相關(guān)聯(lián)的安全相關(guān)信息,其中該相關(guān)聯(lián)的安全相關(guān)信息是從該數(shù)據(jù)庫(kù)的備份中收集的;一個(gè)第三指令集,該第三指令集是由該處理器可執(zhí)行的、并且被配置為將所選對(duì)象恢復(fù)到一個(gè)目標(biāo)數(shù)據(jù)庫(kù)中;以及一個(gè)第四指令集,該第四指令集是由該處理器可執(zhí)行的、并且被配置為將該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素與所恢復(fù)的所選對(duì)象進(jìn)行關(guān)聯(lián)。
16.如權(quán)利要求15所述的計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì),其中該第二指令集進(jìn)一步包括 一個(gè)第五指令集,該第五指令集是由該處理器可執(zhí)行的、并且被配置為在該備份中對(duì)與所選對(duì)象相關(guān)聯(lián)的一組安全相關(guān)信息進(jìn)行定位,其中該第五指令集包括多條指令,該多條指令被配置為使用在創(chuàng)建該數(shù)據(jù)庫(kù)的備份時(shí)從所備份的數(shù)據(jù)庫(kù)中收集的數(shù)據(jù)庫(kù)表元數(shù)據(jù),并且該組安全相關(guān)信息包括該相關(guān)聯(lián)的安全相關(guān)信息;以及一個(gè)第六指令集,該第六指令集是由該處理器可執(zhí)行的、并且被配置為讀取該組安全相關(guān)信息。
17.如權(quán)利要求16所述的計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì),進(jìn)一步包括一個(gè)第七指令集,該第七指令集是由該處理器可執(zhí)行的、并且被配置為生成與所選對(duì)象相關(guān)聯(lián)的一個(gè)安全碼,其中該安全碼是使用該相關(guān)聯(lián)的安全相關(guān)信息的這些元素中的一個(gè)或多個(gè)而生成的。
18.如權(quán)利要求17所述的計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì),其中該第四指令集進(jìn)一步包括 一個(gè)第八指令集,該第八指令集是由該處理器可執(zhí)行的、并且被配置為從該安全碼中得出該相關(guān)聯(lián)的安全相關(guān)信息。
19.如權(quán)利要求15所述的計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì),進(jìn)一步包括一個(gè)第五指令集,該第五指令集是由該處理器可執(zhí)行的、并且被配置為選擇該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素用于與所恢復(fù)的所選對(duì)象進(jìn)行關(guān)聯(lián)。
20.如權(quán)利要求19所述的計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì),其中該第五指令集進(jìn)一步包括 一個(gè)第六指令集,該第六指令集是由該處理器可執(zhí)行的、并且被配置為確定該目標(biāo)數(shù)據(jù)庫(kù)的一種層級(jí)結(jié)構(gòu)中的一個(gè)層級(jí),在其中對(duì)所選對(duì)象進(jìn)行恢復(fù);一個(gè)第七指令集,該第七指令集是由該處理器可執(zhí)行的、并且被配置為對(duì)與該層級(jí)結(jié)構(gòu)的該層級(jí)相關(guān)聯(lián)的安全相關(guān)信息進(jìn)行識(shí)別;以及一個(gè)第八指令集,該第八指令集是由該處理器可執(zhí)行的、并且被配置為選擇對(duì)應(yīng)于與該層級(jí)結(jié)構(gòu)的該層級(jí)相關(guān)聯(lián)的安全相關(guān)信息的該相關(guān)聯(lián)的安全相關(guān)信息中的一個(gè)或多個(gè)元素。
全文摘要
在此提供了一種機(jī)制用于選擇性地恢復(fù)一個(gè)整體備份的數(shù)據(jù)庫(kù)的多個(gè)部分,同時(shí)維持與該數(shù)據(jù)庫(kù)的所恢復(fù)的這些部分相關(guān)聯(lián)的安全關(guān)系。本發(fā)明的多個(gè)實(shí)施方案提供了一種方法、系統(tǒng)以及計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì),它們用于接收從一個(gè)數(shù)據(jù)庫(kù)備份的多個(gè)已備份對(duì)象中恢復(fù)一個(gè)所選對(duì)象的一個(gè)請(qǐng)求、在該數(shù)據(jù)庫(kù)備份中訪問(wèn)與所選對(duì)象相關(guān)聯(lián)的安全相關(guān)信息、使用與所選對(duì)象相關(guān)聯(lián)的信息將所選對(duì)象恢復(fù)到一個(gè)目標(biāo)區(qū)域中、并且將該安全相關(guān)信息的多個(gè)元素與所恢復(fù)的所選對(duì)象進(jìn)行關(guān)聯(lián)。
文檔編號(hào)G06F11/14GK102187316SQ200980138383
公開(kāi)日2011年9月14日 申請(qǐng)日期2009年9月25日 優(yōu)先權(quán)日2008年9月30日
發(fā)明者L·比蒂, S·R·德沃斯, D·薩拉夫 申請(qǐng)人:賽門(mén)鐵克公司