王 壘,燕東渭
(陜西省氣象信息中心,西安 710014)
國家下發(fā)疑誤數(shù)據(jù)反饋系統(tǒng)設(shè)計與實現(xiàn)
王 壘,燕東渭
(陜西省氣象信息中心,西安 710014)
介紹國家下發(fā)疑誤數(shù)據(jù)反饋系統(tǒng),利用數(shù)據(jù)庫索引、視圖、預(yù)處理和數(shù)據(jù)結(jié)構(gòu)優(yōu)化技術(shù),采用 .NET框架對系統(tǒng)進行設(shè)計與實現(xiàn),提高系統(tǒng)的響應(yīng)速度和增加用戶體驗效果。在實際業(yè)務(wù)中使用證明,該系統(tǒng)響應(yīng)速度、兼容性和使用便捷性都較好。
疑誤數(shù)據(jù);反饋系統(tǒng);索引技術(shù);預(yù)處理。
為了做好國家下發(fā)疑誤數(shù)據(jù)傳輸監(jiān)視和管理工作,提高氣象數(shù)據(jù)通信質(zhì)量和數(shù)據(jù)可利用率,陜西省氣象信息中心 (以下簡稱省信息中心)組織研發(fā)“國家下發(fā)疑誤數(shù)據(jù)反饋系統(tǒng)”,實現(xiàn)對下發(fā)數(shù)據(jù)實時監(jiān)視、在線反饋、錯誤信息修改、反饋質(zhì)量統(tǒng)計等功能。該系統(tǒng)在全省氣象部門得到推廣應(yīng)用,提高了數(shù)據(jù)可利用率。
疑誤數(shù)據(jù)反饋系統(tǒng) (圖 1)可分為 4個層次:采集層、數(shù)據(jù)層、邏輯層和展現(xiàn)層。采集層主要是將國家下發(fā)數(shù)據(jù)和臺站反饋數(shù)據(jù)入庫,同時針對不同用戶請求對數(shù)據(jù)進行統(tǒng)計分析;數(shù)據(jù)層主要以合理的數(shù)據(jù)結(jié)構(gòu)存貯數(shù)據(jù)采集層采集的數(shù)據(jù),并提供數(shù)據(jù)存取服務(wù);邏輯層主要負責(zé)解析用戶發(fā)出的訪問請求,對請求進行業(yè)務(wù)邏輯計算處理并返回結(jié)果;展現(xiàn)層主要負責(zé)將采集到和經(jīng)過統(tǒng)計加工的數(shù)據(jù)通過 Web以圖表的形式展現(xiàn)給用戶。
不同用戶的需求和關(guān)注范圍也有所不同?;鶎优_站多注重了解疑誤數(shù)據(jù)反饋資料是否及時上傳省信息中心;省信息中心注重監(jiān)視每個觀測站發(fā)送資料時效是否正確,傳輸至國家氣象信息中心是否及時。省級業(yè)務(wù)管理部門則注重某段時間內(nèi)疑誤數(shù)據(jù)資料的傳輸質(zhì)量統(tǒng)計,并注重掌握傳輸質(zhì)量低的測站和疑誤數(shù)據(jù)多的站號信息。系統(tǒng)充分考慮不同用戶的需求和關(guān)注焦點,通過完善功能滿足各類用戶需求。
圖 1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)主要由疑誤數(shù)據(jù)反饋查詢界面和疑誤數(shù)據(jù)提交界面組成。通過疑誤數(shù)據(jù)反饋查詢界面,主要可完成疑誤數(shù)據(jù)查詢,疑誤數(shù)據(jù)反饋時間和及時率查詢,反饋信息質(zhì)量統(tǒng)計等功能。為方便不同地市和不同類型報文的查詢,系統(tǒng)提供分地區(qū)和類型查詢。針對管理部門需要進行質(zhì)量管理和統(tǒng)計,系統(tǒng)實現(xiàn)任意時間段統(tǒng)計功能。通過疑誤數(shù)據(jù)反饋提交界面,主要可完成臺站對疑誤數(shù)據(jù)反饋的提交功能。提交項目為多種方式結(jié)合,“確認結(jié)果”與“問題原因”為下拉選擇菜單,“責(zé)任人”和 “備注”為文本框形式,反饋時間直接讀取服務(wù)器時間,不需要手工輸入。
國家疑誤數(shù)據(jù)每小時通過 CMACast(中國氣象局衛(wèi)星數(shù)據(jù)廣播系統(tǒng))滾動廣播下發(fā),省信息中心接收到文件后,通過 FT P將數(shù)據(jù)推送到數(shù)據(jù)服務(wù)器的相應(yīng)目錄,下發(fā)疑誤數(shù)據(jù)入庫程序會定時掃描該目錄,發(fā)現(xiàn)有新資料會自動運行解報程序并將翻譯好的報文按類型入庫。
下發(fā)疑誤數(shù)據(jù)原始報文格式為:站號,時間,氣象類型,錯誤數(shù)值,錯誤類型。該文件可讀性較差,用戶基本無法識別,需要解報軟件將其翻譯為用戶能識別的報文格式。解報程序主要應(yīng)用while和 switch語句。while語句的優(yōu)點是先判斷后執(zhí)行,利用該語句可以過濾掉下發(fā)報文中非法站號和外省站號。
switch語句的優(yōu)點是簡潔實現(xiàn)多分支選擇,但使用時須謹慎,所寫的 switch語句必須遵循以下規(guī)則:只能針對基本數(shù)據(jù)類型使用 switch,這些類型包括 int(整數(shù)型)和 string(字符型)等。對于其他類型,則必須使用if-else語句,switch語句在解報程序中具體寫法。
充分利用 Oracle數(shù)據(jù)庫索引技術(shù),提高 SQL語句的執(zhí)行效率。在執(zhí)行 SQL語句時采用一定策略利用索引,并且將有索引的字段放在 where條件前面。疑誤數(shù)據(jù)反饋系統(tǒng)數(shù)據(jù)庫操作包括:寫入、查詢、修改,目前使用率最高的為查詢。系統(tǒng)中使用了組合索引和限制索引 2類,組合索引使用站號和地區(qū)兩列,限制索引使用不等于操作符 (<>、!=)進行排除查詢,同時盡量避免通配符 “%”、“?”等的使用。
由于疑誤數(shù)據(jù)量比較大,反饋詳細信息按月進行存儲。在實時信息查詢中必須根據(jù)用戶選擇的時間窗給出結(jié)果。為簡化復(fù)雜的業(yè)務(wù)邏輯并提高查詢效率,快速顯示數(shù)據(jù),系統(tǒng)將 12個月表聯(lián)合創(chuàng)建 1個視圖,對用戶的查詢請求通過查詢視圖而獲取結(jié)果[1-2],避免跨越查詢需要修改檢索Sql中表名的問題。
對于用戶的統(tǒng)計請求,若實時從海量原始數(shù)據(jù)中統(tǒng)計計算,每次相同的請求,都需要進行實時統(tǒng)計計算,給系統(tǒng)造成較大壓力,并讓用戶等待較長時間。系統(tǒng)從管理用戶角度出發(fā),對海量數(shù)據(jù)進行統(tǒng)計預(yù)處理,形成符合管理部門需求的中間統(tǒng)計結(jié)果,并進行存儲。對于統(tǒng)計訪問請求,能夠直接在中間統(tǒng)計結(jié)果中進行簡單查詢,同樣滿足用戶統(tǒng)計訪問請求。與實時統(tǒng)計計算方法比較,本技術(shù)只需要計算一次統(tǒng)計結(jié)果,產(chǎn)生較小的系統(tǒng)負荷,并無需較長時間等待。
目前瀏覽器種類繁多,同一程序在不同網(wǎng)頁上運行效果會有所偏差或無法使用,原因在于廠商在瀏覽器實現(xiàn)中采用的標(biāo)準(zhǔn)或技術(shù)不同,網(wǎng)頁的開發(fā)中涉及的 JavaScript腳本與 Css樣式技術(shù)在不同瀏覽器中的使用方法不同。為使本系統(tǒng)能跨瀏覽器運行,采用 JQuery腳本類庫進行實現(xiàn),它是一套跨瀏覽器的基礎(chǔ)腳本庫,實現(xiàn)中涉及所有腳本程式均基于該類庫開發(fā)。另外在編寫本系統(tǒng)的 Css樣式時,在樣式文件中一個樣式控制語句按照多種語法進行編寫,達到多瀏覽器正確顯示的效果。
目前疑誤數(shù)據(jù)反饋系統(tǒng)對全省氣象部門用戶開放,雖然方便用戶查詢,但是反饋數(shù)據(jù)管理和安全性比較低,容易造成錯誤,弱化系統(tǒng)實用性;疑誤數(shù)據(jù)反饋系統(tǒng)查詢統(tǒng)計功能比較強大,但是查詢結(jié)果表現(xiàn)方式比較單一;發(fā)現(xiàn)未反饋數(shù)據(jù)時,仍需人工提醒,增加工作量。因此,在系統(tǒng)的后期升級開發(fā)中,應(yīng)增加用戶管理功能,針對不同級別用戶設(shè)定不同的使用權(quán)限;豐富查詢結(jié)果表現(xiàn)方式,做到表格,圖形,原始數(shù)據(jù)等多種形式;結(jié)合語音系統(tǒng),發(fā)現(xiàn)未反饋數(shù)據(jù)時自動提醒,減輕值班人員工作量。
[1]羅琦,韓茜,李文莉,等 .基于 W EBGIS的氣象科學(xué)數(shù)據(jù)查詢顯示系統(tǒng)的設(shè)計與實現(xiàn) [J].干旱氣象,2010,28(4): 494-498.
[2]沙莎,邱新法,何永健 .基于 GIS的自動氣象站數(shù)據(jù)系統(tǒng)的研發(fā) [J].干旱氣象,2011,29(3):372-376.
P409
B
1006-4354(2013)02-0034-03
2012-08-23
王壘 (1980— ),男,陜西藍田人,工程師,碩士,主要從事氣象信息軟件開發(fā)、數(shù)據(jù)庫設(shè)計等。