• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Web的電視發(fā)射臺遠程集中監(jiān)控系統(tǒng)設計

      2012-08-10 07:48:00白小軍
      電視技術 2012年10期
      關鍵詞:命令串口代理

      白小軍,楊 軍,喻 鈞

      (西安工業(yè)大學 計算機科學與工程學院,陜西 西安 710032)

      隨著廣播電視事業(yè)的發(fā)展,廣播電臺對電視發(fā)射機的監(jiān)控要求越來越高,從原有的本機自動化提高到臺內(nèi)的自動化監(jiān)控,進而發(fā)展到遠距離的發(fā)射臺自動化監(jiān)控。另一方面,網(wǎng)絡技術的迅猛發(fā)展也引發(fā)了控制領域深刻的技術變革,網(wǎng)絡化的遠程控制以及基于Web的遠程控制已成為技術發(fā)展的主流方向。開發(fā)基于Web的集中監(jiān)控系統(tǒng),可以有效提高管理效率,節(jié)約人力,真正實現(xiàn)“有人值班、無人值守”的管理目標[1-3]。

      遠程監(jiān)控系統(tǒng)要解決的首要問題是管理主機和控制設備間的通信問題,即設備的運行狀態(tài)如何傳遞給管理主機,管理者的控制命令如何發(fā)送給被控設備。傳統(tǒng)的控制設備一般都通過串口(RS-232和RS-485)與上位機通信,這種方式通信距離很短,難以進行遠程控制;借助新興的設備服務器技術,可以方便地將串口設備接入網(wǎng)絡,實現(xiàn)串口協(xié)議與網(wǎng)絡協(xié)議之間的轉換,從而為串口設備的網(wǎng)絡化控制創(chuàng)造了條件。

      在文獻[4]中,描述了如何通過CGI方式,在設備服務器上編程實現(xiàn)基于Web的設備監(jiān)控;在文獻[5]中,描述了如何通過XML與XSL技術將監(jiān)控系統(tǒng)的頁面展示邏輯轉移到客戶端,有效減輕設備服務器的負荷。兩篇文獻都存在一個局限,即都是針對單臺設備的監(jiān)控,無法實現(xiàn)整個發(fā)射臺甚至多個發(fā)射臺的集中監(jiān)控。

      1 SNMP與遠程監(jiān)控

      在控制系統(tǒng)中引入設備服務器后,可將一臺控制設備當作一個網(wǎng)絡設備來使用,設備服務器充當了被管設備代理的角色;這樣,控制系統(tǒng)管理的問題就可以轉化為網(wǎng)絡管理的問題來解決。而在網(wǎng)絡管理領域已有了一系列成熟的協(xié)議,SNMP(簡單網(wǎng)絡管理協(xié)議)成為不錯的選擇。

      SNMP是網(wǎng)絡管理領域中的一項標準協(xié)議,用于實現(xiàn)路由器等網(wǎng)絡設備的信息采集和管理。SNMP采用“管理者—代理”的工作模式,如圖1所示。管理者負責發(fā)出管理操作的指令,并接收來自代理的響應或事件通告。代理位于被管設備一側,充當管理者和設備之間的中介,把來自管理者的命令或信息請求轉換為本設備特有的指令以執(zhí)行,然后返回設備的信息;另外,代理也可以將設備系統(tǒng)中發(fā)生的事件主動通知給管理者。

      圖1 SNMP的管理模型[5]

      SNMP協(xié)議中的三大要素是管理信息結構(SMI)、管理信息庫(MIB)和SNMP通信協(xié)議。SMI定義了SNMP框架中可用的管理信息的類型和語法,為描述被管對象以及如何交換管理信息奠定了基礎;MIB以層次化的方式組織設備的管理信息,樹中的每一個節(jié)點都代表著設備的某項運行狀態(tài)數(shù)據(jù),都有其唯一的標識號(OID),管理站就是通過OID來指定要訪問的數(shù)據(jù)項;SNMP通信協(xié)議定義了管理者和代理之間通信的消息類型和消息格式,常用的5種消息類型是GetRequest,GetNextRequest,Get?Response,SetRequest,Trap[6-8]。

      將SNMP引入設備監(jiān)控領域,可以在設備服務器上編程實現(xiàn)SNMP代理的功能,管理者通過Get原語可以采集設備的運行數(shù)據(jù),通過Set原語可以控制設備執(zhí)行指定的動作,當設備發(fā)生重大告警時,代理可以通過Trap原語及時上報給管理者。這樣,監(jiān)控系統(tǒng)中的數(shù)據(jù)采集、命令控制等功能都得以實現(xiàn)。

      2 發(fā)射臺集中監(jiān)控系統(tǒng)總體結構

      基于SNMP協(xié)議的發(fā)射臺集中監(jiān)控系統(tǒng)總體結構如圖2所示。

      監(jiān)控系統(tǒng)中的主要部件有:

      1)被管設備。發(fā)射機控制器作為實際的被管設備,實現(xiàn)發(fā)射機內(nèi)部各部件的運行控制。它通過串口與設備服務器通信,接收SNMP代理發(fā)送的控制命令,執(zhí)行該命令,并返回設備的運行狀態(tài)數(shù)據(jù)。

      2)設備代理。設備服務器作為被管設備的代理。一方面通過串口與被管設備相連,采集設備的運行數(shù)據(jù),并向設備發(fā)送控制命令;另一方面通過網(wǎng)口與集中監(jiān)控服務器相連,實現(xiàn)SNMP的Get,Set,Trap等原語操作。在代理中,需要針對控制設備特有的管理信息項定制MIB,維護設備的狀態(tài)信息。

      3)集中監(jiān)控服務器。作為集中監(jiān)控系統(tǒng)的服務端,該服務器具有數(shù)據(jù)采集、客戶響應以及設備控制三項核心職能:一是采用輪詢的方式從代理處采集設備的運行狀態(tài)數(shù)據(jù),保存到數(shù)據(jù)庫中,供前臺程序使用;二是接收客戶端發(fā)送的查詢指令,動態(tài)構造設備的運行狀態(tài)顯示界面;三是接收客戶端發(fā)送的控制命令,轉換成SNMP Set指令發(fā)送給代理,控制設備執(zhí)行指定的動作。

      4)管理客戶端。監(jiān)控人員使用客戶端連接到監(jiān)控服務器,查詢設備狀態(tài),并向設備發(fā)送控制命令。

      5)手機客戶端。在用戶不方便上網(wǎng)的情況下,可以通過手機短信的方式,查詢設備的運行狀態(tài),或向設備發(fā)送控制命令。

      6)GSM調(diào)制器。作為手機短信收發(fā)設備,可以將設備的運行狀態(tài)信息發(fā)送給手機客戶端(例如當設備發(fā)生重大告警或故障時向管理手機發(fā)送告警短信),也可以接收手機客戶端發(fā)送過來的查詢或控制短信,并交給監(jiān)控服務器做進一步的處理。

      3 設備代理的設計

      設備服務器作為被管設備的代理,在系統(tǒng)中起著至關重要的作用。在管理者一側,它要維護設備特有的MIB信息,并實現(xiàn)SNMP的Get,Set及Trap等原語操作;在設備一側,它要通過串口與設備通信,實現(xiàn)數(shù)據(jù)采集與命令控制。

      本系統(tǒng)選擇美國Lantronix公司生產(chǎn)的UDS1100設備服務器,它提供了簡單、廉價的串口設備聯(lián)網(wǎng)方案,內(nèi)置精簡的多任務操作系統(tǒng),支持ARP,IP,TCP,UDP等常用的網(wǎng)絡通信協(xié)議,可以透明地實現(xiàn)串口數(shù)據(jù)與網(wǎng)絡數(shù)據(jù)之間的協(xié)議轉換;同時,它還提供了CGI,SNMP等編程接口,可以方便地擴展功能。這里將使用其SNMP API,開發(fā)電視發(fā)射機設備的SNMP代理。

      設備代理軟件的總體結構如圖3所示。

      1)數(shù)據(jù)采集進程:設備代理上運行的主進程,控制系統(tǒng)以指定的時間間隔不斷向控制器發(fā)送查詢消息(調(diào)用命令處理組件的功能),獲取設備的運行狀態(tài)信息,并將這些信息保存到MIB中供SNMP組件訪問。

      2)SNMP組件:實現(xiàn)SNMP協(xié)議的各項原語操作。處理網(wǎng)管應用程序發(fā)來的Get和Set指令,返回設備的運行狀態(tài)(訪問MIB變量獲得),或通過命令處理組件向設備發(fā)送控制命令;當設備有重大告警時,也通過該組件向管理者發(fā)送Trap。

      3)命令處理組件:處理SNMP組件發(fā)出的Set指令,以及數(shù)據(jù)采集進程發(fā)出的Get指令;調(diào)用串口通信組件的功能,向設備控制器發(fā)送查詢或控制命令,并接收設備的運行狀態(tài)數(shù)據(jù)以更新MIB。

      4)串口通信組件:封裝了串口消息的構造和收發(fā)操作,使得命令處理組件可以很方便地通過串口向控制器發(fā)送消息,獲取設備運行參數(shù)或控制設備動作。

      代理系統(tǒng)設計時要注意兩個方向的接口:在被控設備一側,要明確控制器支持的消息接口,即串口命令及響應的數(shù)據(jù)包格式,針對每一條串口命令設計相應的命令處理組件,實現(xiàn)被控設備的數(shù)據(jù)采集以及命令控制;在網(wǎng)絡管理一側,要明確管理信息結構,合理設計私有MIB,并針對MIB變量設計SNMP組件,實現(xiàn)Get,Set及Trap等原語操作。

      為方便串口消息的收發(fā),串口通信組件中設計了兩個核心的函數(shù):

      1)根據(jù)要發(fā)送的控制命令構造串口消息包,并保存到發(fā)送緩沖區(qū),即:

      2)發(fā)送串口消息并接收響應,即:

      根據(jù)用戶的監(jiān)控要求,本系統(tǒng)需實現(xiàn)發(fā)射機配置信息、運行狀態(tài)信息及PA運行數(shù)據(jù)、日志數(shù)據(jù)等基本信息查詢功能,同時還要實現(xiàn)開/關機、重啟、激勵器切換等常用的控制功能。為此,設計如下的命令處理組件:

      被控設備的管理信息維護在MIB中,這里需要針對發(fā)射機的運行狀態(tài)和控制要求定制MIB,如圖4所示。

      其監(jiān)控數(shù)據(jù)分類保存到txQry(運行狀態(tài)信息)、txCfg(配置信息)、txSet(控制命令)、fpaTable(功放運行狀態(tài)信息,表格結構)、txLogs(日志信息)幾個節(jié)點下。通過SNMP Get或GetNext操作可獲取MIB中保存的信息數(shù)據(jù);若要控制設備執(zhí)行某項動作,則通過SNMP Set原語,設置txSet節(jié)點下的某個變量的值,這樣SNMP組件將自動調(diào)用命令處理組件的相關函數(shù),完成指定的控制操作。

      4 監(jiān)控服務器的設計

      遠程監(jiān)控服務器的總體結構如圖5所示。該系統(tǒng)具有3個核心進程,即數(shù)據(jù)采集進程、集中監(jiān)控進程和短信監(jiān)控進程。

      1)數(shù)據(jù)采集進程。該進程隨系統(tǒng)的啟動而啟動,并一直在后臺運行,按一定的時間間隔定期采集各設備的運行數(shù)據(jù)并保存到數(shù)據(jù)庫中備用。

      2)集中監(jiān)控進程。該進程在前臺運行,接收并處理用戶的請求。若是查詢請求,則從數(shù)據(jù)庫中檢索設備的運行狀態(tài)信息反饋給用戶;若是命令請求,則轉化為SET指令發(fā)送給設備代理。由于采用了基于Web的監(jiān)控方案,該進程演變?yōu)閃eb服務器進程。

      3)短信監(jiān)控進程。該進程一直在后臺運行,監(jiān)聽本機的串行端口(連接GSM調(diào)制器);當收到管理員發(fā)送的短信命令時,解析并執(zhí)行該命令,將結果反饋給管理手機;當數(shù)據(jù)采集進程發(fā)現(xiàn)重大告警信息,或設備代理發(fā)來Trap消息時,該進程還要自動構造告警短信,并通過短信操作組件發(fā)送給管理手機。

      服務器系統(tǒng)設計的難點在于數(shù)據(jù)采集部分,它要周期性地輪詢所有代理以采集設備的運行數(shù)據(jù);根據(jù)實時性要求,輪詢間隔不應超過10 s??紤]到系統(tǒng)中監(jiān)控的設備數(shù)量眾多,每臺設備的數(shù)據(jù)采集都會產(chǎn)生一定的延遲,若按順序逐個采集,時延就會累積起來,根本不能滿足實時性的要求。為解決這一問題,必須采用多線程采集。

      數(shù)據(jù)采集模塊的運作過程如圖6所示。它由一個定時器(圖中的Timer組件)觸發(fā)運行,每當定時事件到來時,自動檢索采集組件(Qry_Task)的實例并調(diào)用其execu?teTask()方法啟動數(shù)據(jù)采集;在executeTask()方法中,首先要獲得所有設備的列表(調(diào)用QryDAO的getTXList()方法),然后針對每個設備分別啟動采集線程;Poll_Thread為線程類,它調(diào)用SNMP組件的功能以訪問代理,并將采集到的數(shù)據(jù)保存到數(shù)據(jù)庫中。

      5 監(jiān)控客戶端的設計

      Web應用的用戶界面一般在服務器端動態(tài)生成,然后將產(chǎn)生的HTML代碼傳遞給客戶端,由瀏覽器展示給用戶。將這種工作模式應用到集中監(jiān)控系統(tǒng)中存在兩個問題:首先,監(jiān)控界面的生成邏輯比較復雜,要根據(jù)設備的配置信息及運行狀態(tài)動態(tài)構造并不斷刷新,大大增加了服務器的處理負荷;其次,傳統(tǒng)的Web界面一般都采用模板的方式構造,界面形式相對固定,而監(jiān)控系統(tǒng)中往往同時并存多種不同型號的設備,其監(jiān)測參數(shù)有所區(qū)別,進而監(jiān)控界面也會有所區(qū)別,模板的方式很難適應。這樣,如何動態(tài)構造監(jiān)控界面就成為一項具有挑戰(zhàn)性的工作。

      使用XML與XSLT相結合的技術可以較好的解決這一難題。XML作為描述數(shù)據(jù)的語言,擴展性極強,允許用戶自定義標記,從而可以簡潔、自然地組織數(shù)據(jù)。XSLT可以對XML進行轉換,改變其輸出方式,一種常用的轉換方法是將XML轉換為HTML以便在瀏覽器中展示,這樣可以將數(shù)據(jù)的表示與數(shù)據(jù)本身相分離,提供更大的處理靈活性。基于這樣的思路,可以將監(jiān)控數(shù)據(jù)與監(jiān)控界面的生成邏輯分離開來,在服務器端獲取監(jiān)控數(shù)據(jù),然后交給客戶端構造用戶界面。

      Web監(jiān)控界面的生成過程如圖7所示。在服務器端,Web組件將設備的配置參數(shù)及實時運行數(shù)據(jù)包裝到一個XML文檔中,然后根據(jù)設備的型號選擇一個合適的XSLT文檔,作為樣式表附加給XML。這兩個文檔會隨響應一起發(fā)送給客戶端,由瀏覽器中的XML處理程序進行轉換,生成最終的HTML展示給用戶。

      這樣處理的好處顯而易見:首先,充分發(fā)揮了分布式計算的優(yōu)勢,有效降低了服務器的負荷;其次,將數(shù)據(jù)的表示與數(shù)據(jù)本身相分離會提供更好的擴展性,例如,若以后想引入WAP客戶端,那么,Web組件中生成監(jiān)控數(shù)據(jù)的代碼將不用作任何改動,只需針對WAP界面設計新的XSL即可。

      6 結論

      在控制系統(tǒng)中引入設備服務器,可以方便地將串口的控制設備接入網(wǎng)絡;若在設備服務器上編程實現(xiàn)代理的功能,則可以使用網(wǎng)絡管理領域的技術和方法來實現(xiàn)設備監(jiān)控。本文針對某電視設備有限公司電視發(fā)射機遠程集中監(jiān)控系統(tǒng)的實際需求,將SNMP協(xié)議引入設備監(jiān)控領域,設計了基于Web的發(fā)射臺遠程集中監(jiān)控系統(tǒng)。本系統(tǒng)已在國內(nèi)外很多家電視臺中投入使用,穩(wěn)定運行,驗證了方案的有效性。

      [1]吳升恒.廣播電視發(fā)射中心綜合監(jiān)控與管理系統(tǒng)的設計與實現(xiàn)[D].廈門:廈門大學軟件學院,2009.

      [2]劉行兵,牟占生,孫斌.電視發(fā)射臺遠程監(jiān)控系統(tǒng)的實現(xiàn)[J].電視技術,2008,32(11):70-71.

      [3]周春來,趙成安,孫芳.基于嵌入式Web的發(fā)射機遠程監(jiān)控系統(tǒng)[J].控制工程,2008(9):605-609.

      [4]白小軍,羅鈞旻.基于WEB的發(fā)射機遠程控制系統(tǒng)設計[J].通信技術,2008(9):59-61.

      [5]蘇振濤,羅鈞旻,白小軍.基于設備服務器的電視發(fā)射機遠程監(jiān)控系統(tǒng)[J].計算機測量與控制,2009(10):1883-1886.

      [6]岑賢道,安常青.網(wǎng)絡管理協(xié)議及應用開發(fā)[M].北京:清華大學出版社,1999.

      [7]CASE J,F(xiàn)EDOR M,SCHOFFSTALL M,et al.IETF RFC1157,A simple network management protocol(SNMP)[S].1990.

      [8]王曉東,楊學海.SNMP在C/S模式遠程監(jiān)控管理系統(tǒng)設計中的應用[J].電訊技術,2010(1):87-91.

      猜你喜歡
      命令串口代理
      只聽主人的命令
      淺談AB PLC串口跟RFID傳感器的通訊應用
      代理圣誕老人
      代理手金寶 生意特別好
      移防命令下達后
      復仇代理烏龜君
      學生天地(2016年23期)2016-05-17 05:47:15
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      這是人民的命令
      基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
      地礦測繪(2015年3期)2015-12-22 06:27:26
      基于并行控制的FPGA多串口拓展實現(xiàn)
      岳普湖县| 汽车| 渭源县| 山阳县| 蓬安县| 罗城| 巴东县| 利津县| 江安县| 平凉市| 吕梁市| 深圳市| 枣庄市| 和林格尔县| 江油市| 苗栗市| 阿尔山市| 西畴县| 新安县| 平定县| 故城县| 苍梧县| 宜兰市| 来宾市| 达尔| 双桥区| 石狮市| 龙山县| 怀化市| 会东县| 武功县| 游戏| 西和县| 突泉县| 休宁县| 慈溪市| 曲沃县| 水城县| 璧山县| 咸宁市| 吴江市|