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