<s id="c2f0n"><noscript id="c2f0n"><i id="c2f0n"></i></noscript></s>

  • <s id="c2f0n"></s>
    <u id="c2f0n"><meter id="c2f0n"></meter></u>
  • <span id="c2f0n"></span>
  • 當前位置

    主頁 > 碩士論文 > 水利水電論文 >

    基于微信平臺的渭河水量調度業務集成服務系統研究

    推薦人:寫作督導機構 來源: 寫作輔導機構 時間: 2021-12-11 21:24 閱讀:
    摘要:在這個蔚藍星球的表面上覆蓋絕大多數物質,就是我們碳基生物誕生的必須資源-水。這份資源來自地球母球饋贈,盡管資源量基數不小,但是全球人11的增長和人類社會發展的需要,使得水資源正在變得越來越少。黃河之于我國人民心中的位置,就像是渭河在陜西人民心中的位置-樣。渭河水量調度不僅是對沿河城市一發展的支撐,也是經濟社會穩定的保障。隨著水利信息化進程的推進和計算機科學技術的發展,本文基于微信平臺對渭河水量調度業務集成,構建了•個渭河水量調度系統,為渭河水量調度業務提供了新的集成模式,也給水量調度工作人員帶來一個更靈活方便的系統。關于渭河水量調度的業務集成服務研究主要研究內容和成果如下:
    (1)基于微信平臺的渭河水量調度業務集成系統前臺研究。針對渭河水量調度的需求及日常調度業務,將信息化和移動應用放在微信平臺引入到渭河水量調度中,基于微信平臺構建了水量調度業務集成系統的前臺,用相關技術設計并實現了調度信息的査詢、用水計劃查詢、水量調度相關業務訂制推送等服務,微信平臺的小程序作為渭河水量調度系統主要應用,公眾號作以輔助,綜合集成實現水量調度業務集成服務系統的前臺。
    (2)渭河水量調度業務集成系統后臺的研究。在渭河水量調度業務集成系統后臺屮,分析了水量調度的數據支撐,對數據的來源、獲取方式、管理研究,并用一個數據匯集實例說明系統后臺如何進行數據收集、管理、應用。對水量調度業務集成系統中的后臺和前臺的交互及接口進行設計,實現業務信息服務,并基于渭河水危調度的基本方式,在后臺系統中說明水量調度方案如何定制的問題O
    (3)基于微信平臺的渭河水量調度業務集成系統開發應用?;谖⑿牌脚_和SSM架構,結合水利信息化的發展和移動應用開發技術的進步,研究渭河水量調度模式及業務后,分別在前后臺對水量調度業務集成實現,前臺由小程序和公眾號實現應用,后臺上要做數據支撐、調度方案編制及前臺信息服務交互。該系統為渭河水量調度在移動應用上填補了一片空白,使得調度業務在微信平臺即可進行,使調度工作更加具有靈活便攜,
    關鍵詞:水量調度;微信平臺;業務集成;集成系統:系統開發及移動應用
    摘要 I
    1緒論 1
    1.1研究背景及意義 1
    1.2國內外研究進展 2
    1.2.1國外研究現狀 2
    1.2.2國內研究現狀 3
    1.2.3存在的問題 5
    1.3研究主要內容 6
    1.4研究技術路線 6
    2基于微信平臺的水量調度業務集成系統前臺研究 9
    2.1系統前臺開發模式比選 9
    2.1.1B/S架構模式 9
    2.1.2移動應用開發模式 10
    2.1.3基于微信平臺的開發模式 11
    2.2前臺集成技術介紹 11
    2.2.1微信平臺 11
    2.2.2數據可視化技術 13
    2.2.3關鍵技術框架 14
    2.3系統前臺需求分析及業務研究 15
    2.3.1系統前臺需求分析 15
    2.3.2前臺系統業務流程 18
    2.4水量調度數據圖表實現 19
    2.5本章小結 22
    3渭河水量調度業務集成系統后臺研究 23
    3.1渭河水量調度數據支撐 23
    3.1.1數據來源分析 23
    3.1.2數據獲取方式 24
    3.1.3數據管理方式 24
    3.1.4數據安全保障 25
    3.1.5數據匯集及使用實例 26
    3.2系統后臺關鍵技術 29
    3.3微信平臺與調度系統數據交互及接口設計 31
    I
    3.3.1微信平臺和調度業務系統交互流程 31
    3.3.2渭河水量調度業務集成系統接口設計 32
    3.4渭河水量調度業務信息服務 33
    3.4.1調度業務信息服務流程 33
    3.4.2調度業務信息查詢及推送系統的實現 34
    3.5渭河水量調度方案研究 36
    3.5.1渭河調度基本原則 36
    3.5.2渭河水量調度基本方式 37
    3.6本章小結 40
    4基于微信平臺的渭河水量調度業務集成系統開發應用 41
    4.1開發環境配置和開發工具簡介 41
    4.1.1開發工具簡介 41
    4.1.2開發環境配置 41
    4.2微信小程序 45
    4.2.1小程序安裝使用 45
    4.2.2登錄模塊 46
    4.2.3實時水情模塊 46
    4.2.4用水統計模塊 49
    4.2.5調度計劃模塊 51
    4.2.6調度方案模塊 52
    4.3微信公眾號 53
    4.4調度方案編制子系統 54
    4.4.1年水量調度方案編制功能 54
    4.4.2月水量調度方案編制功能 56
    4.4.3調度方案報告生成 58
    4.5本章小結 58
    5結論與展望 59
    5.1結論 59
    5.2展望 59
    致謝 61
    參考文獻 63
    1緒論
    1.1研究背景及意義
    地球是我們生命的起源之地,在個蔚藍星球的表面上覆蓋絕大多數物質,就是我們碳基生物誕生的必須資源一水。這份資源來自地球母球饋,盡管資源量基數不小,但是全球人口的增長和人類社會發展的需要,使得水資源正在變得越來越少。如今我國水資源污染十分嚴重以及對水資源的需求日益增加[1],我國的淡水資源現在不僅是缺少,在部分區域已經非常匱乏,儼然成為我國發展制約因素。水資源短缺,水污染相關問題也是全球關注的重要問題。我國的淡水資源總量雖然在世界位居第四,但淡水資源儲量仍不樂觀,僅占到世界水資源總量的6%[2],再加上我國是一個人口大國,人口基數大帶來的諸多問題之一就是人均水資源稀少,我國人均水資源僅為世界平均水平的1/4[3],到本世紀后期,中國人均水資源量不會超過1800m3[4-6]。
    渭河之于陜西人民的重要性,就像是黃河在炎黃子孫心中的位置一樣。渭河干流總面積13.48萬km2,河流總長為818km[7],在陜西省內河長達502km,渭河在陜西境內流域面積占比陜西省總面積高達32.6%,其流域面積有6.71萬km2。這片流域上集中了全省大部分人口、超過一半的耕地面積、絕大部分灌溉面積以及65%生產總值。不僅是陜西省經濟的核心區域,也是未來發展的重點區域I8】。
    整個陜西省中渭河流域部分的水資源承載能力極其有限,上世紀80年代開始,經濟的快速發展以及沿河城市發展帶來的自然條件影響,使得渭河流域的水污染、洪澇災害以及資源匱乏等問題更加嚴重,這一現象不僅對可持續發展有著嚴重的制約,也對生態壞境有著很大程度的破壞。如何去解決這些問題也是讓水利工作者日思夜想,而要合理利用水資源并兼顧對生態環境保護,水量調度就是一個解決這些難題的重要舉措。
    從2006年開始,渭河因為是黃河的重要支流,黃河水量調度的要求規則便成為了渭河水量調度的重要參照,同時也標志著渭河流域在水量調度工作上的開始。在當時因為相關法令體制較少,渭河水量調度管理也開始制定相關的條例辦法,所以渭河水量調度管理暫行辦法成為了當時由省水利廳版發的重要渭河調度指示文件,標志著渭河水量調度工作正式啟動實施DI。
    《陜西省渭河水量調度辦法》在2008年由省政府發布并推廣施行。渭河水量調度工作在這個階段也有了初步目標,其目標先是保證渭河不斷流,次之目標是在渭河的干流上,各個省控斷面以及重點控制斷面的基流不斷流。為了將水量調度在渭河的工作做的更完善,并在現階段的基礎上提高,陜西省水利廳在相關法規基礎上,結合在調度工作中的實際情況,向各方廣泛征求意見進行改進。在隨后的幾年時間中渭河水量調度相關的法律法規體系慢慢完善,隨著一系列的條例預案的出臺實施,水量調度工作不僅常態化的進行,
    并有了科學和規范的依據。
    在綠水青山就是金山銀山及生態文明建設的推進背景下,渭河水量調度工作的也有了生態目標,從防止斷流的調度目標,提升到既要保證不斷流還要逐步提升生態方面的水量調度。在此基礎上,省水利廳以林家村斷面作為試點,將林家村的流量指標最小值提高了3m3/s,效果顯著,《陜西省基于生態流量保障的水量調度方案》也隨著這一時期的調度工作應運而生。
    自渭河實施水量調度以來,各級部門以及水利工作者的努力下,渭河的調度控制指標得到了有效滿足,而且河道的生態基流也得到了保障,水資源利用以及調水情況有效統籌,這些工作對渭河的水環境不僅是緩解作用,甚至對水污染情況也有效改善。
    在科學技術的發展和社會進步的背景下,我國也從工業化社會向信息化社會過度。信息是繼材料和能源之后的第三資源【1呢信息化社會轉變是有一定的基礎才可以進行的,它不僅要求擁有大量的信息資源,還必須要有信息技術的保障以及信息技術產業和信息服務業支撐。我國水利信息化的工作起步較晚,起初的目標也主要表現在水雨情信息的監測、采集、傳輸、處理,然后在此基礎上洪水預報,這些在全國水利系統中的開展,對歷年防汛抗旱的工作有了不小的幫助。隨著水利信息化的發展,全國范圍在水情網的基礎上將“國家水文數據庫”初步建成,信息化帶來的便利也讓水利系統的工作都有了很大的發展促進。
    我國的互聯網發展隨著技術產業的進步,進入了移動時代。手機的使用率幾乎達到百分之百,其中手機上網的網民也占據我國一半人口乃至更多,移動互聯網的發展給人們生活方式的影響也是巨大的,不僅能讓人民生活更加便利也對經濟發展有著重要促進作用,它也是未來信息化發展的趨勢,讓新應用以及新形勢的媒體發展迅速,這種信息傳播方式有著其他傳統方式難以替代的優勢"I]。水利信息化的建設發展也要緊跟時勢,在水利工作相關的信息服務也要和移動時代的這些應用技術結合起來,比如微信、微博、移動應用、云服務等新興的技術和渠道來在水利信息化方面進行一場革命,在新的階段把水利信息化的作用更好發揮,讓水利行業的信息化發展也能成為經濟及社會發展的重要支撐。
    1.2國內外研究進展
    水量調度和業務集成系統研究涉及到水利和計算機兩個行業,范圍廣理論和系統的研究都相當復雜。國內外學者在在這兩個方面,從上世紀開始研究,已經累計了不少成果。計算機技術和信息化的發展,也讓在水利信息化的應用領域研究有所拓展。
    1.2.1國外研究現狀
    國外開展水量調度和水資源分配問題研究起源較早,由單獨的工程再到流域水資源的研究,從上個世紀40年代開始,Masse便開始了關于水庫如何進行更有效的調度相關研究。1953年,USACE在以位于魏國的密蘇里河流域的六個水庫的運行和調度進行了研究。在后續的研究中,(Hallanddracop1970)【12]Masse等人【13]將仿真模擬技術和經濟評價指標在具體流域中進行應用。計算機技術和信息化的推進,關于水量調度和水資源管理系統也是層出不窮,其中比較有影響的案例有麻省理工學院(MIT)o為阿根廷里奧科羅拉多河流域開發了水資源管理模型"I。
    從理論出發,巴魯斯所提出的水資源科學配置【15]提出了水資源配置的理論方法,同時在《亞太水資源利用與管理手冊》【16]中我們也可以找到相關的方法。隨著計算機以及遙感測繪和通信技術都開始了快速發展,實時優化調度也開始得到關注01972年,Jamieson和Wilkinson【17]兩人設計出了一套水庫防洪預報系統,這套系統同時也是一個實時的水量調度系。Windsor等人【18]在水庫實時調度防洪方面,用線性規劃技術進行了研究。A.Turgeon【19]則是在多發電水庫聯合實時調度結合漸近式優化和隨機的動態規劃兩種方式進行了研究。Karamouz【20]提出了一種可以結合仿真和DP的日常實時優化調度模型。在水資源分配系統和調度模型系統的研究上,誕生了Aquarius【21]這種模型系統。
    國外研究目前具有非常多的模型和系統研究,但是在業務集成方面和水量調度系統結合的系統研究則是比較少,基于一個平臺來做水量調度業務集成的研究就更少了。
    1.2.2國內研究現狀
    我國水量調度研究和實際相結合,從上世紀60年代起,便開始了關于水庫優化調度的研究。在這期間研究不僅對水量調度的模型和方法進行大量研究,在水量調度系統方面也做了不少研究工作,水量調度如何與計算機技術和信息化結合實現業務集成,我國的學者都有一定的研究突破和進展。
    首先是在水量調度模型方法上的研究,水量調度常用的調度方法有現行調度方法、系統分析方法、自適應方法和適度優化方法。在之后的研究中,在水量調度中逐漸出現了一些組合模型,如人工智能模型、WROOM模型、粒子群優化模型等,使得水調度的研究越來越廣泛。
    從上個世紀80年代開始我國學者在水量調度模型方法上取得了不少研究成果°1981年,方益新【22]繪制了調度圖,編制了調度計劃,包括短期調度計劃、抗旱調度計劃、防汛抗旱調度計劃等,提出了做好水調度方案的重要性。
    1985年,蔡萬友I23]利用目前的水量調度方法,對全縣獨立小電網的水量調度進行了初步研究,效果非常滿意。
    80年代末期,鄭伍森等I24]采用系統分析方法研究了南水北調東線一期工程用水優化調度問題,分別用了迭代計算和反饋運算來將水量調度的規則和水量分配原理在計算機上實現。
    新世紀伊始,2001年,郝青帆等㈣,通過施行用總水量控制年尺度的調度,在英羅峽-正義峽水線平行移動結合月尺度修正原則來編制了年和月的水量調度計劃。
    2002年,常建霞等,應用系統科學方法建立了系統的水模擬調度模型,合理確定了系統的網絡結構和模型計算原理,通過增加辨識模塊和控制修正模塊,模型可以快速找到滿意的解。
    2003年,陳良成等QI研究了黃河流域水量調度方案的現行方法、自適應方法和適度優化方法。
    2004年,王煜等野]提出了一套組合模型其中包括黃河上游子系統中的水庫調度模型、三個小型水庫子系統水庫調度模型、河段配水以及方案優化,對黃河的非汛期干流工程河段水量調度及分配的方法、目標、原則進行界定。在同時期,韋家華釧]等建立了黃河流域的水量調度模型,該模型結合了自適應控制理論。
    同年,蔡志國等I30】,為滿足黃河水量調度中實際工作的需要,建立了一套換個號流域自校正控制調水模型,解決了當時簡單人工進行水量調度的局限性。
    2005年趙小軍Di]等,針對流域內不同的用水群體之間如何合理水量分配問題,結合了粒子群優化算法來求解優化的水量調度方案,在結合了智能算法的情況下,將其算法的優化特點充分發揮了出來。
    2008年,李剛軍等I32】基于事例推理也就是CBR技術引入了水量調度中,結合人工智能的事例推理可以借鑒歷史的調度案例來讓水量調度的結果更加優化合理。
    2009年的時候劉榮華等El,建立了一種優化水量調度模型,與以往調度模型的區別是該模型的效益最大化目標是以經濟和生態為最大目標,主要對灌溉用水和生態方面進行優化配置,這也對其他效益最大化目標優化模型提供了一個新的研究方向。
    2010年,嚴福超等【34],基于案例推理方法進行水資源調度,該模型可為未來水資源管理和調度提供參考。
    2014年汪雅梅等【35]對wroom模型進行了研究和改進,建立了渭河水量調度模型,并在此基礎上設計構建了渭河水量調度系統。
    2015年,李鵬程等I36】,在結合模糊和運籌學理論的基礎上,采用了梯形模糊理論對模糊參數進行去模糊化處理,構建了基于多模糊參數的最優水量調度決策模型。
    水量調度系統研究方面,我國學者在開始水量調度方法模型之后也在不久后便開始了水量調度系統的研究。水調度系統的研究主要采用先進的技術與水調度方法和模型。目前,研究人員已經做了大量的研究。
    2000年,王煜等【37],采用VisualFoxPro和VisualBasic結合其中的面向對象以及可視化編程技術,開發了出水量調度決策支持系統。
    2002年,趙勇等【38]運用了模糊數學理論,在進行水量分配的計算中,把多目標函數轉化為單目標的額函數進行求解,并運用數理統計模擬進行實驗分析,在工程配水和水量調度模型都實現了仿真系統。
    2003年,王煜等I39〕,為了使決策支持系統的功能更加強大,結合地理信息系統(GIS)中的空間分析系統,對水量調度決策支持系統在空間的展現和分析方面進行彌補,在數據層面也是結合GIS系統中的數據可視化讓系統的數據表達更加清晰直觀。
    2004年,徐曉峰等【40】將Web服務技術應用到水調度系統中,得到了很好的應用。
    2005年,孔克等Hi]在黃河的應急水量調度和水量補償方面的問題進行了拆解,將水流過程中的效益轉移分解為幾個相互關聯的Agent,并基于Agent模型建立了仿真系統。
    2006年,馬偉剛等四,結合WEB開發技術對于干旱情況下的應急水量調度進行系統仿真,其仿真系統也是在AAF應用框架下并符合J2ee的規范。
    另外信息化技術的成熟,水利信息化的技術問題也有所突破,移動應用的興起,也使得水量調度系統可以考慮客戶端由電腦向手機客戶端過度,越來越強大的手機功能開發,也在為水利信息化工作的水量調度系統提供一個新的路徑,基于微信平臺的新興開發模式成為當下熱點之一。
    目前,國內外研究者對水量調度的研究做了大量的工作,特別是對水量調度方法的研究,對提高水資源的利用有著重要貢獻,也為水量調度的研究打下基礎,但對水量調度模式和系統的研究較少,業務集成方面沒有辦法很好的結合,信息化水平不是很高,調度系統的可操作性較低,與實際應用還有一定的差距。
    1.2.3存在的問題
    盡管在國內外在水量調度研究方面已經碩果累累,在對我們進行水量調度工作提供了理論依據及經驗,也讓水資源的利用和水環境的改善都有著推動作用。陜西省關于渭河的調度工作雖然也一直在發展中,但是在調研中還是存在些許問題,總結歸納為以下兩點:
    (1) 關于水量調度的研究主要都是集中在調度模型的如何建立使用方面,然而水量調度問題不單單是用調度模型就可以去解決的,況且在模型的研究中涉及到大量的計算,無論其計算過程還是模型實現過程也是相當復雜。在這種情況下要和水量調度工作中的實際情況相結合,可以說模型的使用效果是微乎其微,還要將其在具體的流域應用可能其實際使用效果會更差。調度模型在對渭河水量調度的具體業務應用需求方面也沒有讓水量調度工作者去直接使用,并達到滿意的調度效果。
    (2) 關于水量調度方面的信息化水平不高,在傳統的模式下,往往都是把調度模型和軟件系統雜糅在一起,不僅在業務方面結合不夠緊密,使用效果差,無法對業務的實際需求得到滿足,在業務拓展和擴充方面就更難實現了,而且大多系統在操作、適應性方面繁瑣老舊,有的甚至都可能需要專門培訓,使用效果往往還不盡人意,在移動應用和系統結合的方面更是沒有為渭河的水量調度來服務的調度信息集成服務系統,計算機技術的進步并沒有讓我們水利信息化在渭河水量調度方面有提升,所以對渭河的水量調度工作來說,現在還是非常需要一個理論結合性高、信息化程度高并且能運用最新的移動互聯網技術的系統。
    1.3研究主要內容
    為解決水量調度在信息化背景下的應用性差、使用不夠便捷以及難以實現動態和實時性等問題,本文將以信息化技術為背景,微信平臺為支撐,進行水量調度業務集成服務系統的研究,主要研究內容有以下幾個方面:
    (1) 基于微信平臺的水量調度業務集成系統前臺研究
    本文基于渭河水量調度工作及水利信息化發展背景下,講業務集成系統進行前后臺分離,分別處理不同的業務部分。前臺主要由微信平臺和相關開發技術實現,在此部分可以將水量調度的成果、水量調度方案以及還有水量調度相關的基本水文信息查詢為主,并運用數據可視化技術進行展示,也可以通過微信公眾號來實現定制推送水量調度信息服務。
    (2) 渭河水量調度業務集成服務系統后臺研究
    根據系統前臺可以實現的業務功能基礎上,在后臺發揮后臺系統的優勢。將水量調度相關的業務處理模塊以及方案推送算法和部分設計水量調度計算處理的業務放在后臺實現,主要為數據庫部分,對數據的采集、傳輸、管理、運用,以及水量調度業務的水量調度方案的編制和推送。最后運用交互相關技術將前后臺相連完成整個業務集成服務系統。
    (3) 基于微信平臺的水量調度業務集成開發應用
    基于微信平在此本分對已經做成的系統模塊進行介紹和展示。在調度方案編寫這塊運用計算機技術,微信平臺及開發技術、數據庫技術集成然后用Java實現調度方案的編寫,前臺的系統和后臺系統交互起來并分別管理不同業務部分,也使得渭河水量調度業務能和微信平臺結合起來,在微信平臺上和后臺的調度系統統籌起來做業務集成應用,不僅能對調度工作中的數據可視化也能夠將調度的信息空間性、歷史性表現出來?;谖⑿牌脚_的渭河水量調度業務集成應用讓調度能夠更合理、便攜,同時該系統的實用性和擴展性也能夠滿足日常調度工作需求。
    1.4研究技術路線
    論文此次的研究技術路線如圖1-1所示。圖1-1研究技術路線圖
    Fig1-1ResearchTechnologyRoadmap2.基于微信平臺的水量調度業務集成系統前臺研究
    2基于微信平臺的水量調度業務集成系統前臺研究
    在本文第一章節中對水量調度的模型研究和水量調度系統研究的研究背景和研究現狀綜述,根據研究技術路線以及在渭河水量調度集成服務系統中,將水量調度業務集成服務系統分為兩個部分,即系統前臺和系統后臺。本章中將對渭河水量調度業務集成服務系統中的前臺開發所選的模式以及前臺的設計和相關技術進行闡述。
    2.1系統前臺開發模式比選
    2.1.1B/S架構模式
    B/S架構是以瀏覽器作為用戶端,服務器來云計算的一種WEB技術下的網絡架構模式??蛻舻臉I務應用都是在WEB瀏覽器上,這種模式的優點便是客戶端不用每個用戶都安裝,服務器上更新和實現具體的業務集成應用。模式架構如圖2-1所示。
     
    圖2-1B/S架構示意圖Fig2-1B/Sarchitecturediagram
    用戶電腦上只要安裝瀏覽器,就可以通過網址來訪問,本地系統的話還需要數據庫和WebServer的支持,如果服務器采用的是云服務器,那系統就直接可以在客戶端通過WWW后面加上域名的公網進行訪問,其中客戶端所使用的瀏覽器即是用戶層,中間層則是WEB服務器的腳本用來響用戶來自瀏覽器的響應和數據層的交互,數據層負責存儲文件系統以及數據庫的管理,三者一起形成了經典的三層架構的開發模式。
    在B/S架構下,它的優點也是非常明顯的,在實現一個業務系統的時候,它的業務處理主要在服務器中,所以讓用戶的客戶端體量輕巧,系統維護起來也很方便并后續如果需要系統升級的話,升級系統的工作也可以比較方便的進行。
    缺點及難題:使用雖然簡單,但是性能不好,在web模式中作一個前端的程序,不應該包含太多的業務邏輯,否則前端系統容易擁堵;對于使用者也許這種架構的模式是一個不錯的選擇,但是對于開發者來說,開發起來的話,是不便于維護代碼的,在這種系統架構下的前端代碼是復雜的,一方面需要掌握的開發技術很多,這將會導致開發時間和開發成本都提供,另一方面就是在系統在前端程序擁有的業務邏輯比較多,讓系統會變得不夠順暢,這對于水量調度集成服務系統來說是不可取的。
    2.1.2移動應用開發模式
    移動應用開發即是傳統的C/S開發模式一種,只是將客戶端放在更為便捷的手機程序上。移動應用開發可以說是WEB開發模式的延續,兩者也有比較相似的地方,其不同點也很明顯,移動應用開發模式它的客戶端往往是智能手機或者平板電腦這種便于攜帶的載體,通過設備編寫軟件及APP開發實現客戶端的程序。移動應用開發架構圖如下圖2-2所示。
    Eent:Server
    客戶端程序
    客戶端程序
    圖2-2移動應用開發架構示意圖
    Fig2-2Mobileapplicationdevelopmentarchitecturediagram
    伴隨著網絡5G技術的發展和突破,以手機為客戶端載體,移動應用上可以實現的業務功能變多,應用程序的開發擴展給各個行業帶來新的應用模式。手機上的移動應用帶來的社會效益和日門生活中帶來的便利讓人們已經離不開手機的使用,在此背景下發展更多的手機應用也是如今時代任務和當下熱門主題。
    盡管移動應用開發有如此多的優勢,但缺點及難題也不少。首先手機系統不同于電腦系統,以手機端要做移動應用開發的話,涉及到不同的平臺,各個平臺下的手機系統不一樣,手機操作系統又非常多,例如華為自主開發的鴻蒙系統、安卓、IOS等,同時還有很多其他操作系統需要兼顧,所以想要實現手機應用的統一,還是需要克服該兼容性問題。因為開發問題,開發人員往往需求量大,就會造成開發成本變高,另外在網絡技術相關接口的復雜性,門檻和障礙也不少,所以不管是互聯網公司還是其他行業需要來用移動應用開發,都會存在一個,將過度的精力投入到開發方面,同時這個過程中的各種難題也需要專門的工作人員去研發解決,這些投入往往會造成事倍功半。
    2.1.3基于微信平臺的開發模式
    基于微信平臺的開發是將微信本身涵蓋的模塊融入到水量調度業務應用中,其中微信小程序主要做為應用程序,公眾號主要做推送和信息服務方面的業務。微信小程序這種開發模式可以解決前文中介紹其他的開發模式中存在的問題,比如B/S開發模式中,客戶端通常比較大,不夠輕便,使用不夠便捷,而移動應用開發的兼容性問題在基于微信平臺的小程序開發模式下,也得以解決,在不同系統下都能夠兼容和正常使用小程序,同時客戶端的輕量化免安裝也是微信小程序的一個很大優勢。如圖2-3所示為微信平臺開發的簡單架構示意圖。圖2-3微信平臺開發架構示意圖
    Fig2-3WeChatplatformdevelopmentarchitecturediagram
    本節中對現有的三種前臺開發模式進行比較分析,充分考慮其優劣的情況下,選擇微信平臺的微信小程序做為移動應用、瀏覽器做輔助管理功能及微信公眾號做實現業務信息推送的模式。
    2.2前臺集成技術介紹
    2.2.1微信平臺
    2011年的年初,騰訊公司區別于QQ研發推出一款新的在智能終端上的免費應用程序"I一微信(WeChat),微信它能為用戶提供免費的即時通訊服務的移動應用程序。根據相關數據調查統計,從微信誕生開始到2016年,微信幾乎在我國所使用的智能手機上都有安裝,這些使用者的活躍度也非常高"I,微信的用戶受眾幾乎遍布全球,其中一些品牌也在微信平臺開始用公眾號和小程序做相關業務。微信最初的功能更多是人們用來交流溝通,因為微信可以和QQ一樣,實現不同通信運營商以及不同操作系統的文字、圖片、語音等的相互交互,在后續的發展中,微信的功能也越來越多各種各樣的擴展功能使得微信平臺生態形成,在微信平臺的基礎上,可以和這些服務插件結合起來,來做更多的應用開發和信息服務。
    2.2.1.1微信公眾號
    微信公眾號,是作為微信平臺的一部分,根據賬號的不同,服務類型也不同,可以根據微信公眾平臺提供的用戶定位如:政府、企業、個人等來選擇相應的服務模式。比如微信服務號就是比較適合企業,主要應用與業務服務和管理,而訂閱號則就比較偏向媒體或者個人,它依托微信平臺形成一個新的信息服務模式,主要也是給在使用微信的用戶來傳遞或收集信息。小程序則是移動應用的APP,也是本文系統開發所主要應用的工具,在本文下一小節將會詳細介紹。公眾號的編輯開發也是非常方便和簡潔的,在微信提供的公眾號編輯網站即可對公眾號相關功能和業務進行編輯處理。在水量調度業務集成系統中,微信公眾號主要負責調度相關的消息推送以及定制的調度相關消息推送和一些調度的基礎信息數據的查詢。
    2.2.1.2微信小程序
    微信小程序,是微信平臺下的的移動應用,其開發模式的優點在上文開發模式比選中已經做過介紹,其最大的特點是小程序這種應用,不需要用戶在應用商城或者系統中專門去下載安裝,只要有微信,在微信中搜索或者掃小程序自己專屬的二維碼,即可打開使用,小程序的開發和使用是面向全社會,所有使用微信的用戶都可以去申請開發使用。
    小程序為什么能在移動應用開發中占有一席之地,一方面小程序依托微信,微信的用戶和使用受眾讓小程序的發展有著良好的前景,另一方面就是,微信小程序也是一種開源的開發模式,越來越多的開發者使用小程序這種開發模式,也會使小程序的發展穩步提高,進入一種良性循環。小程序與行業結合起來的應用也覆蓋到了城市的方方面面,例如現在的地鐵出行、公交乘車,以及在疫情期間施行的健康碼個人信息統計,所以小程序的蓬勃發展不僅僅是自身價值證明,同時給經濟發展和社會效益也有著正向促進作用I49】。
    小程序這種模式,也讓水利信息化的業務找到一條新的實現途徑。水利信息化的業務系統如今大多相當復雜冗余,基于微信平臺用小程序來做移動應用的模式,不僅將水利信息化的工作走在了前沿,也解決了在信息化工作中的調度系統相關難題,例如:系統的操作性要求高、適應性不強、調度系統移動應用方面的缺失、以及可以給調度工作帶來輕巧的手機客戶端應用,更容易讓水利工作者甚至群眾們接納上手使用。
    微信小程序開發有自己專用的開發工具,它也是水量調度業務集成系統前臺中業務實現的必備開發工具。在系統的前臺中讓小程序實現了主要業務查詢、信息查詢、數據可視化等。如圖2-4所示為小程序開發工具開發界面截圖。
    12圖2-4微信小程序開發界面
    Fig2-4WeChatsmallprogramdevelopmentinterface
    2.2.2數據可視化技術
    數據可視化技術,在前臺系統中是一個重要的數據呈現手段。面對我們渭河水量調度日常中產生以及需要的各種數據,在系統的前臺中,如何把這些水量調度各種而各樣的數據,就不得不結合這一項技術,使得在系統前臺中對于數據的表現方式更加美觀便于理解和操作。數據如果僅僅只是通過數字,或者表格等簡單的表現方式來在系統前臺中展示的話,它對于我們來說就僅僅數字,沒有價值,沒有將其信息化、知識化,甚至可以說是無用的。而數據可視化就是讓這些單調又無趣的數據,通過其他方式來表現,比如曲線、扇形圖、柱狀圖等,當數據有了多種多樣的表現方式,我們就能從這些數據中進行分析歸納得到有用的信息,最后服務于水量調度系統??梢哉f數據可視化技術是將數據的相關性和數據變化趨勢展現出來的重要技術手段網。
    為什么通過數據可視化我們可以更快更直接的獲取有用信息呢,從生理角度來看,人的大腦對于圖形和畫面的認知往往實要比直接對數據表格處理效率更快更好。而調度系統最終還是服務于人,我們人作為決策者,來最終決定施行怎么樣的調度方案,數據可視化技術在系統中的角色相當于決策者的助手,將那些復雜的海量數據,從中根據其特性組成各種圖表,服務于調度決策,也讓水量調度工作人員能夠獲取的資源和信息更多更快速EL
    13
    數據可視化的使用,剛好也切合本系統的設計的前后端分離的思想,在系統中可以放在小程序中引入使用,其實現可視化的技術也有幾種,如ECharts、D3以及小程序也有其自帶的可視化實現方式,雖然可視化的技術有這么多種可供選擇的實現手段,但是其實這些技術都是根據圖形渲染技術中的Canvas和SVG來做一些調整變化,來更方便的使用。在渭河水量調度系統的數據可視化實現中選擇的是ECharts。
    ECharts的本質是一個能讓數據變得可視化的圖表庫,它包含于JSP中,是百度團隊設計的開源軟件。在渭河水量調度系統前臺中,關于水量調度的數據就是由ECharts來以各種圖表展示出來,在系統中它可以直接面向數據來設計操作,這都源于ECharts有著自己的數據驅動,所以根據水量調度中的數據不同,其表現形式也會以不同方式呈現【潤。ECharts的圖表庫中含有多種多樣的圖表類型,不僅有日常應用的K線、折線、柱狀圖,還有和地理數據相關聯的一些地圖,所以在該系統中它可以實現數據圖表元素的關聯混合【53]。其體系架構如圖2-5所示。使用Echarts的話就更加方便了,在開發前臺中只需要通過標簽將其引入即可,準備好與其相適應的DOM容器,初始化一個實例,就可以用相應的方法去創建顯示空白圖表了。
     
    圖2-5Echarts的體系架構Fig2-5ArchitectureofEcharts
    因為在水量調度系統中會有非常大量冗余的數據,怎么將這些數據運用,從中獲取有用的信息,并通過信息化再到知識化,是本系統的前臺工作中的一個重要部分。而在數據可視化的應用中,ECharts就能夠在基于Canvas的基礎上,對調度中的大量數據進行處理,并且在系統中的處理數據效率也非常好,為了調度工作的更好進行,這些數據更好的服務與日常調度工作,這些數據通過ECharts來在系統前臺中呈現就非常必要。
    2.2.3關鍵技術框架
    Vue:Vue是一款很容易上手的構建用戶UI的框架,它與其他的框架不同之處在于,它不僅可以實現從下層向上的每一層應用,也可以和項目整合以及第三方的庫聯系,因為它在系統中,核心部分是對于圖層的,這就使得使用起來非常順手方便,而且它還能在一些情況下對一些比較復雜的單獨頁面應用提供響應的驅動。
    Layui:Layui也是一個前端的新型框架,在2016年的下半年開發出來,學習和使用門檻都不高,如果有WEB開發的基礎,只需要遵循Html5/CSS/JS的原生形式即可,雖然
    14看起來非常簡約,但正是因為其細節的核心代碼以及每個API都經過反復研磨,讓它體積不大,但是組件卻豐富,最大的特點就是回歸最早的WEB開發模式,而不是以MVVM為UI框架,技術的進步也是盤旋式的上升,在拋開那些復雜的工具和配置,用Layui開發只需要針對瀏覽器即可,讓你需要的數據、樣式、交互都能從Layui中唾手可得。
    Ionic:Ionic是一個開源并且免費的用于手機應用開發的代碼庫它是基于WEB技術應用的前端開發三個關鍵技術:Html5、CSS3以及JSP來進行APP開發的框架。Ionic在對前端APP開發的使用上,能夠帶來諸多便捷,一般和AngularJS配和使用。Ionic著重于應用和交互,目的是讓基于前端的那些開發技術來為APP開發者服務,讓開發工作更加簡化【列,在本系統中的頁面開發中也應用了該技術。
    AJAX:全稱為ASynchronousJavaScriptAndXML,說到AJAX就不得不介紹一下異步問題。異步就是客戶端不需要等待服務器端的響應。在服務器處理請求的過程中,客戶端可以進行其他的操作。而AJAX就是將異步的JavaScript和XML相互結合。
    一般系統交互是需要讓整個系統前臺應用頁面都先加載然后更新,而AJAX的巧妙之處就在于,它可以通過數據的交互,來讓應用的頁面之進行部分刷新,比如在水量調度業務集成系統的前臺中通過和后臺中的服務器進行些許的水文數據交互,然后只讓應用頁面的相關數據刷新顯示即可。將AJAX應用到水量調度業務集成服務系統中,面對系統大量水文數據,頁面往往加載更新都比較慢,而AJAX就可以使系統前臺中的水文數據實現異步的更替。也就是說,不用再讓大量的調度信息重新加載,只對系統前臺的某部分進行更新。要實現強交互或者這種異步的交互區],AJAX在水量調度系統的系統應用開發是必不可缺的。
    2.3系統前臺需求分析及業務研究
    2.3.1系統前臺需求分析
    2.3.1.1功能性需求
    出于對水量調度相關的數據安全性考慮,主要針對水量調度的工作人員使用,考慮到后續系統拓展問題,群眾在數據收集上也能奉獻自己的一份力量,而且對水利行業的宣傳科普也是非常有益的。業務人員的前臺系統功能方面可以對水量調度中涉及調度業務的數據進行查看,如:用水統計、調度方案、實時水情等,普通用戶則只能查用一些和水量調度相關的基礎信息數據,比如:基礎水文數據信息、水利工程基本信息、流域的基本信息等。根據使用用戶類型的兩種類型,面向業務人員的功能性需求分析和面向普通用戶的功能性分析如表2-1示。
    15
     
    表2-1用戶功能分析表
    Tab2-1UserFunctionAnalysisTable
    用戶類型 權限類別 功能內容
    業務人員 高權限 系統登錄識別
    實時水情查詢
    24h詳細水情查詢
    用水計劃統計
    調度計劃查詢
    調度方案查詢
    基礎水文信息查詢流域基本信息查詢水量調度宣傳信息基礎工程信息查詢氣象及地理信息查詢緊急情況上報
    工程及灌區用水信息查詢訂制信息推送
    普通用戶 低權限 系統登錄識別基礎水文信息查詢流域基本信息查詢水量調度宣傳信息基礎工程信息查詢氣象及地理信息查詢緊急情況上報定制信息推送
    面向業務人員,業務人員具有高權限的使用類別,可以查詢到的調度相關信息和業務功能模塊也比普通用戶多一些??紤]水量調度業務集成也應面向廣大群眾,普通的用戶也可以為調度業務基礎系統貢獻自己的一份力量,對普通用戶的功能模塊開發,在實現基本的信息查詢功能外,還設計普通用戶也可對緊急情況進行上報的功能,使得在緊急調度或者發生水污染的時候能夠迅速得到相關信息,進行及時處理,減少損失。
    對于系統前臺的功能模塊劃分,因為公眾號只承擔信息推送模塊,前臺主要業務在微信小程序上實現和進行,所以對微信小程序的子系統和功能模塊詳細劃分。渭河水量調度業務集成系統微信小程序共劃分為6個子系統、17個模塊。具體功能劃分詳見表2-2:
    16
     
    表2-2系統前臺功能設計表
    Tab2-2Systemfront-endfunctiondesigntable
    系統 子系統 模塊 功能單元
    渭河水量調度業務集成系統微信小程序 登錄模塊 登錄輸入
    登錄跳轉
    用戶密碼驗證
    實時水情模塊 當日水情 主要測站水情的查詢
    24h詳細水情 河道水情、水庫水情、地面降水信息
    用水統計模塊 市用水量統計 市區用水量統計(月、日)
    灌區地表水?。ㄍ耍┧拷y計 灌區地表水?。ㄍ耍┧拷y計(月、日)
    引水工程引水量統計 引水工程引水量統計
    (月、日)
    調度計劃模塊 年用水計劃 年用水計劃統計(市區、灌區、工程、水電站)
    月用水計劃 月用水計劃統計(市區、灌區、工程、水電站)
    調度方案模塊 渭河調度方案
    漢江調度方案
    嘉陵江調度方案
    黃河干流調度方案
    基礎信息模塊 流域基礎信息
    氣象地理基礎信息
    工程基本信息
     
    2.3.1.2非功能性需求
    (1)擴展性:系統設計實現后可以滿足現在的水量調度日常工作需求,但是隨著調度工作的需求變化,結合實際情況系統需要對功能結構進行調整重新設計開發,所以就需要
    17
    系統的各個功能模塊要為單一服務模式,根據功能的劃分,在后續水量調度中有其他需求,可以不影響系統其他功能的前提下來添加。
    (2)可靠性:在調度系統碰到異?;蛘咤e誤時,進行檢査和識別有問題的節點,因為水量調度服務系統在功能服務上以集群式的方式開發實現,這就有效的保證了集成服務應用系統萬一出現錯誤和意外情況,其他功能正常運行。
    (3)性能要求:保證水量調度系統的硬件需求能夠滿足調度工作的進行,客戶端因為是手機,所以在程序上也要保證流暢、性能要不斷優化。
    (4)維護性:因為渭河水量調度業務集成服務系統是采用JAVA實現,這種語言是面向對象的方式,在程序的開發和實現,測試中都更容易發現和修改bug。
    (5)安全性:安全保證是整個系統的必要前提,在保證安全的前提下,才能談使用的感受,調度系統更是涉及到大量數據,一旦數據泄露,被不法之人進行竊取,也是非常嚴重的后果。本文的系統采取的安全保障策略,能夠讓數據安全得到保障,也可以防止SQL注入和DDOS攻擊等。
    (6)靈活和易用性:在基于微信平臺的移動應用開發模式,已經可以保證系統的靈活和實用性,它不僅不用下載安裝,也解決了跨平臺等諸多的開發和使用模式。在加載和配置方面,用戶也能感受的和系統的交互性,使用便捷,對于一些操作引起的出錯,也有相應的提示。
    2.3.2前臺系統業務流程
    由于水量調度的復雜性,涉及到水資源、管理人員、數據、計算機、服務器等更各個方面的統籌協調,考慮到業務繁多又難以用技術交互融合,綜合考量前臺的系統主要負責對水量調度中的信息服務,例如:實時水情査詢、年(月)用水計劃査詢、工程用水査詢、基礎水文站相關信息査詢、緊急調度情況上報等。另外出于安全性考慮對水量調度的水文數據要加以保護,不能隨便改寫和使用,所以對調度工作人員和普通群眾使用的前臺和信息服務是不同的,其用戶識別交互過程如圖2-7所示。
     
    普通用戶 業務人員
    圖2-7用戶識別交互圖
    Fig2-7Useridentificationinteractiondiagram
     
    18
    根據不同用戶的業務不同,設計兩套前臺服務系統,此處也就要對登錄模塊進行設計和規劃。對這兩種用戶群體日常業務和可能擴展到的業務進行分析,得到前端可實現的業務表。因為前臺系統是基于微信平臺的,根據微信自己的生態可以將其中的業務分開來在微信小程序和微信公眾號來分別實現,查詢和上報類涉及數據可視化相關技術和交互技術,所以在微信小程序中實現,定制信息服務可以將小程序和公眾號關聯起來,在公眾號只獲取自己想要的相關信息,甚至不用打開小程序界面,對于在緊急調度、防汛抗旱的重要時期,實行消息推送,及時反應調度情況和災害預警相關信息,讓水量調度工作更加靈活、便攜性提高和讓信息服務不受場地限制,不管是業務人員還是普通群眾用戶,都可以進行信息上報和查詢,讓微信平臺真正的應用起來為水量調度工作服務。
    前臺業務和服務器及后臺交互服務流程如下:普通交互流程為:用戶用手機在小程序上向微信服務器發起請求,微信服務器轉發到本系統的云服務器,再從數據庫中獲得數據響應,生成結果又回饋到微信服務器,最后再由
    微信服務器在用戶所使用的微信小程序上顯示。定制推送流程是在使用小程序或者公眾號的時候就從調度系統的云服務器中,然后云服務器會和數據庫進行交互從數據庫中獲取數據,拿到前臺所需要的數據之后,主動發送至微信服務器,最后微信服務器再和用戶進行交互,用戶的手機就可以拿到自己定制的信息數據了?;谖⑿牌脚_的調度業務信息交互流程如圖2-8所示。2.4水量調度數據圖表實現
    在渭河水量調度業務集成服務的系統前臺中水量調度的數據圖表也是結合調度工作人員實際工作需要實現的可視化功能,實現的工具就是開源庫ECharts,它讓水量調度相關的數據圖表可以清晰直觀又形象具體的可視化展現【54]。如何在系統前臺中用ECharts來實現水量調度相關業務的數據可視化,其實現過程主要為以下幾個步驟,ECharts在水量調度微信小程序應用中具體實現的模式如所圖2-9示。
    19第一步為在系統前臺中引入Echarts庫,本系統即是在微信開發平臺中微信小程序開發的相關數據圖表的.js文件中引入。引入代碼如圖2-10所示
    <— pages?rainline>
    import球asecharts-fromimpori:{request]--From,r.-imporrregeneratorRuntime
    圖2-10小程序中Echarts引入代碼
    Fig2-10CodeintroducedbyEchartsintheapplet
    第二步是在微信小程序中為圖表準備容器,小程序的展示頁面主要是WXML文件,但不同于WEB模式,小程序的容器添加依然是在.js文件中,添加容器部分代碼如下所示:圖2-11添加容器代碼
    Fig2-11Addingcontainercode
    第三步初始化實例,小程序開發中初始化實例在第二步的過程中就一起完成。第四步是和調度系統后臺用AJAX技術交互。
    第五步和第六步就是在需要可視化的頁面中進行數據參數的渲染以及結果的繪制。其中系統中渭河降雨水情信息的圖表渲染和繪制代碼如圖2-12所示。
    20圖2-12小程序中渲染繪制代碼
    Fig2-12Renderingdrawingcodeinanapplet
    而在數據可視化實現過程中也和系統后臺進行了數據交互,交互過程即AJAX的交互流程,首先是在系統前臺中Echarts的初始化,再通過微信小程序客戶端中的AJAX和后臺系統通信并發出請求,在后臺系統中已經規定編寫好所返回的數據類型為Json格式。調度系統后臺響應AJAX請求后,再從相應的接口中獲取并解析請求的調度數據,完成解析后再返回給微信小程序進行處理。最終前端Echarts在小程序的展示效果如圖2-10所示。
     
    圖2-13Echarts數據可視化Fig2-13EchartsDataVisualization
     
    21
    2.5本章小結
    本章節中,對基于微信平臺的水量調度業務集成系統的系統前臺內容進行了介紹,因為該系統是在微信平臺基礎上開發的,在本章中說明為什么選擇微信平臺這種開發模式,前臺集成開發特點、運行交互流程及關鍵技術在數據可視化這方面介紹了Echarts相關內容。在水量調度業務集成系統的前臺,針對水量調度的需求和功能分析,在本章展開,另外也對系統最終實現的前臺方面的功能進行了劃分,非需求分析中的特點剛好能滿足在調度業務中的靈活性、適應性要求,最后對微信平臺的交互以及接口設計部分作以介紹說明。
    22
    3渭河水量調度業務集成系統后臺研究
    3.1渭河水量調度數據支撐
    渭河水量調度系統后臺實現,離不開數據的支撐。如何做好水量調度,數據是基石。在本文的渭河水量調度業務集成系統中,一部分數據是來自水文站實時監測數據和水量調度工作單位上報統計數據,還有一部分是從外部獲取,兩種異構的數據類型,如何管理以及如何結構化調度所用到的數據,成為了水量調度數據支撐的一個重要問題。而渭河水量調度系統的后臺數據模塊也是用來解決這一問題的,將從調度數據來源的分析、水文數據獲取、還有綜合數據管理三個方面來展開,并且保障數據安全,以從環保部網頁收集數據的實例介紹了,數據從外部匯集的過程。
    3.1.1數據來源分析
    在水量調度業務集成服務系統的后臺中,最重要也是最基礎的就是水量調度相關的數據,沒有數據就沒有辦法去做調度。我國從上個世紀以來經過水利信息化發展建設,各級部門和水利行業通過最早的檔案資料,到后來的電子檔案庫,再到數據庫管理存儲,已經累計了相當龐大的數據供調度業務集成服務系統使用。這是一部分數據來源,還有其他部分數據資料,也是得益于水利信息化基礎設施的建設,我們從各個水文站,河道斷面等重要監測站點可以拿到實時的監測數據,這些實時的監測數據讓數據的可靠性得到保障?,F如今公共的網絡資源也是一個重要的信息獲取渠道,對于在水利部門以及相關水利行業的網站上,我們可以通過計算機技術來拿到它們開源的數據信息。也是在有了這么多數據的情況下,水量調度的水文相關信息形成了現在的研究熱門大數據,這不僅是水量調度業務集成服務系統的必備保證之一,也是后續人工智能通過大數據來預測預報的基礎?,F在就是要將這些數據匯集起來,為水量調度業務集成系統服務。
    調度基礎類信息可以歸納為三類:一類是調度業務相關的數據,一類是渭河流域管理相關的數據,再一類是由社會公眾提供的數據。表3-1為本次水量調度相關的部分數據需求。
    23
    表3-1水量調度基礎數據需求表
    Tab3-1Waterschedulingbasicdatarequirementstable
    數據類型 小類 數據內容
    基礎類信息 自然類 河流基本信息流域基本信息氣候基本信息水質基本信息
    管理類 行政區劃基本信息經濟相關基本信息水利管理部門機構基本信息
    工程與設施類 水文測站基本信息水庫基本信息水電站基本信息引(?。┧こ袒拘畔?/div>
     
    3.1.2數據獲取方式
    水量調度業務集成服務系統的數據獲取,根據上一小節中的數據來源分析,對于調度系統的后臺所需要的水量調度相關數據可以總結歸納為兩種方式。一種是長時間積累下來的水文數據,也就是這部分數據是可以直接獲取拿來使用的,這對于水量調度業務集成服務系統來說是非常便捷的,在和水利相關部門合作后,取得數據來源的鏈接后,因為長期積累下來的水文數據量大,格式也不同,并且考慮到水文數據的重要性以及安全保障,對于數據獲取,能拿到的也只是對外提供的外部鏈接,而不是直接的內部數據。這就需要在數據存儲管理之前,將不同格式的數據類型進行統一化,經過數據解析最后存入水量調度系統后臺數據庫中。
    還有一種方式則是從互聯網上來獲取調度相關所需要的數據,這種方式是不能直接獲取到外部數據鏈接,但是可以通過計算機技術,用網絡爬蟲來下載網頁中的數據。這種方式同樣可以獲取到很多水量調度所需要的資料,最終匯入到系統后臺中。目前爬蟲技術常用的工具分為:通過網絡采集器來獲取,它使用方便,一般是設計開發好的程序,只需要簡單操作就可以獲取到所需要的信息;另外還有一種方式,是通過編程來獨立自主開發,結合調度業務所需要的數據來定制數據獲取和過濾的條件,針對系統后臺來專門設計實現,這種方式可以在過程中就對數據就進行統一處理,將數據歸入水量調度系統后臺數據庫里。
    3.1.3數據管理方式
    水量調度相關數據發展到現在,積累了大量的數據,所以不得不對這些數據進行管理。數據管理的發展,也是隨著技術的進步在變革,從早期的材料文件的人工管理發展到現在
    24
    的數據庫技術數據管理。對于全國現在水利數據管理的情況,建立水量調度的信息數據庫,可以在數據庫中進行統一處理收集存儲,對于開源的數據也可以進行解析之后存入系統的數據庫中。水量調度業務集成服務系統的后臺數據庫中,可以分為兩種,比如MySQL、Sqlserver存儲了大部分的實時監測數據、基本信息數據,這種屬于關系型數據;另外是對圖形和文檔類型的數據存儲緩存的,比如Neo4j、Redis、MongoDB等,兩種數據管理類型,可以由關系來決定,關系型的數據管理是關系和數據的聯系,非關系型的則是根據圖形或者文檔,從數據中分析關系。對系統的統一性和適應性要求,在數據庫管理這部分開發采用Java語言開發,為了數據的管理方便和精準度保證,對于調度業務體系后臺的搭建,讓這些數據庫根據數據類型和來源進行存儲,所以這些大數據的數據管理設計也是分布式,并采用了多種數據庫進行數據管理。如圖3-1所示為MySql數據庫的數據管理示意圖。3.1.4數據安全保障
    渭河水量調度系統的數據,涉及到用水安全以及調度信息的安全保證,如果發生數據泄露,被不法分子截獲利用,從中影響用水量調度的進行,將會造成難以計量的嚴重后果。大數據時代的數據安全問題更應該值得我們重視,所以針該系統從以下幾個方面來保障的數據安全
    (1)加強安全意識、建立數據保密協議;對從事調度工作人員的數據安全意識多宣傳引導,激勵業務人員對數據安全制度的執行,采取一些獎懲措施,對積極執行的工作人員給予獎勵。同時也要對調度業務相關的數據進行分級分類管理,讓相關核心數據和資料的權限級別都比較高,對于過期或者不用的數據資料進行銷毀,同時也要限制數據接口的使用,如外用的u盤硬盤等的傳輸,全體業務人員在工作中也可以發現問題,及時提出補充,讓水文數據的保密工作完善起來。
    25
    (2)定期檢查系統漏洞、核心數據重點監測;在使用調度系統的時候,難免存在一些漏洞BUG,在使用過程中也許沒有影響日常使用,但是也應該進行定期檢查,讓這些漏洞及時修復,以免被攻擊造成數據泄露。并對重點數據進行重點監管,比如最終的調度方案和調度信息,這些存儲的數據庫進行重點的監控,防止數據丟失泄露。
    3.1.5數據匯集及使用實例
    3.1.5.1數據源
    通過互聯網可以獲取到的開源數據是非常多的,對于水量調度業務集成服務系統的水文數據獲取,以我國環保部門的數據發布中心為例,因為數據是國家對外公開的開源水利行業數據,所以也不用擔心數據安全相關問題,如圖3-2所示為數據獲取實例的網站主頁。圖3-2數據中心主頁
    Fig3-2DataCenterHomePage
    在該數據中心的網站下,有很多的數據報表可以獲取,選擇一個自己想要獲取的數據報表進行查看并且可以下載圖3-3為數據中心的數據列表。
    26
     
    圖3-3數據中心數據列表
    Fig3-3DataCenterDataList
    3.1.5.2數據獲取
    在上一節中通過互聯網我們找到提供數據支持的數據源之后,因為環保部提供了數據下載和數據接口,并且非常方便的是剛好下載后的數據形式是Json,這與水量調度業務集成系統中的數據類型一致,從而讓數據處理的很多步驟可以省略。將下載好的數據進行解析,即可存入我們調度業務集成服務系統的后臺數據庫中。下面為該數據的具體Json代碼型式。
    (
    "data":[
    (
    'num:1,
    year":2018,
    "week”:52,
    "rsNm":“長江水系”,"stNm":“攀枝花龍洞”,
    "rvNm":“長江”,
    "section":mu11,
    "ph":7.84,
    "Do":10.4,
    "cod":1.3,
    "nh3N":0.09,
    "pWq":1,"1Wq":1}]
    },
    27
    本次采用java編程的方式將輸入導入數據庫中,數據從獲取到解析再到存入系統的后臺中,都是通過java來實現的,這一部分就是非常關鍵的數據匯集過程,如圖3-4所示為數據匯集部分關鍵代碼截圖。
    @Autowired
    PdfDocServicepdfDocService;
    @RequestMapping("/addDocs")
    @ResponseBody
    publicAjaxResaddDocsf){
    AjaxResajaxRes=newAjaxResO;
    List<PdfDoc>docs=newArrayList<~>();
    try{
    Documentdoc;
    doc=Jsoup,connect("http://vwiw,sxsgj.com,cn/List,action?classfyid=65").get();
    StringpagesNode=doc.select("div.pagediv"),get(0).childNode(2).toStringO;
    String!]split=pagesNode.split(
    String!]page=split[split,length-1]. "W):
    intparselnt=Integer.parseInt(page[O].trim());
    for(inti=0;i<parselnt;i++){
    Documentfdoc=Js(xip.connec“^M"http:〃wwi.sxsgj.com.cn/List.action?classfyid=65&cu「rentPage="+i+"&turnHElementsnewsHeadlines=fdoc.select(.main_row");
    for(Elementheadline:newsHeadlines)(
    NodeaNode=headline.childNode(3);
    Stringdate=headline.childNode(1).childNode(0).toStringO;
    DocumentfileDoc=Jsoup.connect(aNode.absUrl(^^^^^B"href")).get();
    ElementsfileElements=fileDoc.select(OHHB'pa");
    StringfileUrl=
    if(fileElements.size()>0){
    fileUrl=fileElements.get(0).absUrl(^^^^^^B"href");
    }
    NodechildNode=aNode.childNode(O);
    Stringstring=childNode.toStringj);
    PdfDocpdfDoc=newPdfDoc(UuidUtil.get32UUID(),string.trim(),date,fileUrl);
    docs.add(pdfDoc);
    StringdocName=pdfDoc.getDocName();
    List<PdfDoc>exist=pdfDocService.fIndByDocName(docName);
    if(exist.size()==0||exist==null){
    pdfDocService.insert(pdfDoc);
    圖3-4數據匯集部分關鍵代碼
    Fig3-4Keycodeinthedataaggregationsection
    3.1.5.3數據管理
    在水量調度業務集成服務系統的數據支撐中,大多是用數據庫進行實現。根據數據類別不同進行數據區分和分類存儲。其中數據庫的庫表結構根據SZY301-2013標準來設計實現,統一的庫表結構設計,讓數據庫的互通性以及穩定性都有所提高,在完成了調度數據的獲取之后,就可以依照標準來進行設計庫表并將數據導入管理。表3-2為河道水情表表結構。
    表3-3河道水情表表結構
    Tab3-2Riverwatertabletablestructure
    序號 名稱 標識 類型及長度 是否允許空值 單位 主鍵序號
    1 測站編碼 STCD C(8) N 1
    2 時間 TM DATETIME N 2
    3 水位 Z N(7,3) m
    4 流量 Q N(9,3) m3/s
    5 斷面過水面積 XSA N(9,3) m2
     
    28
     
    序號 名稱 標識 類型及長度 是否允許空值 單位 主鍵序號
    6 斷面平均流速 XSAVV N(5,3) m/s
    7 斷面最大流速 XSMXV N(5,3) m/s
    8 河水特征碼 FLWCHRCD C(1)
    9 水勢 WPTN C(1)
    10 測流方法 MSQMT C(1)
    11 測積方法 MSAMT C(1)
    12 測速方法 MSVMT C(1)
     
    以上表為例,在完成了河道水情表的庫表結構設計之后,即可以通過數據庫的SQL語句來實現河道水情數據表的創建,下面為創建河道水情表的SQL語句代碼
    IFEXISTS(SELECT*FROMsys.slddjhskWHEREobject_id=OBJECT_ID(N'[dbo].[ST_PPTN_R]')ANDtypeIN('U'))
    DROPTABLE[dbo].[ST_PPTN_R]
    GO
    CREATETABLE[dbo].[ST_PPTN_R](
    [STCD]char(8)COLLATEChinese_PRC_CI_ASNOTNULL,
    [TM]datetimeNOTNULL,
    [DRP]numeric(5,1)NULL,
    [INTV]numeric(5,2)NULL,
    [PDR]numeric(5,2)NULL,
    [DYP]numeric(5,1)NULL,
    [WTH]char(1)COLLATEChinese_PRC_CI_ASNULL
    )
    GO
    ALTERTABLE[dbo].[ST_PPTN_R]SET(LOCK_ESCALATION=TABLE)
    GO
    3.2系統后臺關鍵技術
    SpringBoot是系統后臺開發的一個重要框架,它也是Spring系列框架的最新技術框架之一。它的特點在于使用該框架時,需要在指定的配置文件中先將項目需要的功能配置好。配置好之后,大大減少了開發過程中其他功能庫、jar包的引入,同時它也是一種優化,讓項目可以更快速的運行[56]。在本文的水量調度系統中,它既是系統前臺和小程序公眾號開發保障,也是存放調度業務具體實現項目的框架。
    SpringMVC主要功能是在前后臺交互以及數據模型的選擇和傳遞展示。它也是Spring
    29
    框架的一員,其中MVC可以拆解看作三個負責的功能模塊,M代表的是模型model,在本系統中主要是封裝水文數據的一些模型I57】,而不是水量調度的業務模型。V則是view,即數據的呈現展示,本系統中view的表現主要是在小程序和公眾號的微信平臺上,C是控制器controller,即控制和影響調度系統的前后臺交互、請求、響應操作的處理。
    數據庫技術:目前在數據庫方面常用的有MySQL、Oracle、Sqlserrve,它們都是對數據進行存儲的工具。因為水量調度系統涉及的數據量大和數據來源多,根據這些數據庫的特性,MySQL作為基本信息數據庫,存儲不太變動更改的基礎數據,例如:用水單位信息、行政區劃信息、流域信息等。Oracle安全性相對來說更好一些【涸,存儲能力也更強,則用來在調度系統中存儲大量水文數據以及開源獲取的數據。
    MyBatis:該框架是SSM大框架中負責將持久化的框架。在調度系統中,大量的水文數據和基礎數據相互是沒有關聯的,無法對其有效操作和利用。通過MyBatis可以在這些對象和數據關聯起來,形成映射。相對于JDBC它是一個更簡易的工具,在對水量調度系統的開發過程中,可以使得代碼質量提高,從而讓系統運行速率也更快更好。另外它含有插件可以讓和調度數據相關的SQL語句動態生成I59】。
    服務器:本系統采用本地服務部署和云服務器部署結合的方式。其實本地服務器部署用的是Tomaca,本地部署的有時就是可以將業務處理的效率提高,在本地即可實現Servlet容器【6°]。云服務器則是在阿里云中進行數據庫、存儲、網絡、云安全、中間件技術、域名及網站等的部署,為本系統提供了大量服務和應用,服務器相關技術為該系統在微信平臺上線使用提供路徑,在本系統中是不可或缺的一部分。
    如圖3-5所示為本系統技術框架圖,后臺和前臺用接口交互,各自負責自己的功能模塊,后臺又和數據庫交互為本系統提供數據支撐和保障。
    30
    3.3微信平臺與調度系統數據交互及接口設計
    3.3.1微信平臺和調度業務系統交互流程
    本系統后臺部分的實現了調度數據查詢、水利工程信息查詢、水情日報推送以及公眾號服務等功能。以前的水文信息和系統數據已經為本系統提供了不少的數據來源,其中可以開源獲取的數據,是在整個網絡環境中獲取的,水量調度業務集成的系統后臺都是在本地網絡中實現的。所以不僅是數據的交互,在網絡和前后臺的交互也需要用到接口,來滿足基于微信平臺的水量調度系統前臺和后臺的交互。微信平臺與相關數據交互的流程設計如圖3-6所示。
    31
     
    圖3-6微信平臺交互流程圖
    Fig3-6Flowchartofdatainteraction
    接口方面在水量調度系統中放在了系統后臺中,采用WEBService服務器集成水量調度業務接口,一部分接口是用于微信平臺和調度系統服務器的交互,還有一部分是用于獲取到的開源水文數據,在系統服務器和Web服務器交互的接口。兩者數據可能因為安全和隱私的考慮采用不同類型的接口設計來保證服務器和數據交互的順利進行。
    3.3.2渭河水量調度業務集成系統接口設計
    根據業務系統交互流程,微信平臺下的交互在微信小程序及公眾號的開發中就能完成,而系統服務器和微信平臺的交互,是不對外開放的,這樣可以保證系統的安全性。在系統服務器和Web獲取數據的接口方面,設計為開放式,讓能從網絡上獲取爬蟲到的數據都應用于調度系統中,但又不能影響和干擾到系統服務器的接口,這樣設計也非常利用系統維護,保證系統前后臺的交互,下面為調度業務服務系統在開發工具中使用接口的小程序代碼。
    letajaxTimes=0;
    exportconstrequest=params=>(
    ajaxTimes++;
    returnnewPromise((resolve,reject)=>(
    letheader=(
    ...params.header
    }
    wx.showLoading((
    title:”加載中”,
    mask:true,
    });
    constbaseUrl="http://202.200.112.175:8080/";
    wx.request((
    ...params,
    32
    header,
    url:baseUrl+params.url,success:(result)=>(resolve(result);
    },
    fail:(err)=>(
    reject(err);
    },
    complete:()=>(
    ajaxTimes--;
    if(ajaxTimes===0)(
    wx.hideLoading();
    }
    }
    })
    })
    }
    3.4渭河水量調度業務信息服務
    3.4.1調度業務信息服務流程
    在調度業務集成服務系統中,信息服務流程即和微信和后臺交互流程類似。將其可以分為定制信息推送和數據的交互。其具體流程圖如圖3-7所示。首先是小程序的客戶端或者公眾號發送請求的數據,在云服務器中接收到請求,想再向系統本地服務器中數據庫查詢從前臺中請求的調度業務相關數據,前臺的客戶端接收到的數據形式最終是JSON格式。定制調度信息推送,是結合微信服務器,調度業務人員在系統中定制和自己具體業務相關的數據,微信服務器和云服務器交互,再請求到系統服務器,同樣的從數據庫中拿到數據后以JSON包格式返回給調度系統的客戶端,方便工作人員直接獲取到自己實際需要的數據信息,而不是再進入系統中查找,定制信息服務也可以更改,讓水量調度業務人員數據獲取更加靈活。
    33
     
    圖3-7消息推送和數據交互流程圖
    Fig3-7Flowchartofmessagepushanddatainteraction
    3.4.2調度業務信息查詢及推送系統的實現
    調度業務系統的后臺編寫主要是用java,在調度業務系統的后臺中Java也是實現后端的API的開發語言,所用到的后端的框架為Springboot,結合Mybatis和Spring即構成了整個調度系統的框架SSM。首先我們需要在開發工具中創建一個maven項目,將項目所需要的依賴導入。下面是導入pom依賴的部分代碼:
    34
    <?xmlversion="1.0"encoding="UTF-8"?>
    <web-appxmlns:xsi=,,http://www.w3.org/2001/XMLSchema-instancehttp://www.springmodules.org/schema/cache/sprir
    <display-name>SpringMVC</display-name>
    <<—統_版本控制—>
    <parent>
    <grouplci>org.springframework.boot</groupld>
    ortifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE*:/version>
    </parent>
    〈dependencies、
    </--于「ee—ker渲染頁面一>
    <!―https://mvnfeposattjfg.com/ar十act/or*g.sjofingfrcrmework.boot/sjoring-buot-sfeemarker1—>〈dependency〉
    <grouplcf>org.springframework.boot</groupld>
    <artifactld>spring-boot-starter-freemarker</artifactld>
    </dependency>
    <!--springboot核心-->
    〈dependency〉
    <groupld>opg.springframework.boot</groupld>
    cartifactld>spring-boot-starter-web</artifactld>
    〈/dependency〉
    <!--springboot^^-jsp
    <!—tomcat的支持.—>
    <dependency>_
    <groupld>org.springframework.boot</groupld>
    <artifactld>spring-boot-starter-web</artifactld>
    〈exclusions〉—
    〈exclusion)
    <groupld>org.springframework.boot</gr'oupld>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    圖3-8pom依賴代碼
    Fig3-8pomdependencycode
    配置相關的文件存放位置為src/main/resources,在這個文件下是項目配置的相關文件,其中需要我們創建application.properties文件,用來讓配置參數和調度系統的參數適應匹配。
    #jsp支持
    spring?mvc?view?suff:ix=.jsp
    spring.mvc?view?preTix=/WEB-INF/jsp/
    #thisissetport
    Userver.port=80
    server.port=443
    #添加與,1證書
    #ssli£書文件名
    server.sst.key-store=classpath:xxxxxxx.pfxstiver.ssl.key-store-password=xxxxxxxxserver?ssl?keyStoreType=xxxxxxxx
    圖3-9application配置參數
    Fig3-9Applicationconfigurationparameters
    在實際項目中涉及數據庫,要整合mybatis,此處僅展示測試的數據入庫測試程序,在調度系統的后臺中先創建一個入庫的程序,編譯文件代碼如下圖所示,文件名后綴為.class的文件就是經過Java編譯后的程序文件。在啟動項目程序,只需要在界面中找到綠色Run三角按鈕,點擊之后就可以測試該程序是否和調度集成系統的前臺交互成功。其中首先創建springboot的入庫程序:app.class代碼如下,啟動項目時直接右擊run即可??刂凭幾g的代碼如下圖:
    35
    puDLicstaticvoiqnia±n(.itringLJargsjt
    SpringApplication.run(App.class,args);
    (SRestControLler
    {BSpringBootApplication
    publicclassControtlerText』
    ^RequestMapping("getUser")
    publicMap<String,Object>getUser(){
    System.out.printin(程序正在週用。。。");
    Map<String,Object?map=newHashMap<String,Object〉。;List<String>List=newArrayList<String>();
    list.add("zhangsan");
    list.add("lisi");
    list.add("wanger");
    list.add("mazi");
    map.put("list",list);
    System.out.printin(程序調用完成");
    returnmap;
    {SRequestMappingCgetWord")
    publicMap<String,Object>getText(Stringword)!
    Map<String,Object?map=newHashMap<String,Object>();
    Stringmessage="該功能尚未開放";if("基礎信&".equals(word)){message="該系統為猾河水量調度業務集成微信小程序";
    }elseif("微信小程序”.equals(word)){
    message="想獲取更多微信小程序相關知識,請更多的閱讀微信官方文檔,還有其他更多微信開發相關的內容。";
    }elseif("實時水情信息".equals(word)Hmessage="庫水位:765.08m蓄水量:3657萬m3降水豪0.2mmA庫:9.3m3/s岀庫:7.4m3/s城市供水:5.45m3/s西安:3.00
    圖3-10小程序連接測試代碼
    Fig3-10Appletconnectiontestcode
    測試之后,若調度業務集成系統后臺和前臺交互順利,即說明前后臺分離搭建完成。在后臺中我們可以用兩個注解,它就是所用到的SpringBoot框架中的@RestController與^Controller,對比其他的框架,之所以在調度業務集成系統的后臺中用這種方式,是因為它不僅使用起來便捷有效,也是剛好契合了微信小程序前臺需要返回的數據是要以Json的型式。
    3.5渭河水量調度方案研究
    根據文獻和現有的調度資料,在水量調度方向現在基本都是編制調度方案這一規劃的方式來做水量調度的工作。渭河水量調度業務集成的系統后臺,也將主要對調度方案相關的業務方面如:如何編制調度方案、調度方案如何選取、調度方案推薦以及調度方案的展示來設計和分析。本文中調度業務集成系統的后臺采用基本的調度模式進行分析實現。
    3.5.1渭河調度基本原則
    渭河水量調度的基本原則根據水量調度方案編制使用的方法,略有不同,一般情況下的調度原則基本都要滿足:渭河不能斷流是前提,在此基礎上,讓居民日常的生活用水、農業、工業的用水得到保證。在調度總量上把握,各個斷面的流量進行分控,各級部門責任劃分也要明確,實行統一的調度I62】。根據調度日期的劃分,可將水量調度劃分為汛期調度和枯水期調度,7月開始到10底為防洪防汛調度,11月到來年6月為來水較少的枯水期調度,這兩個調度需要結合年尺度、月尺度以及實時水量調度方案一起來進行。
    在水量調度方案編制現行法中,水量調度原則為:根據國家和各調度部門的指示文件,
    36
    從中獲得各地區用水單位的用水比例和下一年預報來水的供水量,按照全年水量調度總量不變來確定配比,月分水配水可以根據月需水和月分配指標在可調范圍內進行水量調度。具體原則要求為:
    (1) 保證渭河安全相關的基本流量
    (2) 各級部門及各行政區、工程、灌區的基本用水要得到保障
    (3) 生態環境用水不能低于最低要求
    (4) 考慮到應急調度的水污染問題,多考慮各個水庫的調蓄能力
    (5) 考慮水電方面的調節,保證水庫安全和穩定運轉
    (6) 豐增枯減網
    水量調度方案編制中還有適度優化法,其優化的調度原則為:渭河水量調度因為流域面積大,調度面積廣,調度問題復雜,所以根據不同調度情況,優化調度目標也可以不同?;旧弦赞r業需水調度為重,在其他調度情況,可以適當考慮以其他目標為主的水量調度??傮w目標是在保證用水和生態的前提下,實現社會和經濟效益最大化。
    (1) 根據具體區域的來水和降水情況,對該地方的用水計劃和需水進行調整,讓水量調度將水資源分配的更符合實際情況。
    (2) 在考慮各分級和段面的情況,結合水庫的調蓄能力,對渭河整體調度
    (3) 優化水量調度要保證其他各級部門的用水基本情況,在不影響基本需水的前提下進行優化配比。
    (4) 考慮在水量調度方案中加入促進節水的條例,保證基本用水的情況下,提高用水率。
    3.5.2渭河水量調度基本方式
    根據陜西省需要上報的渭河水量調度的規劃對象,經由渭河水量調度工作人員進行適當調整,并上報黃河委,經審核后,并出具渭河調水指標,渭河調度人員根據水量指標、來水預測和實際情況,編制渭河流域年尺度的水量調度計劃方案。月尺度調度計劃則是根據年調度計劃中的具體月份用水情況和用水計劃,結合用水量預測、用水的情況即中短期的來水預報和來水情況,結合需要做月旬水量調度方案的市區或者灌區、取水工程等的月度用水計劃,以年調度計劃為邊界條件,再去修正和約束月調度方案。最后實際的用水和調度方案中中的對比,將渭河水量調度方案確定。整個水量調度方案的流程如圖3-11所示,具體流程為:
    37
     
    圖3-11陜西省渭河水量調度工作流程
    Fig3-11waterdispatchingworkprocessonWeiheRiverinShaanxiprovince
    調度流程主要為以下步驟:
    (1) 各個水量調度相關的部門和單位先在調度實行之前上報其用水計劃
    (2) 進行水量調度的管理單位根據上報的數據和預報信息來判斷其合理性,并各個調度部門的用水計劃統計和修改,要對不合理的用水計劃進行適當縮減,最終保證各控制斷面流量在合理范圍內I64】;
    (3) 水量調度把修整后的符合要求的用水計劃上報黃河委員會,再由黃委下發水量指標。
    (4) 水量調度的管理單位再根據黃委的水量指標作為約束,結合用水計劃再去調整修正。
    (5) 最后在保證調度方案的合理和準確性下,生成調度方案并下行發給各水量調度施行單位。如圖3-12、圖3-13所示分別為年和月尺度的編制流程,編制及計算流程都在上述流程的基礎上進行,月尺度的水量調度指標需要結合年的水量調度指標。
    38
    圖3-12年水量調度控制指標計算流程
    Fig3-12Annualwaterdispatchingcontrolindexcalculationprocess圖3-13月水量調度控制指標計算流程
    Fig3-13Monthlywaterschedulingcontrolindexcalculationprocess
    旬尺度的水量調度方案編制往往是涉及到應急調度如:汛期防洪調度、干旱應急調度
    39以及水污染應急調度等,它需要考慮到最近的上旬用水計劃和實際用水量,再根據上報的數據和來水的預測,約束條件同月尺度的水量調度方案,根據這些信息和水平衡分析來制定出旬的水量調度方案。
     
    圖3-14旬水量調度方案計算流程
    Fig3-14Tenwaterregulationschemecalculationprocess
    本文是在渭河水量調度的現行管理辦法和條例基礎上,在系統的后臺實現水量調度基本方式中水量調度方案編制,因為系統和水量調度工作人員的實際調度方案編制業務相結合,從工作實際需求出發,后續如果指標、方式、依據改變的話,那么系統也可以相應調整,來保證水量調度工作人員使用系統進行水量調度方案編制的順利進行。
    3.6本章小結
    本章中對渭河水量調度業務集成系統的后臺方面進行研究分析,例如水量調度的數據支撐,詳細說明了調度業務的數據如何收集、管理、存儲及安全保障,介紹了系統后臺的開發關鍵技術,基于渭河水量調度的信息服務和水量調度的基本方式實現了和前臺數據的交互及水量調度方案系統的編制。
    40
    4基于微信平臺的渭河水量調度業務集成系統開發應用
    4.1開發環境和開發工具
    4.1.1開發工具簡介
    系統開發環硬件環境方面,項目支撐的本地服務器作為系統服務器,進行開發模擬。阿里云作為云服務器,進行水量調度的資料和數據的存儲和下載,另外在對系統測試和使用則還必須有一臺電腦和手機。系統開發軟件環境和工具方面,前臺開發軟件采用微信開發工具及公眾號編輯工具,后臺開發軟件用到IntelliJIDEA2020.1x64、Tomcat8、MySql。開發工具匯總如所表4-1示
    表4-1開發工具環境表
    Tab4-1Developmenttoolenvironmenttable
    前臺開發工具 后臺開發工具 運行環境
    微信開發工具 IntelliJIDEA2020.1 Jdk版本1.8
    公眾號編輯工具 Tomcat 8.0
    MySql 5.5
    4.1.2開發環境配置
     
    開發工具及環境配置過程如下:先介紹系統開發工具的下載和安裝過程,IDEA可以在IDEA的官方下載地址中下載,其中有兩個版本選擇,我們系統選擇商業版本,社會版對比商業版會少一些功能模塊。
     
    圖4-1Idea官網下載
    Fig4-1Ideaofficialwebsitedownload
    IDEA的安裝:下載后的文件進行雙擊,根據提示點擊NEXT,來選擇軟件安裝的位置以及自己電腦系統的位數等相關操作,這里的話找到和自己開發系統電腦一樣的選項即可,;在選擇中還有是要關聯一些文件和使用的文件庫,選擇默認選項就好。
    41<BackI Next>—JJCancel
    圖4-2Idea安裝環境選擇
    Fig4-2Ideainstallationenvironmentselection
    其余的選項菜單,選擇安裝提示的默認選項就行,選擇完后進行安裝,等待片刻后安裝就完成了。安裝完成后,需要進行注冊激活,這里有三種方式,一個是賬戶密碼方式,一個是購買的激活碼進行激活,還有一種是使用服務器激活,來這里選用第三種方式激活。激活之后,該服務器的電腦下都可以使用IDEA來進行開發
    圖4-3Idea激活方式選擇
    Fig4-3Ideaactivationmethodselection
    隨后開始Idea環境基本配置,不過在不同的開發軟件中有所不同。在IDEA開發工具中找到文件-項目選項(file-projectstructure),選中并點擊SDKs項,從旁邊的加號中來配置JDK,找到開發主機的JDK安裝位置,確定后IDEA的JDK配置完成。具體流程如所示。
    42本地服務器Tomcat的配置:在開發工具中找到RUN中的EditConfigurations再從其中的加號中點擊TomcatServer本地,在服務器配置下而的項目中,找到Applicationserver,點擊之后在本地中找到Tomcat文件的所在位置,隨后確定,IntelliJIDEA中的Tomcat配
    置就完成了,其配置流程如圖所示。,jeforelMmn:&Wd,AdvwbMlwIndor
    +-7*•
    \Build
    □Swwttiispage団Activnewoiwindow
    。{mcAppAcatiaoSewernotspscifed
    I<*ICawdto*
    圖4-5Idea中Tomcat配置
    Fig4-5TomcatconfigurationinIdea
    配置完系統后臺的IDEA開發工具相關內容之后,再進行水量調度前臺所用到的微信開發工具配置,前往微信開放工具官網進行下載,注意要下載系統對應的開發版本微信開發工具相關網頁和安裝過程都是中文版,根據提示進行下載安裝操作即可,安裝過程較為簡單,選擇安裝在硬盤的位置后根據提示安裝完成即可。圖4-6微信開發工具安裝
    Fig4-6WeChatdevelopmenttoolinstallation
    進入開發工具后需要掃描二維碼注冊APPID就可以使用了,下面進行APPID的申請注冊配置介紹。AppID代表小程序的ID號,必須擁有微信小程序賬號才能申請這個ID號。如果沒有AppID,小程序就不能在真機上演示(即不能發布到線上給用戶使用),只能在微信開發者工具里模擬運行。但是如果你只是想要學習小程序的開發,沒有AppID也是可以的,可以通過開發者工具提供的模擬器運行來運行測試小程序,小程序也是有賬號的,在進行水量調度的小程序開發前進入官方的賬號申請網址中進行水量調度小程序賬號的申請,網址為:https://mp.weixin.qq.com/wxopen/waregiste根據頁面提示的要求,填入相應的信息。點擊注冊之后,騰訊官方會發送到你的郵箱一個激活郵件,進入自己的郵箱打開郵件點擊其中的激活鏈接進行激活點擊鏈接后,會跳到信息認證界面,在主體類型
    44
     
    中選擇個人,然后在頁面中填好你個人的相關信息。
    能申
    ’你已閱讀并同意《微信公眾平臺服務協議>及《微信,」卷序平臺服務朝》
    asa
    圖4-7微信小程序APPID注冊
    Fig4-7WeChatAPPIDregistration
    填好信息,并用微信掃描確認后,就完成了信息認證了。點擊前往小程序,在等待網頁變為小程序開發管理頁面后,在其中開發設置就能看到該系統對應的小程序的“身份證”
     
    圖4-8微信小程序APPID查看
    Fig4-8WeChatAPPIDview
    至此系統的環境配置和開發工具配置就完成,開發準備工作完成,下文將介紹調度業務在各個工具已經集成實現的部分功能及應用。
    4.2微信小程序
    根據本文中第二章節內容,微信小程序在調度業務集成系統中主要負責前臺中的數據信息展示和數據交互任務。水量調度業務集成小程序已經開發完成,下面詳細介紹實現功能及具體應用。
    4.2.1小程序安裝使用
    渭河水量調度系統前臺基于微信小程序平臺設計開發,即移動端安裝微信即可使用。
    45
     
    4.2.2登錄模塊
    小程序的登錄實現。小程序在微信平臺中搜索或者直接用微信掃描渭河水量調度微信小程序的二維碼,即可進入小程序的渭河水量調度業務集成移動服務平臺的登陸界面,相關業務部門會有對應的賬號及密碼,輸入就能進入業務處理部分,如果密碼或者賬戶輸入錯誤系統會給予提示。
     
    該界面上方分別為市區、年月、日期、灌區等條件篩選器,用戶可通過篩選器查詢指定的用水計劃信息。點擊選擇需要查看的信息,表格藍色部分也可手動滑動查看前后日期的統計信息。
    2019.12
    4.2.5調度計劃模塊
    通過界面下方點擊調度計劃即可進入調度計劃系統,流域篩選說明與用水計劃模塊相同,經過流域篩選后可查看不同流域的用水統計信息
     
    主要將用水計劃信息劃分為年和月尺度,用戶可點擊想查看的市區、灌區、飲水工程、水電站等用水信息表。
    該界面上方分別為市區、年月、日期、灌區等條件篩選器,用戶可通過篩選器查詢指定的調度計劃信息,表格藍色部分也可手動滑動查看前后日期的調度計劃信息。
    4.2.6調度方案模塊
    界面下方點擊調度方案即可進入調度方案模塊,經過流域篩選后可查看調度方案。
     
    調度方案
    用戶可以根據需求點擊查看想要查看的調度方案,最終會用手機相應的軟件打開用戶選擇查看的文件。
     
    圖4-23調度方案下載查看
    Fig4-23SchedulingPlanDownloadView
     
    4.3微信公眾號
    微信公眾號主要負責了調度信息推送的業務,在使用小程序后會自動關聯渭河水量調度業務集成的公眾號,或者也可以單獨搜索來進入公眾號。在公眾號下方三個菜單分別為:今日推送、基礎信息、防汛抗旱三個功能模塊,今日推送主要針對業務人員日常工作中的重要調度信息或者其定制的相關調度業務信息實施每日的推送,基礎信息模塊,包括水利工程基礎信息、水文基礎信息、水利歷史等等系列基礎信息的查詢,防汛抗旱是在應急調度或者特殊的防汛抗旱應急時期也可以查詢相應的信息數據和條例辦法等。
    4.4調度方案編制子系統
    調度方案編制子系統是系統后臺的重要部分,在已有的調度數據和通過數據收集技術獲取到的數據的基礎上,使用IDEA軟件結合水量調度的理論和模型,并根據水量調度的相關指標和依據做約束條件開發實現調度方案編制的子系統,最后在服務器上將子系統部署。因為整個渭河水量調度業務集成服務系統的查詢展示放在了系統前臺,在調度方案編制的子系統中也可以查看系統前臺中相關展示的信息,例如渭河實時水雨情、河道水情、降雨信息等,而該子系統放在整個業務集成服務系統的后臺也是因為前后端分離的設計理念,讓其在系統后臺中可以發揮的調度方案的編寫生成作用,其中也包括調度方案計算的任務。
    4.4.1年水量調度方案編制功能
    系統根據渭河水量調度基本模式,水量平衡方程以及匯總過來的邊界條件、用水計劃、來水情況等數據,在黃委的渭河年總水量指標的基礎上,利用IDEA開發工具和JAVA進行調度方案的編制功能的開發實現,年水量調度方案的編制是對渭河流域的11月到來年6月這一尺度的非汛期的水量調度方案編制。其系統的編制流程如圖4-25所示。
    54來水情況
    實際用水
    計劃用水
    生成調度方案報告
    圖4-25系統年水量調度計劃編制流程
    Fig4-25Annualwaterdispatchingplanningprocessinsystem
    系統通過匯集了水文監測站點的實時數據以及從各個網站可以獲取的相關水文數據,也包括調度工作人員及群眾的上報信息,最后經過數據過濾解析,將其匯總為實際用水信息和降雨及預報信息三個部分共同組成了來水信息。
    用水量的模塊和系統前臺實現中的相關劃分基本相同,有各個行政區的實際用水、計劃用水,不僅含有工程的計劃用水,也有取水口的計劃用水統計,計劃用水顧名思義,從個調度部門上報的用水計劃和實際用水相結合考慮,既要保證實際用水的需要,也要避免上報計劃中需水過大難以平衡調度。如圖4-26所示為調度方案編制實現的系統后臺開發界面。圖4-26調度方案編制系統開發界面
    Fig4-26Schedulingprogrammingsystemdevelopmentinterface
    該水量調度方案編制的模塊是以渭河水量調度基本方式進行水量調度,先將取水指標作為約束條件,取水指標是由渭河水量調度的上級部門黃河委員會下發。再根據水量平衡和用水、來水的數據,渭河水量調度方案編制模塊就可以在系統的后臺集成實現。年調度方案系統應用結果見圖4-27。
    圖4-27年調度方案
    Fig4-27Annualwaterdispatchingscheme
    4.4.2月水量調度方案編制功能
    月旬尺度的水量調度方案編制是在年水量調度方案的基礎上,理論和數據的支撐也相同,月旬尺度的調度方案編制會去結合年水量調度方案來動態修正月水量調度方案,月旬尺度的水量調度方案編制流程如圖4-28所示。
    56生成調度方案報告
    圖4-28月調度水量方案編制流程
    Fig4-28Monthlywaterdispatchingplanningprocessinsystem
    在系統后臺的月水量調度方案實現中,基本功能劃分也和年水量調度方案實現相同,從來水信息、用水信息以及相關指標這些數據來組成月調度方案編制的實現基石,再通過技術編程實現其架構,最后完成月旬尺度的水量調度方案這一功能模塊的開發搭建。月旬調度模塊系統截圖如圖4-32所示。
    在本章中采用計算機技術、移動應用開發技術、數據可視化技術在微信平臺上,將水量調度業務進行集成實現,并在后臺系統中用JAVA語言開發了水量調度方案編制功能子系統,詳細介紹各個功能模塊的作用及實現過程。
    58
    5結論與展望
    5.1結論
    水資源的供需矛盾以及水資源的管理和調度問題,已經對我國的經濟、生態發展產生了巨大影響。為了解決這些問題,將水資源合理調度是一個重要有效的措施,并且隨著信息技術的發展,移動應用的發展,對渭河水量調度現狀,以微信平臺為支撐,構建了渭河水量調度業務集成服務系統。論文主要研究成果結論如下:
    (1) 渭河水量調度業務集成系統前臺構建,針對渭河水量調度的需求及日常調度業務,將信息化和移動應用放在微信平臺引入到渭河水量調度中,基于微信平臺構建了水量調度業務集成系統的前臺,讓微信移動應用和渭河水量調度業務結合起來。
    (2) 渭河水量調度業務集成系統后臺構建,渭河水量調度業務集成系統后臺中,對數據的來源、獲取方式、管理研究,融合吸收其他水文信息數據,并用一個數據匯集實例說明系統后臺如何進行數據收集、管理、應用。實現了水量調度業務集成系統中的后臺和前臺的交互及接口還實現了前臺的信息服務功能應用,并基于渭河水量調度的基本方式,實現了調度方案編制功能在后臺系統中說明水量調度方案如何定制的問題。
    (3) 基于微信平臺的渭河水量調度業務集成系統開發應用。采用信息化技術及軟件開發技術,將已設計和分析好的調度業務功能模塊在微信平臺和服務器上實現并集成應用。該系統也為渭河水量調度提供了一條移動應用的新途徑,讓水量調度可以更加及時、便攜的進行。
    5.2展望
    論文研究設計水資源、計算機技術、移動應用開發技術等方面,研究了渭河水量調度已有的模式下的業務集成服務系統,但水量調度本身業務復雜,涉及方方面面,影響因素也種多,技術實現和數據交互較為復雜。由于本人水平和精力限制,研究不夠全面,后續對水量調度的應用系統還需進一步開展研究,不斷完善水利業務系統服務,使其不僅能夠適用于水量調度工作人員,也讓微信平臺上做業務集成這種水利信息化的模式可以應用到其他水利工作方面。
    62參考文獻
    [1]楊成立,劉志強.淺談我國水資源狀況及保護對策[J].山西建筑,2003,29(10):85-86.
    [2]我國與世界的水資源現狀[J].紡織導報,2008(08):111.
    [3]韓俊.推進中國特色新型農業現代化若干問題[J].當代農村財經,2014(09):6-11.
    [4]梁興.不容忽視的高校環保教育一水資源危機引發的思考[J].河北旅游職業學院學報,2011,16(01):89-90.
    [5]蘭岸平.加快農村水利設施建設刻不容緩一以湖南省株洲市為例[J].經濟研究導刊,2011(36):43-146.
    [6]陳開琦.我國水資源安全法律對策研究[J].中共四川省委省級機關黨校學報,2012(05):5-14.
    [7]李東,張學成,高亞軍,可素娟.渭河支流水量調度方案可行性探討[J].人民黃河,2009,31(2):41-44.
    [8]李海辰,雷曉輝,李曉春,等.WROOM模型及其在渭河流域水量調度中的應用[J].南水北調與水利科技,2014,12(2):14-18.
    [9]李曉春.陜西省渭河水量調度的實踐與探索[J].陜西水利,2009(05):23-25.
    [10]蔡陽.淺議信息化是水利現代化的基礎[J].中國水利,2001(04):53-54.
    [11]查治榮.基于移動互聯的水文信息服務研究[J].水資源開發與管理,2019(11):76-78.
     

    聯系我們

    亚洲国产精品无码久久久久久曰久久久精品国产亚洲成人满18免费网站99久久综合狠狠综合久久最近高清影院免费观看国产亚洲美日韩AV中文字幕无码成人无码国产亚洲日韩国精品视频一区二区三区,欧美日韩在线一区二区国产欧美亚洲精品中文字幕无码专区国产日韩综合不卡免费观看国产精品国产精品国产专区不卡亚洲成a人片在线播放亚洲第一国产综合国产极品精品免费视频能看的福利中文字幕最新永久久久久综合九色合综,97精品国产高清自在线看超日韩精品无码视频免费专区国产一区麻豆剧传媒果冻精品91精品国产福利在线观看麻豆国产在线精品国自产在线91久久中文精品无码中文字幕国产高清在线a视频大全国产精品午夜福利精品国精品四产自在久国产无码一二三四区免费久久久久精品久久久久久亚洲偷窥日本一区欧美国产日韩精品国精品国产AV自在久国产国产精品va免费视频亚洲色一久久久综合网亚洲欧美高清一区二区三区99久久久久精品国产免费日韩一级一欧美一级国产国产成a人片在线观看视频99亚洲综合av一区二区,亚洲国产精品无码第一区无码久久久一区二区三区免费一卡2卡三卡4卡激情短篇少妇系列小说色偷偷亚洲第一综合网国产综合色产在线精品中文字幕亚洲综合小综合,国产精品成人啪精品视频免费网站84sex久久精品国产麻豆无码日韩精品一区二区免费暖暖免费麻花豆传媒剧