摘 要: 為了適應大規模計算機網絡管理發展的需要,在此提出了對網絡終端健康運行狀況監控和處理的網絡遠程監控系統。借鑒現代人工智能的Agent技術,完成終端設備的環境數據采集和簡單的分析和判斷,降低服務控制設備的運算壓力,減少網絡傳輸數據流量,實現了具有自治性和智能性的大規模計算機網絡終端遠程監控系統體系結構。大幅度提高了整個監控系統的處理性能,降低了對被控制網絡的影響。通過具體的軟件系統分析,設計了以Agent技術為核心的程序流程,并給出了Java語言實現的程序框架。改進了傳統系統的整體性能。
關鍵詞: 遠程監控; 體系設計; Agent; 數據采集
中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2013)18?0059?03
隨著計算機和網絡技術的快速發展,計算機應用技術已經滲透到工作和生活的方方面面,現代生產制造業與現代服務業的高效運行,越來越依賴于計算機和網絡技術。隨著生產產業鏈的擴大和業務分工細化,一個業務網絡中所包含的計算機數量越來越多,網絡覆蓋的地域范圍也越來越大, 計算機網絡規模和網絡結構隨著業務需求千變萬化,如電力調配網絡系統可能覆蓋幾個省,銀行自動柜員機網點網絡會覆蓋一個城市甚至幾個城市,高等學校的計算機教學網絡也可能覆蓋一個城市的不同校區,保障正常生活和人身安全的天網工程會覆蓋整個城市。在人們享受計算機網絡給帶來高效、便利的同時,對計算機和網絡的依賴日益增強。但是,計算機網絡運行卻面臨著許多潛在的風險,網絡設備的運行依賴著設備硬件和軟件等環節的正常運行,設備的供電系統不穩定、設備的存儲故障、軟件積累誤差、軟件病毒等,任何一個環節出現的問題,都有可能使設備運行不正常或者停止運行[1]。網絡節點出現問題,將會影響到業務系統的正常運行,如果網絡系統的關鍵節點出現問題,將可能造成整個網絡的崩潰,對企業單位造成難以估量的巨大經濟損失。但是網絡節點的分布范圍廣,通過人工方式對網絡節點進行日常檢查和維護,需要耗費巨大的人力和物力[2]。因此,如何監控網絡設備的運行狀態,預先判斷可能出現問題的節點,發現網絡設備運行中存在的問題并及時處理,減少網絡設備發生問題的可能性,是面臨的重要課題。通過全天候自動化的網絡運行狀態監控,可降低網絡設備運行風險,保障生產和生活的正常運行,帶來巨大的經濟效益和社會效益。
遠程、自動化、智能化網絡設備檢測軟件系統,是解決日益突出矛盾的有效手段。通過Agent技術的應用,對系統關鍵技術之一的信息采集的開發及改進,可提高監控系統的運行效率。采用Agent機制完成采集被監控網絡終端設備的運行信息,由監控Agent對采集的系統運行信息進行統計和分析,自主判斷被監控終端的運行狀況,并給出不正常的系統的錯誤類型和所在的網絡位置,可提高系統排查故障效率,優化監控系統結構。
1 Agent技術介紹
Agent的概念是由美國M.Minsky教授提出的[3],Agent是一個軟件過程,這個軟件過程通過采集信息對相對于其外界環境的變化進行判斷并做出反應,Agent應該具有自管理性和自處理性,并應具有人工智能的特性,可以通過信息采集和處理過程的積累,獲取經驗并提升自身的處理能力,能依據事先設定的原則來對采集信息做出一定的反應。監控Agent一般情況下可分為智能型Agent和非智能型Agent兩種,即認知式監控Agent和反應式監控Agent,兩種Agent的主要區別是認知式監控Agent可通過對采集的信息進行自我學習和具有一定的判斷推理能力,能夠根據自身采取的策略和其他監控Agent采取的策略進行演繹推理。而反應式監控Agent則是根據對采集的系統運行信息的變化而采取相應的反應動作[4]。本系統由于存在大量的復雜的故障判斷,可通過簡單的認知式和反應式相結合的方式實現Agent功能,將大量簡單的故障判斷由Agent完成,同時將原始信息和復雜的故障判斷傳送到Agent控制服務器端完成。
2 遠程監控系統軟件架構
由于Agent具有自主性和智能性,因此通過采用Agent技術開發的網絡設備狀態信息采樣Agent可以自主完成基本的數據采集和分析。將簡單分析結果傳送給Agent控制服務器進行存儲和響應處理,大大減少了Agent控制服務器對前端Agent數據采集的控制和信息處理工作量,也使后臺系統管理變得簡單快捷,提高整個系統的響應速度。基于Agent技術遠程網絡監控系統采用三重體系結構即設備信息采集Agent,Agent控制服務器、數據庫服務器、故障應急處理服務器和系統管理控制終端。為提高系統管理對平臺的兼容性,系統管理采用B/S模式進行系統模式設計[5],其中設備信息采集Agent通過JAVA語言編程,提高了采集對不同系統平臺的兼容性;系統管理工作終端采用ASP.NET編程實現,通過不同的系統平臺可以輕松實現對Agent控制服務器管理和發布控制命令。通過這樣的實現策略可以提高監控系統的兼容性和擴展性,通過擴展接口通訊可以方便地完成故障應急處理服務器與Agent控制服務器的通訊、緊急狀況短信通知等主動監控功能[6]。通過移動通訊端口設計實現系統設備和移動設備的連接,系統能夠很好的支持移動用戶登錄和管理系統。體系機構如圖1所示。
根據Agent的特點將網絡遠程監控系統的軟件邏輯模型分為5層:具體分為數據采集層、數據管理層、數據分析層、數據處理層和數據表示層。各個層次核心線索是數據。系統軟件的數據采集Agent分布在各個被監控的網絡終端計算機上,以服務程序的形式隨設備的啟動運行,Agent運行于設備的整個運行期內。數據管理層、數據處理層和數據分析層軟件模塊運行于Agent控制服務器上,數據表示層可運行在系統管理終端上,管理者可在系統管理終端和遠程終端對系統進行監控管理,同時處理結果如需要產生應急服務的表示信息,可通過應急處理服務器產生相應的應急服務任務。
3 設備信息采集Agent設計
由于在整個系統中監控終端的數目巨大,而控制服務器只有一個,這樣當系統繁忙時,控制服務器需要完成大量的數據管理和數據挖掘事件生成操作。監控大量終端監控點時由于集中處理數據量大,會產生處理延時,降低整個系統的應急處理速度。通過使用Agent技術,將部分監控服務器的簡單任務下移到終端Agent,降低了服務器的事務處理強度,就可以提高對異常情況響應處理速度[7]。
通常,設備信息采集Agent的工作流程如下:在程序初始化時先生成一個信息采集Agent實例Collect_Agent,然后通過Agent啟動自身的傳感器(Sensor)從待采集信息的環境中獲取所需的信息,根據采集的信息而采取相應的動作來響應Agent環境的變化[8]。監控終端運行兩個Agent模塊,分別是信息采集Collect_Agent和指令執行Instruct_Agent。信息采集Agent通過對采集的信息的判斷處理,形成判斷報告并根據判斷結果執行相應的處理,然后將判斷報告與采集數據發送到Agent控制服務器,完成信息操作記錄。Agent控制服務器對數據和報告進行存儲和結果響應處理。服務器定期對采集數據和報告進行評估,同時對可能發生錯誤的報告進行判斷條件參數的修改并發送到指令執行Instruct_Agent,指令執行Agent根據指令完成判斷條件更新、系統重啟等任務。程序依次反復循環運行。兩個Agent的程序流程如圖2所示[9]。
4 結 論
系統通過Agent技術的使用,充分發揮了Agent對數據監控的自治性、智能性和協作性等特性,降低了在系統運行過程中的網絡通訊負荷和數據流量,降低了控制服務器的信息處理和運算強度,提高了控制服務器處理的效率和整個系統故障響應速度[10]。系統進一步需要改進的工作包括完善Agent的自學習算法以及進一步研究Agent智能處理,實現分布決策與集中管理的統一。
參考文獻
[1] 馮登國.計算機通信網絡安全[M].北京:清華大學出版社,2001.
[2] 張穎江,晏德軍,李臘元.基于大規模網絡的入侵檢測系統的設計與實現[J].武漢理工大學學報:交通科學與工程版,2004(6):832?835.
[3] 胡斌,高濟,郭航.規范多Agent系統動態模型及其屬性驗證機制[J].浙江大學學報:工學版,2009(3):1014?1019.
[4] 伍爾德里奇.多Agent系統引論[M].北京:電子工業出版社,2003.
[5] 余海萍,梁征.B/S結構網絡設備運行管理系統的設計與實現[J].廣西科學院學報,2007(1):33?35.
[6] 馮博琴.計算機網絡與通訊[M].北京:經濟科學出版社,1999.
[7] 郭航.面向自治服務協同環境的規范多Agent體系研究[D].杭州:浙江大學,2010.
[8] 何炎祥,陳莘萌.Agent和多Agent系統的設計與應用[M].武漢:武漢大學出版社,2001.
[9] 王相林,李蓓蕾.如何維護大規模的網絡設備[J].中國教育網絡,2009(8):73?75.
[10] 王汝傳.智能Agent及其在信息網絡中的應用[M].北京:北京郵電大學出版社,2006.