邱忠洋 付林 吳晶璐 陳宏波
摘要:如何及時、高效地將氣象預(yù)報預(yù)警信息推送給決策用戶和公眾,為解決這一多元化的需求,常州市氣象局組建團(tuán)隊(duì)研發(fā)了氣象預(yù)警預(yù)報移動客戶端(Andriod/IOS),作為典型的“互聯(lián)網(wǎng)+氣象”項(xiàng)目,主要從綜合氣象數(shù)據(jù)庫設(shè)計(jì)、GIS服務(wù)、Mybatis框架、預(yù)警推送、實(shí)時預(yù)報、防災(zāi)減災(zāi)、專項(xiàng)服務(wù)等方面為決策提供依據(jù)。結(jié)合預(yù)報、預(yù)警、服務(wù)等氣象業(yè)務(wù)需求,有效地對現(xiàn)有氣象信息資源進(jìn)行整合,并依托GIS系統(tǒng)對現(xiàn)有數(shù)據(jù)進(jìn)行管理展示??蛻舳司邆鋸?qiáng)大的氣象信息數(shù)據(jù)處理和分析能力,實(shí)現(xiàn)對氣象數(shù)據(jù)采集、處理、制作、服務(wù)管理的一體化。
關(guān)鍵詞:移動客戶端;“互聯(lián)網(wǎng)+氣象”;預(yù)警;預(yù)報;GIS;Mybatis框架
中圖分類號:TP399 文獻(xiàn)標(biāo)識碼:A 文章編號:0439-8114(2018)08-0108-06
DOI:10.14088/j.cnki.issn0439-8114.2018.08.027
Design and Implementation of Weather Warning and Forecasting System
Based on Mobile Client
QIU Zhong-yang1,F(xiàn)U ling2,WU Jing-lu1,CHEN Hong-bo1
(1.Changzhou Meteorological Bureau,Changzhou 213022,Jiangsu,China;
2.Shenzhen Kwantler Technology Co.,Ltd.,Shenzhen 518072,Guangdong,China)
Abstract: How to send weather forecasting and early warning information to users timely and effective,in order to solve the diverse needs,the Changzhou Meteorological Bureau set up a team to research and development of meteorological warning of mobile client (Andriod/IOS),As a typical “Internet + weather” project,it provide the basis for decision-making mainly include the comprehensive meteorological database design,GIS service,the framework of Mybatis,the warning signal push,real-time forecasting,disaster prevention and mitigation,special services and other aspects. Combined with meteorological business requirements such as forecast,warning and service,the existing meteorological information resources can be effectively integrated,and the existing data can be managed and displayed on the basis of GIS system. The client has great ability in meteorological information data processing and analysis,realize the integration of meteorological data acquisition,processing,production,service management.
Key words: mobile client; “Internet + weather”; pre-warning; forecast; GIS; the framework of Mybatis
隨著移動互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,智能化的終端應(yīng)用不斷普及并全方位運(yùn)用到各個領(lǐng)域,氣象領(lǐng)域也不例外。同時,近年來中國極端天氣事件頻繁,呈現(xiàn)多災(zāi)害并發(fā)、點(diǎn)多面廣的特點(diǎn),因此如何及時、高效、準(zhǔn)確地將預(yù)警預(yù)報信息推送至決策機(jī)構(gòu)和公眾以降低因?yàn)?zāi)害帶來的損失,成為政府及各應(yīng)急部門工作中的重點(diǎn)[1]。在此環(huán)境下,政府與公眾對移動氣象信息服務(wù)需求與日俱增,因此將氣象服務(wù)以移動互聯(lián)的方式呈現(xiàn)于決策機(jī)構(gòu)和公眾面前顯得十分迫切。常州市氣象局“氣預(yù)警預(yù)報移動客戶端系統(tǒng)”,是一個典型的“互聯(lián)網(wǎng)+氣象”的項(xiàng)目,該App可有效突破傳統(tǒng)信息發(fā)布方式的瓶頸,大大拓展氣象信息服務(wù)的傳輸渠道,提升信息推送效率,對于促進(jìn)常州市民有效應(yīng)對災(zāi)害性天氣的能力提升有著不可估量的作用,其社會效益、政治效益明顯。同時決策服務(wù)App的開發(fā)可以集聚大量用戶,為常州市氣象部門未來專業(yè)氣象服務(wù)的拓展奠定了堅(jiān)實(shí)基礎(chǔ),有助于挖掘氣象信息服務(wù)的經(jīng)濟(jì)效益潛力。
國外學(xué)者對移動互聯(lián)網(wǎng)與氣象結(jié)合方面的研究比較早,應(yīng)用的領(lǐng)域也比較豐富,如Crowley在Android平臺上開發(fā)了SpaceWeather軟件工具用于展示空間天氣數(shù)據(jù)。中國雖然已經(jīng)開始建設(shè)移動氣象服務(wù),但實(shí)際應(yīng)用還不成熟[2]。常州市“氣預(yù)警預(yù)報移動客戶端系統(tǒng)”的建設(shè),將有助于整合利用常州市氣象局已有的各類基礎(chǔ)數(shù)據(jù)資源,并對市氣象局現(xiàn)有業(yè)務(wù)成果進(jìn)行改造,增加移動數(shù)據(jù)接口,供公眾、行業(yè)用戶、行業(yè)指導(dǎo)部門下載使用,可進(jìn)一步擴(kuò)大常州市氣象局的預(yù)報、預(yù)警和實(shí)況監(jiān)測的信息推送能力,為政府和各行業(yè)應(yīng)對氣候變化和天氣災(zāi)害所做的決策提供及時可靠的依據(jù)。
在此背景下,本研究闡述了氣預(yù)警預(yù)報移動客戶端系統(tǒng)的設(shè)計(jì)與應(yīng)用,以O(shè)racle數(shù)據(jù)庫為依托構(gòu)建了綜合數(shù)據(jù)庫、采用多線程的方式對氣象資料進(jìn)行入庫處理,使用輕量級框架提供服務(wù),融合GIS技術(shù)在地圖上展示各類氣象要素?cái)?shù)據(jù),設(shè)計(jì)了兩套技術(shù)方案,分別對于Android和IOS進(jìn)行設(shè)計(jì)和研發(fā)。
1 系統(tǒng)相關(guān)技術(shù)
1.1 多線程入庫技術(shù)
App所使用到的相關(guān)氣象數(shù)據(jù)必須要導(dǎo)入到數(shù)據(jù)庫中并提供調(diào)用服務(wù),而相關(guān)報文以txt形式存在并以通過路由或其他方式進(jìn)行傳遞。由于報文種類多樣化,數(shù)據(jù)量極大,使用傳統(tǒng)的單線程操作方式不僅效率低下而且會影響平臺的實(shí)時展示。針對這些問題,系統(tǒng)將采用多線程的操作方式進(jìn)行解析入庫。在多線程處理數(shù)據(jù)的過程中,一方面會需要使用線程同步機(jī)制,即處理數(shù)據(jù)的各線程依賴掃描主線程,需要掃描線程提供消息進(jìn)行喚醒調(diào)用,而其他的線程則是處于等待狀態(tài);另一方面當(dāng)共享資源被多個線程爭相使用時,又用到線程互斥機(jī)制,即任何時候最多只允許一個線程使用資源,其他要使用該資源的線程必須處于等待狀態(tài),直到占用資源的線程釋放了該資源[3]。
多線程的創(chuàng)建主要從新建線程對象開始,通過線程Start()方法開始線程操作,線程就緒完畢,則等待CPU分配時鐘片進(jìn)入運(yùn)行狀態(tài),若線程發(fā)生阻塞,則當(dāng)前線程進(jìn)入阻塞狀態(tài),等待阻塞結(jié)束,重新回到線程就緒狀態(tài)等待CPU分配時鐘片,否則線程結(jié)束。具體多線程運(yùn)作方式如圖1所示。
1.2 Oracle數(shù)據(jù)庫
Oracle數(shù)據(jù)庫產(chǎn)品是當(dāng)前數(shù)據(jù)庫技術(shù)的典型代表,它不僅具備常規(guī)的數(shù)據(jù)庫功能,還包含了與數(shù)據(jù)庫對應(yīng)的開發(fā)工具和應(yīng)用客戶端。Oracle數(shù)據(jù)庫既非純的面向?qū)ο蟮臄?shù)據(jù)庫也非純的關(guān)系數(shù)據(jù)庫,它是兩者的結(jié)合,因此叫做“對象關(guān)系數(shù)據(jù)庫”。
Oralce具有以下特點(diǎn)[4]:①對象/關(guān)系模型。Oracle不僅能夠處理普通的表結(jié)構(gòu)信息,而且還能夠處理文本、視頻、圖形和空間對象等新型數(shù)據(jù)類型。②動態(tài)可伸縮性。Oracle采用了高級網(wǎng)絡(luò)技術(shù),提高共享池和連接管理器來提高系統(tǒng)的可拓展性,能滿足目前數(shù)據(jù)庫及數(shù)據(jù)倉庫應(yīng)用的需要。③可用性和易用性。Oracle提供了靈活多樣的數(shù)據(jù)分區(qū)功能,可以按照數(shù)據(jù)的類型和數(shù)據(jù)的取值以及表的結(jié)構(gòu)進(jìn)行分區(qū)。④可管理性和數(shù)據(jù)安全功能。Oracle提供了自動備份和恢復(fù)功能,對分布式操作系統(tǒng)的提供了支持而且還加強(qiáng)了對SQL并行運(yùn)行的效率。⑤支持多平臺。網(wǎng)絡(luò)結(jié)構(gòu)往往含有多個平臺,Oracle兼容性較強(qiáng),適用于所有操作系統(tǒng)平臺。⑥提供結(jié)構(gòu)化查詢語句。當(dāng)前支撐移動客戶端的數(shù)據(jù)庫需要具備強(qiáng)大存儲能力,數(shù)據(jù)吞吐量需要達(dá)到一定的量級,由于客戶端支持多種移動數(shù)倍,這就需要數(shù)據(jù)庫的兼容性能完善,支持windows、linux、unix等常規(guī)操作系統(tǒng)等。基于上述原因系統(tǒng)選擇Oracle數(shù)據(jù)庫作為后臺數(shù)據(jù)支撐,部分結(jié)構(gòu)如圖2所示。
1.3 GIS技術(shù)
地理信息系統(tǒng)(GIS)是一門集計(jì)算機(jī)科學(xué)、信息學(xué)、地理學(xué)等多門學(xué)科為一體的新科學(xué),是由計(jì)算機(jī)系統(tǒng)、地理數(shù)據(jù)和用戶組成的。它是一種特定的十分重要的空間信息系統(tǒng),在計(jì)算機(jī)硬、軟件系統(tǒng)支持下,對整個與地球表面有關(guān)地理分布數(shù)據(jù)進(jìn)行采集、儲存、管理、運(yùn)算、分析、顯示和描述的技術(shù)系統(tǒng)。通過GIS技術(shù)可以將具有控件內(nèi)涵的數(shù)據(jù)按照實(shí)際的需要準(zhǔn)確、真實(shí)、圖文并茂的展示出來。目前,GIS技術(shù)在各行各業(yè)的使用已經(jīng)趨于潮流化。
GIS主要由以下四個方面特性[5]:①計(jì)算機(jī)系統(tǒng)的支持是GIS的重要特性,GIS的實(shí)際應(yīng)用則表現(xiàn)為計(jì)算機(jī)軟件上的圖層數(shù)據(jù)展示,而其內(nèi)涵在于地理數(shù)據(jù)中所包含的一些用于分析的要素信息。②GIS操作的是實(shí)體地理數(shù)據(jù)。以GIS技術(shù)為依據(jù)的信息系統(tǒng)與其他信息系統(tǒng)的最大的區(qū)別在于操作的對象是實(shí)體的地理數(shù)據(jù)。③GIS系統(tǒng)具備數(shù)據(jù)采集、數(shù)據(jù)管理、數(shù)據(jù)分析和數(shù)據(jù)輸出展示多種地理信息的能力,還可以對空間數(shù)據(jù)進(jìn)行動態(tài)展示。通過已有的數(shù)據(jù)分析模擬的方式對未來的數(shù)據(jù)進(jìn)行預(yù)測和估計(jì),實(shí)現(xiàn)對地理過程的動態(tài)化模擬和決策支持。④GIS技術(shù)有開源的GIS服務(wù)和商業(yè)GIS服務(wù),但開源GIS服務(wù)提供的功能有限,且數(shù)據(jù)不可編輯,而商業(yè)GIS服務(wù)提供較好的數(shù)據(jù)服務(wù),支持對數(shù)據(jù)的編輯修改等。
GIS的應(yīng)用不斷普及,GIS給業(yè)務(wù)人員帶來的便捷也是不言而喻,就該系統(tǒng)而言,在城鎮(zhèn)精細(xì)化預(yù)報及預(yù)警信息發(fā)布功能上,則是要求選用普通ArcGIS Engine服務(wù)。而在臺風(fēng)路徑、臨近降水等功能模塊則是選用了第三方開源GIS工具進(jìn)行處理。結(jié)合該系統(tǒng)的應(yīng)用需求則采用了綜合GIS服務(wù)(圖3)。
1.4 Mybatis框架提供API服務(wù)
Mybatis 是一款優(yōu)秀的持久層框架,它支持定制化SQL、存儲過程以及高級映射。該框架避免了幾乎所有的JDBC代碼和手動設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis可以使用簡單的XML或注解來配置和映射原生信息,將接口和Java的POJOs(Plain Old Java Objects,普通的Java對象)映射成數(shù)據(jù)庫中的記錄。Mybatis功能框架主要分為三層[6]:①API接口層:提供給外部使用的接口API,開發(fā)人員通過這些本地API來操縱數(shù)據(jù)庫。接口層接收到調(diào)用請求就會調(diào)用數(shù)據(jù)處理層來完成具體的數(shù)據(jù)處理。②數(shù)據(jù)處理層:負(fù)責(zé)具體的SQL查找、SQL解析、SQL執(zhí)行和執(zhí)行結(jié)果映射處理等,主要目的是根據(jù)調(diào)用的請求完成一次數(shù)據(jù)庫操作。③基礎(chǔ)支撐層:負(fù)責(zé)最基礎(chǔ)的功能支撐,包括連接管理、事務(wù)管理、配置加載和緩存處理,這些都是共用的東西,將其抽取出來作為最基礎(chǔ)的組件,為上層的數(shù)據(jù)處理層提供最基礎(chǔ)的支撐。
考慮到App服務(wù)器使用的可擴(kuò)展性、高效性、兼容性、通用性。選擇Mybatis作為系統(tǒng)開發(fā)的ORM框架,框架結(jié)構(gòu)如圖4所示。
1.5 開發(fā)語言及相關(guān)環(huán)境
J2EE(Java 2 Platform,EntERPrise Edition)是一種利用Java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)復(fù)雜問題的體系結(jié)構(gòu),是一個基于組件的體系結(jié)構(gòu),定義了一套標(biāo)準(zhǔn)來簡化多層分布式企業(yè)應(yīng)用程序的開發(fā),同時定義了一套標(biāo)準(zhǔn)化的組件,并為這些組件提供了完整的服務(wù)。
J2EE體系架構(gòu)將表示邏輯、業(yè)務(wù)邏輯與數(shù)據(jù)邏輯相分離,使系統(tǒng)的并行操作、網(wǎng)絡(luò)計(jì)算能力大為提高,系統(tǒng)的整體性能得以優(yōu)化,并采用先進(jìn)的軟件分層設(shè)計(jì)思想,支持基于框架的開發(fā),降低開發(fā)難度和成本,同時降低組件的耦合度,極大地增強(qiáng)軟件的可維護(hù)性、可擴(kuò)展性,滿足大型管理信息系統(tǒng)的要求。
開放語言方面中心服務(wù)端采用基于J2EE規(guī)范的Java技術(shù),支持JDK1.6以上版本,采用流行的Spring+Struts+mybatis架構(gòu)及分層體系結(jié)構(gòu),前端采用Html\JavaScript\XML\CSS\JSON等頁面技術(shù)和規(guī)范,構(gòu)建安全、穩(wěn)定、高效、簡單實(shí)用的中心服務(wù)端應(yīng)用??蛻舳酥С謨蓚€版本分別為Android、IOS,IOS基于Xcode 8及IOS 10的環(huán)境開發(fā),Android基于JDK1.6及Android 4.0的環(huán)境開發(fā)[7]。
網(wǎng)絡(luò)通信及數(shù)據(jù)傳輸方面采用3G、4G或其他無線技術(shù),數(shù)據(jù)傳輸采用加密方式,保障信息的安全通信。與其他系統(tǒng)的對接采用安全規(guī)范的接口技術(shù),數(shù)據(jù)格式采用JSON和XML,基于安全規(guī)范的制定統(tǒng)一控制接口,重要數(shù)據(jù)實(shí)現(xiàn)加密,支持異構(gòu)系統(tǒng)、目錄、FTP站點(diǎn)等手動或自動獲取數(shù)據(jù)。
2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)設(shè)計(jì)主要包括業(yè)務(wù)架構(gòu)設(shè)計(jì)、技術(shù)架構(gòu)設(shè)計(jì)、數(shù)據(jù)處理平臺的設(shè)計(jì),其最終目的是讓系統(tǒng)能夠正常業(yè)務(wù)化運(yùn)行。
2.1 業(yè)務(wù)架構(gòu)分析
預(yù)警預(yù)報系統(tǒng)客戶端采用了多元化的設(shè)計(jì)模式,以移動互聯(lián)網(wǎng)的方式將氣象預(yù)報、預(yù)警、實(shí)況信息、統(tǒng)計(jì)信息、重要天氣、鄉(xiāng)鎮(zhèn)預(yù)報、氣候統(tǒng)計(jì)、專家用圖等服務(wù)產(chǎn)品整合到移動終端中。系統(tǒng)集約化、規(guī)范化、流程化管理將全面覆蓋和整合業(yè)務(wù)數(shù)據(jù)資源和功能能性需求,以實(shí)現(xiàn)“掌上氣象臺”為最終目標(biāo)。系統(tǒng)主要有七大模塊組成主要包括實(shí)況監(jiān)測、氣象預(yù)報、生活氣象、氣候統(tǒng)計(jì)、專家用圖、用戶反饋以及配置服務(wù)模塊[8],如圖5所示。
1)實(shí)況監(jiān)測模塊:可以監(jiān)測天氣實(shí)況、雷達(dá)圖像、衛(wèi)星云圖、預(yù)警信息、臺風(fēng)路徑等。
2)氣象預(yù)報模塊:可以查詢到預(yù)報內(nèi)容、鄉(xiāng)鎮(zhèn)預(yù)報、臨近降水預(yù)報、重要天氣報告、氣象專報(春運(yùn)服務(wù)、太湖藍(lán)藻、防汛服務(wù)等)及氣候評價等相關(guān)內(nèi)容。
3)生活氣象模塊:可以查詢到生活指數(shù)及農(nóng)歷節(jié)氣相關(guān)信息。
4)氣候統(tǒng)計(jì)模塊:包含了對歷年來常州氣象數(shù)據(jù)的研究統(tǒng)計(jì),包括對歷年降水、氣溫、大風(fēng)、梅雨等要素的分析統(tǒng)計(jì)。
5)專家用圖模塊:為天氣預(yù)報人員提供了手機(jī)在線參考依據(jù)。
6)用戶反饋模塊:提供了App與用戶之間的互動窗口,包括了隨手拍及災(zāi)害性天氣上傳。
7)配置服務(wù)模塊:包括了一些推送設(shè)置、好友推薦等功能。
通過App首頁可以實(shí)現(xiàn)隨時隨地查詢常州當(dāng)前天氣實(shí)況信息(包括氣溫、雨量、風(fēng)向風(fēng)速、濕度、能見度)、預(yù)警信息、七天預(yù)報、空氣質(zhì)量、生活指數(shù)等相關(guān)信息。App力求為用戶提供準(zhǔn)確、權(quán)威、實(shí)時、全面的氣象服務(wù)信息服務(wù),為專業(yè)用戶、決策用戶提供氣象輔助決策數(shù)據(jù)服務(wù),同時兼顧公眾用戶需求,為出行、戶外工作計(jì)劃等提供可靠的天氣信息服務(wù)。
重點(diǎn)闡述監(jiān)測預(yù)報相關(guān)模塊的內(nèi)容,在這兩個模塊中監(jiān)測包括了實(shí)況、雷達(dá)、云圖、臺風(fēng)等相關(guān)內(nèi)容;預(yù)報包括了預(yù)警、短期、旬報、重要天氣、氣候評價、天氣專報、鄉(xiāng)鎮(zhèn)精細(xì)化預(yù)報、回波預(yù)測等相關(guān)內(nèi)容(圖6)。
2.2 技術(shù)架構(gòu)流程分析
在客戶端系統(tǒng)的研究過程中,使用分層的監(jiān)控系統(tǒng)框架。通常情況下框架分為5層:物理感知層、接入層、中間件層、服務(wù)平臺層和應(yīng)用層。最底層的物理感知層主要由無線傳感器節(jié)點(diǎn)組成,它們負(fù)責(zé)采集氣象監(jiān)測數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)發(fā)給接入層網(wǎng)關(guān)設(shè)備,繼而網(wǎng)關(guān)設(shè)備通過多種網(wǎng)絡(luò)連接方式(GPRS/3G/4G)將數(shù)據(jù)再次轉(zhuǎn)發(fā)給中間件層的實(shí)時數(shù)據(jù)處理平臺,通過中間件對監(jiān)測數(shù)據(jù)的實(shí)時接收、解析、處理與存儲服務(wù),服務(wù)平臺層可以利用這些數(shù)據(jù)提供諸多種類的數(shù)據(jù)服務(wù),最終可以開發(fā)跨平臺的數(shù)據(jù)監(jiān)控客戶端對監(jiān)測數(shù)據(jù)進(jìn)行實(shí)時的分析和應(yīng)用。本研究中重點(diǎn)考慮上三層,數(shù)據(jù)庫層、服務(wù)平臺層和應(yīng)用層[9],如圖7所示,展示出了氣象無線傳感網(wǎng)監(jiān)控系統(tǒng)的分層框架。
1)數(shù)據(jù)庫層:建設(shè)綜合氣象數(shù)據(jù)庫,由于目前氣象臺所使用數(shù)據(jù)為文本等多種類型的數(shù)據(jù)格式,需要將這些文件做成一個產(chǎn)品數(shù)據(jù)庫(圖8),存儲氣象監(jiān)測、預(yù)報、預(yù)警等基礎(chǔ)數(shù)據(jù),農(nóng)業(yè)氣象數(shù)據(jù)、林業(yè)氣象數(shù)據(jù)、環(huán)境氣象數(shù)據(jù)等其他相關(guān)數(shù)據(jù)。
2)服務(wù)平臺層:建設(shè)中心服務(wù)端系統(tǒng),實(shí)現(xiàn)氣象信息的采集、處理、存儲、產(chǎn)品制作、監(jiān)測報警及發(fā)布管理。實(shí)現(xiàn)多種應(yīng)用的統(tǒng)一管理,簡單維護(hù),高效運(yùn)行和靈活配置。為建立統(tǒng)一的業(yè)務(wù)運(yùn)行平臺提供數(shù)據(jù)支撐與技術(shù)支持。①具備數(shù)據(jù)處理功能,將所有的業(yè)務(wù)上的計(jì)算、數(shù)據(jù)的處理、邏輯的判斷都整合在后臺中心服務(wù)器,降低對客戶端的負(fù)載壓力。②產(chǎn)品的制作功能,針對App的需求所提出的多種氣象產(chǎn)品,對產(chǎn)品的軟件化的實(shí)現(xiàn)將放置在后臺中心服務(wù)器實(shí)現(xiàn)。包括預(yù)報產(chǎn)品、生活指數(shù)、雷達(dá)云圖、預(yù)警信息、區(qū)域站統(tǒng)計(jì)、天氣實(shí)況等。③多方位推送,將氣象預(yù)警信息、氣象服務(wù)信息、交通信息等相關(guān)的信息推送至手機(jī)客戶端。
3)應(yīng)用層:建設(shè)手機(jī)客戶端系統(tǒng),實(shí)現(xiàn)基于GIS的各類生活氣象服務(wù)、氣象預(yù)警接收、氣象災(zāi)害防御信息服務(wù)等的查詢和展示??蛻舳酥С諥ndroid、IOS兩個版本。
2.3 數(shù)據(jù)處理平臺多線程設(shè)計(jì)
客戶端系統(tǒng)數(shù)據(jù)經(jīng)過解析、質(zhì)控后則將數(shù)據(jù)錄入到數(shù)據(jù)庫中。入庫系統(tǒng)采用了多線程的操作方式,主要包括了主線程、讀寫線程、解析線程以及入庫線程,主線程主要進(jìn)行數(shù)據(jù)報文文件的預(yù)處理及掃描定時器的設(shè)定,并啟動誤寫線程,讀寫線程被啟動后,則進(jìn)行數(shù)據(jù)文件的讀取,文件辨別,接著進(jìn)行文件分類,分類完畢則進(jìn)入解析線程,解析線程則是對文件進(jìn)行讀取截取字段,提取各個要素值,接著調(diào)用各種質(zhì)控方法對數(shù)據(jù)進(jìn)行質(zhì)控控制數(shù)據(jù)分析,并劃分?jǐn)?shù)據(jù)等級,最后則是調(diào)用入庫線程,執(zhí)行寫的操作并寫日志保存,最終則是將結(jié)果逐級向主線程反饋[10](圖9)。
2.4 系統(tǒng)其它相關(guān)設(shè)計(jì)要求
系統(tǒng)基于多方面考慮對整體的框架做了如下幾點(diǎn)設(shè)計(jì)要求:
1)統(tǒng)一管理模式、應(yīng)用軟件和傳輸信息,實(shí)現(xiàn)網(wǎng)絡(luò)信息統(tǒng)一、標(biāo)準(zhǔn)統(tǒng)一、接口統(tǒng)一。
2)網(wǎng)絡(luò)安全,信息保密,穩(wěn)定可靠,高效運(yùn)行。將網(wǎng)絡(luò)安全、信息保密放在首位,確保網(wǎng)絡(luò)和系統(tǒng)穩(wěn)定性和可靠性、高效性和信息保密性。
3)系統(tǒng)支持,包括Android和IOS兩種,設(shè)備類似于iPhone 5s、iPhone 6/6s、Samsung等。
4)服務(wù)更新不間斷原則,便捷地?cái)?shù)據(jù)傳遞更新服務(wù),高效的信息服務(wù)引擎,保證信息24小時不間斷在線連接;服務(wù)器定時自動推送,地理位置精確到區(qū)、縣;完全無需用戶干涉。一次安裝,終身自動使用。
5)設(shè)計(jì)模塊化及可拓展性,以功能塊為單位進(jìn)行程序設(shè)計(jì),降低程序復(fù)雜度,使程序設(shè)計(jì)、調(diào)試和維護(hù)等操作簡單化;系統(tǒng)應(yīng)具備可擴(kuò)展性,可以在未來添加新功能或修改完善現(xiàn)有功能。
6)安全性原則,安全性原則包括物理安全、網(wǎng)絡(luò)安全、應(yīng)用安全、數(shù)據(jù)安全、管理安全。支持?jǐn)?shù)據(jù)的熱備份,保障系統(tǒng)的穩(wěn)定安全運(yùn)行,防止數(shù)據(jù)丟失[11]。
3 系統(tǒng)展示及應(yīng)用
軟件展示方面,主要展示3個核心模塊:首頁、實(shí)況監(jiān)測以及天氣預(yù)報模塊。與客戶端系統(tǒng)相匹配的還有一套后臺管理的Web網(wǎng)站,用于維護(hù)和統(tǒng)計(jì)客戶端數(shù)據(jù)。
3.1 首頁
顯示當(dāng)前時間地名、溫度、濕度、風(fēng)向、風(fēng)速、日出、日落、能見度,實(shí)況更新時間、天氣背景、歷史今天,當(dāng)有新的重要天氣、氣象專報發(fā)布時,均顯示為藍(lán)色圖標(biāo),沒有默認(rèn)是白色圖標(biāo);當(dāng)有預(yù)警發(fā)布時,首頁會顯示預(yù)警圖標(biāo);未來7 d預(yù)報信息,空氣質(zhì)量以及生活指數(shù)等;點(diǎn)擊語音圖標(biāo)能進(jìn)行語音播報,點(diǎn)擊左側(cè)上方圖標(biāo)會打菜單,點(diǎn)擊右側(cè)上方圖標(biāo)則顯示一些自動站信息,如圖10所示。
3.2 實(shí)況監(jiān)測
包括常州、金壇、溧陽3個基本站點(diǎn)的氣溫?cái)?shù)據(jù)、降水、能見度、氣壓、相對濕度、風(fēng)速風(fēng)向等模塊數(shù)據(jù)以及色斑圖(圖11)。根據(jù)選擇不同地區(qū)得到不同的衛(wèi)星云圖,雷達(dá)圖像、臺風(fēng)路徑、生成動態(tài)變化的圖像,并且進(jìn)行播放。左上角點(diǎn)擊分享可以將截圖分享到微博、QQ、微信以及微信朋友圈等。
3.3 天氣預(yù)報
主要顯示短期預(yù)報、一周天氣預(yù)報、旬報等3個模塊(圖12),讓用戶對天氣情況了如指掌。鄉(xiāng)鎮(zhèn)精細(xì)化預(yù)報主要顯示了一些常州市周邊鄉(xiāng)鎮(zhèn)的天氣情況,點(diǎn)擊天氣圖標(biāo)可以顯示該地區(qū)的一些實(shí)況信息,包括最低溫最高溫、風(fēng)速風(fēng)向、濕度以及發(fā)布時間等信息。預(yù)報還包括臨近降水預(yù)報以及其它的氣象服務(wù)報告。
3.4 接口管理
通過對接口管理可以方便實(shí)現(xiàn)對專業(yè)用戶、決策用戶及普通用戶權(quán)限的劃分。同時添加接口認(rèn)證的方式可以實(shí)現(xiàn)對黑白名單用戶的控制,只有在系統(tǒng)中賦予了API權(quán)限的用戶才可以對接口進(jìn)行使用。系統(tǒng)的安全性能得到了很好的控制。
3.5 應(yīng)用統(tǒng)計(jì)
管理員可以看到各個接口的使用次數(shù)的柱狀圖,并且可以看到接口認(rèn)證中的不同用戶的接口使用餅圖,可以根據(jù)這些統(tǒng)計(jì)數(shù)據(jù)知道用戶常用的功能或數(shù)據(jù),從而挖掘用戶的喜好,為未來的客戶端的改進(jìn)提供服務(wù)。該功能也迎合了人工智能大數(shù)據(jù)對數(shù)據(jù)的剖析要求。
4 結(jié)語
由于氣象條件的變化直接影響到生活中的方方面面,因此深入研究氣象與人們的生活,提供氣象預(yù)報預(yù)警服務(wù),是城市經(jīng)濟(jì)和社會發(fā)展的需要,也是氣象部門的重要責(zé)任。做好氣象服務(wù)和保障工作,對于確保人們生活出行正常進(jìn)行具有重要意義。系統(tǒng)提出了實(shí)現(xiàn)“掌上氣象臺”的最終目標(biāo),結(jié)合先進(jìn)的J2EE平臺架構(gòu),跨平臺部署,實(shí)現(xiàn)多級多節(jié)點(diǎn)分布式部署,并能夠支持第三方整合接入。在數(shù)據(jù)整合方面豐富了移動客戶端決策輔助材料,涵蓋春運(yùn)服務(wù)、太湖藍(lán)藻、防汛服務(wù)、夏收夏種、秋收秋種、重要天氣、氣候評價等諸多方面,以此建設(shè)的集約化服務(wù)產(chǎn)品采集平臺可供氣象臺進(jìn)行文件產(chǎn)品的集約化管理。氣象服務(wù)手段的移動化,氣象信息發(fā)布的便捷化對社會經(jīng)濟(jì)以及防災(zāi)減災(zāi)有極其重要的意義。
就目前而言系統(tǒng)處于應(yīng)用階段,還有很多不足和需要改進(jìn)的地方。尤其是在海量數(shù)據(jù)處理和展示的模式上,未來將采用數(shù)據(jù)挖掘以及人工智能等方面的研究成果應(yīng)用到氣象服務(wù)中來,結(jié)合成“互聯(lián)網(wǎng)+氣象+人工智能”的全新提法并投入應(yīng)用。
參考文獻(xiàn):
[1] 錢 崢,趙科科,許皓皓.基于Android的移動氣象信息服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].氣象科技,2014,42(1):99-103.
[2] 孫石陽,邱宗旭,劉東華,等.智能專業(yè)氣象信息融合與服務(wù)系統(tǒng)建設(shè)初步研究[A].中國氣象學(xué)會.第27屆中國氣象學(xué)會年會雷電防護(hù)科學(xué)與技術(shù)發(fā)展分會場論文集[C].2010.
[3] 閆 偉,葉建栲.多線程技術(shù)在android手機(jī)開發(fā)中的應(yīng)用[J].信息通信,2012(1):46-47.
[4] 劉志成.Oracle數(shù)據(jù)庫管理與應(yīng)用實(shí)例教程[M].北京:人民郵電出版社,2010.
[5] 薛建軍,周 杰,杜景林.改進(jìn)型實(shí)時氣象資料處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(4):1623-1628.
[6] 馬琰鋼,沈萍月,鄧 闖.基于ArcGIS Mobile的“智慧氣象”數(shù)據(jù)服務(wù)技術(shù)研究[J].數(shù)字技術(shù)與應(yīng)用,2015(9):62.
[7] 蔡 明,陳永運(yùn).J2EE架構(gòu)的研究與應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2004,21(1):42-43.
[8] 金勇根,黃芬根,雷桂蓮,等.手機(jī)移動氣象防災(zāi)減災(zāi)服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].自然災(zāi)害學(xué)報,2006,15(5):126-131.
[9] 李 浩.氣象應(yīng)急服務(wù)系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013.
[10] 楊開杰,劉秋菊,徐汀榮.線程池的多線程并發(fā)控制技術(shù)研究[J].計(jì)算機(jī)應(yīng)用與軟件,2010,27(1):168-170.
[11] 潘巨龍,聞 育.無線傳感網(wǎng)的異構(gòu)性研究[J].航空計(jì)算技術(shù),2007,37(2):124-126.