李永花 (青海省氣象信息中心,青海西寧 810001)
?
青海氣象服務(wù)移動應(yīng)用系統(tǒng)設(shè)計與實現(xiàn)
李永花(青海省氣象信息中心,青海西寧 810001)
摘要針對青海氣象公共服務(wù)的現(xiàn)狀,研究并實現(xiàn)了一套氣象服務(wù)移動應(yīng)用系統(tǒng)。該系統(tǒng)通過將ArcGIS技術(shù)、Sqlite.Swift技術(shù)、Alamofire、流量壓縮、數(shù)據(jù)加密技術(shù)等應(yīng)用于設(shè)計與研發(fā)過程,實現(xiàn)了青海氣象天氣預(yù)報、天氣實況、災(zāi)害預(yù)警、衛(wèi)星云圖、公共氣象服務(wù)產(chǎn)品等實時信息的動態(tài)展示、快速查詢,將基于互聯(lián)網(wǎng)+移動APP服務(wù)模式應(yīng)用于氣象公眾服務(wù)領(lǐng)域,豐富了氣象服務(wù)手段,提高了青海氣象公眾服務(wù)質(zhì)量。
關(guān)鍵詞移動APP;氣象服務(wù);Swift
隨著3G/4G應(yīng)用和智能手機的普及,借助飛速發(fā)展的移動互聯(lián)網(wǎng)技術(shù),將PC應(yīng)用移植到移動端,在提高信息傳遞效率的同時,有效保障氣象災(zāi)害快速預(yù)警能力是目前氣象公共服務(wù)的研究熱點和重點應(yīng)用領(lǐng)域。目前移動互聯(lián)網(wǎng)已在氣象行業(yè)開始應(yīng)用,但這些應(yīng)用主要集中在普通的氣象預(yù)報信息的發(fā)布[1-4],缺乏針對專有行業(yè)服務(wù)、政府決策服務(wù)的實時氣象觀測數(shù)據(jù)以及專業(yè)氣象服務(wù)產(chǎn)品的移動應(yīng)用系統(tǒng)。
青海省氣象信息中心承擔(dān)全省氣象信息的加工處理、氣象災(zāi)害的監(jiān)測預(yù)警以及氣象信息的實時發(fā)布等工作,根據(jù)現(xiàn)有信息中心業(yè)務(wù)的現(xiàn)實情況,在滿足信息中心業(yè)務(wù)實時性與靈活性需求的同時,針對各類業(yè)務(wù)與氣象數(shù)據(jù)集成環(huán)境下的應(yīng)用,定制個性化的需求,并保障技術(shù)的可行性,從而提高氣象公眾服務(wù)的業(yè)務(wù)處理效率和信息化水平。該研究通過對氣象行業(yè)基于移動應(yīng)用的國內(nèi)外現(xiàn)狀[1-5]調(diào)研分析,研究了青海省氣象信息化水平及目前公眾服務(wù)需求,設(shè)計并實現(xiàn)了青海氣象服務(wù)移動應(yīng)用系統(tǒng),為政府防汛辦、應(yīng)急辦進行氣象防災(zāi)減災(zāi)提供了較為精確的決策支持和豐富的氣象服務(wù)手段。
1系統(tǒng)體系架構(gòu)
以青海省氣象信息中心為試點,根據(jù)其業(yè)務(wù)的需求,主要針對天氣預(yù)報、天氣實況、災(zāi)害預(yù)警、衛(wèi)星云圖、服務(wù)產(chǎn)品5部分功能進行規(guī)劃,并選用IPad終端進行設(shè)計和實現(xiàn),采用基于IOS的移動應(yīng)用開發(fā)技術(shù)對多個版本的IOS操作系統(tǒng)實現(xiàn)了兼容,應(yīng)用與后臺服務(wù)之間協(xié)議統(tǒng)一[6]。
系統(tǒng)在基礎(chǔ)應(yīng)用軟件(包括操作系統(tǒng)軟件、數(shù)據(jù)庫軟件、WEB服務(wù)器軟件)的支撐下,通過系統(tǒng)綜合平臺高質(zhì)量的代碼保證其上的各種復(fù)雜的管理功能和業(yè)務(wù)功能的長時間連續(xù)穩(wěn)定運行,有效滿足業(yè)務(wù)處理對實時性及并發(fā)訪問的需要,對軟件開發(fā)涉及的開發(fā)工具、技術(shù)路線及運行環(huán)境進行了全面分析,在考慮技術(shù)先進性的同時,選擇了成熟穩(wěn)定的技術(shù),保障平臺的可靠實施運行[7]。
該系統(tǒng)根據(jù)其具體需求的復(fù)雜度,選用C/S(Client/Server)結(jié)構(gòu),應(yīng)用MVC模式得以實現(xiàn),降低了軟件的開發(fā)工作量,這樣不但具備了系統(tǒng)穩(wěn)定、安全、處理能力高等特性,同時擁有了可擴展性強、開發(fā)周期短等優(yōu)點。該系統(tǒng)體系結(jié)構(gòu)如圖1所示。
該IOS客戶端主要包含控制器、頁面、服務(wù)器端、手機數(shù)據(jù)庫、服務(wù)器端數(shù)據(jù)庫、模型等6部分。按照MVC模式劃分層次結(jié)構(gòu),頁面屬于表示層,控制器和服務(wù)器端屬于控制層,手機數(shù)據(jù)庫、服務(wù)器端數(shù)據(jù)庫和模型屬于業(yè)務(wù)邏輯層。表示層通過采用繼承界面父類(UIView類)的各種擴展子類所形成的界面來控制數(shù)據(jù)的顯示和接收??刂茖硬捎昧死^承控制器父類(UIViewController類)的各種擴展子類所形成的控制器來加載表示層的頁面,通過控制業(yè)務(wù)層與服務(wù)器進行交互等流程上的處理。業(yè)務(wù)邏輯層采用了繼承父類NSObject的各種子類,是具體業(yè)務(wù)邏輯的方法實現(xiàn),主要功能包括數(shù)據(jù)持久化(包括對數(shù)據(jù)庫、文件的操作)、業(yè)務(wù)邏輯處理等。表示層和控制層之間使用代理(Delegate)模式進行實現(xiàn),代理模式主要負責(zé)實現(xiàn)表示層與控制層之間的數(shù)據(jù)傳輸。業(yè)務(wù)邏輯層與控制層之間使用觀察者(Observer)模式進行實現(xiàn),主要負責(zé)對特定數(shù)據(jù)元素進行監(jiān)聽,當(dāng)數(shù)據(jù)發(fā)生改變時會及時地通知表示層做出相應(yīng)的展示。
2系統(tǒng)設(shè)計原則
2.1系統(tǒng)擴展性在系統(tǒng)設(shè)計和開發(fā)過程中,采用的基于SOA的系統(tǒng)結(jié)構(gòu)應(yīng)該是先進的、開放的體系結(jié)構(gòu)。在系統(tǒng)架構(gòu)設(shè)計中采用模塊化設(shè)計,通過對各個模塊進行組合實現(xiàn)業(yè)務(wù)需求的擴充。
2.2系統(tǒng)安全性在系統(tǒng)設(shè)計和開發(fā)過程中,對系統(tǒng)安全性和可靠性方面進行了綜合考慮,在系統(tǒng)每一階段均考慮了數(shù)據(jù)安全性、傳輸安全性等因素。
2.3運行穩(wěn)定性系統(tǒng)業(yè)務(wù)化運行必須保持長時間連續(xù)穩(wěn)定運行,因此在該系統(tǒng)的技術(shù)路線選型時選擇了當(dāng)前成熟的Java語言作為系統(tǒng)開發(fā)工具。
2.4開放性任何系統(tǒng)都不是孤立的,存在著與其他各種類型系統(tǒng)的接口。在系統(tǒng)設(shè)計中均采用業(yè)界標(biāo)準(zhǔn),便于日后與其他系統(tǒng)的連接。
2.5易維護性在滿足氣象信息類業(yè)務(wù)的基礎(chǔ)上,著重對系統(tǒng)操作維護進行優(yōu)化設(shè)計,最大程度滿足對今后維護工作的簡便性。
3系統(tǒng)功能簡介
3.1實況觀測通過數(shù)據(jù)列表、基于GIS數(shù)據(jù)的可視化展示,展現(xiàn)了青海氣象自動站實時觀測資料,展示信息包括天氣情況、最高溫度、最低溫度、風(fēng)力、風(fēng)向、濕度、溫度、氣壓、降水等相關(guān)信息。該模塊通過將各要素與氣象預(yù)警指標(biāo)進行比較,為業(yè)務(wù)人員進行預(yù)警提供數(shù)據(jù)支持,同時以GIS的方式展現(xiàn)當(dāng)前時段全省的降水分布圖、全省最高溫度實況分布圖、全省最低氣溫實況分布圖等[7]。同時提供當(dāng)前時間點的日降水、1~12 h常規(guī)降水、旬降水、月降水、年降水等,氣溫則可以展現(xiàn)當(dāng)前時間點的小時溫度、1~12 h常規(guī)變溫、日變溫、日最高溫度、日最低溫度、月平均溫度、年最高溫度、年最低溫度等的色斑圖[8]。
3.2災(zāi)害預(yù)警該模塊實現(xiàn)基于GIS地圖的災(zāi)害預(yù)警信息展示,并按災(zāi)害的不同等級在地圖上對災(zāi)害預(yù)警的行政區(qū)域進行高亮閃爍預(yù)警提示,同時在GIS地圖上顯示災(zāi)害預(yù)警概況信息,點擊詳細信息提示按鈕可查看相關(guān)預(yù)警的詳細信息[9]。
3.3查詢統(tǒng)計該模塊按地市、按時間等條件查詢或統(tǒng)計各觀測站點的實時數(shù)據(jù),并以GIS地圖的方式進行查看。同時,還支持相關(guān)報表的導(dǎo)出。
3.4衛(wèi)星云圖該模塊提供紅外1、紅外2、紅外3、可見光等衛(wèi)星云圖數(shù)據(jù)的播放、暫停、單幀播放等功能。
3.5氣象服務(wù)該模塊按照氣象公共服務(wù)產(chǎn)品類別,提供對氣象預(yù)報、中長期氣候分析報告及針對農(nóng)業(yè)、交通、水利、電力、國土地質(zhì)等行業(yè)的專業(yè)服務(wù)產(chǎn)品的展示和查詢功能。
4關(guān)鍵技術(shù)分析
為了保障氣象服務(wù)移動應(yīng)用系統(tǒng)的業(yè)務(wù)化運行,提升青海省氣象局公共氣象服務(wù)水平,在該系統(tǒng)的設(shè)計與開發(fā)過程中使用了以下關(guān)鍵技術(shù)。
4.1ArcGIS for IOSArcGIS for IOS結(jié)合ArcGIS Server或ArcGIS Desktop的強大GIS功能,能夠?qū)⒁苿討?yīng)用與企業(yè)內(nèi)GIS系統(tǒng)集成進行數(shù)據(jù)展示、空間分析,使用戶可通過多元的移動終端(智能手機、掌上電腦、平板電腦等)訪問公共或企業(yè)內(nèi)部的空間信息資源,同時基于集成的定位技術(shù)提供數(shù)據(jù)采集的高效性和準(zhǔn)確性[10]。該系統(tǒng)使用了ArcGIS for IOS的第三方技術(shù),實現(xiàn)了天氣預(yù)報、災(zāi)害預(yù)警等氣象查詢業(yè)務(wù)在GIS方面的需求。
4.2SQLite.SwiftSQLite.Swift是一個使用純Swift語言封裝SQLite3的操作框架,通過簡單的查詢和參數(shù)綁定接口進行安全的數(shù)據(jù)訪問[11]。該系統(tǒng)通過使用SQLite.Swift技術(shù),將數(shù)據(jù)在IPad終端上進行存儲和緩存,有效地提高了使用上的連續(xù)性,減少了卡頓等不良的體驗,同時也一定程度上減少了對服務(wù)端請求對頻率,提高系統(tǒng)的整體性能。
4.3AlamofireAlamofire是Swift語言的HTTP網(wǎng)絡(luò)開發(fā)工具包,功能強大,支持各種HTTP Method、JSON、文件上傳、文件下載和多種認證方法,這些方法基本可以滿足Swift平臺上的網(wǎng)絡(luò)編程開發(fā)[12]。該系統(tǒng)使用了Alamofire技術(shù)實現(xiàn)了高性能、高效率、高可靠性的HTTP請求,應(yīng)用于從服務(wù)器上獲取數(shù)據(jù)和文件。
4.4流量壓縮該系統(tǒng)為了增強數(shù)據(jù)傳輸效率,在傳輸內(nèi)容上盡可能地壓縮數(shù)據(jù)流量。在實現(xiàn)技術(shù)上通過判斷應(yīng)用連接網(wǎng)絡(luò)的質(zhì)量,根據(jù)網(wǎng)絡(luò)特點,針對網(wǎng)絡(luò)狀態(tài)不良的情況使用GZip壓縮技術(shù)自動進行數(shù)據(jù)壓縮,提高數(shù)據(jù)傳輸效率和減少流量,并采用適合的傳輸協(xié)議提高協(xié)議有效載荷。
4.5數(shù)據(jù)加密系統(tǒng)為保證傳輸數(shù)據(jù)的信息安全,對傳遞數(shù)據(jù)進行加密,主要采用信息—摘要算法(Message-Digest Algorithm 5,MD5)與TEA加密結(jié)合的方式進行加密。MD5算法作為一種不可逆的加密手段,采用讓大容量信息在用數(shù)字簽名軟件簽署私人密匙前被“壓縮”成一種保密的格式,同時基于二次MD5加密密鑰與明文組合后,再進行Base64編碼和TEA加密,從而提高密文的復(fù)雜度和安全性。TEA加密算法作為一種分組密碼算法,利用不斷增加的Delta(黃金分割率)值作為變化,使得每輪的加密不同,該加密算法的迭代次數(shù)可以改變,建議的迭代次數(shù)為32輪,具有很強的抗差分分析能力,安全性較高。
5結(jié)論
該研究針對青海氣象公共服務(wù)的現(xiàn)狀,研究并實現(xiàn)了一套氣象服務(wù)移動應(yīng)用系統(tǒng)。該系統(tǒng)通過將ArcGIS技術(shù)、Sqlite.Swift技術(shù)、Alamofire、流量壓縮、數(shù)據(jù)加密技術(shù)等應(yīng)用于設(shè)計與研發(fā)過程,實現(xiàn)了青海氣象天氣預(yù)報、天氣實況、災(zāi)害預(yù)警、衛(wèi)星云圖、公共氣象服務(wù)產(chǎn)品等實時信息的動態(tài)展示、快速查詢,將基于互聯(lián)網(wǎng)+移動APP服務(wù)模式應(yīng)用于氣象公眾服務(wù)領(lǐng)域,在氣象領(lǐng)域智能化和信息化建設(shè)方面進行了有效的探索,豐富了氣象服務(wù)手段,極大地提高了公共氣象服務(wù)業(yè)務(wù)人員的日常工作效率,提高了青海氣象公眾服務(wù)質(zhì)量。
參考文獻
[1] 王建森.基于3G移動通信技術(shù)的氣象信息服務(wù)應(yīng)用研究[J].計算機與網(wǎng)絡(luò),2010,36(8):67-70.
[2] 張延龍.3G氣象服務(wù)平臺研究[J].現(xiàn)代電子技術(shù),2010,33(24):43-44.
[3] 翟宇波.基于J2ME的智能手機氣象服務(wù)終端的設(shè)計[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2007(9):64-67.
[4] 王瑩,巨曉璇,李建科,等.基于3G的C/S模式掌上移動氣象服務(wù)系統(tǒng)[J].陜西氣象,2013(3):42-44.
[5] 楊偉明.基于WEB的氣象信息共享平臺的設(shè)計與實現(xiàn)[D].大連:大連理工大學(xué),2014.
[6] 何登科,沈文建,吳鏈,等.基于移動互聯(lián)網(wǎng)的手機氣象服務(wù)客戶端軟件設(shè)計[J].湖南農(nóng)業(yè)科學(xué),2015(3):123-126.
[7] 劉旭林,趙文芳,劉國宏.基于WebGIS的氣象信息顯示和查詢系統(tǒng)[J].應(yīng)用氣象學(xué)報,2008,19(1):116-122.
[8] 鄒建明,李迅,丁德平,等.“北京氣象”手機客戶端氣象信息GIS快速可視化技術(shù)[J].氣象科技,2015,43(4):634-639.
[9] SKORDAS I A,FRAGULIS G F,TRIANTAFYLLOU A G.A.Q.M.E.I.S.: Air quality meteorological and enviromental information system in western macedonia,Hellas[R].EprintArxiv,2014.
[10] VILLAREJO L L,CASTELL N,HERNANDO J.Dialogue management in an automatic meteorological information system[J].Lecture notes in computer science,2003,2718:477-488.
[11] CHEN Z,BAI J.The design of typhoon meteorological information system and its implementation based on webGIS[J].Process environmental sciences,2011,10(Part A):420-426.
[12] ROBINSON B R.Portable meteorological information system: US,US RE38584 E1[P].2004.
esign and Realization of Meteorological Service Mobile Application System in Qinghai Province
LI Yong-hua
(Qinghai Meteorological Information Center,Xining,Qinghai 810001)
Key wordsMobile APP; Meteorological service; Swift
AbstractAccording to the status of meteorological public service in Qinghai Province,a meteorological service mobile application system was researched and realized.ArcGIS technology,Sqlite.Swift technology,Alamofire,flow compression and data encryption technique were applied in the design and development process,so as to realize the dynamic display and quick query of weather forecast,practical weather,disaster warning,satellite cloud image,public meteorological service products and so on. Internet + mobile service mode was applied in the field of public meteorological service,so as to enrich the means of meteorological service,and to enhance the meteorological public service quality of Qinghai Province.
作者簡介李永花(1970-),女,土族,青?;ブ?,高級工程師,從事氣象信息技術(shù)應(yīng)用研究。
收稿日期2016-01-26
中圖分類號S 16
文獻標(biāo)識碼A
文章編號0517-6611(2016)07-206-03