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