[發明專利]一種基于Spark的網格水文模型分布式計算方法有效
| 申請號: | 202110330831.5 | 申請日: | 2021-03-26 |
| 公開(公告)號: | CN112948123B | 公開(公告)日: | 2023-02-28 |
| 發明(設計)人: | 王繼民;李嘉瑋;李永超 | 申請(專利權)人: | 河海大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/48 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙) 32204 | 代理人: | 柏尚春 |
| 地址: | 210024 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 spark 網格 水文 模型 分布式 計算方法 | ||
本發明公開了一種基于Spark的網格水文模型分布式計算方法,步驟為:先對網格水文模型計算參數采用netCDF格式進行描述,再基于XML規范對網格水文模型構件及其依賴關系進行描述;然后采用Spark分布式計算模型對網格水文模型的構件進行調度和計算,最后對調度計算后各構件生成的結果進行輸出。本發明定義了基于netCDF的模型參數以及模型計算結果描述格式,描述網格水文模型計算時使用到的流域特征、模型參數以及監測點和流域面上的水文數據;定義了基于XML的網格水文模型構件以及各構件之間的依賴關系描述規范;根據構件計算時網格之間的依賴關系,使用Hash分區法和動態數據分區法對網格進行任務劃分,并分配到不同的節點進行計算,減少了數據分發量,提高計算速度。
技術領域
本發明屬于信息技術領域,特別涉及一種基于Spark的網格水文模型分布式計算方法。
背景技術
傳統的集總式水文模型在流域上采用平均的、單一化的參數來描述整個流域的水文特征,沒有考慮流域不同區域的空間異質性,因此對于復雜流域(下墊面變化大、空間降雨分布變化大)不能進行很好的模擬。分布式水文模型是根據流域下墊面的特征將流域劃分成大小不同、空間不規則的子流域,以考慮流域的空間異質性,通過并行計算提高模型計算的效率。網格水文模型屬于分布式水文模型的一種,它將流域劃分為多個網格單元,每個矩形區域的網格擁有獨立的參數和數據,用于描述本網格內流域的水文特征和產匯流,更加精細化地考慮流域各種地理要素的空間異質性,與集總式水文模型和普通的分布式水文模型相比,網格水文模型能更精細更準確的描述流域的水文過程,是探索和認識復雜水文循環過程的有效手段和解決眾多水文實際問題的有效工具。
網格水文模型的計算過程包括每個網格的蒸散發、產流等,以及整個流域的不同網格之間的坡面和河道的匯流等,所以與集總式水文模型相比,網格水文模型的計算量要高的多。傳統的串行計算模式已經無法滿足網格水文模型在大流域上的實時模擬和預報需求,因此,提高網格水文模型的計算效率,是水文預報領域實現網格水文模型實用化迫切需要解決的問題。
現有的分布式水文模型通常采用基于超級計算機資源的并行化計算模式,以子流域為計算單元,在子流域與子流域的計算出口處進行數據交互,實現子流域級別的并行計算。存在的問題主要是,一方面,沒有解決子流域內部的并行計算問題,子流域內部的計算依然采用串行計算方式,尤其是坡面與河道匯流模塊,造成計算復雜度高;另一方面,現有分布式模型的并行計算方法以子流域單元的計算次序為依據進行任務分發與數據聚合操作,多次的任務分發與數據聚合操作會造成大量的運行時間浪費而且會造成內存溢出的情況。因此現有的并行計算方法,不能適應大流域的計算需求,同時對計算機資源要求較高,不能適應僅包含若干臺性能有限的PC機的實驗室環境下的水文預報模擬研究需求。同時為了預報成果能夠與一些通用的處理軟件無縫對接,采用netCDF(network Common DataForm)格式進行計算參數以及模型預報結果的描述。
分布式計算模式采用若干臺獨立計算機構成的集群作為計算資源,由任務分解服務器將應用分解成許多小的子任務,分配給集群中的多臺計算節點進行處理,最后對各節點的計算結果進行聚合產生最終結果。分布式計算模式通過多臺計算機的同時計算以節約整體計算時間,提高計算效率,對構成集群的獨立計算機的性能要求不高,能夠適應僅包含若干臺性能有限的PC機的實驗室環境下的水文預報模擬研究需求。Spark框架是目前主流的分布式計算框架之一,它可以把計算任務分配到多臺計算機,讓每一臺計算機都承擔著一部分計算和數據存儲任務。相比于Hadoop的MapReduce離線數據處理框架來說,Spark分布式計算框架能夠實現實時計算以及數據的流式計算,除此之外,Spark還具有基于內存計算、吞吐量達、容錯率高等特點。
發明內容
發明目的:為了克服現有技術中存在的問題,本發明提供一種基于Spark的網格水文模型分布式計算方法,能夠提高計算效率,同時計算結果能夠與常見的通用軟件進行無縫對接。
技術方案:為實現上述目的,本發明提供一種基于Spark的網格水文模型分布式計算方法,包括如下步驟:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于河海大學,未經河海大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110330831.5/2.html,轉載請聲明來源鉆瓜專利網。





