掌桥专利:专业的专利平台
掌桥专利
首页

一种NetCDF气象数据处理方法及终端

文献发布时间:2024-04-18 19:58:26


一种NetCDF气象数据处理方法及终端

技术领域

本发明涉及气象数据管理技术领域,尤其涉及一种NetCDF气象数据处理方法及终端。

背景技术

现有技术虽然已实现对NetCDF(Network Common Data Format,网络通用数据格式)文件的自动分类、元数据识别、数据解析、时空维度对齐和数据集成,但是没有涉及到对大规模的气象数据进行处理的情况。在原始数据量超过10T的情况,单个硬盘存不下全部数据,需要多进程并行处理提高数据集成速度,因此需要改进传统的气象数据处理方案。

发明内容

本发明所要解决的技术问题是:提供一种NetCDF气象数据处理方法及终端,能够提高气象数据处理效率。

为了解决上述技术问题,本发明采用的技术方案为:

一种NetCDF气象数据处理方法,包括步骤:

多个计算节点对调度节点分配的NetCDF气象数据进行解析,得到关系型的时空数据,并将所述关系型的时空数据存储至与所述计算节点对应的本地缓存;

所述本地缓存将所述关系型的时空数据异步更新至数据编排层,所述数据编排层将所述关系型的时空数据存储至分布式存储节点;

所述调度节点接收与所述关系型的时空数据对应的计算任务,并根据可用的计算节点的数量将所述计算任务分配至不同的所述计算节点,得到目标计算节点;

所述目标计算节点通过与其对应的本地缓存从所述分布式存储节点中读取与所述计算任务对应的待计算数据,并将所述本地缓存中的所述待计算数据拉取至自身内存进行计算,得到计算结果。

为了解决上述技术问题,本发明采用的另一种技术方案为:

一种NetCDF气象数据处理终端,包括:

多个计算节点,用于对调度节点分配的NetCDF气象数据进行解析,得到关系型的时空数据,并将所述关系型的时空数据存储至与所述计算节点对应的本地缓存;其中,被分配到任务的目标计算节点还用于通过与其对应的本地缓存从所述分布式存储节点中读取与所述计算任务对应的待计算数据,并将所述本地缓存中的所述待计算数据拉取至自身内存进行计算,得到计算结果;

本地缓存,用于将所述关系型的时空数据异步更新至数据编排层,以及从所述分布式存储节点中读取与所述计算任务对应的待计算数据;

数据编排层,用于将所述关系型的时空数据存储至分布式存储节点;

调度节点,用于接收与所述关系型的时空数据对应的计算任务,并根据可用的计算节点的数量将所述计算任务分配至不同的所述计算节点,得到目标计算节点;

分布式存储节点,用于存储所述关系型的时空数据。

本发明的有益效果在于:多个计算节点对调度节点分配的NetCDF气象数据进行解析,并将得到的关系型的时空数据存储至与计算节点对应的本地缓存,本地缓存将关系型的时空数据异步更新至数据编排层,数据编排层将其存储至分布式存储节点,调度节点接收到与关系型的时空数据对应的计算任务时,根据可用的计算节点的数量将计算任务分配至不同的计算节点,被分配到任务的目标计算节点通过与其对应的本地缓存从分布式存储节点中读取待计算数据,并将本地缓存中的待计算数据拉取至自身内存进行计算,这样使用多个计算节点对NetCDF气象数据进行并行处理,提高了大规模NetCDF气象数据的处理速度,且使用数据编排层作为计算节点和分布式存储节点之间的中间层,提供了统一的访问位置,从而提高气象数据处理效率。

附图说明

图1为本发明实施例的一种NetCDF气象数据处理方法的步骤流程图;

图2为本发明实施例的一种NetCDF气象数据处理终端的结构示意图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

请参照图1,一种NetCDF气象数据处理方法,包括步骤:

多个计算节点对调度节点分配的NetCDF气象数据进行解析,得到关系型的时空数据,并将所述关系型的时空数据存储至与所述计算节点对应的本地缓存;

所述本地缓存将所述关系型的时空数据异步更新至数据编排层,所述数据编排层将所述关系型的时空数据存储至分布式存储节点;

所述调度节点接收与所述关系型的时空数据对应的计算任务,并根据可用的计算节点的数量将所述计算任务分配至不同的所述计算节点,得到目标计算节点;

所述目标计算节点通过与其对应的本地缓存从所述分布式存储节点中读取与所述计算任务对应的待计算数据,并将所述本地缓存中的所述待计算数据拉取至自身内存进行计算,得到计算结果。

从上述描述可知,本发明的有益效果在于:多个计算节点对调度节点分配的NetCDF气象数据进行解析,并将得到的关系型的时空数据存储至与计算节点对应的本地缓存,本地缓存将关系型的时空数据异步更新至数据编排层,数据编排层将其存储至分布式存储节点,调度节点接收到与关系型的时空数据对应的计算任务时,根据可用的计算节点的数量将计算任务分配至不同的计算节点,被分配到任务的目标计算节点通过与其对应的本地缓存从分布式存储节点中读取待计算数据,并将本地缓存中的待计算数据拉取至自身内存进行计算,这样使用多个计算节点对NetCDF气象数据进行并行处理,提高了大规模NetCDF气象数据的处理速度,且使用数据编排层作为计算节点和分布式存储节点之间的中间层,提供了统一的访问位置,从而提高气象数据处理效率。

进一步地,所述多个计算节点对调度节点分配的NetCDF气象数据进行解析,得到关系型的时空数据之前,包括:

调度节点采集NetCDF气象数据,并监测多个计算节点的可用状态;

所述调度节点根据所述可用状态确定可用的计算节点的数量,并根据所述可用的计算节点的数量使用哈希函数计算所述NetCDF气象数据的文件名的哈希值;

所述调度节点根据所述哈希值对所述NetCDF气象数据进行分组,得到分组后的NetCDF气象数据,并将分组后的NetCDF气象数据分配至可用的多个计算节点。

由上述描述可知,调度节点通过监测多个计算节点的可用状态,根据可用的计算节点的数量使用哈希函数计算NetCDF气象数据的文件名的哈希值,根据哈希值对NetCDF气象数据进行分组,然后分配分组后的NetCDF气象数据至可用的多个计算节点,由调度节点统一分配,使多个计算节点能够同时完成任务,确保数据处理的一致性。

进一步地,所述多个计算节点对调度节点分配的NetCDF气象数据进行解析,得到关系型的时空数据包括:

所述多个计算节点判断调度节点分配的NetCDF气象数据是否符合预设网格精度,若否,则使用插值算法对所述NetCDF气象数据进行处理,得到符合预设网格精度的NetCDF气象数据;

按照经纬度对所述符合预设网格精度的NetCDF气象数据进行网格化划分,得到多个网格,每一所述网格含有与所述符合预设网格精度的NetCDF气象数据对应的时序数据;

对每一网格的时序数据使用插值算法进行处理,得到关系型的时空数据。

由上述描述可知,多个计算节点对NetCDF气象数据进行空间维度和时间维度的对齐,得到关系型的时空数据,从而实现了对NetCDF气象数据的有效处理,便于后续存储分析。

进一步地,所述根据可用的计算节点的数量将所述计算任务分配至不同的所述计算节点,得到目标计算节点包括:

所述调度节点对所述计算任务按照任务维度进行解析,得到解析后的计算任务,并按照任务维度的粒度从小到大的顺序将所述解析后的计算任务下发至所述计算节点;

对于每一下发的所述解析后的计算任务,所述调度节点根据可用的计算节点的数量对所述解析后的计算任务中的网格编号进行取模,得到取模值;

将所述取模值与可用的计算节点的序号进行匹配,得到匹配结果;

根据所述匹配结果分配所述解析后的计算任务至所述可用的计算节点,得到目标计算节点。

由上述描述可知,调度节点按照任务维度的粒度从小到大的顺序将解析后的计算任务下发至计算节点,这样下一步骤的计算就能够直接利用上一步骤的计算结果,提高了处理效率,根据取模值与可用的计算节点的序号的匹配结果分配计算任务,能够使计算任务均匀分布到每个计算节点上,确保计算任务能够更快地完成。

进一步地,所述目标计算节点通过与其对应的本地缓存从所述分布式存储节点中读取与所述计算任务对应的待计算数据,并将所述本地缓存中的所述待计算数据拉取至自身内存进行计算,得到计算结果包括:

所述目标计算节点发送数据读取请求至所述数据编排层,所述数据读取请求包括所述计算任务对应的待计算数据;

所述数据编排层根据所述数据读取请求从所述分布式存储节点中读取所述待计算数据至与所述目标计算节点对应的本地缓存;

所述目标计算节点从所述本地缓存中拉取所述待计算数据至自身内存,并对所述待计算数据进行计算,得到计算结果;

所述目标计算节点通过与其对应的本地缓存从所述分布式存储节点中读取与所述计算任务对应的待计算数据,并将所述本地缓存中的所述待计算数据拉取至自身内存进行计算,得到计算结果之后,包括:

所述目标计算节点将所述计算结果保存至所述本地缓存,并向所述数据编排层发送计算完成信息;

所述数据编排层根据所述计算完成信息从所述本地缓存中获取所述计算结果,并确定待写入数据的分布式存储节点;

所述数据编排层根据所述待写入数据的分布式存储节点的存储形式对所述计算结果进行转换,得到转换后的计算结果,并将所述转换后的计算结果异步写入所述待写入数据的分布式存储节点中。

由上述描述可知,计算任务完成后,计算节点先将计算结果保存至本地缓存,再由数据编排层从本地缓存中获取计算结果,根据分布式存储节点的存储形式对计算结果进行转换,将转换后的计算结果异步写入分布式存储节点中,能够适应具有多种存储形式的分布式存储节点,另外,数据编排层集成了不同来源的数据,包括计算结果、不同位置的气象数据,需要数据分析处理时可以统一从数据编排层获取数据,提高了数据获取速度,从而提高气象数据处理效率。

请参照图2,本发明另一实施例提供了一种NetCDF气象数据处理终端,包括:

多个计算节点,用于对调度节点分配的NetCDF气象数据进行解析,得到关系型的时空数据,并将所述关系型的时空数据存储至与所述计算节点对应的本地缓存;其中,被分配到任务的目标计算节点还用于通过与其对应的本地缓存从所述分布式存储节点中读取与所述计算任务对应的待计算数据,并将所述本地缓存中的所述待计算数据拉取至自身内存进行计算,得到计算结果;

本地缓存,用于将所述关系型的时空数据异步更新至数据编排层,以及从所述分布式存储节点中读取与所述计算任务对应的待计算数据;

数据编排层,用于将所述关系型的时空数据存储至分布式存储节点;

调度节点,用于接收与所述关系型的时空数据对应的计算任务,并根据可用的计算节点的数量将所述计算任务分配至不同的所述计算节点,得到目标计算节点;

分布式存储节点,用于存储所述关系型的时空数据。

从上述描述可知,本发明的有益效果在于:多个计算节点对调度节点分配的NetCDF气象数据进行解析,并将得到的关系型的时空数据存储至与计算节点对应的本地缓存,本地缓存将关系型的时空数据异步更新至数据编排层,数据编排层将其存储至分布式存储节点,调度节点接收到与关系型的时空数据对应的计算任务时,根据可用的计算节点的数量将计算任务分配至不同的计算节点,被分配到任务的目标计算节点通过与其对应的本地缓存从分布式存储节点中读取待计算数据,并将本地缓存中的待计算数据拉取至自身内存进行计算,这样使用多个计算节点对NetCDF气象数据进行并行处理,提高了大规模NetCDF气象数据的处理速度,且使用数据编排层作为计算节点和分布式存储节点之间的中间层,提供了统一的访问位置,从而提高气象数据处理效率。

进一步地,所述调度节点还用于:

采集NetCDF气象数据,并监测多个计算节点的可用状态;

根据所述可用状态确定可用的计算节点的数量,并根据所述可用的计算节点的数量使用哈希函数计算所述NetCDF气象数据的文件名的哈希值;

根据所述哈希值对所述NetCDF气象数据进行分组,得到分组后的NetCDF气象数据,并将分组后的NetCDF气象数据分配至可用的多个计算节点。

由上述描述可知,调度节点通过监测多个计算节点的可用状态,根据可用的计算节点的数量使用哈希函数计算NetCDF气象数据的文件名的哈希值,根据哈希值对NetCDF气象数据进行分组,然后分配分组后的NetCDF气象数据至可用的多个计算节点,由调度节点统一分配,使多个计算节点能够同时完成任务,确保数据处理的一致性。

进一步地,所述多个计算节点具体用于:

判断调度节点分配的NetCDF气象数据是否符合预设网格精度,若否,则使用插值算法对所述NetCDF气象数据进行处理,得到符合预设网格精度的NetCDF气象数据;

按照经纬度对所述符合预设网格精度的NetCDF气象数据进行网格化划分,得到多个网格,每一所述网格含有与所述符合预设网格精度的NetCDF气象数据对应的时序数据;

对每一网格的时序数据使用插值算法进行处理,得到关系型的时空数据。

由上述描述可知,多个计算节点对NetCDF气象数据进行空间维度和时间维度的对齐,得到关系型的时空数据,从而实现了对NetCDF气象数据的有效处理,便于后续存储分析。

进一步地,所述调度节点具体用于:

对所述计算任务按照任务维度进行解析,得到解析后的计算任务,并按照任务维度的粒度从小到大的顺序将所述解析后的计算任务下发至所述计算节点;

对于每一下发的所述解析后的计算任务,所述调度节点根据可用的计算节点的数量对所述解析后的计算任务中的网格编号进行取模,得到取模值;

将所述取模值与可用的计算节点的序号进行匹配,得到匹配结果;

根据所述匹配结果分配所述解析后的计算任务至所述可用的计算节点,得到目标计算节点。

由上述描述可知,调度节点按照任务维度的粒度从小到大的顺序将解析后的计算任务下发至计算节点,这样下一步骤的计算就能够直接利用上一步骤的计算结果,提高了处理效率,根据取模值与可用的计算节点的序号的匹配结果分配计算任务,能够使计算任务均匀分布到每个计算节点上,确保计算任务能够更快地完成。

进一步地,所述目标计算节点还用于:

发送数据读取请求至所述数据编排层,所述数据读取请求包括所述计算任务对应的待计算数据;

从所述本地缓存中拉取所述待计算数据至自身内存,并对所述待计算数据进行计算,得到计算结果;

将所述计算结果保存至所述本地缓存,并向所述数据编排层发送计算完成信息;

所述数据编排层还用于:

根据所述数据读取请求从所述分布式存储节点中读取所述待计算数据至所述本地缓存;

根据所述计算完成信息从所述本地缓存中获取所述计算结果,并确定待写入数据的分布式存储节点;

根据所述待写入数据的分布式存储节点的存储形式对所述计算结果进行转换,得到转换后的计算结果,并将所述转换后的计算结果异步写入所述待写入数据的分布式存储节点中。

由上述描述可知,计算任务完成后,计算节点先将计算结果保存至本地缓存,再由数据编排层从本地缓存中获取计算结果,根据分布式存储节点的存储形式对计算结果进行转换,将转换后的计算结果异步写入分布式存储节点中,能够适应具有多种存储形式的分布式存储节点,另外,数据编排层集成了不同来源的数据,包括计算结果、不同位置的气象数据,需要数据分析处理时可以统一从数据编排层获取数据,提高了数据获取速度,从而提高气象数据处理效率。

本发明上述的一种NetCDF气象数据处理方法及终端能够适用于大规模的NetCDF气象数据处理场景,以下通过具体实施方式进行说明:

请参照图1,本发明的实施例一为:

一种NetCDF气象数据处理方法,包括步骤:

S1、调度节点采集NetCDF气象数据,并监测多个计算节点的可用状态。

在一种可选的实施方式,在执行S1之前,需要搭建好任务所需的软硬件环境。其中,所述NetCDF气象数据即NetCDF格式的气象数据,所述可用状态包括可用或不可用。

具体的,采集到的NetCDF气象数据首先传输到数据编排层,数据编排层对NetCDF气象数据进行保存,然后才传输到调度节点,调度节点同时监测多个计算节点的可用状态。

S2、所述调度节点根据所述可用状态确定可用的计算节点的数量,并根据所述可用的计算节点的数量使用哈希函数计算所述NetCDF气象数据的文件名的哈希值。

S3、所述调度节点根据所述哈希值对所述NetCDF气象数据进行分组,得到分组后的NetCDF气象数据,并将分组后的NetCDF气象数据分配至可用的多个计算节点。

具体的,所述调度节点将所述哈希值除以所述可用的计算节点的数量进行取模,得到余数,并将所述NetCDF气象数据分配至与所述余数对应的可用计算节点;比如,余数为0,则将该余数对应的NetCDF气象数据分配至编号0的可用计算节点;在一种可选的实施方式中,处理过程中计算节点编号是动态的,假如处理过程中编号为3的节点失败,后面的4号就会变成3号,依此类推。

S4、多个计算节点对调度节点分配的NetCDF气象数据进行解析,得到关系型的时空数据,并将所述关系型的时空数据存储至与所述计算节点对应的本地缓存,具体包括S41- S44:

S41、所述多个计算节点判断调度节点分配的NetCDF气象数据是否符合预设网格精度,若否,则使用插值算法对所述NetCDF气象数据进行处理,得到符合预设网格精度的NetCDF气象数据,若是,则直接执行S42。

其中,每个网格代表一定范围的平面,所述预设网格精度根据实际情况进行设置,比如10km*10km。

S42、按照经纬度对所述符合预设网格精度的NetCDF气象数据进行网格化划分,得到多个网格,每一所述网格含有与所述符合预设网格精度的NetCDF气象数据对应的时序数据。

在一种可选的实施方式中,对每一所述网格进行编号,并建立网格编号与网格的经纬度范围的关联关系,保存所述关联关系。这样可以避免计算时通过经纬度获取网格,直接使用网格编号即可获取,更加快速简便。

S43、对每一网格的时序数据使用插值算法进行处理,得到关系型的时空数据。

每一网格的时序数据使用插值算法处理后就变成了同一频率的关系型的时空数据。

在一种可选的实施方式中,若所述关系型的时空数据存在离群值或缺失值,则使用修复函数计算所述离群值或缺失值的修复值或将所述离群值或缺失值置为空。

S44、将所述关系型的时空数据存储至与所述计算节点对应的本地缓存。

在一种可选的实施方式中,所述计算节点按照网格编号+时序的方式对所述关系型的时空数据进行排序,并将排序后的关系型的时空数据存储至与所述计算节点对应的本地缓存。

由于计算节点和数据编排层之间需要通过网络传输数据,需要带宽和IO,并有一定的传输延迟,本地缓存可以把数据缓存到计算节点或与其更近的位置,让计算节点实现或近似于本地计算,减少传输延迟。

在一种可选的实施方式中,计算节点使用数据湖仓的数据格式处理数据,支持ACID事务、数据压缩,对数据并行写入进行了控制,防止同时写入发生冲突导致写入失败,并节约存储成本和传输成本。

S5、所述本地缓存将所述关系型的时空数据异步更新至数据编排层,所述数据编排层将所述关系型的时空数据存储至分布式存储节点。

在一种可选的实施方式中,所述本地缓存将所述排序后的关系型的时空数据异步更新至数据编排层,所述数据编排层将所述排序后的关系型的时空数据存储至分布式存储节点。以此在数据编排层同样按照网格编号+时序的顺序保存数据,以确保后续在根据网格编号读取数据时,可以以顺序读取的方式,确保最快的读取速度。

S6、所述调度节点接收与所述关系型的时空数据对应的计算任务,并根据可用的计算节点的数量将所述计算任务分配至不同的所述计算节点,得到目标计算节点。

传统方案为了完成多轮不同目的的计算,会需要从存储节点反复保存数据和拉取数据,而本发明的调度节点、数据编排层和计算节点的本地缓存共同作用,可以实现更高效的数据计算。具体包括S61- S65:

S61、所述调度节点接收与所述关系型的时空数据对应的计算任务。

S62、所述调度节点对所述计算任务按照任务维度进行解析,得到解析后的计算任务,并按照任务维度的粒度从小到大的顺序将所述解析后的计算任务下发至所述计算节点。

比如,气象数据需要按小时、日、月、年等维度进行统计分析,则粒度较小的维度的计算任务优先执行,这样的好处是前一步骤的计算输出,可以直接作为下一阶段的计算输入,以此提高计算效率。

S63、对于每一下发的所述解析后的计算任务,所述调度节点根据可用的计算节点的数量对所述解析后的计算任务中的网格编号进行取模,得到取模值。

S64、将所述取模值与可用的计算节点的序号进行匹配,得到匹配结果。

在一种可选的实施方式中,根据所述匹配结果建立所述网格编号和所述计算节点的对应关系,以此当计算节点发生异常,能根据该对应关系使用备用节点继续完成工作。

S65、根据所述匹配结果分配所述解析后的计算任务至所述可用的计算节点,得到目标计算节点。从而使计算任务均匀分布到可用的计算节点上。

S7、所述目标计算节点通过与其对应的本地缓存从所述分布式存储节点中读取与所述计算任务对应的待计算数据,并将所述本地缓存中的所述待计算数据拉取至自身内存进行计算,得到计算结果。

在传统存算分离方案中,是从存储节点拉取→读取进计算节点内存→计算→从存储节点拉取的顺序串行进行任务的,但是本发明在加入数据编排层后,任务被拆分为两个同时进行的过程:从存储节点拉取到本地缓存,从本地缓存读取到内存计算,即边拉取边计算的方式,从而缓解了由于带宽瓶颈造成的数据远程读取的延迟较高的问题,具体包括S71- S73:

S71、所述目标计算节点发送数据读取请求至所述数据编排层,所述数据读取请求包括所述计算任务对应的待计算数据。

在一种可选的实施方式中,所述数据读取请求包括所述计算任务对应的待计算数据的网格编号,以此直接通过网格编号获取数据,提高数据获取速度。

S72、所述数据编排层根据所述数据读取请求从所述分布式存储节点中读取所述待计算数据至所述本地缓存。由于本地缓存中已经存有了待计算数据,下一步骤的计算若是这一步骤的进一步,则无需从分布式存储节点拉取数据,直接从本地缓存读取即可,节约了数据传输时间。

S73、所述目标计算节点从所述本地缓存中拉取所述待计算数据至自身内存,并对所述待计算数据进行计算,得到计算结果。

即数据从分布式存储节点拉取到本地缓存,然后目标计算节点从本地缓存拉取到自身内存计算。

S8、所述目标计算节点将所述计算结果保存至所述本地缓存,并向所述数据编排层发送计算完成信息。

S9、所述数据编排层根据所述计算完成信息从所述本地缓存中获取所述计算结果,并确定待写入数据的分布式存储节点。

S10、所述数据编排层根据所述待写入数据的分布式存储节点的存储形式对所述计算结果进行转换,得到转换后的计算结果,并将所述转换后的计算结果异步写入所述待写入数据的分布式存储节点中。

在一种可选的实施方式中,所述数据编排层根据所述待写入数据的分布式存储节点的存储形式对所述计算结果的数据格式或结构进行转换,得到转换后的计算结果。以适应数据驱动应用程序的需求。

所述数据编排层还可去除冗余或错误数据,确保拉取的数据只包含相关信息,另外,删除或修正错误或不一致的数据,确保所存储的数据的准确性和一致性。

在一种可选的实施方式中,所述分布式存储节点有MinIO(一款高性能高可用的文件系统服务)、HDFS(一个分布式文件系统)、云厂商的对象存储服务等形式,具备弹性扩容、高性能读写、一致性保障、容灾容错等特点,所述分布式存储节点主要存储原始的NetCDF气象数据、对NetCDF气象数据处理后的关系型的时空数据以及对NetCDF气象数据进行分析处理得到的计算结果。

请参照图2,本发明的实施例二为:

一种NetCDF气象数据处理终端,包括:

多个计算节点,用于对调度节点分配的NetCDF气象数据进行解析,得到关系型的时空数据,并将所述关系型的时空数据存储至与所述计算节点对应的本地缓存;其中,被分配到任务的目标计算节点还用于通过与其对应的本地缓存从所述分布式存储节点中读取与所述计算任务对应的待计算数据,并将所述本地缓存中的所述待计算数据拉取至自身内存进行计算,得到计算结果;

本地缓存,用于将所述关系型的时空数据异步更新至数据编排层,以及从所述分布式存储节点中读取与所述计算任务对应的待计算数据;

数据编排层,用于将所述关系型的时空数据存储至分布式存储节点;

调度节点,用于接收与所述关系型的时空数据对应的计算任务,并根据可用的计算节点的数量将所述计算任务分配至不同的所述计算节点,得到目标计算节点;

分布式存储节点,用于存储所述关系型的时空数据。

进一步地,所述调度节点还用于:

采集NetCDF气象数据,并监测多个计算节点的可用状态;

根据所述可用状态确定可用的计算节点的数量,并根据所述可用的计算节点的数量使用哈希函数计算所述NetCDF气象数据的文件名的哈希值;

根据所述哈希值对所述NetCDF气象数据进行分组,得到分组后的NetCDF气象数据,并将分组后的NetCDF气象数据分配至可用的多个计算节点。

进一步地,所述多个计算节点具体用于:

判断调度节点分配的NetCDF气象数据是否符合预设网格精度,若否,则使用插值算法对所述NetCDF气象数据进行处理,得到符合预设网格精度的NetCDF气象数据;

按照经纬度对所述符合预设网格精度的NetCDF气象数据进行网格化划分,得到多个网格,每一所述网格含有与所述符合预设网格精度的NetCDF气象数据对应的时序数据;

对每一网格的时序数据使用插值算法进行处理,得到关系型的时空数据。

进一步地,所述调度节点具体用于:

对所述计算任务按照任务维度进行解析,得到解析后的计算任务,并按照任务维度的粒度从小到大的顺序将所述解析后的计算任务下发至所述计算节点;

对于每一下发的所述解析后的计算任务,所述调度节点根据可用的计算节点的数量对所述解析后的计算任务中的网格编号进行取模,得到取模值;

将所述取模值与可用的计算节点的序号进行匹配,得到匹配结果;

根据所述匹配结果分配所述解析后的计算任务至所述可用的计算节点,得到目标计算节点。

进一步地,所述目标计算节点还用于:

发送数据读取请求至所述数据编排层,所述数据读取请求包括所述计算任务对应的待计算数据;

从所述本地缓存中拉取所述待计算数据至自身内存,并对所述待计算数据进行计算,得到计算结果;

将所述计算结果保存至所述本地缓存,并向所述数据编排层发送计算完成信息;

所述数据编排层还用于:

根据所述数据读取请求从所述分布式存储节点中读取所述待计算数据至所述本地缓存;

根据所述计算完成信息从所述本地缓存中获取所述计算结果,并确定待写入数据的分布式存储节点;

根据所述待写入数据的分布式存储节点的存储形式对所述计算结果进行转换,得到转换后的计算结果,并将所述转换后的计算结果异步写入所述待写入数据的分布式存储节点中。

综上所述,本发明提供的一种NetCDF气象数据处理方法及终端,多个计算节点对调度节点分配的NetCDF气象数据进行解析,并将得到的关系型的时空数据存储至与计算节点对应的本地缓存,本地缓存将关系型的时空数据异步更新至数据编排层,数据编排层将其存储至分布式存储节点,调度节点接收到与关系型的时空数据对应的计算任务时,根据可用的计算节点的数量将计算任务分配至不同的计算节点,被分配到任务的目标计算节点通过与其对应的本地缓存从分布式存储节点中读取待计算数据,并将本地缓存中的待计算数据拉取至自身内存进行计算,这样使用多个计算节点对NetCDF气象数据进行并行处理,提高了大规模NetCDF气象数据的处理速度,且使用数据编排层作为计算节点和分布式存储节点之间的中间层,提供了统一的访问位置,从而提高气象数据处理效率;另外,计算任务完成后,计算节点先将计算结果保存至本地缓存,再由数据编排层从本地缓存中获取计算结果,根据分布式存储节点的存储形式对计算结果进行转换,将转换后的计算结果异步写入分布式存储节点中,能够适应具有多种存储形式的分布式存储节点,另外,数据编排层集成了不同来源的数据,包括计算结果、不同位置的气象数据,需要数据分析处理时可以统一从数据编排层获取数据,提高了数据获取速度,从而提高气象数据处理效率。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 一种基于用户数据资源的欠款数据处理方法及终端设备
  • 一种数据处理方法、MEC服务器、终端设备及装置
  • 一种井下数据采集终端、处理系统及处理方法
  • 一种数据处理方法、终端、服务器和计算机存储介质
  • 一种数据处理方法、终端、服务器和计算机存储介质
  • 一种NetCDF数据的查询方法及终端
  • 移动终端气象数据保存处理方法、移动终端及存储介质
技术分类

06120116486607