江蘇省產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)研究院 林 婷
?
基于B/S模式的城市氣象觀測數(shù)據(jù)共享網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
江蘇省產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)研究院林婷
【摘要】根據(jù)不同用戶對(duì)城市氣象觀測數(shù)據(jù)的需求,利用web開發(fā)技術(shù),設(shè)計(jì)并開發(fā)了一個(gè)基于B/S模式的城市氣象觀測數(shù)據(jù)共享網(wǎng)站,一方面滿足專業(yè)型用戶在科研上對(duì)歷史氣象數(shù)據(jù)的需求;一方面滿足非專業(yè)型用戶在生活上對(duì)實(shí)時(shí)動(dòng)態(tài)氣象數(shù)據(jù)的需求。
【關(guān)鍵詞】B/S;氣象觀測數(shù)據(jù);網(wǎng)站設(shè)計(jì)
大氣運(yùn)動(dòng)的隨機(jī)性,導(dǎo)致各氣象要素?zé)o時(shí)無刻不在變化中,實(shí)時(shí)氣象數(shù)據(jù)在不斷更新,歷史氣象數(shù)據(jù)在不斷累積,數(shù)據(jù)量與日俱增[1]。尤其近年來,隨著數(shù)據(jù)采集技術(shù)的進(jìn)步,氣象觀測數(shù)據(jù)的數(shù)量快速增長。海量的氣象數(shù)據(jù)為探索氣候演變規(guī)律、預(yù)測天氣和氣候變化趨勢提供了豐富的數(shù)據(jù)源,同時(shí)也帶來了新的挑戰(zhàn)[2]。如何針對(duì)不同的用戶需求提供相應(yīng)的氣象數(shù)據(jù)和服務(wù)成為當(dāng)前氣象數(shù)據(jù)應(yīng)用的關(guān)鍵問題。對(duì)于專業(yè)型用戶,其更關(guān)注歷史氣象數(shù)據(jù),通過數(shù)據(jù)挖掘算法從歷史數(shù)據(jù)中獲取有用的氣候模式,對(duì)科學(xué)預(yù)報(bào)決策服務(wù)的提供有重要意義。對(duì)于非專業(yè)型用戶,其更關(guān)注實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù),根據(jù)實(shí)時(shí)氣象規(guī)劃調(diào)節(jié)衣食住行,滿足日常生活需求。本文根據(jù)對(duì)以上不同用戶的需求進(jìn)行分析,利用web開發(fā)技術(shù),開發(fā)一款面向氣象數(shù)據(jù)的、具有良好人機(jī)交互的數(shù)據(jù)共享平臺(tái),一方面滿足專業(yè)型用戶對(duì)歷史數(shù)據(jù)的科研需求;一方面滿足非專業(yè)型用戶對(duì)實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù)的生活需求。同時(shí),本平臺(tái)將科學(xué)數(shù)據(jù)可視化的技術(shù)應(yīng)用到氣象領(lǐng)域,使得原本復(fù)雜、海量、晦澀的數(shù)據(jù)轉(zhuǎn)變成直觀的二維可視化顯示,有效幫助氣象工作者分析氣象數(shù)據(jù)和在短時(shí)間內(nèi)做出準(zhǔn)確的判斷,為氣象預(yù)報(bào)業(yè)務(wù)提供全面快速的決策支持信息。
本網(wǎng)站采用結(jié)合三層架構(gòu)的B/S結(jié)構(gòu),B/S結(jié)構(gòu),即瀏覽器/服務(wù)器結(jié)構(gòu),是隨著Internet的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),主要事務(wù)邏輯都在服務(wù)器端實(shí)現(xiàn),可極大提高服務(wù)器端數(shù)據(jù)的安全性和網(wǎng)站的可擴(kuò)展性[3]。通過本網(wǎng)站,非專業(yè)型用戶可以了解城市氣象監(jiān)測信息以安排日常生活,專業(yè)型用戶可以下載城市歷史氣象數(shù)據(jù)以應(yīng)對(duì)科研需求,不受時(shí)間和空間的限制。網(wǎng)站的體系結(jié)構(gòu)如圖1所示。
圖1 網(wǎng)站的體系結(jié)構(gòu)
本網(wǎng)站主要包含以下功能:
(1)用戶管理:包括用戶基本信息的錄入、注冊(cè)、登錄、注銷等功能模塊。用戶根據(jù)自己的需求,填寫個(gè)人基本信息,申請(qǐng)不同的用戶權(quán)限,待管理員通過之后,即可檢索和下載相應(yīng)權(quán)限下的氣象數(shù)據(jù)。
(2)數(shù)據(jù)檢索:根據(jù)不同的用戶權(quán)限,基于臺(tái)站名稱、臺(tái)站編號(hào)、氣象要素、行政單位、時(shí)間等條件實(shí)現(xiàn)氣象數(shù)據(jù)的檢索,還可以從百度地圖中框選臺(tái)站(通過畫圓,畫多邊形和畫矩形)實(shí)現(xiàn)臺(tái)站信息的選擇。用戶可閱讀“數(shù)據(jù)集描述說明”,了解數(shù)據(jù)的基本信息,如氣象要素、歷時(shí)、缺失值、地理空間范圍等。實(shí)時(shí)數(shù)據(jù)檢索提供某個(gè)或者某些站點(diǎn)近一周內(nèi)的氣象數(shù)據(jù),便于非專業(yè)型用戶規(guī)劃衣食住行,歷史數(shù)據(jù)檢索提供某個(gè)或某些站點(diǎn)在某一歷史時(shí)段內(nèi)的歷史數(shù)據(jù),便于專業(yè)型用戶進(jìn)行科學(xué)研究。
(3)數(shù)據(jù)下載:根據(jù)不同的用戶權(quán)限實(shí)現(xiàn)歷史數(shù)據(jù)、實(shí)時(shí)數(shù)據(jù)的下載。
(4)可視化服務(wù):包括實(shí)時(shí)數(shù)據(jù)的圖表化表達(dá)和氣象要素空間插值等功能模塊。用戶可查看某一時(shí)間段內(nèi)某個(gè)或某些站點(diǎn)的氣象要素的折線圖、柱狀圖等,也可以根據(jù)多個(gè)站點(diǎn)的氣象要素信息,選擇不同的空間插值方法(如反距離加權(quán)插值、樣條插值法等)對(duì)氣象要素進(jìn)行插值,獲得某氣象要素空間分布圖。
圖2 來安、滁州、儀征、六合溫度變化折線圖
本網(wǎng)站采用apache2.2作為web服務(wù)器,后端采用zend studio作為開發(fā)環(huán)境,使用php作為后端開發(fā)語言,前端采用DreamweaverCS6作為開發(fā)平臺(tái),使用html、css、javascript作為前端開發(fā)語言,前后端交互使用ajax,數(shù)據(jù)庫使用Mysql。
通過python編寫代碼,從公開網(wǎng)站http:// flash.weather.com.cn/dsk/101060205.xml中實(shí)時(shí)動(dòng)態(tài)抓取全國2566個(gè)基準(zhǔn)地面氣象觀測站點(diǎn)的數(shù)據(jù),包括日平均氣溫、平均相對(duì)濕度、平均風(fēng)速、平均風(fēng)力和降水量等氣象要素,氣象站點(diǎn)多且覆蓋全面。該方法利用多線程技術(shù)實(shí)現(xiàn)同時(shí)獲取、捕捉異常并抓漏值、精準(zhǔn)定時(shí)啟動(dòng)等目標(biāo),使得數(shù)據(jù)獲取簡單,同時(shí)也保證了數(shù)據(jù)的準(zhǔn)確性。
服務(wù)器端數(shù)據(jù)庫的設(shè)計(jì)依照Web數(shù)據(jù)庫理論和網(wǎng)站需求,共設(shè)計(jì)了4張表:
省份站點(diǎn)表station:站點(diǎn)與省份的對(duì)照表,字段包括省份名稱、省份編號(hào)、站點(diǎn)編號(hào)、站點(diǎn)所在經(jīng)度、站點(diǎn)所在緯度、站點(diǎn)所在海拔高度等。
實(shí)時(shí)氣象數(shù)據(jù)表current:只保存從當(dāng)前時(shí)間開始到前一周的數(shù)據(jù),表中的數(shù)據(jù)一小時(shí)更新一次。表中的字段包括站點(diǎn)名稱、站點(diǎn)編碼、省份編碼、時(shí)間、各氣象要素?cái)?shù)據(jù)、用戶權(quán)限等。
歷史氣象數(shù)據(jù)表history:從2013年開始存儲(chǔ)氣象數(shù)據(jù)至今,表中的數(shù)據(jù)一小時(shí)增加一次,不斷累積。表中的字段包括站點(diǎn)名稱、站點(diǎn)編碼、省份編碼、時(shí)間、各氣象要素?cái)?shù)據(jù)、用戶權(quán)限等。
用戶信息表user:用于存儲(chǔ)用戶注冊(cè)信息,字段包括用戶名、密碼、用戶權(quán)限等。
通過SQL語言對(duì)Mysql數(shù)據(jù)庫進(jìn)行增刪改查,設(shè)計(jì)出各個(gè)功能模塊的Web應(yīng)用程序(B/S)模式。
城市氣象觀測數(shù)據(jù)是氣候模式研究和科學(xué)預(yù)報(bào)決策服務(wù)中重要的數(shù)據(jù)源,與人們的日常生活息息相關(guān),本文針對(duì)不同的用戶需求,設(shè)計(jì)了一款氣象觀測數(shù)據(jù)共享平臺(tái),為氣象觀測數(shù)據(jù)在不同需求下的Web應(yīng)用提供了一個(gè)較好的案例。
參考文獻(xiàn)
[1]王若曈,黃向東,張博,王建民,羅兵.海量氣象數(shù)據(jù)實(shí)時(shí)解析與存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2015,37(11):2045-2053.
[2]毛炳文.大數(shù)據(jù)時(shí)代的氣象水文信息保障[J].科學(xué)時(shí)代,2014,(14).
[3]朱麗娟.基于B/S的三層架構(gòu)精品課程網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2012(7):124-131.
林婷,助理工程師,現(xiàn)供職于江蘇省產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)研究院,主要從事產(chǎn)品質(zhì)量檢驗(yàn)、研究、管理工作,研究方向:計(jì)算機(jī)科學(xué)與技術(shù)。
作者簡介: