


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于ORBIX的分布式數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
摘要:本文給出了基于CORBA的ORBIX分布式數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)。在此基礎(chǔ)上,就使用ORBIX實(shí)現(xiàn)分布式數(shù)據(jù)庫(kù)系統(tǒng)的幾個(gè)關(guān)鍵技術(shù)即分布式事務(wù)處理、交易服務(wù)、會(huì)話管理等進(jìn)行了研究。關(guān)鍵詞:CORBA;ORBIX;分布式數(shù)據(jù)庫(kù);資源管理器;XA接口ABSTRACT:TheORBIXdistributeddatabasesystemarchitectureisgiveninthisthesis.Onthisbasis,Severalkeytechnologysuchasdistributedtransactionprocessing、hedevelopmentofdistributeddatabasesystemareresearched.KeyWords:CORBA;ORBIX;DistributedDatabaseSystem;Resourcemanager;XAInterface物理上分散而邏輯上有集中是分布式數(shù)據(jù)庫(kù)系統(tǒng)(DDBS)的最顯著的特點(diǎn)。DDBS的實(shí)現(xiàn)實(shí)際上就是將分布在不同地理位置上的集中式數(shù)據(jù)庫(kù)系統(tǒng)通過(guò)相應(yīng)的軟件連接起來(lái)構(gòu)成邏輯上統(tǒng)一的數(shù)據(jù)庫(kù)系統(tǒng)。而對(duì)于任何節(jié)點(diǎn)用戶來(lái)說(shuō)使用DDBS就好象在使用一個(gè)集中式數(shù)據(jù)庫(kù)。CORBA規(guī)范是目前最為流行的應(yīng)用最廣的分布式對(duì)象技術(shù)。CORBA的目的是定義一套協(xié)議,符合這個(gè)協(xié)議的對(duì)象可以互相交互,不論它們是用什么樣的語(yǔ)言寫(xiě)的,不論它們運(yùn)行于什么樣的機(jī)器和操作系統(tǒng)。從而簡(jiǎn)化了簡(jiǎn)化本地與遠(yuǎn)地對(duì)象間的通信,使之以透明的方式實(shí)現(xiàn)互連、互通與互操作,免去繁瑣易于出錯(cuò)的底層工作,使大型分布軟件開(kāi)發(fā)工作相對(duì)地提高速度并增加其可靠性[1]。2相關(guān)技術(shù)在分布式數(shù)據(jù)庫(kù)應(yīng)用的設(shè)計(jì)過(guò)程中需要解決分布存儲(chǔ)、分布式查詢處理、邏輯互聯(lián)、網(wǎng)絡(luò)信息傳輸?shù)葐?wèn)題,其復(fù)雜性導(dǎo)致軟件開(kāi)發(fā)成本高、開(kāi)發(fā)周期長(zhǎng)。所以在開(kāi)發(fā)過(guò)程中若能充分利用現(xiàn)有的分布式計(jì)算技術(shù),將極大提高分布式數(shù)據(jù)庫(kù)的開(kāi)發(fā)效率[5]。(1)CORBA的主要內(nèi)容包括:IDL接口定義語(yǔ)言、ORB核心、OA對(duì)象適配器、IDL樁、IDL構(gòu)架、DII動(dòng)態(tài)調(diào)用接口、DSI動(dòng)態(tài)程序構(gòu)架接口、GIOP協(xié)議[1]。(2)Orbix是IONA公司研制的基于庫(kù)的CORBA規(guī)范實(shí)現(xiàn),支持Windows、OS/2、各種UNIX等20余種操作平臺(tái)。Orbix是建立在IONA的ART(AdaptiveRuntimeTechnology)技術(shù)之上的。ART高效的模塊化結(jié)構(gòu)允許在運(yùn)行過(guò)程中添加新的功能模塊,只是通過(guò)改變配置的設(shè)置就可以完成。這樣大大的縮減了開(kāi)發(fā)時(shí)間[2]。3基于ORBIX分布式數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)如圖1為基于Orbix的分布是系統(tǒng)結(jié)構(gòu)。其中每個(gè)客戶端Orbix對(duì)一個(gè)客戶應(yīng)用程序,每個(gè)服務(wù)器端Orbix對(duì)應(yīng)一個(gè)服務(wù)器應(yīng)用程序。使用XA接口,使全局事務(wù)的提交是由交易服務(wù)控制,應(yīng)用程序只需通知交易服務(wù)提交或回滾事務(wù),就可以控制整個(gè)事務(wù)(可能涉及多個(gè)異地的數(shù)據(jù)庫(kù))的全部提交或回滾,應(yīng)用程序完全不用考慮沖正邏輯。XA協(xié)議屬于X/OPENDTP(DistributedTransactionProcessing)模型中的一部分,是中間件產(chǎn)品與數(shù)據(jù)庫(kù)之間的標(biāo)準(zhǔn)協(xié)議。采用ADO作為數(shù)據(jù)庫(kù)連接工具,從而簡(jiǎn)化了數(shù)據(jù)庫(kù)訪問(wèn)的開(kāi)發(fā)過(guò)程,數(shù)據(jù)訪問(wèn)更快捷,支持當(dāng)前流行的各種數(shù)據(jù)庫(kù)格式,有利于使用當(dāng)前已有的數(shù)據(jù)資源。4ORBIX分布式數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)4.1分布式事務(wù)處理事務(wù)指一個(gè)程序或程序段,在一個(gè)或多個(gè)資源如數(shù)據(jù)庫(kù)或文件上為完成某些功能的執(zhí)行過(guò)程的集合。為了支持面向?qū)ο?、分布式、事?wù)處理應(yīng)用,實(shí)現(xiàn)了(1)對(duì)象事務(wù)管理器。(2)X/OpenXA接口。(3)兩階段提交(2PC)[4]協(xié)議。4.1.1分布事務(wù)管理器數(shù)據(jù)庫(kù),支持本地事務(wù)。當(dāng)一個(gè)應(yīng)用需要兩個(gè)或多個(gè)資源管理器參與同一事務(wù)時(shí),某第三方必須提供必要的協(xié)調(diào)以保證分布式事務(wù)的ACID屬性。應(yīng)用程序使用事務(wù)管理器創(chuàng)建事務(wù)。處理期間訪問(wèn)的每個(gè)資源管理器都是一個(gè)事務(wù)的參與者。因而,當(dāng)應(yīng)用程序完成事務(wù)時(shí),要么一個(gè)提交請(qǐng)求,要么一個(gè)回滾請(qǐng)求,事務(wù)管理器與每個(gè)資源管理器聯(lián)絡(luò)。4.1.2OTS和X/OpenXA接口接口功能:提供管理事務(wù)劃分(創(chuàng)建和完成)的接口,將事務(wù)信息傳播給事務(wù)參與者和接口,允許應(yīng)用參與事務(wù)。X/OpenXA接口用于數(shù)據(jù)庫(kù)的集成,以形成數(shù)據(jù)庫(kù)的邏輯連接。如圖2所示為客戶、應(yīng)用、OTS及資源管理之間互操作獲得ACID屬性的過(guò)程。包括以下步驟:(1)客戶與OTS鏈接并創(chuàng)建一個(gè)事務(wù)。(2)客戶在事務(wù)環(huán)境中對(duì)應(yīng)用作出調(diào)用并更新一些數(shù)據(jù)。(3)應(yīng)用程序檢測(cè)到數(shù)據(jù)正在被更新并創(chuàng)建一個(gè)資源對(duì)象,向事務(wù)注冊(cè)資源對(duì)象。(4)客戶通過(guò)與OTS實(shí)現(xiàn)聯(lián)系,試圖提交事務(wù)。(5)事務(wù)開(kāi)始提交協(xié)議。選擇哪種協(xié)議(1PC或2PC),依據(jù)向事務(wù)注冊(cè)資源對(duì)象數(shù)量及OTS是否支持1PC優(yōu)化而定。(6)假定使用了2PC協(xié)議,OTS發(fā)送一個(gè)準(zhǔn)備信息到資源。資源存貯足夠的信息以防萬(wàn)一失敗(例如,通過(guò)將改變寫(xiě)入一個(gè)日志文件)。資源對(duì)象表決提交事務(wù)。(7)OTS收集所有資源對(duì)象的表決并決定事務(wù)的結(jié)果。將決定發(fā)送到所有的注冊(cè)資源對(duì)象。(8)資源對(duì)象根據(jù)收到的提交或回滾消息作出必要的改變并將決定保存到日志中。(9)OTS返回結(jié)果給客戶。4.2交易服務(wù)交易服務(wù)提供對(duì)象的位置和發(fā)現(xiàn)的設(shè)施。與CORBA命名服務(wù)按名字定位對(duì)象不同,對(duì)象在交易服務(wù)中是沒(méi)有名字的。服務(wù)器根據(jù)對(duì)象所提供的服務(wù)類(lèi)型在交易服務(wù)中廣告該對(duì)象。客戶通過(guò)查問(wèn)交易服務(wù)定位感興趣的對(duì)象,以查找所有提供特殊服務(wù)的對(duì)象??蛻裟軌蜻M(jìn)一步限制只搜索那些具有特殊特性的對(duì)象。CORBA交易服務(wù)是允許注冊(cè)具有功能性描述對(duì)象的一個(gè)交易服務(wù)。該服務(wù)通過(guò)使服務(wù)更易定位極大地增加了分布式系統(tǒng)的可伸縮性。一個(gè)交易包含許多描述服務(wù)的服務(wù)類(lèi)型。服務(wù)器輸出一個(gè)提議給交易服務(wù),包括其中一個(gè)對(duì)象對(duì)象引用和由服務(wù)類(lèi)型定義的屬性值??蛻艟湍馨凑者@些屬性使用稱為約束(constraint)的過(guò)濾器查詢交易服務(wù)。交易者為客戶返回一個(gè)服務(wù)提議。客戶就能使用提議中的對(duì)象引用在服務(wù)器上調(diào)用。交易服務(wù)是構(gòu)造有效分布式應(yīng)用的工具。用屬性注釋服務(wù)提議和允許根據(jù)這些屬性使用約束過(guò)濾提議的優(yōu)點(diǎn)使客戶可以選擇提議而不會(huì)導(dǎo)致每個(gè)對(duì)象上調(diào)用操作的管理費(fèi)用。4.2.1服務(wù)類(lèi)型(1)服務(wù)類(lèi)型定義服務(wù)類(lèi)型是交易服務(wù)的一般性描述。包括:①類(lèi)型名:唯一地標(biāo)識(shí)服務(wù)類(lèi)型。②接口類(lèi)型:定義IDL接口,必須與廣告的對(duì)象類(lèi)型相一致。接口類(lèi)型描述廣告的服務(wù)IDL簽名。接口類(lèi)型是一個(gè)字符串其格式因該是全局名或是一個(gè)如上所述服務(wù)類(lèi)型名的接口倉(cāng)庫(kù)標(biāo)示符。當(dāng)輸出一個(gè)新的服務(wù)時(shí),交易器可使用接口倉(cāng)庫(kù)確定廣告的對(duì)象與接口類(lèi)型定義的接口一致。一個(gè)對(duì)象與一個(gè)接口一致如果他實(shí)現(xiàn)該接口,或它實(shí)現(xiàn)該接口的子類(lèi)。③屬性類(lèi)型:屬性類(lèi)型的集合定義服務(wù)提供者的屬性。屬性類(lèi)型的定義由名字,值類(lèi)型和方式組成。值類(lèi)型是CORBA::TypeCode,模式表示屬性是強(qiáng)制的,還是只讀的。強(qiáng)制屬性不能刪除,只讀屬性能被刪除。④超類(lèi)型能夠從其它服務(wù)類(lèi)型繼承過(guò)來(lái),封裝服務(wù)類(lèi)型共有的行為和特性。(2)服務(wù)提供者服務(wù)提供者是服務(wù)類(lèi)型的實(shí)例。服務(wù)提供者特性:①服務(wù)類(lèi)型名使提供者和某一服務(wù)類(lèi)型關(guān)聯(lián)。②對(duì)象引用是一個(gè)指向?yàn)榭蛻籼峁┓?wù)的對(duì)象指針。③屬性集合描述該服務(wù)提供者,并且屬性與服務(wù)類(lèi)型定義的屬性類(lèi)型一致。交易器使用指定的服務(wù)類(lèi)型定義在新的提供者上執(zhí)行幾個(gè)確認(rèn)步驟:①輸出者為所有的mandatoryproperty提供值(包括所有從其超類(lèi)型繼承過(guò)來(lái)的服務(wù)類(lèi)型)②對(duì)象必須與服務(wù)類(lèi)型定義的接口類(lèi)型一致。③所有屬性的值類(lèi)型必須與服務(wù)類(lèi)型定義的值類(lèi)型匹配。(4)交易服務(wù)組成交易器依據(jù)它所支持的接口具有不同的功能。其接口有Lookup、Register、Admin、Link、Proxy。①最簡(jiǎn)單的交易器是Querytrader,只支持Lookup接口。②簡(jiǎn)單的交易器不僅支持Lookup接口,而且支持具有Register接口的提供者的輸出。③獨(dú)立的交易者支持簡(jiǎn)單交易器接口,又支持使用Admin接口的交易器的配置管理。④代理交易器支持獨(dú)立交易器接口也支持proxy接口。代理交易器本質(zhì)上為延遲的提供者賦值輸出lookup接口,可用于封裝遺留系統(tǒng)或作為一種服務(wù)提供者工廠。⑤連接交易器支持獨(dú)立交易器,使用Link接口支持交易器同盟。⑥full-service交易器組合所有的功能接口。4.2.2配置和運(yùn)行交易服務(wù)(1)配置配置和運(yùn)行交易服務(wù)有幾個(gè)必須的預(yù)備步驟。操作的一般次序如下:①確定在那臺(tái)主機(jī)上運(yùn)行主交易服務(wù),那臺(tái)主機(jī)運(yùn)行從交易服務(wù)。②確定主,次端口號(hào),復(fù)制器將偵聽(tīng)。③將主機(jī)和端口號(hào)信息輸入到配置中。④配置交易服務(wù)以復(fù)制或非復(fù)制的方式運(yùn)行。⑤在“預(yù)備”模式運(yùn)行交易服務(wù)以獲得使客戶能夠與服務(wù)交互的初始引用。⑥將第4步獲得的每個(gè)引用加到配置數(shù)據(jù)庫(kù)中。⑦啟動(dòng)主交易服務(wù)及從交易服務(wù)(2)運(yùn)行交易服務(wù)如圖3所示為典型的客戶與服務(wù)器使用交易器相互交互過(guò)程:①一個(gè)提供者服務(wù)器為交易器增加一個(gè)服務(wù)類(lèi)型(Printer)。Printer類(lèi)型描述辦公室打印機(jī)具有的屬性。服務(wù)類(lèi)型名與IDL接口名不同。②打印機(jī)服務(wù)器創(chuàng)建一個(gè)printer_if對(duì)象。它輸出該對(duì)象的對(duì)象引用到交易服務(wù)作為類(lèi)型Printer的一個(gè)提供者。正常情況下,等待請(qǐng)求到來(lái)。③客戶過(guò)程為一個(gè)Printer提供者查詢交易服務(wù)。④然后客戶過(guò)程使用在提供者中獲得的對(duì)象引用調(diào)用打印機(jī)服務(wù)器。(3)交易服務(wù)編程與交易器交互的三個(gè)主要步驟:①使用提供者服務(wù)器增加一個(gè)服務(wù)類(lèi)型。如果交易服務(wù)內(nèi)相應(yīng)的服務(wù)提供者類(lèi)型不存在,則創(chuàng)建它②使用打印機(jī)服務(wù)器注冊(cè)一個(gè)服務(wù)提供者:例如,創(chuàng)建一個(gè)對(duì)象,一個(gè)IDL接口PrintServer的實(shí)例在類(lèi)型Printer的服務(wù)提供者內(nèi),向交易服務(wù)登記對(duì)象引用。服務(wù)器就可正常接受對(duì)象調(diào)用。③使用客戶獲得一個(gè)服務(wù)提供者。查詢交易服務(wù)恢復(fù)一個(gè)服務(wù)提供者;使用在服務(wù)提供者中指定的對(duì)象引用調(diào)用服務(wù)器上的對(duì)象。4.2.3交易服務(wù)實(shí)例從圖3交易器包含的提供者集合能夠獲得多么大量的數(shù)據(jù)。此外,交易器能夠連接起來(lái)(聯(lián)合)為服務(wù)提供者相互搜索。這意味著,一個(gè)查詢需要控制在合理的時(shí)間內(nèi)完成搜索。查詢也需要控制返回的數(shù)據(jù)量。查詢以服務(wù)類(lèi)型名開(kāi)始。通過(guò)使用在一個(gè)或多個(gè)服務(wù)屬性上使用一個(gè)約束限制搜索適當(dāng)提供者。也可以指定一些限制因素,包括返回的提供者數(shù)量,優(yōu)先排序,實(shí)際返回的屬性值。交易服務(wù)如何使用這些因素處理一個(gè)查詢,產(chǎn)生一序列所要的服務(wù)提供者。當(dāng)交易服務(wù)處理一個(gè)查詢時(shí),縮小在所有相關(guān)連的交易器中所有的潛在提供者集合,通過(guò)它收集一序列提供者在一起。交易服務(wù)使用查詢輸入確定如下:①服務(wù)名確定一個(gè)提供者是否是適當(dāng)?shù)姆?wù)類(lèi)型。②使用屬性約束確定提供著是否與客戶指定的標(biāo)準(zhǔn)匹配。③優(yōu)先順序確定提供者在序列中的位置。④使用所要的屬性確定返回哪個(gè)提供者的屬性值。4.3會(huì)話管理為了清除只有那個(gè)客戶使用的資源,分布式系統(tǒng)需要是知道客戶過(guò)程何時(shí)結(jié)束。在服務(wù)器方,基于會(huì)話的應(yīng)用分配資源滿足客戶請(qǐng)求。為了防止服務(wù)器膨脹,必須探測(cè)與服務(wù)器有關(guān)的客戶何時(shí)完成。(1)租賃框架:租賃插件是Orbix的一個(gè)擴(kuò)展特色,通過(guò)探測(cè)使用服務(wù)器的客戶何時(shí)停止管理服務(wù)器端。使用租賃框架來(lái)完成。當(dāng)一個(gè)客戶啟動(dòng)時(shí),它能獲得某一個(gè)服務(wù)器的一個(gè)租約,周期性的更新。當(dāng)客戶結(jié)束,它自動(dòng)釋放租約。如果客戶崩潰,服務(wù)器稍后會(huì)檢測(cè)到租約過(guò)期。在這種方式中,得體的和不得體的客戶過(guò)程結(jié)束都能被檢測(cè)到。(2)服務(wù)器端,租賃框架操作:(1)當(dāng)一個(gè)服務(wù)器啟動(dòng),它自動(dòng)裝載租賃插件。(2)初始化期間,服務(wù)器通告租賃,在命名服務(wù)中導(dǎo)致一個(gè)LeaseCallback對(duì)象。(3)每當(dāng)服務(wù)器輸出對(duì)象引用(IORs),插件自動(dòng)地以CORBA方式在IOR中增加租賃信息。(3)客戶端,租賃框架操作:(1)當(dāng)客戶端啟動(dòng)時(shí),它自動(dòng)裝載租賃插件。(2)插件根據(jù)包含租賃細(xì)節(jié)的IOR檢測(cè)客戶將要調(diào)用的對(duì)象。插件發(fā)起與目標(biāo)服務(wù)器會(huì)話獲得一個(gè)租賃。(3)插件自動(dòng)地更新需要的租賃。(4)有關(guān)客戶端關(guān)閉:如果客戶端正常關(guān)閉,插件自動(dòng)地釋放租賃。如果客端崩潰,服務(wù)器端插件稍后就知道客戶最近沒(méi)有更新的租賃。租賃過(guò)期,允許服務(wù)器適當(dāng)?shù)厍宄?。?)客戶端使用租賃插件客戶插件在其生命周期中定期調(diào)用命名服務(wù)。因此,在運(yùn)行租賃客戶之前,Orbix域應(yīng)具有一個(gè)適當(dāng)配置的定位器,激活程序,及命名服務(wù)準(zhǔn)備。使用租賃框架的客戶部署需要改變所要做的事情只是它的配置。特別是,插件必須在ORB插件列表中增加插件,并被配置參與綁定。(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法學(xué)概論中的法律載體與形式試題及答案
- 詳細(xì)講解的VB試題及答案解析
- 技術(shù)變革中的風(fēng)險(xiǎn)管理戰(zhàn)略試題及答案
- 代碼優(yōu)化技巧2025年試題及答案
- 法學(xué)概論考試中容易出錯(cuò)的試題及答案
- 2025年軟考考試發(fā)展動(dòng)態(tài)與試題及答案
- 先進(jìn)加密技術(shù)與數(shù)據(jù)保護(hù)試題及答案
- 2025年軟考提供的試題及答案解析
- 網(wǎng)絡(luò)運(yùn)營(yíng)中的技術(shù)應(yīng)用實(shí)例分析試題及答案
- 競(jìng)爭(zhēng)性分析與風(fēng)險(xiǎn)考題及答案
- 2025湖北省安全員-B證(項(xiàng)目經(jīng)理)考試題庫(kù)
- 2025年中國(guó)科技成果轉(zhuǎn)化服務(wù)行業(yè)市場(chǎng)集中度、企業(yè)競(jìng)爭(zhēng)格局分析報(bào)告-智研咨詢發(fā)布
- 第16課《有為有不為》公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 體育賽事經(jīng)濟(jì)影響評(píng)估模型-深度研究
- 2025年上海奉賢區(qū)社區(qū)工作者及事業(yè)單位招聘177人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 小學(xué)一年級(jí)奧數(shù)經(jīng)典100試題(五篇)
- 2025年中國(guó)消防救援學(xué)院第二批面向應(yīng)屆畢業(yè)生招聘28人歷年管理單位筆試遴選500模擬題附帶答案詳解
- T-CIRA 46-2023 核電廠液態(tài)流出物中鍶89和鍶90分析 液體閃爍法
- 介入手術(shù)室感染控制管理
- 1學(xué)會(huì)尊重-尊重自己(說(shuō)課稿 )-2023-2024學(xué)年道德與法治六年級(jí)下冊(cè)統(tǒng)編版
- 會(huì)計(jì)案例分析-終結(jié)性考核-國(guó)開(kāi)(SC)-參考資料
評(píng)論
0/150
提交評(píng)論