姜青山
摘 要:隨著移動互聯網的迅猛發展,人們獲取氣象信息的方式及對信息的需求也發生了很大的變化,單方面被動的接收日常的天氣預報及氣象推送短信服務已經不能滿足需求了。人們不僅希望能及時獲取天氣變化,而且對氣象數據及其更新頻率有著更高更快的要求。此外,氣象愛好者們也希望多一些渠道增強其對氣象知識的了解,更進一步的與他人進行交流分享等,可是目前軟件市場上暫時還沒出現以用戶為主導的氣象移動端軟件。因此,本項目擬設計開發一款互動與分享型的氣象科普手機客戶端APP,除了提供傳統的氣象信息服務外,還提供學習、分享和交流各種氣象知識的機會。
該氣象互動的手機客戶端軟件主要提供氣象信息的上傳與發布以及用戶間交流互動等功能,主要包括天氣預報、氣象詞條,交流社區和個人主頁四個部分。為了設計開發該客戶端,主要運用了以下技術。
關鍵詞:氣象預報服務;應用開發;編程;系統搭建
1 主要技術路線
本項目采用移動互聯網技術,主要分為服務器和客戶端兩部分。為了滿足移動互聯網的特點,服務器主要采用以下技術:
1.1 采用阿里云技術,多區域分布式部署
移動互聯網用戶分布廣且散,全國各地用戶都可以下載該軟件查看天氣,因此,為滿足不同地區的用戶需求,就要多地部署服務器,讓用戶就近快速訪問,提高用戶使用體驗,也節省了帶寬資源。對于同一地區,如果用戶量過大,單臺服務器性能有限不能滿足需求,要使用多臺服務器分布式部署同時對外提供服務。
1.2 采用redis內存數據庫作為高速緩存
服務器端數據管理使用專業的數據庫軟件,數據最終是存儲在讀寫速度較慢的磁盤中,因此數據庫的讀寫速度有限,不能夠滿足高峰期用戶訪問的需求。為了緩解這一問題,將熱點數據提前提入緩存,在用戶請求時,直接從內存中返回,可大大提高數據讀取速度。
1.3 異步寫數據庫
在用戶對于熱門話題進行評論時,短時間內會有大量的寫操作,如果直接寫入數據庫,對數據庫會造成很大的壓力,響應速度變慢,甚至會影響到正常的數據讀取。為了解決這一問題,本項目采用異步寫入數據庫,當有寫數據庫的請求時,先把要寫的數據存到隊列中,再由后臺程序慢慢寫入數據庫。
1.4 雙機互備容災
為了提高服務的可靠性,設計采用雙機互備技術。同一地區部署兩份以上的相同服務,同時對外提供服務,正常情況下以一臺為主,當主服務器出現問題時備用服務器自動切換為主服務器對外提供服務,這樣可以在不終止服務的情況下,修復故障服務器,從而提高系統的可靠性。
2 技術難點
此項目具有以下技術難點:
2.1 服務器要求高
要確保何時何地都能迅速打開軟件和用戶成功上傳圖片,這對帶寬和服務器容量要求都很高。因此,要在節省成本的同時,要合理的規劃服務器布局和資源分配。
2.2 平臺開發較難
實時交流互動對服務端的開發要求較高,不僅服務器端口要迅速響應,而且要保證程序運行穩定,否則會經常出現數據加載不成功或加載過慢的情況,嚴重影響用戶體驗。
2.3 UI設計不易
現在用戶對移動端的要求越來越高,要開發一個成功的手機客戶端,除了要滿足用戶需求的功能版塊設計外,還要有簡潔大方的外觀界面。
2.4 軟件開發復雜
由于特殊的運行環境限制,客戶端開發既要滿足用戶的需求開發出完整的功能模塊,又在要其運行時不要占用太多的資源,同時還要保證軟件在使用時流暢穩定降低系統崩潰率。
2.5 軟件升級維護
軟件發布后要對其進行后期的維護和升級,如用戶量激增、訪問量激增、網絡抖動不可訪問、服務器宕機等,為此要做好服務器監控,隨時了解系統的運行狀態。
3 實施方案
項目的實施方案主要從以下幾個方面來完成。
首先申請linux主機搭建nginx web服務器,為客戶端提供http web服務。采用golang語言開發氣象百科、互動社區以及用戶中心的web服務接口,為客戶端提供實時數據。申請一臺圖片服務器,供客戶端上傳和下載圖片使用。開發一個手機客戶端軟件,該軟件包括氣象百科、用戶社區及個人中心等幾大模塊為用戶提供服務。客戶端通過http協議與后端服務器通信交換數據,數據為json格式。軟件采用swift語言開發,開發完成通過測試后,發布上線。
4 客戶端相關的主要技術
客戶端的開用到以下技術。
4.1 IOS操作系統
相對于Android系統來說,IOS對應的硬件種類較少系統流暢,開發較為方便,不用在兼容性上花費太多時間,API也相對簡單易用,學習成本較低。
4.2 swift語言
蘋果公司最新發布的IOS開發的新一代語言,與Object-C相比,語法簡單智能。
4.3 通信協議
通信協議。客戶端與后臺采用http通信協議,數據格式采用json格式傳輸。
5 結語
應用的開發與服務器的搭建完成以后,還有一些比較重要的問題需要解決。軟件推廣。由于該軟件不是一個用戶剛性需求的軟件,因此要想方法推廣該軟件讓更多的用戶下載并使用。另外還有產品運營。及時更新內容及創辦相關活動吸引用戶持續使用該軟件,如氣象攝影大賽、有獎知識競答以及參觀氣象局等。
參考文獻:
[1]郝穎婕,郁舒蘭.基于iOS系統手機APP界面設計研究[J].家具與室內裝飾,2016,04:70-71.
[2]邱燦清.基于IOS的智慧生活信息服務平臺設計與實現[J].無線通信技術,2015,04:44-48.
[3]胡江,王陽.基于iOS和SensorTag的數據采集系統設計[J].浙江萬里學院學報,2016,01:92-96.