(哈爾濱師范大學(xué)文理學(xué)院,哈爾濱150300)
摘要:隨著互聯(lián)網(wǎng)絡(luò)技術(shù)和無(wú)線通信技術(shù)的發(fā)展,移動(dòng)自組網(wǎng)數(shù)據(jù)庫(kù)技術(shù)已成為目前數(shù)據(jù)庫(kù)領(lǐng)域的一個(gè)新的研究分支。闡述了嵌入式移動(dòng)數(shù)據(jù)庫(kù)的關(guān)鍵技術(shù),并就數(shù)據(jù)庫(kù)復(fù)制、數(shù)據(jù)庫(kù)查詢等關(guān)鍵技術(shù)進(jìn)行了系統(tǒng)的研究。
關(guān)鍵詞:移動(dòng)自組網(wǎng);數(shù)據(jù)庫(kù)復(fù)制;數(shù)據(jù)庫(kù)查詢
中圖分類號(hào):TP392 文獻(xiàn)標(biāo)志碼:A文章編號(hào):1673-291X(2011)23-0285-02
引言
隨著無(wú)線通信技術(shù)、嵌入式計(jì)算技術(shù)和計(jì)算網(wǎng)絡(luò)的飛速發(fā)展和日益成熟,PDA、筆記本電腦、手持電話等移動(dòng)通訊設(shè)備迅速普及,移動(dòng)Ad Hoc網(wǎng)絡(luò)(以下簡(jiǎn)記MANET)引起了研究人員的極大重視。MANET是移動(dòng)服務(wù)器和客戶機(jī)的集合,它不需要基站的支持?;贛ANET的數(shù)據(jù)管理與處理技術(shù)可以使得人們?cè)谌魏螘r(shí)間,任意地點(diǎn)訪問(wèn)到其上的任意數(shù)據(jù),MANET數(shù)據(jù)庫(kù)技術(shù)在國(guó)防軍事、國(guó)家安全、環(huán)境監(jiān)測(cè)、交通管理、金融、移動(dòng)辦公、醫(yī)療衛(wèi)生、制造業(yè)、災(zāi)難預(yù)防等領(lǐng)域得到了特別的重視。由于移動(dòng)通信網(wǎng)絡(luò)固有的一些特點(diǎn),查詢處理、事務(wù)處理、故障恢復(fù)等基本操作與節(jié)點(diǎn)的移動(dòng)性、斷接性、網(wǎng)絡(luò)帶寬以及電源能量等因素密切相關(guān),MANET環(huán)境下的數(shù)據(jù)庫(kù)研究因此成為了一個(gè)重要的研究領(lǐng)域。MANET除了具有傳統(tǒng)移動(dòng)通信網(wǎng)絡(luò)的問(wèn)題之外,還必須考慮服務(wù)器的電源消耗和移動(dòng)性。MANET還有一個(gè)關(guān)鍵特性,即客戶機(jī)之間可以直接通信,不需服務(wù)器的干預(yù)。因此在MANET中,查詢優(yōu)化、數(shù)據(jù)緩沖和復(fù)制、事務(wù)管理,以及路徑查找等問(wèn)題都將與傳統(tǒng)移動(dòng)通信網(wǎng)絡(luò)下的移動(dòng)數(shù)據(jù)庫(kù)有很大差別。傳統(tǒng)的移動(dòng)數(shù)據(jù)庫(kù)技術(shù)已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足基于MANET數(shù)據(jù)庫(kù)系統(tǒng)的需要。
一、移動(dòng)自組網(wǎng)的數(shù)據(jù)庫(kù)簡(jiǎn)介
移動(dòng)自組網(wǎng)的數(shù)據(jù)庫(kù)技術(shù)即支持移動(dòng)計(jì)算環(huán)境的分布式數(shù)據(jù)庫(kù)技術(shù),它涉及數(shù)據(jù)庫(kù),分布式計(jì)算,以及移動(dòng)通訊等多個(gè)學(xué)科領(lǐng)域,目前已成為分布式數(shù)據(jù)庫(kù)研究的一個(gè)新的方向。通俗地講,移動(dòng)自組網(wǎng)的數(shù)據(jù)庫(kù)可以包括以下兩層含義:(1)用戶可以在移動(dòng)時(shí)存取后臺(tái)數(shù)據(jù)庫(kù);(2)用戶可以帶著后臺(tái)數(shù)據(jù)庫(kù)的副本移動(dòng)并周期性地與后臺(tái)數(shù)據(jù)庫(kù)同步。移動(dòng)自組網(wǎng)的數(shù)據(jù)庫(kù)技術(shù)是分布式數(shù)據(jù)庫(kù)技術(shù)的繼承與發(fā)展,是對(duì)分布式數(shù)據(jù)庫(kù)的推廣;而分布式數(shù)據(jù)庫(kù)則是移動(dòng)自組網(wǎng)的數(shù)據(jù)庫(kù)的一種特殊形式。移動(dòng)自組網(wǎng)的數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)由兩部分組成:可信部分本身即是一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng);移動(dòng)部分發(fā)展和突破了分布式系統(tǒng)對(duì)主機(jī)位置固定的約束條件,支持主機(jī)位置的隨意移動(dòng)性。二者的這種聯(lián)系使得分布式數(shù)據(jù)庫(kù)技術(shù)的許多研究成果可以直接應(yīng)用于移動(dòng)自組網(wǎng)的數(shù)據(jù)庫(kù)中,或者僅需稍加改進(jìn)即可應(yīng)用于移動(dòng)計(jì)算環(huán)境。例如移動(dòng)事務(wù)處理及并發(fā)控制、移動(dòng)查詢處理及優(yōu)化、移動(dòng)復(fù)制技術(shù)、移動(dòng)自組網(wǎng)的數(shù)據(jù)庫(kù)的數(shù)據(jù)分片、以及故障恢復(fù)技術(shù)等都直接借鑒了分布式數(shù)據(jù)庫(kù)的成果。
二、移動(dòng)自組網(wǎng)的數(shù)據(jù)庫(kù)的關(guān)鍵技術(shù)
在移動(dòng)自組網(wǎng)的數(shù)據(jù)庫(kù)中需要考慮諸多傳統(tǒng)計(jì)算環(huán)境下不需要考慮的問(wèn)題,如對(duì)移動(dòng)性及位置相關(guān)查詢的支持、對(duì)斷接操作的支持、對(duì)跨區(qū)長(zhǎng)事務(wù)的支持、對(duì)查詢優(yōu)化的特殊考慮、對(duì)提高有限資源的利用率及系統(tǒng)效率的考慮等等。為了有效地解決上述問(wèn)題,如下關(guān)鍵技術(shù)在移動(dòng)自組網(wǎng)的數(shù)據(jù)庫(kù)中具有特別的意義:移動(dòng)數(shù)據(jù)庫(kù)復(fù)制技術(shù)、移動(dòng)事務(wù)處理技術(shù)、移動(dòng)對(duì)象數(shù)據(jù)庫(kù)技術(shù)、位置相關(guān)數(shù)據(jù)的處理技術(shù)、位置相關(guān)的查詢處理、數(shù)據(jù)廣播及移動(dòng)信息發(fā)布、移動(dòng)Agent技術(shù)等。在本文的研究中,并沒(méi)有涵蓋所有關(guān)鍵技術(shù),而僅選擇進(jìn)行移動(dòng)數(shù)據(jù)庫(kù)的復(fù)制技術(shù)和查詢技術(shù)研究。
(一)數(shù)據(jù)復(fù)制技術(shù)
該技術(shù)是解決移動(dòng)數(shù)據(jù)庫(kù)斷接性的關(guān)鍵技術(shù),在現(xiàn)有 DBMS基礎(chǔ)上進(jìn)行修補(bǔ)以適應(yīng)移動(dòng)計(jì)算也采用該技術(shù)。傳統(tǒng)的復(fù)制/緩存技術(shù)都是假設(shè)客戶機(jī)和服務(wù)器之間是經(jīng)常保持連接的,并基于這個(gè)前提來(lái)維護(hù)一致性,但這在移動(dòng)計(jì)算中是不適用的。目前,針對(duì)移動(dòng)計(jì)算特點(diǎn)開(kāi)展數(shù)據(jù)復(fù)制/緩存技術(shù)的研究最具代表性的是:J.Gray的兩級(jí)復(fù)制機(jī)制、CODA系統(tǒng)以及緩存失效報(bào)告廣播技術(shù)等。
兩級(jí)復(fù)制機(jī)制是解決移動(dòng)計(jì)算環(huán)境斷連問(wèn)題的一種有效方法其主要貢獻(xiàn)是引入系統(tǒng)分級(jí)的思想。該算法充分考慮了移動(dòng)計(jì)算環(huán)境中可信部分和移動(dòng)部分的性能差異,將整個(gè)移動(dòng)計(jì)算環(huán)境分為兩級(jí)。這樣,可信部分總能保持傳統(tǒng)分布計(jì)算環(huán)境下的若干特征,而不會(huì)因?yàn)橐苿?dòng)計(jì)算的引入對(duì)系統(tǒng)性能產(chǎn)生不良影響。兩級(jí)復(fù)制機(jī)制在很大程度上滿足了理想的復(fù)制模式應(yīng)達(dá)到的目標(biāo): 可用性、 可擴(kuò)展性、 移動(dòng)性、 串行性和收斂性。
針對(duì)移動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)規(guī)模龐大的特點(diǎn),將傳統(tǒng)的數(shù)據(jù)庫(kù)復(fù)制技術(shù)與數(shù)據(jù)廣播技術(shù)及客戶機(jī)緩存技術(shù)結(jié)合起來(lái),本文提出了三級(jí)復(fù)制體系結(jié)構(gòu)。
三級(jí)復(fù)制體系結(jié)構(gòu)由服務(wù)器級(jí)復(fù)制、空中復(fù)制、客戶機(jī)緩存等三級(jí)復(fù)制機(jī)制組成。服務(wù)器級(jí)復(fù)制為第一級(jí)復(fù)制,這一級(jí)復(fù)制采用傳統(tǒng)的復(fù)制技術(shù),以保證服務(wù)器之間的一致性;空中復(fù)制為第二級(jí)復(fù)制,服務(wù)器將經(jīng)常被訪問(wèn)的熱點(diǎn)數(shù)據(jù)組織起來(lái),通過(guò)MSS向所有的MH廣播,這實(shí)際上等同于在無(wú)線信道上做了一級(jí)數(shù)據(jù)復(fù)制;客戶機(jī)緩存為第三級(jí)復(fù)制,MH利用本身的處理及存貯能力緩存數(shù)據(jù)庫(kù)中的部分?jǐn)?shù)據(jù),以支持移動(dòng)用戶的斷接操作。
在三級(jí)復(fù)制體系結(jié)構(gòu)中,服務(wù)器負(fù)責(zé)第一、二級(jí)復(fù)制,移動(dòng)客戶機(jī)負(fù)責(zé)第三級(jí)復(fù)制。這三個(gè)復(fù)制級(jí)別相互配合,共同完成移動(dòng)用戶的數(shù)據(jù)讀寫(xiě)請(qǐng)求。當(dāng)移動(dòng)客戶機(jī)需要訪問(wèn)數(shù)據(jù)庫(kù)時(shí),首先判斷能否從服務(wù)器上聯(lián)機(jī)地訪問(wèn)數(shù)據(jù)庫(kù),如果可以,則用戶的請(qǐng)求將由服務(wù)器完成;否則移動(dòng)客戶機(jī)將從其它兩級(jí)復(fù)制中獲得數(shù)據(jù):若事務(wù)為只讀型的,則從數(shù)據(jù)廣播中獲取數(shù)據(jù);反之則從本地?cái)?shù)據(jù)緩存中獲取數(shù)據(jù),并將相應(yīng)的事務(wù)操作記錄在日志中,以便下次連機(jī)時(shí)將更新結(jié)果集成到服務(wù)器中。由于引入了數(shù)據(jù)廣播機(jī)制,三級(jí)復(fù)制算法有效地提高了系統(tǒng)的可伸縮性。但該算法同時(shí)也存在著一定的局限性,如算法沒(méi)有考慮如何保證數(shù)據(jù)庫(kù)的一致性的問(wèn)題,以及讀寫(xiě)型事務(wù)的全局提交問(wèn)題等。
(二)數(shù)據(jù)查詢技術(shù)
在移動(dòng)數(shù)據(jù)庫(kù)中,存在著與位置相關(guān)信息的查詢及更新。查詢通常是與位置相關(guān)的,即使是同一個(gè)問(wèn)題,在不同的地方,所得查詢結(jié)果是不同的。 移動(dòng)查詢優(yōu)化技術(shù)是指在傳統(tǒng)分布式數(shù)據(jù)庫(kù)查詢優(yōu)化技術(shù)的基礎(chǔ)上,利用多種方法,消除帶寬多樣性、 斷接等因素造成的影響,使查詢引擎能夠根據(jù)當(dāng)前可用網(wǎng)絡(luò)條件采取恰當(dāng)?shù)膬?yōu)化策略; 同時(shí),針對(duì)移動(dòng)計(jì)算機(jī)有限電源能力,合理地組織本地?cái)?shù)據(jù)庫(kù)管理、 遠(yuǎn)程數(shù)據(jù)庫(kù)訪問(wèn)等耗電能較多的操作,達(dá)到節(jié)能目的,延長(zhǎng)關(guān)鍵數(shù)據(jù)的可用時(shí)間。
采用基于分割的地址更新策略時(shí),由位置服務(wù)器維護(hù)的移動(dòng)用戶對(duì)象包含以下數(shù)據(jù)成員和方法:
●分割集合——記錄 MSS 的分割情況,例如{Cell1,Cell2} ,{Cell3,Cell4,Cell5} ;
●LOC——記錄移動(dòng)用戶最近報(bào)告的地址 (無(wú)線單元的 ID),例如 Cell1 ;
●ERR——移動(dòng)用戶當(dāng)前所在的分割,例如,若LOC= Cell1,則 ERR={Cell1,Cell2} ;
●loc( )——個(gè)方法,用于返回該用戶的實(shí)際地址,即上面介紹的地址查詢過(guò)程。
這種位置相關(guān)查詢需要檢查各個(gè)對(duì)象的實(shí)際地址是否滿足約束條件而這些實(shí)際地址必須進(jìn)行地址查詢才能得到,因?yàn)槲恢梅?wù)器只提供分到一級(jí)不精確的地址。因此,要求得位置相關(guān)查詢的最終答案,必須先查詢足夠的精確地址信息。若對(duì)這一類查詢進(jìn)行適當(dāng)?shù)膬?yōu)化,可以大大減少查詢地址信息所需的通信開(kāi)銷。
3.位置相關(guān)的查詢處理技術(shù)
位置相關(guān)的數(shù)據(jù)(Location Dependent Data簡(jiǎn)稱LDD)是指其值依賴于地理位置的數(shù)據(jù),在不同的地理區(qū)域其值是不同的。顯然,位置相關(guān)的數(shù)據(jù)不同于移動(dòng)對(duì)象數(shù)據(jù)。移動(dòng)對(duì)象的位置屬性具有連續(xù)變化的特性,它可以看成是時(shí)間的函數(shù),因此屬于“動(dòng)態(tài)”數(shù)據(jù);而位置相關(guān)數(shù)據(jù)的值并不會(huì)隨著時(shí)間的推移而動(dòng)態(tài)變化,除非被顯式地修改,從這個(gè)意義上說(shuō),位置相關(guān)的數(shù)據(jù)屬于“靜態(tài)”數(shù)據(jù)。
位置相關(guān)的持續(xù)查詢(Location Dependent Continuous Query,簡(jiǎn)記為L(zhǎng)DCQ)。持續(xù)查詢(Continuous Query)是指具有一定生存期的查詢。在查詢的生存期之內(nèi),只要被查詢的數(shù)據(jù)對(duì)象發(fā)生了變化,或者查詢語(yǔ)句的隱含條件發(fā)生了變化,就需要對(duì)用戶的結(jié)果進(jìn)行刷新,從而使用戶總能實(shí)時(shí)地得到最新的查詢結(jié)果。LDCQ是指查詢結(jié)果依賴于查詢用戶當(dāng)前位置或被查詢對(duì)象位置的持續(xù)查詢,例如在公路上行進(jìn)的救護(hù)車輛可以提交這樣的查詢:“請(qǐng)?jiān)谖磥?lái)的10分鐘之內(nèi)隨時(shí)告訴我附近的醫(yī)院”,該查詢的結(jié)果是隨著救護(hù)車的行進(jìn)而不斷刷新的。
在LDD數(shù)據(jù)庫(kù)中,LDCQ的查詢結(jié)果依賴于被查詢數(shù)據(jù)對(duì)象的內(nèi)容以及移動(dòng)查詢用戶所處的數(shù)據(jù)區(qū)域。為了簡(jiǎn)化敘述,我們假設(shè)在查詢的生存期內(nèi)被查詢的數(shù)據(jù)對(duì)象未發(fā)生變化。這樣,當(dāng)移動(dòng)查詢用戶在同一個(gè)數(shù)據(jù)區(qū)域內(nèi)移動(dòng)時(shí),查詢結(jié)果是不會(huì)發(fā)生變化的,此時(shí)沒(méi)有必要重新執(zhí)行查詢;只有當(dāng)移動(dòng)用戶跨越了數(shù)據(jù)區(qū)域的邊界時(shí),才需要觸發(fā)查詢的重計(jì)算。為此,我們可以對(duì)LDCQ進(jìn)行如下處理:當(dāng)移動(dòng)用戶提交一個(gè)LDCQ時(shí),服務(wù)器將執(zhí)行首次查詢,同時(shí)將被查詢的數(shù)據(jù)對(duì)象當(dāng)前所處的數(shù)據(jù)區(qū)域的位置信息(即頂點(diǎn)序列)發(fā)送給移動(dòng)計(jì)算機(jī)(如果用戶的查詢涉及到多個(gè)LDD,則每個(gè)LDD的當(dāng)前數(shù)據(jù)區(qū)域信息均需要發(fā)送給移動(dòng)計(jì)算機(jī));在移動(dòng)用戶移動(dòng)的過(guò)程中,需要不斷地進(jìn)行地理位置的比較,一旦發(fā)現(xiàn)跨越了其中的一個(gè)地理區(qū)域,就要主動(dòng)發(fā)起一個(gè)重計(jì)算請(qǐng)求,服務(wù)器重新計(jì)算查詢結(jié)果之后,再將新的結(jié)果和新的數(shù)據(jù)區(qū)域信息發(fā)送給移動(dòng)計(jì)算機(jī)。上述過(guò)程一直持續(xù)下去,直到到達(dá)規(guī)定的時(shí)間為止。
移動(dòng)數(shù)據(jù)庫(kù)技術(shù)將大大提高企業(yè)的運(yùn)行效率。移動(dòng)數(shù)據(jù)庫(kù)使得管理者和移動(dòng)的工作人員都能夠更及時(shí)、準(zhǔn)確地掌握有關(guān)的信息,從而能夠提高企業(yè)的管理和決策效率;另外,它將使企業(yè)網(wǎng)絡(luò)資源的調(diào)配更具靈活性,從而降低企業(yè)的成本。移動(dòng)計(jì)算的發(fā)展克服了有線網(wǎng)絡(luò)接入的局限性,提高了數(shù)據(jù)信息接入的普遍性,從而能夠吸引更多的用戶,大大提高數(shù)據(jù)通信覆蓋的人群比例,更有效地推動(dòng)電子商務(wù)的發(fā)展。因此,移動(dòng)數(shù)據(jù)庫(kù)技術(shù)在我國(guó)將會(huì)有很大的發(fā)展和廣泛的應(yīng)用前景。
參考文獻(xiàn):
[1] 丁治明,王珊,孟小峰.移動(dòng)復(fù)制數(shù)據(jù)庫(kù)系統(tǒng)沖突檢測(cè)及消解策略[J].計(jì)算機(jī)學(xué)報(bào),2002,25(3).
[2] 丁治明,孟小峰,王珊.復(fù)制的移動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)事務(wù)級(jí)同步處理策略[J].軟件學(xué)報(bào),2002,13(2).
[3] 王珊,丁治明.移動(dòng)計(jì)算中的移動(dòng)數(shù)據(jù)庫(kù)[N].微電腦世界,2001-08-25.