?

基于手機App的自動站管理系統設計與應用

2021-01-19 02:24王新秀楊黎黎吉曹翔
計算機技術與發展 2021年1期
關鍵詞:觀測站站點氣象

王新秀,楊黎黎,吉曹翔,于 璐,葛 林

(沈陽市氣象局,遼寧 沈陽 110168)

0 引 言

目前沈陽地區共有250個氣象自動觀測站,氣象自動觀測站提供所在地的氣溫、降水量、風向、風速、氣壓、濕度等要素的實況信息,是預報預警業務不可或缺的材料。因此其數據的準確性和及時性是自動站維護、監測人員必須保障的。為有效支撐氣象自動觀測站正常運行,提高中小尺度災害性天氣監測預警和氣象災害預警信息發布能力,滿足氣象防災減災需求,信息反饋、交互、考核及評估等工作,加強科學管理水平,提高維護時效,亟需建立氣象自動觀測站管理監控系統。

國內外氣象科研人員在氣象與互聯網科技的結合方面做了大量研究。錢崢等[1]基于Android 的移動氣象信息服務系統設計與實現,能夠隨時隨地獲取到氣象信息;帥紅等[2]基于Android的氣象站信息查詢及控制系統設計與實現,在移動客戶端能夠隨時查詢氣象觀測站相關數據信息;傅仁壯等[3]基于Android的決策氣象服務系統的設計與實現,在手機端獲取決策氣象服務信息取得了較好的應用;G.Crowley[4]開發了一款基于Android系統的展示空間氣象數據的軟件;L.Herrera在iPhone[5]平臺實現了實時瀏覽自動氣象站數據的功能。借鑒前人的研究成果,將基于Android系統的手機App作為課題的研究對象,實現氣象自動觀測站在手機客戶端的管理系統。

1 系統總體結構

1.1 總體設計

系統由Android手機App和Web服務器組件組成,系統結構如圖1所示。手機App是系統的用戶訪問接口。服務器組件是系統的核心服務層,由4個子模塊組成,分別是數據智能采集分析、設備故障報警與反饋、日常維護與管理、服務質量考核。數據智能采集分析模塊的數據源包括氣象自動觀測站數據庫、CIMISS系統和省局考核數據。設備故障報警與反饋模塊將氣象自動觀測站的信息發送到手機App,手機App通過百度地圖提供位置服務,維護人員通過手機App反饋維修結果并上傳照片。日常維護與管理模塊可制定氣象自動觀測站維護計劃并提醒維護人員按計劃完成維護任務。服務質量考核模塊是對維護完成率、修復及時率、數據質量和質量抽查結果進行統計完成考核得出評分。手機App可以方便快捷地解決C/S架構的單一網絡模式,其自動報警功能隨時隨地通知到維護人員,同時該系統的服務器端按日、月、年統計及時率,數據可用率并將結果反饋到手機App,使自動站維護人員和考核業務人員及時直觀地了解自動站的考核結果。

圖1 系統結構

1.2 系統開發環境

系統主要使用Java編程語言,開發工具使用了JDeveloper 12c和Android studio。系統部署示意圖如圖2所示,其承載系統應用的環境包括:

(1)Oracle數據庫:數據對象和支撐系統頁面。

(2)Java運行時環境:原生Java程序,由系統計劃任務控制按時執行。

(3)TomCat服務:Web Service接口、js文件接口、圖片發布。

(4)Android系統手機:下載安裝App應用即可運行。

圖2 系統部署示意圖

2 核心技術

2.1 Oracle技術

系統開發服務組件使用Oracle 11G EX DB和Oracle JDeveloper,這是一款基于Java語言的開發平臺,開發程序實現功能的同時構建起系統的支撐平臺架構。Java是一種跨平臺應用軟件的面向對象的程序設計語言,且具有簡單易用等優點。Oracle JDeveloper是一個免費的集成開發環境(IDE),可簡化基于Java的SOA和Java EE應用開發。JDeveloper為Oracle[6]融合中間件和融合應用產品提供完整的端到端開發,支持整個開發生命周期。系統的數據庫采用Oracle 11g,Oracle 11g提供了高性能、伸展性、可用性和安全性,并能更方便地在低成本服務器和存儲設備組成的網格上運行,相對過往版本而言,Oracle 11g具有了與眾不同的特性。

2.2 Android系統

在設計手機App時選用Android系統,它是首個為移動終端設備打造的真正開放和完整的移動軟件系統,允許開發人員自由獲取、修改源代碼[7]。以Android平臺為基礎,Google公司專門為開發Android應用程序提供了集成開發環境Android Studio,涵蓋了所有Android應用開發相關的功能。Android應用程序主要使用Java語言編寫,要用到開發工具集SDK(Software Development Kit,提供Java編譯工具、Android系統API等,可以直接在Android Studio[8]中下載)。

Android項目開發條件容易滿足,手機Android系統覆蓋廣泛,成為開發首選。Android系統框架使用了分層結構[9],將Android分成四層結構和五個區塊。分別為應用層(Applications)、應用程序框架(Applications Framework)、庫(Libraries)、Android運行時(Android Runtime)以及Linux內核(Linux Kernel),整個系統的架構如圖3所示。在系統的最底層,Android系統采用Linux作為系統的內核,其優勢在于成熟的Linux內核可提供穩定的操作系統服務,同時其開源的特點能夠使Android系統更容易被各個設備廠商支持[10]。

圖3 Android軟件棧

2.3 Web Service技術

系統設計使用Web Service完成手機與服務器組件間交互的工作。Web Service技術,能使得運行在不同機器上的不同應用無須借助附加的、專門的第三方軟件或硬件,就可相互交換數據或集成。Web Service是自描述、自包含的可用網絡模塊,可以執行具體的業務功能Web Service,也很容易部署,因為它們基于一些常規的產業標準以及已有的一些技術,諸如標準通用標記語言下的子集XML、HTTP[11]。依據Web Service規范實施的應用之間,無論它們所使用的語言、平臺或內部協議是什么,都可以相互交換數據。Web Service減少了應用接口的花費。Web Service為整個企業甚至多個組織之間的業務流程的集成提供了一個通用機制[12]。

從表面上看,Web Service就是一個應用程序,它對外部系統只露出一個能夠通過Web服務的API供外部系統調用。這就是說你能夠用編程的方法通過Web老調用這個應用程序。把調用這個Web Service的應用程序叫做客戶[13]。Web Service 模塊簡圖如圖4所示。

圖4 Web Service模塊簡圖

3 系統功能實現

3.1 自動觀測站實況數據查詢

手機客戶端提供的自動觀測站實況為近24小時的整點和加密數據,供用戶查看自動站的實時性和準確性。為了便于用戶快速找到站點信息,設計了按自動站所屬區縣劃分的下拉選擇框,查找到相關站點后即可顯示實況信息以及自動站所在地圖的位置,如圖5、圖6所示。

圖5 區縣劃分自動站

圖6 自動站實況信息

在程序設計時,向后臺數據接口發起帶有站號、站名、所屬區縣的參數請求,頁面將返回攜帶站名、日期、所在經緯度和實況信息的JSON格式字符串。JSON是一種輕量級數據格式,其對象是屬性、值對的結合,是規范的標簽形式,具有很強的可讀性[14]。設計中采用的JSON數據解析包為fastjson.jar,它是一個性能很好的Java語言實現的JSON解析器和生成器,具有快速、強大和零依賴特點[15]。

服務配置可直接發布.js擴展名的文本文件,要求文件內使用JSON格式、數組格式和js編碼,這樣設置使用起來非常便利,App應用或網頁可以直接使用,并且以靜態文本發布數據安全,系統響應速度快不存在安全隱患。

3.2 設備故障報警反饋

設備故障報警與反饋模塊將自動站故障信息發送到手機App,手機App通過百度地圖提供位置服務,維護員通過手機App反饋維修結果并上傳照片。維護人員及時收到故障信息并將處理情況通過手機App反饋到服務器,實現服務器端和手機App高效信息交互。

系統為了方便管理人員編制保障任務,提供了電子地圖功能,系統將近3小時不在線站點和數據質量異常站點顯示在頁面下方,頁面上方是電子地圖,如圖7所示。管理員查看下方故障站點信息,點選具體站點上方的電子地圖就會自動切換并導航,導航數據來自百度電子地圖api接口,是按照自駕車輛導航的,管理員可根據目前故障站點分布情況合理安排保障任務,保障人員也可使用電子地圖簡單了解路線。系統設計通過現場拍照實現證據留存,提交照片的同時任務終結并記錄完成時間,任務的提交也需要驗證身份,只有確認身份的保障工作人員才能完結任務,同樣也只支持現場拍照,如圖8所示。

圖7 故障報警

手機App要求照片的傳輸必須要是現場實時的照片,避免維護人員使用相冊中的照片,這樣考慮主要是管理需要。照片只能通過二進制方式傳回服務端,這樣服務端就要開發二進制的接收功能模塊,并且需要同時傳回JSON字符串用于標注任務信息。

圖8 故障反饋拍照

4 應用結果分析

自2019年1月起手機App已經運用在沈陽市氣象局社會化保障工作中,軟件系統的測試在使用中進行,經過一階段的使用驗證,系統運行穩定。截止到2019年12月手機App已經提示故障站點1 460余次,由于網絡信號弱等外在原因有些故障站點會在短時間內無需維修可恢復正常。因此維修人員上傳維修記錄1 400余條,少于故障站點次數。由于手機App對于故障站點的及時報警,以及對維修人員的行程追蹤,督促了維修人員的維修進度,最終根據任務時間戳的記錄顯示維修人員均能按時完成維修任務。根據每個自動站的自身屬性制定對自動站的定期維護提醒,及時更換老化的部件有效保障了自動站的正常運行。手機App對維護完成率、修復及時率、數據質量和質量抽查結果進行統計,方便了管理人員對自動站維護的直觀了解。該系統的研發達到了預期效果,這充分說明了手機App的自動站管理系統在業務工作中發揮了重要作用。

5 結束語

氣象自動觀測站的數據是氣象事業的基本保障,是預報預警的重要依據。因此保障氣象自動觀測站的正常運行,確保數據的準確、及時、有效是一項十分重要艱巨的任務。目前基于手機App的自動站管理系統已經應用在沈陽市氣象局社會化保障工作中,并且取得了顯著的效果。該系統通過服務器端不間斷掃描實況數據,能夠發現不在線和數據異常的站點,方便管理人員依據異常站點安排保障任務。任務建立和任務結束都有時間戳標記,可以統計任務完成的時間間隔,結合社會化保障要求,提高維修工作效率,使得維修任務執行過程數據化。執行任務需要提供4張現場照片,只能現場拍照不能上傳圖片,同時反饋地理位置,雙重取證避免造假,有效約束才能防微杜漸。鑒于該系統的良好效益,目前已經推廣到丹東市氣象局的社會化保障工作中。

猜你喜歡
觀測站站點氣象
四川省甘孜州:航拍四川稻城高海拔宇宙線觀測站
氣象樹
《中國農業氣象》征訂啟事
中國氣象“風云”
以“夏季百日攻堅”推進遠教工作拓展提升
荷蘭 哈林維利特水閘 “TIJ”蛋形鳥類觀測站
大國氣象
積極開展遠程教育示范站點評比活動
怕被人認出
太原觀象臺站址遷移對氣溫變化的影響分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合