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