嵌入式移動數據庫中的移動Agent問題探討
1) 移動Agent的協同。移動Agent具有自主性,同時也具有協作性,能夠相互合作,從而高效透明的使用網絡上的資源[3]。通常各種數據資源存儲在各個不同的網絡節點上,隨著數據庫技術的發展,很多應用都涉及到訪問不同位置的數據庫,對此,用戶可以創建多個Agent,讓其分散到網絡的多個節點上去執行,當多個移動Agent共同完成一個任務時,Agent之間需要進行通信,移動Agent系統可采用的通信方式有很多,比如 RPC,RMI等,在具體的代理系統中,通信的實現方式則有很大的差別。如:Cornell大學的Tocama通過一個攜帶數據的briefcase來交換數據;General Magic公司的Telescript中Agent只能在會話點中用本地方法調用的方式相互通信; Dartmouth學院的D’Agent既支持底層的基于字節流的消息傳遞方式,也支持基于Agent層次的高層通信方式。
2) 移動Agent的重定位。移動Agent在完成客戶Agent所提出的任務時,由于所需的資源可能分布在網絡不同的節點上, Agent需要在網絡中移動。在移動數據庫系統中,移動客戶端的位置通常不斷發生變化,這時,Agent也需要根據移動客戶端的位置重新在網絡中進行定位,從而縮短與移動客戶端的距離,達到減少通信時間以及網絡通信開銷的目的。對于移動Agent的重定位方法可以采取如下方式:(1)通過使用位置服務器。當移動Agent創建時,在相應的位置服務器中注冊當前位置,當移動Agent發生位置變化時,要在位置服務器中更新自己的位置信息,要定位所需的移動Agent通過向位置服務器查詢即可。(2)通過跟蹤移動Agent的移動路徑。移動Agent遷移時,記錄下移動Agent的遷移路徑,從而可以根據路徑來定位所需的移動Agent。(3)通過發送廣播消息,采取與局域網中ARP協議類似的方法,向系統內所有節點發送廣播消息,由符合的條件的移動 Agent發回響應消息。
3) 并發操作的控制。嵌入式移動數據庫在實際應用中必須解決好數據的一致性[4],在移動數據庫系統中,有時存在多個Agent并發訪問共享信息的情況,為了保證數據的一致性,需要對并發操作進行正確的控制,目的是為了避免出現使數據處于不一致狀態的并發事物調度。在基于移動Agent的系統中,既要維護本地數據庫系統的一致性,也要維護網絡節點上數據庫系統的一致性。并發控制可以借助DBMS本身的功能來完成,因為目前一般的數據庫管理系統都有較好的并發控制功能,同時也可借助一些開發工具來實現并發控制。相對于傳統的數據庫系統,Agent并發控制相對較復雜,可能存在網絡節點上的數據庫不完全接受Agent的控制、本地數據庫與網絡節點上的數據庫之間存在相互約束關系等一些影響因素。
4)故障的恢復。在基于移動Agent的移動數據庫系統中,故障恢復較傳統的數據庫系統也相對復雜一些,需要恢復網絡節點上的各個數據庫中的數據、恢復每個Agent的本地數據以及運行時的環境。對于網絡節點上的各個數據庫以及每個Agent的本地數據的故障恢復可以借助DBMS本身的功能來完成。對于Agent運行時的環境的恢復可以通過專門為對應的Agent新建一個數據庫來維護運行時的環境,當Agent需要對數據進行更新操作時,先更新在為其新建的那個數據庫中,當整個事物完成時再提交數據給本地數據庫。
5 結束語
針對移動數據庫具有的移動性、斷接性、網絡條件多樣性、網絡通信的非對稱性、移動計算機的弱電源能力等特性,將移動Agent技術引入到移動數據庫中,移動Agent計算模式能有效的減少網絡通信流量、減少訪問服務器的延遲、支持斷接操作、支持異步計算等,使得移動Agent的優點得到了很大的發揮,有助于實現移動數據庫的各種操作。由于移動Agent技術本身還處于發展過程中,應用移動Agent來完善移動數據庫技術還有待于更加深入的研究和探索。
本文作者創新點:
鑒于在分布式數據庫中使用的多層架構技術在訪問量大的情況下能較好的適應數據庫的各種操作,筆者在移動數據庫中借鑒其相關技術同時利用了移動Agent的特點,并對由此產生的部分問題探討了其初步的解決方式。
參考文獻:
[1] 朱淼良,邱瑜.移動代理系統綜述[J],計算機研究與發展,2001,38(1):16-25.
[2]王彤,王良. 移動計算中基于Mobile Agent的數據庫訪問技術,小型微型計算機系統,2002,23(10):1165-1168.
[3] 劉振鵬等.基于協同式移動Agent分布式數據庫系統研究[J], 計算機工程與設計, 2004,24(11):10-12.
[4] 牛立新,關永,劉旭敏. 嵌入式移動數據庫研究, 微計算機信息, 2006,第22卷第1-2期,85-87頁轉251頁
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論