曹威++劉江++楊維發(fā)++劉夢(mèng)雨
摘 要
為了更好的適應(yīng)氣象信息傳輸業(yè)務(wù)的不斷發(fā)展,保證氣象信息的傳輸能夠滿足預(yù)報(bào)預(yù)測(cè)業(yè)務(wù)不斷提升的需求,結(jié)合湖北省氣象信息傳輸業(yè)務(wù)的實(shí)際情況,針對(duì)目前傳輸監(jiān)控業(yè)務(wù)存在的不足,設(shè)計(jì)集約化、模塊化、可擴(kuò)展的平臺(tái)架構(gòu),建立集監(jiān)控報(bào)警、應(yīng)急處理、業(yè)務(wù)管理等功能于一體的氣象信息傳輸監(jiān)控與處理平臺(tái),將以往分散的監(jiān)控資源加以集成和優(yōu)化,實(shí)現(xiàn)業(yè)務(wù)流程的信息化管理,有效的提升氣象信息傳輸監(jiān)控處理的時(shí)效性,為業(yè)務(wù)的開展提供有力的支撐。
【關(guān)鍵詞】氣象信息傳輸 監(jiān)控報(bào)警 應(yīng)急處置 關(guān)鍵技術(shù)實(shí)現(xiàn)
1 引言
隨著氣象現(xiàn)代化進(jìn)程的快速推進(jìn),氣象探測(cè)數(shù)據(jù)、預(yù)報(bào)預(yù)測(cè)產(chǎn)品的種類不斷增多,各項(xiàng)業(yè)務(wù)開展對(duì)氣象信息的時(shí)效性、準(zhǔn)確性的需求也在不斷提高,因此對(duì)氣象信息傳輸?shù)娜姹O(jiān)控、實(shí)時(shí)報(bào)警、及時(shí)處置對(duì)于提高信息傳輸及時(shí)率,保障預(yù)報(bào)預(yù)測(cè)業(yè)務(wù)的順利開展具有重要的意義。
依托歷年自主研發(fā)、課題項(xiàng)目以及新一代通信系統(tǒng)的本地化,湖北省氣象信息與技術(shù)保障中心已經(jīng)基本實(shí)現(xiàn)了對(duì)全省各類氣象信息傳輸?shù)谋O(jiān)控、報(bào)警以及應(yīng)急處置等功能,但仍然在以下幾個(gè)方面存在著不足。
(1)監(jiān)控系統(tǒng)數(shù)量多、形式多,且大部分系統(tǒng)沒有實(shí)現(xiàn)報(bào)警功能,在實(shí)際業(yè)務(wù)使用尤其是在處理傳輸突發(fā)情況時(shí),調(diào)用起來(lái)較為麻煩,不能快速的定位故障來(lái)源,降低了應(yīng)急處置速度。
(2)監(jiān)控業(yè)務(wù)管理信息化較低,很多業(yè)務(wù)管理工作還停留在紙質(zhì)化、人工化的階段,數(shù)據(jù)記錄不統(tǒng)一規(guī)范,可用性較差;此外,在后期的管理和對(duì)信息的應(yīng)用時(shí),會(huì)出現(xiàn)重復(fù)勞動(dòng),增加業(yè)務(wù)管理人員的工作量和工作時(shí)間,且容易出現(xiàn)錯(cuò)誤。
(3)目前監(jiān)控系統(tǒng)在運(yùn)行穩(wěn)定性、可靠性以及人機(jī)交互性上還存在著一些不足,各系統(tǒng)間的協(xié)調(diào)運(yùn)作以及調(diào)用還不完善,對(duì)提高響應(yīng)時(shí)間、提升處置效率有一定的影響。
基于以上現(xiàn)狀,本文將結(jié)合中心現(xiàn)有業(yè)務(wù)系統(tǒng)以及不斷發(fā)展的業(yè)務(wù)需求,設(shè)計(jì)一套集約化的氣象信息監(jiān)控與處理平臺(tái),并對(duì)其關(guān)鍵技術(shù)的實(shí)現(xiàn)進(jìn)行闡述。
2 設(shè)計(jì)思路及原則
依托新一代通信系統(tǒng)的監(jiān)控?cái)?shù)據(jù)庫(kù),結(jié)合現(xiàn)有的各業(yè)務(wù)系統(tǒng),遵循以下設(shè)計(jì)原則,通過(guò)整合、研發(fā),建立一套滿足業(yè)務(wù)需求的氣象信息傳輸監(jiān)控與處理平臺(tái)。
2.1 集約性
通過(guò)集約的界面,對(duì)現(xiàn)有的氣象資料傳輸進(jìn)行集中監(jiān)控以及對(duì)現(xiàn)有監(jiān)控系統(tǒng)的集中調(diào)用。
2.2 模塊低耦合性
采用模塊化的設(shè)計(jì)方式,將平臺(tái)分割為若干功能相對(duì)獨(dú)立的模塊,加強(qiáng)模塊功能的內(nèi)聯(lián)性,同時(shí)減少模塊間的耦合性,方便開發(fā)和維護(hù)。
2.3 人機(jī)交互性
在界面接口的設(shè)計(jì)上,充分考慮用戶的操作便捷性,在保證功能實(shí)現(xiàn)的前提下,簡(jiǎn)化操作流程,提升業(yè)務(wù)開展的效率。
2.4 穩(wěn)定及可靠性
在研發(fā)過(guò)程中,充分考慮各功能模塊的之間的協(xié)調(diào)性以及模塊自身的穩(wěn)定性,加強(qiáng)系統(tǒng)的容錯(cuò)能力,保證系統(tǒng)的穩(wěn)定可靠運(yùn)行。
2.5 可擴(kuò)展性
通過(guò)預(yù)留擴(kuò)展接口、采用可自定義的配置文件等方式,提升系統(tǒng)的可擴(kuò)展性,使系統(tǒng)具有較長(zhǎng)的生命周期。
3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
不同于基于B/S結(jié)構(gòu)的信息發(fā)布系統(tǒng)或信息管理系統(tǒng),氣象信息傳輸監(jiān)控業(yè)務(wù)相對(duì)來(lái)說(shuō)更具專業(yè)性,設(shè)計(jì)到的業(yè)務(wù)人員范圍較窄,因此該平臺(tái)采用C/S結(jié)構(gòu)作為系統(tǒng)的架構(gòu),其主要結(jié)構(gòu)如圖1所示。
4 系統(tǒng)功能模塊設(shè)計(jì)
系統(tǒng)平臺(tái)主要由業(yè)務(wù)平臺(tái)主程序、應(yīng)用軟件工具集、后臺(tái)業(yè)務(wù)處理進(jìn)程三部分組成,各部分功能如圖2所示。
4.1 業(yè)務(wù)平臺(tái)主程序
業(yè)務(wù)平臺(tái)主程序是整個(gè)業(yè)務(wù)平臺(tái)與用戶主要交互的人機(jī)界面,它相當(dāng)于業(yè)務(wù)平臺(tái)的信息顯示和各子功能模塊調(diào)度的平面,其主要功能包括應(yīng)用程序調(diào)度控制、監(jiān)控信息監(jiān)測(cè)報(bào)警、詳細(xì)監(jiān)控信息顯示等功能。應(yīng)用程序調(diào)度控制:根據(jù)用戶的需求,將應(yīng)用軟件工具集中的子程序模塊訂制成快捷按鈕,集成顯示在主程序上,方便用戶快速調(diào)用,提高操作速度和便捷性。
4.1.1 集中監(jiān)控報(bào)警
按照監(jiān)控業(yè)務(wù)的流程,將各類資料的實(shí)時(shí)傳輸情況以及關(guān)鍵信息(時(shí)次、到報(bào)率、收發(fā)情況等)以動(dòng)態(tài)圖示的方式進(jìn)行分別顯示,在某類資料傳輸出現(xiàn)問(wèn)題(缺報(bào)、收發(fā)異常等)進(jìn)行實(shí)時(shí)的聲光信息報(bào)警,提醒值班人員及時(shí)處理。
4.1.2 監(jiān)控信息調(diào)用顯示
值班人員能夠在集中監(jiān)控報(bào)警的界面中,直接調(diào)閱查看某類資料詳細(xì)的傳輸情況,包括已有的監(jiān)控頁(yè)面、后期開發(fā)的數(shù)據(jù)查詢表格等,無(wú)需像以往那樣在收藏夾中手動(dòng)打開相關(guān)網(wǎng)頁(yè)或調(diào)用監(jiān)控客戶端查看監(jiān)控信息,提升工作效率。
4.1.3 處置情況記錄
系統(tǒng)能夠自動(dòng)或通過(guò)值班員手動(dòng)調(diào)用電子日志工具,提供標(biāo)準(zhǔn)規(guī)范的數(shù)據(jù)錄入接口,對(duì)報(bào)警或突發(fā)情況的處置情況進(jìn)行記錄,方便后期對(duì)處置情況的查詢?nèi)∽C以及值班日志的自動(dòng)生成。
4.2 應(yīng)用軟件工具集
應(yīng)用軟件工具集將業(yè)務(wù)工作中較為獨(dú)立、主要用于輔助監(jiān)控業(yè)務(wù)開展的相關(guān)功能,以獨(dú)立的應(yīng)用軟件實(shí)現(xiàn),并在業(yè)務(wù)平臺(tái)主程序中集成快捷調(diào)用的接口,提升整個(gè)業(yè)務(wù)平臺(tái)軟件的運(yùn)行效率,減少將所有功能集中在一個(gè)程序中帶來(lái)的不穩(wěn)定性。應(yīng)用軟件工具集主要包括以下子應(yīng)用程序模塊。
4.2.1 交接班管理
實(shí)現(xiàn)值班人員信息管理,值班人員交接班登錄、前班沿革信息記錄傳遞等功能,規(guī)范值班流程。
4.2.2 快速撥號(hào)工具
通過(guò)USB電話盒,通過(guò)電腦軟件直接控制座機(jī)電話,實(shí)現(xiàn)一鍵快速撥號(hào),并記錄撥號(hào)信息,減少值班員查找號(hào)碼信息、手動(dòng)撥號(hào)耗費(fèi)的時(shí)間,提升處理響應(yīng)速度。
4.2.3 資料補(bǔ)調(diào)傳輸工具
在臺(tái)站無(wú)法上傳資料或出現(xiàn)省級(jí)故障時(shí),為用戶提供手動(dòng)補(bǔ)調(diào)或錄入相關(guān)數(shù)據(jù)并上傳的功能,保障傳輸?shù)募皶r(shí)率。
4.2.4 電子日志工具
實(shí)現(xiàn)過(guò)去紙質(zhì)日志的電子化,值班員能夠選擇設(shè)定好的故障及處理結(jié)果選項(xiàng)快速錄入值班處理記錄,也能夠根據(jù)實(shí)際情況手動(dòng)輸入值班處理記錄,相比紙質(zhì)記錄,電子記錄具有更規(guī)范的日志格式,方便用戶查詢檢索;此外,通過(guò)電子日志記錄工具,能夠?qū)崿F(xiàn)每日值班報(bào)表的自動(dòng)生成,提升報(bào)表信息可讀性,減少手工填寫報(bào)表造成的失誤,并能通過(guò)內(nèi)置的NOTES模塊直接快速發(fā)送至指定聯(lián)系人,使業(yè)務(wù)流程更加集中和流暢。
4.2.5 統(tǒng)計(jì)分析工具
根據(jù)數(shù)據(jù)庫(kù)中的電子日志記錄,能夠按照用戶的查詢條件,對(duì)日志記錄進(jìn)行檢索,能夠快速的定位某一條日志,或者統(tǒng)計(jì)某段時(shí)間內(nèi)的相關(guān)統(tǒng)計(jì)分析數(shù)據(jù),方便業(yè)務(wù)人員查找錯(cuò)情、分析總結(jié)問(wèn)題。
4.2.6 值班管理
實(shí)現(xiàn)對(duì)值班員信息及權(quán)限的管理;實(shí)現(xiàn)班表制作、夜班費(fèi)統(tǒng)計(jì)等功能,進(jìn)一步減少業(yè)務(wù)管理人員重復(fù)、手工的工作。
4.2.7 其他外接工具
能夠通過(guò)配置文件,將其他外接工具掛接之業(yè)務(wù)平臺(tái)主程序,方便調(diào)用。
4.3 后臺(tái)監(jiān)控進(jìn)程
由于監(jiān)控業(yè)務(wù)對(duì)實(shí)時(shí)性的需求,需要業(yè)務(wù)平臺(tái)具備較高的可靠性和穩(wěn)定性,由于對(duì)各類資料的監(jiān)測(cè)需要消耗較多本地運(yùn)行服務(wù)器及數(shù)據(jù)庫(kù)端的資源,且很多監(jiān)控的時(shí)次都較為集中,如將所有監(jiān)控都由主程序?qū)崿F(xiàn),將會(huì)帶來(lái)主程序進(jìn)程負(fù)載過(guò)重而導(dǎo)致整個(gè)業(yè)務(wù)平臺(tái)操作卡頓甚至軟件無(wú)響應(yīng)的情況,因此對(duì)每類資料的監(jiān)控,均采用單獨(dú)的后臺(tái)業(yè)務(wù)處理進(jìn)程來(lái)實(shí)現(xiàn),各業(yè)務(wù)進(jìn)程對(duì)新一代通信系統(tǒng)監(jiān)控的情況進(jìn)行定時(shí)查詢,將查詢到的監(jiān)控情況實(shí)時(shí)發(fā)送至業(yè)務(wù)平臺(tái)主程序進(jìn)行顯示。采用此方式的好處包括:
(1)某一個(gè)資料的監(jiān)控進(jìn)程出現(xiàn)問(wèn)題,也不會(huì)影響到其他進(jìn)程和主程序的運(yùn)行,減少單點(diǎn)故障導(dǎo)致全局崩潰的風(fēng)險(xiǎn);
(2)只用對(duì)出現(xiàn)問(wèn)題的監(jiān)控進(jìn)程進(jìn)行處理修復(fù),減少故障排查的時(shí)間;
(3)在新增資料需要監(jiān)控時(shí),只需按照與主程序間通信的格式,開發(fā)新的監(jiān)控進(jìn)程即可,方便后期的升級(jí)維護(hù)和二次開發(fā)。
5 關(guān)鍵技術(shù)實(shí)現(xiàn)
5.1 開發(fā)及運(yùn)行環(huán)境
5.1.1 開發(fā)平臺(tái)
采用C#語(yǔ)言進(jìn)行開發(fā),開發(fā)工具使用Visual Studio 2010。
5.1.2 數(shù)據(jù)庫(kù)平臺(tái)
采用MySQL數(shù)據(jù)庫(kù),其具有體積小、速度快、使用免費(fèi)等特點(diǎn)。
5.1.3 報(bào)表軟件
采用Microsoft Office Excel作為報(bào)表數(shù)據(jù)的格式。
5.1.4 操作系統(tǒng)
采用Windows 7(32bit)作為系統(tǒng)運(yùn)行平臺(tái)。
5.2 數(shù)據(jù)庫(kù)熱備
由于MySQL數(shù)據(jù)庫(kù)不同于Microsoft的SQL SERVER,其沒有增量備份機(jī)制,因此為了保證整個(gè)業(yè)務(wù)平臺(tái)穩(wěn)定持續(xù)的運(yùn)行以及相關(guān)數(shù)據(jù)的可靠存儲(chǔ),對(duì)系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行雙數(shù)據(jù)庫(kù)熱備,其主要原理是把主數(shù)據(jù)庫(kù)的所有的數(shù)據(jù)同時(shí)寫到備份數(shù)據(jù)庫(kù)中,以保證兩個(gè)數(shù)據(jù)庫(kù)的熱備同步。雙數(shù)據(jù)庫(kù)熱備的主要操作如下:
(1)確定主從數(shù)據(jù)庫(kù)版本均高于3.2,并配置好兩個(gè)數(shù)據(jù)庫(kù)各自的環(huán)境變量;
(2)設(shè)置主數(shù)據(jù)庫(kù)配置文件“my.ini”,并重啟組數(shù)據(jù)庫(kù)服務(wù),如圖3;
(3)設(shè)置從數(shù)據(jù)庫(kù)配置文件“my.ini”,并重啟組數(shù)據(jù)庫(kù)服務(wù),如圖4;
(4)執(zhí)行熱備同步命令(IP、用戶名、密碼根據(jù)實(shí)際情況填寫),如圖5;
(5)檢查設(shè)置狀態(tài),查看Slave_IO_Running、Slave_SQL_Running兩項(xiàng)狀態(tài)為“YES”即表示設(shè)置成功。
5.3 前后臺(tái)進(jìn)程間通信
由于平臺(tái)設(shè)計(jì)了后臺(tái)監(jiān)控進(jìn)程,其定時(shí)將監(jiān)控信息發(fā)送至前臺(tái)程序進(jìn)行解析顯示,因此需要一個(gè)有效的通信機(jī)制用于兩個(gè)進(jìn)程之間的數(shù)據(jù)交換。在綜合分析了通信所需的及時(shí)性、穩(wěn)定性、實(shí)現(xiàn)難度等方面,沒有采用數(shù)據(jù)庫(kù)共享、文本共享、Windows自定義消息以及Microsoft提供的MSMQ隊(duì)列消息機(jī)制,而是通過(guò)編寫自定義的UDP(用戶數(shù)據(jù)報(bào)協(xié)議)通信控件,來(lái)實(shí)現(xiàn)進(jìn)程間消息的通信。
雖然UDP是一個(gè)面向非連接,不可靠的通信協(xié)議,但是考慮到監(jiān)控平臺(tái)是在局域網(wǎng)內(nèi)運(yùn)行,具有穩(wěn)定的網(wǎng)絡(luò)環(huán)境且傳輸?shù)南Ⅲw積小,傳輸抽樣較高,可以滿足系統(tǒng)功能的需求;此外,通過(guò)將設(shè)置IP、監(jiān)聽端口、消息發(fā)送和讀取等相關(guān)通信方法封裝成一個(gè)自定義的控件“UDPSocket”,在開發(fā)前后臺(tái)進(jìn)程時(shí),直接將控件拖入窗口,進(jìn)行基本設(shè)置后,即可方便的調(diào)用,極大的提高了開發(fā)的效率。
5.4 多線程編程
由于主程序界面是用戶與系統(tǒng)交流的主要人機(jī)交互接口,需要具備良好的可操作性及用戶體驗(yàn)性,過(guò)去單線程編寫的程序,在程序進(jìn)行較大量數(shù)據(jù)處理時(shí),會(huì)出現(xiàn)暫停響應(yīng)的情況,用戶體驗(yàn)感較差,因此主程序在調(diào)用方法時(shí),使用多線程編程來(lái)保證與用戶交互的流暢性。
開發(fā)過(guò)程中使用Visual Studio開發(fā)工具提供的“BackgroundWorker”多線程控件來(lái)實(shí)現(xiàn)多線程的調(diào)用。通過(guò)加載該控件的實(shí)例,可以實(shí)現(xiàn)后臺(tái)異步方法的調(diào)用、線程進(jìn)度的顯示、后臺(tái)進(jìn)程的操控以及線程運(yùn)行結(jié)果的反饋等功能,有效的解決了數(shù)據(jù)庫(kù)讀取、并發(fā)報(bào)警等操作對(duì)用戶前臺(tái)交互的影響。
5.5 報(bào)表生成
平臺(tái)相關(guān)的報(bào)表,如每日值班電子日志等,采用的是Excel表格格式的輸出。首先建立報(bào)表Excel格式模板,規(guī)劃好標(biāo)題、表頭等基本屬性,然后在程序中通過(guò)加載COM組建的引用(Microsoft Office 11.0 Object Library ),調(diào)用相關(guān)表格編輯的方法,加載并填充報(bào)表模板,對(duì)格式進(jìn)行調(diào)整,然后輸出做好的報(bào)表至指定目錄,以實(shí)現(xiàn)復(fù)雜報(bào)表的自動(dòng)生成,規(guī)范統(tǒng)一報(bào)表的格式。
6 結(jié)語(yǔ)
本文簡(jiǎn)要闡述了湖北省氣象信息傳輸監(jiān)控與處理平臺(tái)的研發(fā)背景,介紹了其設(shè)計(jì)思路及平臺(tái)的整體結(jié)構(gòu)和功能模塊,并就研發(fā)過(guò)程中涉及到的關(guān)鍵技術(shù)進(jìn)行了簡(jiǎn)要的說(shuō)明,通過(guò)該平臺(tái)的建設(shè),將以往分散的監(jiān)控資源加以集成和優(yōu)化,實(shí)現(xiàn)業(yè)務(wù)流程的信息化管理,建立起穩(wěn)定、便捷、可靠的業(yè)務(wù)系統(tǒng),將有效的提升氣象信息傳輸監(jiān)控處理的時(shí)效性,為業(yè)務(wù)的開展提供有力的支撐。
參考文獻(xiàn)
[1]鐘靜,李赟,陳海濤,楊宏宇.基于SMS技術(shù)的氣象報(bào)文監(jiān)控設(shè)計(jì)與實(shí)現(xiàn)[J].貴州氣象,2011(04).
[2]郭振武.基于SOCKET及SMS技術(shù)的遠(yuǎn)程信息傳輸系統(tǒng)的設(shè)計(jì)[D].杭州:浙江大學(xué),2004.
[3]李德泉,何文春,阮宇智,劉一鳴.氣象實(shí)時(shí)數(shù)據(jù)庫(kù)服務(wù)監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].成都信息工程學(xué)院學(xué)報(bào),2012(02).
[4]華連生.省級(jí)氣象探測(cè)資料集成系統(tǒng)設(shè)計(jì)[D].合肥:合肥工業(yè)大學(xué),2010.
[5]富元,呂建新.基于UDP的可靠傳輸協(xié)議的研究與實(shí)現(xiàn).光通信研究,2009(05).
[6]高東日,魏海平,楊建功,王福威. 基于UDP協(xié)議的內(nèi)外網(wǎng)通信實(shí)施方案[J].遼寧石油化工大學(xué)學(xué)報(bào),2005(04):75-78.
[7]梁海河,孟昭林 ,張春暉,李雁. 綜合氣象觀測(cè)運(yùn)行監(jiān)控系統(tǒng)[J].氣象,2011(10):1292-1300.
[8]張宇.成都?xì)庀髷?shù)據(jù)庫(kù)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].高原山地氣象研究,2014(01):86-89.
[9]楊濤,徐光耀.自動(dòng)氣象站數(shù)據(jù)傳輸監(jiān)控報(bào)警軟件[J].氣象水文海洋儀器,2013(02):84-86.
[10]裴翀,宋連春,吳可軍,李雁,李巍,邵楠.我國(guó)綜合氣象觀測(cè)運(yùn)行監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)踐[J].氣象,2011(02):213-218.