專利名稱:數(shù)據(jù)庫(kù)對(duì)象的共享的制作方法
數(shù)據(jù)庫(kù)對(duì)象的共享技術(shù)領(lǐng)域一些實(shí)施方式涉及訪問(wèn)存儲(chǔ)在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)的數(shù)據(jù)對(duì)象。更具體來(lái)說(shuō), 一些實(shí)施方式涉及在一個(gè)或多個(gè)讀取者數(shù)據(jù)庫(kù)中共享提供者數(shù)據(jù)庫(kù)的數(shù)據(jù) 庫(kù)對(duì)象。
背景技術(shù):
傳統(tǒng)的數(shù)據(jù)庫(kù)驅(qū)動(dòng)系統(tǒng)可能包括若干種計(jì)算環(huán)境,每一種計(jì)算環(huán)境由一 個(gè)或多個(gè)應(yīng)用和存儲(chǔ)與該一個(gè)或多個(gè)應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)的數(shù)據(jù)庫(kù)實(shí)例組成。 這樣的系統(tǒng)可以為若干不同的賣主提供在線交易處理。例如,每一種計(jì)算環(huán) 境可以存儲(chǔ)專用于特定賣主的數(shù)據(jù),而且可以代表該賣主負(fù)責(zé)處理在線交 易。典型地,如上所述的系統(tǒng)在每個(gè)數(shù)據(jù)庫(kù)實(shí)例之間存儲(chǔ)大量的相同數(shù)據(jù)。該數(shù)據(jù)可以包含與任何特定賣主不相關(guān)的靜態(tài)數(shù)據(jù),諸如支付處理數(shù)據(jù)、裝運(yùn)數(shù)據(jù)等。該數(shù)據(jù)的重復(fù)存儲(chǔ)是徒勞的,特別是如果該復(fù)本不是用于備份或冗余的話。而且,每次需要另外的環(huán)境時(shí)(例如,用于支持另外的賣主)都必須重新創(chuàng)建全部靜態(tài)數(shù)據(jù)。因此,期望系統(tǒng)提供一個(gè)或多個(gè)能夠有效訪問(wèn)數(shù)據(jù)庫(kù)對(duì)象的公共集的數(shù) 據(jù)庫(kù)實(shí)例。發(fā)明內(nèi)容根據(jù)本發(fā)明的第一方面,提供一種方法,包含讀取文件標(biāo)識(shí)符到提供 者數(shù)據(jù)庫(kù)的頁(yè)編號(hào)的提供者數(shù)據(jù)庫(kù)映射;基于該提供者數(shù)據(jù)庫(kù)映射來(lái)確定所 述提供者數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象;并且將該一個(gè)或多個(gè)共享數(shù) 據(jù)庫(kù)對(duì)象注冊(cè)到讀取者數(shù)據(jù)庫(kù)的本地名稱空間中。根據(jù)本發(fā)明的第二方面,提供一種存儲(chǔ)程序代碼的計(jì)算機(jī)可讀介質(zhì),該 程序代碼包含用于讀取文件標(biāo)識(shí)符到提供者數(shù)據(jù)庫(kù)的頁(yè)編號(hào)的提供者數(shù)據(jù) 庫(kù)映射的代碼;用于基于該提供者數(shù)據(jù)庫(kù)映射來(lái)確定所述提供者數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象的代碼;和用于將該一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象注 冊(cè)到讀取者數(shù)據(jù)庫(kù)的本地名稱空間中的代碼。根據(jù)本發(fā)明的第三方面,提供一種系統(tǒng),包含提供者數(shù)據(jù)庫(kù),包含 數(shù)據(jù)區(qū),包含多個(gè)數(shù)據(jù)頁(yè);和提供者文件目錄,包含文件標(biāo)識(shí)符到該多個(gè)數(shù) 據(jù)頁(yè)的頁(yè)編號(hào)的映射;以及讀取者數(shù)據(jù)庫(kù),包含數(shù)據(jù)庫(kù)管理系統(tǒng),用于 從所述提供者文件目錄讀取文件標(biāo)識(shí)符到頁(yè)編號(hào)的映射;基于該映射來(lái)確定 所述提供者數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象;并且將該一個(gè)或多個(gè)共享 數(shù)據(jù)庫(kù)對(duì)象注冊(cè)到讀取者數(shù)據(jù)庫(kù)的本地名稱空間中。
圖1是根據(jù)一些實(shí)施方式的通用軟件架構(gòu)的框圖。 圖2是根據(jù)一些實(shí)施方式的提供者數(shù)據(jù)庫(kù)實(shí)例和讀取者數(shù)據(jù)庫(kù)實(shí)例的詳 細(xì)框圖。圖3包含根據(jù)一些實(shí)施方式的過(guò)程的流程圖。圖4A示出了根據(jù)一些實(shí)施方式的提供者數(shù)據(jù)庫(kù)實(shí)例轉(zhuǎn)換器頁(yè)的部分。 器頁(yè)的部分。圖5A示出了根據(jù)一些實(shí)施方式的讀取者數(shù)據(jù)庫(kù)實(shí)例轉(zhuǎn)換器頁(yè)的部分。 圖5B示出了包括讀取者專用頁(yè)編號(hào)和塊地址的讀取者數(shù)據(jù)庫(kù)實(shí)例轉(zhuǎn)換 器頁(yè)的部分。圖6A示出了提供者數(shù)據(jù)庫(kù)文件目錄的一部分和讀取者數(shù)據(jù)庫(kù)文件目錄 的一部分。圖6B示出了包括讀取者專用和提供者專用文件標(biāo)識(shí)符和頁(yè)編號(hào)的讀取 者數(shù)據(jù)庫(kù)文件目錄的一部分。圖7示出了與帶有表示相關(guān)聯(lián)的數(shù)據(jù)庫(kù)對(duì)象是否被共享的元數(shù)據(jù)的文件 標(biāo)識(shí)符相關(guān)聯(lián)的提供者數(shù)據(jù)庫(kù)編目(catalogue )。圖8示出了與帶有共享數(shù)據(jù)庫(kù)對(duì)象的元數(shù)據(jù)的4是供者專用文件標(biāo)識(shí)符相 關(guān)聯(lián)以及與帶有本地?cái)?shù)據(jù)庫(kù)對(duì)象的元數(shù)據(jù)的讀取者專用文件標(biāo)識(shí)符相關(guān)聯(lián) 的讀取者數(shù)據(jù)庫(kù)編目。
具體實(shí)施方式
圖l是根據(jù)一些實(shí)施方式的軟件架構(gòu)的框圖。該架構(gòu)包括提供者數(shù)據(jù)庫(kù)實(shí)例100和讀取者數(shù)據(jù)庫(kù)實(shí)例110、 120、 130和140。在一些實(shí)施方式中, 讀取者數(shù)據(jù)庫(kù)實(shí)例110、 120、 130和140能夠直接訪問(wèn)提供者數(shù)據(jù)庫(kù)實(shí)例100 的數(shù)據(jù)。根據(jù)一些實(shí)施方式,當(dāng)提供者數(shù)據(jù)庫(kù)實(shí)例100的數(shù)據(jù)庫(kù)管理系統(tǒng) (DBMS )101不運(yùn)4亍時(shí)可以訪問(wèn)該數(shù)據(jù)。通常,數(shù)據(jù)庫(kù)實(shí)例至少包括一個(gè)操作系統(tǒng)處理器、物理數(shù)據(jù)存儲(chǔ)單元和 一塊主存儲(chǔ)器(例如,隨機(jī)存取存儲(chǔ)器)。這些組件在圖1的數(shù)據(jù)庫(kù)實(shí)例中 分別由數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)區(qū)和I/0緩沖器來(lái)代表。本說(shuō)明書(shū)將可互換地 使用術(shù)語(yǔ)"數(shù)據(jù)庫(kù)"和"數(shù)據(jù)庫(kù)實(shí)例"。每一個(gè)所示的DBMS可以包含任意已知的或?qū)槿怂挠糜诠芾頂?shù) 據(jù)庫(kù)實(shí)例的系統(tǒng)。通常,DBMS可以接收對(duì)數(shù)據(jù)的請(qǐng)求(例如,來(lái)自數(shù)據(jù)庫(kù) 應(yīng)用的結(jié)構(gòu)化查詢語(yǔ)言(SQL)請(qǐng)求),可以從其本地?cái)?shù)據(jù)區(qū)檢索所請(qǐng)求的 數(shù)據(jù),并且可以將所請(qǐng)求的數(shù)據(jù)返回給請(qǐng)求方。DBMS還可以執(zhí)行啟動(dòng)、日 志、恢復(fù)、管理、優(yōu)化、監(jiān)視和其它數(shù)據(jù)庫(kù)相關(guān)的任務(wù)。數(shù)據(jù)區(qū)可以包含一個(gè)或多個(gè)用于存儲(chǔ)數(shù)據(jù)的互不相同的(disparate)物 理系統(tǒng)。數(shù)據(jù)區(qū)的數(shù)據(jù)可以包括數(shù)據(jù)記錄和相關(guān)聯(lián)的索引項(xiàng)(即,應(yīng)用數(shù)據(jù)) 以及配置文件、系統(tǒng)文件、轉(zhuǎn)換器頁(yè)、數(shù)據(jù)庫(kù)參數(shù)、路徑、用戶信息和任意 其它合適的信息。數(shù)據(jù)區(qū)還可以存儲(chǔ)包括與存儲(chǔ)在該數(shù)據(jù)區(qū)內(nèi)的數(shù)據(jù)庫(kù)對(duì)象 相關(guān)聯(lián)的元數(shù)據(jù)的數(shù)據(jù)庫(kù)編目。這些數(shù)據(jù)庫(kù)對(duì)象可以包括表、索引、視圖、 用戶和用戶組。根據(jù)一些實(shí)施方式,讀取者數(shù)據(jù)庫(kù)實(shí)例110、 120、 130和140中的至少 一個(gè)可以訪問(wèn)提供者數(shù)據(jù)庫(kù)實(shí)例100的數(shù)據(jù)區(qū)102。該訪問(wèn)使得所述至少一 個(gè)讀取者數(shù)據(jù)庫(kù)實(shí)例能夠讀取用于直接訪問(wèn)提供者數(shù)據(jù)庫(kù)實(shí)例100的數(shù)據(jù)庫(kù) 對(duì)象所需要的配置文件、文件目錄、轉(zhuǎn)換器頁(yè)和提供者數(shù)據(jù)庫(kù)實(shí)例IOO的其 它元素。將在下面對(duì)提供這種直接訪問(wèn)的一些實(shí)施方式進(jìn)行詳細(xì)描述。在數(shù)據(jù)庫(kù)實(shí)例的運(yùn)行期間,I/O緩沖存儲(chǔ)器存儲(chǔ)數(shù)據(jù)區(qū)的各種元素。這 些元素可以包括最近訪問(wèn)的應(yīng)用凝:據(jù)頁(yè)、當(dāng)前轉(zhuǎn)換器頁(yè)、數(shù)據(jù)庫(kù)編目對(duì)象和 /或曰志隊(duì)列。一些實(shí)施方式可以包括多于或少于4個(gè)相仿的(pictured)讀取者數(shù)據(jù)庫(kù) 實(shí)例。在一些實(shí)施方式中,單個(gè)讀取者數(shù)據(jù)庫(kù)實(shí)例可能能夠訪問(wèn)兩個(gè)或更多 提供者數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)。圖1中任意一個(gè)數(shù)據(jù)庫(kù)實(shí)例都能夠通過(guò)一個(gè)或多個(gè)由其DBMS所提供 的接口與一個(gè)或多個(gè)數(shù)據(jù)庫(kù)應(yīng)用(未示出)進(jìn)行通信。這些應(yīng)用可以提供業(yè) 務(wù)監(jiān)視、庫(kù)存控制、在線購(gòu)物和/或任意其它合適的功能。反過(guò)來(lái),這些應(yīng)用 支持可以由客戶設(shè)備運(yùn)行的客戶應(yīng)用。這樣的客戶應(yīng)用可以只包含Web瀏 覽器以訪問(wèn)并顯示數(shù)據(jù)庫(kù)應(yīng)用所生成的報(bào)告。數(shù)據(jù)庫(kù)實(shí)例100、 110、 120、 130和140可以從互不相同的硬件和軟件 系統(tǒng)接收數(shù)據(jù),它們中的某些不能互操作(interoperational)。該系統(tǒng)可以包含 在業(yè)務(wù)或工業(yè)情景中運(yùn)用的后端數(shù)據(jù)環(huán)境。可以將所述凄史據(jù)推入數(shù)據(jù)庫(kù)實(shí)例 和/或響應(yīng)于從數(shù)據(jù)庫(kù)實(shí)例接收到的查詢提供所述數(shù)據(jù)。圖1的數(shù)據(jù)庫(kù)實(shí)例還可以包括在數(shù)據(jù)庫(kù)實(shí)例運(yùn)行期間可能會(huì)用到的其它 未知元素,諸如任何適合的程序代碼、腳本或其它可執(zhí)行以便與其它元素、 其它應(yīng)用、其它數(shù)據(jù)文件、操作系統(tǒng)文件和設(shè)備驅(qū)動(dòng)器相接口的功能性數(shù)據(jù)。 這些元素對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō)是已知的,因此這里不進(jìn)行詳細(xì)描述。圖1的兩個(gè)或更多數(shù)據(jù)庫(kù)實(shí)例可以被相互遠(yuǎn)離^:置,并且可以經(jīng)由計(jì)算 機(jī)網(wǎng)絡(luò)和/或?qū)S眠B接來(lái)相互通信。而且,圖1的每一個(gè)所顯示的元素可以包 括任意數(shù)目的硬件和/或軟件元素,它們中的一些被相互遠(yuǎn)離放置。這里被描述為相互通信的元素能夠通過(guò)任意數(shù)目的用于傳輸數(shù)據(jù)的不 同系統(tǒng)直接或間接通信,這些系統(tǒng)包括但不局限于共享存儲(chǔ)器通信、局域網(wǎng)、 廣域網(wǎng)、電話網(wǎng)、峰窩網(wǎng)、光纖網(wǎng)、衛(wèi)星網(wǎng)、內(nèi)聯(lián)網(wǎng)、射頻網(wǎng)和可以用于在 設(shè)備間發(fā)送信息的任意其它類型的網(wǎng)絡(luò)。而且,系統(tǒng)間的通信可以通過(guò)任意 一個(gè)或多個(gè)已知或?qū)槿怂膫鬏攨f(xié)議來(lái)進(jìn)行,諸如異步傳輸模式 (ATM )、因特網(wǎng)協(xié)議(IP )、超文本傳輸協(xié)議(HTTP )和無(wú)線應(yīng)用協(xié)議(WAP )。圖2是根據(jù)一些實(shí)施方式的提供者數(shù)據(jù)庫(kù)實(shí)例100和讀取者數(shù)據(jù)庫(kù)實(shí)例 110的詳細(xì)框圖。從圖2中略去了 1/0緩沖存儲(chǔ)器103,這是因?yàn)榍笆龅恼f(shuō)明 假定提供者數(shù)據(jù)庫(kù)實(shí)例100的DBMS不運(yùn)行。數(shù)據(jù)區(qū)102包括配置文件1022和數(shù)據(jù)巻1024。配置文件1022存儲(chǔ)用于 定義數(shù)據(jù)庫(kù)實(shí)例100的屬性的參數(shù)。這些參數(shù)可以指定每一個(gè)數(shù)據(jù)巻的大小 和物理位置(即,路徑)以及數(shù)據(jù)區(qū)102中的數(shù)據(jù)巻的最大數(shù)目。如上所述,數(shù)據(jù)巻1024可以既包含應(yīng)用數(shù)據(jù),又包含系統(tǒng)表、轉(zhuǎn)換器 頁(yè)和包含與存儲(chǔ)在該數(shù)據(jù)區(qū)中的表、索引、視圖、用戶和用戶組相關(guān)聯(lián)的元 數(shù)據(jù)的數(shù)據(jù)庫(kù)編目。數(shù)據(jù)巻可以包含一部分物理硬盤(pán)、全部的物理硬盤(pán)或由若干物理硬盤(pán)組成的存儲(chǔ)系統(tǒng)。數(shù)據(jù)巻1024可以被再分為已知為塊的存儲(chǔ)區(qū)。而且,存儲(chǔ)在數(shù)據(jù)巻1024 中的數(shù)據(jù)被格式化為具有與物理塊相同大小的基本單元(即,邏輯頁(yè))。從 而,可以通過(guò)引用在其中存儲(chǔ)頁(yè)的巻或塊地址來(lái)訪問(wèn)數(shù)據(jù)巻1024的頁(yè)。數(shù)據(jù)區(qū)102可以包括多于或少于圖2中所示的數(shù)據(jù)巻。數(shù)據(jù)實(shí)例100還 可以將日志巻存儲(chǔ)在日志區(qū)(未示出)。這些日志巻存儲(chǔ)指示對(duì)所存儲(chǔ)的數(shù) 據(jù)進(jìn)行的變化的信息。該信息可以用于在系統(tǒng)崩潰后將數(shù)據(jù)庫(kù)實(shí)例100返回 到穩(wěn)定狀態(tài)??梢耘c提供者數(shù)據(jù)庫(kù)實(shí)例100的DBMS 101和數(shù)據(jù)區(qū)102類似地配置讀 取者數(shù)據(jù)庫(kù)實(shí)例110的DBMS 111和數(shù)據(jù)區(qū)112。在一些實(shí)施方式中,DBMS 111包括用于處理接收到SQL聲明的SQL管理器和用于管理對(duì)所存儲(chǔ)的數(shù) 據(jù)的訪問(wèn)的數(shù)據(jù)訪問(wèn)管理器。由于讀取者數(shù)據(jù)庫(kù)實(shí)例IIO將在隨后的運(yùn)行示 例中執(zhí)行,所以圖2也可以包括數(shù)據(jù)庫(kù)實(shí)例110的I/O緩沖存儲(chǔ)器113。1/0緩沖存儲(chǔ)器113被用于管理I/0運(yùn)行可用的存儲(chǔ)器。1/0緩沖存儲(chǔ)器 113包括數(shù)據(jù)高速緩存1132和轉(zhuǎn)換器1134。通常,數(shù)據(jù)高速緩存1132存儲(chǔ) 來(lái)自數(shù)據(jù)區(qū)112的最近已經(jīng)被讀或?qū)懺L問(wèn)的頁(yè)。如果事務(wù)改變了頁(yè),則被改 變的頁(yè)初始保存在數(shù)據(jù)高速緩存1132中,而先前版本的頁(yè)保留在數(shù)據(jù)區(qū)112 中。在各種間隔處(例如,如果數(shù)據(jù)高速緩存1132到達(dá)滿閾值(threshold fullness )或者如果制定了保存點(diǎn)),經(jīng)改變的數(shù)據(jù)頁(yè)被寫(xiě)入數(shù)據(jù)巻1124其中 之一的位置處。轉(zhuǎn)換器1134將lt據(jù)區(qū)112的邏輯頁(yè)編號(hào)與數(shù)據(jù)巻1124的物理塊地址相 關(guān)聯(lián)。對(duì)于給定的頁(yè)編號(hào),轉(zhuǎn)換器1134指示在數(shù)據(jù)巻1124中存儲(chǔ)相關(guān)聯(lián)的 頁(yè)的塊地址(例如,凄t據(jù)巻號(hào)和偏移(offset ))。在DBMS 111無(wú)法找到數(shù)據(jù) 高速緩存1132中的頁(yè)的情況下,訪問(wèn)轉(zhuǎn)換器1134以基于頁(yè)的編號(hào)來(lái)確定數(shù) 據(jù)巻1124中該頁(yè)的位置。根據(jù)一些實(shí)施方式,轉(zhuǎn)換器1134包括轉(zhuǎn)換器映射表和轉(zhuǎn)換器頁(yè)。對(duì)于 每一個(gè)邏輯頁(yè)編號(hào),轉(zhuǎn)換器映射表指明了與頁(yè)編號(hào)相關(guān)聯(lián)的轉(zhuǎn)換器頁(yè)所處的 1/0緩沖存儲(chǔ)器113的存儲(chǔ)器地址。反過(guò)來(lái),相關(guān)聯(lián)的轉(zhuǎn)換器頁(yè)為若干邏輯 頁(yè)編號(hào)中的每一個(gè)指示了數(shù)據(jù)巻和塊地址。每一個(gè)轉(zhuǎn)換器頁(yè)還指示數(shù)據(jù)巻和 在數(shù)據(jù)巻1124中存儲(chǔ)轉(zhuǎn)換器頁(yè)的塊地址。為了簡(jiǎn)明起見(jiàn),在圖2中分開(kāi)示出了數(shù)據(jù)高速緩存1132和轉(zhuǎn)換器1134。根據(jù)一些實(shí)施例,數(shù)據(jù)高速緩存1132和轉(zhuǎn)換器1134可以不包含獨(dú)立的、鄰 近的I/O緩沖存儲(chǔ)器113的存儲(chǔ)器地址。例如,轉(zhuǎn)換器頁(yè)可以被散置 (intersperse )在整個(gè)I/O緩沖存儲(chǔ)器113的數(shù)據(jù)頁(yè)中。圖3是才艮據(jù)一些實(shí)施方式的過(guò)程300的流程圖。過(guò)程300的一些實(shí)施方 式可以提供可以訪問(wèn)提供者數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)對(duì)象的讀取者數(shù)據(jù)庫(kù)實(shí)例。在 一些實(shí)施方式中,數(shù)據(jù)庫(kù)實(shí)例110的硬件環(huán)境執(zhí)行DBMS 111的程序代碼以 沖丸4亍過(guò)程300。過(guò)程300和這里所提及的所有其它過(guò)程可以被具體實(shí)施為從一個(gè)或多個(gè)號(hào),這些計(jì)算機(jī)可讀介質(zhì)諸如軟盤(pán)、CD-ROM、 DVD-ROM、 ZipW盤(pán)、磁帶, 然后以壓縮的、未編譯的和/或加密的格式存儲(chǔ)。在一些實(shí)施方式中,可以根 據(jù)一些實(shí)施方式使用硬線電路(hard-wired circuitry)取代程序代碼、或者將 硬線電路與程序代碼相結(jié)合來(lái)實(shí)施過(guò)程。因此,具體實(shí)施方式
不局限于硬件 和軟件的任意特定組合。首先,在S310中,讀取提供者數(shù)據(jù)庫(kù)配置文件。根據(jù)本例,在S310中, DBMS 111可以讀取H據(jù)區(qū)102的配置文件1022。為了方^f更讀取配置文件 1022, DBMS 111被提供有到配置文件1022的路徑,并且存儲(chǔ)配置文件1022 的物理存儲(chǔ)單元對(duì)于DBMS 111必須是可訪問(wèn)的。在一些實(shí)施方式中,配置 文件1022被存儲(chǔ)在物理存儲(chǔ)單元的〈independent-datajath〉/config目錄下。提供者數(shù)據(jù)庫(kù)配置文件包括每一個(gè)數(shù)據(jù)巻1024的名稱以及它們相應(yīng)的 數(shù)據(jù)路徑。在S320中使用該信息,以便讀取存儲(chǔ)在數(shù)據(jù)巻1024中的提供者 數(shù)據(jù)庫(kù)轉(zhuǎn)換器頁(yè)。轉(zhuǎn)換器頁(yè)提供邏輯頁(yè)編號(hào)到數(shù)據(jù)巻1024內(nèi)的塊地址的映射。圖4A包括根據(jù)一些實(shí)施方式在S320中被讀取的提供者數(shù)據(jù)庫(kù)實(shí)例轉(zhuǎn)換器頁(yè)1026的部分。轉(zhuǎn)換器頁(yè)1026是用于說(shuō)明的目的——在S320可以讀取比所示轉(zhuǎn)換器頁(yè)更多的轉(zhuǎn)換器頁(yè)。每一個(gè)轉(zhuǎn)換器頁(yè)1026提供邏輯頁(yè)編號(hào)到數(shù)據(jù)區(qū)102的相應(yīng)塊地址的映射。塊地址#皮表示為巻號(hào)/偏移,并且?guī)喬?hào)指向數(shù)據(jù)區(qū)102的巻1024的其中之一。每一個(gè)轉(zhuǎn)換器頁(yè)還指明它自己在數(shù)據(jù)巻1024內(nèi)的存儲(chǔ)位置。圖4B示出了根據(jù)一些實(shí)施方式的這樣的映射。已經(jīng)生成圖4B的轉(zhuǎn)換器頁(yè)1126,以指示提供者專用頁(yè)編號(hào)和塊地址。 如所示的那樣,每一個(gè)邏輯頁(yè)編號(hào)以及每一個(gè)塊地址均以"1:,,開(kāi)頭,以表 示該頁(yè)編號(hào)和塊地址是提供者數(shù)據(jù)庫(kù)實(shí)例100專用的。提供者專用前綴是必 需的,以避免與讀取者數(shù)據(jù)庫(kù)實(shí)例110的同一編號(hào)的邏輯頁(yè)或數(shù)據(jù)巻混淆。轉(zhuǎn)換器1126可以不持久地存儲(chǔ)在讀取者數(shù)據(jù)庫(kù)實(shí)例110的數(shù)據(jù)巻1124 中,以減少持久性存儲(chǔ)器消耗。在一些實(shí)施方式中,轉(zhuǎn)換頁(yè)1126被存儲(chǔ)在 數(shù)據(jù)巻1124中并且在1/0緩沖存儲(chǔ)器113中生成第二轉(zhuǎn)換器以映像(reflect) 轉(zhuǎn)換器頁(yè)1126。也可以在S330中對(duì)讀取者數(shù)據(jù)庫(kù)實(shí)例110的當(dāng)前的轉(zhuǎn)換器頁(yè)和轉(zhuǎn)換器 1134進(jìn)行更新。圖5A示出了在S330之前的讀取者數(shù)據(jù)庫(kù)實(shí)例的轉(zhuǎn)換器頁(yè) 1128。轉(zhuǎn)換器頁(yè)1128可以存儲(chǔ)在數(shù)據(jù)區(qū)112中,并且在轉(zhuǎn)換器1134中呈現(xiàn)。 圖5B示出了在被更新為包括讀取者數(shù)據(jù)庫(kù)專用頁(yè)編號(hào)和塊地址之后的轉(zhuǎn)換 器頁(yè)1128。在所示出的示例中,前綴"0:"表示頁(yè)編號(hào)或讀取者數(shù)據(jù)庫(kù)實(shí)例 110的數(shù)據(jù)巻。返回到過(guò)程300,在S340中,讀取文件標(biāo)識(shí)符到頁(yè)編號(hào)的映射。該映 射將提供者數(shù)據(jù)庫(kù)實(shí)例的文件標(biāo)識(shí)符與提供者數(shù)據(jù)庫(kù)的邏輯頁(yè)編號(hào)相關(guān)聯(lián)。 這樣的映射被提供者數(shù)據(jù)庫(kù)實(shí)例用來(lái)基于文件標(biāo)識(shí)符來(lái)定位所存儲(chǔ)的數(shù)據(jù)。 該映射可以包含數(shù)據(jù)庫(kù)實(shí)例100的文件目錄。提供者數(shù)據(jù)庫(kù)實(shí)例100的數(shù)據(jù) 巻1024可以包括系統(tǒng)表FILES,其為每一個(gè)內(nèi)部數(shù)據(jù)庫(kù)文件提供文件標(biāo)識(shí) 符和文件根(file root)的邏輯頁(yè)編號(hào)。在S340的一些實(shí)施方式中,該映射 可以從所述系統(tǒng)表中讀取。圖6A示出了文件標(biāo)識(shí)符到提供者數(shù)據(jù)庫(kù)實(shí)例100的邏輯頁(yè)編號(hào)的映射 的部分1028。圖6A還示出了文件標(biāo)識(shí)符到讀取者數(shù)據(jù)庫(kù)實(shí)例110的邏輯頁(yè) 編號(hào)的映射的部分1129。如所示的那樣,提供者數(shù)據(jù)庫(kù)實(shí)例100和讀取者數(shù) 據(jù)庫(kù)實(shí)例110可以-使用 一個(gè)或多個(gè)相同的文件標(biāo)識(shí)符和頁(yè)編號(hào)。在S350中,生成提供者專用文件標(biāo)識(shí)符到提供者專用頁(yè)編號(hào)的讀取者 映射。圖6B的映射1130示出了基于圖6A的映射1028和1129所生成的這 樣的映射。與提供者數(shù)據(jù)庫(kù)實(shí)例100相關(guān)聯(lián)的文件標(biāo)識(shí)符和頁(yè)編號(hào)以"l:" 開(kāi)頭,而那些與數(shù)據(jù)庫(kù)實(shí)例110相關(guān)聯(lián)的文件標(biāo)識(shí)符和頁(yè)編號(hào)以"0:"開(kāi)頭。 映射1130可以包含讀取者數(shù)據(jù)庫(kù)實(shí)例110的文件目錄。接下來(lái),在S360中,基于讀取者映射來(lái)確定一個(gè)或多個(gè)被共享的、提 供者數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)庫(kù)對(duì)象。讀取者映射1130可以被用于掃描提供者數(shù) 據(jù)庫(kù)實(shí)例100的數(shù)據(jù)庫(kù)編目以尋找那些^C標(biāo)記為可共享的對(duì)象。更具體來(lái)說(shuō), 所有以"l:"開(kāi)始的文件標(biāo)識(shí)符可以用于標(biāo)識(shí)提供者數(shù)據(jù)庫(kù)實(shí)例100的數(shù)據(jù) 庫(kù)編目的相應(yīng)記錄。然后,4企查該記錄,以確定與該文件標(biāo)識(shí)符相關(guān)聯(lián)的對(duì) 象是否將要與讀取者數(shù)據(jù)庫(kù)實(shí)例110共享。圖7是根據(jù)一些實(shí)施方式的提供者數(shù)據(jù)庫(kù)實(shí)例100的數(shù)據(jù)庫(kù)編目1029 的一部分的圖表表示。這部分包括用于讀取者映射1130中所示出的每一個(gè) 提供者專用文件標(biāo)識(shí)符的記錄。如所示的那樣,與文件標(biāo)識(shí)符中的兩個(gè)相關(guān) 聯(lián)的數(shù)據(jù)庫(kù)對(duì)象已經(jīng)被標(biāo)記為被共享。在S370中,共享數(shù)據(jù)庫(kù)對(duì)象被注冊(cè)到讀取者數(shù)據(jù)庫(kù)實(shí)例110的本地名 稱空間中。該注冊(cè)可以包含每一個(gè)共享對(duì)象的文件標(biāo)識(shí)符到本地?cái)?shù)據(jù)庫(kù)編目 中的該對(duì)象的元數(shù)據(jù)的映射。圖8是根據(jù)一些實(shí)施例的本地?cái)?shù)據(jù)庫(kù)編目1131 的一部分的圖表表示。編目1131存儲(chǔ)在數(shù)據(jù)庫(kù)巻1124中并且將讀取者專用 和提供者專用文件標(biāo)識(shí)符映射到對(duì)象元數(shù)據(jù)。編目1131可以包括與提供者 專用文件標(biāo)識(shí)符相關(guān)聯(lián)的全部對(duì)象元數(shù)據(jù)或?qū)ο笤獢?shù)據(jù)的任意一個(gè)子集。在 所示的實(shí)施例中,編目1131沒(méi)有存儲(chǔ)與提供者專用文件標(biāo)識(shí)符相關(guān)聯(lián)的索 引。根據(jù)一些實(shí)施例,只有在讀取者數(shù)據(jù)庫(kù)實(shí)例接收到需要訪問(wèn)提供者數(shù)據(jù) 庫(kù)實(shí)例的特定對(duì)象的查詢時(shí)才發(fā)生S360和S370。在這些實(shí)施例中,對(duì)于特 定對(duì)象執(zhí)行S360和S370。這里所描述的實(shí)施例只是用于說(shuō)明的目的。本領(lǐng)域的技術(shù)人員將看到, 可以通過(guò)僅由權(quán)利要求限定的修改和變化來(lái)實(shí)踐其它實(shí)施例。
權(quán)利要求
1.一種方法,包含讀取文件標(biāo)識(shí)符到提供者數(shù)據(jù)庫(kù)的頁(yè)編號(hào)的提供者數(shù)據(jù)庫(kù)映射;基于該提供者數(shù)據(jù)庫(kù)映射來(lái)確定所述提供者數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象;并且將該一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象注冊(cè)到讀取者數(shù)據(jù)庫(kù)的本地名稱空間中。
2. 根據(jù)權(quán)利要求1所述的方法,其中,基于所述提供者數(shù)據(jù)庫(kù)映射來(lái)確 定所述提供者數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象包含基于所述提供者數(shù)據(jù)庫(kù)映射生成提供者專用文件標(biāo)識(shí)符到提供者專用頁(yè)編號(hào)的讀取者數(shù)據(jù)庫(kù)映射;并且基于該讀取者數(shù)據(jù)庫(kù)映射來(lái)確定所述提供者數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)共享 數(shù)據(jù)庫(kù)對(duì)象。
3. 根據(jù)權(quán)利要求1所述的方法,還包含讀取頁(yè)編號(hào)到提供者數(shù)據(jù)庫(kù)的塊地址的轉(zhuǎn)換器映射;并且基于該轉(zhuǎn)換器映射,生成提供者專用頁(yè)編號(hào)到提供者專用塊地址的讀取 者數(shù)據(jù)庫(kù)轉(zhuǎn)換器映射。
4. 根據(jù)權(quán)利要求1所述的方法,其中,將所述一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì) 象注冊(cè)到讀取者數(shù)據(jù)庫(kù)的本地名稱空間中包含將所述一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象中的每一個(gè)的文件標(biāo)識(shí)符與所述讀 取者數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)編目中的對(duì)象元數(shù)據(jù)相關(guān)聯(lián)。
5. 根據(jù)權(quán)利要求1所述的方法,還包含 讀取所述提供者數(shù)據(jù)庫(kù)的配置文件。
6. —種存儲(chǔ)程序代碼的計(jì)算機(jī)可讀介質(zhì),該程序代碼包含 用于讀取文件標(biāo)識(shí)符到提供者數(shù)據(jù)庫(kù)的頁(yè)編號(hào)的提供者數(shù)據(jù)庫(kù)映射的代碼;用于基于該提供者數(shù)據(jù)庫(kù)映射來(lái)確定所述提供者數(shù)據(jù)庫(kù)的一個(gè)或多個(gè) 共享數(shù)據(jù)庫(kù)對(duì)象的代碼;和用于將該一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象注冊(cè)到讀取者數(shù)據(jù)庫(kù)的本地名稱 空間中的代碼。
7. 根據(jù)權(quán)利要求6所述的介質(zhì),其中,用于基于所述提供者數(shù)據(jù)庫(kù)映射 來(lái)確定所述4是供者數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象的代碼包含用于基于所述提供者數(shù)據(jù)庫(kù)映射生成提供者專用文件標(biāo)識(shí)符到提供者 專用頁(yè)編號(hào)的讀取者數(shù)據(jù)庫(kù)映射的代碼;和用于基于該讀取者數(shù)據(jù)庫(kù)映射來(lái)確定所述提供者數(shù)據(jù)庫(kù)的一個(gè)或多個(gè) 共享數(shù)據(jù)庫(kù)對(duì)象的代碼。
8. 根據(jù)權(quán)利要求6所述的介質(zhì),所述程序代碼還包含用于讀取頁(yè)編號(hào)到提供者數(shù)據(jù)庫(kù)的塊地址的轉(zhuǎn)換器映射的代碼;和 用于基于該轉(zhuǎn)換器映射生成提供者專用頁(yè)編號(hào)到提供者專用塊地址的 讀取者數(shù)據(jù)庫(kù)轉(zhuǎn)換器映射的代碼。
9. 根據(jù)權(quán)利要求6所述的介質(zhì),其中,用于將所述一個(gè)或多個(gè)共享數(shù)據(jù) 庫(kù)對(duì)象注冊(cè)到讀取者數(shù)據(jù)庫(kù)的本地名稱空間中的代碼包含用于將所述一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象中的每一個(gè)的文件標(biāo)識(shí)符與所 述讀取者數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)編目中的對(duì)象元數(shù)據(jù)相關(guān)聯(lián)的代碼。
10. 根據(jù)權(quán)利要求6所述的介質(zhì),還包含用于讀取所述提供者數(shù)據(jù)庫(kù)的配置文件的代碼。
11. 一種系統(tǒng),包含 提供者數(shù)據(jù)庫(kù),包含數(shù)據(jù)區(qū),包含多個(gè)數(shù)據(jù)頁(yè);和提供者文件目錄,包含文件標(biāo)識(shí)符到該多個(gè)數(shù)據(jù)頁(yè)的頁(yè)編號(hào)的映 射;以及讀取者數(shù)據(jù)庫(kù),包含數(shù)據(jù)庫(kù)管理系統(tǒng),用于從所述提供者文件目錄讀取文件標(biāo)識(shí)符到頁(yè)編號(hào)的映射; 基于該映射來(lái)確定所述提供者數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象;并且將該一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象注冊(cè)到讀取者數(shù)據(jù)庫(kù)的本地 名稱空間中。
12. 根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述讀取者數(shù)據(jù)庫(kù)包含 讀取者數(shù)據(jù)區(qū),包含第二多個(gè)數(shù)據(jù)頁(yè);和讀取者文件目錄,包含文件標(biāo)識(shí)符到該第二多個(gè)數(shù)據(jù)頁(yè)的頁(yè)編號(hào)的映射,其中,所述數(shù)據(jù)庫(kù)管理系統(tǒng)還用于基于所讀取的映射將提供者專用文件標(biāo)識(shí)符到提供者專用頁(yè)編號(hào)的映 射添加到所述讀取者文件目錄。
13. 根據(jù)權(quán)利要求ll所述的系統(tǒng),其中,所述提供者數(shù)據(jù)庫(kù)還包含 提供者轉(zhuǎn)換器,包含頁(yè)編號(hào)到所述提供者數(shù)據(jù)區(qū)的塊地址的映射, 其中,所述讀取者數(shù)據(jù)庫(kù)包含讀取者數(shù)據(jù)區(qū),包含第二多個(gè)數(shù)據(jù)頁(yè);讀取者轉(zhuǎn)換器,包含頁(yè)編號(hào)到所述讀取者數(shù)據(jù)區(qū)的塊地址的映射,并且 其中,所述數(shù)據(jù)庫(kù)管理系統(tǒng)還用于 讀取所述提供者轉(zhuǎn)換器;并且基于所讀取的提供者轉(zhuǎn)換器將提供者專用頁(yè)編號(hào)到提供者塊地址的映 射添加到所述讀取者轉(zhuǎn)換器。
14. 根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述讀取者數(shù)據(jù)庫(kù)包含讀取者 元數(shù)據(jù)編目,并且其中,注冊(cè)所述一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象包含將所述一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象中的每一個(gè)的文件標(biāo)識(shí)符與所述讀 取者元數(shù)據(jù)編目中的所述一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象中的每一個(gè)的對(duì)象元 數(shù)據(jù)相關(guān)聯(lián)。
15. 根據(jù)權(quán)利要求11所述的系統(tǒng),還包含讀取所述提供者數(shù)據(jù)庫(kù)的配置文件,以確定所述提供者數(shù)據(jù)庫(kù)的數(shù)據(jù)區(qū) 的位置。
全文摘要
公開(kāi)了一種系統(tǒng),其可以包括讀取文件標(biāo)識(shí)符到提供者數(shù)據(jù)庫(kù)的頁(yè)編號(hào)的映射,基于該提供者數(shù)據(jù)庫(kù)映射來(lái)確定提供者數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象,并且將該一個(gè)或多個(gè)共享數(shù)據(jù)庫(kù)對(duì)象注冊(cè)到讀取者數(shù)據(jù)庫(kù)的本地名稱空間中。
文檔編號(hào)G06F17/30GK101261639SQ200810085290
公開(kāi)日2008年9月10日 申請(qǐng)日期2008年3月10日 優(yōu)先權(quán)日2007年3月8日
發(fā)明者亨里克·亨普爾曼, 尤維·哈恩, 托斯滕·斯特拉爾, 馬丁·基特爾 申請(qǐng)人:Sap股份公司