CN112579714A - 数据查询方法、装置、设备及机器可读存储介质 - Google Patents
数据查询方法、装置、设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN112579714A CN112579714A CN201910939921.7A CN201910939921A CN112579714A CN 112579714 A CN112579714 A CN 112579714A CN 201910939921 A CN201910939921 A CN 201910939921A CN 112579714 A CN112579714 A CN 112579714A
- Authority
- CN
- China
- Prior art keywords
- information
- index
- space
- spatio
- storage
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 327
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000005192 partition Methods 0.000 claims abstract description 122
- 238000012946 outsourcing Methods 0.000 claims description 117
- 239000012634 fragment Substances 0.000 claims description 51
- 238000013507 mapping Methods 0.000 claims description 26
- 101150070175 MBR1 gene Proteins 0.000 description 32
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 101100290342 Arabidopsis thaliana MBR2 gene Proteins 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 101150033629 ISF1 gene Proteins 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 3
- 101100400624 Caenorhabditis elegans mbr-1 gene Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 239000000203 mixture Substances 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
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004171 remote diagnosis Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
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/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据查询方法、装置、设备及机器可读存储介质,该方法包括:获取时空查询信息;若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;根据所述第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;从所述存储空间中获取与所述时空查询信息对应的特征数据。通过本申请的技术方案,通过两级索引快速查询到特征数据,查询性能高,查询效率高。
Description
技术领域
本申请涉及互联网技术领域,尤其是涉及一种数据查询方法、装置、设备及机器可读存储介质。
背景技术
随着互联网技术的快速发展,需要存储的时空数据越来越多,时空数据是指与时间和位置有关的数据。例如,智能穿戴设备可以实时采集用户的位置数据,并将时间数据和位置数据上传到服务器,服务器在数据库中存储时间数据和位置数据,由用户从服务器查询这些时间数据和位置数据,从而获知用户的实时位置。又例如,终端设备可以实时监控车辆的位置数据,并将时间数据和位置数据上传到服务器,服务器在数据库中存储时间数据和位置数据,由用户从服务器查询这些时间数据和位置数据,从而获知车辆的实时位置。
目前,需要在数据库中存储海量的时空数据,如何实现大量时空数据的查询,并节约计算资源和存储资源,是一个需要解决的问题。
发明内容
本申请提供一种数据查询方法,应用于计算节点,所述方法包括:
获取时空查询信息;
若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据所述第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;
从所述存储空间中获取与所述时空查询信息对应的特征数据。
本申请提供一种数据查询方法,应用于存储节点,所述方法包括:
接收计算节点发送的时空查询信息,并获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据第二全局索引查询与所述元数据信息对应的分片文件,根据所述分片文件的第二局部索引查询与所述时空编码信息对应的索引文件;
从所述索引文件中获取与所述时空查询信息对应的特征数据;
将与所述时空查询信息对应的特征数据发送给所述计算节点。
本申请提供一种数据查询装置,应用于计算节点,所述装置包括:
获取模块,用于获取时空查询信息;若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;查询模块,用于根据第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;所述获取模块,还用于从所述存储空间中获取与所述时空查询信息对应的特征数据。
本申请提供一种计算节点,所述计算节点包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取时空查询信息;
若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据所述第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;
从所述存储空间中获取与所述时空查询信息对应的特征数据。
本申请提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:
获取时空查询信息;
若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据所述第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;
从所述存储空间中获取与所述时空查询信息对应的特征数据。
本申请提供一种数据查询装置,应用于存储节点,所述装置包括:
获取模块,用于接收计算节点发送的时空查询信息,并获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;查询模块,用于根据第二全局索引查询与所述元数据信息对应的分片文件,根据所述分片文件的第二局部索引查询与所述时空编码信息对应的索引文件;所述获取模块,还用于从所述索引文件中获取与所述时空查询信息对应的特征数据;发送模块,用于将与所述时空查询信息对应的特征数据发送给计算节点。
本申请提供一种存储节点,所述存储节点包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
接收计算节点发送的时空查询信息,并获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据第二全局索引查询与所述元数据信息对应的分片文件,根据所述分片文件的第二局部索引查询与所述时空编码信息对应的索引文件;
从所述索引文件中获取与所述时空查询信息对应的特征数据;
将与所述时空查询信息对应的特征数据发送给所述计算节点。
本申请提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:
接收计算节点发送的时空查询信息,并获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据第二全局索引查询与所述元数据信息对应的分片文件,根据所述分片文件的第二局部索引查询与所述时空编码信息对应的索引文件;
从所述索引文件中获取与所述时空查询信息对应的特征数据;
将与所述时空查询信息对应的特征数据发送给所述计算节点。
基于上述技术方案,本申请实施例中,基于全局索引和局部索引实现特征数据的查询,能够实现大量特征数据的查询,并节约计算资源和存储资源。如果在计算节点实现特征数据的查询,由于计算节点是基于全局索引和局部索引实现特征数据的查询,因此,通过两级索引快速查询到特征数据,查询性能高,查询效率高。而且,不需要在计算节点与存储节点之间进行特征数据的传输,节省计算节点与存储节点之间的磁盘IO操作。如果在存储节点实现特征数据的查询,由于存储节点是基于全局索引和局部索引实现特征数据的查询,因此,通过两级索引快速查询到特征数据,查询性能高,查询效率高。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1是本申请一种实施方式中的最小外包矩形的示意图;
图2A是本申请一种实施方式中的S2时空编码技术的示意图;
图2B是本申请一种实施方式中的S3时空编码技术的示意图;
图3是本申请一种实施方式中的数据查询方法的流程示意图;
图4是本申请另一种实施方式中的数据查询方法的流程示意图;
图5A和图5B是本申请另一种实施方式中的数据查询方法的流程示意图;
图6A是本申请一种实施方式中的数据查询装置的结构示意图;
图6B是本申请另一种实施方式中的数据查询装置的结构示意图;
图6C是本申请一种实施方式中的计算节点/存储节点的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种数据查询方法,该方法可以应用于包括计算节点和存储节点的分布式系统。在分布式系统中,计算节点可以是计算层节点,分布式系统可以包括一个或者多个计算节点。这些计算节点用于实现数据查询功能,可以部署在同一个主机(如通过主机的多个虚拟机实现这些计算节点),也可以部署在多个主机,对此不做限制,本文以一个计算节点为例进行说明。
在分布式系统中,存储节点可以是存储层节点,分布式系统可以包括一个或者多个存储节点,这些存储节点用于实现数据存储功能。这些存储节点可以部署在同一个主机(如通过主机的多个虚拟机实现这些存储节点的功能),也可以部署在多个主机,对此不做限制,本文以一个存储节点为例进行说明。
在介绍本申请技术方案之前,先对本申请涉及的概念进行说明。
特征数据:即具有时空属性的数据,特征数据包括时间数据、位置数据和应用数据。例如,特征数据1包括时间1、位置1和应用数据1,表示在时间1这个时间,在位置1采集的应用数据1。特征数据1包括时间2、位置1和应用数据2,表示在时间2这个时间,在位置1采集的应用数据2,以此类推。
例如,特征数据可以是智能穿戴设备(如电话手表)采集的具有时空属性的用户位置数据,通过该特征数据能够获知用户的实时位置。又例如,特征数据可以是终端设备(如监控类APP)采集的具有时空属性的车辆位置数据,通过该特征数据能够获知车辆的实时位置。又例如,特征数据可以是自动驾驶汽车的激光雷达采集的具有时空属性的数据,通过数据挖掘技术为自动驾驶提供规划决策服务。又例如,特征数据可以是智能网联汽车采集的具有时空属性的数据,通过数据分析技术有效对车辆进行远程诊断与驾驶安全辅助服务。当然,上述只是特征数据的几个示例,对此特征数据的类型不做限制。
分片文件(Sharded file)和索引文件(Region File):存储节点可以包括多个分片文件,并通过这些分片文件存储特征数据,每个分片文件的大小可设定。每个分片文件可以划分为多个子文件,这些子文件称为索引文件,每个索引文件的大小可设定。存储节点是通过分片文件的索引文件来存储特征数据。综上所述,分片文件和索引文件均是指存储节点上用于存储特征数据的文件。例如,将特征数据1存储到分片文件1的索引文件11,将特征数据2存储到分片文件1的索引文件12,将特征数据3存储到分片文件2的索引文件21,以此类推。
存储分区(Partition)和存储空间(即存储位置):计算节点可以包括多个存储分区,并通过这些存储分区存储特征数据。每个存储分区包括多个存储空间,这些存储空间是真正用于存储特征数据的区域,如这些存储空间可以是计算节点的内存页。计算节点是通过存储分区的存储空间来存储特征数据。综上所述,存储分区和存储空间均是指计算节点上用于存储特征数据的区域。例如,将特征数据1存储到存储分区1的存储空间11,将特征数据2存储到存储分区1的存储空间12,将特征数据3存储到存储分区2的存储空间21,以此类推。
全局索引(Global Index)和局部索引(Local Index):为了区分方便,将计算节点建立的全局索引称为第一全局索引,第一全局索引可以为1个。将计算节点建立的局部索引称为第一局部索引,第一局部索引可以为多个,如每个存储分区对应1个第一局部索引,如存储分区1对应第一局部索引1,存储分区2对应第一局部索引2,以此类推。将存储节点建立的全局索引称为第二全局索引,第二全局索引可以为1个。将存储节点建立的局部索引称为第二局部索引,第二局部索引可以为多个,如每个分片文件对应1个第二局部索引,如分片文件1对应第二局部索引1,分片文件2对应第二局部索引2,以此类推。
示例性的,关于第一全局索引、第一局部索引、第二全局索引、第二局部索引的建立方式,将在后续实施例中进行介绍,在此不再赘述。
存储和计算分离的两层结构(Two-tier):分布式系统的存储层和计算层分离,即采用计算节点和存储节点的组网架构。存储节点采用HBase、Accumulo等存储引擎,实现特征数据的存储功能,对此存储引擎不做限制。计算节点采用Spark计算引擎,实现特征数据的查询功能,对此计算引擎不做限制。
示例性的,存储节点用于实现特征数据的存储,存储节点在存储特征数据时,可以采用时空数据库(如TSDB数据库等)存储特征数据。
示例性的,计算节点用于接收外部输入的时空查询信息,并获取与时空查询信息对应的特征数据,并输出与时空查询信息对应的特征数据。
综上所述,本实施例中,可以涉及存储节点和计算节点,且采用的是两层时空索引(Two-level Index),两层时空索引分别是全局索引和局部索引。
以下结合具体实施例,对本申请实施例的数据查询方法进行说明。
实施例1:存储节点存储特征数据。在存储特征数据时,需要获取特征数据的元数据信息,并根据特征数据的元数据信息将该特征数据存储到分片文件的索引文件;其中,具有相同元数据信息的特征数据被存储到同一分片文件。
示例性的,元数据信息可以为:最小外包矩形;或者,最小外包矩形和时间区间;或者,最小外包矩形和分片文件环境;或者,最小外包矩形、时间区间和分片文件环境。当然,上述只是元数据信息的几个示例,对此不做限制。
其中,最小外包矩形是MBR(Minimum Bounding Rectangle),也可以称为最小外接矩形,存储节点在存储特征数据之前,需要先获取多个最小外包矩形,最小外包矩形可以包括多个经纬度位置组成的位置区域。也就是说,可以将所有经纬度位置组成的位置区域划分成多个最小外包矩形,每个最小外包矩形包括多个经纬度位置组成的位置区域。例如,参见图1所示,为最小外包矩形的一个示例,可以将所有经纬度位置组成的位置区域划分成4个最小外包矩形,这4个最小外包矩形分别记为MBR1、MBR2、MBR3和MBR4。
在一种可能的实施方式中,可以采用如下方式获取多个最小外包矩形:
方式1、根据历史数据的经纬度位置,将所有经纬度位置划分成多个最小外包矩形,使得每个最小外包矩形内的历史数据数量的差值小于阈值。
例如,根据合适位数的地理块来统计历史数据,合并地理块以达到数据均匀分布的目的,合并后的地理块是最小外包矩形,从而生成多个最小外包矩形。
参见图1所示,每个黑点表示一个历史数据,可以获知这些历史数据的经纬度位置(多个经纬度位置就组成地理块)。然后,将所有经纬度位置划分成多个最小外包矩形,每个最小外包矩形内的历史数据数量的差值比较小。例如,MBR1内的历史数据数量、MBR2内的历史数据数量、MBR3内的历史数据数量、MBR4内的历史数据数量,任意两个历史数据数量的差值均比较小。
基于上述处理,能够使得分布到每个最小外包矩形对应的分片文件中的特征数据数量是均匀的,避免某个分片文件中的特征数据数量太多,或者,某个分片文件中的特征数据数量太少,从而提高查询性能,并提高查询效率。
方式2、根据预配置的划分条件(即根据经验配置的用于划分最小外包矩形的条件)将所有经纬度位置划分成多个最小外包矩形。
具体的,可以预先配置最小外包矩形的划分条件,如根据4位地理块或0.5度划分地理范围等,对此划分条件不做限制,可以根据经验任意配置。然后,基于预配置的划分条件,可以将所有经纬度位置划分成多个最小外包矩形。
当然,上述方式1和方式2只是两个示例,存储节点还可以采用其它方式将所有经纬度位置划分成多个最小外包矩形,对此划分方式不做限制。
存储节点可以根据元数据信息创建多个分片文件。例如,当元数据信息为最小外包矩形时,则创建与MBR1对应的分片文件1、与MBR2对应的分片文件2、与MBR3对应的分片文件3、与MBR4对应的分片文件4。
又例如,当元数据信息为最小外包矩形和时间区间时,则创建与MBR1和时间区间1(即一个时间范围,如24小时的时间区间等)对应的分片文件1、与MBR1和时间区间2对应的分片文件2、与MBR1和时间区间3对应的分片文件3、与MBR2和时间区间1对应的分片文件4,以此类推。
当元数据信息为其它情况时,实现方式与上述方式类似,也就是说,可以为每种类型的元数据信息创建分片文件,在此不再重复赘述。为了方便描述,在后续实施例中,以元数据信息为最小外包矩形和时间区间为例进行说明。
存储节点在需要存储特征数据(如特征数据A)时,先获取特征数据A的元数据信息,特征数据A的最小外包矩形,是特征数据A的经纬度位置所在的最小外包矩形。具体的,从特征数据A中解析出位置A1(即某个经纬度位置)和时间A2。确定位置A1所属的最小外包矩形,例如,当位置A1位于MBR1时,则确定特征数据A的最小外包矩形为MBR1。获取时间A2所属的时间区间,例如,当时间A2位于时间区间2时,则确定特征数据A的时间区间为时间区间2。综上所述,得到特征数据A的元数据信息为MBR1和时间区间2。
然后,确定与特征数据A的元数据信息对应的分片文件,并将特征数据A存储到这个分片文件的索引文件。例如,与MBR1和时间区间2对应的分片文件为分片文件2,因此,将特征数据A存储到分片文件2的索引文件(即任意索引文件,对此不做限制),对此特征数据A的存储过程不做限制。
显然,由于元数据信息与分片文件对应,则具有相同元数据信息的特征数据被存储到同一分片文件。例如,特征数据A1-特征数据A100的元数据信息均为MBR1和时间区间2,则特征数据A1-特征数据A100均被存储到分片文件2。
实施例2:存储节点建立第二全局索引和第二局部索引。
在一个例子中,存储节点可以建立第二全局索引,第二全局索引包括特征数据的元数据信息与特征数据所在的分片文件之间的映射关系。例如,第二全局索引可以参见表1所示,由于元数据信息与分片文件对应,因此,可以在第二全局索引中记录元数据信息与分片文件的映射关系。此外,与元数据信息对应的特征数据,是存储在该元数据信息对应的分片文件的索引文件中。
表1
综上所述,存储节点可以根据分片文件的元数据信息构建第二全局索引,这样,可以根据时空查询条件定位具体的分片文件,从而缩小查询工作量。
示例性的,当元数据信息包括时间区间时,由于时间区间是不断更新的,因此,需要不断对第二全局索引进行更新。例如,随着时间的推进,假设增加新的时间区间4,若将时间区间4合并到已有时间区间,如合并时间区间3和时间区间4,则更新后的第二全局索引参见表2所示,与MBR1和时间区间4对应的特征数据,存储到分片文件3的索引文件。若时间区间4作为独立时间区间,则更新后的第二全局索引参见表3所示,为时间区间4创建分片文件13,与MBR1和时间区间4对应的特征数据,存储到分片文件13的索引文件。
表2
元数据信息 | 分片文件 |
MBR1和时间区间1 | 分片文件1 |
MBR1和时间区间2 | 分片文件2 |
MBR1和时间区间3、时间区间4 | 分片文件3 |
MBR2和时间区间1 | 分片文件4 |
… | … |
表3
元数据信息 | 分片文件 |
MBR1和时间区间1 | 分片文件1 |
MBR1和时间区间2 | 分片文件2 |
MBR1和时间区间3 | 分片文件3 |
MBR2和时间区间1 | 分片文件4 |
… | … |
MBR1和时间区间4 | 分片文件13 |
… | … |
在一个例子中,存储节点可以建立第二局部索引,即为每个分片文件建立第二局部索引,第二局部索引包括特征数据的时空编码信息与该特征数据所在的索引文件之间的映射关系。例如,为分片文件1建立第二局部索引1,第二局部索引1包括分片文件1中的特征数据的时空编码信息与该特征数据所在的索引文件之间的映射关系。为分片文件2建立第二局部索引2,第二局部索引2包括分片文件2中的特征数据的时空编码信息与该特征数据所在的索引文件之间的映射关系,以此类推,后续以分片文件1的第二局部索引1为例进行说明。
示例性的,为分片文件建立第二局部索引,可以包括但不限于:获取特征数据的时空索引信息,并对该时空索引信息进行预设类型编码,得到该特征数据的时空编码信息。然后,可以根据该特征数据的时空编码信息与该特征数据所在的分片文件的索引文件,为该分片文件建立第二局部索引。
示例性的,预设类型编码为对经度和纬度进行编码;或者,预设类型编码为对经度、纬度以及时间进行编码。例如,特征数据的时空索引信息可以为特征数据的经纬度位置(如经度和纬度等),然后,可以对该时空索引信息进行预设类型编码,如对经度和纬度进行编码,得到该特征数据的时空编码信息。又例如,特征数据的时空索引信息可以为特征数据的经纬度位置(如经度和纬度等)、特征数据的时间,然后,可以对该时空索引信息进行预设类型编码,如对经度、纬度以及时间进行编码,得到该特征数据的时空编码信息。
示例性的,预设类型编码用于将多维度索引降到一维索引,从而提高查询性能。例如,将2个维度(经度和纬度)的索引降到一维索引。又例如,将3个维度(经度、纬度以及时间)的索引降到一维索引。其中,一维索引就是上述时空编码信息,该时空编码信息可以为时空编码值,如1、2、3、4等。
在一种可能的实施方式中,可以采用S2时空编码技术将2个维度(经度和纬度)的索引降到一维索引,S2时空编码技术是采用Hilbert曲线对经度和纬度进行填充的编码技术。参见图2A所示,为S2时空编码技术的示意图,可以将所有区域划分为图2A所示的16个区域,若特征数据的时空索引信息(经度和纬度)位于区域1,则采用S2时空编码技术对经度和纬度进行编码,得到时空编码值(即时空编码信息)为0000。若特征数据的时空索引信息(经度和纬度)位于区域2,则采用S2时空编码技术对经度和纬度进行编码,得到时空编码值为0001。以此类推,若特征数据的时空索引信息(经度和纬度)位于区域15,则采用S2时空编码技术对经度和纬度进行编码,得到时空编码值为1110。若特征数据的时空索引信息(经度和纬度)位于区域16,则采用S2时空编码技术对经度和纬度进行编码,得到时空编码值为1111。当然,上述只是采用S2时空编码技术将2个维度(经度和纬度)的索引降到一维索引的示例,对此不做限制。
在一种可能的实施方式中,可以采用S3时空编码技术将3个维度(经度、纬度和时间)的索引降到一维索引,S3时空编码技术是采用Hilbert曲线对经度、纬度和时间进行填充的编码技术。参见图2B所示,为S3时空编码技术的示意图,可以将所有区域划分为图2B所示的区域,每个区域对应一个时空编码值(即时空编码信息)。当特征数据的时空索引信息(经度、纬度和时间)位于某个区域时,则采用S3时空编码技术对经度、纬度和时间进行编码,得到的时空编码值就是该区域对应的时空编码值。当然,上述只是采用S3时空编码技术将3个维度(经度、纬度和时间)的索引降到一维索引的示例,对此不做限制。
当然,上述S2时空编码技术、S3时空编码技术只是一个示例,对此不做限制,只要能够将2个维度(经度和纬度)的索引或者3个维度(经度、纬度以及时间)的索引降到一维索引即可。例如,还可以采用Rtree、QuardTree、KDtree等编码方式,对时空索引信息进行编码,得到时空编码信息(即时空编码值)。
参见表4所示,为分片文件1的第二局部索引1的示例,第二局部索引1包括特征数据的时空编码信息与该特征数据所在的索引文件之间的映射关系。例如,假设特征数据A1的时空编码信息为0001,特征数据A1存储在分片文件1的索引文件11中,则第二局部索引1包括时空编码信息0001与索引文件11的映射关系。又例如,假设特征数据A2的时空编码信息为0101,特征数据A2存储在分片文件1的索引文件15中,则第二局部索引1包括时空编码信息0101与索引文件15的映射关系,以此类推,最终维护表4所示的第二局部索引1。
表4
综上所述,存储节点可以为每个分片文件构建第二局部索引,这样,可以根据时空查询条件定位分片文件中具体的索引文件,从而缩小查询工作量。
示例性的,由于特征数据是不断写入的,因此,每次有新特征数据写入到分片文件的索引文件时,需要更新该分片文件的第二局部索引,在此不再赘述。
实施例3:计算节点存储特征数据。
计算节点可以将存储节点的所有特征数据存储到计算节点的存储分区的存储空间。例如,计算节点从存储节点获取所有特征数据,并将这些特征数据存储到计算节点的存储分区的存储空间。在后续过程中,计算节点定期从存储节点获取增量特征数据,并将增量特征数据存储到计算节点的存储分区的存储空间。或者,特征数据每次发生变化时,存储节点将变化的特征数据同步给计算节点,由计算节点将变化的特征数据存储到计算节点的存储分区的存储空间。
计算节点在存储特征数据时,可以获取该特征数据的元数据信息,并根据该特征数据的元数据信息将该特征数据存储到计算节点的存储分区的存储空间;其中,具有相同元数据信息的特征数据被存储到同一存储分区。
示例性的,元数据信息可以为:最小外包矩形;或者,最小外包矩形和时间区间;或者,最小外包矩形和分片文件环境;或者,最小外包矩形、时间区间和分片文件环境。当然,上述只是元数据信息的几个示例,对此不做限制。
其中,计算节点在存储特征数据之前,还可以先获取多个最小外包矩形,该最小外包矩形可以包括多个经纬度位置组成的位置区域。也就是说,可以将所有经纬度位置组成的位置区域划分成多个最小外包矩形,每个最小外包矩形包括多个经纬度位置组成的位置区域。例如,参见图1所示,为最小外包矩形的一个示例,可以将所有经纬度位置组成的位置区域划分成4个最小外包矩形,这4个最小外包矩形分别记为MBR1、MBR2、MBR3和MBR4。
在一种可能的实施方式中,可以采用如下方式获取多个最小外包矩形:
方式1、计算节点获取存储节点的最小外包矩形划分策略,并根据存储节点的最小外包矩形划分策略将所有经纬度位置划分成多个最小外包矩形。
具体的,参见上述实施例,已经介绍存储节点将所有经纬度位置划分成多个最小外包矩形,例如,将所有经纬度位置划分成图1所示的4个最小外包矩形,则存储节点的最小外包矩形划分策略就是这4个最小外包矩形的划分策略。
计算节点获取到这4个最小外包矩形的划分策略后,可以采用同样的划分方式,也将所有经纬度位置划分成图1所示的4个最小外包矩形,也就是说,计算节点得到的最小外包矩形与存储节点得到的最小外包矩形相同。
显然,由于计算节点的最小外包矩形与存储节点的最小外包矩形相同,这样,计算节点的存储分区就与存储节点的分片文件相对应,即存储节点有几个分片文件,计算节点也有几个存储分区。而且,计算节点的第一全局索引的制定策略与存储节点的第二全局索引的制定策略相同。综上所述,在创建第一全局索引时,可以减少重分区(Repartition)的过程,而重分区过程会引发特征数据的Shuffle,因此,减少重分区就可以减少Shuffle操作,从而提高存储性能。
方式2、计算节点根据历史数据的经纬度位置,将所有经纬度位置划分成多个最小外包矩形,使得每个最小外包矩形内的历史数据数量的差值小于阈值。
例如,根据合适位数的地理块来统计历史数据,合并地理块以达到数据均匀分布的目的,合并后的地理块是最小外包矩形,从而生成多个最小外包矩形。
参见图1所示,每个黑点表示一个历史数据,可以获知这些历史数据的经纬度位置(多个经纬度位置就组成地理块)。然后,将所有经纬度位置划分成多个最小外包矩形,每个最小外包矩形内的历史数据数量的差值比较小。例如,MBR1内的历史数据数量、MBR2内的历史数据数量、MBR3内的历史数据数量、MBR4内的历史数据数量,任意两个历史数据数量的差值均比较小。
基于上述处理,能够使得分布到每个最小外包矩形对应的存储分区中的特征数据数量是均匀的,避免某个存储分区中的特征数据数量太多,或者,某个存储分区中的特征数据数量太少,从而提高查询性能,并提高查询效率。
方式3、根据预配置的划分条件(即根据经验配置的用于划分最小外包矩形的条件)将所有经纬度位置划分成多个最小外包矩形。
具体的,可以预先配置最小外包矩形的划分条件,如根据4位地理块或0.5度划分地理范围等,对此划分条件不做限制,可以根据经验任意配置。然后,基于预配置的划分条件,可以将所有经纬度位置划分成多个最小外包矩形。
当然,上述方式1、方式2和方式3只是示例,计算节点还可以采用其它方式将所有经纬度位置划分成多个最小外包矩形,对此划分方式不做限制。
计算节点可以根据元数据信息创建多个存储分区。例如,当元数据信息为最小外包矩形时,则创建与MBR1对应的存储分区1、与MBR2对应的存储分区2、与MBR3对应的存储分区3、与MBR4对应的存储分区4。
又例如,当元数据信息为最小外包矩形和时间区间时,则创建与MBR1和时间区间1(即一个时间范围,如24小时的时间区间等)对应的存储分区1、与MBR1和时间区间2对应的存储分区2、与MBR1和时间区间3对应的存储分区3、与MBR2和时间区间1对应的存储分区4,以此类推。
当元数据信息为其它情况时,实现方式与上述方式类似,也就是说,可以为每种类型的元数据信息创建存储分区,在此不再重复赘述。为了方便描述,在后续实施例中,以元数据信息为最小外包矩形和时间区间为例进行说明。
计算节点在需要存储特征数据(如特征数据A)时,先获取特征数据A的元数据信息,特征数据A的最小外包矩形,是特征数据A的经纬度位置所在的最小外包矩形。具体的,从特征数据A中解析出位置A1(即某个经纬度位置)和时间A2。确定位置A1所属的最小外包矩形,例如,当位置A1位于MBR1时,则确定特征数据A的最小外包矩形为MBR1。获取时间A2所属的时间区间,例如,当时间A2位于时间区间2时,则确定特征数据A的时间区间为时间区间2。综上所述,得到特征数据A的元数据信息为MBR1和时间区间2。
然后,确定与特征数据A的元数据信息对应的存储分区,并将特征数据A存储到这个存储分区的存储空间。例如,与MBR1和时间区间2对应的存储分区为存储分区2,因此,将特征数据A存储到存储分区2的存储空间(即任意存储空间,对此不做限制),对此特征数据A的存储过程不做限制。
显然,由于元数据信息与存储分区对应,则具有相同元数据信息的特征数据被存储到同一存储分区。例如,特征数据A1-特征数据A100的元数据信息均为MBR1和时间区间2,则特征数据A1-特征数据A100均被存储到存储分区2。
实施例4:计算节点建立第一全局索引和第一局部索引。
在一个例子中,计算节点可以建立第一全局索引,第一全局索引包括特征数据的元数据信息与特征数据所在的存储分区之间的映射关系。例如,第一全局索引可以参见表5所示,由于元数据信息与存储分区对应,因此,可以在第一全局索引中记录元数据信息与存储分区的映射关系。此外,与元数据信息对应的特征数据,是存储在该元数据信息对应的存储分区的存储空间中。
表5
元数据信息 | 存储分区 |
MBR1和时间区间1 | 存储分区1 |
MBR1和时间区间2 | 存储分区2 |
MBR1和时间区间3 | 存储分区3 |
MBR2和时间区间1 | 存储分区4 |
… | … |
综上所述,计算节点可以根据存储分区的元数据信息构建第一全局索引,这样,可以根据时空查询条件定位具体的存储分区,从而缩小查询工作量。
在一个例子中,计算节点可以建立第一局部索引,即为每个存储分区建立第一局部索引,第一局部索引包括特征数据的时空编码信息与该特征数据所在的存储空间之间的映射关系。例如,为存储分区1建立第一局部索引1,第一局部索引1包括存储分区1中的特征数据的时空编码信息与该特征数据所在的存储空间之间的映射关系。为存储分区2建立第一局部索引2,第一局部索引2包括存储分区2中的特征数据的时空编码信息与该特征数据所在的存储空间之间的映射关系,以此类推,后续以存储分区1的第一局部索引1为例进行说明。
示例性的,为存储分区建立第一局部索引,可以包括但不限于:获取特征数据的时空索引信息,并对该时空索引信息进行预设类型编码,得到该特征数据的时空编码信息。然后,可以根据该特征数据的时空编码信息与该特征数据所在的存储分区的存储空间,为该存储分区建立第一局部索引。
示例性的,预设类型编码为对经度和纬度进行编码;或者,预设类型编码为对经度、纬度以及时间进行编码。例如,特征数据的时空索引信息可以为特征数据的经纬度位置(如经度和纬度等),然后,可以对该时空索引信息进行预设类型编码,如对经度和纬度进行编码,得到该特征数据的时空编码信息。又例如,特征数据的时空索引信息可以为特征数据的经纬度位置(如经度和纬度等)、特征数据的时间,然后,可以对该时空索引信息进行预设类型编码,如对经度、纬度以及时间进行编码,得到该特征数据的时空编码信息。
示例性的,预设类型编码用于将多维度索引降到一维索引,从而提高查询性能。例如,将2个维度(经度和纬度)的索引降到一维索引。又例如,将3个维度(经度、纬度以及时间)的索引降到一维索引。其中,一维索引就是上述时空编码信息,该时空编码信息可以为时空编码值,如1、2、3、4等。
在一种可能的实施方式中,可以采用S2时空编码技术将2个维度(经度和纬度)的索引降到一维索引,S2时空编码技术是采用Hilbert曲线对经度和纬度进行填充的编码技术。可以采用S3时空编码技术将3个维度(经度、纬度和时间)的索引降到一维索引,S3时空编码技术是采用Hilbert曲线对经度、纬度和时间进行填充的编码技术。当然,S2时空编码技术、S3时空编码技术只是一个示例,对此不做限制,只要能够将2个维度(经度和纬度)的索引或者3个维度(经度、纬度以及时间)的索引降到一维索引即可。例如,还可以采用Rtree、QuardTree、KDtree等编码方式,对时空索引信息进行编码,得到时空编码信息。
参见表6所示,为存储分区1的第一局部索引1的示例,第一局部索引1包括特征数据的时空编码信息与该特征数据所在的存储空间之间的映射关系。例如,假设特征数据A1的时空编码信息为0001,特征数据A1存储在存储分区1的存储空间11中,则第一局部索引1包括时空编码信息0001与存储空间11的映射关系。又例如,假设特征数据A2的时空编码信息为0101,特征数据A2存储在存储分区1的存储空间15中,则第一局部索引1包括时空编码信息0101与存储空间15的映射关系,以此类推,最终维护表6所示的第一局部索引1。
表6
时空编码信息 | 存储空间 |
0001 | 存储空间11 |
0101 | 存储空间15 |
0101 | 存储空间13 |
1110 | 存储空间11 |
… | … |
综上所述,计算节点可以为每个存储分区构建第一局部索引,这样,可以根据时空查询条件定位存储分区中具体的存储空间,从而缩小查询工作量。
实施例5:计算节点的数据查询过程,参见图3所示,为本申请实施例中的数据查询方法的流程示意图,可以应用于计算节点,该方法可以包括:
步骤301,获取时空查询信息(即时空查询条件)。
示例性的,计算节点可以接收用户输入的时空查询信息,该时空查询信息包括时间范围和空间信息(如经纬度位置,可以为多个经纬度位置)。
示例性的,以SQL(Structured Query Language,结构化查询语言)语句为例,则计算节点可以接收用户输入的SQL语句,SQL语句包括的空间信息可以为空间算子,如空间包含算子st_contains和空间相交算子st_intersects,对此SQL语句不做限制,只要SQL语句包括时间范围和空间信息即可。
步骤302,若计算节点已建立第一全局索引和第一局部索引,则获取与该时空查询信息对应的元数据信息、与该时空查询信息对应的时空编码信息。
具体的,参见上述实施例,已经介绍第一全局索引和第一局部索引的建立过程,若采用实施例4的方式建立第一全局索引和第一局部索引,则获取与该时空查询信息对应的元数据信息、与该时空查询信息对应的时空编码信息。
示例性的,元数据信息可以为:最小外包矩形;或,最小外包矩形和时间区间;或,最小外包矩形和分片文件环境;或,最小外包矩形、时间区间和分片文件环境,对此不做限制,以元数据信息为最小外包矩形和时间区间为例。
由于时空查询信息包括时间范围和空间信息,因此,根据该时间范围确定时间区间,该时间范围可以对应一个或者多个间区间。此外,根据该空间信息(如经纬度位置)确定该空间信息所在的最小外包矩形,即时空查询信息对应的最小外包矩形,是时空查询信息的经纬度位置所在的最小外包矩形。
综上所述,可以得到与该时空查询信息对应的元数据信息。
示例性的,可以对该时空查询信息进行预设类型编码,得到与该时空查询信息对应的时空编码信息(如时空编码值)。其中,预设类型编码为对经度和纬度进行编码;或者,预设类型编码为对经度、纬度以及时间进行编码。例如,该时空查询信息可以为经纬度位置(如经度和纬度等),对经度和纬度进行编码,得到时空编码信息。又例如,该时空查询信息可以为经纬度位置(如经度和纬度等)和时间,对经度、纬度以及时间进行编码,得到时空编码信息。
其中,可以采用S2时空编码技术对2个维度(经度和纬度)进行编码,得到时空编码信息。可以采用S3时空编码技术对3个维度(经度、纬度和时间)进行编码,得到时空编码信息。具体编码方式参见上述实施例,在此不再赘述。
步骤303,根据第一全局索引查询与该元数据信息对应的存储分区,并根据该存储分区的第一局部索引查询与该时空编码信息对应的存储空间。
具体的,计算节点在得到与该时空查询信息对应的元数据信息和时空编码信息后,可以通过该时空查询信息对应的元数据信息,查询表5所示的第一全局索引,得到与该元数据信息对应的存储分区。然后,通过该时空查询信息对应的时空编码信息,查询该存储分区的第一局部索引(参见表6所示),得到与该时空编码信息对应的存储空间(可以为一个或者多个存储空间)。
步骤304,从该存储空间中获取与该时空查询信息对应的特征数据。
在得到与该时空编码信息对应的存储空间后,就可以从该存储空间中获取与该时空查询信息对应的特征数据,对此特征数据的获取过程不做限制。
示例性的,计算节点可以得到多个特征数据,并将多个特征数据合并,得到特征数据集合,并输出特征数据集合。或者,对特征数据集合中的特征数据进行格式转换,对此转换过程不做限制,并输出格式转换后的特征数据。
在一种可能的实施方式中,步骤301之后,若计算节点未建立第一全局索引和第一局部索引,则计算节点将该时空查询信息发送给存储节点,以使存储节点根据自身建立的第二全局索引和第二局部索引,获取与该时空查询信息对应的特征数据。进一步的,计算节点可以接收存储节点返回的与该时空查询信息对应的特征数据,并输出与该时空查询信息对应的特征数据。
在另一种可能的实施方式中,步骤301之后,若计算节点未建立第一全局索引和第一局部索引,则计算节点从存储节点获取特征数据,将该特征数据存储到计算节点的存储分区的存储空间。然后,计算节点建立第一全局索引,第一全局索引包括特征数据的元数据信息与特征数据所在的存储分区之间的映射关系。此外,计算节点为该存储分区建立第一局部索引,该第一局部索引包括特征数据的时空编码信息与特征数据所在的存储空间之间的映射关系。
其中,关于特征数据的存储过程,参见实施例3,在此不再赘述。关于第一全局索引和第一局部索引的建立过程,可以参见实施例4,在此不再赘述。
计算节点建立第一全局索引和第一局部索引之后,针对时空查询信息(即步骤301中获取的时空查询信息),可以采用步骤302-步骤304,获取与该时空查询信息对应的特征数据,并输出与该时空查询信息对应的特征数据。
示例性的,计算节点可以判断是否支持在自身建立第一全局索引和第一局部索引。如果是,则执行从存储节点获取特征数据的操作,并将该特征数据存储到计算节点的存储分区的存储空间,并建立第一全局索引和第一局部索引。如果否,则执行将时空查询信息发送给存储节点的操作,即从存储节点接收与该时空查询信息对应的特征数据,并输出与该时空查询信息对应的特征数据。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,基于全局索引和局部索引实现特征数据的查询,能够实现大量特征数据的查询,并节约计算资源和存储资源。如果在计算节点实现特征数据的查询,由于计算节点是基于全局索引和局部索引实现特征数据的查询,因此,通过两级索引快速查询到特征数据,查询性能高,查询效率高。而且,不需要在计算节点与存储节点之间进行特征数据的传输,节省计算节点与存储节点之间的磁盘IO操作。如果在存储节点实现特征数据的查询,由于存储节点是基于全局索引和局部索引实现特征数据的查询,因此,通过两级索引快速查询到特征数据,查询性能高,查询效率高。
实施例6:存储节点的数据查询过程,参见图4所示,为本申请实施例中的数据查询方法的流程示意图,可以应用于存储节点,该方法可以包括:
步骤401,接收计算节点发送的时空查询信息(即时空查询条件),该时空查询信息包括时间范围和空间信息(如经纬度位置,可以为多个经纬度位置)。
步骤402,获取与该时空查询信息对应的元数据信息、时空编码信息。
示例性的,元数据信息可以为:最小外包矩形;或,最小外包矩形和时间区间;或,最小外包矩形和分片文件环境;或,最小外包矩形、时间区间和分片文件环境,对此不做限制,以元数据信息为最小外包矩形和时间区间为例。
由于时空查询信息包括时间范围和空间信息,因此,根据该时间范围确定时间区间,该时间范围可以对应一个或者多个间区间。此外,根据该空间信息(如经纬度位置)确定该空间信息所在的最小外包矩形,即时空查询信息对应的最小外包矩形,是时空查询信息的经纬度位置所在的最小外包矩形。
综上所述,可以得到与该时空查询信息对应的元数据信息。
示例性的,可以对该时空查询信息进行预设类型编码,得到与该时空查询信息对应的时空编码信息(如时空编码值)。其中,预设类型编码为对经度和纬度进行编码;或者,预设类型编码为对经度、纬度以及时间进行编码。
其中,可以采用S2时空编码技术对2个维度(经度和纬度)进行编码,得到时空编码信息。可以采用S3时空编码技术对3个维度(经度、纬度和时间)进行编码,得到时空编码信息。具体编码方式参见上述实施例,在此不再赘述。
步骤403,根据第二全局索引查询与该元数据信息对应的分片文件,并根据该分片文件的第二局部索引查询与该时空编码信息对应的索引文件。
具体的,存储节点在得到与该时空查询信息对应的元数据信息和时空编码信息后,可以通过该时空查询信息对应的元数据信息,查询表1所示的第二全局索引,得到与该元数据信息对应的分片文件。然后,通过该时空查询信息对应的时空编码信息,查询该分片文件的第二局部索引(参见表4所示),得到与该时空编码信息对应的索引文件(可以为一个或者多个索引文件)。
步骤404,从该索引文件中获取与该时空查询信息对应的特征数据。
在得到与该时空编码信息对应的索引文件后,就可以从该索引文件中获取与该时空查询信息对应的特征数据,对此特征数据的获取过程不做限制。
步骤405,将与该时空查询信息对应的特征数据发送给计算节点。
基于上述技术方案,本申请实施例中,基于全局索引和局部索引实现特征数据的查询,能够实现大量特征数据的查询,并节约计算资源和存储资源。如果在计算节点实现特征数据的查询,由于计算节点是基于全局索引和局部索引实现特征数据的查询,因此,通过两级索引快速查询到特征数据,查询性能高,查询效率高。而且,不需要在计算节点与存储节点之间进行特征数据的传输,节省计算节点与存储节点之间的磁盘IO操作。如果在存储节点实现特征数据的查询,由于存储节点是基于全局索引和局部索引实现特征数据的查询,因此,通过两级索引快速查询到特征数据,查询性能高,查询效率高。
实施例7:以下结合图5A所示的应用场景,对上述过程进行进一步说明。
步骤501,计算节点获取时空查询信息(即时空查询条件)。
步骤502,计算节点判断第一全局索引和第一局部索引是否存在。
如果是,则执行步骤503;如果否,则执行步骤507。
步骤503,计算节点获取时空查询信息对应的元数据信息和时空编码信息。
步骤504,计算节点根据第一全局索引查询与该元数据信息对应的存储分区,并根据该存储分区的第一局部索引查询与该时空编码信息对应的存储空间。
步骤505,计算节点从该存储空间中获取与时空查询信息对应的特征数据。
步骤506,计算节点对特征数据进行格式转换,并输出特征数据。
步骤507,计算节点判断是否支持在计算节点建立第一全局索引和第一局部索引。如果是,则执行步骤508;如果否,则执行步骤509。
步骤508,计算节点从存储节点获取特征数据,将该特征数据存储到计算节点的存储分区的存储空间,建立第一全局索引和第一局部索引,返回步骤502。
步骤509,计算节点将时空查询信息发送给存储节点。
步骤510,存储节点获取时空查询信息对应的元数据信息和时空编码信息。
步骤511,存储节点根据第二全局索引查询与该元数据信息对应的分片文件,并根据该分片文件的第二局部索引查询与该时空编码信息对应的索引文件。
步骤512,存储节点从该索引文件中获取与时空查询信息对应的特征数据。
步骤513,存储节点将与该时空查询信息对应的特征数据发送给计算节点。
步骤514,计算节点接收与时空查询信息对应的特征数据,执行步骤506。
参见图5B所示,以下结合另一应用场景对上述过程进行说明。
输入是时空查询条件(如时间范围和空间算子)。
在计算层,先判断内存索引(即第一全局索引和第一局部索引)是否存在。如果是,则根据第一全局索引过滤存储分区,根据第一局部索引过滤存储空间,从该存储空间中获取特征数据。然后,将多个特征数据合并为特征数据集合,对特征数据集合中的特征数据进行格式转换,并输出结果集。
如果内存索引不存在,则判断是否支持在计算层构建内存索引。如果是,则从存储节点获取特征数据,并建立第一全局索引和第一局部索引。
如果不支持在计算层构建内存索引,则将时空查询条件发送给存储层。
存储层将时空查询条件转换为第二全局索引的查询条件和第二局部索引的查询条件。根据第二全局索引过滤分片文件,根据第二局部索引过滤索引文件,从该索引文件中获取特征数据。然后,将多个特征数据合并为特征数据集合,将特征数据集合返回给计算层。进一步的,计算层对特征数据集合中的特征数据进行格式转换,并输出结果集。
基于与上述方法同样的申请构思,本申请实施例还提供一种数据查询装置,应用于计算节点,如图6A所示,为所述装置的结构图,所述装置包括:
获取模块611,用于获取时空查询信息;若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;查询模块612,用于根据第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;所述获取模块611,还用于从所述存储空间中获取与所述时空查询信息对应的特征数据。
所述获取模块611还用于:若所述计算节点未建立第一全局索引和第一局部索引,则将所述时空查询信息发送给存储节点,以使所述存储节点根据自身建立的第二全局索引和第二局部索引,获取与所述时空查询信息对应的特征数据;接收所述存储节点返回的与所述时空查询信息对应的特征数据。
所述获取模块611还用于:若所述计算节点未建立第一全局索引和第一局部索引,则从存储节点获取特征数据,将所述特征数据存储到所述计算节点的存储分区的存储空间;建立第一全局索引,所述第一全局索引包括所述特征数据的元数据信息与所述特征数据所在的存储分区之间的映射关系;为存储分区建立第一局部索引,所述第一局部索引包括所述特征数据的时空编码信息与所述特征数据所在的存储空间之间的映射关系。
所述获取模块611将所述特征数据存储到所述计算节点的存储分区的存储空间时具体用于:获取所述特征数据的元数据信息,并根据所述特征数据的元数据信息将所述特征数据存储到所述计算节点的存储分区的存储空间;其中,具有相同元数据信息的特征数据被存储到同一存储分区。
所述获取模块611为存储分区建立第一局部索引时具体用于:获取所述特征数据的时空索引信息,并对所述时空索引信息进行预设类型编码,得到所述特征数据的时空编码信息;根据所述特征数据的时空编码信息与所述特征数据所在的存储分区的存储空间,为所述存储分区建立第一局部索引。
所述获取模块611还用于:判断所述计算节点是否支持在自身建立第一全局索引和第一局部索引;如果是,则执行从存储节点获取特征数据的操作;如果否,则执行将所述时空查询信息发送给存储节点的操作。
所述获取模块611获取与所述时空查询信息对应的时空编码信息时具体用于:对所述时空查询信息进行预设类型编码,得到与所述时空查询信息对应的时空编码信息;其中,所述预设类型编码为对经度和纬度进行编码;或者,所述预设类型编码为对经度、纬度以及时间进行编码。
所述元数据信息为:最小外包矩形;或者,最小外包矩形和时间区间;所述获取模块611还用于:获取多个最小外包矩形,所述最小外包矩形包括多个经纬度位置组成的位置区域;其中,与所述时空查询信息对应的最小外包矩形,是所述时空查询信息的经纬度位置所在的最小外包矩形;所述特征数据的最小外包矩形,是所述特征数据的经纬度位置所在的最小外包矩形。
所述获取模块611获取多个最小外包矩形时具体用于:获取存储节点的最小外包矩形划分策略,根据最小外包矩形划分策略将经纬度位置划分成多个最小外包矩形;或,根据历史数据的经纬度位置将经纬度位置划分成多个最小外包矩形;或,根据预配置的划分条件将经纬度位置划分成多个最小外包矩形。
基于与上述方法同样的申请构思,本申请实施例还提供一种数据查询装置,应用于存储节点,如图6B所示,为所述装置的结构图,所述装置包括:
获取模块621,用于接收计算节点发送的时空查询信息,并获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;查询模块622,用于根据第二全局索引查询与所述元数据信息对应的分片文件,根据所述分片文件的第二局部索引查询与所述时空编码信息对应的索引文件;所述获取模块621,还用于从所述索引文件中获取与所述时空查询信息对应的特征数据;发送模块623,用于将与所述时空查询信息对应的特征数据发送给计算节点。
所述获取模块621还用于:在存储特征数据时,获取所述特征数据的元数据信息,并根据所述特征数据的元数据信息将所述特征数据存储到分片文件的索引文件;其中,具有相同元数据信息的特征数据被存储到同一分片文件。
所述获取模块621还用于:建立第二全局索引,其中,所述第二全局索引包括特征数据的元数据信息与所述特征数据所在的分片文件之间的映射关系;为分片文件建立第二局部索引,所述第二局部索引包括特征数据的时空编码信息与所述特征数据所在的索引文件之间的映射关系。
所述获取模块621为分片文件建立第二局部索引时具体用于:
获取特征数据的时空索引信息,并对所述时空索引信息进行预设类型编码,得到所述特征数据的时空编码信息;根据所述特征数据的时空编码信息与所述特征数据所在的分片文件的索引文件,为所述分片文件建立第二局部索引。
所述获取模块621获取与所述时空查询信息对应的时空编码信息时具体用于:对所述时空查询信息进行预设类型编码,得到与所述时空查询信息对应的时空编码信息;其中,所述预设类型编码为对经度和纬度进行编码;或者,所述预设类型编码为对经度、纬度以及时间进行编码。
所述元数据信息为:最小外包矩形;或者,最小外包矩形和时间区间;所述获取模块621还用于:获取多个最小外包矩形,所述最小外包矩形包括多个经纬度位置组成的位置区域;其中,与所述时空查询信息对应的最小外包矩形,是所述时空查询信息的经纬度位置所在的最小外包矩形;所述特征数据的最小外包矩形,是所述特征数据的经纬度位置所在的最小外包矩形。
所述获取模块621获取多个最小外包矩形时具体用于:
根据历史数据的经纬度位置将经纬度位置划分成多个最小外包矩形;或者,根据预配置的划分条件将经纬度位置划分成多个最小外包矩形。
基于与上述方法同样的申请构思,本申请实施例还提供一种计算节点,所述计算节点包括:处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取时空查询信息;
若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据所述第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;
从所述存储空间中获取与所述时空查询信息对应的特征数据。
本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:
获取时空查询信息;
若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据所述第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;
从所述存储空间中获取与所述时空查询信息对应的特征数据。
基于与上述方法同样的申请构思,本申请实施例还提供一种存储节点,所述存储节点包括:处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
接收计算节点发送的时空查询信息,并获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据第二全局索引查询与所述元数据信息对应的分片文件,根据所述分片文件的第二局部索引查询与所述时空编码信息对应的索引文件;
从所述索引文件中获取与所述时空查询信息对应的特征数据;
将与所述时空查询信息对应的特征数据发送给所述计算节点。
本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:
接收计算节点发送的时空查询信息,并获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据第二全局索引查询与所述元数据信息对应的分片文件,根据所述分片文件的第二局部索引查询与所述时空编码信息对应的索引文件;
从所述索引文件中获取与所述时空查询信息对应的特征数据;
将与所述时空查询信息对应的特征数据发送给所述计算节点。
参见图6C所示,为本申请实施例中提出的计算节点/存储节点的结构图,可以包括:处理器631,网络接口632,总线633,存储器634。存储器634可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据等等。例如,存储器634可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等)。处理器631可以包括但不限于:CPU(Central Processing Unit,中央处理器)、GPU(GraphicsProcessing Unit,图形处理器)、FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)、NPU(Neural-network Processing Unit,网络处理器)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (22)
1.一种数据查询方法,其特征在于,应用于计算节点,所述方法包括:
获取时空查询信息;
若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据所述第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;
从所述存储空间中获取与所述时空查询信息对应的特征数据。
2.根据权利要求1所述的方法,其特征在于,
所述获取时空查询信息之后,所述方法还包括:
若所述计算节点未建立第一全局索引和第一局部索引,则将所述时空查询信息发送给存储节点,以使所述存储节点根据自身建立的第二全局索引和第二局部索引,获取与所述时空查询信息对应的特征数据;
接收所述存储节点返回的与所述时空查询信息对应的特征数据。
3.根据权利要求1所述的方法,其特征在于,
所述获取时空查询信息之后,所述方法还包括:
若所述计算节点未建立第一全局索引和第一局部索引,则从存储节点获取特征数据,将所述特征数据存储到所述计算节点的存储分区的存储空间;
建立第一全局索引,所述第一全局索引包括所述特征数据的元数据信息与所述特征数据所在的存储分区之间的映射关系;
为存储分区建立第一局部索引,所述第一局部索引包括所述特征数据的时空编码信息与所述特征数据所在的存储空间之间的映射关系。
4.根据权利要求3所述的方法,其特征在于,
所述将所述特征数据存储到所述计算节点的存储分区的存储空间,包括:
获取所述特征数据的元数据信息,并根据所述特征数据的元数据信息将所述特征数据存储到所述计算节点的存储分区的存储空间;
其中,具有相同元数据信息的特征数据被存储到同一存储分区。
5.根据权利要求3所述的方法,其特征在于,
所述为存储分区建立第一局部索引,具体包括:
获取所述特征数据的时空索引信息,并对所述时空索引信息进行预设类型编码,得到所述特征数据的时空编码信息;
根据所述特征数据的时空编码信息与所述特征数据所在的存储分区的存储空间,为所述存储分区建立第一局部索引。
6.根据权利要求2或3所述的方法,其特征在于,
所述获取时空查询信息之后,所述方法还包括:
判断所述计算节点是否支持在自身建立第一全局索引和第一局部索引;
如果是,则执行从存储节点获取特征数据的操作;
如果否,则执行将所述时空查询信息发送给存储节点的操作。
7.根据权利要求1或5所述的方法,其特征在于,
所述获取与所述时空查询信息对应的时空编码信息,包括:对所述时空查询信息进行预设类型编码,得到与所述时空查询信息对应的时空编码信息;
其中,所述预设类型编码为对经度和纬度进行编码;或者,
所述预设类型编码为对经度、纬度以及时间进行编码。
8.根据权利要求1、3和4中任一项所述的方法,其特征在于,
所述元数据信息为:最小外包矩形;或者,最小外包矩形和时间区间;
所述获取与所述时空查询信息对应的元数据信息之前,还包括:获取多个最小外包矩形,所述最小外包矩形包括多个经纬度位置组成的位置区域;
其中,与所述时空查询信息对应的最小外包矩形,是所述时空查询信息的经纬度位置所在的最小外包矩形;所述特征数据的最小外包矩形,是所述特征数据的经纬度位置所在的最小外包矩形。
9.根据权利要求8所述的方法,其特征在于,
所述获取多个最小外包矩形,包括:
获取存储节点的最小外包矩形划分策略,根据所述最小外包矩形划分策略将经纬度位置划分成多个最小外包矩形;或者,
根据历史数据的经纬度位置将经纬度位置划分成多个最小外包矩形;或者,
根据预配置的划分条件将经纬度位置划分成多个最小外包矩形。
10.一种数据查询方法,其特征在于,应用于存储节点,所述方法包括:
接收计算节点发送的时空查询信息,并获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据第二全局索引查询与所述元数据信息对应的分片文件,根据所述分片文件的第二局部索引查询与所述时空编码信息对应的索引文件;
从所述索引文件中获取与所述时空查询信息对应的特征数据;
将与所述时空查询信息对应的特征数据发送给所述计算节点。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在存储特征数据时,获取所述特征数据的元数据信息,并根据所述特征数据的元数据信息将所述特征数据存储到分片文件的索引文件;
其中,具有相同元数据信息的特征数据被存储到同一分片文件。
12.根据权利要求10或11所述的方法,其特征在于,所述根据第二全局索引查询与所述元数据信息对应的分片文件之前,所述方法还包括:
建立第二全局索引,其中,所述第二全局索引包括特征数据的元数据信息与所述特征数据所在的分片文件之间的映射关系;
为分片文件建立第二局部索引,所述第二局部索引包括特征数据的时空编码信息与所述特征数据所在的索引文件之间的映射关系。
13.根据权利要求12所述的方法,其特征在于,
所述为分片文件建立第二局部索引,具体包括:
获取特征数据的时空索引信息,并对所述时空索引信息进行预设类型编码,得到所述特征数据的时空编码信息;
根据所述特征数据的时空编码信息与所述特征数据所在的分片文件的索引文件,为所述分片文件建立第二局部索引。
14.根据权利要求13所述的方法,其特征在于,
所述获取与所述时空查询信息对应的时空编码信息,包括:对所述时空查询信息进行预设类型编码,得到与所述时空查询信息对应的时空编码信息;
其中,所述预设类型编码为对经度和纬度进行编码;或者,
所述预设类型编码为对经度、纬度以及时间进行编码。
15.根据权利要求10或11所述的方法,其特征在于,
所述元数据信息为:最小外包矩形;或者,最小外包矩形和时间区间;
所述获取与所述时空查询信息对应的元数据信息之前,还包括:获取多个最小外包矩形,所述最小外包矩形包括多个经纬度位置组成的位置区域;
其中,与所述时空查询信息对应的最小外包矩形,是所述时空查询信息的经纬度位置所在的最小外包矩形;所述特征数据的最小外包矩形,是所述特征数据的经纬度位置所在的最小外包矩形。
16.根据权利要求15所述的方法,其特征在于,
所述获取多个最小外包矩形,包括:
根据历史数据的经纬度位置将经纬度位置划分成多个最小外包矩形;或者,
根据预配置的划分条件将经纬度位置划分成多个最小外包矩形。
17.一种数据查询装置,其特征在于,应用于计算节点,所述装置包括:
获取模块,用于获取时空查询信息;若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
查询模块,用于根据第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;
所述获取模块,还用于从所述存储空间中获取与所述时空查询信息对应的特征数据。
18.一种计算节点,其特征在于,所述计算节点包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取时空查询信息;
若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据所述第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;
从所述存储空间中获取与所述时空查询信息对应的特征数据。
19.一种机器可读存储介质,其特征在于,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:
获取时空查询信息;
若所述计算节点已建立第一全局索引和第一局部索引,则获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据所述第一全局索引查询与所述元数据信息对应的存储分区,根据所述存储分区的第一局部索引查询与所述时空编码信息对应的存储空间;
从所述存储空间中获取与所述时空查询信息对应的特征数据。
20.一种数据查询装置,其特征在于,应用于存储节点,所述装置包括:
获取模块,用于接收计算节点发送的时空查询信息,并获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
查询模块,用于根据第二全局索引查询与所述元数据信息对应的分片文件,根据所述分片文件的第二局部索引查询与所述时空编码信息对应的索引文件;
所述获取模块,还用于从所述索引文件中获取与所述时空查询信息对应的特征数据;
发送模块,用于将与所述时空查询信息对应的特征数据发送给计算节点。
21.一种存储节点,其特征在于,所述存储节点包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
接收计算节点发送的时空查询信息,并获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据第二全局索引查询与所述元数据信息对应的分片文件,根据所述分片文件的第二局部索引查询与所述时空编码信息对应的索引文件;
从所述索引文件中获取与所述时空查询信息对应的特征数据;
将与所述时空查询信息对应的特征数据发送给所述计算节点。
22.一种机器可读存储介质,其特征在于,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:
接收计算节点发送的时空查询信息,并获取与所述时空查询信息对应的元数据信息、与所述时空查询信息对应的时空编码信息;
根据第二全局索引查询与所述元数据信息对应的分片文件,根据所述分片文件的第二局部索引查询与所述时空编码信息对应的索引文件;
从所述索引文件中获取与所述时空查询信息对应的特征数据;
将与所述时空查询信息对应的特征数据发送给所述计算节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910939921.7A CN112579714A (zh) | 2019-09-30 | 2019-09-30 | 数据查询方法、装置、设备及机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910939921.7A CN112579714A (zh) | 2019-09-30 | 2019-09-30 | 数据查询方法、装置、设备及机器可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579714A true CN112579714A (zh) | 2021-03-30 |
Family
ID=75116159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910939921.7A Pending CN112579714A (zh) | 2019-09-30 | 2019-09-30 | 数据查询方法、装置、设备及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579714A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742350A (zh) * | 2021-09-09 | 2021-12-03 | 北京中安智能信息科技有限公司 | 基于机器学习模型的时空索引构建方法和装置及查询方法 |
CN115809277A (zh) * | 2023-02-06 | 2023-03-17 | 成都智元汇信息技术股份有限公司 | 基于经纬度定位物联设备行政区域的方法 |
CN117033526A (zh) * | 2023-10-09 | 2023-11-10 | 中国地质大学(武汉) | 数据存储方法、数据查询方法、装置、设备及存储介质 |
CN117290617A (zh) * | 2023-08-18 | 2023-12-26 | 中国船舶集团有限公司第七〇九研究所 | 一种海上分布式多源异构时空数据查询方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0443531A2 (en) * | 1990-02-19 | 1991-08-28 | Hitachi, Ltd. | Graphic data searching and storing method |
CN1561600A (zh) * | 2002-04-04 | 2005-01-05 | 连宇通信有限公司 | 一种Rayleigh信道下时空TRELLIS编码方法 |
US20050015216A1 (en) * | 2003-07-18 | 2005-01-20 | V. Kothuri Ravi Kanth | Within-distance query pruning in an R-tree index |
CN104090949A (zh) * | 2014-07-02 | 2014-10-08 | 河海大学 | 面向水利数据整合与共享的索引方法 |
CN105426491A (zh) * | 2015-11-23 | 2016-03-23 | 武汉大学 | 一种时空地理大数据的检索方法及系统 |
CN107423368A (zh) * | 2017-06-29 | 2017-12-01 | 中国测绘科学研究院 | 一种非关系数据库中的时空数据索引方法 |
CN109992636A (zh) * | 2019-03-22 | 2019-07-09 | 中国人民解放军战略支援部队信息工程大学 | 时空编码方法、时空索引及查询方法及装置 |
-
2019
- 2019-09-30 CN CN201910939921.7A patent/CN112579714A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0443531A2 (en) * | 1990-02-19 | 1991-08-28 | Hitachi, Ltd. | Graphic data searching and storing method |
CN1561600A (zh) * | 2002-04-04 | 2005-01-05 | 连宇通信有限公司 | 一种Rayleigh信道下时空TRELLIS编码方法 |
US20050015216A1 (en) * | 2003-07-18 | 2005-01-20 | V. Kothuri Ravi Kanth | Within-distance query pruning in an R-tree index |
CN104090949A (zh) * | 2014-07-02 | 2014-10-08 | 河海大学 | 面向水利数据整合与共享的索引方法 |
CN105426491A (zh) * | 2015-11-23 | 2016-03-23 | 武汉大学 | 一种时空地理大数据的检索方法及系统 |
CN107423368A (zh) * | 2017-06-29 | 2017-12-01 | 中国测绘科学研究院 | 一种非关系数据库中的时空数据索引方法 |
CN109992636A (zh) * | 2019-03-22 | 2019-07-09 | 中国人民解放军战略支援部队信息工程大学 | 时空编码方法、时空索引及查询方法及装置 |
Non-Patent Citations (2)
Title |
---|
付仲良;胡玉龙;翁宝凤;彭瑞;: "M-Quadtree索引:一种基于改进四叉树编码方法的云存储环境下空间索引方法", 测绘学报, no. 11, 15 November 2016 (2016-11-15) * |
李冬;房俊;: "基于HBase的交通数据区域查询方法", 计算机与数字工程, no. 02, 20 February 2017 (2017-02-20) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742350A (zh) * | 2021-09-09 | 2021-12-03 | 北京中安智能信息科技有限公司 | 基于机器学习模型的时空索引构建方法和装置及查询方法 |
CN115809277A (zh) * | 2023-02-06 | 2023-03-17 | 成都智元汇信息技术股份有限公司 | 基于经纬度定位物联设备行政区域的方法 |
CN117290617A (zh) * | 2023-08-18 | 2023-12-26 | 中国船舶集团有限公司第七〇九研究所 | 一种海上分布式多源异构时空数据查询方法及系统 |
CN117290617B (zh) * | 2023-08-18 | 2024-05-10 | 中国船舶集团有限公司第七〇九研究所 | 一种海上分布式多源异构时空数据查询方法及系统 |
CN117033526A (zh) * | 2023-10-09 | 2023-11-10 | 中国地质大学(武汉) | 数据存储方法、数据查询方法、装置、设备及存储介质 |
CN117033526B (zh) * | 2023-10-09 | 2023-12-29 | 中国地质大学(武汉) | 数据存储方法、数据查询方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112579714A (zh) | 数据查询方法、装置、设备及机器可读存储介质 | |
US9683852B2 (en) | Dispatching map matching tasks by a cluster server | |
CN108563923B (zh) | 一种基因变异数据分布式存储方法及系统 | |
US20160378809A1 (en) | Massive time series correlation similarity computation | |
CN110795427B (zh) | 数据分离存储方法、装置、计算机设备和存储介质 | |
CN109983456B (zh) | 存储器内密钥范围搜索方法和系统 | |
CN104809242A (zh) | 一种基于分布式结构的大数据聚类方法和装置 | |
CN104820708A (zh) | 一种基于云计算平台的大数据聚类方法和装置 | |
CN104809244A (zh) | 一种大数据环境下的数据挖掘方法和装置 | |
CN110036381B (zh) | 存储器内数据搜索技术 | |
CN113468199A (zh) | 索引更新方法及系统 | |
CN113961580A (zh) | 数据查询方法、业务系统以及电子设备 | |
US10482085B2 (en) | Methods and systems for estimating the number of points in two-dimensional data | |
US10552419B2 (en) | Method and system for performing an operation using map reduce | |
CN112035413B (zh) | 元数据信息查询方法、装置及存储介质 | |
CN113806466A (zh) | 路径时间查询方法、装置、电子设备和可读存储介质 | |
CN111563080A (zh) | 一种空间数据索引和拓扑方法、装置及存储介质 | |
CN110266834B (zh) | 基于互联网协议地址的地区查找方法及装置 | |
CN115168499B (zh) | 数据库表的分片方法、装置、计算机设备和存储介质 | |
CN112000703A (zh) | 数据入库处理方法、装置、计算机设备和存储介质 | |
CN114296965A (zh) | 特征检索方法、装置、电子设备及计算机存储介质 | |
CN113505276A (zh) | 预计算模型的评分方法、装置、设备和存储介质 | |
US11061876B2 (en) | Fast aggregation on compressed data | |
CN113312331A (zh) | 数据迁移方法、装置、系统、电子设备及计算机可读介质 | |
US11940998B2 (en) | Database compression oriented to combinations of record fields |
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 |