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