CN117033526A - 数据存储方法、数据查询方法、装置、设备及存储介质 - Google Patents
数据存储方法、数据查询方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117033526A CN117033526A CN202311298376.0A CN202311298376A CN117033526A CN 117033526 A CN117033526 A CN 117033526A CN 202311298376 A CN202311298376 A CN 202311298376A CN 117033526 A CN117033526 A CN 117033526A
- Authority
- CN
- China
- Prior art keywords
- time
- codes
- storage
- determining
- space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000013500 data storage Methods 0.000 title claims abstract description 32
- 238000005192 partition Methods 0.000 claims abstract description 99
- 235000019580 granularity Nutrition 0.000 claims description 64
- 238000012946 outsourcing Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 10
- 230000002123 temporal effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- JIPVGERXYWGOOY-UHFFFAOYSA-N (2-methoxyphenyl) pentanoate Chemical compound CCCCC(=O)OC1=CC=CC=C1OC JIPVGERXYWGOOY-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据存储方法、数据查询方法、装置、设备及存储介质,涉及数据处理技术领域。该存储方法包括:获取遥感数据的第一时间信息和第一空间信息;根据第一时间信息的时间粒度,确定多个第一时间编码,以及根据第一空间信息,确定第一空间编码;分别确定各个第一时间编码对应的存储分区,以及根据多个第一时间编码和第一空间编码生成多个第一时空编码;将每个第一时空编码分别存储至对应的存储分区中,以将遥感数据冗余存储至NoSQL数据库,并在接收到查询请求时,根据查询请求确定多个可同步进行查询且时间粒度不同的存储分区。本发明提供的数据存储方法,通过多个存储分区进行数据查询,可以缩小数据查询范围,提高了数据查询效率。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据存储方法、数据查询方法、装置、设备及存储介质。
背景技术
在遥感大数据背景下,依托Hadoop、Spark或NoSQL等易于横向扩展的大数据技术平台对遥感数据进行索引构建与存储成为趋势。
基于NoSQL数据库的遥感数据存储方法,通常是利用遥感数据的时间信息在时间维度下生成时间编码,同时利用遥感数据的空间信息在空间维度下生成空间编码,进而利用时间编码和空间编码生成时空编码,最后将时空编码注入NoSQL中的行键,以生成遥感数据对应的时间索引,从而将时间索引和遥感数据存储至NoSQL数据库中。
但基于上述方法存储遥感数据之后,遥感数据通常会杂乱地存储在NoSQL数据库中,在NoSQL数据库查询遥感数据的过程中,每次都需要在NoSQL数据库中进行全局查询,进而导致数据查询时间长、效率低的问题。
发明内容
为解决上述问题,本发明提供一种数据存储方法、数据查询方法、装置、设备及存储介质。
根据本发明的第一方面,提供一种数据存储方法,应用于NoSQL数据库,包括:
获取所述遥感数据的第一时间信息和第一空间信息;
根据所述第一时间信息的时间粒度,确定多个第一时间编码,以及根据所述第一空间信息,确定第一空间编码,其中,所述时间粒度包括年、月、日;
分别确定各个所述第一时间编码对应的存储分区,以及根据多个所述第一时间编码和所述第一空间编码生成多个第一时空编码,其中,所述存储分区是所述NoSQL数据库根据所述时间粒度预先建立的;
将每个所述第一时空编码分别存储至对应的所述存储分区中,以将所述遥感数据冗余存储至所述NoSQL数据库,并在接收到查询请求时,根据所述查询请求确定多个可同步进行查询且所述时间粒度不同的所述存储分区。
可选地,所述根据所述第一时间信息的时间粒度,确定多个第一时间编码,包括:
根据所述时间粒度对所述第一时间信息进行分割,确定年时间信息、月时间信息和日时间信息;
根据所述年时间信息确定年时间编码、根据所述年时间信息和所述月时间信息确定月时间编码以及根据所述年时间信息、所述月时间信息和所述日时间信息确定日时间编码,其中,所述第一时间编码包括所述年时间编码、所述月时间编码和所述日时间编码。
可选地,所述根据所述第一空间信息,确定第一空间编码,包括:
根据所述遥感数据的最小外包矩形,确定剖分层级;
根据所述剖分层级,分别确定所述最小外包矩形每个角点的网格编码;
获取各个所述网格编码之间公共编码,并将所述公共编码确定为所述第一空间编码。
可选地,所述根据多个所述第一时间编码和所述第一空间编码生成多个第一时空编码,包括:
获取多个所述第一时间编码和所述第一空间编码;
将各个所述第一时间编码分别与所述第一空间编码进行组合,生成多个所述第一时空编码。
可选地,分别确定各个所述第一时间编码对应的存储分区,包括:
获取所述存储分区的存储编码;
在所述存储编码与所述第一时间编码相同时,确定该所述存储编码对应的所述存储分区与所述第一时间编码相对应。
可选地,所述将每个所述第一时空编码分别存储至对应的所述存储分区中,以将所述遥感数据冗余存储至所述NoSQL数据库,包括:
获取所述存储分区的行键;
根据所述行键和所述第一时空编码生成存储索引,并将所述存储索引存储至所述存储分区中,以将所述遥感数据冗余存储至所述NoSQL数据库。
根据本发明的第二方面,提供一种数据查询方法,应用于根据第一方面所述的数据存储方法进行存储所述遥感数据的所述NoSQL数据库,包括:
根据接收的查询请求,确定查询索引,所述查询索引包括多个时间粒度不同的第二时间编码和第二空间编码;
根据多个所述第二时间编码分别确定多个所述时间粒度不同的存储分区;
根据所述第二空间编码在多个不同所述时间粒度不同的所述存储分区中同步查询,并返回查询数据。
根据本发明的第三方面,提供一种数据存储装置,应用于NoSQL数据库,包括:
获取模块,用于获取所述遥感数据的第一时间信息和第一空间信息;
确定模块,用于根据所述第一时间信息的时间粒度,确定多个第一时间编码,以及根据所述第一空间信息,确定第一空间编码,其中,所述时间粒度包括年、月、日;
生成模块,用于分别确定各个所述第一时间编码对应的存储分区,以及根据多个所述第一时间编码和所述第一空间编码生成多个第一时空编码,其中,所述存储分区是所述NoSQL数据库根据所述时间粒度预先建立的;
存储模块,用于将每个所述第一时空编码分别存储至对应的所述存储分区中,以将所述遥感数据冗余存储至所述NoSQL数据库,并在接收到查询请求时,根据所述查询请求确定多个可同步进行查询且所述时间粒度不同的所述存储分区。
根据本发明的第四方面,提供一种电子设备,所述电子设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时基于第一方面所述的数据存储方法,或基于第二方面所述的数据查询方法。
根据本发明的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面所述的数据存储方法,或基于第二方面所述的数据查询方法。
本发明提供的技术方案可以包括以下有益效果:
本发明提供的数据存储方法,首先获取遥感数据的第一时间信息和第一空间信息,进一步地根据第一时间信息的时间粒度,确定第一时间信息对应的多个第一时间编码,并根据第一空间信息确定第一空间编码,进一步地,利用多个第一时间编码确定各个第一时间编码的存储分区,并将多个第一时间编码分别与空间编码进行组合,确定多个第一时空编码,最后将不同的第一时空编码存储至对应的存储分区内,从而可以在对数据进行查询时,可以根据查询请求准确地确定多个时间粒度不同且可以同时进行数据查询的存储分区,通过多个存储分区进行数据查询,可以缩小数据查询范围,提高了数据查询效率,同时通过多个存储分区同时查询,进一步地提高了数据效率。
附图说明
图1为本发明实施例提供的一种数据存储方法的流程图;
图2为本发明另一实施例提供的一种遥感数据最小外包矩形示意图;
图3为本发明另一实施例提供的一种数据查询方法的流程图;
图4为本发明另一实施例提供的一种数据存储方法的流程图;
图5为本发明另一实施例提供的一种数据存储装置示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
第一方面,本发明实施例提供一种数据存储方法,应用于NoSQL数据库,具体步骤如图1所示,包括:
S101,获取所述遥感数据的第一时间信息和第一空间信息。
本实施例中,在存储遥感数据之前,首先获取各个遥感数据的第一时间信息和第一空间信息,其中,第一时间信息用于表示遥感数据的采集时间,第一空间信息包括经度和纬度,用于表示遥感数据的位置。例如,第一时间信息可以为2021-08-20 08:05:00,第一空间信息可以为:纬度30°40′、经度114°23′。
S102,根据所述第一时间信息的时间粒度,确定多个第一时间编码,以及根据所述第一空间信息,确定第一空间编码。
本实施例中,在执行S101之后,则对第一时间信息进行分析,确定第一时间信息中包括的时间粒度,进一步地,利用第一时间信息对应的时间粒度,确定遥感数据对应的多个第一时间编码,在确定第一时间编码的同时,利用第一空间信息,确定遥感数据对应的第一空间编码。具体地,本实施例中的时间粒度包括年、月、日。
在一个示例中,根据所述第一时间信息的时间粒度,确定多个第一时间编码,可以包括以下步骤:
S1021,根据所述时间粒度对所述第一时间信息进行分割,确定年时间信息、月时间信息和日时间信息。
本实施例中,在确定第一时间编码时,首先利用时间粒度对第一时间信息进行分割,从而确定第一时间信息对应的年时间信息、月时间信息和日时间信息。具体地,例如遥感数据的第一时间信息为2021-08-20 08:05:00,则该第一时间信息对应的时间粒度包括年、月和日,进一步地,利用时间粒度对第一时间信息进行分割之后,确定的年时间信息为2021,月时间信息为08,日时间信息为20。
S1022,根据所述年时间信息确定年时间编码、根据所述年时间信息和所述月时间信息确定月时间编码以及根据所述年时间信息、所述月时间信息和所述日时间信息确定日时间编码。
本实施例中,在执行S1021分别确定年时间信息、月时间信息和日时间信息之后,将年时间信息确定为年时间编码,将年时间信息和月时间信息进行组合,并将组合后的时间信息确定为月时间编码,将年时间信息、月时间信息和日时间信息进行组合,并将组合时间信息确定为日时间编码。具体地,本实施例中,其中,所述第一时间编码包括所述年时间编码、所述月时间编码和所述日时间编码。
具体地,以上述实施例为例,确定的年时间信息为2021,则遥感数据对应的年时间编码为2021,将年时间信息和月时间信息进行组合,确定的月时间编码为202108,将年时间信息、月时间信息和日时间信息进行组合,确定的日时间编码为20210820。
在一个示例中,根据所述第一空间信息,确定第一空间编码,可以包括以下步骤:
S1023,根据所述遥感数据的最小外包矩形,确定剖分层级。
本实施例中,在确定第一空间编码时,首先获取遥感数据的最小外包矩形,并根据最小外包矩形确定对应剖分层级。具体地,请参阅图2所示,为本发明另一实施例提供的遥感数据最小外包矩形示意图,其中,图2中的图像为遥感数据的最小外包矩形,方格中的数字为参考定位网络中参考定位网格的网格编码,本实施例中的最小外包矩形(图2中的图像)可以占据1个、2个或4个参考定位网络,其中本实施例中的参考定位网络是基于GeoSOT空间剖分网格模型生成的。
具体地,本实施例中通过第一公式确定剖分层级,第一公式包括:
;
;
;
其中,为所述剖分层级,/>和/>分别是所述最小外包矩形沿经度方向、纬度方向的宽度值,/>表示获取/>和/>两者之中的较大值,/>为所述最小外包矩形在所述经度方向和所述纬度方向大小的最大值;/>,和/>分别表示/>由小数点形式转换为度分秒形式后的度、分、秒的数值;/>为/>在秒度量单位下的维度大小;/>表示将/>向上取整,获取比/>大的最小整数。
S1024,根据所述剖分层级,分别确定所述最小外包矩形每个角点的网格编码。
本实施例中,在确定剖分层级之后,在最小外包矩形在占据1个参考定位网格时,分别获取最小外包矩形每个角点的网格编码,在最小外包矩形在占据2个参考定位网格时,分别获取最小外包矩形每个角点的网格编码在最小外包矩形在占据4个参考定位网格时,分别获取最小外包矩形每个角点的网格编码,进而得到最小外包矩形每个角点的网格编码。
具体地,请继续参阅图2所示,在最小外包矩形在占据1个参考定位网格时,最小外包矩形每个角点的网格编码均为003,在最小外包矩形在占据2个参考定位网格时,最小外包矩形左半部分的角点的网格编码为003,右半部分的角点的网络编码为010,在最小外包矩形在占据4个参考定位网格时,最小外包矩形角点的网格编码分别为003、010、002、013。
S1025,获取各个所述网格编码之间公共编码,并将所述公共编码确定为所述第一空间编码。
本实施例中,对确定最小外包矩形每个角点的网格编码进行汇总,提取全部编码中公共的部分,即提取全部网格编码之间的公共编码,进而将该公共编码确定为第一空间编码。
具体地,以上述实施例为例,将网格编码进行汇总,汇总后的网络编码集为003、003、010、003、010、002、013,其中,网格编码集中公共编码为0,则将公共编码0确定为第一空间编码。
S103,分别确定各个所述第一时间编码对应的存储分区,以及根据多个所述第一时间编码和所述第一空间编码生成多个第一时空编码。
本实施例中,在执行S102之后,则分别确定不同第一时间编码确定各个第一时间编码对应的存储分区。具体地,在确定存储分区时,首先获取所述存储分区的存储编码在所述存储编码与所述第一时间编码相同时,确定该所述存储编码对应的所述存储分区与所述第一时间编码相对应,进而确定各个第一时间编码对应的存储分区,其中,本实施例中的存储分区是在所述NoSQL数据库中根据所述时间粒度预先建立的。
本实施例中,在确定存储分区的同时,获取多个所述第一时间编码和所述第一空间编码;将各个所述第一时间编码分别与所述第一空间编码进行组合,生成多个所述第一时空编码。例如,确定的第一时间编码分别为2021、202108、20210820,确定的第一空间编码为0,则分别将不同的第一时间编码与第一空间编码进行组合,即第一时空编码2021-0、202108-0、20210820-0。
S104,将每个所述第一时空编码分别存储至对应的所述存储分区中,以将所述遥感数据冗余存储至所述NoSQL数据库,并在接收到查询请求时,根据所述查询请求确定多个可同步进行查询且所述时间粒度不同的所述存储分区。
本实施例中,在执行S103确定多个第一时空编码之后,将每个时空编码分别存储至与第一时空编码相对应的存储分区中,从而完成遥感数据的冗余存储,即单个遥感数据,可以同时存储在三个时间粒度不同的存储分区中。同时,在NoSQL数据库接收到查询请求时,NoSQL数据库可以根据查询请求确定多个时间粒度不同的存储分区,并同时在多个存储分区内同时查询数据,以返回查询数据。
具体地,在将遥感数据存储至NoSQL中时,分别获取遥感数据对应的存储分区的行键,将行键与第一时空编码进行组合,生成存储索引,进而将存储索引存储至存储分区中看,从而完成遥感数据的冗余存储。
本发明实施例提供的数据存储方法,首先获取遥感数据的第一时间信息和第一空间信息,进一步地根据第一时间信息的时间粒度,确定第一时间信息对应的多个第一时间编码,并根据第一空间信息确定第一空间编码,进一步地,利用多个第一时间编码确定各个第一时间编码的存储分区,并将多个第一时间编码分别与空间编码进行组合,确定多个第一时空编码,最后将不同的第一时空编码存储至对应的存储分区内,从而可以在对数据进行查询时,可以根据查询请求准确地确定多个时间粒度不同且可以同时进行数据查询的存储分区,通过多个存储分区进行数据查询,可以缩小数据查询范围,提高了数据查询效率。同时通过多个存储分区同时查询,进一步地提高了数据效率。
进一步地,本发明另一实施例提供一种数据查询方法,应用于根据本实施例所述的数据存储方法进行存储所述遥感数据的所述NoSQL数据库,具体步骤图3所示,包括:
S301,根据接收的查询请求,确定查询索引,所述查询索引包括多个时间粒度不同的第二时间编码和第二空间编码。
本实施例中,在接收到查询请求之后,则根据查询请求中的第二时间信息和第二空间信息,分别生成多个第二时间编码和第二空间编码,将不同的第二时间编码分别与第二空间编码进行组合,确定多个查询索引。
S302,根据多个所述第二时间编码分别确定多个不同所述时间粒度不同的存储分区。
本实施例中,在执行S301之后,则根据不同的第二时间编码分别确定时间粒度的存储分区,即将每个第二时间编码分别与存储分区的存储编码进行比对,在第二时间编码与存储编码相同时,则确定该存储分区为与查询请求相对应的,且需要进行数据查询的存储分区。
具体地,本实施例中,可以第二时间信息的不同时间粒度的时间跨度与存储分区对应的时间跨度进行比对,确定进行不同的第二时间编码与存储编码进行比对的范围,同时,确定比对范围之后,将第二时间编码分别与比对范围内的存储分区的存储编码进行比对,在第二时间编码与存储编码相同时,定该存储分区为与查询请求相对应的,且需要进行数据查询的存储分区。其中,本实施例中存储分区年对应的预设跨度为197.5,月的时间跨度为15.5,在第二时间信息中年对应的时间跨度大于或等于197.5时,则确定以年生成的第二时间编码与存储编码比对的范围为以年为时间粒度建立的存储分区,在第二时间信息中月对应的时间跨度小于等于197.5、或大于等于15.5时,则确定以月生成的第二时间编码与存储编码比对的范围为以月为时间粒度建立的存储分区,在第二时间信息中日对应的时间跨度小于15.5时,则确定以日生成的第二时间编码与存储编码比对的范围为以日为时间粒度建立的存储分区。
例如,接收的查询请求中的第二时间信息为:T=(2022-01-12 16:00:00,2023-02-01 18:00:00),则第二时间信息中的年的时间跨度为385.08,月的时间跨度为31.75,日的时间跨度为0.75,进而确定以年生成的第二时间编码与存储编码比对的范围为以年为时间粒度建立的存储分区,则确定以月生成的第二时间编码与存储编码比对的范围为以月为时间粒度建立的存储分区,则确定以日生成的第二时间编码与存储编码比对的范围为以日为时间粒度建立的存储分区。同时,根据生成第二时间编码2022、202301、20230201,确定需要进行数据查询的存储分区。
S303,根据所述查询索引在多个所述时间粒度不同的所述存储分区中同步查询,并返回查询数据。
本实施例中,在执行S302之后,则根据查询索引在确定多个存储分区中进行查询数据,进而可以得到与查询请求对应的遥感数据,在将在各个存储分区中的存储数据汇总之后,返回与查询请求对应的查询数据。
进一步地,请参阅图4所示,本发明另一实施例提供又一种数据存储方法,包括:
首先,利用时间粒度在NoSQL数据库中预先建立多个存储分区,即建立与年、月、日分别对应的存储分区,并在建立存储分区之后,对应的生成每个存储分区的存储编码。
进一步地,获取NoSQL数据库中的遥感数据,并获取遥感数据的第一时间信息和第一空间信息,并对第一时间信息进行分析,确定第一时间信息中包括的时间粒度,进而利用第一时间信息对应的时间粒度,确定遥感数据对应的多个第一时间编码,在确定第一时间编码的同时,利用第一空间信息,确定遥感数据对应的第一空间编码。
在确定多个时间编码时,首先利用时间粒度对第一时间信息进行分割,从而确定第一时间信息对应的年时间信息、月时间信息和日时间信息,并在分别确定年时间信息、月时间信息和日时间信息之后,将年时间信息确定为年时间编码,将年时间信息和月时间信息进行组合,并将组合后的时间信息确定为月时间编码,将年时间信息、月时间信息和日时间信息进行组合,并将组合时间信息确定为日时间编码。
在确定第一时空编码时,首先获取遥感数据的最小外包矩形,并根据最小外包矩形确定对应的剖分层级,并在确定剖分层级之后,在最小外包矩形在占据1个参考定位网格时,分别获取最小外包矩形每个角点的网格编码,在最小外包矩形在占据2个参考定位网格时,分别获取最小外包矩形每个角点的网格编码在最小外包矩形在占据4个参考定位网格时,分别获取最小外包矩形每个角点的网格编码,进而得到最小外包矩形每个角点的网格编码,最后对确定最小外包矩形每个角点的网格编码进行汇总,提取全部编码中公共的部分,即提取全部网格编码之间的公共编码,进而将该公共编码确定为第一空间编码。
进一步地,分别确定不同第一时间编码确定各个第一时间编码对应的存储分区,并在确定存储分区时,首先获取所述存储分区的存储编码在所述存储编码与所述第一时间编码相同时,确定该所述存储编码对应的所述存储分区与所述第一时间编码相对应,进而确定各个第一时间编码对应的存储分区。在确定存储分区的同时,获取多个所述第一时间编码和所述第一空间编码;将各个所述第一时间编码分别与所述第一空间编码进行组合,生成多个所述第一时空编码,进一步地,将每个时空编码分别存储至与第一时空编码相对应的存储分区中,从而完成遥感数据的冗余存储,即单个遥感数据,可以同时存储在三个时间粒度不同的存储分区中。同时,在NoSQL数据库接收到查询请求时,NoSQL数据库可以根据查询请求确定多个时间粒度不同的存储分区,并同时在多个存储分区内同时查询数据,以返回查询数据。
进一步地,本发明另一实施例提供一种数据存储装置,应用于NoSQL数据库,具体如图5所示,包括:
获取模块501,用于获取所述遥感数据的第一时间信息和第一空间信息;
确定模块502,用于根据所述第一时间信息的时间粒度,确定多个第一时间编码,以及根据所述第一空间信息,确定第一空间编码,其中,所述时间粒度包括年、月、日;
生成模块503,用于分别确定各个所述第一时间编码对应的存储分区,以及根据多个所述第一时间编码和所述第一空间编码生成多个第一时空编码,其中,所述存储分区是所述NoSQL数据库根据所述时间粒度预先建立的;
存储模块504,用于将每个所述第一时空编码分别存储至对应的所述存储分区中,以将所述遥感数据冗余存储至所述NoSQL数据库,并在接收到查询请求时,根据所述查询请求确定多个可同步进行查询且所述时间粒度不同的所述存储分区。
本发明另一实施例提供一种电子设备,所述电子设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时基于本发明实施例所述的数据存储方法,或基于本发明实施例所述的数据查询方法。
本发明另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所述的数据存储方法,或基于本发明实施例所述的数据查询方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,电子设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、***或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (9)
1.一种数据存储方法,应用于NoSQL数据库,其特征在于,包括:
获取遥感数据的第一时间信息和第一空间信息;
根据所述第一时间信息的时间粒度,确定多个第一时间编码,以及根据所述第一空间信息,确定第一空间编码,其中,所述时间粒度包括年、月、日;
分别确定各个所述第一时间编码对应的存储分区,以及根据多个所述第一时间编码和所述第一空间编码生成多个第一时空编码,其中,所述存储分区是所述NoSQL数据库根据所述时间粒度预先建立的;
将每个所述第一时空编码分别存储至对应的所述存储分区中,以将所述遥感数据冗余存储至所述NoSQL数据库,并在接收到查询请求时,根据所述查询请求确定多个可同步进行查询且所述时间粒度不同的所述存储分区;
所述根据所述第一空间信息,确定第一空间编码,包括:
根据所述遥感数据的最小外包矩形,确定剖分层级;
根据所述剖分层级,分别确定所述最小外包矩形每个角点的网格编码;
获取各个所述网格编码之间公共编码,并将所述公共编码确定为所述第一空间编码;
所述根据所述遥感数据的最小外包矩形,确定剖分层级,包括:
通过第一公式确定所述剖分层级,所述第一公式包括:
;
;
;
其中,为所述剖分层级,/>和/>分别是所述最小外包矩形沿经度方向、纬度方向的宽度值,/>表示获取/>和/>两者之中的较大值,/>为所述最小外包矩形在所述经度方向和所述纬度方向大小的最大值;/>,/>和/>分别表示/>由小数点形式转换为度分秒形式后的度、分、秒的数值;为/>在秒度量单位下的维度大小;/>表示将/>向上取整,获取比/>大的最小整数。
2.根据权利要求1所述的数据存储方法,其特征在于,所述根据所述第一时间信息的时间粒度,确定多个第一时间编码,包括:
根据所述时间粒度对所述第一时间信息进行分割,确定年时间信息、月时间信息和日时间信息;
根据所述年时间信息确定年时间编码、根据所述年时间信息和所述月时间信息确定月时间编码以及根据所述年时间信息、所述月时间信息和所述日时间信息确定日时间编码,其中,所述第一时间编码包括所述年时间编码、所述月时间编码和所述日时间编码。
3.根据权利要求1所述的数据存储方法,其特征在于,所述根据多个所述第一时间编码和所述第一空间编码生成多个第一时空编码,包括:
获取多个所述第一时间编码和所述第一空间编码;
将各个所述第一时间编码分别与所述第一空间编码进行组合,生成多个所述第一时空编码。
4.根据权利要求1所述的数据存储方法,其特征在于,所述分别确定各个所述第一时间编码对应的存储分区,包括:
获取所述存储分区的存储编码;
在所述存储编码与所述第一时间编码相同时,确定该所述存储编码对应的所述存储分区与所述第一时间编码相对应。
5.根据权利要求1所述的数据存储方法,其特征在于,所述将每个所述第一时空编码分别存储至对应的所述存储分区中,以将所述遥感数据冗余存储至所述NoSQL数据库,包括:
获取所述存储分区的行键;
根据所述行键和所述第一时空编码生成存储索引,并将所述存储索引存储至所述存储分区中,以将所述遥感数据冗余存储至所述NoSQL数据库。
6.一种数据查询方法,应用于根据权利要求1-5任一项所述的数据存储方法进行存储遥感数据的NoSQL数据库,其特征在于,包括:
根据接收的查询请求,确定查询索引,所述查询索引包括多个时间粒度不同的第二时间编码和第二空间编码;
根据多个所述第二时间编码分别确定多个所述时间粒度不同的存储分区;
根据所述第二空间编码在多个不同所述时间粒度不同的所述存储分区中同步查询,并返回查询数据。
7.一种数据存储装置,应用于NoSQL数据库,其特征在于,包括:
获取模块,用于获取遥感数据的第一时间信息和第一空间信息;
确定模块,用于根据所述第一时间信息的时间粒度,确定多个第一时间编码,以及根据所述第一空间信息,确定第一空间编码,其中,所述时间粒度包括年、月、日;
生成模块,用于分别确定各个所述第一时间编码对应的存储分区,以及根据多个所述第一时间编码和所述第一空间编码生成多个第一时空编码,其中,所述存储分区是在所述NoSQL数据库中根据所述时间粒度预先建立的;
存储模块,用于将每个所述第一时空编码分别存储至对应的所述存储分区中,以将所述遥感数据冗余存储至所述NoSQL数据库,并在接收到查询请求时,根据所述查询请求确定多个可同步进行查询且所述时间粒度不同的所述存储分区;
层级模块,用于根据所述遥感数据的最小外包矩形,确定剖分层级;
网格模块,用于根据所述剖分层级,分别确定所述最小外包矩形每个角点的网格编码;
编码模块,用于获取各个所述网格编码之间公共编码,并将所述公共编码确定为所述第一空间编码;
公式模块,用于通过第一公式确定所述剖分层级,所述第一公式包括:
;
;
;
其中,为所述剖分层级,/>和/>分别是所述最小外包矩形沿经度方向、纬度方向的宽度值,/>表示获取/>和/>两者之中的较大值,/>为所述最小外包矩形在所述经度方向和所述纬度方向大小的最大值;/>,/>和/>分别表示/>由小数点形式转换为度分秒形式后的度、分、秒的数值;为/>在秒度量单位下的维度大小;/>表示将/>向上取整,获取比/>大的最小整数。
8.一种电子设备,其特征在于,所述电子设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时,实现如权利要求1至5中任一项所述的数据存储方法,或者如权利要求6所述的数据查询方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时,实现如权利要求1至5中任一项所述的数据存储方法,或者如权利要求6所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311298376.0A CN117033526B (zh) | 2023-10-09 | 2023-10-09 | 数据存储方法、数据查询方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311298376.0A CN117033526B (zh) | 2023-10-09 | 2023-10-09 | 数据存储方法、数据查询方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117033526A true CN117033526A (zh) | 2023-11-10 |
CN117033526B CN117033526B (zh) | 2023-12-29 |
Family
ID=88632257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311298376.0A Active CN117033526B (zh) | 2023-10-09 | 2023-10-09 | 数据存储方法、数据查询方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117033526B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339371A1 (en) * | 2012-06-18 | 2013-12-19 | Hitachi, Ltd. | Spatio-temporal data management system, spatio-temporal data management method, and program thereof |
CN104166695A (zh) * | 2014-07-31 | 2014-11-26 | 北京大学 | 一种面向遥感数据内容的剖分、查询及动态显示方法 |
US20160300375A1 (en) * | 2013-12-04 | 2016-10-13 | Urthecast Corp. | Systems and methods for processing and distributing earth observation images |
CN112364188A (zh) * | 2020-11-12 | 2021-02-12 | 中国地质大学(武汉) | 一种遥感影像的索引建立方法、遥感影像检索方法及装置 |
CN112579714A (zh) * | 2019-09-30 | 2021-03-30 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、设备及机器可读存储介质 |
CN113946700A (zh) * | 2021-09-07 | 2022-01-18 | 中国地质大学(武汉) | 一种时空索引构建方法、装置、计算机设备及存储介质 |
CN114048203A (zh) * | 2021-09-28 | 2022-02-15 | 中科星图股份有限公司 | 基于数据库B-tree索引的北斗网格空间索引与检索方法和装置 |
CN116610672A (zh) * | 2023-05-11 | 2023-08-18 | 中国电子科技集团公司第二十八研究所 | 一种基于时空编码的空管数据分布式存储与快速查询方法 |
CN116775971A (zh) * | 2023-07-13 | 2023-09-19 | 中国矿业大学(北京) | 基于退化四叉树的时空网格索引查询方法和*** |
-
2023
- 2023-10-09 CN CN202311298376.0A patent/CN117033526B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339371A1 (en) * | 2012-06-18 | 2013-12-19 | Hitachi, Ltd. | Spatio-temporal data management system, spatio-temporal data management method, and program thereof |
US20160300375A1 (en) * | 2013-12-04 | 2016-10-13 | Urthecast Corp. | Systems and methods for processing and distributing earth observation images |
CN104166695A (zh) * | 2014-07-31 | 2014-11-26 | 北京大学 | 一种面向遥感数据内容的剖分、查询及动态显示方法 |
CN112579714A (zh) * | 2019-09-30 | 2021-03-30 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、设备及机器可读存储介质 |
CN112364188A (zh) * | 2020-11-12 | 2021-02-12 | 中国地质大学(武汉) | 一种遥感影像的索引建立方法、遥感影像检索方法及装置 |
CN113946700A (zh) * | 2021-09-07 | 2022-01-18 | 中国地质大学(武汉) | 一种时空索引构建方法、装置、计算机设备及存储介质 |
CN114048203A (zh) * | 2021-09-28 | 2022-02-15 | 中科星图股份有限公司 | 基于数据库B-tree索引的北斗网格空间索引与检索方法和装置 |
CN116610672A (zh) * | 2023-05-11 | 2023-08-18 | 中国电子科技集团公司第二十八研究所 | 一种基于时空编码的空管数据分布式存储与快速查询方法 |
CN116775971A (zh) * | 2023-07-13 | 2023-09-19 | 中国矿业大学(北京) | 基于退化四叉树的时空网格索引查询方法和*** |
Non-Patent Citations (1)
Title |
---|
李爽;程承旗;童晓冲;陈波;翟卫欣;: "基于多级信息网格的海量遥感数据存储管理研究", 测绘学报, no. 1 * |
Also Published As
Publication number | Publication date |
---|---|
CN117033526B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8645421B2 (en) | Attribute based hierarchy management for estimation and forecasting | |
CN107168977B (zh) | 一种数据查询的优化方法及装置 | |
CN106897342B (zh) | 一种数据校验方法和设备 | |
Lambert et al. | rFSA: an R package for finding best subsets and interactions | |
CN107291733B (zh) | 一种规则匹配方法及装置 | |
CN112286772B (zh) | 归因分析方法、装置和电子设备 | |
US11429581B2 (en) | Spatial-temporal query for cognitive IoT contexts | |
US20190370599A1 (en) | Bounded Error Matching for Large Scale Numeric Datasets | |
CN112214472A (zh) | 气象格点数据的存储及查询方法、装置及存储介质 | |
KR20180088895A (ko) | 랜덤 문자열을 생성하기 위한 방법 및 장치 | |
Pay et al. | Partition-based decomposition algorithms for two-stage Stochastic integer programs with continuous recourse | |
CN117033526B (zh) | 数据存储方法、数据查询方法、装置、设备及存储介质 | |
CN111857981A (zh) | 一种数据处理方法以及装置 | |
CN111159192B (zh) | 基于大数据的数据入库方法、装置、存储介质和处理器 | |
CN110928941B (zh) | 一种数据分片抽取方法及装置 | |
CN117473949A (zh) | 表单动态布局方法及*** | |
CN111125157B (zh) | 查询数据的处理方法、装置、存储介质及处理器 | |
CN110019357B (zh) | 数据库查询脚本生成方法及装置 | |
Rodrigo et al. | Spark-crowd: A spark package for learning from crowdsourced big data | |
US10509659B1 (en) | Input processing logic to produce outputs for downstream systems using configurations | |
Baart et al. | A comparison between WCS and OPeNDAP for making model results and data products available through the internet | |
CN108228604B (zh) | 基于内存对象的模型构建方法、信息查询方法及装置 | |
CN115794806A (zh) | 金融数据的网格化处理***及方法、装置、计算设备 | |
Gambs et al. | Mapreducing gepeto or towards conducting a privacy analysis on millions of mobility traces | |
CN110019987B (zh) | 一种基于决策树的日志匹配方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |