徐彩艷 任廣治 張嫣然


摘要:為滿足人流密集區氣象服務的需要,利用Java開發語言和Eclipse開發工具,設計并實現了一套基于Android平臺的氣象觸摸顯示屏系統,由API接口服務、智能終端系統、管理系統組成。該系統首次提出用戶定制的服務理念,實現了終端定制顯示和拓展功能,可進行精準個性化投放,可顯示管理系統添加的任意HTML5網頁,極大地增加了內容擴展性。應用實踐表明,該系統定制化的顯示服務滿足了不同用戶的個性化和差異化需要,擴大了氣象信息及預警信息的傳播范圍,加快了傳播速度,加強了氣象科普的宣傳力度,通過人機互動的方式,增加了氣象信息的趣味性。
關鍵詞:觸摸顯示屏;用戶定制;API;Android
中圖分類號:P49? ? ? ? ?文獻標識碼:A
文章編號:0439-8114(2019)14-0138-03
Abstract: In order to satisfy the requirement of the meteorological service in crowded areas, the Java development language and Eclipse development tools are used to design and implement a set of meteorological touch screen system based on Android platform. The system consists of API interface service, intelligent terminal system and management system. The system proposed the service concept of user customization for the first time. The system realized the function of custom display in terminal and expansion. The system can deliver accurately and personalized. The terminal can also display any HTML web page added by the management system, greatly expanding the display content. Application practice shows that the customized display service of the system meets the personalized and differentiation needs of users, expands the transmission range of meteorological information and warning information, accelerates the transmission speed, strengthens the publicity of meteorological popularization, and increases the interest of meteorological information through man-machine interaction.
Key words: touch screen; user customization; API; Android
隨著氣象服務的深入,氣象信息進鄉村、進社區的需求不斷被提出[1]。氣象信息進鄉村、進社區可以充分發揮智慧氣象服務的作用,提升氣象為民服務能力,加強防災、減災、救災能力建設。同時,機場、火車站、商場、政務大廳等人流密集區對于氣象信息特別是氣象預警的需求也不斷增強。觸摸顯示屏這種日益普及的新媒體是一種較好的氣象信息服務載體。
通過研究目前的氣象服務發現,不同用戶對氣象信息內容、種類、發布界面等需求差異很大,且用戶普遍有顯示本部門信息的需求,一套系統推廣至多用戶的做法已經難以滿足用戶日益增長的個性化需求,而為每個用戶單獨開發一套系統的做法不僅費時費力,更會增加維護成本。具備定制顯示功能的氣象觸摸顯示屏系統是一種較好的應對手段。
近年來,關于氣象手機客戶端的研究不斷增多[2,3],各種氣象手機客戶端也應運而生,其中,墨跡天氣的下載量已經接近3億[4],可見,氣象信息在手機端的展示技術已趨于成熟。而關于氣象觸摸顯示屏系統的研究則較少,已有顯示屏的研究多針對LED電子顯示屏。本研究基于Android平臺的觸摸顯示屏,設計并實現了可以滿足不同用戶個性化和差異化需求的氣象信息顯示屏系統。該系統實現了終端定制顯示功能和拓展功能,旨在滿足鄉村、社區及其他人流密集區和公共場所獲取氣象信息的需求。
1? 總體架構
該系統主要以API接口服務、智能終端系統、管理系統三部分構成。API接口負責向智能終端提供氣象數據;智能終端系統播放展示氣象信息、視頻、新聞、通知及用戶提供的其他信息;管理系統進行用戶、終端、顯示信息和API接口管理。
系統采用JAVA開源架構SOA基礎架構體系,SOA基礎架構具有模塊化、服務化設計理念,在原有模塊化拆分設計的理念基礎上進行深度拓展,實現面向服務的框架體系。該架構將系統功能劃分為多個獨立功能單位,在保證整體功能完整的情況下,實現了功能的分別研發和階段部署。
受網絡安全性的限制,氣象系統對外服務系統的建設往往需要配備外網服務器和外網IP地址,存在建設費用高、建設周期長的問題,云服務器具有外網網絡環境且具有安全性高、性能穩定、性價比高的特點,該系統將WEB服務器架設在云服務器上。
系統主要由一臺內網服務器和兩臺云服務器組成,如圖1所示,服務器使用Linux操作系統。內網服務器負責從內網采集各種數據資源,利用RSync同步技術,將氣象數據推送到WEB云服務器,在一臺云服務器上安裝Apache Tomcat,使之成為WEB服務器,主要負責提供WEB服務、API接口服務、管理系統服務和氣象數據處理存儲,另外一臺搭建MySQL產品數據庫,組織、存儲和管理用戶數據與客戶端氣象產品數據,為系統提供數據支持。
2? 系統的設計與實現
2.1? API接口
為便于第三方用戶和系統對數據的使用,該系統將數據進行了API接口開發,最大限度實現資源共享[5]。API接口通過跨平臺跨語言的WebSeivce服務實現,系統利用Java[6]和PHP[7]語言編寫API接口程序,將同步到云服務器端的氣象數據轉化為方便用戶調用的XML與JSON格式。
由于氣象服務產品數量繁多,API接口開發前必須制定標準的氣象服務信息發布規范。將API接口參數分為必選參數R、可選參數O和一定條件下參數C 3種,必選參數R必須要出現,接口編號、身份標識等參數為必選參數。可選參數便于用戶直接獲取所需的氣象數據,減少網絡流量和計算量,以衛星云圖為例,衛星云圖的可選參數為云圖種類、時間、時間段,用戶可通過設置請求報文中的可選參數,直接獲取指定時間和指定衛星的數據,若可選參數為空,則返回全部衛星數據。
為保障氣象數據的安全性,系統對API接口進行了加密,訪問用戶需要進行身份認證,API認證流程如圖2所示。身份認證有兩種方式,在管理系統中錄入認證和通過終端申請認證。認證完成后,系統通過PBEWithMD5AndDES加密算法為用戶分配加密的KEY值和身份標識碼,用戶調用API接口時,將KEY值與其他參數按照一定的順序組合成一個URL鏈接發起HTML請求,服務器對提交的URL鏈接進行解析后,將解析到的KEY值進行解密,與數據庫比較,數據一致,則允許下一步操作;不一致,則提示用戶認證申請異常或非法用戶。
2.2? 智能終端系統
智能終端系統載體為搭載Android[8,9]平臺的觸摸電子顯示屏,顯示方式包含滾動顯示和觸摸顯示兩種(圖3)。為滿足不同用戶個性化和差異化的需求,系統實現了終端定制顯示功能,媒體內容對終端進行精準個性化投放,管理員可根據業務需要,將播放終端進行多維分組,每個組設定不同的媒體播放清單和任務,而不是統一投放。智能終端系統所有展示內容都具有可替換性,包含系統名稱、視頻、新聞、科普、通知、按鈕等;系統具有拓展性,用戶可根據需要自主配置顯示內容,可拓展顯示用戶提供的信息,使系統具有通用性;系統具有智能性,實現了數據自動傳輸運行,減少人工操作。
智能終端系統采用Java開發語言,使用Eclipse與Android SDK的開發工具,采用屏幕自適應技術,應用矢量圖的特性,兼容不同版本、規格的Android大屏幕,采用顯示屏室內室外自適應技術,可以多分辨率、強弱光自動切換,以適應不同的環境。智能終端系統頁面采用jQuery-core技術進行事件處理、Ajax請求、頁面刷新等,通過3種頁面方式實現了媒體內容對終端的精準個性化投放:①動態同步請求,通過Velocity模板生成頁面,智能終端系統重新加載整個頁面。Velocity是一個基于Java的模板引擎,允許在終端頁面中引用Java代碼中定義的數據對象和命令;②Ajax異步請求,可實現終端頁面數據的局部刷新,與Velocity模板結合可返回HTML串、JSON數據和簡單的字符串;③模板生成的靜態頁面,靜態的網頁、網站不需要通過數據庫就能夠打開,運行速度較快。
智能終端系統根據數據存儲的安全性要求,支持云端的遠端存儲,當發生異常情況時,如斷網,可自動切換到本地存儲,支持不同版本設備、不同機器間存儲不同內容;系統通過網絡實現信息以及終端控制與管理,基于網絡IP進行數字化傳輸,智能終端系統發起頁面請求后,后臺發送標簽、視頻、文字以及播出任務等內容;通過Velocity模板實現了信息拓展,搭建被動接受機制,強大的自適應拓展接口,可與多種信息實現數據共享,如防震減災、防洪防水、地質災害等;智能終端系統采用Ehcache緩存框架技術,Ehcache是一個利用Java實現的簡單、高速實現線程安全的緩存管理類庫。使用緩存機制處理技術可增強系統業務并發處理能力,降低與數據庫的交互次數,極大提高系統性能。
智能終端系統采用氣象信息自動更新技術,基于系統搭建文件自動檢索機制,實現遠端后臺自動更新。智能終端憑借系統分配的KEY值和身份識別碼,通過API接口獲取后臺的數據,終端系統顯示內容可包括天氣預報、天氣實況、預警、視頻、新聞、科普、通知及其他用戶提供信息。當智能終端系統所在地有氣象預警信息發布時,預警信息自動替換單位信息并在首頁顯示,從而增加預警信息發布的時效性,擴大預警信息的傳播覆蓋面。點擊更多按鈕進入系統下級頁面,如圖4所示,該頁面包含新聞報道、科普信息、空氣質量、臺風監測等信息,該頁面可為管理系統添加的HTML5[10]頁面生成新的按鈕。
2.3? 管理系統
管理系統主要用于用戶、終端、顯示信息和API接口的管理,同時監控終端顯示內容,確保顯示信息的安全。
管理系統以部門為單位進行用戶管理。管理系統提供權限分級管理,支持三級權限處理,如可設置省氣象局、地市氣象局、縣氣象局三級部門權限。管理員為每級部門分配管理賬戶和管理權限,各部門可管理維護本部門內終端,部門之間實現信息互通、數據共享,依據權限級別高低對部分信息權限進行屏蔽保護。部門維護人員可修改終端顯示的產品信息,并可進行視頻、新聞、科普、消息等產品的維護,信息上傳時可選擇終端。
管理系統實現了智能終端系統的定制顯示功能,即不同終端顯示內容不同。智能終端第一次運行時,自動跳轉到注冊頁面,用戶須填寫系統名稱、注冊位置、部門名稱等信息,管理員在管理系統中審核通過后,終端進入信息顯示頁面。收到注冊信息后,管理系統基于智能終端IP地址為智能終端生成一個管理界面,為智能終端分配惟一KEY值和身份識別碼,管理系統可為不同終端設置差異化的顯示內容,管理員不僅能控制終端系統狀態和顯示權限,也能根據用戶需求修改智能終端名稱、勾選終端顯示內容及顯示標簽等。管理員還可拓展終端功能,只需在終端功能管理中錄入功能名稱,填寫HTML5網頁地址,即可設置特定終端進行顯示。