鄭澤敏
(民航汕頭空管站,廣東 揭陽516669)
空中交通管理作為設備安全保障要求較高的行業(yè),其在數(shù)據(jù)通信與網(wǎng)絡交互上必須擁有多重方式,這使得空管通信網(wǎng)絡的監(jiān)控更加復雜。以目前汕頭空管站為例,其包含有華為FA16/FA36、思科企業(yè)核心交換機/ATM、甚至C波段以及Ku衛(wèi)星等多種網(wǎng)絡通信設備。這多樣的網(wǎng)絡設備監(jiān)控各有千秋,卻無法統(tǒng)一集中監(jiān)控,這對于空管一線技術保障而言,無疑是另一種效率瓶頸。本文通過引入Agent技術,借助其智能性、學習性以及社會性等特征開發(fā)一套能夠多重適用于空管現(xiàn)場網(wǎng)絡設備的軟件。該監(jiān)控軟件將具備動態(tài)學習能力,具有較強的擴展性和可維護性。
Agent是一種能在特定環(huán)境下靈活主動地完成某個特定任務的實體,在計算機應用其實現(xiàn)上,其具有良好的主動性、學習性和交互性。因此將其引入多樣化、更新速度較快的空管通信設備具有一定的意義。以此同時,系統(tǒng)必須采用多Agent進行同個通信設備網(wǎng)的監(jiān)控。所謂的多Agent指的是由多個Agent組成的有效集合,在該集合內部Agent之間的活動及工作是相對獨立的,互相通過合作、協(xié)商及交互完成集合任務。對于本設計而言,系統(tǒng)必須遵守一定的規(guī)則實現(xiàn)多個Agent之間任務的劃分、資源分配以及數(shù)據(jù)的交互。
在系統(tǒng)中,Agent必須以其他Agent協(xié)作,以此來完成集合賦予的任務,并遵守一定的規(guī)則。其中可以通過邏輯推理進行問題定義庫,根據(jù)其他Agent及運行環(huán)境進行推理計算,完成集合任務并實現(xiàn)由知識處理提進行處理生成自我知識。
在數(shù)據(jù)交互的實現(xiàn)機制上,以汕頭空管內部OA系統(tǒng)網(wǎng)為例進行簡單介紹。首先,網(wǎng)絡監(jiān)控Agent啟動后進行網(wǎng)絡地址分析,如果確定網(wǎng)址是一個不允許訪問的狀態(tài)網(wǎng)址則Agent可立即將其屏蔽;其次,控制Agent將啟動網(wǎng)頁分析,集合任務執(zhí)行將進入網(wǎng)絡監(jiān)控Agent,網(wǎng)絡分析Agent完成網(wǎng)絡分析并將結果交予決策Agent;最后決策Agent將決策結果通知網(wǎng)絡Agent并作出自我知識存儲。對于軟件設計上,系統(tǒng)必須同時考慮后臺數(shù)據(jù)庫的配備以及數(shù)據(jù)的反饋(例如實時信息的監(jiān)控,考慮聲光告警)。
對于集成化要求來說,系統(tǒng)的實現(xiàn)因盡可能考慮到各種情況以及后續(xù)相應的擴展。針對空管系統(tǒng)通信設備而言(包括接入設備、交換設備以及路由設備)。實現(xiàn)上,對于多Agent設計來說大概有一下分類及軟件功能設計:
(1)設備選項Agent:它將通過預先建立的知識庫(包括華為設備知識庫、思科設備知識庫,H3C設備知識庫)等進行自我檢測及適用實現(xiàn)多設備的無縫多功能監(jiān)控接入;
(2)通信服務Agent:主要負責在B/S模式下,數(shù)據(jù)客戶端以及服務器端之間的通信;
(3)數(shù)據(jù)服務Agent:主要為其他Agent提供基礎數(shù)據(jù)保障服務,包括數(shù)據(jù)的存儲、數(shù)據(jù)格式的轉換以及數(shù)據(jù)的解析,在實際軟件設計上體現(xiàn)為后臺數(shù)據(jù)庫的數(shù)據(jù)與前端軟件的互相配合;
(4)客戶端監(jiān)視Agent:在設計上,B/S模式的設計要求監(jiān)控系統(tǒng)必須部署于某一局域網(wǎng),這使得客戶端的監(jiān)視成為軟件監(jiān)控的一部分;
(5)遠程監(jiān)控Agent:主要實現(xiàn)系統(tǒng)的自我維護部分功能;
(6)決策Agent:對于系統(tǒng)而言實現(xiàn)信息的判斷以及決策,協(xié)作其他Agent完成集合任務,如上所述;
(7)分析Agent:主要實現(xiàn)對采集信息的分析及解析,其與決策Agent聯(lián)系最為密切;
(8)控制Agent:整個系統(tǒng)的核心,將實現(xiàn)控制以及協(xié)調作用,可以解決系統(tǒng)內部多個Agent的工作沖突問題、數(shù)據(jù)交互問題等。在軟件設計上,其是代碼實現(xiàn)的主要模塊。
當然,在實際應用中,系統(tǒng)可能由于后續(xù)的更新以及監(jiān)控通信網(wǎng)絡設備型號的更換變得實現(xiàn)更為復雜。因此在Agent設計上,一方面系統(tǒng)考慮Agent設計的獨立性不變;另一方面提供后續(xù)維護擴展接口,對后續(xù)Agent的增加設計提供維護操作路徑。
在軟件設計上系統(tǒng)采用了VISUAL2010設計開發(fā)平臺,其中較為重點技術實現(xiàn)為知識庫的學習以及COM可重用庫的調用。
在知識庫的學習上,系統(tǒng)必須考慮多種通信設備配置文件的讀取及解析,在設計上可以參考文獻[2]采用的正則表達式處理方式,通過字符串的正則表達式匹配,系統(tǒng)可以快捷實現(xiàn)對知識庫相關文件的讀取及解析為軟件的后續(xù)設計提供數(shù)據(jù)基礎,具體實現(xiàn)此處不再贅述。
微軟提供了COM組件,通過COM組件可以實現(xiàn)對Agent的設計。在C#上可以通過以下代碼實現(xiàn)對其的創(chuàng)建(接口、函數(shù)以及類的編寫):
編寫導出接口
創(chuàng)建接口函數(shù)如下:
創(chuàng)建具體類:
{//函數(shù)編寫}
也就是說對于COM組件,可以通過對其進行函數(shù)及類的修改實現(xiàn)對不同Agent的定制。編寫完畢后可以在VBScript進程測試如下:
本文提出一種基于Agent的空管通信設備監(jiān)控系統(tǒng),該系統(tǒng)實現(xiàn)通過C#設計,并采用B/S模式進行部署,能夠對目前主流空管通信設備進行有效地集中監(jiān)控。監(jiān)控實現(xiàn)比以往單一設備監(jiān)控更具魯棒性和可維護性。這為空管其他設備監(jiān)控提供一種參考。
[1]王靜宇,譚躍生,張曉琳.基于Agent的網(wǎng)格資源監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].微電子學與計算機,2006(S1).
[2]曾培彬,高升秋.基于Web信息處理的機位信息融合設計與實現(xiàn)[J].中國民航飛行學院學報,2014(05).