基于嵌入式的移動數(shù)據(jù)庫與Agent技術原理設計
概述:隨著網絡技術的迅速發(fā)展和不斷滲透,在任何地點和任何時候都能接入網絡獲取各種信息,必將成為21世紀人類的普通要求;同時,移動通信技術的進步和人們對移動數(shù)據(jù)處理需求的不斷提高,與各種智能通信設備緊密結合的嵌入式移動數(shù)據(jù)庫技術已經得到了學術界、工業(yè)界、軍事領域、民用部門等各方面的高度重視。移動計算和移動數(shù)據(jù)庫技術將使得這種需求得以實現(xiàn)。
移動環(huán)境中所具有的移動性、頻繁的斷接收、低帶寬、電池電量有限性等特性,決定了移動數(shù)據(jù)庫中的計算環(huán)境不同于分布式數(shù)據(jù)庫,給移動數(shù)據(jù)庫的研究提出了許多新的挑戰(zhàn)。本文分析移動數(shù)據(jù)庫的特點、體系結構;介紹移動數(shù)據(jù)庫系統(tǒng)中的一些關鍵性技術,及移動Agent在移動數(shù)據(jù)庫中的應用。
移動數(shù)據(jù)庫是移動計算環(huán)境中的分布式數(shù)據(jù)庫,由于移動數(shù)據(jù)庫的應用大都嵌入到諸如掌上電腦、PDA、車載設備等移動通信設備中,故移動數(shù)據(jù)庫有時也稱為嵌入式移動數(shù)據(jù)庫。在數(shù)據(jù)庫系統(tǒng)的研究歷史中,傳統(tǒng)的分布計算與分布數(shù)據(jù)庫的研究是基于有線網絡和固定主機的。這些都采用了一些默認的隱含假設,例如固定網絡連接、對等通信代價、主機節(jié)點固定不變等。但進入20世紀90年代以來,隨著移動通信技術和網絡技術迅速發(fā)展,加之移動計算機和移動通信設備的大量普及,許多計算節(jié)點可以在移動過程中與網絡建立連接,使得上述假設條件不成立。移動計算環(huán)境具有移動性、低帶寬、頻繁斷接性、網絡通信的非對稱性、電源電力的有限性等特點,使得傳統(tǒng)分布式數(shù)據(jù)庫中的方法和技術不斷直接應用于移動數(shù)據(jù)庫。目前,移動數(shù)據(jù)庫的應用與研究正在成為學術界的一個研究熱點,有大批學者投入到這一新的研究領域。
1 嵌入式移動數(shù)據(jù)庫的體系結構
在傳統(tǒng)的分布式計算系統(tǒng)中,各個計算節(jié)點之前是通過固定網絡連接并保持網絡的技術連接性的,而移動計算系統(tǒng)改變了這種假設條件。移動計算系統(tǒng)是固定節(jié)點和移動節(jié)點構成的分豐計算系統(tǒng)。移動計算的網絡環(huán)境具有鮮明的特點:移動性、斷接性、帶寬多樣性、可伸縮性、弱可靠性、網絡通信的非對稱性、電源能力的局限性等。移動環(huán)境中的分布式數(shù)據(jù)庫就是移動數(shù)據(jù)庫。它是傳統(tǒng)分布式數(shù)據(jù)庫系統(tǒng)的擴展,可以看作客戶與固定服務器節(jié)點動態(tài)連接的分布式系統(tǒng)。移動數(shù)據(jù)庫系統(tǒng)的結構如圖1所示。
其中,移動客戶機MC(Mobile Client)包括便攜式電腦、PDA等;MSS(Mobile Support Station)支持移動計算的固定節(jié)點,具有無線通信接口;FH(Fixed Host)沒有無線通信接口,安裝有數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)。
2 嵌入式移動數(shù)據(jù)庫的關鍵技術
為了實現(xiàn)移動數(shù)據(jù)庫,必須解決移動計算環(huán)境中斷接性、移動性、網絡通信的不對稱性等因素對移動數(shù)據(jù)庫系統(tǒng)的影響。
(1)數(shù)據(jù)復制與緩存技術
該技術是解決移動數(shù)據(jù)庫數(shù)接性的關鍵技術,在現(xiàn)有DBMS基礎上進行修補以適應移動計算也采用該技術。傳統(tǒng)的復制/緩存技術都是假設客戶機和服務器之間是經常保持連接的,并基于這個前提來維護一致性。這在移動計算中是不適用的。目前,針對移動計算特點開展數(shù)據(jù)復制/緩存技術的研究最具代表性的是:J.Gray的兩級復制機制、CODA系統(tǒng)以及緩存失效報告廣播技術等。另外,SYBASE公司的移動數(shù)據(jù)庫產品SQL ANYWHERE和SQL REMOTE也采用該技術來支持移動計算環(huán)境。
(2)數(shù)據(jù)廣播
通俗地講,數(shù)據(jù)廣播是指在移動計算環(huán)境中,利用客戶機與服務器通信的不對稱性,以周期性廣播的形式向客戶機發(fā)送數(shù)據(jù)。其最大的優(yōu)點是,廣播開銷不依賴移動用戶數(shù)量的變化而變化,借助數(shù)據(jù)廣播,可以在一定程度上解決移動數(shù)據(jù)庫系統(tǒng)的斷接問題。數(shù)據(jù)廣播的研究可分為服務器和客戶機兩個方面:服務器主要考慮如何利用本地緩存進一步減少查詢廣播數(shù)據(jù)的時間。在國內,長沙國際科技大學的周興銘院士對數(shù)據(jù)廣播進行了深入研究,提出了數(shù)據(jù)廣播的多盤調度算法。衡量數(shù)據(jù)廣播調度算法好壞的參數(shù)是訪問時間和調諧時間。
(3)位置相關查詢優(yōu)化
在移動數(shù)據(jù)庫中,存在著與位置相關信息的查詢及更新。查詢通常是與位置相關的,即使是同一個問題,在不同的地方,所得查詢結果是不同的,如“最近的醫(yī)院在哪里?”。移動查詢優(yōu)化技術是指在傳統(tǒng)分布式數(shù)據(jù)庫查詢優(yōu)化技術的基礎上,利用多種方法,消除帶寬多樣性、斷接等因素造成的影響,使查詢引擎能夠根據(jù)當前可用網絡條件采取恰當?shù)膬?yōu)化策略;同時,針對移動計算機有限電源能力,合理地組織本地數(shù)據(jù)庫管理、遠程數(shù)據(jù)庫訪問等耗電能較多的操作,達到節(jié)能目的,延長關鍵數(shù)據(jù)的可用時間。
采用基于分割的地址更新策略時,由位置服務器維護的移動用戶對象包含以下數(shù)據(jù)成員和方法:
分割集合——記錄MSS的分割情況,例如{Cell1,Cell2},{Cell3,Cell4,Cell5};
LOC——記錄移動用戶最近報告的地址(無線單元的ID),例如Cell1;
ERR——移動用戶當前所在的分割,例如,若LOC=Cell1,則ERR={Cell1,Cell2};
loc()——一個方法,用于返回該用戶的實際地址,即上面介紹的地址查詢過程。
在移動查詢的應用中,有各種各樣涉及地址的查詢,例如“請尋找一名校園附近的醫(yī)生”,“查找X,Y,Z,這三人都在同一條公路上,且Y在X與Z之間”,等等。一般地,可以把這一類地址相關查詢表示為:
SELECT x1,x2,…,xn
FROM Users
WHERE(x1,loc=11∧…∧xn.loc=1n)∧C(11,…,1n)∧W(x1,…,xn)
其中C(11,…,1n)是關于地址11,…,1n的n元約束條件,而W(x1,…,xn)是關于對象x1,x2,…,xn非地址屬性的n元約束條件,Users是所有移動用戶的集合。[!--empirenews.page--]
(4)移動事務處理
事務處理是數(shù)據(jù)庫管理系統(tǒng)的一個基本功能,主要用于維護數(shù)據(jù)的一致性,支持多用戶的并發(fā)訪問,使用戶可以可靠地查詢和更新數(shù)據(jù)庫。一般來說,用戶對數(shù)據(jù)庫系統(tǒng)的訪問都是通過事務來完成的。在傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)中,一個事務由一系列讀寫操作組成。事務處理必須滿足四個準則,即原子性、一致性、隔離性和永久性(簡稱ACID)。移動計算環(huán)境的特點,使傳統(tǒng)數(shù)據(jù)庫系統(tǒng)中的事務處理技術不能滿足移動事務處理的要求。
通常,將移動客戶機發(fā)出的事務叫移動事務,它屬于分布事務。移動事務處理具有以下特點:
①移動性。這不僅指移動事務執(zhí)行期間,發(fā)出事務的移動客戶機是移動的,而且事務本身也在相應地移動。
②長事務。由于無線網絡通信的低帶寬、高延遲以及移動客戶機的頻繁斷接性,都可能使移動事務成為長事務。
③易錯性。由于移動客戶機不如固定結點可靠,而且無線網絡通信也不如固定網絡穩(wěn)定,因此,與一般事務相比,移動事務更容易出錯。
④異構性。由于客戶機的移動性,移動事務可能要訪問分布的異構數(shù)據(jù)庫系統(tǒng)。
總之,移動事務不同于傳統(tǒng)事務,傳統(tǒng)的ACID模型已不能很好地描述移動事務,需要為移動事務尋找更好的模型。維護數(shù)據(jù)的一致性和解決過區(qū)切換(handoff)問題是移動事務管理的重要任務。
3 移動Agent技術
Agent的研究起源于人工智能領域。Agent是指模擬人類行為與關系,具有一定智能并能夠自主運行和提供相應服務的程序。移動Agent是一個能夠在異構網絡中自主地從一臺主機遷移動另外一臺主機,并可與其它Agent或資源交互的程序。實際上它是Agent技術與分布式技術的混血兒。移動Agent具有自主性、移動性、協(xié)作性、安全性、智能性等特性。
傳統(tǒng)的分布式計算基于Client/Server體系結構,其帶寬耗費嚴重,網絡負載不均衡,容錯能力較差。移動Agent作為全新分布式計算工具,通過將自身代碼、狀態(tài)傳送到遠程主機,并在遠程主機執(zhí)行的方式克服了Client/Server方案的不足之處,因而成為分布式計算的主要發(fā)展方向之一。
與Client/Server方案相比,移動Agent具有以下幾大優(yōu)勢:移動Agent通過移動到服務器端工作并把最終數(shù)據(jù)傳回客戶機,可以節(jié)省網絡帶寬;移動Agent減少了費時的網絡傳輸,并且在規(guī)模較大的數(shù)據(jù)庫操作中Agent能實現(xiàn)本地操作,可以節(jié)省時間;移動Agent移動到服務器端直接傳回最終結果,避免了中間數(shù)據(jù)的傳輸延遲;一旦移動Agent從客戶端傳輸?shù)搅硪慌_主機上,這臺機器就可以和網絡斷開連接直到想回收Agent或再次傳送Agent,即整個系統(tǒng)可工作在異步方式;移動Agent可以輕易地從一個平臺移動到另一個平臺,它們帶著自身代碼移動到目的機器上無須預先安裝就能運行,可以很方便地實現(xiàn)負載平衡;移動Agent可以感知環(huán)境的變化并作出反應,多個移動Agent可以動態(tài)地調整分布以維護最優(yōu)配置。
基于移動Agent嵌入式移動數(shù)據(jù)庫改革了傳統(tǒng)的遠程查詢數(shù)據(jù)庫的SQL查詢方法,把查詢任務存儲到一個可通過網絡進行移動的Agent上,Agent將移動到服務器上,執(zhí)行查詢并在座結論,然后返回到用戶并打印結果。在這個過程中,我們把查詢任務分解為單個的查詢方法,而這些指令在網絡上的合適地點會被喚醒并執(zhí)行。通過將移動Agent技術引入嵌入式移動數(shù)據(jù)庫中,有助于實現(xiàn)嵌入式移動數(shù)據(jù)庫查詢優(yōu)化。
結語
移動計算的研究覆蓋了許多領域,如移動硬件設備、移動通訊、移動聯(lián)網技術、無線WWW訪問、移動數(shù)據(jù)庫技術、無線客戶/服務器應用等。隨著互聯(lián)網和無線通訊技術的發(fā)展,移動數(shù)據(jù)庫的需求正在不斷增加,其技術正在成為國際數(shù)據(jù)庫界的一個研究方向。由于移動數(shù)據(jù)庫自身的移動性、斷接性、帶寬的有限性、網絡通信的非對稱性以及電源電量的有限性等特性,決定了移動計算環(huán)境不同于傳統(tǒng)的分布計算。Agent技術是計算機領域的一個研究熱點,是一個能獨立運行的智能體?,F(xiàn)在,將移動Agent技術應用于分布式系統(tǒng)和網絡管理等方面取得了很好的效果??傊?,隨著人們對信息需求的不斷增加,無線網絡和通信技術的不斷進步,移動數(shù)據(jù)庫領域的研究大有希望,必將為人類帶來巨大的商業(yè)和社會價值。