中圖分類號(hào): P415.1+2 文獻(xiàn)標(biāo)志碼:B 文章編號(hào):2095-3305(2025)05-0245-03
黔東南州的地面自動(dòng)站是氣象觀測(cè)的關(guān)鍵基礎(chǔ)設(shè)施。截至2024年底,黔東南地區(qū)擁有國(guó)家級(jí)氣象自動(dòng)監(jiān)測(cè)站16個(gè)、土壤水分監(jiān)測(cè)站11個(gè)、區(qū)域監(jiān)測(cè)站546個(gè),以及3部X波段雷達(dá)、1部C波段雷達(dá)和1部S波段雷達(dá),還有16套天氣現(xiàn)象觀測(cè)設(shè)備。這些設(shè)施顯著提升了黔東南州對(duì)災(zāi)害性天氣的監(jiān)測(cè)能力。然而,由于氣象地面自動(dòng)站常年部署在野外,加之黔東南秋冬季節(jié)陰雨連綿,隨著使用年限的增加,故障發(fā)生的概率也隨之上升,導(dǎo)致數(shù)據(jù)滯后和缺測(cè)等異常情況時(shí)有發(fā)生。監(jiān)測(cè)數(shù)據(jù)的準(zhǔn)確性和實(shí)時(shí)性對(duì)氣象預(yù)報(bào)、氣候研究及防災(zāi)減災(zāi)工作至關(guān)重要。傳統(tǒng)的人工監(jiān)控方式存在效率低下、反應(yīng)速度慢等問題,已經(jīng)不能滿足現(xiàn)代氣象服務(wù)的高標(biāo)準(zhǔn)需求。因此,開發(fā)一套針對(duì)黔東南地面自動(dòng)站的數(shù)據(jù)智能監(jiān)控報(bào)警系統(tǒng)顯得尤為重要。
1研究背景
關(guān)于如何更好獲取自動(dòng)站監(jiān)測(cè)故障數(shù)據(jù),李雪松等[認(rèn)為,可以基于“天鏡”數(shù)據(jù)傳輸系統(tǒng),讀取數(shù)據(jù)并提取監(jiān)控信息后,按照中國(guó)氣象局考核要求,篩選出當(dāng)時(shí)次缺報(bào)站點(diǎn)和各類型數(shù)據(jù)總?cè)眻?bào)數(shù)量,根據(jù)撥號(hào)邏輯算法匹配電話信息并撥出自動(dòng)語(yǔ)音。白鐵男等[2]提出基于手機(jī)App,開發(fā)一款可以監(jiān)控區(qū)域自動(dòng)站、天氣雷達(dá)站、網(wǎng)絡(luò)連通性、接口服務(wù)狀態(tài),同時(shí)面向多業(yè)務(wù)用戶群體的貴州氣象綜合監(jiān)控系統(tǒng)。章超等[3認(rèn)為,可以通過高頻調(diào)用區(qū)域站報(bào)文資料和站點(diǎn)基礎(chǔ)信息,滾動(dòng)存儲(chǔ)至數(shù)據(jù)服務(wù)器,實(shí)現(xiàn)站點(diǎn)觀測(cè)數(shù)據(jù)的分鐘級(jí)查詢功能,通過站點(diǎn)報(bào)文數(shù)據(jù)解譯、分析,以及加工處理,結(jié)合報(bào)文識(shí)別算法進(jìn)行設(shè)備狀態(tài)監(jiān)控。劉永強(qiáng)等4認(rèn)為,自動(dòng)監(jiān)測(cè)系統(tǒng)為氣象監(jiān)測(cè)預(yù)報(bào)服務(wù)提供了準(zhǔn)確及時(shí)的數(shù)據(jù)支撐,達(dá)到了“主動(dòng)監(jiān)控”“主動(dòng)保障”的目的。
國(guó)內(nèi)外在氣象自動(dòng)監(jiān)測(cè)站故障監(jiān)控報(bào)警系統(tǒng)的研發(fā)方面已經(jīng)有一定的基礎(chǔ)和進(jìn)展,但仍有改進(jìn)和優(yōu)化的空間[5-8]。研究借鑒現(xiàn)有的成果和技術(shù)經(jīng)驗(yàn),結(jié)合黔東南地區(qū)的具體需求,進(jìn)一步研發(fā)和完善故障監(jiān)控報(bào)警系統(tǒng)。
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)目標(biāo)
通過對(duì)“貴州省氣象綜合業(yè)務(wù)監(jiān)控大屏”的監(jiān)控內(nèi)容進(jìn)行分析,利用Python語(yǔ)言編寫程序,自動(dòng)讀取監(jiān)控大屏接口信息,實(shí)現(xiàn)對(duì)氣象自動(dòng)監(jiān)測(cè)站設(shè)備數(shù)據(jù)傳輸情況、設(shè)備運(yùn)行狀態(tài)等關(guān)鍵指標(biāo)的實(shí)時(shí)監(jiān)控。一旦發(fā)現(xiàn)黔東南州氣象自動(dòng)站數(shù)據(jù)傳輸逾限、缺報(bào)等問題,則立刻通過獲取異常站點(diǎn)數(shù)據(jù)需要向大屏監(jiān)控網(wǎng)站發(fā)起一個(gè)post請(qǐng)求,以獲得一個(gè)JSON格式的異常站點(diǎn)數(shù)據(jù),對(duì)返回的JSON數(shù)據(jù)進(jìn)行解析,拼接成報(bào)警內(nèi)容字符串。就通過企業(yè)微信平臺(tái)自動(dòng)發(fā)送故障站點(diǎn)情況給設(shè)備保障人員,以便他們能夠及時(shí)處理,從而提高氣象設(shè)備運(yùn)行的穩(wěn)定性。
2.2 功能模塊設(shè)計(jì)
系統(tǒng)流程如圖1所示,具體設(shè)計(jì)如下。
(1)數(shù)據(jù)采集模塊:從“貴州省氣象綜合業(yè)務(wù)監(jiān)控大屏”的API接口獲取數(shù)據(jù),包括站點(diǎn)數(shù)據(jù)傳輸狀態(tài)及設(shè)備運(yùn)行狀態(tài)等關(guān)鍵指標(biāo)。使用Python的requests庫(kù)發(fā)送HTTP請(qǐng)求,獲取JSON格式的數(shù)據(jù)。
(2)數(shù)據(jù)處理模塊:對(duì)收集到的數(shù)據(jù)進(jìn)行分析、清洗和存儲(chǔ)。解析JSON數(shù)據(jù),提取關(guān)鍵信息,使用開發(fā)者模式對(duì)大屏監(jiān)控網(wǎng)站數(shù)據(jù)源進(jìn)行分析,找出異常站點(diǎn)數(shù)據(jù)獲取的API和請(qǐng)求參數(shù)。
(3)監(jiān)控分析模塊:實(shí)現(xiàn)對(duì)數(shù)據(jù)傳輸狀態(tài)和設(shè)備運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)控與智能分析。設(shè)置監(jiān)控指標(biāo)的閾值,如數(shù)據(jù)傳輸延遲時(shí)間、數(shù)據(jù)缺失率等;運(yùn)用算法對(duì)數(shù)據(jù)進(jìn)行分析,判斷是否出現(xiàn)異常情況;對(duì)異常情況進(jìn)行分類和標(biāo)記,為后續(xù)的報(bào)警處理提供依據(jù)。
(4)報(bào)警通知模塊:當(dāng)檢測(cè)到異常情況時(shí),通過企業(yè)微信平臺(tái)自動(dòng)發(fā)送報(bào)警通知給裝備人員。使用企業(yè)微信官方提供的API,通過編寫代碼來發(fā)送通知消息;通知內(nèi)容包括站點(diǎn)名稱、發(fā)生時(shí)間、故障問題等詳細(xì)信息,以便運(yùn)維人員快速定位并處理問題。
3關(guān)鍵技術(shù)的實(shí)現(xiàn)
3.1 開發(fā)環(huán)境
Python3.7,Google Chrome(版本131.0.6778.205),chromedriver-win64(谷歌瀏覽器驅(qū)動(dòng)程序)。
3.2 使用庫(kù)
requests(網(wǎng)絡(luò)請(qǐng)求)、datetime(時(shí)間處理)、selenium(自動(dòng)化Web應(yīng)用程序測(cè)試)。
3.3 設(shè)計(jì)思路
(1)網(wǎng)絡(luò)分析:使用開發(fā)者模式對(duì)大屏監(jiān)控網(wǎng)站數(shù)據(jù)源進(jìn)行分析,找出異常站點(diǎn)數(shù)據(jù)獲取的API和請(qǐng)求參數(shù)。通過selenium自動(dòng)化Web應(yīng)用程序測(cè)試庫(kù),模擬登錄大屏監(jiān)控網(wǎng)站,捕獲登錄過程中發(fā)起的數(shù)據(jù)請(qǐng)求標(biāo)頭,獲取Authorization授權(quán)令牌。使用requests庫(kù)構(gòu)造post請(qǐng)求,獲取異常站點(diǎn)數(shù)據(jù)。
(2)獲取Authorization授權(quán)令牌:由于網(wǎng)站需要用戶名、密碼登錄,每次登錄后Authorization值會(huì)改變,所以要成功發(fā)起數(shù)據(jù)請(qǐng)求,需要獲取Authorization值。具體方法為,使用selenium自動(dòng)化Web應(yīng)用程序測(cè)試庫(kù),通過XPATH定位,找到用戶名和密碼的輸入框,模擬登錄大屏監(jiān)控網(wǎng)站http://10.203.6.131:8080/index#,捕獲網(wǎng)站在登錄過程中發(fā)起的數(shù)據(jù)請(qǐng)求標(biāo)頭,找到請(qǐng)求標(biāo)頭中的Authorization值。
(3)構(gòu)造當(dāng)前時(shí)次異常站點(diǎn)數(shù)據(jù)請(qǐng)求:獲取異常站點(diǎn)數(shù)據(jù)需要向大屏監(jiān)控網(wǎng)站發(fā)起一個(gè)post請(qǐng)求,以獲得一個(gè)JSON格式的異常站點(diǎn)數(shù)據(jù)。請(qǐng)求的詳細(xì)格式如圖2所示。其中,請(qǐng)求包含url、headers、data這3個(gè)參數(shù),url為請(qǐng)求地址,headers中主要參數(shù)為Authorization授權(quán)令牌,data中的參數(shù)為行政區(qū)劃編碼。
(4)對(duì)返回的JSON數(shù)據(jù)進(jìn)行解析,拼接成報(bào)警內(nèi)容字符串。
(5)創(chuàng)建企業(yè)微信應(yīng)用,獲取應(yīng)用id和密鑰。使用企業(yè)微信應(yīng)用,通過post請(qǐng)求方式,發(fā)送報(bào)警信息至企業(yè)應(yīng)用。地址url=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token ? {access_token}'。其中accesstoken為企業(yè)應(yīng)用密鑰。具體格式如圖3所示。
3.4異常判斷邏輯
對(duì)返回的JSON數(shù)據(jù)進(jìn)行解析,提取關(guān)鍵信息,如數(shù)據(jù)傳輸延遲、數(shù)據(jù)缺失、設(shè)備故障等。根據(jù)預(yù)設(shè)的監(jiān)控指標(biāo)閾值,判斷數(shù)據(jù)是否異常。若數(shù)據(jù)傳輸延遲超過設(shè)定的閾值,則判斷為數(shù)據(jù)傳輸異常;若設(shè)備連續(xù)一段時(shí)間未返回有效數(shù)據(jù),則判斷為設(shè)備故障。
3.5企業(yè)微信通知機(jī)制
利用企業(yè)微信App,建立自動(dòng)站維修保障企業(yè)微信群。通過獲取應(yīng)用id和密鑰,使用企業(yè)微信官方提供的消息發(fā)送API,構(gòu)造post請(qǐng)求,將報(bào)警信息發(fā)送至企業(yè)微信群。設(shè)置消息的接收者、消息類型、消息內(nèi)容等參數(shù),確保消息能夠及時(shí)、準(zhǔn)確地發(fā)送至相關(guān)運(yùn)維人員手中。
4系統(tǒng)測(cè)試與結(jié)果分析
4.1 功能測(cè)試
對(duì)監(jiān)控系統(tǒng)的各個(gè)功能模塊進(jìn)行測(cè)試,包括數(shù)據(jù)采集、數(shù)據(jù)處理、監(jiān)控分析、報(bào)警通知、系統(tǒng)管理等,包括檢查數(shù)據(jù)采集是否準(zhǔn)確、完整,數(shù)據(jù)處理是否正確、高效,監(jiān)控分析是否能夠及時(shí)發(fā)現(xiàn)異常,報(bào)警通知是否能夠準(zhǔn)確發(fā)送,系統(tǒng)管理功能是否完善、易用。測(cè)試結(jié)果表明,該系統(tǒng)能夠較好地從“貴州省氣象綜合業(yè)務(wù)監(jiān)控大屏”監(jiān)控端獲取自動(dòng)站運(yùn)行情況及數(shù)據(jù)傳輸?shù)南嚓P(guān)信息,系統(tǒng)能夠?qū)Ψ祷氐腏SON數(shù)據(jù)進(jìn)行有效解析,并將其拼接成報(bào)警內(nèi)容字符串,借助企業(yè)微信應(yīng)用,通過post請(qǐng)求方式,將報(bào)警信息發(fā)送至企業(yè)應(yīng)用,使得維修保障人員能夠及時(shí)了解站點(diǎn)運(yùn)行情況,大大提高設(shè)備運(yùn)行效率。
4.2 性能測(cè)試
測(cè)試系統(tǒng)的性能指標(biāo),主要是測(cè)試系統(tǒng)兼容性,包括響應(yīng)時(shí)間、資源利用率等。模擬高發(fā)情況下多個(gè)氣象自動(dòng)監(jiān)測(cè)站同時(shí)上傳數(shù)據(jù),以及各用戶集中發(fā)起數(shù)據(jù)訪問請(qǐng)求的情況,檢查系統(tǒng)的平均響應(yīng)時(shí)間及服務(wù)器CPU、內(nèi)存等資源利用率是否在正常范圍內(nèi),設(shè)置縮短報(bào)警發(fā)送時(shí)間間隔,增加發(fā)送次數(shù),測(cè)試在連續(xù)故障報(bào)警情況下故障數(shù)據(jù)的準(zhǔn)確性和系統(tǒng)穩(wěn)定性。通過測(cè)試,根據(jù)貴州省氣象數(shù)據(jù)傳輸考核要求,在1h時(shí)間間隔內(nèi),系統(tǒng)完全能夠準(zhǔn)確、及時(shí)發(fā)送所獲取的自動(dòng)站故障信息至企業(yè)微信App,滿足黔東南地區(qū)氣象自動(dòng)站運(yùn)行情況的監(jiān)控要求。同時(shí),對(duì)小程序在安裝電腦兼容性進(jìn)行測(cè)試,通過測(cè)試,小程序在谷歌瀏覽器(GoogleChrome,版本131.0.6778.205)驅(qū)動(dòng)程序chromedriver-win64上運(yùn)行較穩(wěn)定,其他版本存在偶爾無法運(yùn)行的情況。
4.3 安全測(cè)試
本系統(tǒng)設(shè)計(jì)時(shí)在安全性能方面,結(jié)合MyBatis+MySQL技術(shù)棧,對(duì)系統(tǒng)進(jìn)行安全測(cè)試,確保系統(tǒng)的安全性。檢查系統(tǒng)的用戶認(rèn)證、授權(quán)、數(shù)據(jù)加密等安全機(jī)制是否有效,防止非法用戶訪問和數(shù)據(jù)泄露,對(duì)系統(tǒng)進(jìn)行漏洞掃描,修復(fù)可能存在的安全漏洞,同時(shí)嚴(yán)格對(duì)報(bào)警接收員進(jìn)行審核管理,從而確保數(shù)據(jù)安全。
5結(jié)束語(yǔ)
項(xiàng)目聚焦于黔東南州氣象自動(dòng)站監(jiān)測(cè)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),借助當(dāng)前常用的智能手機(jī),利用企業(yè)微信App搭建一套實(shí)時(shí)監(jiān)控自動(dòng)站數(shù)據(jù)傳輸?shù)南到y(tǒng),用于監(jiān)測(cè)黔東南州氣象自動(dòng)站設(shè)備的運(yùn)行情況。系統(tǒng)能自動(dòng)從“貴州省氣象綜合業(yè)務(wù)監(jiān)控大屏”接口獲取數(shù)據(jù),時(shí)刻監(jiān)控氣象數(shù)據(jù)傳輸、氣象設(shè)備運(yùn)行的情況。
同時(shí),系統(tǒng)運(yùn)用先進(jìn)的智能算法對(duì)獲取的數(shù)據(jù)進(jìn)行深度剖析,一旦發(fā)現(xiàn)數(shù)據(jù)傳輸存在缺報(bào)、逾限等異常情況,或者氣象設(shè)備出現(xiàn)故障,系統(tǒng)會(huì)立即通過企業(yè)微信向保障人員推送預(yù)警信息。這一功能確保了保障人員能夠及時(shí)掌握單位自動(dòng)站的運(yùn)行狀況,從而迅速響應(yīng)并解決各類故障問題。此外,系統(tǒng)還配備了簡(jiǎn)潔且詳細(xì)的操作手冊(cè),方便運(yùn)維人員快速熟悉,高效管理整個(gè)系統(tǒng)。
本項(xiàng)目的實(shí)施,實(shí)現(xiàn)了對(duì)黔東南州地面自動(dòng)站數(shù)據(jù)傳輸狀態(tài)的實(shí)時(shí)監(jiān)控和智能分析,快速發(fā)現(xiàn)并預(yù)警數(shù)據(jù)傳輸中的異常情況,如數(shù)據(jù)缺失、延遲或異常波動(dòng)等,縮短了故障響應(yīng)時(shí)間,提高數(shù)據(jù)的整體可用性。通過減輕人工監(jiān)控的負(fù)擔(dān),提升了工作效率,為氣象預(yù)報(bào)、氣候研究及防災(zāi)減災(zāi)提供了更加可靠和及時(shí)的數(shù)據(jù)支持,從而進(jìn)一步提升了氣象服務(wù)的水平。下一步,計(jì)劃持續(xù)升級(jí)系統(tǒng),優(yōu)化監(jiān)控系統(tǒng)的性能與功能,確保監(jiān)控系統(tǒng)運(yùn)行安全和穩(wěn)定,同時(shí)提供易于使用的系統(tǒng)界面和相應(yīng)的用戶操作手冊(cè),便于運(yùn)維人員快速上手并有效管理系統(tǒng)。界面設(shè)計(jì)簡(jiǎn)潔明了,操作流程清晰易懂,同時(shí)操作手冊(cè)將涵蓋系統(tǒng)安裝、配置、使用及維護(hù)等方面,為運(yùn)維人員提供全面指導(dǎo)。同時(shí)為黔東南州氣象預(yù)報(bào)、氣候研究及防災(zāi)減災(zāi)提供更加可靠和及時(shí)的數(shù)據(jù)支持,從而進(jìn)一步提升當(dāng)?shù)貧庀蠓?wù)的能力和水平。
參考文獻(xiàn)
[1]李雪松,尹娟,邵戎,等.基于“天鏡”氣象數(shù)據(jù)傳輸?shù)淖詣?dòng)語(yǔ)音撥號(hào)監(jiān)控系統(tǒng)的研發(fā)[J].氣象水文海洋儀器,2024,41(3):45-48.
[2]白鐵男,譚海波,金石聲,等.基于手機(jī)APP的貴州氣象綜合監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].氣象科技,2024,52(3):347-355.
[3]章超,汪瑋,趙寶義,等.安徽省區(qū)域自動(dòng)氣象站運(yùn)行監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].氣象水文海洋儀器,2023,40(2):120-122.
[4]劉永強(qiáng),楊菊梅,薛邦貴,等.自動(dòng)氣象站工作狀態(tài)遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].氣象水文海洋儀器,2023,40(3):131-133,137.
[5]楊昌洪,楊勝忠,黃大衛(wèi).國(guó)家常規(guī)氣象站供電狀態(tài)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中低緯山地氣象,2021,45(2):86-90.
[6]李文韜,張明潔,劉策.區(qū)域自動(dòng)氣象站監(jiān)控報(bào)警與技術(shù)保障遠(yuǎn)程支持系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].山東科學(xué),2020,33(1):1-7.
[7]任芝花,張志富,孫超,等.全國(guó)自動(dòng)氣象站實(shí)時(shí)觀測(cè)資料三級(jí)質(zhì)量控制系統(tǒng)研制[J].氣象,2015,41(10):1268-1277.
[8]侯江生,鄒哲馨.賀州市區(qū)域自動(dòng)氣象站監(jiān)控平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].氣象研究與應(yīng)用,2018,39(4):74-76.94