崔雅琴,宋永鵬,王文青
(1. 山東省氣象信息中心,濟(jì)南 250031;2. 山東省氣象臺(tái),濟(jì)南 250031)
落區(qū)預(yù)報(bào)指導(dǎo)產(chǎn)品的自動(dòng)獲取
崔雅琴1,宋永鵬1,王文青2
(1. 山東省氣象信息中心,濟(jì)南 250031;2. 山東省氣象臺(tái),濟(jì)南 250031)
用腳本語言研制自動(dòng)下載軟件,實(shí)現(xiàn)全國短時(shí)強(qiáng)降水等災(zāi)害性天氣落區(qū)預(yù)報(bào)共享試驗(yàn)中指導(dǎo)產(chǎn)品的自動(dòng)獲取。在.bat文件和文本文件之間,利用 ftp腳本來傳遞相關(guān)參數(shù)。該軟件可以每天定時(shí)下載國家氣象中心制作的全國短時(shí)強(qiáng)降水、霧和高溫落區(qū)格點(diǎn)化預(yù)報(bào)指導(dǎo)產(chǎn)品,并將產(chǎn)品放入指定的目錄下,保障資料應(yīng)用單位的相關(guān)業(yè)務(wù)正常運(yùn)行。
批處理;天氣預(yù)報(bào)數(shù)據(jù)庫;數(shù)據(jù)同步
2014年8月,中國氣象局開展全國短時(shí)強(qiáng)降水等災(zāi)害天氣落區(qū)預(yù)報(bào)共享試驗(yàn),此項(xiàng)工作的通信功能是依托天氣預(yù)報(bào)數(shù)據(jù)庫(LWFD)系統(tǒng)[1]來實(shí)現(xiàn)。為了滿足新增業(yè)務(wù)的需求,國家氣象信息中心要求各省升級LWFD系統(tǒng)至2.1版本。山東省氣象信息中心在升級版本過程中,先是安裝了“有界面啟動(dòng)版”,出現(xiàn)運(yùn)行很短時(shí)間就黑屏的現(xiàn)象;然后安裝了“無界面啟動(dòng)版”,出現(xiàn)程序不定時(shí)自動(dòng)停止的現(xiàn)象。經(jīng)了解全國其他各省都出現(xiàn)了相同問題,后來,國家氣象信息中心又陸續(xù)對軟件進(jìn)行了更新。但是,最終版本仍然不完善,程序自動(dòng)關(guān)閉,導(dǎo)致不能保證定時(shí)獲取國家氣象中心制作并通過國家級NWFD(國家級天氣預(yù)報(bào)數(shù)據(jù)庫)下發(fā)至省級LWFD(天氣預(yù)報(bào)數(shù)據(jù)庫)的全國短時(shí)強(qiáng)降水、霧和高溫落區(qū)格點(diǎn)化預(yù)報(bào)指導(dǎo)產(chǎn)品。在試驗(yàn)測試階段,可以通過手工ftp下載的方式將所需產(chǎn)品放入指定目錄。業(yè)務(wù)正式運(yùn)行之后,為了保證業(yè)務(wù)的正常、快捷、簡便運(yùn)行,開發(fā)全國短時(shí)強(qiáng)降水等災(zāi)害性天氣落區(qū)預(yù)報(bào)共享試驗(yàn)中指導(dǎo)產(chǎn)品自動(dòng)獲取軟件,以保證把全國短時(shí)強(qiáng)降水、霧和高溫落區(qū)格點(diǎn)化預(yù)報(bào)指導(dǎo)產(chǎn)品及時(shí)提供給業(yè)務(wù)部門使用。
全國災(zāi)害性天氣落區(qū)預(yù)報(bào)國家指導(dǎo)報(bào)包含短時(shí)強(qiáng)降水、霧和高溫。按照全國短時(shí)強(qiáng)降水等災(zāi)害性天氣落區(qū)預(yù)報(bào)共享試驗(yàn)的傳輸技術(shù)約定,國家氣象中心和各省的24h災(zāi)害性天氣落區(qū)預(yù)報(bào)將基于國家級NWFD、省級LWFD的數(shù)據(jù)同步功能實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)傳輸[2]。
由于LWFD系統(tǒng)的“無界面啟動(dòng)版程序”的不穩(wěn)定性直接影響到數(shù)據(jù)的業(yè)務(wù)應(yīng)用,使用腳本語言開發(fā)此軟件,可以保障定時(shí)下載當(dāng)前時(shí)次文件,保證業(yè)務(wù)[3]的正常穩(wěn)定運(yùn)行。使用WINDOWS的任務(wù)計(jì)劃功能[4],設(shè)置批處理定時(shí)作業(yè)[5-6](圖1),用兩個(gè)批處理命令每小時(shí)強(qiáng)制重啟一次LWFD系統(tǒng)的“無界面啟動(dòng)版程序”;在北京時(shí)的03時(shí)、06時(shí)、10時(shí)、15時(shí)4個(gè)時(shí)次分別運(yùn)行自動(dòng)獲取軟件[7],下載當(dāng)前時(shí)次的文件。
圖1 任務(wù)計(jì)劃界面圖
自動(dòng)獲取軟件的設(shè)計(jì)思路:第一步,建立本地的接收目錄;第二步,生成當(dāng)前時(shí)次的ftp下載腳本download.ftp;第三步,通過ftp命令調(diào)用下載腳本[8]實(shí)現(xiàn)當(dāng)前時(shí)次文件的下載;第四步,按照國家局的統(tǒng)一要求,將文件分發(fā)至指定的目錄。流程如圖2。
圖2 程序流程圖
2.1批處理命令
批處理[9](Batch)是一種簡化的腳本語言,應(yīng)用于DOS和Windows系統(tǒng)中,由DOS或者Windows系統(tǒng)內(nèi)嵌的命令解釋器解釋運(yùn)行。批處理文件具有.bat或者.cmd的擴(kuò)展名。
軟件使用到的批處理程序有 start.bat,taskkill.bat,move.bat和mkdir.bat。
2.2lwfd.bat設(shè)計(jì)
lwfd.bat是此軟件中最主要的一個(gè)批處理文件,在這個(gè)批處理文件中,同時(shí)執(zhí)行3個(gè)批處理文件。
下載分為4步:第 1步是建立目錄,執(zhí)行mkdir.bat,也就是創(chuàng)建以日期為文件名的文件夾,一共是5種文件:scmoc的08時(shí)和20時(shí),nwgd的EAR,ER24和ETH;第2步生成下載腳本,遠(yuǎn)程登陸國家局的服務(wù)器[10](FTP地址219.239.44.87)(圖 3),并輸入用戶名和口令,數(shù)據(jù)傳輸采用二進(jìn)制,進(jìn)入到指定的目錄后,查詢當(dāng)前日期的文件,獲得所有符合日期條件的文件;第3步,下載所有的文件,并刪除echo回顯的所有信息;第4步,用move.bat把下載的文件移動(dòng)到指定的文件目錄。
圖3 連接到國家局服務(wù)器界面圖
以下程序?yàn)椴糠峙幚砟_本。首先建立新建文件夾,生成下載腳本,然后進(jìn)入國家局服務(wù)器進(jìn)行下載,最后將目標(biāo)文件夾下的文件下載到本地服務(wù)器的新建文件夾。
以2014年10月30日的報(bào)文為例,先在本地服務(wù)器上建立 nlwfd lwfddataak wgdSCMOC EAR20141030的文件夾,然后進(jìn)入國家局服務(wù)器的nwgd/EAR目錄,把20141030文件夾下的所有文件下載到本地服務(wù)器的新建文件夾。
echo lcd d: lwfd lwfddataak wgd SCMOC EAR\%date:~0,4%\%date~0,4%\% date:~5,2%\%date:~8,2% >>d:download.ftp語句的作用是傳遞時(shí)間給 download.ftp文本文件,否則download.ftp不知道該下載哪一個(gè)時(shí)次的文件。
以此為例,下載當(dāng)日的全部5種文件。
在此軟件開發(fā)中,用 echo命令把每一步操作都顯示在 DOS窗口中,以便于監(jiān)視異常情況(圖4)。此次操作執(zhí)行完畢之后,回顯內(nèi)容全部刪除,不再占用內(nèi)存。
圖4 echo命令回顯顯示界面圖
(1)按照當(dāng)前運(yùn)行時(shí)的日期時(shí)間生成相應(yīng)的下載文件的腳本文件 download.ftp,并且每一次lwfd.bat運(yùn)行的時(shí)候都是生成一個(gè)全新的download.ftp文件,該 download.ftp文件中保存著當(dāng)前時(shí)次要下載的文件。利用ftp腳本來傳遞下載文件的相關(guān)參數(shù)——時(shí)間參數(shù),下載完文件后刪除 download.ftp,下一次運(yùn)行 lwfd.bat時(shí)再重新生成。
(2)在.bat文件和文本文件之間是無法傳遞參數(shù)的,所以要想讓download.ftp這個(gè)文本文件知道要下載的是哪個(gè)日期時(shí)次哪個(gè)類型的文件,不能單獨(dú)新建 download.ftp,而是在 lwfd.bat這個(gè)批處理中生成臨時(shí)的download.ftp文件,并在該批處理中把參數(shù)傳遞進(jìn)臨時(shí)文件。
(3)支持多類文件同時(shí)下載。在同一時(shí)次,有不同文件名的文件,可以同時(shí)一次性下載,然后分類存儲(chǔ)在各自的目錄下,方便使用。
(4)以自動(dòng)下載為主,人工操作為輔。正常情況下,軟件都是自動(dòng)完成下載工作。管理員定時(shí)查看服務(wù)器的狀態(tài)及程序運(yùn)行情況。遇到有異常情況時(shí),只需要重新啟動(dòng)wujiemian.bat,即可解決問題,運(yùn)行值班員就可以操作,減輕了系統(tǒng)管理員的工作量。
(5)文件分類存放。下載好的文件在存放時(shí),按照文件名存放,每類文件下再按照年月日存放,方便數(shù)據(jù)調(diào)用和查看。比如2014年10月30日的全國災(zāi)害性天氣落區(qū)預(yù)報(bào)——短時(shí)強(qiáng)降水的國家指導(dǎo)報(bào)存入nwgdscmocER2420141030目錄下。
軟件采用批處理命令實(shí)現(xiàn),通過遠(yuǎn)程登錄國家局服務(wù)器,按時(shí)自動(dòng)檢查并調(diào)取文件,業(yè)務(wù)使用效果良好,保障了全國短時(shí)強(qiáng)降水等災(zāi)害性天氣落區(qū)預(yù)報(bào)共享試驗(yàn)的正常開展。
[1] 章建成,萬豐. 國家天氣預(yù)報(bào)數(shù)據(jù)庫將全面升級[N]. 中國氣象報(bào),2010-02-26(003).
[2] 薛峰,劉磊. 基于JMS的城鎮(zhèn)天氣預(yù)報(bào)數(shù)據(jù)傳輸框架[J]. 氣象,2012,38(4):508-512.
[3] 高嵩,代刊,薛峰. 基于MICAPS3.2平臺(tái)的格點(diǎn)編輯平臺(tái)設(shè)計(jì)與開發(fā)[J]. 氣象,2014,40(9):1152-1158.
[4] 盧湘鴻. 計(jì)算機(jī)應(yīng)用教程(第8版)[M]. 北京:清華大學(xué)出版社,2014:71-73.
[5] 仝行常. 巧用批處理實(shí)現(xiàn)數(shù)據(jù)自動(dòng)備份[J].中國商界,2010,(3):172-181.
[6] 付斌. 妙用批處理[J]. 網(wǎng)絡(luò)與信息,2006,20 (9):70-71.
[7] 王萍,唐兵兵,耿晉玲. 精細(xì)化城鎮(zhèn)天氣預(yù)報(bào)的有效打包和傳輸[J].氣象研究與應(yīng)用,2009,30(z1):182-185.
[8] 何鑫. 基于計(jì)劃任務(wù)和腳本的數(shù)據(jù)備份方法[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2014,23(5):245-247.
[9] 張發(fā)凌. 批處理命令在 Windows操作中的典型應(yīng)用[M]. 北京:人民郵電出版社,2008:1-3.
[10] 李凱,羅慧敏,顧謙.新一代天氣雷達(dá)資料下載與共享[J]. 氣象,2006,32(9):111-115.
P49
B
1005-0582(2015)03-0036-04
2015-01-14
山東省氣象局青年科研基金項(xiàng)目(2014SDQN06)資助
崔雅琴(1980—),女,漢族,山東招遠(yuǎn)人,碩士,工程師,主要從事觀測資料通信傳輸方面研究。