嵌入式移動數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)查詢設計
引 言
移動數(shù)據(jù)庫的應用大多嵌入到諸如掌上電腦、PDA等移動通信設備中,屬于移動環(huán)境下的分布式數(shù)據(jù)庫。移動計算是隨著移動通信、互聯(lián)網(wǎng)、數(shù)據(jù)庫、分布式計算等技術的發(fā)展而興起的新技術。移動計算技術將使計算機或其他信息智能終端設備,在無線環(huán)境下實現(xiàn)數(shù)據(jù)傳輸及資源共享。它的作用是,與中央信息系統(tǒng)相互作用,分擔中央信息系統(tǒng)的計算壓力,將有用、準確、及時的信息提供給任何時間、任何地點的任何客戶。移動計算環(huán)境比傳統(tǒng)的
計算環(huán)境更為復雜和靈活,具有移動性、低帶寬、頻繁斷接性、網(wǎng)絡通信的非對稱性、電源能力的有限性等特點,這使得傳統(tǒng)分布式數(shù)據(jù)庫中的方法和技術不能直接應用于移動數(shù)據(jù)庫。
根據(jù)嵌入式移動數(shù)據(jù)庫自身所具有的特點,采用與普通數(shù)據(jù)庫不同或更優(yōu)的查詢策略變得尤為重要。本文介紹了位置相關查詢優(yōu)化和數(shù)據(jù)廣播兩種普遍用于移動數(shù)據(jù)庫查詢的方法,結合移動數(shù)據(jù)庫中的緩存技術,分別從合理分配嵌入式移動數(shù)據(jù)庫資源和在一定程度上解決移動數(shù)據(jù)庫的斷接問題這兩點,實現(xiàn)嵌入式移動數(shù)據(jù)庫的查詢優(yōu)化。
1 位置相關查詢優(yōu)化
1.1 嵌入式移動數(shù)據(jù)庫的結構體系及特點
在傳統(tǒng)的分布式計算系統(tǒng)中,各個計算節(jié)點之間是通過固定網(wǎng)絡連接并保持網(wǎng)絡的持續(xù)連接性的,而移動計算系統(tǒng)改變了這種假設條件。移動計算系統(tǒng)是固定節(jié)點和移動節(jié)點構成的分布計算系統(tǒng)。
移動計算的網(wǎng)絡環(huán)境具有自身的特點:移動性、斷接性、帶寬多樣性、可伸縮性、弱可靠性、網(wǎng)絡通信的非對稱性、電源能力的局限性等。
移動數(shù)據(jù)庫的計算環(huán)境是傳統(tǒng)分布式數(shù)據(jù)庫的擴展,可以看作客戶端與固定服務器節(jié)點動態(tài)連接的分布式系統(tǒng),因此移動計算環(huán)境中的數(shù)據(jù)庫管理系統(tǒng)是一種動態(tài)分布式數(shù)據(jù)庫管理系統(tǒng)。由于移動數(shù)據(jù)庫在移動計算的環(huán)境下應用在嵌入式操作系統(tǒng)之上,所以它具有微小內(nèi)核結構、支持標準SQL、事務管理功能、完善的數(shù)據(jù)同步機制、支持多種連接協(xié)議、完備的數(shù)據(jù)庫管理功能,以及支持多種嵌入式操作系統(tǒng)的特點和功能需求。
1.2 位置相關查詢優(yōu)化方式
在移動數(shù)據(jù)庫中,存在著與位置相關信息的查詢及更新。查詢通常是與位置相關的,即使是同一個問題,在不同的地方所得查詢結果是不同的。
位置相關查詢是查詢條件中隱含有查詢者所在位置信息的查詢。其查詢處理不同于普通數(shù)據(jù)庫查詢處理,它要將移動用戶的位置信息加入到查詢條件中,并附加必要的語義信息(如“最近的”等)。類似的位置相關查詢是一類很重要的查詢問題,例如司機查詢最近的加油站、救護車查詢最近的醫(yī)院、旅客查詢最近的飯店等。一般可以把這類地址相關查詢表示為:
其中:“x1,x2,.,xn”表示移動用戶對象;Users表示所有移動用戶的集合;loc表示記錄移動用戶最近報告的地址(無線單元的ID);C(11,12,.,ln)是關于地址“11,12,.1n”的n元約束條件;W(x1,x2,.,xn)是關于對象“x1,x2,.,xn”非地址屬性的n元約束條件。
2 數(shù)據(jù)廣播
2.1 數(shù)據(jù)廣播的優(yōu)點
在一個無線單元內(nèi),從服務器到移動客戶機的下行通信帶寬一般要遠大于從移動客戶機到服務器的上行通信帶寬,而且移動客戶機從服務器接收數(shù)據(jù)的開銷也遠小于發(fā)送開銷,因此在大部分場合中,即使是處于斷接狀態(tài)的移動客戶機也可以選擇接收從服務器發(fā)送的下行廣播信息。于是,可以利用這種網(wǎng)絡的非對稱性,由數(shù)據(jù)庫服務器把大多數(shù)用戶頻繁訪問的數(shù)據(jù)(即熱點數(shù)據(jù))組織起來,以周期性的廣播形式提供給移動客戶機訪問,這種數(shù)據(jù)發(fā)布方式稱為“數(shù)據(jù)廣播”。
通俗地講,數(shù)據(jù)廣播是指在移動計算環(huán)境中,利用移動客戶機與服務器通信的不對稱性,以周期性廣播的形式向客戶機發(fā)送數(shù)據(jù)。其最大的優(yōu)點是,廣播開銷不依賴移動用戶數(shù)量的變化而變化,借助數(shù)據(jù)廣播,可以在一定程度上解決移動數(shù)據(jù)庫系統(tǒng)的斷接問題。數(shù)據(jù)廣播的研究可分為服務器和移動客戶機兩個方面:服務器主要考慮如何組織廣播數(shù)據(jù),即數(shù)據(jù)廣播的調(diào)度;移動節(jié)點主要考慮如何利用本地緩存進一步減少查詢廣播數(shù)據(jù)的時間。
它具有以下優(yōu)點:
?、俸芎玫目缮炜s性。因為服務器廣播數(shù)據(jù)的開銷與接收廣播的客戶機數(shù)是無關的,因此它可以以很小的代價支持大量移動客戶機同時訪問數(shù)據(jù)。
?、谝苿涌蛻魴C可以不需要數(shù)據(jù)緩存。
?、奂词乖跀嘟訒r也允許移動客戶機訪問到最新數(shù)據(jù)。
?、芤苿涌蛻魴C不再需要預測未來的數(shù)據(jù)請求。
數(shù)據(jù)廣播是解決移動數(shù)據(jù)庫系統(tǒng)用戶規(guī)模龐大及網(wǎng)絡通信非對稱問題的一種有效辦法。衡量數(shù)據(jù)廣播調(diào)度算法好壞的參數(shù)主要有2個:訪問時間和調(diào)諧時間。
2.2 數(shù)據(jù)廣播的標準
數(shù)據(jù)的傳輸是基于MPEG一2 TS流的。針對不同的應用類型,數(shù)據(jù)廣播定義了以下6種方式:數(shù)據(jù)管道、數(shù)據(jù)流、多協(xié)議封裝、數(shù)據(jù)傳送帶、對象傳送帶和用戶自定義的服務。
如圖1所示,數(shù)據(jù)廣播標準針對不同的應用類型規(guī)定了不同的服務級別。數(shù)據(jù)管道標準對如何從MPEG一2 TS流中恢復數(shù)據(jù)并沒有給出具體的細節(jié),它只是簡要描述了如何將數(shù)據(jù)放入MPEG一2 TS流的分組中去。數(shù)據(jù)流標準增加了更多的功能,特別是定時。這使得進行異步的數(shù)據(jù)廣播、被同步的數(shù)據(jù)廣播以及同步的數(shù)據(jù)廣播變得可能。多協(xié)議封裝、數(shù)據(jù)傳送帶、對象傳送帶標準都是建立在使用MPEG一2的DSM—CC幀結構基礎上的。它是基于MPEG一2ISO/IEC 13818—1中定義的MPEG一2中的私有部分。數(shù)據(jù)廣播增加了一些特定的信息以使該幀結構在DVB環(huán)境中工作,特別是同業(yè)務信息(SI)的結合。
3 復制與數(shù)據(jù)查詢緩存機制
復制是在多個移動節(jié)點上維護數(shù)據(jù)的備份,包括服務器之間的復制和移動計算機上保存數(shù)據(jù)庫的復制。一般前者稱為“復制”,后者稱為“緩存”。復制的主要目的是提高分布式數(shù)據(jù)庫系統(tǒng)的可用性、可靠性和訪問性能。首要的問題是如何維護多個復制節(jié)點上數(shù)據(jù)狀態(tài)的一致性。按照維護復制一致性的方式來劃分,現(xiàn)有的復制協(xié)議可以分為嚴格一致協(xié)議和弱一致協(xié)議兩種。嚴格一致協(xié)議要求任何時刻所有數(shù)據(jù)庫的復制都是一致的;而弱一致協(xié)議允許各個復制之間存在暫時的不一致,但這種不一致總能夠保持在一定的界限之內(nèi),而且總是能夠趨于一致(收斂性)。緩存是介于應用程序和物理數(shù)據(jù)源之間,其作用是降低應用程序?qū)ξ锢頂?shù)據(jù)源訪問的頻率,從而提高應用的運行性能。緩存內(nèi)的數(shù)據(jù)是對物理數(shù)據(jù)源中數(shù)據(jù)的復制,應用程序在運行時從緩存中讀寫數(shù)據(jù),特定的時刻或事件會同步緩存和物理數(shù)據(jù)源的數(shù)據(jù)。移動客戶機與服務器之間的無線網(wǎng)絡帶寬有限,而緩存技術可以有效地減少通信量,從而避免網(wǎng)絡的擁塞。
傳統(tǒng)的緩存技術要求移動客戶機保持與服務器的連接,這樣才能維護緩存的一致性,而采用移動計算模型的嵌入式移動數(shù)據(jù)庫系統(tǒng)與傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)則不同。嵌入式移動數(shù)據(jù)庫的一個顯著特點是,移動終端之間以及與服務器之間的連接是一種弱連接,即低帶寬、長延遲、不穩(wěn)定和經(jīng)常性的斷開。在移動計算環(huán)境中.若采用傳統(tǒng)的方法,由于移動客戶機經(jīng)常斷接,斷接期間客戶機將無法接收到緩存失效信息,因此在重新聯(lián)機時必須將整個緩存作廢,既使緩存失去了其應有的作用,又會嚴重浪費有限的無線網(wǎng)絡帶寬。
而為了能在這種環(huán)境下對數(shù)據(jù)庫進行更新操作,嵌入式系統(tǒng)必須提供數(shù)據(jù)復制與同步功能,使得嵌入式移動數(shù)據(jù)庫系統(tǒng)可以隨時隨地從其他數(shù)據(jù)庫系統(tǒng)中獲得準確的、最新的、有用的、一致的數(shù)據(jù)。現(xiàn)在普遍采用樂觀復.制方法(optimistic replication或lazy replication)允許用戶對本地緩存上的數(shù)據(jù)副本進行操作。待網(wǎng)絡重新連接后再與數(shù)據(jù)庫服務器或其他終端交換數(shù)據(jù)修改信息,并通過沖突檢測和協(xié)調(diào)來恢復數(shù)據(jù)的一致性。
4 嵌入式移動數(shù)據(jù)庫優(yōu)化查詢方法
移動查詢優(yōu)化技術是指在傳統(tǒng)分布式數(shù)據(jù)庫查詢優(yōu)化技術的基礎上,利用多種方法消除帶寬多樣性、斷接等因素造成的影響,使查詢引擎能夠根據(jù)當前可用網(wǎng)絡條件采取恰當?shù)膬?yōu)化策略;同時,針對移動計算機有限的電源能力,合理地組織本地數(shù)據(jù)庫管理、遠程數(shù)據(jù)庫訪問等耗電較多的操作,達到節(jié)能目的并延長關鍵數(shù)據(jù)的可用時間。
研究表明,位置相關查詢優(yōu)化方法在一定程度上優(yōu)化了嵌入式移動數(shù)據(jù)庫資源問題,而在數(shù)據(jù)發(fā)送方式上,數(shù)據(jù)廣播將客戶要經(jīng)常訪問的、熱點數(shù)據(jù)以周期性廣播的方式發(fā)送給移動客戶機,即使是客戶機處于斷接的情況下,同樣可以收到服務器廣播的數(shù)據(jù)。通過合理地分配資源,結合數(shù)據(jù)庫緩存技術,利用數(shù)據(jù)廣播的優(yōu)點,這幾種方法較好地解決了移動數(shù)據(jù)庫的斷接問題,從而實現(xiàn)嵌入式移動數(shù)據(jù)庫的數(shù)據(jù)查詢優(yōu)化。
作為解決移動數(shù)據(jù)庫斷接問題的關鍵技術,緩存技術在傳統(tǒng)的分布式數(shù)據(jù)庫中得到廣泛應用。它通過在客戶機上緩存部分數(shù)據(jù),達到減少訪問數(shù)據(jù)庫服務器的目的,從而提高性能。在嵌入式移動數(shù)據(jù)庫中,在客戶機斷接的情況下,用戶可以從客戶緩存中查詢到全部或部分數(shù)據(jù)。斷接性是移動數(shù)據(jù)庫環(huán)境眾多特點中很重要的一條,采用復制/緩存技術是解決移動數(shù)據(jù)庫斷接問題的一種有效途徑。移動客戶機上的數(shù)據(jù)庫容量有限,并且在實際運行時會發(fā)生變化,通過對數(shù)據(jù)庫資源的更優(yōu)化分配,可使在處理數(shù)據(jù)時,不再使用或優(yōu)先選擇使用頻率較低的關系和數(shù)據(jù)。通過使用這些關系和數(shù)據(jù),降低了對系統(tǒng)資源的需求,從而實現(xiàn)嵌入式移動數(shù)據(jù)庫查詢優(yōu)化。
結 語
現(xiàn)今,隨著嵌入式移動技術的不斷發(fā)展,在其各個領域內(nèi)各項技術難關不斷被突破。其中,嵌入式移動數(shù)據(jù)庫技術發(fā)展更為迅速,而人們對嵌入式移動數(shù)據(jù)庫產(chǎn)品的需求也是越來越迫切,要求也越來越高。但逐漸增多的產(chǎn)品也暴露出了嵌入式移動數(shù)據(jù)庫技術依然存在的各種缺憾。然而,作為國內(nèi)剛起步的新興產(chǎn)業(yè),對嵌入式移動數(shù)據(jù)庫技術領域的研究,必將吸引更多學者的目光。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論