林德樹 (長江大學計算機科學學院,湖北 荊州434023)
程彩鳳 (長江大學工程技術學院信息系,湖北 荊州434020)
Agent是模擬人類行為與關系具有一定智能并能夠自主運行和提供相應服務的程序,其源于人工智能領域。移動Agen是一個能夠在異構網絡中自主地從一臺主機遷移到另外一臺主機,并可與其他Agent或資源交互的程序[1]。目前各種移動設備的上網過程中,網速和帶寬都比較有限,這樣就限制了移動網絡的發展,移動Agent可以將請求Agent動態地移動到服務器端執行,由于Agent是跨平臺的,可以做到異構網絡傳輸,這樣擴大了移動Agent系統的使用范圍。目前,移動互聯網發展迅猛,很多企業都建立了各自的手機應用程序,但據此開發出來的客戶應用對網絡流量有很大消耗。針對上述問題,筆者對一種基于移動Agent的LBS(Location Based Service,基于位置的服務)系統進行了研究。
LBS系統以移動用戶為主要服務對象,是一種基于移動計算環境的應用系統。移動計算環境是指以移動互聯網為核心平臺、采用移動計算技術實現信息處理的一種計算環境,其物理含義包括隨遇性、流動性和佩帶性等3方面的內容[2]。隨遇性是指用戶在移動過程中隨時可接受委托其使用的計算系統進行信息處理;流動性是指由于計算節點總處于移動狀態,其網絡環境不斷變換,因而計算環境也在不斷變化;佩帶性是指人機緊密結合,其促成了一種新的 “以人為本”的人機交互方式,這種方式由微型的、依附在人體上的計算機系統來實現,可以認為是移動計算的最高表現。
在移動計算環境中,移動終端通常是通過移動服務支持節點 MSS(Mobile ServiceStation,移動基站)與固定網絡連接的[3]。LBS系統由LBS服務器、LBS業務管理服務器、計費服務器、數據中心、移動服務網關和移動定位網關構成。在這樣一種計算環境中,高速寬帶互聯網構成連接固定節點的主干,固定網絡中擁有若干支持移動服務的節點MSS,每個MSS負責管理一個無線網絡單元 (如無線廣播單元、無線局域網單元等),單元內的移動終端與MSS之間通過無線通信連接。基于移動Agent的LBS系統結構圖如圖1所示。基于移動Agent的LBS系統相對于傳統的LBS系統的主要變化是通信環境的改變,即增加了移動Agent通信和運行的環境,這樣LBS服務器、LBS業務管理服務器、計費服務器和數據中心之間可以借助移動Agent進行通信。根據移動Agent處理任務復雜度的不同,在必要時還可單獨設立移動Agent服務器,由此專門負責移動Agent代碼庫的管理和移動Agent任務的分派。

圖1 基于移動Agent的LBS系統結構圖
基于Android的LBS系統按照層次結構來進行劃分,可以分為服務層、用戶層、管理層和數據層。用戶可以通過客戶端輸入查詢信息,客戶端軟件根據查詢來生成相應的Agent來進行信息檢索,數據庫再根據Agent的檢索反饋元數據信息給用戶Agent和網絡應用程序或瀏覽器。基于移動Agent的LBS系統在Android上的實現框圖如圖2所示。
數據庫服務Agent主要負責對其他各個Agent的管理與協調工作,接受用戶請求任務,轉換數據請求格式,并分解成相應的子任務發送到集成Agent服務層由服務Agent來實現數據管理,具體包括用戶Agent管理、Agent注冊、查詢任務、任務求解并返回結果[4]。用戶Agent進行查詢請求并利用元數據的方式提交,首先進行消息處理,檢測消息格式是否正確,如果消息正確則移動到目標地址,根據用戶Agent建立相應的任務請求。并發送給集成Agent,最后等待返回結果。如果消息錯誤則返回到消息處理過程并通知用戶Agent消息。服務Agent流程圖如圖3所示。

圖2 基于移動Agent的LBS系統在Android上的實現框圖

圖3 服務Agent流程圖
集成Agent操作的對象為元數據,其為各層之間數據交換標準格式,可以采用較少的數據盡可能表示多而全的信息。雖然LBS系統中的數據較多,但是各種數據庫的類型也比較多,為此通過元數據將各種數據轉化成統一格式。通過對異構數據庫進行轉化,采用XML進行描述、交換與保存,可以保證LBS系統的靈活性與開放性。采用數據庫實現基于內容的檢索服務,能夠有效保證LBS系統在大容量交換過程中有較高的查準率和查全率。用戶提交的查詢操作提供給Agent功能模塊進行解析,然后可以進行元數據信息查詢,這樣就可以把元數據信息從XML格式轉換并導入到數據庫中以實現全局查詢的分解,最終實現各個數據庫的子查詢[5]。
采用JAVA開發了2個手機應用客戶端 (即傳統方式手機客戶端和基于移動Agent的手機客戶端)并分別進行網絡訪問流量監測。檢測流量采用Android系統提供的數據, (見表1)。由表1可知,采用移動Agent技術處理大量查詢數據時,其對異構網絡訪問速度更快。這是因為查詢和處理操作都是在本地進行的,避免了大量中間數據的傳送,因此大大降低了網絡延遲,節省了網絡帶寬,能夠實現負載平衡。

表1 試驗數據統計表
為了解決傳統手機客戶端消耗較大網絡流量的問題,設計了一種基于移動Agent的LBS系統。實際應用表明,利用該系統能夠有效地降低網絡流量,同時能夠較好地完成客戶端的各項功能。隨著3G網絡技術的不斷發展,相信在不久的將來,移動Agent在分布式計算和分布式網絡通信方面的應用會更加廣泛。
[1]張云勇,劉錦德 .移動Agent技術 [M].北京:清華大學出版社,2003.
[2]丁建國,柳惠琳,陳涵生,等 .移動Agent的一種安全認證機制 [J].計算機工程,2001(2):74-75.
[3]申永軍,史小平,李小青 .移動代理安全信任模型的研究 [J].微計算機信息,2009(25):39-41.
[4]楊曉元,魏立線 .計算機密碼學 [M].西安:西安交通大學出版社,2007.
[5]Denis T,Johnson S.程序員密碼學 [M].沈曉斌譯 .北京:機械工業出版社,2007.