本公开涉及地球信息科学,尤其涉及一种多维栅格数据的存储和查询方法及装置。
背景技术:
1、由于多维栅格数据具有数据量大的特点,所以传统的存储方式是文件系统而非数据库。图5示出了文件系统存储多维栅格数据文件的方式的示意图,在文件系统中,每个维度作为一个目录,形成一个树形的目录结构,数据文件作为树的叶子节点。实际存储时数据的层次关系和目录结构设计会因地而异,不同的研究机构会采用不同的目录结构设计。
2、用该传统方式存储多维栅格数据,假设我们要获取某个点在某一高度的未来72小时的时间序列数据,预报时效间隔3小时,那么其实只是获取24个数值,问题在于这24个数据所涉及的文件数量是无法估计的可能会达到几百几千mb,大大的降低了检索的效率。
3、对于数据的查询,这种方案会先从关系型数据库中获取要查询的数据文件所在的机器和文件系统路径,将多维数据做拆分后编号建立索引进行数据查询,所以在文件系统存储的基础上还需要维护一张关系型数据库表,用于存储文件的相关信息。
4、并且传统存储方式存在以下问题:
5、(1)基于文件系统存储多维栅格数据需要考虑的第一个问题就是单个文件需要控制在多大,即一个数据文件要保存多少维度信息的数据。如果每个文件都很小,文件系统中就会有大量的小文件,导致定位文件的延迟增加,维护这些小文件的负担也较大。如果每个文件都较大,那么就要避免在查询时读取整个文件,导致延迟很高。
6、(2)文件系统存储多维栅格数据时,为方便数据查询会将一份大文件基于指定维度切割为多份小数据量的中间文件,有时会出现单个中间文件过大不适用于数据分析的情况。
7、(3)文件系统中存储的多维栅格数据中间文件内容是不透明的,同时数据格式也不统一,业务接口在调用时还需要对数据做进一步的解析处理。
8、(4)文件系统无法存储文件的元数据信息需要配合关系型数据库做额外的存储,增加了工作成本。
技术实现思路
1、本公开提供了一种多维栅格数据的存储和查询方法、装置、设备以及存储介质。
2、根据本公开的第一方面,提供了一种多维栅格数据的存储和查询方法。该方法包括:
3、对多维栅格数据进行解析生成元数据信息,所述元数据信息包括:不同维度平面的元数据信息;
4、利用预先构建的多维数据栅格模型的存储规则对不同维度平面的元数据信息进行存储;
5、根据待查询元数据信息对应的维度平面确定查询条件,通过查询条件在多维数据栅格模型中根据关联关系确定存储位置,从而确定待查询元数据信息对应的多维数据栅格模型的维度平面数据。
6、进一步的,所述对多维栅格数据进行解析生成元数据信息包括:
7、对多维栅格数据进行解析生成元数据信息和像元数据;
8、其中,所述元数据信息包括不同维度平面的元数据信息和整体元数据信息。
9、进一步的,在所述利用预先构建的多维数据栅格模型的存储规则对不同维度平面的元数据信息进行存储之前还包括:
10、对所述不同维度平面的元数据信息进行分块,将每个分块分为256*256*3个像素点,利用图像压缩算法对每个分块进行压缩;
11、其中,每个所述分块中包含3个维度平面,当无法达到3个时补充一个全0的维度平面。
12、进一步的,所述利用预先构建的多维数据栅格模型的存储规则对不同维度平面的元数据信息进行存储,包括:
13、根据气象数据的元数据信息在关系型数据库中确定多维栅格对象;
14、获取所述多维栅格对象并解析生成多维栅格对象解析数据,所述多维栅格对象解析数据包括:总体概况、地理坐标参考、各维度平面的元数据信息、整体元数据信息;其中,所述总体概况关联像元数据的存储位置,所述地理坐标参考关联存储坐标参考六参数;
15、根据所述多维栅格对象解析数据生成元数据信息表;根据源数据信息表确定所述存储规则。
16、进一步的,所述利用预先构建的多维数据栅格模型的存储规则对不同维度平面的元数据信息进行存储,还包括:
17、利用多维数据栅格模型的所述元数据信息表的关联关系对已分块的所述元数据信息进行分维度平面存储。
18、进一步的,所述根据待查询元数据信息对应的维度平面确定查询条件包括:
19、根据元数据信息确定对应的维度平面,从而确定维度平面序号和经纬度范围;根据所述维度平面序号和所述经纬度范围确定对应的多维数组;
20、所述待查询元数据信息包括一个或多个维度平面的元数据信息、整体元数据信息。
21、进一步的,所述通过查询条件在多维数据栅格模型中根据关联关系确定存储位置,从而确定待查询元数据信息对应的多维数据栅格模型的维度平面数据,包括:
22、根据所述维度平面序号和所述经纬度范围确定所述查询条件,通过所述查询条件过滤得到所述多维数据栅格模型对应的存储位置,从而确定待查询元数据信息对应的多维数据栅格模型的维度平面数据。
23、根据本公开的第二方面,提供了一种多维栅格数据的存储和查询装置。该装置包括:
24、多维栅格数据解析模块,用于对多维栅格数据进行解析生成元数据信息,所述元数据信息包括:不同维度平面的元数据信息;
25、数据存储模块,用于利用预先构建的多维数据栅格模型的存储规则对不同维度平面的元数据信息进行存储;
26、数据查询模块,用于根据待查询元数据信息对应的维度平面确定查询条件,通过查询条件在多维数据栅格模型中根据关联关系确定存储位置,从而确定待查询元数据信息对应的多维数据栅格模型的维度平面数据。
27、根据本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
28、根据本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
29、本公开通过在关系数据库中建立的多维栅格数据模型,本公开在时空数据库内部定义的一种存储多维栅格数据的通用数据结构,利用该多维栅格数据模型的数据结构进行存储和查询,解决了传统文件系统存储方式造成数据不能集中管理,数据容易丢失,数据迁移难度大、数据查询效率低等问题。
30、应当理解,
技术实现要素:
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
1.一种多维栅格数据的存储和查询方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对多维栅格数据进行解析生成元数据信息包括:
3.根据权利要求1所述的方法,其特征在于,在所述利用预先构建的多维数据栅格模型的存储规则对不同维度平面的元数据信息进行存储之前还包括:
4.根据权利要求1所述的方法,其特征在于,所述利用预先构建的多维数据栅格模型的存储规则对不同维度平面的元数据信息进行存储,包括:
5.根据权利要求4所述的方法,其特征在于,所述利用预先构建的多维数据栅格模型的存储规则对不同维度平面的元数据信息进行存储,还包括:
6.根据权利要求1所述的方法,其特征在于,所述根据待查询元数据信息对应的维度平面确定查询条件包括:
7.根据权利要求6所述的方法,其特征在于,所述通过查询条件在多维数据栅格模型中根据关联关系确定存储位置,从而确定待查询元数据信息对应的多维数据栅格模型的维度平面数据,包括:
8.一种多维栅格数据的存储和查询装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,其中,所述计算机指令用于使所述计算机执行根据权利要求1至7中任一权利要求所述的方法。