公務員期刊網(wǎng) 論文中心 正文

大數(shù)據(jù)下水資源管理系統(tǒng)設計淺析

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了大數(shù)據(jù)下水資源管理系統(tǒng)設計淺析范文,希望能給你帶來靈感和參考,敬請閱讀。

大數(shù)據(jù)下水資源管理系統(tǒng)設計淺析

摘要:針對現(xiàn)有水資源管理方式存在的數(shù)據(jù)孤島、數(shù)據(jù)質(zhì)量低、利用率不高等問題和互聯(lián)網(wǎng)+的時代要求,基于大數(shù)據(jù)、云計算等技術,設計和實現(xiàn)了一個水資源管理系統(tǒng)。通過從異構的數(shù)據(jù)源采集各類水資源數(shù)據(jù),在大數(shù)據(jù)中心進行數(shù)據(jù)的清洗、轉換、整合、分析和統(tǒng)計,然后利用柱狀圖、折線圖等多種圖形從不同的維度對水資源數(shù)據(jù)進行可視化展示,并通過五大系統(tǒng)模塊實現(xiàn)了對水資源的精細化管理,有助于構建資源節(jié)約型和環(huán)境友好型社會,具有良好的推廣價值和意義。

關鍵詞:大數(shù)據(jù);云計算;水資源;可視化

1引言(Introduction)

我國一直是水利工程建設大國,在近年的高速發(fā)展過程中我國的水資源用水量一直處于高位,截至2020年,我國的總用水量總體維持在6,100億立方米左右。隨著時代的進步和技術的發(fā)展,傳統(tǒng)的水資源管理模式已嚴重滯后,不利于我國水資源領域的可持續(xù)發(fā)展。當今社會互聯(lián)網(wǎng)+、大數(shù)據(jù)技術正影響著各行各業(yè)的管理與建設[1-2],水資源領域急需使用大數(shù)據(jù)、云計算等新興技術,提高我國水資源管理的能力,借助便利的互聯(lián)網(wǎng)技術與云計算技術,提高水資源的利用率和各項管理業(yè)務操作的效率。

2水資源管理中存在的問題(Problemsinwaterresourcesmanagement)

在水資源管理領域,水資源相關的數(shù)據(jù)非常繁雜,數(shù)據(jù)管理長時間滯后,往往不能及時、直觀地反映當前水資源的實際情況[3],具體表現(xiàn)在:(1)水資源數(shù)據(jù)地理位置的差異性。水資源監(jiān)測站點往往設置在不同位置,取樣位置的不同使得數(shù)據(jù)也會有較大差異性,用傳統(tǒng)人工方式處理較為繁重,難以整合[4]。(2)水資源數(shù)據(jù)的時效性。使用傳統(tǒng)的人工方式一般需要若干個星期才能完成數(shù)據(jù)的統(tǒng)計分析,往往錯過利用數(shù)據(jù)及時發(fā)現(xiàn)問題的最佳時間[5]。(3)水資源數(shù)據(jù)煩瑣且不直觀。水資源數(shù)據(jù)量龐大且數(shù)據(jù)格式比較靈活多樣[6],傳統(tǒng)的數(shù)據(jù)表格統(tǒng)計方式難以直觀地反映水資源的使用情況,不利于管理者在處理突發(fā)事件時的決策與判斷。

3水資源管理解決方案(Waterresourcesmanagementsolutions)

基于以上問題,針對水資源數(shù)據(jù)煩瑣且不直觀的問題,本文使用水資源大數(shù)據(jù)可視化方案,將各個水資源監(jiān)控設備的采樣數(shù)據(jù)進行整合,即基于大數(shù)據(jù)分析,將諸如歷史用水量、計劃用水量、設備狀態(tài)等各項信息加以整合,利用地圖、餅狀圖、折線圖等多種圖表在應用層設計簡潔的界面,實現(xiàn)了水資源數(shù)據(jù)的可視化展示,通過合理的精度顯示以實現(xiàn)對水資源管理系統(tǒng)復雜數(shù)據(jù)的實時展示。該方法的優(yōu)點具體表現(xiàn)在:(1)直觀展現(xiàn)水資源監(jiān)測點的空間與時間分布。能夠在地圖中直觀實時地展現(xiàn)對應監(jiān)測點的具體位置,并且及時反映監(jiān)測點當前的監(jiān)控狀態(tài)。(2)展現(xiàn)變化趨勢。利用折線圖展現(xiàn)對應的數(shù)據(jù)變化,能夠直觀反映數(shù)據(jù)變化趨勢,利于管理者對當前用水形勢做出及時的判斷。(3)高效管理數(shù)據(jù)。利用大數(shù)據(jù)分析,將各個水資源監(jiān)測設備收集的數(shù)據(jù)進行合理高效的增刪改查,方便從業(yè)者管理存儲的大量數(shù)據(jù)。(4)界面簡潔,用戶使用體驗良好。簡潔的UI設計與便捷的操作能夠大幅提升用戶的使用體驗感,提升操作對應功能的流暢性。

4水資源管理系統(tǒng)架構設計與應用(Architecturedesignandapplicationofwaterresourcemanagementsystem)

水資源管理系統(tǒng)架構設計分為四個方面:用于存放和管理數(shù)據(jù)的數(shù)據(jù)層、進行數(shù)據(jù)收發(fā)的后端架構、用戶進行操作的前端架構、進行數(shù)據(jù)庫管理的管理軟件。其中,前端架構是用戶操作與顯示的核心,后端架構是數(shù)據(jù)處理與大數(shù)據(jù)管理的關鍵。為便于模塊化開發(fā),系統(tǒng)使用SpringBoot+Vue的前后端分離開發(fā)模式。

4.1數(shù)據(jù)層

水資源系統(tǒng)的數(shù)據(jù)源具有異構多樣性,系統(tǒng)能夠利用互聯(lián)網(wǎng)技術遠程獲取水資源監(jiān)測設備收集到的信息,也可以采用手工導入方式,如手動輸入相應水資源信息,利用Excel表格導入表格信息等,還能夠利用其他設備諸如手機APP、小程序等提供信息,通過溫度檢測、水平面變化檢測等方式,收集對應地區(qū)的用水量、用水設備的溫度、該區(qū)域的水平面、設備運行狀態(tài)等各項數(shù)據(jù)。獲取的大量數(shù)據(jù)經(jīng)過后端的清洗、整理、計算、分析歸納,利用開源的Mybatisplus,通過數(shù)據(jù)持久層的操作,根據(jù)數(shù)據(jù)之間的關系將所需數(shù)據(jù)整理保存到傳統(tǒng)的關系型數(shù)據(jù)庫(如MySQL、WindowsServer等)中。若要處理的數(shù)據(jù)量大于單個系統(tǒng)的處理極限時,可通過開源工具Sqoop,將傳統(tǒng)關系型數(shù)據(jù)庫中的內(nèi)容提取、轉換、加載,并將數(shù)據(jù)進行相應格式的封裝,轉儲至MongoDB等對應的NoSQL數(shù)據(jù)庫中,并且根據(jù)系統(tǒng)實際使用的需要進行分布式系統(tǒng)的開發(fā),以減輕主服務器的負擔[7]。數(shù)據(jù)層與后端架構的關系如圖1所示。由于水資源系統(tǒng)用戶多種多樣,需有效快捷地利用用戶登錄狀態(tài)獲取符合其角色的數(shù)據(jù),因此需要運用比傳統(tǒng)關系型數(shù)據(jù)庫查詢速度更快地獲取用戶登錄鑰匙token的工具。利用NoSQL數(shù)據(jù)庫Redis對用戶登錄token進行key與value的鍵值比對查詢可實現(xiàn)高效的跨域校驗,利用基于Redis的矢量時空查詢算法,相比傳統(tǒng)的Oracle,查詢效率提高近4.5倍,使用戶在獲取數(shù)據(jù)時獲得良好的交互體驗[8]。

4.2后端架構

后端架構基于Spring框架,如圖2所示,根據(jù)功能設計分為實體層、服務層、映射層、控制層、攔截層與針對前端的HTTP接口。各層的作用與關系如下:(1)實體層通過創(chuàng)建對應的水資源設備主體,如機井、計量設備、統(tǒng)計數(shù)據(jù)設備等模塊,將其作為容器用于保存對應實體的相關信息,并在實體層保留訪問接口,用于訪問實體內(nèi)部對應的內(nèi)容。具體實現(xiàn)可以借助Spring框架與Mybatisplus,在Spring中定義相對應的水資源設備實體,然后利用Mybatisplus對數(shù)據(jù)庫進行訪問存儲至數(shù)據(jù)持久層中,再通過定義好的主體進行Bean注入,即可完成實體的構建。當需要獲取對應數(shù)據(jù)時,調(diào)用實體層對應接口即可。通過實體層既能夠保證數(shù)據(jù)的安全性,又能夠在后續(xù)的開發(fā)中保證容器之間的獨立性,互不干擾。(2)服務層利用實體層已有的實體信息,調(diào)用實體層已有的接口,對實體進行操作后將修改反映到數(shù)據(jù)庫當中,以實現(xiàn)對應的功能服務。具體實現(xiàn)為利用Mybatisplus將需要對數(shù)據(jù)庫進行修改的對應SQL語句封裝在Mapper對象中,以執(zhí)行對象中SQL語句的方式完成對數(shù)據(jù)庫的CRUD和事務提交,進而實現(xiàn)數(shù)據(jù)不外泄和安全保障。(3)映射層將對應實體的業(yè)務操作進行一一映射。根據(jù)業(yè)務需要調(diào)用服務層接口提供的相應功能服務,實現(xiàn)對應的業(yè)務操作,保證業(yè)務的直接關聯(lián)性。(4)控制層將每個功能模塊所需的業(yè)務操作集成到一起,根據(jù)需要調(diào)用對應業(yè)務操作,并作為定時任務關聯(lián)相應模塊,在設定的時刻調(diào)用水資源業(yè)務需要的功能。(5)水資源數(shù)據(jù)十分重要且需要保證其訪問安全,因訪問用戶眾多也需滿足用戶查詢時的便利性,因此攔截層需要實現(xiàn)跨域校檢、登錄態(tài)校檢與權限校檢三大模塊。用戶在登錄后要獲取數(shù)據(jù),需服務端分配登錄態(tài)憑證返回給客戶端。本文的實現(xiàn)方式為生成token返回給客戶端,并將生成的token存儲至內(nèi)存中的Redis數(shù)據(jù)庫中。用戶后續(xù)需要訪問服務端時,僅僅需要將每次請求頭中附帶上此token,即可通過登錄態(tài)校檢。權限校檢模塊根據(jù)用戶名與密碼獲取對應用戶的訪問權限,并且將其能夠訪問的菜單頁面路由返回給客戶端,按照用戶的權限顯示對應的功能模塊。(6)與前端交互前必須設置針對前端的HTTP接口,保留開發(fā)接口接收前端頁面的請求,完成請求的功能業(yè)務??墒褂肧pring框架中的控制層進行接口實現(xiàn),將后端運行環(huán)境構建成統(tǒng)一的自動化協(xié)調(diào)的運行環(huán)境,以服務的形式提供給用戶,簡化應用的部署和運行等。

4.3前端架構

前端架構使用項目化開發(fā),可以使用面向數(shù)據(jù)的前端開發(fā)框架。本文采用Vue3.0作為前端框架進行開發(fā),利用Vuex進行全局狀態(tài)管理,采用Vue-Router進行路由管理,進而構建整體的框架設計,具體如圖3所示。系統(tǒng)利用Vite的冷啟動進行快速的狀態(tài)開發(fā),并將其打包成項目部署文件部署到前端項目服務器中。水資源管理系統(tǒng)由用于管理水資源設備和水資源使用等的下層業(yè)務和管理用戶、地址、使用權限等的上層業(yè)務構成,結合利用大數(shù)據(jù)與云計算提高管理效率這一目標,開發(fā)了五大模塊。(1)全局模塊。全局模塊包括用戶信息、控制信息、清洗控件等功能。由于系統(tǒng)用戶登錄人數(shù)眾多,用戶類別各不相同,系統(tǒng)需記錄當前用戶的登錄狀態(tài)與用戶權限,因此需要開發(fā)對應的用戶模塊,將用戶登錄獲得的登錄狀態(tài)信息存放在全局模塊中,并且將其放入以后的請求頭中以獲取服務端的信息,并根據(jù)獲取的權限來展示用戶可操作的模塊。具體實現(xiàn)為利用Vuex的全局狀態(tài)管理,將用戶登錄獲得的token存入當前用戶module的state中,并將其放入請求文件的header中用于獲取后端數(shù)據(jù),然后將獲取的用戶權限與Vue-Router中的路由文件相匹配,若存在對應模塊則顯示。(2)上層業(yè)務模塊。上層業(yè)務模塊包括用戶管理、權限管理、菜單管理、地址管理、接口管理、數(shù)據(jù)清洗等功能。將登錄系統(tǒng)的用戶信息、權限管理、系統(tǒng)顯示的菜單、水資源檢測設備的地址、與服務端對接的接口等會影響到下層用戶使用的功能整合為上層業(yè)務模塊,一般由管理員或開發(fā)人員管理該模塊。地址模塊用于定義全局的一級、二級和三級地址,用于下層業(yè)務模塊的地址選擇;接口模塊用于開發(fā)人員了解新增接口的樣式、相關細節(jié),便于后續(xù)開發(fā)人員進行系統(tǒng)的維護工作;用戶模塊用于管理對應用戶的賬號權限,并能根據(jù)客戶需求改變菜單顯示優(yōu)先級,以保證最佳的用戶體驗。(3)下層業(yè)務模塊。下層業(yè)務模塊包括水資源監(jiān)測設備的基本信息與詳細內(nèi)容、用戶用水配額的設置、用戶用水統(tǒng)計、所有業(yè)務的統(tǒng)計報表和水資源監(jiān)測設備的報警情況等功能,用于實現(xiàn)用戶對水資源監(jiān)測設備的直接管理,并且根據(jù)用戶的用水情況分配用水配額,將所有業(yè)務的統(tǒng)計報表進行總結顯示,方便使用者有效快速地管理業(yè)務。其中水資源報警能夠通過深度學習,通過水資源監(jiān)測設備的相關數(shù)值自動判斷該設備是否處于報警狀態(tài),并將報警情況反映到可視化模塊中。(4)可視化模塊??梢暬K通過柱狀圖、折線圖等對數(shù)據(jù)進行可視化,直觀顯示數(shù)據(jù)的真實變化情況。系統(tǒng)獲得服務端的數(shù)據(jù),調(diào)用圖像接口,顯示水資源的用水量和水資源設備的情況等數(shù)據(jù),直觀反映數(shù)據(jù)變化??衫肰ue與element-plus相結合,將獲得的數(shù)據(jù)導入element接口中,定義顯示DOM的weight與height,采用Echarts將數(shù)據(jù)以柱狀圖和折線圖等形式顯示到對應業(yè)務模塊,可從區(qū)縣、鄉(xiāng)鎮(zhèn)、路段和年、月、星期、日及單位實體等多種不同維度對水資源數(shù)據(jù)進行可視化展示。用戶用水情況的部分圖例如圖4所示。(5)頁面模塊。系統(tǒng)需要有顯示全局功能和系統(tǒng)圖標等的頂欄模塊,顯示用戶能夠操作模塊功能的菜單模塊,還需要有顯示功能頁面的內(nèi)容模塊。頂欄模塊借助全局模塊提供的功能,能夠選擇登入、登出和用戶信息修改等全局變量改變的功能;菜單模塊根據(jù)用戶具有的權限,顯示對應的上層業(yè)務模塊(若為管理員)與下層業(yè)務模塊;內(nèi)容模塊則調(diào)用選擇的業(yè)務模塊頁面,將其按照給定的頁面比例進行顯示。水資源數(shù)據(jù)經(jīng)過大數(shù)據(jù)后端處理后,針對水資源管理系統(tǒng)五個模塊進行水資源大數(shù)據(jù)分析、數(shù)據(jù)挖掘,完成大數(shù)據(jù)的可視化。由于所開發(fā)的水資源系統(tǒng)部署在云端,所有用戶都能基于互聯(lián)網(wǎng)在任何時間、任何地點方便快捷地使用此系統(tǒng),大幅提高了管理效率。

5系統(tǒng)實現(xiàn)(Systemimplementation)

系統(tǒng)前端部分采用Vite構建工具搭建,配合Yarn對使用的軟件包進行管理。后端部分采用Maven管理工具包,采用MVC結構。其中,后端系統(tǒng)在每天晚上對各類水資源數(shù)據(jù)進行自動統(tǒng)計,存入每日數(shù)據(jù)表;在每個月底再自動更新一次月度用水統(tǒng)計情況,其自動執(zhí)行部分代碼如下:privateTsWellInfoMapperwellInfoMapper;/每天23點55分執(zhí)行一次@Async("taskScheduler")@Scheduled(cron="05523**?")publicvoiddayTask({...}//每個月最后一天23點59分執(zhí)行一次@Async("taskScheduLer")@ScheduLed(cron="0011*?")publicvoidmouth(){...}

6結論(Conclusion)

利用信息化、大數(shù)據(jù)的手段,對水資源進行精細化管理是促進我國水利事業(yè)發(fā)展的重要手段。本文針對當前水資源管理中存在的問題,基于大數(shù)據(jù)、云計算等技術,充分整合各類信息資源,初步搭建了自動、智能、綜合、高效的水資源大數(shù)據(jù)監(jiān)管平臺。系統(tǒng)以國家水資源智慧監(jiān)控的需求為牽引,開發(fā)了基于水資源大數(shù)據(jù)的典型應用,能夠有效節(jié)約水資源,助力構建資源節(jié)約型和環(huán)境友好型社會,具有較好的推廣價值和意義。

作者:彭浩宇 周軍海 張峻宇 張舜宇 徐靜茹 單位:湖南大學信息科學與工程學院