袁迎蕾,陳 亮,李長順
(1.海南省氣象服務中心 海南省南海氣象防災減災重點實驗室,海南 海口 570203;2.福建省氣象服務中心,福建 福州 350000)
微信公眾平臺在氣象服務領域被廣泛應用[1]。海南省氣象局自2014年開設官方微信公眾號以來歷經多次升級改造以適應服務需求,當前官方微信平臺有三大板塊包含13個子欄目,綜合提供涵蓋天氣、旅游、農業等幾十種氣象服務產品。
海南氣象服務官方公眾號為用戶提供了優質的氣象服務,但在格點數據、全域旅游和用戶定制表現形式方面仍存在不足,不能滿足公眾對旅游服務、精細化數據相關產品的查詢和定制化需求[2]。自2017年3月,海南省人民政府辦公廳印發《海南省全域旅游建設發展規劃》,海南省氣象局以實際需求為引領,升級和優化微信公眾號以完善微信氣象服務功能,主要內容包括加強氣象精細化信息、全域旅游產品和用戶定制化的展示能力,突出海南“生態環境、經濟特區、國際旅游島”三大優勢。具體設計思想如下:
前期改造重點為加強氣象基礎觀測信息、歷史統計數據和精細化預報服務產品的展示能力,提高在突發天氣事件及重大氣象災害發生時,官方微信公眾號為公眾提供實時氣象服務信息的及時有效性[3];此外加強氣象信息的實時監測以提升服務支撐針對性;在此基礎上做好氣象保障服務,推進智慧氣象服務的發展[4-5]。
技術架構如圖1所示。

圖1 技術架構
1.1.1 數據層
數據來源:全國API數據服務接口、全國氣象數據文件、國家級或省局CIMISS數據接口、海南省格點精細化預報和實況數據。后臺程序通過API接口或通過讀取數據文件獲取的數據都需要格式化為標準數據格式(如果獲取的數據已經是格式化的數據,則不需要再格式化)[6],可通過腳本或額外程序格式化數據,亦可通過后臺程序格式化數據。
1.1.2 接口層
由于后臺各種數據(包括氣象數據、圖片、視頻)都需要提供接口服務,接口層的功能是方便數據接口供功能層調用。接口層使用MVC架構搭設的一套Web Service的服務,采用PHP語言,為用戶提供大量API實現對整個系統的數據支撐[7-8]。
接口層負責對原始數據的深加工,基于不同用戶的業務需求有所差異,旅游氣象、農業氣象等各類產品的展現方式也不盡相同,這要求對相同的數據進行差異化處理。原始數據經后臺處理后作為備用數據,用戶調取接口進入后臺邏輯加工,從而返回給用戶所需的格式化數據[9]。
接口層既要保證安全性也要保證即時性,因為接口的性能直接影響整個項目的穩定性。本設計在處理較為復雜的數據時會對數據的結果進行靜態緩存,這樣既保障了服務器的資源也保證了接口的效率。此外對接口的權限進行較為有效的限制,每個調取接口的用戶會分配一個唯一的標識碼,只有經過特殊的加密算法才可以正常請求本平臺的接口層。
緩存在平臺架構以及接口開發中也尤為重要。本平臺用到的是Apache緩存,Apache除了可以提供自帶的緩存模塊外,也可通過外加Squid模塊進行緩存,以上兩種方式都能夠有效地提高Apache的訪問響應能力。此外為了防止接口層的大量并發,負載均衡方法被應用到此平臺中。
1.1.3 功能層
功能層通過與接口層相連接實現與氣象服務數據庫之間的銜接[10],從而為微信平臺提供各類定制化專業氣象服務,并實現定制化氣象服務信息的推送及發布,從而達到自動推送氣象服務信息的目的。除此以外,功能層還對系統產品等相關業務提供管理功能。
1.2.1 后臺支撐系統
微信平臺的后臺支撐系統采用Mysql、Linux和php等標準開發語言進行開發,其中部分php支撐系統采用ThinkPHP框架。這是一個國產輕量級開發框架,具有快速和兼容的特點。原名叫FCS,后改名為ThinkPHP的PHP開發框架遵循Apache2開源協議發布,它移植并改善了Struts結構,采用的是面向對象的開發結構和MVC模式,并且將Struts的思想以及ActiveRecord模式和TagLib(標簽庫)、RoR的ORM映射融合在一起[11-12]。ThinkPHP是一個整體開發解決方案,能夠比較方便地實現跨版本、跨平臺和跨數據庫移植,可以滿足應用開發中的很多實際需求。
用戶請求說明如圖2所示。

圖2 用戶請求說明
本設計的業務邏輯為,通過http協議請求,將微信用戶發送的click提交給Linux服務器,其中負責監聽80端口的nginx將請求分發給php-fcgi進程,再通過php對URL參數進行邏輯處理。
騰訊云提供的Mysql數據庫被應用到Mysql部分。基于PCI-e SSD存儲介質,可以提供高達37 000 QPS的強悍性能。因此服務兼有可用性和可靠性雙高的特征,而且能夠實現全面監控管理自動化[13]。
開發實現邏輯如圖3所示。

圖3 開發實現邏輯
1.2.2 模型和算法
基于海南省氣象臺的格點預報,該設計研究旅游點定點預報自動生成和控制方法,同時研究逐小時向逐日預報的轉化方法。通過研究不同旅游活動的高影響氣象影響因子和指標,從而建設觀光、潛水、賞花、漂流、登山等活動的逐小時影響預報模型,并建立服務用語詞庫。
通過廣泛收集主流天氣APP和微信服務號的服務提示,結合海南本地實際,建設針對不同天氣、節氣,重大節日,不同災害風險以及停課、停業等信息的提示用語庫,同時探索建設綜合天氣形勢與特色旅游活動的溫馨提示用語[14]。此外研究基于第三方地圖接口的氣象數據和地理數據的疊加方法,并構建不同用戶位置和不同的天氣情況下的用戶場景服務模型。
優化升級正在業務化運行的海南氣象服務官方微信公眾號。
基于《海南省全域旅游建設發展規劃》,本模塊的全域旅游產品設計分為點、線、面三個維度。
2.1.1 點的設計
“點”的建設分為濱海(濱海娛樂、海上活動)、雨林(雨林探險、峽谷漂流)、療養(溫泉養生)、觀光(休閑觀光、生態觀光、湖景觀光、文化觀光)、農事(鄉村休閑、賞花、采摘)、文體(博物館、高爾夫)、風情(風情街、特色旅游風情小鎮、特色產業小鎮)、美食、購物、婚紗拍攝、交通(道路、港口、機場)11個主題,包含已建成使用和未建成共計三百多個景點。
氣象服務產品包括兩種。一種是逐小時風、降雨量、氣溫等要素預報的氣象服務基本產品;另一種是基于基本產品生成的賞花活動、登山活動、漂流活動等的逐小時天氣影響預報,根據用戶所在位置的天氣所生成的臺風、山洪、中小河流洪水、短時強降水等的災害天氣風險提示,顯示旅游景點和過去一小時降雨量、氣溫、風等的全省色斑圖的實況數據等產品,結合旅游信息、天氣信息、交通信息等的旅游點相關資訊等[15],以上幾種對基本產品進行再加工而形成的氣象服務產品統稱為氣象服務衍生產品。其中,旅游資訊的推薦部分分為4個方面的主要內容:一是結合天氣情況和景區景觀等特點的當季最佳旅游活動推薦;二是結合天氣情況和用戶定位的所在地最佳旅游景點推薦;三是基于大數據技術評估出用戶喜好旅游景點類型,并作旅游景點推薦;四是結合天氣情況和交通路線的景點推薦。
2.1.2 線的設計
“線”的設計是在“點”的設計完成后,將旅游景點按照主題分類并串聯,形成主題鮮明,提升服務層次的線路推薦。
本研究中,“點”的設計中旅游景點分為濱海、雨林、療養、觀光、農事、文體、風情、美食、購物、婚紗拍攝、交通11個主題,不同的旅游主題按照所在市縣不同分為包括海口、三亞、儋州等11個市縣的城市景點推薦,結合旅游主題和城市景點,規劃出符合實際需求、突出綠道屬性的田園、西岸、黎西、海韻4條線路。
2.1.3 面的設計
本研究基于WebGIS的用戶位置,結合天氣情況、旅游等信息,綜合繪制出“站點式景區道路天氣導航地圖”,這也是所謂“面”的設計,是全域旅游氣象服務產品的綜合展示。
“站點式景區道路天氣導航地圖”可顯示用戶所在位置的天氣信息,導航線路上的站點天氣情況、道路擁堵狀況、途經景點游玩適宜情況、旅游線路上景點的評論情況等等,如圖4所示。
本地氣象服務產品采用海南省自己的天氣實況和精細化格點預報數據,國內省外其他地區的產品使用北京華風創新網絡技術有限公司提供的天氣實況和精細化格點預報數據。運用精細化格點預報生產系列產品,展現形式包括一級菜單“天氣播報”,二級菜單“尊享訂閱”內的“定點天氣”、“旅游天氣”、“交通預報”等內容。此類產品的管理通過開發后臺數據管理平臺實現。天氣播報、旅游天氣頁面如圖5所示。

圖4 全域旅游-站點式景區道路天氣導航地圖

圖5 天氣播報、旅游天氣頁面
該模塊設置在二級菜單“尊享訂閱”中,包括免費和付費兩個模塊,當前該模塊所有內容可免費試用。后期開發的付費模塊,用戶只需開通微信支付,便可個性訂閱所需模塊。
用戶在個性定制模塊能看到免費和付費兩個模塊的內容,免費模塊對所有用戶開放,付費模塊提示收費,用戶根據需求微信付費后可查看相關內容。在此模塊增設統計模塊,便于用戶查看已付費產品的費用及使用期限,同時也能查看未購買產品的價格。
在定點天氣模塊的一級頁面中增設二級頁面,面向所有普通用戶開放,顯示海南全省格點精細化預報及天氣實況;向付費用戶顯示一級頁面,在點擊某地點查看后再進入二級頁面。
個性定制模塊升級預警訂閱功能選項,對于訂閱數量不再限制,訂閱地區包括全國市縣范圍以及國外主要城市。
設計微信矩陣管理后臺的目的是管理和操作多個微信公眾號,以此集約資源,減少重復操作,實現對多個賬號的統一管理。
通過微信矩陣管理后臺,可以實現對單個微信公眾號的單獨操作,也可實現讓一個或多個賬號執行同一任務或者不同任務的操作。比如市縣對本公眾號的菜單管理、推送信息編輯、廣告發布等,或者在某個或某幾個公眾號上發布相同或不同廣告的簡化操作。
矩陣平臺的設計初衷是使得微信公眾號能夠高效完成推送信息的編撰和發布,擁有自己的專屬后臺。騰訊微信平臺自帶兼容編輯器,可實現編輯、預覽和群發功能,以及推送的音視頻信息、圖文信息或其他專題等的訪問統計,關注用戶情況也作趨勢曲線圖統計,以便于了解一定時期內關注/取消本微信公眾號的人員情況。
微信矩陣平臺設計后擬定向開發公眾號,如天氣網眼實圖美景之類的旅游景區類公眾號,風云即拍災害天氣視頻類公眾號等,并通過這些定向開發的微信公眾號吸引粉絲,最終將粉絲遷移到海南省氣象局官方微信公眾號。
作為全國首個全域旅游創建省,海南對旅游氣象服務提出了更高要求,為了做好旅游氣象服務創新,滿足公眾對旅游氣象服務的高需求,海南省氣象部門不斷優化升級原“海南氣象服務”官方微信公眾號,構建海南全域旅游氣象服務微信平臺。結合“點”、“線”、“面”,將全省三百多個景點按照11個主題進行分類,并根據田園、西岸、黎西、海韻4種風格,串聯不同主題的景點,形成4條旅游線路,融合“旅游+氣象+交通”等信息,綜合繪制出“站點式景區道路天氣導航地圖”。新升級的微信平臺基于天氣實況和精細化格點預報等數據,設計氣象服務基本產品和衍生產品,個性定制模塊優化升級,用戶可根據自身需求選擇免費或付費的氣象服務產品。微信矩陣管理后臺的設計,將有效集約資源和人力,以實現未來對全省多個氣象部門微信服務賬號的統一管理。
未來,海南氣象部門還將不斷健全旅游氣象自動化和信息化的綜合觀測體系,進一步完善海陸空交通線(站、場)氣象觀測站組網建設等。同時建立融合GPS、氣象、旅游和交通信息等的大數據平臺,編制全域旅游氣候適應性區劃,為近海觀光、旅游和海峽航運等提供更加快捷、專業的定向氣象保障服務。