前言:想要寫出一篇引人入勝的文章?我們特意為您整理了大數(shù)據(jù)下水資源管理系統(tǒng)設(shè)計(jì)淺析范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:針對現(xiàn)有水資源管理方式存在的數(shù)據(jù)孤島、數(shù)據(jù)質(zhì)量低、利用率不高等問題和互聯(lián)網(wǎng)+的時(shí)代要求,基于大數(shù)據(jù)、云計(jì)算等技術(shù),設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)水資源管理系統(tǒng)。通過從異構(gòu)的數(shù)據(jù)源采集各類水資源數(shù)據(jù),在大數(shù)據(jù)中心進(jìn)行數(shù)據(jù)的清洗、轉(zhuǎn)換、整合、分析和統(tǒng)計(jì),然后利用柱狀圖、折線圖等多種圖形從不同的維度對水資源數(shù)據(jù)進(jìn)行可視化展示,并通過五大系統(tǒng)模塊實(shí)現(xiàn)了對水資源的精細(xì)化管理,有助于構(gòu)建資源節(jié)約型和環(huán)境友好型社會,具有良好的推廣價(jià)值和意義。
關(guān)鍵詞:大數(shù)據(jù);云計(jì)算;水資源;可視化
1引言(Introduction)
我國一直是水利工程建設(shè)大國,在近年的高速發(fā)展過程中我國的水資源用水量一直處于高位,截至2020年,我國的總用水量總體維持在6,100億立方米左右。隨著時(shí)代的進(jìn)步和技術(shù)的發(fā)展,傳統(tǒng)的水資源管理模式已嚴(yán)重滯后,不利于我國水資源領(lǐng)域的可持續(xù)發(fā)展。當(dāng)今社會互聯(lián)網(wǎng)+、大數(shù)據(jù)技術(shù)正影響著各行各業(yè)的管理與建設(shè)[1-2],水資源領(lǐng)域急需使用大數(shù)據(jù)、云計(jì)算等新興技術(shù),提高我國水資源管理的能力,借助便利的互聯(lián)網(wǎng)技術(shù)與云計(jì)算技術(shù),提高水資源的利用率和各項(xiàng)管理業(yè)務(wù)操作的效率。
2水資源管理中存在的問題(Problemsinwaterresourcesmanagement)
在水資源管理領(lǐng)域,水資源相關(guān)的數(shù)據(jù)非常繁雜,數(shù)據(jù)管理長時(shí)間滯后,往往不能及時(shí)、直觀地反映當(dāng)前水資源的實(shí)際情況[3],具體表現(xiàn)在:(1)水資源數(shù)據(jù)地理位置的差異性。水資源監(jiān)測站點(diǎn)往往設(shè)置在不同位置,取樣位置的不同使得數(shù)據(jù)也會有較大差異性,用傳統(tǒng)人工方式處理較為繁重,難以整合[4]。(2)水資源數(shù)據(jù)的時(shí)效性。使用傳統(tǒng)的人工方式一般需要若干個(gè)星期才能完成數(shù)據(jù)的統(tǒng)計(jì)分析,往往錯(cuò)過利用數(shù)據(jù)及時(shí)發(fā)現(xiàn)問題的最佳時(shí)間[5]。(3)水資源數(shù)據(jù)煩瑣且不直觀。水資源數(shù)據(jù)量龐大且數(shù)據(jù)格式比較靈活多樣[6],傳統(tǒng)的數(shù)據(jù)表格統(tǒng)計(jì)方式難以直觀地反映水資源的使用情況,不利于管理者在處理突發(fā)事件時(shí)的決策與判斷。
3水資源管理解決方案(Waterresourcesmanagementsolutions)
基于以上問題,針對水資源數(shù)據(jù)煩瑣且不直觀的問題,本文使用水資源大數(shù)據(jù)可視化方案,將各個(gè)水資源監(jiān)控設(shè)備的采樣數(shù)據(jù)進(jìn)行整合,即基于大數(shù)據(jù)分析,將諸如歷史用水量、計(jì)劃用水量、設(shè)備狀態(tài)等各項(xiàng)信息加以整合,利用地圖、餅狀圖、折線圖等多種圖表在應(yīng)用層設(shè)計(jì)簡潔的界面,實(shí)現(xiàn)了水資源數(shù)據(jù)的可視化展示,通過合理的精度顯示以實(shí)現(xiàn)對水資源管理系統(tǒng)復(fù)雜數(shù)據(jù)的實(shí)時(shí)展示。該方法的優(yōu)點(diǎn)具體表現(xiàn)在:(1)直觀展現(xiàn)水資源監(jiān)測點(diǎn)的空間與時(shí)間分布。能夠在地圖中直觀實(shí)時(shí)地展現(xiàn)對應(yīng)監(jiān)測點(diǎn)的具體位置,并且及時(shí)反映監(jiān)測點(diǎn)當(dāng)前的監(jiān)控狀態(tài)。(2)展現(xiàn)變化趨勢。利用折線圖展現(xiàn)對應(yīng)的數(shù)據(jù)變化,能夠直觀反映數(shù)據(jù)變化趨勢,利于管理者對當(dāng)前用水形勢做出及時(shí)的判斷。(3)高效管理數(shù)據(jù)。利用大數(shù)據(jù)分析,將各個(gè)水資源監(jiān)測設(shè)備收集的數(shù)據(jù)進(jìn)行合理高效的增刪改查,方便從業(yè)者管理存儲的大量數(shù)據(jù)。(4)界面簡潔,用戶使用體驗(yàn)良好。簡潔的UI設(shè)計(jì)與便捷的操作能夠大幅提升用戶的使用體驗(yàn)感,提升操作對應(yīng)功能的流暢性。
4水資源管理系統(tǒng)架構(gòu)設(shè)計(jì)與應(yīng)用(Architecturedesignandapplicationofwaterresourcemanagementsystem)
水資源管理系統(tǒng)架構(gòu)設(shè)計(jì)分為四個(gè)方面:用于存放和管理數(shù)據(jù)的數(shù)據(jù)層、進(jìn)行數(shù)據(jù)收發(fā)的后端架構(gòu)、用戶進(jìn)行操作的前端架構(gòu)、進(jìn)行數(shù)據(jù)庫管理的管理軟件。其中,前端架構(gòu)是用戶操作與顯示的核心,后端架構(gòu)是數(shù)據(jù)處理與大數(shù)據(jù)管理的關(guān)鍵。為便于模塊化開發(fā),系統(tǒng)使用SpringBoot+Vue的前后端分離開發(fā)模式。
4.1數(shù)據(jù)層
水資源系統(tǒng)的數(shù)據(jù)源具有異構(gòu)多樣性,系統(tǒng)能夠利用互聯(lián)網(wǎng)技術(shù)遠(yuǎn)程獲取水資源監(jiān)測設(shè)備收集到的信息,也可以采用手工導(dǎo)入方式,如手動輸入相應(yīng)水資源信息,利用Excel表格導(dǎo)入表格信息等,還能夠利用其他設(shè)備諸如手機(jī)APP、小程序等提供信息,通過溫度檢測、水平面變化檢測等方式,收集對應(yīng)地區(qū)的用水量、用水設(shè)備的溫度、該區(qū)域的水平面、設(shè)備運(yùn)行狀態(tài)等各項(xiàng)數(shù)據(jù)。獲取的大量數(shù)據(jù)經(jīng)過后端的清洗、整理、計(jì)算、分析歸納,利用開源的Mybatisplus,通過數(shù)據(jù)持久層的操作,根據(jù)數(shù)據(jù)之間的關(guān)系將所需數(shù)據(jù)整理保存到傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(如MySQL、WindowsServer等)中。若要處理的數(shù)據(jù)量大于單個(gè)系統(tǒng)的處理極限時(shí),可通過開源工具Sqoop,將傳統(tǒng)關(guān)系型數(shù)據(jù)庫中的內(nèi)容提取、轉(zhuǎn)換、加載,并將數(shù)據(jù)進(jìn)行相應(yīng)格式的封裝,轉(zhuǎn)儲至MongoDB等對應(yīng)的NoSQL數(shù)據(jù)庫中,并且根據(jù)系統(tǒng)實(shí)際使用的需要進(jìn)行分布式系統(tǒng)的開發(fā),以減輕主服務(wù)器的負(fù)擔(dān)[7]。數(shù)據(jù)層與后端架構(gòu)的關(guān)系如圖1所示。由于水資源系統(tǒng)用戶多種多樣,需有效快捷地利用用戶登錄狀態(tài)獲取符合其角色的數(shù)據(jù),因此需要運(yùn)用比傳統(tǒng)關(guān)系型數(shù)據(jù)庫查詢速度更快地獲取用戶登錄鑰匙token的工具。利用NoSQL數(shù)據(jù)庫Redis對用戶登錄token進(jìn)行key與value的鍵值比對查詢可實(shí)現(xiàn)高效的跨域校驗(yàn),利用基于Redis的矢量時(shí)空查詢算法,相比傳統(tǒng)的Oracle,查詢效率提高近4.5倍,使用戶在獲取數(shù)據(jù)時(shí)獲得良好的交互體驗(yàn)[8]。
4.2后端架構(gòu)
后端架構(gòu)基于Spring框架,如圖2所示,根據(jù)功能設(shè)計(jì)分為實(shí)體層、服務(wù)層、映射層、控制層、攔截層與針對前端的HTTP接口。各層的作用與關(guān)系如下:(1)實(shí)體層通過創(chuàng)建對應(yīng)的水資源設(shè)備主體,如機(jī)井、計(jì)量設(shè)備、統(tǒng)計(jì)數(shù)據(jù)設(shè)備等模塊,將其作為容器用于保存對應(yīng)實(shí)體的相關(guān)信息,并在實(shí)體層保留訪問接口,用于訪問實(shí)體內(nèi)部對應(yīng)的內(nèi)容。具體實(shí)現(xiàn)可以借助Spring框架與Mybatisplus,在Spring中定義相對應(yīng)的水資源設(shè)備實(shí)體,然后利用Mybatisplus對數(shù)據(jù)庫進(jìn)行訪問存儲至數(shù)據(jù)持久層中,再通過定義好的主體進(jìn)行Bean注入,即可完成實(shí)體的構(gòu)建。當(dāng)需要獲取對應(yīng)數(shù)據(jù)時(shí),調(diào)用實(shí)體層對應(yīng)接口即可。通過實(shí)體層既能夠保證數(shù)據(jù)的安全性,又能夠在后續(xù)的開發(fā)中保證容器之間的獨(dú)立性,互不干擾。(2)服務(wù)層利用實(shí)體層已有的實(shí)體信息,調(diào)用實(shí)體層已有的接口,對實(shí)體進(jìn)行操作后將修改反映到數(shù)據(jù)庫當(dāng)中,以實(shí)現(xiàn)對應(yīng)的功能服務(wù)。具體實(shí)現(xiàn)為利用Mybatisplus將需要對數(shù)據(jù)庫進(jìn)行修改的對應(yīng)SQL語句封裝在Mapper對象中,以執(zhí)行對象中SQL語句的方式完成對數(shù)據(jù)庫的CRUD和事務(wù)提交,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)不外泄和安全保障。(3)映射層將對應(yīng)實(shí)體的業(yè)務(wù)操作進(jìn)行一一映射。根據(jù)業(yè)務(wù)需要調(diào)用服務(wù)層接口提供的相應(yīng)功能服務(wù),實(shí)現(xiàn)對應(yīng)的業(yè)務(wù)操作,保證業(yè)務(wù)的直接關(guān)聯(lián)性。(4)控制層將每個(gè)功能模塊所需的業(yè)務(wù)操作集成到一起,根據(jù)需要調(diào)用對應(yīng)業(yè)務(wù)操作,并作為定時(shí)任務(wù)關(guān)聯(lián)相應(yīng)模塊,在設(shè)定的時(shí)刻調(diào)用水資源業(yè)務(wù)需要的功能。(5)水資源數(shù)據(jù)十分重要且需要保證其訪問安全,因訪問用戶眾多也需滿足用戶查詢時(shí)的便利性,因此攔截層需要實(shí)現(xiàn)跨域校檢、登錄態(tài)校檢與權(quán)限校檢三大模塊。用戶在登錄后要獲取數(shù)據(jù),需服務(wù)端分配登錄態(tài)憑證返回給客戶端。本文的實(shí)現(xiàn)方式為生成token返回給客戶端,并將生成的token存儲至內(nèi)存中的Redis數(shù)據(jù)庫中。用戶后續(xù)需要訪問服務(wù)端時(shí),僅僅需要將每次請求頭中附帶上此token,即可通過登錄態(tài)校檢。權(quán)限校檢模塊根據(jù)用戶名與密碼獲取對應(yīng)用戶的訪問權(quán)限,并且將其能夠訪問的菜單頁面路由返回給客戶端,按照用戶的權(quán)限顯示對應(yīng)的功能模塊。(6)與前端交互前必須設(shè)置針對前端的HTTP接口,保留開發(fā)接口接收前端頁面的請求,完成請求的功能業(yè)務(wù)??墒褂肧pring框架中的控制層進(jìn)行接口實(shí)現(xiàn),將后端運(yùn)行環(huán)境構(gòu)建成統(tǒng)一的自動化協(xié)調(diào)的運(yùn)行環(huán)境,以服務(wù)的形式提供給用戶,簡化應(yīng)用的部署和運(yùn)行等。
4.3前端架構(gòu)
前端架構(gòu)使用項(xiàng)目化開發(fā),可以使用面向數(shù)據(jù)的前端開發(fā)框架。本文采用Vue3.0作為前端框架進(jìn)行開發(fā),利用Vuex進(jìn)行全局狀態(tài)管理,采用Vue-Router進(jìn)行路由管理,進(jìn)而構(gòu)建整體的框架設(shè)計(jì),具體如圖3所示。系統(tǒng)利用Vite的冷啟動進(jìn)行快速的狀態(tài)開發(fā),并將其打包成項(xiàng)目部署文件部署到前端項(xiàng)目服務(wù)器中。水資源管理系統(tǒng)由用于管理水資源設(shè)備和水資源使用等的下層業(yè)務(wù)和管理用戶、地址、使用權(quán)限等的上層業(yè)務(wù)構(gòu)成,結(jié)合利用大數(shù)據(jù)與云計(jì)算提高管理效率這一目標(biāo),開發(fā)了五大模塊。(1)全局模塊。全局模塊包括用戶信息、控制信息、清洗控件等功能。由于系統(tǒng)用戶登錄人數(shù)眾多,用戶類別各不相同,系統(tǒng)需記錄當(dāng)前用戶的登錄狀態(tài)與用戶權(quán)限,因此需要開發(fā)對應(yīng)的用戶模塊,將用戶登錄獲得的登錄狀態(tài)信息存放在全局模塊中,并且將其放入以后的請求頭中以獲取服務(wù)端的信息,并根據(jù)獲取的權(quán)限來展示用戶可操作的模塊。具體實(shí)現(xiàn)為利用Vuex的全局狀態(tài)管理,將用戶登錄獲得的token存入當(dāng)前用戶module的state中,并將其放入請求文件的header中用于獲取后端數(shù)據(jù),然后將獲取的用戶權(quán)限與Vue-Router中的路由文件相匹配,若存在對應(yīng)模塊則顯示。(2)上層業(yè)務(wù)模塊。上層業(yè)務(wù)模塊包括用戶管理、權(quán)限管理、菜單管理、地址管理、接口管理、數(shù)據(jù)清洗等功能。將登錄系統(tǒng)的用戶信息、權(quán)限管理、系統(tǒng)顯示的菜單、水資源檢測設(shè)備的地址、與服務(wù)端對接的接口等會影響到下層用戶使用的功能整合為上層業(yè)務(wù)模塊,一般由管理員或開發(fā)人員管理該模塊。地址模塊用于定義全局的一級、二級和三級地址,用于下層業(yè)務(wù)模塊的地址選擇;接口模塊用于開發(fā)人員了解新增接口的樣式、相關(guān)細(xì)節(jié),便于后續(xù)開發(fā)人員進(jìn)行系統(tǒng)的維護(hù)工作;用戶模塊用于管理對應(yīng)用戶的賬號權(quán)限,并能根據(jù)客戶需求改變菜單顯示優(yōu)先級,以保證最佳的用戶體驗(yàn)。(3)下層業(yè)務(wù)模塊。下層業(yè)務(wù)模塊包括水資源監(jiān)測設(shè)備的基本信息與詳細(xì)內(nèi)容、用戶用水配額的設(shè)置、用戶用水統(tǒng)計(jì)、所有業(yè)務(wù)的統(tǒng)計(jì)報(bào)表和水資源監(jiān)測設(shè)備的報(bào)警情況等功能,用于實(shí)現(xiàn)用戶對水資源監(jiān)測設(shè)備的直接管理,并且根據(jù)用戶的用水情況分配用水配額,將所有業(yè)務(wù)的統(tǒng)計(jì)報(bào)表進(jìn)行總結(jié)顯示,方便使用者有效快速地管理業(yè)務(wù)。其中水資源報(bào)警能夠通過深度學(xué)習(xí),通過水資源監(jiān)測設(shè)備的相關(guān)數(shù)值自動判斷該設(shè)備是否處于報(bào)警狀態(tài),并將報(bào)警情況反映到可視化模塊中。(4)可視化模塊??梢暬K通過柱狀圖、折線圖等對數(shù)據(jù)進(jìn)行可視化,直觀顯示數(shù)據(jù)的真實(shí)變化情況。系統(tǒng)獲得服務(wù)端的數(shù)據(jù),調(diào)用圖像接口,顯示水資源的用水量和水資源設(shè)備的情況等數(shù)據(jù),直觀反映數(shù)據(jù)變化??衫肰ue與element-plus相結(jié)合,將獲得的數(shù)據(jù)導(dǎo)入element接口中,定義顯示DOM的weight與height,采用Echarts將數(shù)據(jù)以柱狀圖和折線圖等形式顯示到對應(yīng)業(yè)務(wù)模塊,可從區(qū)縣、鄉(xiāng)鎮(zhèn)、路段和年、月、星期、日及單位實(shí)體等多種不同維度對水資源數(shù)據(jù)進(jìn)行可視化展示。用戶用水情況的部分圖例如圖4所示。(5)頁面模塊。系統(tǒng)需要有顯示全局功能和系統(tǒng)圖標(biāo)等的頂欄模塊,顯示用戶能夠操作模塊功能的菜單模塊,還需要有顯示功能頁面的內(nèi)容模塊。頂欄模塊借助全局模塊提供的功能,能夠選擇登入、登出和用戶信息修改等全局變量改變的功能;菜單模塊根據(jù)用戶具有的權(quán)限,顯示對應(yīng)的上層業(yè)務(wù)模塊(若為管理員)與下層業(yè)務(wù)模塊;內(nèi)容模塊則調(diào)用選擇的業(yè)務(wù)模塊頁面,將其按照給定的頁面比例進(jìn)行顯示。水資源數(shù)據(jù)經(jīng)過大數(shù)據(jù)后端處理后,針對水資源管理系統(tǒng)五個(gè)模塊進(jìn)行水資源大數(shù)據(jù)分析、數(shù)據(jù)挖掘,完成大數(shù)據(jù)的可視化。由于所開發(fā)的水資源系統(tǒng)部署在云端,所有用戶都能基于互聯(lián)網(wǎng)在任何時(shí)間、任何地點(diǎn)方便快捷地使用此系統(tǒng),大幅提高了管理效率。
5系統(tǒng)實(shí)現(xiàn)(Systemimplementation)
系統(tǒng)前端部分采用Vite構(gòu)建工具搭建,配合Yarn對使用的軟件包進(jìn)行管理。后端部分采用Maven管理工具包,采用MVC結(jié)構(gòu)。其中,后端系統(tǒng)在每天晚上對各類水資源數(shù)據(jù)進(jìn)行自動統(tǒng)計(jì),存入每日數(shù)據(jù)表;在每個(gè)月底再自動更新一次月度用水統(tǒng)計(jì)情況,其自動執(zhí)行部分代碼如下:privateTsWellInfoMapperwellInfoMapper;/每天23點(diǎn)55分執(zhí)行一次@Async("taskScheduler")@Scheduled(cron="05523**?")publicvoiddayTask({...}//每個(gè)月最后一天23點(diǎn)59分執(zhí)行一次@Async("taskScheduLer")@ScheduLed(cron="0011*?")publicvoidmouth(){...}
6結(jié)論(Conclusion)
利用信息化、大數(shù)據(jù)的手段,對水資源進(jìn)行精細(xì)化管理是促進(jìn)我國水利事業(yè)發(fā)展的重要手段。本文針對當(dāng)前水資源管理中存在的問題,基于大數(shù)據(jù)、云計(jì)算等技術(shù),充分整合各類信息資源,初步搭建了自動、智能、綜合、高效的水資源大數(shù)據(jù)監(jiān)管平臺。系統(tǒng)以國家水資源智慧監(jiān)控的需求為牽引,開發(fā)了基于水資源大數(shù)據(jù)的典型應(yīng)用,能夠有效節(jié)約水資源,助力構(gòu)建資源節(jié)約型和環(huán)境友好型社會,具有較好的推廣價(jià)值和意義。
作者:彭浩宇 周軍海 張峻宇 張舜宇 徐靜茹 單位:湖南大學(xué)信息科學(xué)與工程學(xué)院