一种基于稀疏矩阵的气象数据处理方法、设备及介质与流程
- 国知局
- 2024-08-05 11:50:28
本说明书涉及数据处理,尤其涉及一种基于稀疏矩阵的气象数据处理方法、设备及介质。
背景技术:
1、网络通用数据格式 (network common data form,netcdf),是一种面向数组型并适于网络共享的数据的描述和编码标准。netcdf广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。在气象数据的处理过程中,尤其是针对降雨数据、降雪数据等随时间、空间变化的气象数据,此类数据存在大量的零值或无效数据。对于netcdf数据,如果数据集中的气象数据存在大量的零值或无效数据,当这些数据被加载到内存中时,会占用大量的空间,导致资源利用效率低下。此外,在处理大型气象数据集,对netcdf数据中的气象数据进行统计分析、模型模拟等任务时,由于需要计算这些零值或无效数据,增加了额外的无效计算工作量,从而降低了整体的处理效率;并且由于netcdf 格式的气象数据不支持同时访问,无法应对并发处理场景,降低了气象数据的处理效率。
2、因此,针对零值或无效值较多的气象数据,传统的数据处理方式存在内存占用大、增加无效计算以及不支持并发访问等问题,限制了在大规模气象数据处理中的数据处理效率。
技术实现思路
1、本说明书一个或多个实施例提供了一种基于稀疏矩阵的气象数据处理方法、设备及介质,用于解决如下技术问题:针对零值或无效值较多的气象数据,传统的数据处理方式存在内存占用大、增加无效计算以及不支持并发访问等问题,限制了在大规模气象数据处理中的数据处理效率。
2、本说明书一个或多个实施例采用下述技术方案:
3、本说明书一个或多个实施例提供一种基于稀疏矩阵的气象数据处理方法,所述方法包括:获取气象数据处理需求,以通过所述气象数据处理需求,在原始气象数据集中读取气象数据类型对应的待处理气象数据,其中,所述气象数据处理需求包括气象数据类型和气象数据处理维度,所述气象数据处理维度包括时间维度、经度维度和纬度维度;将所述待处理气象数据转化为气象数组,以确定所述待处理气象数据对应的待处理稀疏矩阵,获取所述待处理稀疏矩阵对应的初始索引值和气象数据;根据所述气象数据处理维度,对所述待处理稀疏矩阵进行分片,确定所述气象数据处理维度对应的子矩阵集合,其中,所述子矩阵集合包括多个子矩阵,每个所述子矩阵对应所述气象数据处理维度的一个维度取值;对所述子矩阵集合中的每个所述子矩阵进行降维后的索引值计算,确定每个所述子矩阵中的降维索引值,通过所述降维索引值,将所述子矩阵中的气象数据进行关联,以对所述气象数据进行数据处理。
4、进一步地,将所述待处理气象数据转化为气象数组,以确定所述待处理气象数据对应的待处理稀疏矩阵,具体包括:获取所述待处理气象数据中的气象数据和多个气象影响维度的维度数据,其中,所述气象影响维度包括经度、纬度和时间;将所述气象数据,按照所述气象影响维度的维度数据进行排列,确定所述待处理气象数据对应的多维气象数组;对所述多维气象数组中的气象数据进行分析,确定非零气象数据,并获取所述非零气象数据对应的气象影响维度数据;通过所述非零气象数据以及所述非零气象数据对应的气象影响维度数据,确定所述待处理气象数据对应的待处理稀疏矩阵。
5、进一步地,根据所述气象数据处理维度,对所述待处理稀疏矩阵进行分片,确定所述气象数据处理维度对应的子矩阵集合,具体包括:按照所述气象数据处理维度,对所述待处理稀疏矩阵进行降维处理,得到所述气象数据处理维度下每个处理维度数据对应的降维矩阵;通过每个所述处理维度数据对应的降维矩阵,确定所述气象数据处理维度对应的子矩阵集合。
6、进一步地,按照所述气象数据处理维度,对所述待处理稀疏矩阵进行降维处理,得到所述气象数据处理维度下每个处理维度数据对应的降维矩阵,具体包括:按照所述气象数据处理维度,将所述待处理稀疏矩阵进行分组,得到所述气象数据处理维度下每个所述处理维度数据对应的分组数据;将每个所述分组数据转换为降维后的坐标矩阵,以确定每个所述分组数据对应的降维矩阵。
7、进一步地,对所述子矩阵集合中的每个所述子矩阵进行降维后的索引值计算,确定每个所述子矩阵中的降维索引值,具体包括:确定每个所述子矩阵中矩阵数据在所述待处理稀疏矩阵中的初始索引值,以将所述初始索引值转换为初始矩阵维度数组,其中,所述初始矩阵维度数组包括多个维度下的维度值;对所述初始矩阵维度数组进行遍历,将除所述气象数据处理维度之外的其他维度对应的其他维度值添加到第一数组中;对预先构建的维度长度数组进行遍历,将除所述气象数据处理维度之外的其他维度对应的维度长度信息添加至第二数组中,其中,所述维度长度信息用于表示每个维度下的数据量;对所述第二数组进行遍历,基于所述第二数组中的维度长度信息,计算前一维度的维度体积数据,并存储至第三数组中;根据所述第一数组和所述第三数组,计算每个所述子矩阵中的降维索引值。
8、进一步地,将所述初始索引值转换为初始矩阵维度数组,具体包括:对所述待处理稀疏矩阵进行分析,确定每个维度下的维度参照数据量,其中,所述维度参照数据量用于表示每递增单位维度量对应的数据变化量;通过每个维度下的所述维度参照数据量,确定第一维度对应的第一维度参照数据量、第二维度对应的第二维度参照数据量和第三维度对应的第三维度参照数据量,其中,所述第一维度为最高维度,所述第一维度、所述第二维度和所述第三维度的维度数量依次递减;根据所述初始索引值和所述第一维度参照数据量,通过除法运算,确定第一商和第一余数,根据所述第一商确定最高维度下的第一维度值;基于所述第一余数和所述第二维度参照数据量,通过除法运算,确定第二商和第二余数,根据所述第二商确定第二维度下的第二维度值;根据所述第二余数和所述第三维度参照数据量,通过除法运算,确定第三商和第三余数,根据所述第三商确定第三维度下的第三维度值;按照维度数量由低到高的顺序,对所述第三维度值、所述第二维度值和所述第一维度值进行排序,得到所述初始索引值对应的初始矩阵维度数组。
9、进一步地,通过所述降维索引值,将所述子矩阵中的气象数据进行关联,以对所述气象数据进行数据处理,具体包括:获取数据处理需求信息,其中,所述数据处理需求信息包括所述气象数据处理维度对应的维度分析范围;基于所述维度分析范围,在多个所述子矩阵中进行筛选,以确定所述维度分析范围对应的至少一个指定子矩阵;对每个所述指定子矩阵进行分析,确定每个所述指定子矩阵中每个非零元素对应的指定降维索引值;基于所述指定降维索引值,查询所述指定降维索引值在每个所述指定子矩阵中的气象数据,确定待分析气象数据集合;通过所述待分析气象数据集合,对所述维度分析范围内的气象数据进行数据处理。
10、进一步地,通过所述气象数据处理需求,在原始气象数据集中读取气象数据类型对应的待处理气象数据,具体包括:获取原始气象数据集,其中,所述原始气象数据集为netcdf数据集,用于存储多种气象影响维度下的多种类型的气象数据,所述气象影响维度包括经度、纬度和时间;根据所述气象数据处理需求中的气象数据类型,在所述原始气象数据集中读取对应类型的指定类型气象数据,确定待处理气象数据。
11、本说明书一个或多个实施例提供一种基于稀疏矩阵的气象数据处理设备,包括:
12、至少一个处理器;以及,
13、与所述至少一个处理器通信连接的存储器;其中,
14、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。
15、本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
16、获取气象数据处理需求,以通过所述气象数据处理需求,在原始气象数据集中读取气象数据类型对应的待处理气象数据,其中,所述气象数据处理需求包括气象数据类型和气象数据处理维度,所述气象数据处理维度包括时间维度、经度维度和纬度维度;将所述待处理气象数据转化为气象数组,以确定所述待处理气象数据对应的待处理稀疏矩阵,获取所述待处理稀疏矩阵对应的初始索引值和气象数据;根据所述气象数据处理维度,对所述待处理稀疏矩阵进行分片,确定所述气象数据处理维度对应的子矩阵集合,其中,所述子矩阵集合包括多个子矩阵,每个所述子矩阵对应所述气象数据处理维度的一个维度取值或维度取值范围;对所述子矩阵集合中的每个所述子矩阵进行降维后的索引值计算,确定每个所述子矩阵中的降维索引值,通过所述降维索引值,将所述子矩阵中的气象数据进行关联,以对所述气象数据进行数据处理。
17、本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:通过上述技术方案,通过根据气象数据处理维度对待处理稀疏矩阵进行分片,形成子矩阵集合,可以并行处理这些子矩阵,从而提高整体的数据处理效率;稀疏矩阵的特性使得大量元素为零或无效,直接处理整个矩阵会造成计算资源的浪费,通过分片并降维处理,仅处理包含有效数据的子矩阵,可以显著降低资源消耗;通过降维索引值的计算,可以将不同子矩阵中的气象数据关联起来,实现跨时间、经度和纬度维度的数据整合,为更复杂的分析提供可能;气象数据通常包含时间、经度和纬度等多个维度,通过对这些维度进行分片处理,可以更方便地支持多维数据分析,如时间序列分析、空间分布分析等;子矩阵集合的确定使得数据处理变得更加灵活,可以根据具体需求选择性地处理某个子矩阵,无需处理整个数据集;通过对子矩阵的降维索引值进行精确计算,可以确保在数据处理过程中数据的准确性和一致性;将原始气象数据转化为气象数组和稀疏矩阵,并计算降维索引值,可以优化数据的存储方式,提高数据检索的效率。针对零值或无效值较多的气象数据,通过只存储非零元素的坐标和值来显著节省存储空间,大幅度减少数据文件的存储需求;在大型数据集处理场景中,使用稀疏矩阵可以压缩数据,使其适应有限的内存容量,对于netcdf文件,如果数据集过大而无法一次性加载到内存中,通过稀疏矩阵的压缩存储,可以实现分块加载和处理,提高内存的使用效率;此外,稀疏矩阵的压缩存储方式减少了数据的大小,进而降低了数据传输和存储的成本,对于netcdf数据,特别是在网络传输和云存储场景中,使用稀疏矩阵可以显著减少带宽和存储空间的消耗。
本文地址:https://www.jishuxx.com/zhuanli/20240802/259707.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。