[发明专利]一种基于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.vipzhuanli.com/pat/books/202110330831.5/2.html,转载请声明来源钻瓜专利网。