摘要:隨著氣象信息化的飛速發(fā)展,近幾年氣象資料成倍增長,預(yù)報(bào)、科研人員對(duì)基礎(chǔ)氣象資料的實(shí)時(shí)性與完整性提出了越來越高的要求,氣象數(shù)據(jù)異地服務(wù)器同步系統(tǒng)用于省級(jí)信息中心未完整接收氣象衛(wèi)星數(shù)據(jù)廣播系統(tǒng)分發(fā)的資料時(shí),自動(dòng)通過FTP方式到國家氣象信息中心的數(shù)據(jù)服務(wù)器下載所需文件,實(shí)現(xiàn)與國家級(jí)資料的同步,極大的保證了省級(jí)氣象資料的完整性與實(shí)時(shí)性。本文主要介紹了所開發(fā)系統(tǒng)的功能,業(yè)務(wù)流程及實(shí)現(xiàn)方法。
關(guān)鍵詞:資料傳輸;自動(dòng)同步;FTP
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 18-0000-02
1 引言
隨著網(wǎng)絡(luò)通訊技術(shù)、現(xiàn)代探測技術(shù)、新一代數(shù)值預(yù)報(bào)技術(shù)和天氣預(yù)報(bào)業(yè)務(wù)的飛速發(fā)展,目前獲取的氣象觀測數(shù)據(jù)、資料海量增加,省級(jí)氣象信息中心除了收集本省的各類資料外,大量的資料通過國家局氣象主站的衛(wèi)星數(shù)據(jù)廣播系統(tǒng)獲得,但是,如果省級(jí)接收機(jī)出現(xiàn)故障,則故障時(shí)段分發(fā)的資料就會(huì)缺收。而且,由于接收干擾、降雨衰減等影響,省級(jí)文件丟失情況時(shí)有發(fā)生,給預(yù)報(bào)業(yè)務(wù)和服務(wù)業(yè)務(wù)帶來了直接影響。開發(fā)此氣象數(shù)據(jù)異地服務(wù)器同步系統(tǒng),可以有效滿足預(yù)報(bào)、科研人員對(duì)基礎(chǔ)氣象資料實(shí)時(shí)性與完整性日益提高的需求。該系統(tǒng)每間隔一段時(shí)間就自動(dòng)通過地面氣象寬帶網(wǎng)從國家氣象信息中心的數(shù)據(jù)服務(wù)器FTP下載所需文件,以實(shí)現(xiàn)省級(jí)服務(wù)器的數(shù)據(jù)與國家級(jí)數(shù)據(jù)的同步,極大的保證了省級(jí)氣象資料的完整性與實(shí)時(shí)性,提高了省級(jí)信息中心提供基礎(chǔ)氣象數(shù)據(jù)的主動(dòng)性與及時(shí)性,解決了資料缺失滯后處理的問題。
2 系統(tǒng)的功能
系統(tǒng)的功能主要是實(shí)現(xiàn)省級(jí)氣象數(shù)據(jù)服務(wù)器資料與國家級(jí)的同步,當(dāng)省級(jí)未完整接收國家局氣象衛(wèi)星數(shù)據(jù)廣播系統(tǒng)分發(fā)的資料時(shí), 自動(dòng)從地面氣象寬帶網(wǎng)FTP連接到主站的數(shù)據(jù)服務(wù)器下載所需文件,由于只在檢測到省級(jí)資料不全時(shí)才啟動(dòng)數(shù)據(jù)傳輸功能,避免了大量資料的重復(fù)傳輸,作為資料接收的備份方式,極大的保證了省級(jí)資料的完整性與實(shí)時(shí)性。
系統(tǒng)界面顯示實(shí)時(shí)處理的文件,便于值班人員巡視系統(tǒng)的運(yùn)行情況。數(shù)據(jù)同步每隔20分鐘自動(dòng)完成當(dāng)前時(shí)間應(yīng)收資料的補(bǔ)全,也可人工干預(yù),手動(dòng)選擇需要同步的資料類型,在任意時(shí)間下載截止當(dāng)前系統(tǒng)時(shí)間的所有缺失資料。按目前的設(shè)置,系統(tǒng)每天掃描的資料類型有地面常規(guī)資料,數(shù)值預(yù)報(bào)資料,衛(wèi)星云圖??梢詽M足預(yù)報(bào)對(duì)基本資料的需求,如果需要更多的數(shù)據(jù),只要在配置文件列表增加相應(yīng)的文件名即可。
3 系統(tǒng)的業(yè)務(wù)流程分析
根據(jù)系統(tǒng)數(shù)據(jù)同步的處理過程,得出系統(tǒng)的業(yè)務(wù)流程圖,如圖1所示。用流程圖表示過程直觀形象,易于理解,可以比較清楚地顯示出各個(gè)步驟之間的邏輯關(guān)系[1]。
3.1 選擇需要同步的資料類型
數(shù)據(jù)同步開始,選擇需要同步的資料類型,可選多種,目前根據(jù)預(yù)報(bào)需求,列出了較為常用的幾種,如常規(guī)資料中的地面觀測、高空探測資料,數(shù)值預(yù)報(bào)中的歐洲中心、德國、日本資料,還有衛(wèi)星云圖資料。
3.2 查看省級(jí)文件是否齊全
對(duì)照文件列表到省級(jí)數(shù)據(jù)服務(wù)器查找文件,如果查找的文件存在,則不需要下載資料;如果沒有查找到匹配的文件,則通過地面氣象寬帶網(wǎng)FTP連接到主站的數(shù)據(jù)服務(wù)器下載所需文件,下載成功后將文件以FTP方式傳到省級(jí)的數(shù)據(jù)服務(wù)器,并斷開主站的ftp連接,釋放資源。若主站也沒有所需的文件,則斷開主站的FTP連接,等下一次同步時(shí)再下載,本系統(tǒng)設(shè)置的自動(dòng)同步時(shí)間間隔為20分鐘,根據(jù)業(yè)務(wù)需求可調(diào)整,也可以人工干預(yù),手動(dòng)選擇需要同步的資料類型,在任意時(shí)間下載截止當(dāng)前系統(tǒng)時(shí)間的所有缺失資料。
3.3 判斷文件列表是否結(jié)束
判斷掃描的文件列表是否結(jié)束。如果列表中還有未查找過的文件,則繼續(xù)查找,如果列表中的缺收文件已查找完畢,則此次數(shù)據(jù)同步結(jié)束。然后更新文件列表,詳細(xì)記錄文件下載時(shí)間,對(duì)缺收的文件進(jìn)行標(biāo)示,下一次數(shù)據(jù)同步時(shí)再下載。
4 系統(tǒng)的實(shí)現(xiàn)方法
系統(tǒng)的具體實(shí)現(xiàn)就是通過FTP方式查找與傳輸文件,核心功能的實(shí)現(xiàn)需要依賴于每天生成的文件列表,每種同步的資料都預(yù)先設(shè)置一個(gè)對(duì)應(yīng)的文件列表,列出需要的文件名,依據(jù)文件列表可以縮小查找的范圍,將需要同步的資料精確化,確保基本資料的完整性與及時(shí)性。
4.1 開發(fā)環(huán)境
系統(tǒng)以C++ Builder為開發(fā)平臺(tái),便于實(shí)現(xiàn)簡潔的用戶界面,編程語言使用C++,程序的編寫及調(diào)試在windows XP 操作系統(tǒng)完成,經(jīng)過業(yè)務(wù)使用驗(yàn)證,在windows系列操作系統(tǒng)運(yùn)行穩(wěn)定。
4.2 靈活選擇同步的資料類型
系統(tǒng)用設(shè)置復(fù)選框的方式,打勾選擇需要同步的資料類型,可以靈活選擇一種或幾種資料,默認(rèn)方式是全部勾選。
4.3 數(shù)據(jù)同步過程的實(shí)現(xiàn)方法
系統(tǒng)每隔20分鐘自動(dòng)掃描一次省級(jí)服務(wù)器存放當(dāng)天資料的目錄,當(dāng)文件不全時(shí),通過地面氣象寬帶網(wǎng)從主站數(shù)據(jù)服務(wù)器FTP下載截止當(dāng)前時(shí)間所缺的文件,有兩個(gè)終端可選,一個(gè)是主站網(wǎng)站服務(wù)器,另一個(gè)是主站的實(shí)時(shí)資料服務(wù)器,兩個(gè)終端互為備份,每次只選擇其中一個(gè)同步數(shù)據(jù),默認(rèn)為選擇實(shí)時(shí)資料服務(wù)器,從而確保省級(jí)服務(wù)器上的資料與主站是同步的。
系統(tǒng)每天國際時(shí)00點(diǎn)生成當(dāng)天的文件列表,每次數(shù)據(jù)同步完成后更新該文件。該文件也可以作為簡單日志查看數(shù)據(jù)同步系統(tǒng)的運(yùn)行情況。文件詳細(xì)列出了全部需要掃描的文件名,文件是從網(wǎng)站還是實(shí)時(shí)資料服務(wù)器下載的,最后一次掃描文件的時(shí)間,還有文件的存在方式,0為不存在,1為已經(jīng)存在,新生成的文件存在方式都為0,只要文件的存在方式是不為0的文件,之后的每次查找都不再掃描。
系統(tǒng)查找文件以及傳輸文件均是以FTP方式連接本地服務(wù)器,因此可以在業(yè)務(wù)網(wǎng)段的任意一臺(tái)PC機(jī)運(yùn)行,避免了將服務(wù)器映射為網(wǎng)絡(luò)驅(qū)動(dòng)器方式,需保證時(shí)時(shí)連接服務(wù)器的弊端,優(yōu)化了服務(wù)器的資源利用率。
4.4 模塊化編程
同步不同類型的資料所采用的流程是一樣的,區(qū)別在于文件存放的路徑和文件名的不同。因此在編程時(shí)寫好FTP連接模塊,查找文件用到的文件名匹配模塊,還有FTP傳輸模塊,在同步某種資料時(shí)調(diào)用所需模塊賦予對(duì)應(yīng)參數(shù)即可。另外,服務(wù)器地址,F(xiàn)TP連接用到的用戶名,登錄密碼,以及文件存放路徑都寫入一個(gè)單獨(dú)的配置文件,在系統(tǒng)啟動(dòng)時(shí)讀取該文件的內(nèi)容,就不用在程序中重復(fù)錄入相同的參數(shù)。模塊化編程簡化了系統(tǒng)的代碼修復(fù)工作,提高了程序的可靠性。
5 結(jié)束語
氣象數(shù)據(jù)異地服務(wù)器同步系統(tǒng)已投入業(yè)務(wù)不間斷運(yùn)行,期間運(yùn)行穩(wěn)定,解決了資料不全時(shí)手動(dòng)下載效率低的問題,確保了省級(jí)服務(wù)器上的資料與主站的同步性,為預(yù)報(bào)員及時(shí)獲得實(shí)時(shí)資料分析天氣提供了有效保障。該系統(tǒng)可擴(kuò)展性強(qiáng),通過修改配置文件,設(shè)置服務(wù)器地址,添加文件列表,可實(shí)現(xiàn)地市級(jí)或縣級(jí)氣象數(shù)據(jù)服務(wù)器與省級(jí)數(shù)據(jù)服務(wù)器的數(shù)據(jù)同步。
參考文獻(xiàn):
[1]譚浩強(qiáng).C程序設(shè)計(jì).北京:清華大學(xué)出版社,1999.
計(jì)算機(jī)光盤軟件與應(yīng)用2012年18期