嵌入式移動數(shù)據(jù)庫中的移動Agent問題探討
1 引言
本文引用地址:http://2s4d.com/article/171430.htm隨著移動通信技術的迅速發(fā)展以及移動計算終端的大量普及,使得人們隨時隨地訪問任何所需信息成為可能。對于傳統(tǒng)的分布式計算以及分布式數(shù)據(jù)庫的研究都是基于有線網(wǎng)絡和固定主機的,采用了一些如固定網(wǎng)絡連接、對等通信代價、主機結點固定不變等默認的隱含假設。若計算結點在自由移動的過程中與網(wǎng)絡建立連接,則上述這些假設條件不再成立,由此需要一種更加復雜、靈活的分布式計算環(huán)境,因此研究移動計算以及移動數(shù)據(jù)庫成為一個新興的熱點領域。
移動Agent作為一種前沿技術,也是計算機領域的一個研究熱點。近年來國內(nèi)外對移動Agent技術研究的投入都非常大,并且在移動Agent的并行計算、移動Agent系統(tǒng)安全、多Agent建模等方面都有突出成果。移動Agent作為一種可攜帶執(zhí)行代碼和數(shù)據(jù)的遷移對象,帶有一定的智能性,能夠自主結合客戶機和服務器的知識,并在服務器上進行推理以確定自己的下一步工作。其次移動Agent對于用戶沒有實時網(wǎng)絡連接的要求,僅僅是在發(fā)送請求和接受結果時需要網(wǎng)絡連接,可以大幅減少無線通信網(wǎng)絡上的通信流量,基于移動Agent具有的這些優(yōu)勢,在嵌入式移動數(shù)據(jù)庫中引入移動Agent技術并進行研究探討,具有一定的價值。
2 移動Agent技術
移動Agent是一個代替人或其它程序執(zhí)行某種任務的程序,它在復雜的網(wǎng)絡系統(tǒng)中能自主地從一臺主機移動到另一臺主機[1],該程序能夠選擇何時、何地移動,在移動時該程序可以根據(jù)要求掛起其運行,然后轉移到網(wǎng)絡的其它地方重新開始或繼續(xù)執(zhí)行,最后返回結果和消息。移動Agent具有自治性、移動性、智能性、異步計算性等特性。
從實現(xiàn)技術的角度看,移動Agent系統(tǒng)主要由移動Agent平臺(MAE)和移動Agent(MA) 組成。移動Agent平臺是一個虛擬機,通常被稱為移動Agent服務器,為移動Agent的移動和執(zhí)行提供執(zhí)行環(huán)境,為移動Agent的發(fā)射、接收、恢復、安全管理和服務調(diào)用等提供基礎設備設施。移動Agent攜帶完成計算任務所需的代碼和數(shù)據(jù)以及Agent的運行狀態(tài),在網(wǎng)絡上不同主機之間遷移并完成相應的動作,移動Agent遷移示意圖如圖1。
將移動Agent技術應用于嵌入式移動數(shù)據(jù)庫主要具有如下一些優(yōu)勢:
1)移動Agent可以減少通信網(wǎng)上的流量。將任務請求通過Agent移動到服務器端執(zhí)行,使得Agent不經(jīng)過網(wǎng)絡傳輸這個中間環(huán)節(jié)而直接訪問服務器資源,任務在遠地執(zhí)行完后直接返回結果,從而降低系統(tǒng)對網(wǎng)絡帶寬的依賴,這恰好適合移動計算環(huán)境所具有的斷接性的特點;2)移動Agent可以異步計算。移動Agent不需要統(tǒng)一的調(diào)度,由用戶創(chuàng)建的移動Agent可以異步的在不同網(wǎng)絡節(jié)點上運行,對于相對復雜的任務,用戶還可以創(chuàng)建多個Agent,同時在相同或不同的節(jié)點上運行,不需要客戶端與主機永久連接。也恰好適合移動計算環(huán)境所具有的低帶寬和弱可靠性的特點;3)移動Agent可以方便的訪問異構數(shù)據(jù)庫。在數(shù)據(jù)庫系統(tǒng)中存在一些異構的環(huán)境,此時如果采用傳統(tǒng)的數(shù)據(jù)庫訪問方式,往往需要客戶端預先安裝多種類型的數(shù)據(jù)庫連接驅(qū)動程序,并在訪問時執(zhí)行這些連接驅(qū)動程序,這會大大增加移動終端的負載[2],因此,傳統(tǒng)的數(shù)據(jù)庫訪問方式很難適用于移動計算環(huán)境中移動數(shù)據(jù)庫的訪問,但由于移動Agent本身的特性卻使得訪問異構數(shù)據(jù)庫較其他方式更加方便;4)移動Agent可以方便的實現(xiàn)負載平衡。移動Agent能攜帶自身的代碼從一個平臺移動到另一個平臺,在目的主機上也無需預先安裝就能運行,因此移動Agent可以方便的實現(xiàn)負載平衡。
3、 基于移動Agent的移動數(shù)據(jù)庫的體系結構
傳統(tǒng)的基于Agent的移動數(shù)據(jù)庫的體系結構一般采用如圖2所示的客戶層、客戶Agent層、服務器Agent層、服務器層的體系結構,該結構能對移動數(shù)據(jù)庫的數(shù)據(jù)復制與緩存、斷接期間的管理、減少客戶與服務器之間的通信量等方面都能提供有效的支持。但該體系結構對于服務器之間的協(xié)同工作、客戶端在網(wǎng)絡中的自由移動等方面不能提供理想的支持,對此,本文采用一種更加靈活的體系結構。該體系結構對傳統(tǒng)的基于Agent的移動數(shù)據(jù)庫的體系結構模型進行擴充,在客戶機和服務器之間加入一個新的層次移動Agent層。如圖3所示。
其中客戶Agent層主要負責本地緩存以及本地事物的管理;移動Agent層根據(jù)客戶Agent提出的任務請求完成相應的功能并返回結果;服務器Agent主要負責提供數(shù)據(jù)訪問接口?;谝苿覣gent的移動數(shù)據(jù)庫的體系結構可設計成如圖4所示。
注: MSS: Mobile Support Station(具有無線通信接口的支持移動計算機的固定節(jié)點)
SVR: Server(固定主機) LDB: Local Database(本地數(shù)據(jù)庫)
MA: Mobile Agent (移動代理) MC: Mobile Client(移動客戶)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論