• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于CIMISS的海南氣象信息服務(wù)網(wǎng)設(shè)計(jì)與實(shí)現(xiàn)

      2022-03-30 07:13:30杜建華王立俊王雙雙
      關(guān)鍵詞:服務(wù)網(wǎng)氣象預(yù)警

      杜建華,王立俊,王雙雙

      (1.海南省氣象信息中心,???570203;2.海南省南海氣象防災(zāi)減災(zāi)重點(diǎn)實(shí)驗(yàn)室,海口 570203)

      關(guān)鍵字:氣象數(shù)據(jù);數(shù)據(jù)共享;數(shù)據(jù)集約化;數(shù)據(jù)可視化;云架構(gòu)

      0 引言

      近年來(lái),我國(guó)氣象綜合探測(cè)系統(tǒng)建設(shè)日趨完善,氣象部門已經(jīng)形成了地基和空基相結(jié)合的大氣及其相關(guān)環(huán)境探測(cè)體系,包括常規(guī)地面、高空、輻射、酸雨、農(nóng)業(yè)氣象觀測(cè)、大氣本底觀測(cè)站和其它許多特種觀測(cè)站網(wǎng)在內(nèi)的觀測(cè)體系[1],上述氣象數(shù)據(jù)為做好社會(huì)和公眾的氣象預(yù)報(bào)、預(yù)警服務(wù)奠定了堅(jiān)實(shí)的數(shù)據(jù)支撐。范保松、李嬌等人研發(fā)的氣象信息服務(wù)系統(tǒng),采用“云+端”模式,通過(guò)智慧氣象盒將氣象數(shù)據(jù)推送到展示平面,為社會(huì)公眾提供智能化、智慧化的氣象服務(wù)[2]。陜西、內(nèi)蒙古、遼寧、吉林等省市氣象局均開(kāi)展了面向公眾的信息服務(wù)網(wǎng)建設(shè)工作,均取得一定的示范作用[3-6]。

      隨著海南省氣象業(yè)務(wù)的快速發(fā)展和社會(huì)公眾對(duì)氣象服務(wù)需求的日益增大,氣象資料及業(yè)務(wù)產(chǎn)品的綜合顯示需求也日益迫切。目前,我省存在傳統(tǒng)氣象資料以文件格式存儲(chǔ)在不同網(wǎng)絡(luò)區(qū)域的存儲(chǔ)設(shè)備中,各業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)格式和流向不統(tǒng)一,數(shù)據(jù)使用效率較低等問(wèn)題,急需建設(shè)一個(gè)以統(tǒng)一數(shù)據(jù)源為氣象基礎(chǔ)數(shù)據(jù)的氣象信息服務(wù)網(wǎng)。

      結(jié)合我省氣象信息化業(yè)務(wù)的實(shí)際需求,海南省氣象局基于中國(guó)移動(dòng)云eCloud的云服務(wù)架構(gòu)[7],搭建以CIMISS系統(tǒng)[8-9]為數(shù)據(jù)支撐環(huán)境的海南氣象信息服務(wù)網(wǎng),實(shí)現(xiàn)氣象數(shù)據(jù)和業(yè)務(wù)產(chǎn)品的集約化和可視化,為業(yè)務(wù)用戶和社會(huì)公眾提供統(tǒng)一、豐富的氣象數(shù)據(jù)展示服務(wù)。

      1 總體設(shè)計(jì)

      本文設(shè)計(jì)的信息服務(wù)網(wǎng)以中國(guó)移動(dòng)云eCloud平臺(tái)的云服務(wù)器為硬件支撐,使用CIMISS系統(tǒng)作為統(tǒng)一數(shù)據(jù)源,采用MVC分層設(shè)計(jì)模式[10-11]和Browser/Server設(shè)計(jì)架構(gòu)[12-14],基于高德地圖應(yīng)用編程API[15-16]的Web GIS可視化技術(shù)和SSH開(kāi)發(fā)框架[17-20],實(shí)現(xiàn)氣象觀測(cè)數(shù)據(jù)及業(yè)務(wù)產(chǎn)品的綜合展示,滿足業(yè)務(wù)人員及社會(huì)公眾對(duì)氣象數(shù)據(jù)及產(chǎn)品的業(yè)務(wù)需求。

      系統(tǒng)總體架構(gòu)如圖1所示,系統(tǒng)遵循氣象信息標(biāo)準(zhǔn)化體系和信息安全與保障體系的要求,采用四層體系架構(gòu):1)基礎(chǔ)數(shù)據(jù)層、業(yè)務(wù)層、服務(wù)層和應(yīng)用層?;A(chǔ)數(shù)據(jù)層用于匯集各類數(shù)據(jù),通過(guò)CIMISS系統(tǒng)接入觀測(cè)數(shù)據(jù)、預(yù)報(bào)產(chǎn)品等數(shù)據(jù),并依托CIMISS系統(tǒng)建設(shè)一個(gè)統(tǒng)一數(shù)據(jù)源平臺(tái);2)業(yè)務(wù)層用于收集、解碼入庫(kù)和存儲(chǔ)地面、高空、大氣成分等結(jié)構(gòu)化數(shù)據(jù)及天氣雷達(dá)、衛(wèi)星云圖等非結(jié)構(gòu)化數(shù)據(jù),并封裝成CIMISS系統(tǒng)中的MUSIC服務(wù)接口形式向外提供服務(wù);3)服務(wù)層用于將各類氣象基礎(chǔ)數(shù)據(jù)再加工成綜合展示所需的各類服務(wù)信息及產(chǎn)品,并封裝成API服務(wù)接口供前端應(yīng)用使用;4)應(yīng)用層是通過(guò)移動(dòng)端和Web端應(yīng)用實(shí)時(shí)向省、市、縣三級(jí)業(yè)務(wù)及管理人員和政府、軍隊(duì)等單位提供各類氣象服務(wù)。

      圖1 系統(tǒng)總體架構(gòu)

      1.1 系統(tǒng)業(yè)務(wù)流程

      系統(tǒng)業(yè)務(wù)流程主要分為實(shí)況數(shù)據(jù)展示、預(yù)報(bào)預(yù)警服務(wù)、氣象決策服務(wù)和氣象服務(wù)專報(bào)四大部分,實(shí)現(xiàn)氣象觀測(cè)、預(yù)報(bào)預(yù)警和業(yè)務(wù)產(chǎn)品等數(shù)據(jù)的共享服務(wù)和綜合顯示。

      1.1.1 實(shí)況數(shù)據(jù)展示

      按照十四大類氣象資料的分類要求,系統(tǒng)采用資源編目統(tǒng)一對(duì)觀測(cè)業(yè)務(wù)、預(yù)報(bào)預(yù)警及臺(tái)風(fēng)路徑等數(shù)據(jù)及產(chǎn)品進(jìn)行管理,并通過(guò)Web GIS、圖片等格式實(shí)時(shí)顯示上述數(shù)據(jù)及產(chǎn)品。

      1.1.2 預(yù)報(bào)預(yù)警服務(wù)

      根據(jù)氣象預(yù)報(bào)、預(yù)警的內(nèi)容進(jìn)行分類,預(yù)報(bào)可分為陸地海洋、市縣天氣、鄉(xiāng)鎮(zhèn)天氣和旅游天氣等類型,預(yù)警可分為臺(tái)風(fēng)、暴雨、雷電、大霧等類型。系統(tǒng)采用信息欄目方式管理上述各類服務(wù)內(nèi)容,通過(guò)Word及txt等文檔、PNG和JPG圖片、Web GIS等格式實(shí)時(shí)顯示預(yù)報(bào)、預(yù)警內(nèi)容。

      1.1.3 氣象決策服務(wù)

      為政府部門、軍事部門、社會(huì)團(tuán)體等組織提供防災(zāi)減災(zāi)救災(zāi)、軍事活動(dòng)或其他特殊任務(wù)所需的各類氣象信息。系統(tǒng)通過(guò)單點(diǎn)授權(quán)登錄方式,分級(jí)管理不同用戶的訪問(wèn)權(quán)限,由氣象部門相關(guān)人員制作決策材料,為上述部門提供氣象決策服務(wù)。

      1.1.4 氣象服務(wù)專報(bào)

      按照服務(wù)受眾的氣象需求,定期制作和發(fā)布?xì)夂蚍治鰧?bào)、農(nóng)業(yè)氣象專報(bào)、環(huán)境氣象專報(bào)及生活指數(shù)等氣象產(chǎn)品,為社會(huì)公眾提供多樣化的氣象服務(wù)產(chǎn)品。

      1.2 系統(tǒng)數(shù)據(jù)流程

      系統(tǒng)的統(tǒng)一數(shù)據(jù)源為CIMISS系統(tǒng)(提供MUSIC數(shù)據(jù)接口)和本地特色服務(wù)產(chǎn)品庫(kù)(提供本地?cái)?shù)據(jù)接口及產(chǎn)品存儲(chǔ)歸檔目錄),涉及到的數(shù)據(jù)類型主要有地理數(shù)據(jù)、氣象觀測(cè)數(shù)據(jù)、預(yù)報(bào)預(yù)警產(chǎn)品、系統(tǒng)公告信息等。在系統(tǒng)數(shù)據(jù)流程中,后臺(tái)數(shù)據(jù)處理節(jié)點(diǎn)分別采用MUSIC數(shù)據(jù)接口、高德地圖API接口、產(chǎn)品庫(kù)Web Service數(shù)據(jù)接口和FTP協(xié)議接口等方式來(lái)獲取綜合展示的數(shù)據(jù),大致分為如下幾種場(chǎng)景:

      1)調(diào)用MUSIC數(shù)據(jù)接口獲取CIMISS系統(tǒng)中實(shí)時(shí)觀測(cè)數(shù)據(jù),在綜合觀測(cè)頁(yè)面中展示。

      2)調(diào)用高德地圖API接口獲取海南省地圖矢量數(shù)據(jù),疊加實(shí)況觀測(cè)、預(yù)報(bào)預(yù)警等數(shù)據(jù),在系統(tǒng)門戶頁(yè)面中展示。

      3)調(diào)用本地產(chǎn)品庫(kù)Web Service數(shù)據(jù)接口和FTP協(xié)議接口將其他氣象數(shù)據(jù)和業(yè)務(wù)產(chǎn)品采集至本地業(yè)務(wù)綜合數(shù)據(jù)庫(kù),在系統(tǒng)門戶頁(yè)面中進(jìn)行展示。

      根據(jù)數(shù)據(jù)特性來(lái)決定數(shù)據(jù)存儲(chǔ)的方式,分析、總結(jié)各類氣象數(shù)據(jù),制定相應(yīng)的存儲(chǔ)方式,再通過(guò)統(tǒng)一、規(guī)范的接口對(duì)外提供數(shù)據(jù)服務(wù),系統(tǒng)的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)流程如圖2所示,主要分為以下幾個(gè)過(guò)程:1)數(shù)據(jù)收集:分發(fā)模塊CTS通過(guò)文件傳、消息和流傳輸?shù)确绞綄?shí)時(shí)收集臺(tái)站的各類氣象數(shù)據(jù),數(shù)據(jù)達(dá)到省級(jí)節(jié)點(diǎn)后,由CTS中的快速質(zhì)控程序進(jìn)行格式檢查后,再分別分發(fā)至國(guó)家級(jí)節(jié)點(diǎn)和數(shù)據(jù)加工處理模塊DPC。2)解碼入庫(kù):根據(jù)定好的資料四級(jí)編碼,DPC實(shí)時(shí)解析分發(fā)過(guò)來(lái)的數(shù)據(jù),由數(shù)據(jù)簡(jiǎn)約處理程序來(lái)解析、入庫(kù)地面、高空觀測(cè)等結(jié)構(gòu)化數(shù)據(jù),而諸如雷達(dá)、衛(wèi)星云圖等非結(jié)構(gòu)化數(shù)據(jù)由數(shù)據(jù)存儲(chǔ)管理模塊SOD上的處理程序負(fù)責(zé)解析和入庫(kù)。3)數(shù)據(jù)監(jiān)控:CIMISS中各模塊的運(yùn)行告警信息DI/EI實(shí)時(shí)推送至綜合業(yè)務(wù)監(jiān)控模塊MCP,由其統(tǒng)一進(jìn)行監(jiān)控及告警。4)數(shù)據(jù)服務(wù):通過(guò)統(tǒng)一、規(guī)范的MUSIC接口形式封裝數(shù)據(jù)庫(kù)數(shù)據(jù),向業(yè)務(wù)單位和外單位提供數(shù)據(jù)調(diào)用服務(wù)。

      圖2 系統(tǒng)業(yè)務(wù)數(shù)據(jù)流程

      2 關(guān)鍵技術(shù)

      2.1 云服務(wù)架構(gòu)

      目前,云計(jì)算架構(gòu)的分層主要?jiǎng)澐譃榛A(chǔ)設(shè)施層IaaS、平臺(tái)層PaaS和軟件服務(wù)層SaaS三個(gè)層次。其中,基礎(chǔ)設(shè)施層旨在能夠按需向用戶提供相應(yīng)的計(jì)算能力、存儲(chǔ)能力和網(wǎng)絡(luò)能力等IT基礎(chǔ)設(shè)施類服務(wù);平臺(tái)層是通過(guò)互聯(lián)網(wǎng)為用戶提供一整套開(kāi)發(fā)、運(yùn)行和運(yùn)營(yíng)應(yīng)用軟件的支撐平臺(tái);軟件服務(wù)層則是通過(guò)互聯(lián)網(wǎng)提供軟件服務(wù)的軟件應(yīng)用模式[9]。

      中國(guó)移動(dòng)云的服務(wù)架構(gòu)具有良好的基礎(chǔ)支撐體系和安全防護(hù)標(biāo)準(zhǔn):1)建有N個(gè)集中節(jié)點(diǎn)、31個(gè)升級(jí)屬地化節(jié)點(diǎn)和X個(gè)邊緣節(jié)點(diǎn)的全域資源布局,全局智能流量調(diào)度和調(diào)優(yōu);2)提供多類安全服務(wù)和通信級(jí)安全體系保障。因此,本文研發(fā)的信息服務(wù)網(wǎng)以中國(guó)移動(dòng)云eCloud為應(yīng)用支撐層,使系統(tǒng)具備部署快捷、安全可靠和維護(hù)簡(jiǎn)單等特點(diǎn),較好地解決了業(yè)務(wù)系統(tǒng)部署分散、資源監(jiān)控繁雜等問(wèn)題。

      2.2 高德地圖

      高德地圖是國(guó)內(nèi)圍繞地理位置數(shù)據(jù)提供服務(wù)LBS(Location Based Services)的服務(wù)商,專注地圖,擁有國(guó)家甲級(jí)測(cè)繪資質(zhì)和先進(jìn)的數(shù)據(jù)融合技術(shù)及海量的數(shù)據(jù)處理能力,超過(guò)6 000萬(wàn)個(gè)POI,790萬(wàn)公里道路數(shù)據(jù),向廣大應(yīng)用開(kāi)發(fā)者提供覆蓋移動(dòng)端和Web端的、使用便捷的開(kāi)發(fā)工具[14]。

      高德地圖支持7大類別、百余種地圖元素的顏色紋理和標(biāo)注個(gè)性化定制服務(wù),可疊加地圖路況、衛(wèi)星圖等圖層,良好地支持點(diǎn)、線、面繪制,精確地展示業(yè)務(wù)數(shù)據(jù)的位置信息,也可靈活地調(diào)用離線與在線兩種地圖樣式[15]。

      各類行業(yè)用戶可通過(guò)高德地圖進(jìn)行基于地理位置的定位、導(dǎo)航、位置搜索以及周邊檢索等各類應(yīng)用;開(kāi)發(fā)人員可以利用高德地圖API/SDK服務(wù)接口調(diào)用地理信息服務(wù),將“高德地圖”的地圖服務(wù)資源嵌入到已有的各類業(yè)務(wù)系統(tǒng)(網(wǎng)站)中。

      2.3 SSH框架

      本文研發(fā)的海南氣象信息服務(wù)網(wǎng)使用瀏覽器/服務(wù)端Browser/ Server開(kāi)發(fā)模式,可跨平臺(tái)實(shí)時(shí)展示氣象觀測(cè)、預(yù)報(bào)預(yù)警服務(wù)等數(shù)據(jù)及產(chǎn)品,并采用SSH(Struts 2、Spring和Hibernate)框架技術(shù),較好地對(duì)系統(tǒng)中的各功能模塊分層、解耦,簡(jiǎn)化系統(tǒng)開(kāi)發(fā)的復(fù)雜度,減少系統(tǒng)研發(fā)周期,使系統(tǒng)具備良好的可拓展性和可移植性。

      如圖3所示,Struts 2是以Webwork為核心的邏輯控制器,采用攔截器機(jī)制來(lái)響應(yīng)前端用戶提交的web請(qǐng)求,將Servlet與業(yè)務(wù)邏輯控制器分離[16]。Spring是屬于輕量級(jí)的Java Web框架,基于IOC容器技術(shù),通過(guò)配置文件及事務(wù)管理機(jī)制,可靈活管理多種數(shù)據(jù)庫(kù),提供多元化的業(yè)務(wù)邏輯[17]。Hibernate采用O/R Mapping技術(shù),通過(guò)配置XML文件或Annotation注解為Java對(duì)象和各類數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)建立一種或多種映射關(guān)系,操控對(duì)象即操作數(shù)據(jù)庫(kù)[18]。

      圖3 SSH框架結(jié)構(gòu)原理圖

      3 功能設(shè)計(jì)

      海南氣象信息服務(wù)網(wǎng)主要分為首頁(yè)、預(yù)報(bào)預(yù)警、氣象監(jiān)測(cè)、臺(tái)風(fēng)路徑、決策服務(wù)、氣候分析和專業(yè)氣象和系統(tǒng)管理8個(gè)功能模塊,如圖4所示。

      圖4 系統(tǒng)功能組成

      1)首頁(yè):

      首頁(yè)是各類信息的綜合展示,系統(tǒng)提供各功能模塊的導(dǎo)航,可快速進(jìn)入到各個(gè)功能模塊。在首頁(yè)上,用戶可獲取各市縣當(dāng)前降水及氣溫等要素實(shí)況及24小時(shí)趨勢(shì)圖、全省實(shí)況填圖、雷達(dá)云圖、預(yù)警信號(hào)等信息。

      2)預(yù)報(bào)預(yù)警:

      預(yù)報(bào)預(yù)警用于定期發(fā)布各類氣象預(yù)報(bào)和滾動(dòng)發(fā)布及更新預(yù)警信號(hào)。用戶可在頁(yè)面查閱陸地海洋、市縣和鄉(xiāng)鎮(zhèn)等常規(guī)預(yù)報(bào)產(chǎn)品,旅游、島礁和港口等特色預(yù)報(bào)產(chǎn)品,暴雨、雷電和大霧等預(yù)警信號(hào)。

      3)氣象監(jiān)測(cè):

      綜合觀測(cè)主要通過(guò)Web GIS、圖片等方式來(lái)顯示各類地面、雷達(dá)和云圖等實(shí)況觀測(cè)數(shù)據(jù)。常見(jiàn)氣象要素有氣溫、氣壓、降水、風(fēng)向風(fēng)速和相對(duì)濕度,數(shù)據(jù)類型有自動(dòng)站、輻射觀測(cè)、土壤水分等地面站點(diǎn)資料,多普勒、風(fēng)廓線等雷達(dá)資料,風(fēng)云2號(hào)、風(fēng)云4號(hào)及極軌衛(wèi)星等圖片資料。

      4)臺(tái)風(fēng)路徑:

      臺(tái)風(fēng)路徑是基于高德地圖Web GIS展示當(dāng)前及歷史臺(tái)風(fēng)的強(qiáng)度、風(fēng)力風(fēng)圈、路徑等信息。在臺(tái)風(fēng)天氣過(guò)程中為社會(huì)公眾和業(yè)務(wù)人員提供臺(tái)風(fēng)的預(yù)報(bào)信息,提前發(fā)布預(yù)警信息,有助于防災(zāi)減災(zāi),減少人員傷亡和經(jīng)濟(jì)損失。

      5)決策服務(wù):

      決策服務(wù)是制作、發(fā)布?xì)庀鬀Q策材料,滿足政府部門、軍事部門、社會(huì)團(tuán)體等組織開(kāi)展活動(dòng)對(duì)氣象信息的業(yè)務(wù)需求。在活動(dòng)服務(wù)過(guò)程中,制作人員和使用人員需通過(guò)系統(tǒng)的權(quán)限驗(yàn)證后,方可閱覽相應(yīng)的決策材料。

      6)氣候分析:

      氣候分析是通過(guò)Word文檔形式向社會(huì)公眾提供高溫監(jiān)測(cè)、暴雨監(jiān)測(cè)、干旱監(jiān)測(cè)等中長(zhǎng)期氣候公報(bào),為森林防火、農(nóng)業(yè)生產(chǎn)、建筑施工等提供氣候預(yù)測(cè)信息,便于做好長(zhǎng)期工作計(jì)劃。

      7)專業(yè)氣象:

      專業(yè)氣象是通過(guò)Word、PDF等文檔形式向社會(huì)公眾提供生活指數(shù)、環(huán)境氣象、農(nóng)業(yè)氣象和氣象科普等服務(wù)產(chǎn)品,滿足上述人員對(duì)專業(yè)氣象信息的業(yè)務(wù)需求。

      8)系統(tǒng)管理:

      系統(tǒng)管理是為管理員提供功能模塊、系統(tǒng)用戶、站點(diǎn)管理及信息發(fā)布等部分的管理功能,便于管理員對(duì)上述內(nèi)容進(jìn)行維護(hù)更新,保證系統(tǒng)各模塊正常運(yùn)行。

      4 系統(tǒng)實(shí)現(xiàn)

      4.1 運(yùn)行環(huán)境

      系統(tǒng)運(yùn)行環(huán)境需要4臺(tái)服務(wù)器,操作系統(tǒng)均為Windows 2012 Server SP2 64bit,分別是Web應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)采集服務(wù)器和數(shù)據(jù)加工服務(wù)器。Web服務(wù)為Apache Http Server,文件服務(wù)是通過(guò)FTP協(xié)議訪問(wèn)文件,使用Surfer 8軟件在地圖上繪制圖像。

      其中,Web應(yīng)用和數(shù)據(jù)庫(kù)服務(wù)器是部署在移動(dòng)eCloud云平臺(tái)上的云主機(jī),依托平臺(tái)高可靠、高安全的備份和安全防護(hù)能力,定期對(duì)云主機(jī)進(jìn)行數(shù)據(jù)備份,實(shí)現(xiàn)云平臺(tái)區(qū)域節(jié)點(diǎn)故障時(shí),可快速遷移至云平臺(tái)其他區(qū)域節(jié)點(diǎn),通過(guò)數(shù)據(jù)備份快速恢復(fù)業(yè)務(wù);同時(shí),可根據(jù)實(shí)際業(yè)務(wù)需求,彈性擴(kuò)展云主機(jī)的硬件資源。為實(shí)現(xiàn)數(shù)據(jù)的快速交互,數(shù)據(jù)采集和數(shù)據(jù)加工服務(wù)器部署在省局業(yè)務(wù)交換區(qū)中,使用虛擬機(jī)作為備用節(jié)點(diǎn),處理程序版本升級(jí)時(shí),同步物理機(jī)和虛擬上的部署程序,用于主節(jié)點(diǎn)異常時(shí),備用節(jié)點(diǎn)可無(wú)縫切換來(lái)提供服務(wù)。

      4.2 系統(tǒng)部署

      系統(tǒng)部署如如圖5所示,業(yè)務(wù)核心區(qū)和交互區(qū)位于省局內(nèi)部,通過(guò)內(nèi)部氣象專線交互數(shù)據(jù),eCloud云平臺(tái)和外部用戶位于外網(wǎng)區(qū),內(nèi)外網(wǎng)之間部署有邊界防火墻,實(shí)現(xiàn)內(nèi)外網(wǎng)流量控制和訪問(wèn)控制。

      圖5 系統(tǒng)部署

      CIMISS系統(tǒng)負(fù)責(zé)收集、解析入庫(kù)全省的地面、高空等觀測(cè)數(shù)據(jù),并提供MUSIC數(shù)據(jù)服務(wù)接口。位于業(yè)務(wù)交互區(qū)的數(shù)據(jù)及和加工服務(wù)器,通過(guò)本地產(chǎn)品庫(kù)的Web Service和MUSIC服務(wù)接口快速地獲取所需數(shù)據(jù),加工、處理上述數(shù)據(jù),生成展示數(shù)據(jù)存儲(chǔ)至云端的數(shù)據(jù)庫(kù)服務(wù)器中,封裝成系統(tǒng)API服務(wù)接口對(duì)外提供訪問(wèn)。Web應(yīng)用服務(wù)器則根據(jù)所設(shè)計(jì)的各數(shù)據(jù)展示模塊,實(shí)時(shí)調(diào)取API接口獲取所需數(shù)據(jù),以文檔、圖片或Web GIS等方式將數(shù)據(jù)呈現(xiàn)給前端用戶。

      4.3 系統(tǒng)設(shè)計(jì)

      1)數(shù)據(jù)采集及加工:

      在業(yè)務(wù)交互區(qū)中的數(shù)據(jù)采集和加工服務(wù)器上部署數(shù)據(jù)采集和加工程序,該程序通過(guò)數(shù)據(jù)分類處理、壓縮推送等過(guò)程實(shí)時(shí)采集、加工CIMISS接口和其他數(shù)據(jù),并將處理后的數(shù)據(jù)實(shí)時(shí)推送至eCloud云平臺(tái)上的數(shù)據(jù)服務(wù)器中,由其進(jìn)行數(shù)據(jù)存儲(chǔ)。因此,根據(jù)業(yè)務(wù)場(chǎng)景中的數(shù)據(jù)采集流程,設(shè)計(jì)如下的數(shù)據(jù)處理及推送模塊,通過(guò)匹配數(shù)據(jù)的唯一標(biāo)識(shí)(四級(jí)編碼)來(lái)選擇數(shù)據(jù)的處理及推送方式,具體代碼如下:

      public int dataProcessByType(HashMap dataObject){

      //參考返回值參考表,-1為數(shù)據(jù)處理有異常,0為無(wú)數(shù)據(jù)處理,正數(shù)為已處理的數(shù)據(jù)數(shù),該模塊用于對(duì)待處理的數(shù)據(jù)進(jìn)行分類,采集、加工等行為通過(guò)相應(yīng)的進(jìn)程來(lái)處理

      int resultCode = 0;

      String dataType = ‘’, dataCode = ‘’;

      for (Object obj : dataObject.values()){

      dataCode = obj.getDataCode(); //獲取每個(gè)對(duì)象的四級(jí)編碼

      //匹配數(shù)據(jù)類型

      if (dataType = = ‘結(jié)構(gòu)化’){ //匹配數(shù)據(jù)的四級(jí)編碼,結(jié)構(gòu)化數(shù)據(jù)解析成存儲(chǔ)對(duì)象,用于后續(xù)入庫(kù)

      if(dataCode = = ‘地面資料’){

      resultCode = surfDataProcessAndPush (dataCode, obj); //調(diào)用地面資料處理模塊

      }else if(dataCode = = ‘高空資料’){

      resultCode = uparDataProcessAndPush (dataCode, obj); //調(diào)用高空資料處理模塊

      }else{

      resultCode = otherDataProcessAndPush (dataCode, obj);

      }

      }

      else if(dataType = = ‘非結(jié)構(gòu)化’){ //按照非結(jié)構(gòu)數(shù)據(jù)的四級(jí)編碼,生成數(shù)據(jù)存儲(chǔ)路徑及相關(guān)信息

      if(dataCode = = ‘衛(wèi)星資料’){

      resultCode = sateDataProcessAndPush (dataCode, obj); //調(diào)用衛(wèi)星資料處理模塊

      }else if(dataCode = = ‘雷達(dá)資料’){

      resultCode = radrDataProcessAndPush (dataCode, obj); //調(diào)用雷達(dá)資料處理模塊

      }else{

      resultCode = otherDataProcessAndPush (dataCode, obj);

      }

      }else{

      }

      }

      return resultCode;

      }

      2)數(shù)據(jù)存儲(chǔ):

      數(shù)據(jù)庫(kù)服務(wù)器接收下游推送過(guò)來(lái)的數(shù)據(jù)后,根據(jù)數(shù)據(jù)的種類,采用不同的數(shù)據(jù)入庫(kù)方法:(1)對(duì)于地面、高空等結(jié)構(gòu)化數(shù)據(jù),按照數(shù)據(jù)類型和格式,存儲(chǔ)到相應(yīng)的表中;(2)對(duì)非結(jié)構(gòu)化數(shù)據(jù),同樣按照數(shù)據(jù)類型,后臺(tái)將文件歸檔存放到相應(yīng)的目錄下,并入庫(kù)文件的存放信息,便于前臺(tái)展示時(shí)快速關(guān)聯(lián)到相關(guān)文件。以下具體代碼如下:

      public int dataStoreByType(HashMap dataObject, String dataType, String dataCode){

      //參考返回值參考表,-1為數(shù)據(jù)處理有異常,0為無(wú)數(shù)據(jù)處理,正數(shù)為已處理的數(shù)據(jù)數(shù),該模塊用于對(duì)待存儲(chǔ)的數(shù)據(jù)進(jìn)行分類,入庫(kù)、歸檔存放等行為通過(guò)相應(yīng)的進(jìn)程去處理

      int resultCode = 0;

      //匹配數(shù)據(jù)類型

      if (dataType = = ‘結(jié)構(gòu)化’){ //匹配數(shù)據(jù)的四級(jí)編碼,解析數(shù)據(jù),寫入相應(yīng)的表

      for (Object obj : dataObject.values()){

      if(dataCode = = ‘地面資料’){

      resultCode = surfDataReceiveAndStore (dataCode, obj); //調(diào)用地面資料處理模塊

      }else if(dataCode = = ‘高空資料’){

      resultCode = uparDataReceiveAndStore (dataCode, obj); //調(diào)用高空資料處理模塊

      }else{

      resultCode = otherDataReceiveAndStore (dataCode, obj);

      }

      }

      }else if(dataType = = ‘非結(jié)構(gòu)化’){ //按照非結(jié)構(gòu)數(shù)據(jù)的四級(jí)編碼,存放文件到指定目錄,寫入存儲(chǔ)位置信息

      for (Object obj : dataObject.values()){

      if(dataCode = = ‘衛(wèi)星資料’){

      resultCode = sateDataReceiveAndStore (dataCode, obj); //調(diào)用衛(wèi)星資料處理模塊

      }else if(dataCode = = ‘雷達(dá)資料’){

      resultCode = radrDataReceiveAndStore (dataCode, obj); //調(diào)用雷達(dá)資料處理模塊

      }else{

      resultCode = otherDataReceiveAndStore (dataCode, obj);

      }

      }

      }else{

      }

      return resultCode;

      }

      3)數(shù)據(jù)接口:

      為便于其他業(yè)務(wù)系統(tǒng)快捷地訪問(wèn)本地特色數(shù)據(jù),上述各類氣象數(shù)據(jù)經(jīng)加工處理入庫(kù)后,通過(guò)接口模塊將數(shù)據(jù)封裝成WebService接口,對(duì)外提供數(shù)據(jù)服務(wù),外部業(yè)務(wù)系統(tǒng)調(diào)用數(shù)據(jù)接口的業(yè)務(wù)流程如圖6所示。

      圖6 接口調(diào)用流程

      接口調(diào)用處理主程序如下:

      public void callInterfaceByType(HttpSession session){

      //監(jiān)聽(tīng)用戶的接口用戶請(qǐng)求

      while(!interfaceListener.stopStatus){

      //獲取session中的接口請(qǐng)求信息

      String userKey = session.getUserKey();

      String type = session.getTyep();

      String url = session.getURL();

      //使用接口請(qǐng)求對(duì)象存儲(chǔ)請(qǐng)求信息

      obj.setValue();

      //將不同類型的接口請(qǐng)求添加到不同的處理隊(duì)列

      if(type = = ‘地面接口’){

      //全局變量sateDataArray;

      sateDataArray.add(obj);

      }else if (type = = ‘高空接口’){

      //全局變量uparDataArray;

      uparDataArray.add(obj);

      }else{

      //全局變量otherDataArray;

      otherDataArray.add(obj);

      }

      }

      }

      通過(guò)不同的全局?jǐn)?shù)組變量來(lái)記錄各種用戶數(shù)據(jù)接口請(qǐng)求,系統(tǒng)后臺(tái)再通過(guò)不同的子程序去處理接口請(qǐng)求,最終生成可展示的前臺(tái)數(shù)據(jù)對(duì)象集,本文以地面接口處理子程序?yàn)槔?,后臺(tái)是通過(guò)多線程來(lái)并發(fā)處理用戶的接口請(qǐng)求的。

      public void callSateInterface(){

      //若無(wú)數(shù)據(jù)請(qǐng)求,則跳過(guò)處理

      if (sateDataArray.Size = = 0)

      return null;

      for (int i = 0; i < sateDataArray.Size; i++){

      //獲取線程池中的空閑線程,處理數(shù)組中的接口請(qǐng)求,返回包含請(qǐng)求數(shù)據(jù),并釋放進(jìn)程及其它資源

      InterfaceThread thread = InterfaceProThreadPool.getIdleThread;

      if (thread != null){

      List[] resultList = thread.process (sateDataArray.get(i);

      thread.close();

      toDisplayData(resultList);

      resultList = null;

      }else{

      }

      }

      }

      4.4 系統(tǒng)測(cè)試

      系統(tǒng)性能測(cè)試分為頁(yè)面請(qǐng)求響應(yīng)速度測(cè)試和系統(tǒng)穩(wěn)定性運(yùn)行測(cè)試兩個(gè)部分。

      1)頁(yè)面請(qǐng)求響應(yīng)速度測(cè)試:使用JMeter測(cè)試工具模擬30用戶分別并行訪問(wèn)交互性頁(yè)面和一般頁(yè)面50次時(shí),計(jì)算系統(tǒng)各類頁(yè)面加載的平均時(shí)間開(kāi)銷,如表1所示,交互性性頁(yè)面的平均響應(yīng)時(shí)間均小于3 000毫秒,一般頁(yè)面的平均響應(yīng)時(shí)間小于2 000毫秒,各類頁(yè)面錯(cuò)誤加載百分比小于1%。

      2)系統(tǒng)穩(wěn)定性運(yùn)行測(cè)試:分別從容錯(cuò)、壓力、重復(fù)方面進(jìn)行測(cè)試系統(tǒng)的穩(wěn)定性,其中容錯(cuò)測(cè)試是在網(wǎng)絡(luò)故障、資源路徑異常等情況下測(cè)試所有功能模塊;壓力測(cè)試為10個(gè)用戶并行訪問(wèn)系統(tǒng),保證系統(tǒng)連續(xù)48小時(shí)運(yùn)行;重復(fù)測(cè)試為連續(xù)訪問(wèn)氣象觀測(cè)、預(yù)報(bào)預(yù)警、臺(tái)風(fēng)路徑等功能模塊100次,如表1所示。

      表1 系統(tǒng)性能測(cè)試

      測(cè)試結(jié)果表明,氣象信息服務(wù)網(wǎng)在請(qǐng)求響應(yīng)和運(yùn)行穩(wěn)定兩個(gè)部分均達(dá)到了測(cè)試預(yù)期效果,在多用戶并發(fā)訪問(wèn)下,各功能模塊運(yùn)行正常且穩(wěn)定,各類頁(yè)面加載速度較快,數(shù)據(jù)顯示準(zhǔn)確,且在網(wǎng)絡(luò)故障、系統(tǒng)資源路徑異常時(shí),頁(yè)面可正常加載并有相關(guān)提示。

      4.5 頁(yè)面展示

      根據(jù)上述的系統(tǒng)設(shè)計(jì)和關(guān)鍵技術(shù)研發(fā)本系統(tǒng)各功能模塊,實(shí)現(xiàn)預(yù)報(bào)預(yù)警、氣象監(jiān)測(cè)、臺(tái)風(fēng)路徑、專業(yè)氣象等功能模塊,如圖7所示,不僅提供氣象觀測(cè)數(shù)據(jù)、氣象預(yù)報(bào)、預(yù)警信號(hào)等數(shù)據(jù)的實(shí)時(shí)展示,還提供基于Web GIS的實(shí)況數(shù)據(jù)繪制、顯示、疊加等功能。目前,該系統(tǒng)界面友好、各功能運(yùn)行穩(wěn)定、操作簡(jiǎn)便。

      圖7 系統(tǒng)頁(yè)面

      5 結(jié)束語(yǔ)

      海南氣象信息服務(wù)網(wǎng)建設(shè)是海南省氣象局的重要業(yè)務(wù)系統(tǒng)之一,其設(shè)計(jì)宗旨是集成各類觀測(cè)數(shù)據(jù)、預(yù)報(bào)預(yù)警產(chǎn)品等氣象信息為一體,為業(yè)務(wù)用戶和社會(huì)公眾提供統(tǒng)一、豐富的氣象數(shù)據(jù)展示服務(wù)。因此,參考中國(guó)氣象局及其他省、市縣局的建設(shè)信息服務(wù)網(wǎng)的成功經(jīng)驗(yàn),結(jié)合我省氣象業(yè)務(wù)的實(shí)際需求,依照全國(guó)氣象信息化標(biāo)準(zhǔn)化、集約化、信息化的總要求,分析、總結(jié)海南氣象信息服務(wù)網(wǎng)建設(shè)的業(yè)務(wù)流程和數(shù)據(jù)流程,詳細(xì)闡述和應(yīng)用系統(tǒng)研發(fā)所使用的數(shù)據(jù)收集加工、數(shù)據(jù)可視化等成熟可靠的關(guān)鍵技術(shù),并基于中國(guó)移動(dòng)云eCloud的云服務(wù)架構(gòu),實(shí)現(xiàn)集氣象監(jiān)測(cè)、預(yù)報(bào)預(yù)警、決策服務(wù)等功能于一體的氣象信息服務(wù)網(wǎng),系統(tǒng)運(yùn)行穩(wěn)定,安全可靠,能滿足業(yè)務(wù)用戶和社會(huì)公眾對(duì)觀測(cè)、預(yù)報(bào)等數(shù)據(jù)的服務(wù)需求。

      猜你喜歡
      服務(wù)網(wǎng)氣象預(yù)警
      氣象
      氣象樹(shù)
      中國(guó)聽(tīng)障兒童服務(wù)網(wǎng)開(kāi)通助聽(tīng)器免費(fèi)借用服務(wù)
      嘉陵區(qū):用心編織服務(wù)網(wǎng) 真情保障擔(dān)使命
      《內(nèi)蒙古氣象》征稿簡(jiǎn)則
      法國(guó)發(fā)布高溫預(yù)警 嚴(yán)陣以待備戰(zhàn)“史上最熱周”
      社區(qū)治理如何密織服務(wù)網(wǎng)——成都安公社區(qū)劃了“五條線”
      大國(guó)氣象
      園林有害生物預(yù)警與可持續(xù)控制
      機(jī)載預(yù)警雷達(dá)對(duì)IFF 的干擾分析
      兰考县| 锡林浩特市| 蒙山县| 巴中市| 鱼台县| 莎车县| 志丹县| 鹰潭市| 崇阳县| 南京市| 三门县| 徐闻县| 泸水县| 台安县| 高密市| 枝江市| 仁怀市| 怀集县| 资中县| 鄄城县| 米泉市| 台北市| 门头沟区| 垣曲县| 滦平县| 密山市| 章丘市| 鹤庆县| 五指山市| 泽库县| 东兰县| 肥乡县| 东海县| 承德县| 沁源县| 井冈山市| 罗平县| 武夷山市| 洛宁县| 安化县| 凉城县|