• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于微信的“雨在哪”小程序設(shè)計(jì)與實(shí)現(xiàn)

    2021-07-19 20:25:16王家樂(lè)
    電腦知識(shí)與技術(shù) 2021年15期
    關(guān)鍵詞:微信小程序

    王家樂(lè)

    摘要:近年來(lái),智能手機(jī)應(yīng)用悄然興起,人們依賴(lài)手機(jī)獲取天氣實(shí)況愈來(lái)愈顯著。文章基于微信,研發(fā)了“雨在哪”微信小程序,實(shí)現(xiàn)了內(nèi)蒙古自治區(qū)歷史、實(shí)時(shí)降水信息的展示,用戶(hù)可針對(duì)性對(duì)降水嚴(yán)重區(qū)域進(jìn)行防范,避免由于嚴(yán)重降水引起的各類(lèi)災(zāi)害。

    關(guān)鍵詞:微信小程序;數(shù)據(jù)接口;降水產(chǎn)品

    中圖分類(lèi)號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

    文章編號(hào):1009-3044(2021)15-0082-03

    1 背景

    降水包括雨、雪、雨夾雪等相態(tài),不同降水相態(tài)對(duì)應(yīng)的降水量級(jí)具有差異性,降水過(guò)度會(huì)嚴(yán)重影響人們的生活,造成不同程度的災(zāi)害,因此及時(shí)將降水相態(tài)、降水落區(qū)及降水的量級(jí)推送給社會(huì)活動(dòng)人員對(duì)氣象防災(zāi)減災(zāi)至關(guān)重要。近年來(lái),通過(guò)智能手機(jī)的微信應(yīng)用獲取各種信息資源已經(jīng)成為當(dāng)今社會(huì)的主流趨勢(shì),微信具有操作簡(jiǎn)便、交流高效、信息推送精準(zhǔn)等優(yōu)點(diǎn),這些都為實(shí)現(xiàn)基于微信的“雨在哪”小程序設(shè)計(jì)與應(yīng)用(以下簡(jiǎn)稱(chēng)“雨在哪”)奠定了基礎(chǔ)。本文將對(duì)該系統(tǒng)設(shè)計(jì)與應(yīng)用進(jìn)行介紹。

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

    2.1 總體結(jié)構(gòu)設(shè)計(jì)

    “雨在哪”微信小程序[1]主要基于氣象局內(nèi)部私有云平臺(tái)進(jìn)行建設(shè),在公有云上適當(dāng)補(bǔ)充。數(shù)據(jù)環(huán)境主要基于內(nèi)蒙古氣象大數(shù)據(jù)云平臺(tái)-天擎數(shù)據(jù)環(huán)境,應(yīng)用軟件由微信小程序、接口應(yīng)用、后端數(shù)據(jù)處理應(yīng)用三部分組成。

    微信小程序和接口應(yīng)用部署在公有云虛擬服務(wù)器上。前端部署負(fù)載均衡設(shè)備進(jìn)行任務(wù)調(diào)度,提供高并發(fā)訪(fǎng)問(wèn)下的數(shù)據(jù)分流處理。網(wǎng)絡(luò)入口處部署防火墻,進(jìn)行網(wǎng)絡(luò)攻擊攔截,既能夠?qū)崿F(xiàn)數(shù)據(jù)的高效傳輸,也能夠保證數(shù)據(jù)訪(fǎng)問(wèn)的安全性。

    后端數(shù)據(jù)處理應(yīng)用,基于處理服務(wù)組件,具備多并發(fā)實(shí)時(shí)處理功能。后端數(shù)據(jù)處理基于氣象局內(nèi)部私有云,根據(jù)業(yè)務(wù)需要獲取全區(qū)預(yù)報(bào),實(shí)況,歷史降水信息,對(duì)這些數(shù)據(jù)進(jìn)行分析加工,生成可供應(yīng)用快速方便高效使用的結(jié)構(gòu)化數(shù)據(jù)。隨著業(yè)務(wù)發(fā)展的需求和訪(fǎng)問(wèn)量的增加,可以擴(kuò)展處理服務(wù)器的數(shù)量。

    2.2 總體結(jié)構(gòu)設(shè)計(jì)

    系統(tǒng)由基礎(chǔ)設(shè)施層、數(shù)據(jù)訪(fǎng)問(wèn)層、數(shù)據(jù)加工層、應(yīng)用接口層和展示層五個(gè)功能模塊組成。每個(gè)模塊實(shí)現(xiàn)其特定的核心任務(wù),下層為上層提供支撐,同時(shí)上層從下層獲得基礎(chǔ)數(shù)據(jù)并服務(wù),功能模塊見(jiàn)圖1:

    1)展示層

    展示層是系統(tǒng)操作界面,面向的用戶(hù)是自治區(qū)級(jí)、盟市級(jí)和旗縣級(jí)從事氣象服務(wù)相關(guān)工作或社會(huì)活動(dòng)人員,用戶(hù)通過(guò)手機(jī)搜索“雨在哪”即可使用。

    2)應(yīng)用接口層

    應(yīng)用接口層是系統(tǒng)業(yè)務(wù)邏輯處理的核心部分,采用REST服務(wù)方式實(shí)現(xiàn)與展示層的信息請(qǐng)求交互,該方式降低了系統(tǒng)開(kāi)發(fā)的復(fù)雜性和耦合度,提高了系統(tǒng)的可擴(kuò)展性。

    3)數(shù)據(jù)加工層

    數(shù)據(jù)加工層是對(duì)基礎(chǔ)數(shù)據(jù)預(yù)處理,包括實(shí)況降水?dāng)?shù)據(jù)統(tǒng)計(jì)、歷史數(shù)據(jù)集解碼入庫(kù)、歷史數(shù)據(jù)統(tǒng)計(jì),最終生成有效的降水?dāng)?shù)據(jù)產(chǎn)品,應(yīng)用接口層基于此產(chǎn)品完成數(shù)據(jù)接口開(kāi)發(fā)。

    4)數(shù)據(jù)訪(fǎng)問(wèn)層

    數(shù)據(jù)訪(fǎng)問(wèn)層是進(jìn)行邏輯算法與基礎(chǔ)數(shù)據(jù)環(huán)境的數(shù)據(jù)交互層,對(duì)各類(lèi)數(shù)據(jù)庫(kù)進(jìn)行適配,本文應(yīng)用的數(shù)據(jù)庫(kù)為XUGU分布式數(shù)據(jù)庫(kù)和postgreSQL數(shù)據(jù)庫(kù)。為了保證氣象基礎(chǔ)數(shù)據(jù)使用安全,采用ETL從“天擎”數(shù)據(jù)環(huán)境抽取實(shí)況數(shù)據(jù)和建站以來(lái)的極端降水并加載至“雨在哪”數(shù)據(jù)環(huán)境。

    5)基礎(chǔ)設(shè)施層

    基礎(chǔ)設(shè)施層是支撐“雨在哪”微信小程序部署的軟硬件環(huán)境,部署在內(nèi)蒙古自治區(qū)氣象信息中心的虛擬化資源池,主要包括WEB服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器。

    3 系統(tǒng)功能實(shí)現(xiàn)

    3.1 “雨在哪”微信小程序基礎(chǔ)框架

    微信小程序由邏輯層、視圖層和app文件組成[2]。邏輯層是用JavaScript代碼編寫(xiě)的js文件,實(shí)現(xiàn)頁(yè)面邏輯的編寫(xiě);視圖層由wxml和wxss組成,是面向用戶(hù)的頁(yè)面結(jié)構(gòu)和樣式,將邏輯數(shù)據(jù)反映成視圖展現(xiàn)給用戶(hù),同時(shí)將用戶(hù)請(qǐng)求的事件發(fā)送給邏輯層;app文件是微信小程序的全局配置JSON文件,定義頁(yè)面文件的路徑、視圖的大小、網(wǎng)絡(luò)連接超時(shí)等信息。

    3.2 基于A文件的歷史降水?dāng)?shù)據(jù)集制作

    A文件的觀測(cè)數(shù)據(jù)由20個(gè)地面要素構(gòu)成,每個(gè)要素在文件中的排列順序是固定的。20個(gè)要素的名稱(chēng)(指示碼)排列順序如下:氣壓(P)、氣溫(T)、濕球溫度(I)、水汽壓(E)、相對(duì)濕度(U)、云量(N)、云高(H)、云狀(C)、能見(jiàn)度(V)、降水量(R)、天氣現(xiàn)象(W)、蒸發(fā)量(L)、積雪(Z)、電線(xiàn)積冰(G)、風(fēng)(F)、淺層地溫(D)、深層地溫(K)、凍土深度(A)、日照時(shí)數(shù)(S)、草面(雪面)溫度(B)。

    歷史降水?dāng)?shù)據(jù)集的制作程序主要采用的是JAVA語(yǔ)言,遍歷建站以來(lái)的A文件資料,逐行讀取A文件內(nèi)容,當(dāng)解析到降水量(R)和天氣現(xiàn)象(W)指示碼后,提取的降水量和天氣現(xiàn)象數(shù)據(jù)制作數(shù)據(jù)產(chǎn)品,數(shù)據(jù)集制作完成后,按照站號(hào)、站名、觀測(cè)時(shí)間、降水量、降水相態(tài)降水經(jīng)由入庫(kù)程序?qū)懭氲綌?shù)據(jù)庫(kù),處理流程見(jiàn)圖2:

    3.3 基于ETL的歷史實(shí)時(shí)降水?dāng)?shù)據(jù)產(chǎn)品加工

    ETL是Extraction-Transformation-Loading的縮寫(xiě),中文名為數(shù)據(jù)抽取、轉(zhuǎn)換和加載[3]。利用ETL技術(shù)將氣象觀測(cè)數(shù)據(jù)從天擎數(shù)據(jù)環(huán)境抽取出來(lái),經(jīng)過(guò)一系列的融合轉(zhuǎn)換[4],然后加載至“雨在哪”數(shù)據(jù)環(huán)境中,數(shù)據(jù)產(chǎn)品包括實(shí)時(shí)分鐘降水產(chǎn)品、實(shí)時(shí)小時(shí)降水產(chǎn)品、各個(gè)臺(tái)站24小時(shí)降水滾動(dòng)統(tǒng)計(jì)產(chǎn)品、各盟市24小時(shí)降水滾動(dòng)統(tǒng)計(jì)產(chǎn)品、歷史極值統(tǒng)計(jì)產(chǎn)品和歷史降水極值排名,主要流程見(jiàn)圖3。

    1)數(shù)據(jù)抽取

    為了保證數(shù)據(jù)正確性,逐時(shí)從天擎數(shù)據(jù)環(huán)境抽取中國(guó)地面分鐘資料、中國(guó)地面小時(shí)資料、中國(guó)地面日值資料,分鐘資料抽取近三小時(shí)數(shù)據(jù)、小時(shí)資料抽取近三天數(shù)據(jù)、日值資料抽取近一個(gè)月數(shù)據(jù)。

    2)轉(zhuǎn)換加載

    為了保證數(shù)據(jù)安全性,分鐘資料保留一天、小時(shí)資料保留三天?;谛r(shí)降水?dāng)?shù)據(jù),逐時(shí)滾動(dòng)統(tǒng)計(jì)01-01、02-02……23-23的近24小時(shí)降水累計(jì)產(chǎn)品,該產(chǎn)品保存10天;基于近24小時(shí)降水累計(jì)產(chǎn)品,統(tǒng)計(jì)各盟市近24小時(shí)降水統(tǒng)計(jì)產(chǎn)品,內(nèi)容包括降水站點(diǎn)總數(shù)、降水量級(jí)劃分和最大降水及最大小時(shí)雨強(qiáng)等信息;基于歷史降水產(chǎn)品和日降水?dāng)?shù)據(jù),統(tǒng)計(jì)各個(gè)臺(tái)站超歷史同期極值或超歷史同期極值的臺(tái)站及歷史降水量排名,加載至微信小程序數(shù)據(jù)環(huán)境。

    3.4 “雨在哪”微信小程序接口實(shí)現(xiàn)

    接口開(kāi)發(fā)采用JAVA語(yǔ)言,開(kāi)發(fā)框架是HttpServlet的web服務(wù),主要由服務(wù)地址、接口ID、接口參數(shù)和返回格式四部分組成[5]。接口ID的命名能反映接口的基本功能、適應(yīng)的數(shù)據(jù)種類(lèi)和檢索條件等內(nèi)容,接口命名使用駝峰風(fēng)格(lowerCamelCase);接口參數(shù)類(lèi)型分成了資料屬性、要素屬性、時(shí)間屬性、空間屬性,多個(gè)參數(shù)用&拼接;返回?cái)?shù)據(jù)格式為JSON。

    服務(wù)接口路徑格式:(https://wapp.tqonline.top/wx-miniprogram-rain-service-interface/preDistribution/接口ID/接口參數(shù)/返回格式)?;跉v史實(shí)時(shí)統(tǒng)計(jì)產(chǎn)品,編寫(xiě)“雨在哪”微信小程序調(diào)用接口,實(shí)現(xiàn)小程序和后臺(tái)數(shù)據(jù)的交互,主要接口見(jiàn)表1:

    4 系統(tǒng)展示效果

    “雨在哪”微信小程序的首頁(yè)分為上中下三部分展示[6],上部分是時(shí)間段選擇區(qū)域,tab標(biāo)簽切換顯示地圖上不同區(qū)域降水分布信息。中間部分為地圖顯示區(qū)域,展示所有站點(diǎn)降水情況,地圖左下角兩個(gè)圖標(biāo),上圖標(biāo)為降水總覽,下圖標(biāo)為重置定位點(diǎn)。下部分為站點(diǎn)信息顯示區(qū)域,默認(rèn)顯示近24小時(shí)降水量實(shí)況,也可切換顯示分鐘降水量實(shí)況;向上滑動(dòng)顯示歷史降水量前五名出現(xiàn)時(shí)間和累計(jì)降水量;點(diǎn)擊“降水總覽”按鈕,進(jìn)入全區(qū)降水總覽頁(yè)面,可以查看全區(qū)最大降水量、最大降水強(qiáng)度、超極值降水臺(tái)站詳情及降水量級(jí)分布情況?!坝暝谀摹蔽⑿判〕绦蛘故疽?jiàn)圖4:

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

    “雨在哪”微信小程序完成了歷史實(shí)時(shí)降水?dāng)?shù)據(jù)產(chǎn)品的制作,為小程序提供了高效的數(shù)據(jù)支撐。應(yīng)用方面不僅滿(mǎn)足了內(nèi)外部消息發(fā)布及溝通,而且降水實(shí)況信息可在微信內(nèi)被便捷獲取和傳播,同時(shí)結(jié)合訂閱號(hào)、企業(yè)號(hào)、服務(wù)號(hào)使用戶(hù)獲得更加便捷的使用體驗(yàn)。

    參考文獻(xiàn):

    [1] 張晨,王奇博.基于微信小程序的氣象保障平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].湖北農(nóng)業(yè)科學(xué),2020,59(S1):443-446.

    [2] 劉玉佳.微信“小程序”開(kāi)發(fā)的系統(tǒng)實(shí)現(xiàn)及前景分析[J].信息通信,2017(1):260-261.

    [3] 趙建勛.基于Kettle的數(shù)據(jù)整合研究與實(shí)踐[J].西安文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2020,23(3):28-31,36.

    [4] 李莉嬌.基于KETTLE的專(zhuān)項(xiàng)項(xiàng)目庫(kù)數(shù)據(jù)同步方法研究[J].信息系統(tǒng)工程,2019(12):34-35.

    [5] 何文春,高峰,孫周軍,等.氣象數(shù)據(jù)服務(wù)接口規(guī)范[S].2020.

    [6] 吳志霞,葉根梅,甘麗,等.基于Vue.js框架實(shí)現(xiàn)移動(dòng)終端數(shù)據(jù)可視化研究與實(shí)踐[J].通化師范學(xué)院學(xué)報(bào),2020,41(6):62-66.

    【通聯(lián)編輯:謝媛媛】

    猜你喜歡
    微信小程序
    基于微信小程序的停車(chē)位租賃平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
    微信小程序在高校英語(yǔ)教學(xué)中的應(yīng)用
    考試周刊(2018年42期)2018-05-18 09:29:02
    微信小程序?qū)Υ髮W(xué)生使用APP意愿的影響
    基于微信小程序的點(diǎn)餐系統(tǒng)
    基于Webpy+Apache HTTP Server 微信小程序架構(gòu)搭建研究
    基于微信小程序的醫(yī)囑服務(wù)研究
    圖書(shū)館微信小程序的應(yīng)用現(xiàn)狀及前景分析
    基于CNKI的微信小程序研究文獻(xiàn)計(jì)量分析
    信息技術(shù)與專(zhuān)業(yè)課程融合路徑探索
    決策探索(2017年12期)2017-07-13 11:11:12
    當(dāng)圖書(shū)館遇上微信小程序
    东至县| 夏河县| 乌拉特中旗| 全州县| 青神县| 缙云县| 隆安县| 澎湖县| 文水县| 颍上县| 莲花县| 大余县| 遂平县| 莎车县| 石河子市| 高碑店市| 桃园市| 皮山县| 甘谷县| 略阳县| 阿坝县| 眉山市| 淮南市| 赣榆县| 孝义市| 都匀市| 洪湖市| 嵊州市| 石景山区| 得荣县| 连江县| 云林县| 荆州市| 贵定县| 金山区| 楚雄市| 建昌县| 仁布县| 普兰店市| 西平县| 临沧市|