CN104750708A - 一种时空数据的索引建立方法、查询方法、装置及设备 - Google Patents
一种时空数据的索引建立方法、查询方法、装置及设备 Download PDFInfo
- Publication number
- CN104750708A CN104750708A CN201310740491.9A CN201310740491A CN104750708A CN 104750708 A CN104750708 A CN 104750708A CN 201310740491 A CN201310740491 A CN 201310740491A CN 104750708 A CN104750708 A CN 104750708A
- Authority
- CN
- China
- Prior art keywords
- time
- space
- subspace
- node
- timeslice
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种时空数据的索引建立方法、查询方法、装置及设备,将预设时间范围作为根节点生成多级时间索引树;并将预设空间范围作为根节点生成多级空间索引树;分别将每个时间片叶子节点与每个子空间叶子节点映射一个时空文件,其中,时空文件用于存储与该时空文件具有映射关系的时间片叶子节点表征的时间片及子空间叶子节点表征的子空间对应的时空数据。基于本发明实施例提供的时空数据的索引建立方法,建立的时空数据索引,在查找时空数据时,提高了查询效率。本发明涉及计算机技术领域。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种时空数据的索引建立方法、查询方法、装置及设备。
背景技术
随着移动网络的爆炸式增长和移动智能设备的广泛应用,移动用户的时空数据(又称为用户时空分布数据)成为一种重要的大数据来源。例如,用户的时空数据可以为由GPS服务记录的该用户在不同的时空移动时,产生的有关移动轨迹的时间和空间的数据,又例如,用户使用移动网络时,基站记录的移动宽带(MBB,Mobile Broadband)数据中也含有大量用户的时空数据。
一个中等规模的城市中用户数量通常在200万以上,道路网络上的关键地点数量通常在10万以上,数据采样的时间间隔一般为数秒至数分钟,因此,产生的时空数据的数量级会达到PB甚至EB。那么,在对这些时空数据进行查找时,如何合理地建立索引,使得能够快速地查找到所需的时空数据成为亟待解决的问题。
现有技术中,针对时空数据的索引建立,主要包括如下步骤:
步骤1:将待划分空间范围划分成多个子空间。
步骤2:将步骤1中二维的待划分空间范围转化成一维的编码数据。
本步骤中,将步骤1中划分得到的多个子空间按某种顺序(例如:z-curve)进行编码。编码策略为尽量使位置上相邻的子空间的编码相邻。但是,尽管按照这样的策略进行编码,仍不能保证相邻的子空间编码一定相邻。有些子空间编码虽然相邻,但是实际的位置却相差甚远。
步骤3:将步骤2中得到的一维的编码数据按照传统的平衡树索引等方法建立空间平衡索引树,其中,每个叶子节点记录了该叶子节点编码对应的子空间相关的时空数据的存储位置。
步骤4:将待划分时间范围按照传统的平衡树索引等方法建立时间平衡索引树,其中,每个叶子节点记录了该叶子节点对应的时间相关的时空数据的存储位置。
进一步地,基于现有技术中的上述索引建立方法,建立的时空轨迹数据的索引,在查找时空数据时,主要的步骤包括如下步骤:
步骤1:根据用户输入的空间查询条件,确定出满足空间查询条件的各子空间对应的所有编码。从空间平衡索引树中查找确定出的编码对应的节点,从而得到满足空间查询空间的时空数据的存储位置。
本步骤中,由于对待划分空间范围划分的子空间进行编码时,无法保证相邻子空间的编码一定相邻,因此,本步骤中查找到的时空数据可能存在冗余数据。
步骤2:根据用户输入的时间查询条件,从时间平衡索引树中查找对应的节点,从而得到满足时间查询空间的时空数据的存储位置。
步骤3:从步骤1得到的时空数据和步骤2得到的时空数据中,确定具有交集的时空数据,并作为查询结果。
可见现有技术中建立时空数据索引的方法,使得在查找时空数据时需要先计算空间编码,并根据时间和空间分别进行对应时空数据的查找,再将查找到的时空数据汇总,得到查找结果。这样经过二次索引,降低了查找效率。
发明内容
本发明实施例提供了一种时空数据的索引建立方法、查询方法、装置及设备,用以解决基于现有技术中建立的时空数据索引查找时空数据时效率低的问题。
第一方面,提供一种时空数据的索引建立方法,包括:
将预设时间范围作为根节点生成多级时间索引树;其中,所述多级时间索引树包含多个时间片节点,且越靠近根节点的时间片节点表征的时间片越长;并
将预设空间范围作为根节点生成多级空间索引树;其中,所述多级空间索引树包含多个子空间节点,且越靠近根节点的子空间节点表征的子空间越大;
分别将每个时间片叶子节点与每个子空间叶子节点映射一个时空文件;其中,所述时空文件用于存储与该时空文件具有映射关系的时间片叶子节点表征的时间片及子空间叶子节点表征的子空间对应的时空数据。
结合第一方面,在第一种可能的实现方式中,分别将每个时间片叶子节点与每个子空间叶子节点映射一个时空文件,具体包括:分别确定每个时间片叶子节点的标识,以及每个子空间叶子节点的标识;采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果;并将得到的散列结果确定为时空文件的标识,其中,所述时空文件为该散列结果对应的时间片叶子节点所表征的时间片,以及子空间叶子节点所表征的子空间映射的时空文件。
结合第一方面,或者结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:向所述时空文件中存储待存储的时空数据。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,向所述时空文件中存储待存储的时空数据,具体包括:基于预设类目的预设排序方式,确定所述待存储的时空数据的存储顺序;按照确定的存储顺序,将该时空文件中属于同一类目且具有相同数据格式的待存储的时空数据,采用第一算法进行编码压缩存储;并将该时空文件中属于同一类目且具有相同数值的待存储的时空数据,采用第二算法进行编码压缩存储,并使存储后的待存储的时空数据符合预设分布式查询运算结构。
结合第一方面,或者结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,将预设时间范围作为根节点,采用如下方法生成多级时间索引树:将所述预设时间范围划分为长度相同的预设数量个子时间片,并循环执行如下步骤,直到当前得到的子时间片长度等于所述时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并将所述当前得到的子时间片进一步划分为长度相同的预设数量个子时间片;或者根据所述预设时间范围内,产生的时空数据在所述预设时间范围内的分布,将所述预设时间范围划分为长短不同的子时间片,并循环执行如下步骤,直到当前得到的子时间片长度符合所述时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并根据所述当前得到的子时间片内,产生的时空数据在所述当前得到的子时间片内的分布,将所述当前得到的子时间片进一步划分为长短不同的子时间片,其中,在所述当前得到的子时间片内,时空数据分布越密集的时间段划分成的子时间片越多。
结合第一方面,或者结合第一方面的第一种可能的实现方式,在第五种可能的实现方式中,将预设空间范围作为根节点,采用如下方法生成多级空间索引树:将所述预设空间范围划分为长度相同的预设数量个子空间,并循环执行如下步骤,直到当前得到的子空间大小等于所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并将所述当前得到的子空间进一步划分为长度相同的预设数量个子空间;或者根据所述预设空间范围内,产生的时空数据在所述预设空间范围内的分布,将所述预设空间范围划分为大小不同的子空间,并循环执行如下步骤,直到当前得到的子空间大小符合所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并根据所述当前得到的子空间内,产生的时空数据在所述当前得到的子空间内的分布,将所述当前得到的子空间进一步划分为大小不同的子空间,其中,在所述当前得到的子空间内,时空数据分布越密集的空间划分成的子空间越多。
第二方面,提供一种时空数据查询方法,包括:
确定时间查询条件在多级时间索引树中对应的时间片节点,以及空间查询条件在多级空间索引树中对应的子空间节点;
分别确定以确定的时间片节点为根节点的时间索引子树的所有时间片叶子节点,以及以确定的子空间节点为根节点的空间索引子树的所有子空间叶子节点;
在确定的每个时间片叶子节点与每个子空间叶子节点映射的时空文件存储的时空数据中,确定查询结果。
结合第二方面,在第一种可能的实现方式中,在确定的每个时间片叶子节点与每个子空间叶子节点映射的时空文件中存储的时空数据中,确定查询结果,具体包括:分别确定所述确定的每个时间片叶子节点的标识,及每个子空间叶子节点的标识;采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果;根据生成的散列结果,确定所述散列结果标识的时空文件的存储位置;并在根据所述存储位置确定的时空文件存储的时空数据中,确定查询结果。
结合第二方面,或者结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,当查询条件中还包括除所述时间查询条件和所述空间查询条件之外的其他查询条件,且所述时空文件中存储的数据符合预设分布式查询运算结构时,在所述时空文件存储的时空数据中,确定查询结果,具体包括:根据所述时空文件存储的时空数据的数据量,以及所述预设分布式查询运算结构,为所述时空文件启动对应数量的解析进程;根据所述其他查询条件,使所述对应数量的解析进程并行对所述时空文件中存储的时空数据进行解析,得到符合所述其他查询条件的解析结果;将得到的所述解析结果汇总,并确定为查询结果。
第三方面,提供一种时空数据的索引建立装置,包括:
第一生成模块,用于将预设时间范围作为根节点生成多级时间索引树;其中,所述多级时间索引树包含多个时间片节点,且越靠近根节点的时间片节点表征的时间片越长;
第二生成模块,用于将预设空间范围作为根节点生成多级空间索引树;其中,所述多级空间索引树包含多个子空间节点,且越靠近根节点的子空间节点表征的子空间越大;
映射模块,用于分别将所述第一生成模块生成的多级时间索引树的每个时间片叶子节点与所述第二生成模块生成的多级空间索引树的每个子空间叶子节点映射一个时空文件;其中,所述时空文件用于存储与该时空文件具有映射关系的时间片叶子节点表征的时间片及子空间叶子节点表征的子空间对应的时空数据。
结合第三方面,在第一种可能的实现方式中,所述映射模块,具体用于分别确定每个时间片叶子节点的标识,以及每个子空间叶子节点的标识;采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果;并将得到的散列结果确定为时空文件的标识,其中,所述时空文件为该散列结果对应的时间片叶子节点所表征的时间片,以及子空间叶子节点所表征的子空间映射的时空文件。
结合第三方面,或者结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:存储模块;所述存储模块,用于向所述时空文件中存储待存储的时空数据。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述存储模块,具体用于基于预设类目的预设排序方式,确定所述待存储的时空数据的存储顺序;按照确定的存储顺序,将该时空文件中属于同一类目且具有相同数据格式的待存储的时空数据,采用第一算法进行编码压缩存储;并将该时空文件中属于同一类目且具有相同数值的待存储的时空数据,采用第二算法进行编码压缩存储,并使存储后的待存储的时空数据符合预设分布式查询运算结构。
结合第三方面,或者结合第三方面的第一种可能的实现方式,在第四种可能的实现方式中,所述第一生成模块,具体用于将预设时间范围作为根节点,采用如下方法生成多级时间索引树:将所述预设时间范围划分为长度相同的预设数量个子时间片,并循环执行如下步骤,直到当前得到的子时间片长度等于所述时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并将所述当前得到的子时间片进一步划分为长度相同的预设数量个子时间片;或者根据所述预设时间范围内,产生的时空数据在所述预设时间范围内的分布,将所述预设时间范围划分为长短不同的子时间片,并循环执行如下步骤,直到当前得到的子时间片长度符合所述时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并根据所述当前得到的子时间片内,产生的时空数据在所述当前得到的子时间片内的分布,将所述当前得到的子时间片进一步划分为长短不同的子时间片,其中,在所述当前得到的子时间片内,时空数据分布越密集的时间段划分成的子时间片越多。
结合第三方面,或者结合第三方面的第一种可能的实现方式,在第五种可能的实现方式中,所述第二生成模块,具体用于将预设空间范围作为根节点,采用如下方法生成多级空间索引树:将所述预设空间范围划分为长度相同的预设数量个子空间,并循环执行如下步骤,直到当前得到的子空间大小等于所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并将所述当前得到的子空间进一步划分为长度相同的预设数量个子空间;或者根据所述预设空间范围内,产生的时空数据在所述预设空间范围内的分布,将所述预设空间范围划分为大小不同的子空间,并循环执行如下步骤,直到当前得到的子空间大小符合所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并根据所述当前得到的子空间内,产生的时空数据在所述当前得到的子空间内的分布,将所述当前得到的子空间进一步划分为大小不同的子空间,其中,在所述当前得到的子空间内,时空数据分布越密集的空间划分成的子空间越多。
第四方面,提供一种时空数据查询装置,包括:
节点确定模块,用于确定时间查询条件在多级时间索引树中对应的时间片节点,以及空间查询条件在多级空间索引树中对应的子空间节点;
叶子节点确定模块,用于分别确定以所述节点确定模块确定的时间片节点为根节点的时间索引子树的所有时间片叶子节点,以及以所述节点确定模块确定的子空间节点为根节点的空间索引子树的所有子空间叶子节点;
查询结果确定模块,用于在确定的每个时间片叶子节点与每个子空间叶子节点映射的时空文件存储的时空数据中,确定查询结果。
结合第四方面,在第一种可能的实现方式中,所述查询结果确定模块,具体用于分别确定所述确定的每个时间片叶子节点的标识,及每个子空间叶子节点的标识;采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果;根据生成的散列结果,确定所述散列结果标识的时空文件的存储位置;并在根据所述存储位置确定的时空文件存储的时空数据中,确定查询结果。
结合第四方面,或者结合第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述查询结果确定模块,具体用于当查询条件中还包括除所述时间查询条件和所述空间查询条件之外的其他查询条件,且所述时空文件中存储的数据符合预设分布式查询运算结构时,根据所述时空文件存储的时空数据的数据量,以及所述预设分布式查询运算结构,为所述时空文件启动对应数量的解析进程;根据所述其他查询条件,使所述对应数量的解析进程并行对所述时空文件中存储的时空数据进行解析,得到符合所述其他查询条件的解析结果;将得到的所述解析结果汇总,并确定为查询结果。
第五方面,提供一种时空数据的索引建立设备,包括:上述时空数据的索引建立装置。
第六方面,提供一种时空数据查询设备,包括:上述时空数据查询装置。
本发明实施例的有益效果包括:
本发明实施例提供的一种时空数据的索引建立方法中,将预设时间范围作为根节点,根据预设时间规则生成多级时间索引树;并将预设空间范围作为根节点,根据预设空间规则生成多级空间索引树;分别将每个时间片叶子节点与每个子空间叶子节点映射一个时空文件,其中,时空文件用于存储与该时空文件具有映射关系的时间片叶子节点表征的时间片及子空间叶子节点表征的子空间对应的时空数据。相应地,本发明实施例提供的基于上述一种时空数据的索引建立方法的时空数据查询方法,包括:确定时间查询条件在多级时间索引树中对应的时间片节点,以及空间查询条件在多级空间索引树中对应的子空间节点;分别确定以确定的时间片节点为根节点的时间索引子树的所有时间片叶子节点,以及以确定的子空间节点为根节点的空间索引子树的所有子空间叶子节点;在确定的每个时间片叶子节点与每个子空间叶子节点映射的时空文件存储的时空数据中,确定查询结果。可见,基于本发明实施例提供的时空数据的索引建立方法,建立的时空数据索引,在查找时空数据时,可以对时间查询条件和空间查询条件进行并行查询,并根据查询到的子空间叶子节点和时间片叶子节点,对需要查询的时空数据直接索引,与现有技术中通过二次索引技术查询时空数据相比,提高了查询效率。
附图说明
图1为本发明实施例提供的一种时空数据的索引建立方法的流程图;
图2为本发明实施例提供的一种时空数据查询方法的流程图;
图3为本发明实施例1提供的一种时空数据的索引建立方法的流程图;
图4a-图4b为本发明实施例提供的时空数据在时空文件中存储方式的示意图;
图5为本发明实施例2提供的一种时空数据的索引建立方法的流程图;
图6a-图6b为本发明实施例提供的对预设空间范围以及后续得到的子空间进行划分示意图;
图7为本发明实施例3提供的一种时空数据查询方法的流程图;
图8为本发明实施例4提供的一种时空数据查询方法的流程图;
图9为本发明实施例提供的一种时空数据的索引建立装置的结构示意图;
图10为本发明实施例提供的一种时空数据查询装置的结构示意图。
具体实施方式
本发明实施例提供了一种时空数据的索引建立方法、查询方法、装置及设备,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例提供一种时空数据的索引建立方法,如图1所示,包括如下步骤:
S101、将预设时间范围作为根节点生成多级时间索引树;其中,多级时间索引树包含多个时间片节点,且越靠近根节点的时间片节点表征的时间片越长。
S102、将预设空间范围作为根节点生成多级空间索引树;其中,多级空间索引树包含多个子空间节点,且越靠近根节点的子空间节点表征的子空间越大。
S103、分别将每个时间片叶子节点与每个子空间叶子节点映射一个时空文件,其中,时空文件用于存储与该时空文件具有映射关系的时间片叶子节点表征的时间片及子空间叶子节点表征的子空间对应的时空数据。
进一步地,上述步骤S101和S102没有严格的执行顺序。步骤S103中,针对每个时间片叶子节点,将该时间片叶子节点分别与每个子空间叶子节点映射一个时空文件,或者针对每个子空间叶子节点,将该子空间叶子节点分别与每个时间片叶子节点映射一个时空文件。
相应的,基于上述时空数据的索引建立方法,本发明实施例还提供一种时空数据查询方法,如图2所示,包括如下步骤:
S201、确定时间查询条件在多级时间索引树中对应的时间片节点,以及空间查询条件在多级空间索引树中对应的子空间节点。
S202、分别确定以确定的时间片节点为根节点的时间索引子树的所有时间片叶子节点,以及以确定的子空间节点为根节点的空间索引子树的所有子空间叶子节点。
S203、在确定的每个时间片叶子节点与每个子空间叶子节点映射的时空文件存储的时空数据中,确定查询结果。
下面结合附图,用具体实施例对本发明提供的方法及相关设备进行详细描述。
实施例1:
本发明实施例1中,提供了一种时空数据的索引建立方法,如图3所示,具体包括如下步骤:
S301、将预设时间范围作为根节点生成多级时间索引树;其中,多级时间索引树包含多个时间片节点,且越靠近根节点的时间片节点表征的时间片越长。
本步骤中,生成的多级时间索引树由根节点、时间片叶子节点、以及位于根节点和时间片叶子节点之间的时间片节点构成,其中,根节点表征预设时间范围,时间片叶子节点表征划分得最小的、无法再划分的时间范围,位于根节点和时间片叶子节点之间的时间片节点表征的时间范围小于预设时间范围且大于时间片叶子节点表征的时间范围、且越靠近根节点的时间片节点表征的时间范围越长。
进一步地,本步骤中在生成多级时间索引树时,可以根据预设时间规则进行划分,例如:将每个时间片节点表征的时间范围平均分,作为该时间片节点的子节点等。
S302、将预设空间范围作为根节点生成多级空间索引树;其中,多级空间索引树包含多个子空间节点,且越靠近根节点的子空间节点表征的子空间越大。
本步骤中,生成的多级空间索引树由根节点、子空间叶子节点、以及位于根节点和子空间叶子节点之间的子空间节点构成,其中,根节点表征预设空间范围,子空间叶子节点表征划分得最小的、无法再划分的空间范围,位于根节点和子空间叶子节点之间的子空间节点表征的空间范围小于预设空间范围且大于子空间叶子节点表征的空间范围、且越靠近根节点的子空间节点表征的空间范围越大。
进一步地,本步骤中在生成多级空间索引树时,可以根据预设空间规则进行划分,例如:将每个子空间节点表征的空间范围平均分,作为该子空间节点的子节点等。
进一步地,步骤S302与步骤S301的执行没有严格的先后顺序。
S303、分别确定每个时间片叶子节点的标识,以及每个子空间叶子节点的标识。
进一步地,本步骤中,可以为多级时间索引树的每个叶子节点设置节点标识,以及为多级空间索引树的每个叶子节点设置节点标识。
S304、采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果。
进一步地,本步骤中,可以设计某种散列函数,将时间片叶子节点的标识及子空间叶子节点的标识作为该散列函数的输入,得到散列函数的输出。
本步骤中可以针对每个时间片叶子节点,采用预设散列算法,使该时间片叶子节点的标识分别与每个子空间叶子节点的标识生成一个散列结果,或者针对每个子空间叶子节点,采用预设散列算法,使该子空间叶子节点的标识分别与每个时间片叶子节点的标识生成一个散列结果。
S305、将得到的散列结果确定为时空文件的标识,其中,所述时空文件为该散列结果对应的时间片叶子节点所述表征的时间片,以及子空间叶子节点所述表征的子空间映射的时空文件。
进一步地,本步骤中,可以将散列函数的输出作为时空文件的标识,该时空文件用于存储与散列函数的输入对应的时间片和子空间对应的时空数据。下面举例说明:
例如,散列函数为:id=Tid×C+hash(Sid)%k,其中,id表示时空文件的标识,Tid表示时间片叶子节点的标识,Sid表示子空间叶子节点的标识,C和k为常数。id所标识的时空文件,可以用于存储Tid所标识的时间片叶子节点表征的时间片,以及Sid所标识的子空间叶子节点表征的子空间对应的时空数据。
进一步地,本实施例还可以包括S306、向时空文件中存储待存储的时空数据的步骤。
本步骤中,步骤S306与上述步骤S301-S305的执行没有严格的先后顺序。
本步骤中,可以将时空文件存储在分布式文件系统中,以实现时空数据的分布式存储。现有技术中,对于子空间和时间片相关时空数据的存储是离散的,也就是说,可以将子空间和时间片的相关时空数据离散地存储在同一个文件中,也可以离散地存储在不同的文件中。针对这种存储方式,在进行时空数据查找时,即使在二次索引的平衡索引树中,查找到与时间查询条件和空间查询对应的子空间和时间片,以及该子空间和时间片对应的时空数据的存储位置,由于时空数据存储的离散性,邻近子空间的相关数据或者邻近时间片的相关数据并没有存储在一起,不但减慢了查找时空数据的速度,并且在对时空数据进行存储时不易压缩,浪费存储空间。
针对上述问题,步骤S306可以具体包括如下步骤:
步骤1、基于预设类目的预设排序方式,确定所述待存储的时空数据的存储顺序。
步骤2、按照确定的存储顺序,将该时空文件中属于同一类目且具有相同数据格式的待存储的时空数据,采用第一算法进行编码压缩存储。
步骤3、将该时空文件中属于同一类目且具有相同数值的待存储时空数据,采用第二算法进行编码压缩存储,并使存储后的待存储的时空数据符合预设分布式查询运算结构。
进一步地,步骤2中的第一算法可以为delta算法,步骤3中的第二算法可以为run-length算法。步骤2与步骤3的执行没有严格的先后顺序。
进一步地,时空数据通常可以用{用户id,子空间id、时间片id,属性1,…属性n}的形式存储。该存储形式中包含多个类目,其中,类目用户id表征在子空间id和时间片id表征的子空间和时间片内活动的用户。采用本发明实施例提供的时空数据存储方式进行存储时,可以依照如下规则:
首先,基于预设类目的预设排序方式,确定待存储的时空数据的存储顺序。
例如,可以将用户id作为预设类目,将用户id从大到小或者从小到大的顺序作为预设类目的预设排序方式,也就是说,可以按照用户id从大到小或者从小到大的顺序存储待存储的时空数据。
其次,按照确定的存储顺序,将时空文件中属于同一类目且具有相同数据格式的待存储的时空数据,采用delta算法进行编码压缩存储,将该时空文件中属于同一类目且具有相同数值的待存储的时空数据,采用run-length算法进行编码压缩存储。
也就是说,可以使用列存储技术存储时空数据,将相同列的数据(即相同类目的数据)存储在一起。因为位于相同的数据列中的数据具有相同的数据格式,按列进行存储存在很大的压缩空间。例如,原始的Unix时间戳需要按照64位的长整形数据进行存储,由于存储在一个文件中的数据其存储时间是邻近的,存储了一个时间点之后,后面的记录只需要存储与自身邻近的上一个时间点记录的4位差值即可,这样就实现了delta编码压缩。
对时空数据的存储也是同样的道理,以位于子空间id列的子空间数据为例,存储在同一个时空文件中的子空间数据为多级空间索引树的一个子空间叶子节点表征的子空间的相关数据。可以通过该子空间的经纬度信息对该子空间的数据进行存储,又由于同一个子空间叶子节点表征的子空间的子空间数据都很接近,因此也可以通过delta编码实现压缩存储。
进一步地,由于经纬度信息为浮点类型数据,而delta编码对于经纬度等浮点类型的数据并没有压缩效果,因此,可以首先将浮点类型数据转换为长整型数据,再利用delta编码压缩。转换的具体方法可以为:假设该列数据的最高精度为小数点后m位,则将该列所有数据的小数点右移m位,即乘以10的m次方,再将该列数据的类型转换为长整型。
进一步地,针对时空文件中属于同一类目且具有相同数值的待存储的时空数据,可以采用run-length算法进行编码压缩存储。例如,假设属性1类目存储的是应用程序编号信息,那么,对于存储在该列中相邻位置的相同编号的记录:连续5个编号均为3,则可以通过run-length编码的方式实现压缩,即存储为5:3。
进一步地,经过上述基于列的压缩存储对时空数据存储之后,还可以对整个时空文件采用通用压缩技术如gzip进一步进行压缩,以达到更好的压缩效果,节约存储空间。而现有技术中通过二次索引的方式查找时空数据,很难支持分布式运算。
下面举例说明:
图4a-图4b为时空数据在时空文件中存储的示意图,图4a为时空文件中按照用户id从小到大顺序组织的时空数据,该时空文件中包括的类目有:用户id、时间id、空间id、属性1和属性2。图4b为按照本发明实施例提供的时空数据组织方式对时空数据进行压缩存储后,在存储块中的存储形式示意图。其中,存储块401中,存储了指针p1,指针p1用于指示用户id为105的用户的相关数据的存储位置,存储块402中,存储了指针p2,指针p2用于指示用户id为203的用户的相关数据的存储位置,在指针p1指示的存储位置,又存储了用户id为105的用户的相关时间信息指针p3、空间信息指针p4、属性1信息指针p5,以及属性2信息指针p6,在指针p2指示的存储位置,又存储了用户id为203的用户的相关时间信息指针p7、空间信息指针p8、属性1信息指针p9,以及属性2信息指针p10,各指针分别指示对应数据的存储位置。对于用户id为105的用户的属性2列的数据(由指针p6指示)“1,0,0,0”可以采用run-length算法进行编码压缩存储,其中,“1:1”表示1个数值为1的数据,“0:3”表示3个数值为0的数据,对于用户id为203的用户的属性1列的数据(由指针p9指示)“46,51,42”可以采用delta算法进行编码压缩存储,其中,“5”表示与46相邻的数据与46之间的差值为5,“-9”表示与51相邻的数据与51之间的差值为-9。
实施例2:
本发明实施例2中,提供了一种时空数据的索引建立方法,如图5所示,具体包括如下步骤:
S501、将预设时间范围作为根节点,采用如下方法生成多级时间索引树:
将预设时间范围划分为长度相同的预设数量个子时间片,并循环执行如下步骤,直到当前得到的子时间片长度等于所述时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并将当前得到的子时间片进一步划分为长度相同的预设数量个子时间片;或者
根据预设时间范围内,产生的时空数据在预设时间范围内的分布,将预设时间范围划分为长短不同的子时间片,并循环执行如下步骤,直到当前得到的子时间片长度符合时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并根据当前得到的子时间片内,产生的时空数据在当前得到的子时间片内的分布,将当前得到的子时间片进一步划分为长短不同的子时间片,其中,在当前得到的子时间片内,时空数据分布越密集的时间段划分成的子时间片越多。
进一步地,本步骤中,可以采用二叉树、R树等数据结构对生成的多级时间索引树进行存储。
在对预设时间范围以及后续得到的子时间片进行划分时,可以采用等分的方式。例如:假设预设时间范围为0-10000,并将0-10000作为多级时间索引树的根节点,可以将0-10000平均分为两个部分,即0-5000和5000-10000,并将0-5000和5000-10000作为0-10000的两个子节点,再分别针对0-5000和5000-10000进行等分。直到划分到不可再划分的叶子节点。
还可以采用不等分的方式。例如:假设预设时间范围为0-24(单位为小时),根据统计数据,0-7以及22-24的时间片内时空数据分布较少,那么,在建立多级时间索引树时,可以将0-24划分为0-7、7-10、10-13、13-16、16-19、19-22,并将划分得到的各时间片作为根节点0-24的子节点,再进一步对生成的各子时间片进行划分,以子节点19-22为例,根据统计数据,21-22的时间片内时空数据分布较少,那么,在对子节点19-22进行划分时,可以划分为19-19.5,19.5-20,20-20.5,20.5-21,21-22。直到划分到不可再划分的叶子节点,例如,预先规定叶子节点表征的时间片长度不小于0.5,那么当划分的某一级子节点表征的时间片长度为0.5时,不再对该子节点进行进一步划分,将该子节点作为叶子节点。
进一步地,还可以根据用户进行时空数据查询时,输入的查询条件的频度进行多级时间索引树的各级索引的划分。
S502、将预设空间范围作为根节点,采用如下方法生成多级空间索引树:
将预设空间范围划分为长度相同的预设数量个子空间,并循环执行如下步骤,直到当前得到的子空间大小等于所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并将当前得到的子空间进一步划分为长度相同的预设数量个子空间;或者
根据预设空间范围内,产生的时空数据在预设空间范围内的分布,将预设空间范围划分为大小不同的子空间,并循环执行如下步骤,直到当前得到的子空间大小符合所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并根据当前得到的子空间内,产生的时空数据在当前得到的子空间内的分布,将当前得到的子空间进一步划分为大小不同的子空间,其中,在当前得到的子空间内,时空数据分布越密集的空间划分成的子空间越多。
进一步地,本步骤中,可以采用二叉树、四叉树、R树等数据结构对生成的多级空间索引树进行存储。
以四叉树存储多级空间索引树为例,图6a为采用等分的方式对预设空间范围以及后续得到的子空间进行划分示意图。如图6a所示,将预设空间范围601作为四叉树的根节点,并将预设空间范围601四等分,得到四个大小相等的子空间602,作为根节点的子节点,进一步地,对每个子空间602四等分,分别得到四个大小相等的子空间603,并作为对应子节点的子节点,以此类推,直到划分到不可再划分的叶子节点。
图6b为采用不等分的方式对预设空间范围以及后续得到的子空间进行划分示意图。如图6b所示,根据预设空间范围604内产生的时空数据在预设空间范围604内的分布,由于预设空间范围604内左半部分的时空数据分布比右半部分的时空数据分布密集,将预设空间范围604的左半部分划分成的子空间数量多于右半部分,即划分为大小不同的3个子空间:605、606、和607,并作为预设空间范围604的子节点。针对得到的三个子节点,根据同样的划分原则进一步进行划分,直到划分到不可再划分的叶子节点,例如,预先规定叶子节点表征的子空间大小不小于3平米,那么当划分的某一级子节点表征的子空间大小为3平米时,不再对该子节点进行进一步划分,将该子节点作为叶子节点。
进一步地,还可以根据用户进行时空数据查询时,输入的查询条件的频度进行多级空间索引树的各级索引的划分。
S503、分别为每个时间片叶子节点与每个子空间叶子节点映射一个时空文件,其中,时空文件用于存储与该时空文件具有映射关系的时间片叶子节点表征的时间片及子空间叶子节点表征的子空间对应的时空数据。
实施例3:
本发明实施例3中,提供了基于本发明实施例提供的一种时空数据查询方法,该时空数据查询方法可以基于上述实施例提供的时空数据的索引建立方法,如图7所示,具体包括如下步骤:
S701、确定时间查询条件在多级时间索引树中对应的时间片节点,以及空间查询条件在多级空间索引树中对应的子空间节点。
进一步地,本步骤中,用户输入的时间查询条件可以与多级时间索引树中的任一节点对应,例如,用户输入时间查询条件可以与整个预设时间范围对应,也可以与一个或多个时间片叶子节点对应。
同理,用户输入的空间查询条件可以与多级空间索引树中的任一节点对应,例如,用户输入空间查询条件可以与整个预设空间范围对应,也可以与一个或多个子空间叶子节点对应。
进一步地,本本步骤中,可以根据时间查询条件和空间查询条件,并行在多级时间索引树和多级空间索引树中进行查找,节约查找时间。
S702、分别确定以确定的时间片节点为根节点的时间索引子树的所有时间片叶子节点,以及以确定的子空间节点为根节点的空间索引子树的所有子空间叶子节点。
本步骤中,当时间查询条件与多级时间索引树中的某时间片叶子节点对应时,可以将该时间片叶子节点确定为本步骤要确定的时间片叶子节点;同理,当空间查询条件与多级空间索引树的某子空间叶子节点对应时,可以将该子空间叶子节点确定为本步骤要确定的子空间叶子节点;
当时间查询条件与多级时间索引树中的某时间片非叶子节点对应时,确定以该时间片非叶子节点为根节点的时间索引子树的所有时间片叶子节点;同理,当空间查询条件与多级空间索引树中的某子空间非叶子节点对应时,确定以该子空间非叶子节点为根节点的空间索引子树的所有子空间叶子节点。
S703、分别确定S702中确定的每个时间片叶子节点的标识,及每个子空间叶子节点的标识。
S704、采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果。
本步骤中可以针对每个时间片叶子节点,采用预设散列算法,使该时间片叶子节点的标识分别与每个子空间叶子节点的标识生成一个散列结果,或者针对每个子空间叶子节点,采用预设散列算法,使该子空间叶子节点的标识分别与每个时间片叶子节点的标识生成一个散列结果。
本步骤中,预设散列算法为与建立时空数据索引时使用采用的预设散列算法对应。
S705、根据生成的散列结果,确定该散列结果标识的时空文件的存储位置。
S706、在根据S705中确定的存储位置确定的时空文件存储的时空数据中,确定查询结果。
本实施例中,通过多级空间索引树的查找直接定位到符合空间查询条件的子空间,通过多级时间索引树的查找,直接定位到符合时空查询条件的时间片,再根据子空间和时间片查找到与该子空间和时间片相关的时空文件,与现有技术中,现将二维的待划分空间范围转换成一维编码数据,在查找时,将查找到的一维编码数据转换成二维空间相比,不会产生冗余时空数据,在对时空数据进行解析时,节省时间,提高了查找速度。
实施例4:
本发明实施例4中,提供了基于本发明实施例提供的时空数据的索引建立方法的时空数据查询方法,如图8所示,具体包括如下步骤:
S801、确定时间查询条件在多级时间索引树中对应的时间片节点,以及空间查询条件在多级空间索引树中对应的子空间节点。
S802、分别确定以确定的时间片节点为根节点的时间索引子树的所有时间片叶子节点,以及以确定的子空间节点为根节点的空间索引子树的所有子空间叶子节点。
S803、分别确定S802中确定的每个时间片叶子节点的标识,及每个子空间叶子节点的标识。
S804、采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果。
S805、根据生成的散列结果,确定该散列结果标识的时空文件的存储位置。
S806、当查询条件中还包括除上述时间查询条件和上述空间查询条件之外的其他查询条件,且上述时空文件中存储的数据符合预设分布式查询运算结构时,根据上述时空文件存储的时空数据的数据量,以及上述预设分布式查询运算结构,为时空文件启动对应数量的解析进程。
进一步地,时空数据通常可以用{用户id,子空间id、时间片id,属性1,…属性n}的形式存储,针对这种存储形式的时空数据进行查询时,可以为针对某用户的时空约束查询,也可以为针对多个属性的时空约束的聚合查询。
例如,“查询用户A在时间范围[t1,t2]和空间范围[(x1,y1),r]中的轨迹,其中,空间范围[(x1,y1),r]为以(x1,y1)为圆心,以r为半径的空间范围”为一种针对某用户的时空约束查询;“查询所有用户在时间范围[t1,t2]和空间范围[(x1,y1),r]中的使用手机应用程序的分布”为一种时空约束的聚合查询。这两类查询都需要对时间和空间信息的索引。
当查询条件中仅包括时间查询条件和空间查询条件时,可以将确定的时空文件中存储的全部时空数据,确定为查询结果;当查询条件中还包括除上述时间查询条件和上述空间查询条件之外的其他查询条件时,还需要对确定的时空文件进行进一步解析,获取符合该其他查询条件的数据。当时空文件存储的时空数据量很大时,对时空文件的解析会非常耗时,使得查询速度减慢。本发明实施例中,在对时空数据进行存储时,将时空文件存储在分布式文件系统中,并实现了时空数据的分布式存储,使时空文件中存储的数据符合预设分布式查询运算结构,因此,在进行时空文件解析时,可以根据时空文件存储的时空数据的数据量,以及预设分布式查询运算结构,为时空文件启动对应数量的解析进程。
S807、根据上述其他查询条件,使对应数量的解析进程并行对时空文件中存储的时空数据进行解析,得到符合上述其他查询条件的解析结果。
本步骤中,可以根据时空文件中存储的时空数据的数据量,将时空数据拆分成多个部分,并为每个部分启动一个解析进程,并行对时空数据进行解析。这种分布式存储方式能够使得对时空数据进行查询时,使用相应的分布式查询,提高查询速度。
例如,假设将时空文件存储在(HDFS,Hadoop Distributed File System)文件系统中,可以为待解析的时空文件启动(MR,MapReduce)进程,对时空文件存储的时空数据进行分布式计算,加快了查询速度。
S808、将S807中得到的解析结果汇总,并确定为查询结果。
本步骤中,将分布式文件系统中多个解析进程解析得到的解析结果进行汇总,将汇总的解析结果确定为最终查询结果并反馈给用户。
基于同一发明构思,本发明实施例还提供了一种装置及设备,由于这些装置和设备所解决问题的原理与前述一种时空数据的索引建立方法或者一种时空数据查询方法相似,因此该装置和设备的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种时空数据的索引建立装置,如图9所示,包括如下模块:
第一生成模块901,用于将预设时间范围作为根节点生成多级时间索引树;其中,所述多级时间索引树包含多个时间片节点,且越靠近根节点的时间片节点表征的时间片越长;
第二生成模块902,用于将预设空间范围作为根节点生成多级空间索引树;其中,所述多级空间索引树包含多个子空间节点,且越靠近根节点的子空间节点表征的子空间越大;
映射模块903,用于分别将所述第一生成模块901生成的多级时间索引树的每个时间片叶子节点与所述第二生成模块902生成的多级空间索引树的每个子空间叶子节点映射一个时空文件;其中,所述时空文件用于存储与该时空文件具有映射关系的时间片叶子节点表征的时间片及子空间叶子节点表征的子空间对应的时空数据。
进一步地,所述映射模块903,具体用于分别确定每个时间片叶子节点的标识,以及每个子空间叶子节点的标识;采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果;并将得到的散列结果确定为时空文件的标识,其中,所述时空文件为该散列结果对应的时间片叶子节点所表征的时间片,以及子空间叶子节点所表征的子空间映射的时空文件。
进一步地,所述装置,还包括:存储模块904;
所述存储模块904,用于向所述时空文件中存储待存储的时空数据。
进一步地,所述存储模块904,具体用于基于预设类目的预设排序方式,确定所述待存储的时空数据的存储顺序;按照确定的存储顺序,将该时空文件中属于同一类目且具有相同数据格式的待存储的时空数据,采用第一算法进行编码压缩存储;并将该时空文件中属于同一类目且具有相同数值的待存储的时空数据,采用第二算法进行编码压缩存储,并使存储后的待存储的时空数据符合预设分布式查询运算结构。
进一步地,所述第一生成模块901,具体用于将预设时间范围作为根节点,采用如下方法生成多级时间索引树:将所述预设时间范围划分为长度相同的预设数量个子时间片,并循环执行如下步骤,直到当前得到的子时间片长度等于所述时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并将所述当前得到的子时间片进一步划分为长度相同的预设数量个子时间片;或者
根据所述预设时间范围内,产生的时空数据在所述预设时间范围内的分布,将所述预设时间范围划分为长短不同的子时间片,并循环执行如下步骤,直到当前得到的子时间片长度符合所述时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并根据所述当前得到的子时间片内,产生的时空数据在所述当前得到的子时间片内的分布,将所述当前得到的子时间片进一步划分为长短不同的子时间片,其中,在所述当前得到的子时间片内,时空数据分布越密集的时间段划分成的子时间片越多。
进一步地,所述第二生成模块902,具体用于将预设空间范围作为根节点,采用如下方法生成多级空间索引树:将所述预设空间范围划分为长度相同的预设数量个子空间,并循环执行如下步骤,直到当前得到的子空间大小等于所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并将所述当前得到的子空间进一步划分为长度相同的预设数量个子空间;或者
根据所述预设空间范围内,产生的时空数据在所述预设空间范围内的分布,将所述预设空间范围划分为大小不同的子空间,并循环执行如下步骤,直到当前得到的子空间大小符合所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并根据所述当前得到的子空间内,产生的时空数据在所述当前得到的子空间内的分布,将所述当前得到的子空间进一步划分为大小不同的子空间,其中,在所述当前得到的子空间内,时空数据分布越密集的空间划分成的子空间越多。
本发明实施例提供的一种时空数据查询装置,如图10所示,包括如下模块:
节点确定模块1001,用于确定时间查询条件在多级时间索引树中对应的时间片节点,以及空间查询条件在多级空间索引树中对应的子空间节点;
叶子节点确定模块1002,用于分别确定以所述节点确定模块1001确定的时间片节点为根节点的时间索引子树的所有时间片叶子节点,以及以所述节点确定模块1001确定的子空间节点为根节点的空间索引子树的所有子空间叶子节点;
查询结果确定模块1003,用于在确定的每个时间片叶子节点与每个子空间叶子节点映射的时空文件存储的时空数据中,确定查询结果。
进一步地,所述查询结果确定模块1003,具体用于分别确定所述确定的每个时间片叶子节点的标识,及每个子空间叶子节点的标识;采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果;根据生成的散列结果,确定所述散列结果标识的时空文件的存储位置;并在根据所述存储位置确定的时空文件存储的时空数据中,确定查询结果。
进一步地,所述查询结果确定模块1003,具体用于当查询条件中还包括除所述时间查询条件和所述空间查询条件之外的其他查询条件,且所述时空文件中存储的数据符合预设分布式查询运算结构时,根据所述时空文件存储的时空数据的数据量,以及所述预设分布式查询运算结构,为所述时空文件启动对应数量的解析进程;根据所述其他查询条件,使所述对应数量的解析进程并行对所述时空文件中存储的时空数据进行解析,得到符合所述其他查询条件的解析结果;将得到的所述解析结果汇总,并确定为查询结果。
本发明实施例提供的一种时空数据的索引建立设备,包括:上述的时空数据的索引建立装置。
本发明实施例提供的一种时空数据查询设备,包括:上述的时空数据查询装置。
上述各单元的功能可对应于图1至图3、图5、图7-图8所示流程中的相应处理步骤,在此不再赘述。
本发明实施例提供的一种时空数据的索引建立方法中,将预设时间范围作为根节点生成多级时间索引树;并将预设空间范围作为根节点生成多级空间索引树;分别为每个时间片叶子节点与每个子空间叶子节点映射一个时空文件,其中,时空文件用于存储与该时空文件具有映射关系的时间片叶子节点表征的时间片及子空间叶子节点表征的子空间对应的时空数据。相应地,本发明实施例提供的基于上述一种时空数据的索引建立方法的时空数据查询方法,包括:确定时间查询条件在多级时间索引树中对应的时间片节点,以及空间查询条件在多级空间索引树中对应的子空间节点;分别确定以确定的时间片节点为根节点的时间索引子树的所有时间片叶子节点,以及以确定的子空间节点为根节点的空间索引子树的所有子空间叶子节点;根据确定的每个时间片叶子节点与每个子空间叶子节点映射的时空文件中存储的时空数据,确定查询结果。可见,基于本发明实施例提供的时空数据的索引建立方法,建立的时空数据索引,在查找时空数据时,可以对时间查询条件和空间查询条件进行并行查询,并根据查询到的子空间叶子节点和时间片叶子节点,对需要查询的时空数据直接索引,与现有技术中通过二次索引技术查询时空数据相比,提高了查询效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (20)
1.一种时空数据的索引建立方法,其特征在于,包括:
将预设时间范围作为根节点生成多级时间索引树;其中,所述多级时间索引树包含多个时间片节点,且越靠近根节点的时间片节点表征的时间片越长;并
将预设空间范围作为根节点生成多级空间索引树;其中,所述多级空间索引树包含多个子空间节点,且越靠近根节点的子空间节点表征的子空间越大;
分别将每个时间片叶子节点与每个子空间叶子节点映射一个时空文件;其中,所述时空文件用于存储与该时空文件具有映射关系的时间片叶子节点表征的时间片及子空间叶子节点表征的子空间对应的时空数据。
2.如权利要求1所述的方法,其特征在于,分别将每个时间片叶子节点与每个子空间叶子节点映射一个时空文件,具体包括:
分别确定每个时间片叶子节点的标识,以及每个子空间叶子节点的标识;
采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果;并
将得到的散列结果确定为时空文件的标识,其中,所述时空文件为该散列结果对应的时间片叶子节点所表征的时间片,以及子空间叶子节点所表征的子空间映射的时空文件。
3.如权利要求1或2所述的方法,其特征在于,还包括:
向所述时空文件中存储待存储的时空数据。
4.如权利要求3所述的方法,其特征在于,向所述时空文件中存储待存储的时空数据,具体包括:
基于预设类目的预设排序方式,确定所述待存储的时空数据的存储顺序;
按照确定的存储顺序,将该时空文件中属于同一类目且具有相同数据格式的待存储的时空数据,采用第一算法进行编码压缩存储;并
将该时空文件中属于同一类目且具有相同数值的待存储的时空数据,采用第二算法进行编码压缩存储,并使存储后的待存储的时空数据符合预设分布式查询运算结构。
5.如权利要求1或2所述的方法,其特征在于,将预设时间范围作为根节点,采用如下方法生成多级时间索引树:
将所述预设时间范围划分为长度相同的预设数量个子时间片,并循环执行如下步骤,直到当前得到的子时间片长度等于所述时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并将所述当前得到的子时间片进一步划分为长度相同的预设数量个子时间片;或者
根据所述预设时间范围内,产生的时空数据在所述预设时间范围内的分布,将所述预设时间范围划分为长短不同的子时间片,并循环执行如下步骤,直到当前得到的子时间片长度符合所述时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并根据所述当前得到的子时间片内,产生的时空数据在所述当前得到的子时间片内的分布,将所述当前得到的子时间片进一步划分为长短不同的子时间片,其中,在所述当前得到的子时间片内,时空数据分布越密集的时间段划分成的子时间片越多。
6.如权利要求1或2所述的方法,其特征在于,将预设空间范围作为根节点,采用如下方法生成多级空间索引树:
将所述预设空间范围划分为长度相同的预设数量个子空间,并循环执行如下步骤,直到当前得到的子空间大小等于所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并将所述当前得到的子空间进一步划分为长度相同的预设数量个子空间;或者
根据所述预设空间范围内,产生的时空数据在所述预设空间范围内的分布,将所述预设空间范围划分为大小不同的子空间,并循环执行如下步骤,直到当前得到的子空间大小符合所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并根据所述当前得到的子空间内,产生的时空数据在所述当前得到的子空间内的分布,将所述当前得到的子空间进一步划分为大小不同的子空间,其中,在所述当前得到的子空间内,时空数据分布越密集的空间划分成的子空间越多。
7.一种时空数据查询方法,其特征在于,包括:
确定时间查询条件在多级时间索引树中对应的时间片节点,以及空间查询条件在多级空间索引树中对应的子空间节点;
分别确定以确定的时间片节点为根节点的时间索引子树的所有时间片叶子节点,以及以确定的子空间节点为根节点的空间索引子树的所有子空间叶子节点;
在确定的每个时间片叶子节点与每个子空间叶子节点映射的时空文件存储的时空数据中,确定查询结果。
8.如权利要求7所述的方法,其特征在于,在确定的每个时间片叶子节点与每个子空间叶子节点映射的时空文件中存储的时空数据中,确定查询结果,具体包括:
分别确定所述确定的每个时间片叶子节点的标识,及每个子空间叶子节点的标识;
采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果;
根据生成的散列结果,确定所述散列结果标识的时空文件的存储位置;并
在根据所述存储位置确定的时空文件存储的时空数据中,确定查询结果。
9.如权利要求7或8所述的方法,其特征在于,当查询条件中还包括除所述时间查询条件和所述空间查询条件之外的其他查询条件,且所述时空文件中存储的数据符合预设分布式查询运算结构时,在所述时空文件存储的时空数据中,确定查询结果,具体包括:
根据所述时空文件存储的时空数据的数据量,以及所述预设分布式查询运算结构,为所述时空文件启动对应数量的解析进程;
根据所述其他查询条件,使所述对应数量的解析进程并行对所述时空文件中存储的时空数据进行解析,得到符合所述其他查询条件的解析结果;
将得到的所述解析结果汇总,并确定为查询结果。
10.一种时空数据的索引建立装置,其特征在于,包括:
第一生成模块,用于将预设时间范围作为根节点生成多级时间索引树;其中,所述多级时间索引树包含多个时间片节点,且越靠近根节点的时间片节点表征的时间片越长;
第二生成模块,用于将预设空间范围作为根节点生成多级空间索引树;其中,所述多级空间索引树包含多个子空间节点,且越靠近根节点的子空间节点表征的子空间越大;
映射模块,用于分别将所述第一生成模块生成的多级时间索引树的每个时间片叶子节点与所述第二生成模块生成的多级空间索引树的每个子空间叶子节点映射一个时空文件;其中,所述时空文件用于存储与该时空文件具有映射关系的时间片叶子节点表征的时间片及子空间叶子节点表征的子空间对应的时空数据。
11.如权利要求10所述的装置,其特征在于,所述映射模块,具体用于分别确定每个时间片叶子节点的标识,以及每个子空间叶子节点的标识;采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果;并将得到的散列结果确定为时空文件的标识,其中,所述时空文件为该散列结果对应的时间片叶子节点所表征的时间片,以及子空间叶子节点所表征的子空间映射的时空文件。
12.如权利要求10或11所述的装置,其特征在于,还包括:存储模块;
所述存储模块,用于向所述时空文件中存储待存储的时空数据。
13.如权利要求12所述的装置,其特征在于,所述存储模块,具体用于基于预设类目的预设排序方式,确定所述待存储的时空数据的存储顺序;按照确定的存储顺序,将该时空文件中属于同一类目且具有相同数据格式的待存储的时空数据,采用第一算法进行编码压缩存储;并将该时空文件中属于同一类目且具有相同数值的待存储的时空数据,采用第二算法进行编码压缩存储,并使存储后的待存储的时空数据符合预设分布式查询运算结构。
14.如权利要求10或11所述的装置,其特征在于,所述第一生成模块,具体用于将预设时间范围作为根节点,采用如下方法生成多级时间索引树:将所述预设时间范围划分为长度相同的预设数量个子时间片,并循环执行如下步骤,直到当前得到的子时间片长度等于所述时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并将所述当前得到的子时间片进一步划分为长度相同的预设数量个子时间片;或者
根据所述预设时间范围内,产生的时空数据在所述预设时间范围内的分布,将所述预设时间范围划分为长短不同的子时间片,并循环执行如下步骤,直到当前得到的子时间片长度符合所述时间片叶子节点表征的时间片长度为止:将当前得到的子时间片作为该子时间片的父时间片对应的时间片节点的子节点;并根据所述当前得到的子时间片内,产生的时空数据在所述当前得到的子时间片内的分布,将所述当前得到的子时间片进一步划分为长短不同的子时间片,其中,在所述当前得到的子时间片内,时空数据分布越密集的时间段划分成的子时间片越多。
15.如权利要求10或11所述的装置,其特征在于,所述第二生成模块,具体用于将预设空间范围作为根节点,采用如下方法生成多级空间索引树:将所述预设空间范围划分为长度相同的预设数量个子空间,并循环执行如下步骤,直到当前得到的子空间大小等于所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并将所述当前得到的子空间进一步划分为长度相同的预设数量个子空间;或者
根据所述预设空间范围内,产生的时空数据在所述预设空间范围内的分布,将所述预设空间范围划分为大小不同的子空间,并循环执行如下步骤,直到当前得到的子空间大小符合所述子空间叶子节点表征的子空间大小为止:将当前得到的子空间作为该子空间的父空间对应的子空间节点的子节点;并根据所述当前得到的子空间内,产生的时空数据在所述当前得到的子空间内的分布,将所述当前得到的子空间进一步划分为大小不同的子空间,其中,在所述当前得到的子空间内,时空数据分布越密集的空间划分成的子空间越多。
16.一种时空数据查询装置,其特征在于,包括:
节点确定模块,用于确定时间查询条件在多级时间索引树中对应的时间片节点,以及空间查询条件在多级空间索引树中对应的子空间节点;
叶子节点确定模块,用于分别确定以所述节点确定模块确定的时间片节点为根节点的时间索引子树的所有时间片叶子节点,以及以所述节点确定模块确定的子空间节点为根节点的空间索引子树的所有子空间叶子节点;
查询结果确定模块,用于在确定的每个时间片叶子节点与每个子空间叶子节点映射的时空文件存储的时空数据中,确定查询结果。
17.如权利要求16所述的装置,其特征在于,所述查询结果确定模块,具体用于分别确定所述确定的每个时间片叶子节点的标识,及每个子空间叶子节点的标识;采用预设散列算法,使每个时间片叶子节点的标识与每个子空间叶子节点的标识生成一个散列结果;根据生成的散列结果,确定所述散列结果标识的时空文件的存储位置;并在根据所述存储位置确定的时空文件存储的时空数据中,确定查询结果。
18.如权利要求16或17所述的装置,其特征在于,所述查询结果确定模块,具体用于当查询条件中还包括除所述时间查询条件和所述空间查询条件之外的其他查询条件,且所述时空文件中存储的数据符合预设分布式查询运算结构时,根据所述时空文件存储的时空数据的数据量,以及所述预设分布式查询运算结构,为所述时空文件启动对应数量的解析进程;根据所述其他查询条件,使所述对应数量的解析进程并行对所述时空文件中存储的时空数据进行解析,得到符合所述其他查询条件的解析结果;将得到的所述解析结果汇总,并确定为查询结果。
19.一种时空数据的索引建立设备,其特征在于,包括:如权利要求10-15任一项所述的时空数据的索引建立装置。
20.一种时空数据查询设备,其特征在于,包括:如权利要求16-18任一项所述的时空数据查询装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310740491.9A CN104750708B (zh) | 2013-12-27 | 2013-12-27 | 一种时空数据的索引建立方法、查询方法、装置及设备 |
PCT/CN2014/092256 WO2015096582A1 (zh) | 2013-12-27 | 2014-11-26 | 一种时空数据的索引建立方法、查询方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310740491.9A CN104750708B (zh) | 2013-12-27 | 2013-12-27 | 一种时空数据的索引建立方法、查询方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104750708A true CN104750708A (zh) | 2015-07-01 |
CN104750708B CN104750708B (zh) | 2018-09-28 |
Family
ID=53477510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310740491.9A Active CN104750708B (zh) | 2013-12-27 | 2013-12-27 | 一种时空数据的索引建立方法、查询方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104750708B (zh) |
WO (1) | WO2015096582A1 (zh) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426491A (zh) * | 2015-11-23 | 2016-03-23 | 武汉大学 | 一种时空地理大数据的检索方法及系统 |
CN105488189A (zh) * | 2015-12-02 | 2016-04-13 | 成都科来软件有限公司 | 一种基于大数据量的五元组查询方法及装置 |
CN106020724A (zh) * | 2016-05-20 | 2016-10-12 | 南京邮电大学 | 一种基于数据映射算法的近邻存储方法 |
CN106095952A (zh) * | 2016-06-15 | 2016-11-09 | 公安部第三研究所 | 基于键值云存储的时空范围内海量过车记录快速查询方法 |
CN106202137A (zh) * | 2015-12-29 | 2016-12-07 | 北京市交通信息中心 | 一种车辆定位方法及装置 |
CN106776632A (zh) * | 2015-11-23 | 2017-05-31 | 北京国双科技有限公司 | 数据查询方法及装置 |
CN106815355A (zh) * | 2017-01-22 | 2017-06-09 | 济南浪潮高新科技投资发展有限公司 | 一种用于NANDflash阵列的文件系统实现方法 |
CN107220285A (zh) * | 2017-04-24 | 2017-09-29 | 中国科学院计算技术研究所 | 面向海量轨迹点数据的时空索引构建方法 |
CN107391600A (zh) * | 2017-06-30 | 2017-11-24 | 北京百度网讯科技有限公司 | 用于在内存中存取时序数据的方法和装置 |
CN107423368A (zh) * | 2017-06-29 | 2017-12-01 | 中国测绘科学研究院 | 一种非关系数据库中的时空数据索引方法 |
CN107924410A (zh) * | 2015-08-26 | 2018-04-17 | 甲骨文国际公司 | 用于支持分层数据对象的高效路径导航的与分层数据对象的二进制编码相关的技术 |
CN108595720A (zh) * | 2018-07-12 | 2018-09-28 | 中国科学院深圳先进技术研究院 | 一种区块链时空数据查询方法、系统及电子设备 |
CN108614836A (zh) * | 2016-12-13 | 2018-10-02 | 上海仪电(集团)有限公司中央研究院 | 一种基于Hbase的时空数据管理方法 |
CN108717417A (zh) * | 2018-03-30 | 2018-10-30 | 斑马网络技术有限公司 | 地图检索输入提示方法及其系统 |
CN108920499A (zh) * | 2018-05-24 | 2018-11-30 | 河海大学 | 一种面向周期性检索的时空轨迹索引与检索方法 |
CN108924778A (zh) * | 2018-07-16 | 2018-11-30 | 浙江大学 | 一种面向非实时快照位置数据的签到用户近似搜索方法 |
CN109120885A (zh) * | 2017-06-26 | 2019-01-01 | 杭州海康威视数字技术股份有限公司 | 视频数据获取方法及装置 |
CN109165215A (zh) * | 2018-07-27 | 2019-01-08 | 苏州视锐信息科技有限公司 | 一种云环境下时空索引的构建方法、装置及电子设备 |
CN109241121A (zh) * | 2017-06-29 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 时间序列数据的存储和查询方法、装置、系统及电子设备 |
CN109284338A (zh) * | 2018-10-25 | 2019-01-29 | 南京航空航天大学 | 一种基于混合索引的卫星遥感大数据优化查询方法 |
CN109325086A (zh) * | 2018-08-10 | 2019-02-12 | 中国电子科技集团公司第二十八研究所 | 一种离散地理数据归档管理方法 |
CN109933584A (zh) * | 2019-01-31 | 2019-06-25 | 北京大学 | 一种多级无序索引方法与系统 |
CN110737673A (zh) * | 2018-07-19 | 2020-01-31 | 华为技术有限公司 | 一种数据处理的方法及系统 |
CN110765321A (zh) * | 2019-10-28 | 2020-02-07 | 北京明略软件系统有限公司 | 一种数据存储路径的生成方法、生成装置及可读存储介质 |
CN111104457A (zh) * | 2019-10-30 | 2020-05-05 | 武汉大学 | 基于分布式数据库的海量时空数据管理方法 |
WO2020199192A1 (en) * | 2019-04-04 | 2020-10-08 | Alibaba Group Holding Limited | Split-key estimation method for table partition in disbtributed data storage systems |
CN112948531A (zh) * | 2021-04-02 | 2021-06-11 | 方正国际软件(北京)有限公司 | 海量轨迹查询方法、检索服务器及系统 |
CN113326257A (zh) * | 2020-04-30 | 2021-08-31 | 阿里巴巴集团控股有限公司 | 索引构建方法、推荐方法、装置、电子设备和计算机存储介质 |
CN113704565A (zh) * | 2021-10-28 | 2021-11-26 | 浙江大学 | 基于全局区间误差的学习型时空索引方法、装置及介质 |
CN113722286A (zh) * | 2020-05-26 | 2021-11-30 | 杭州海康威视数字技术股份有限公司 | 时空数据压缩方法、装置、服务器及存储介质 |
CN113763099A (zh) * | 2020-12-29 | 2021-12-07 | 京东城市(北京)数字科技有限公司 | 一种数据查找方法、装置、设备和存储介质 |
WO2022237046A1 (zh) * | 2021-05-13 | 2022-11-17 | 统信软件技术有限公司 | 一种数据加密方法及计算设备 |
CN116501504A (zh) * | 2023-06-27 | 2023-07-28 | 上海燧原科技有限公司 | 数据流的时空映射方法、装置、电子设备及存储介质 |
CN116882522A (zh) * | 2023-09-07 | 2023-10-13 | 湖南视觉伟业智能科技有限公司 | 一种分布式时空挖掘方法及系统 |
CN117033541A (zh) * | 2023-10-09 | 2023-11-10 | 中南大学 | 一种时空知识图谱索引方法及相关设备 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150093294A (ko) * | 2014-02-06 | 2015-08-18 | 한국전자통신연구원 | 통신 단말 사용자의 경험 공유 장치 및 그 방법 |
US10990570B2 (en) | 2016-12-22 | 2021-04-27 | Intel Corporation | Methods, systems and apparatus to improve spatial-temporal data management |
CN110928968B (zh) * | 2019-11-12 | 2023-04-11 | 天津大学 | 一种二维地理空间大数据的存储与查询计算机介质 |
CN110990665B (zh) * | 2019-12-11 | 2023-08-25 | 北京明略软件系统有限公司 | 数据处理方法、装置、系统、电子设备及存储介质 |
CN111078634B (zh) * | 2019-12-30 | 2023-07-25 | 中科海拓(无锡)科技有限公司 | 一种基于r树的分布式时空数据索引方法 |
CN113076334B (zh) * | 2020-01-06 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 数据查询方法、索引生成方法、装置及电子设备 |
CN111367916B (zh) * | 2020-03-04 | 2023-03-31 | 浙江大华技术股份有限公司 | 一种数据存储方法及装置 |
CN111723096B (zh) * | 2020-06-23 | 2022-08-05 | 重庆市计量质量检测研究院 | 一种集成GeoHash和Quadtree的空间数据索引方法 |
CN113742350A (zh) * | 2021-09-09 | 2021-12-03 | 北京中安智能信息科技有限公司 | 基于机器学习模型的时空索引构建方法和装置及查询方法 |
CN113868465B (zh) * | 2021-09-15 | 2022-05-17 | 河南大学 | 一种基于二维时间格网的可定位视频检索方法 |
CN113760937A (zh) * | 2021-09-17 | 2021-12-07 | 恒生电子股份有限公司 | 数据的查缺方法、装置、电子设备及存储介质 |
CN115809360B (zh) * | 2023-02-08 | 2023-05-05 | 深圳大学 | 一种大规模时空流数据实时空间连接查询方法及相关设备 |
CN116756139B (zh) * | 2023-05-12 | 2024-04-23 | 中国自然资源航空物探遥感中心 | 一种数据索引方法、系统、存储介质和电子设备 |
CN116796083B (zh) * | 2023-06-29 | 2023-12-22 | 山东省国土测绘院 | 一种空间数据划分方法及系统 |
CN117290617B (zh) * | 2023-08-18 | 2024-05-10 | 中国船舶集团有限公司第七〇九研究所 | 一种海上分布式多源异构时空数据查询方法及系统 |
CN117112492B (zh) * | 2023-08-25 | 2024-03-12 | 中南林业科技大学 | 一种自适应的时空大数据分布式存储方法及智能文件系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030208496A1 (en) * | 2002-05-01 | 2003-11-06 | Sun Microsystems, Inc. | Shape-based geometric database and methods and systems for construction and use thereof |
CN102385552A (zh) * | 2010-08-25 | 2012-03-21 | 微软公司 | 样本剖析报告的动态计算 |
CN102651020A (zh) * | 2012-03-31 | 2012-08-29 | 中国科学院软件研究所 | 一种海量传感器数据存储与查询方法 |
CN102955861A (zh) * | 2012-11-30 | 2013-03-06 | 华为技术有限公司 | 一种基于备份文件的索引文件生成方法和装置 |
CN103092927A (zh) * | 2012-12-29 | 2013-05-08 | 华中科技大学 | 一种分布式环境下的文件快速读写方法 |
CN103294790A (zh) * | 2013-05-22 | 2013-09-11 | 西北工业大学 | 一种面向gps轨迹数据的时空语义索引与检索方法 |
CN103412897A (zh) * | 2013-07-25 | 2013-11-27 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479189B (zh) * | 2010-11-23 | 2016-08-03 | 上海宝信软件股份有限公司 | 一种内存中海量时间戳型数据高速均匀访问的索引方法 |
-
2013
- 2013-12-27 CN CN201310740491.9A patent/CN104750708B/zh active Active
-
2014
- 2014-11-26 WO PCT/CN2014/092256 patent/WO2015096582A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030208496A1 (en) * | 2002-05-01 | 2003-11-06 | Sun Microsystems, Inc. | Shape-based geometric database and methods and systems for construction and use thereof |
CN102385552A (zh) * | 2010-08-25 | 2012-03-21 | 微软公司 | 样本剖析报告的动态计算 |
CN102651020A (zh) * | 2012-03-31 | 2012-08-29 | 中国科学院软件研究所 | 一种海量传感器数据存储与查询方法 |
CN102955861A (zh) * | 2012-11-30 | 2013-03-06 | 华为技术有限公司 | 一种基于备份文件的索引文件生成方法和装置 |
CN103092927A (zh) * | 2012-12-29 | 2013-05-08 | 华中科技大学 | 一种分布式环境下的文件快速读写方法 |
CN103294790A (zh) * | 2013-05-22 | 2013-09-11 | 西北工业大学 | 一种面向gps轨迹数据的时空语义索引与检索方法 |
CN103412897A (zh) * | 2013-07-25 | 2013-11-27 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
Cited By (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107924410B (zh) * | 2015-08-26 | 2022-05-31 | 甲骨文国际公司 | 用于支持分层数据对象的高效路径导航的与分层数据对象的二进制编码相关的技术 |
CN107924410A (zh) * | 2015-08-26 | 2018-04-17 | 甲骨文国际公司 | 用于支持分层数据对象的高效路径导航的与分层数据对象的二进制编码相关的技术 |
CN106776632A (zh) * | 2015-11-23 | 2017-05-31 | 北京国双科技有限公司 | 数据查询方法及装置 |
CN105426491A (zh) * | 2015-11-23 | 2016-03-23 | 武汉大学 | 一种时空地理大数据的检索方法及系统 |
CN105426491B (zh) * | 2015-11-23 | 2018-12-14 | 武汉大学 | 一种时空地理大数据的检索方法及系统 |
CN105488189A (zh) * | 2015-12-02 | 2016-04-13 | 成都科来软件有限公司 | 一种基于大数据量的五元组查询方法及装置 |
CN105488189B (zh) * | 2015-12-02 | 2019-02-12 | 成都科来软件有限公司 | 一种基于大数据量的五元组查询方法及装置 |
CN106202137A (zh) * | 2015-12-29 | 2016-12-07 | 北京市交通信息中心 | 一种车辆定位方法及装置 |
CN106020724A (zh) * | 2016-05-20 | 2016-10-12 | 南京邮电大学 | 一种基于数据映射算法的近邻存储方法 |
CN106095952A (zh) * | 2016-06-15 | 2016-11-09 | 公安部第三研究所 | 基于键值云存储的时空范围内海量过车记录快速查询方法 |
CN108614836A (zh) * | 2016-12-13 | 2018-10-02 | 上海仪电(集团)有限公司中央研究院 | 一种基于Hbase的时空数据管理方法 |
CN106815355A (zh) * | 2017-01-22 | 2017-06-09 | 济南浪潮高新科技投资发展有限公司 | 一种用于NANDflash阵列的文件系统实现方法 |
CN107220285B (zh) * | 2017-04-24 | 2020-01-21 | 中国科学院计算技术研究所 | 面向海量轨迹点数据的时空索引构建方法 |
CN107220285A (zh) * | 2017-04-24 | 2017-09-29 | 中国科学院计算技术研究所 | 面向海量轨迹点数据的时空索引构建方法 |
CN109120885A (zh) * | 2017-06-26 | 2019-01-01 | 杭州海康威视数字技术股份有限公司 | 视频数据获取方法及装置 |
CN107423368A (zh) * | 2017-06-29 | 2017-12-01 | 中国测绘科学研究院 | 一种非关系数据库中的时空数据索引方法 |
CN109241121A (zh) * | 2017-06-29 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 时间序列数据的存储和查询方法、装置、系统及电子设备 |
US11294920B2 (en) | 2017-06-30 | 2022-04-05 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for accessing time series data in memory |
CN107391600A (zh) * | 2017-06-30 | 2017-11-24 | 北京百度网讯科技有限公司 | 用于在内存中存取时序数据的方法和装置 |
CN108717417A (zh) * | 2018-03-30 | 2018-10-30 | 斑马网络技术有限公司 | 地图检索输入提示方法及其系统 |
CN108920499A (zh) * | 2018-05-24 | 2018-11-30 | 河海大学 | 一种面向周期性检索的时空轨迹索引与检索方法 |
CN108920499B (zh) * | 2018-05-24 | 2022-04-19 | 河海大学 | 一种面向周期性检索的时空轨迹索引与检索方法 |
CN108595720A (zh) * | 2018-07-12 | 2018-09-28 | 中国科学院深圳先进技术研究院 | 一种区块链时空数据查询方法、系统及电子设备 |
CN108924778A (zh) * | 2018-07-16 | 2018-11-30 | 浙江大学 | 一种面向非实时快照位置数据的签到用户近似搜索方法 |
CN108924778B (zh) * | 2018-07-16 | 2020-05-22 | 浙江大学 | 一种面向非实时快照位置数据的签到用户近似搜索方法 |
US11455323B2 (en) | 2018-07-19 | 2022-09-27 | Huawei Cloud Computing Technologies Co., Ltd. | Data processing method and system |
CN110737673A (zh) * | 2018-07-19 | 2020-01-31 | 华为技术有限公司 | 一种数据处理的方法及系统 |
WO2020098579A1 (zh) * | 2018-07-19 | 2020-05-22 | 华为技术有限公司 | 一种数据处理的方法及系统 |
CN110737673B (zh) * | 2018-07-19 | 2022-04-12 | 华为云计算技术有限公司 | 一种数据处理的方法及系统 |
CN109165215B (zh) * | 2018-07-27 | 2020-07-28 | 苏州视锐信息科技有限公司 | 一种云环境下时空索引的构建方法、装置及电子设备 |
CN109165215A (zh) * | 2018-07-27 | 2019-01-08 | 苏州视锐信息科技有限公司 | 一种云环境下时空索引的构建方法、装置及电子设备 |
CN109325086A (zh) * | 2018-08-10 | 2019-02-12 | 中国电子科技集团公司第二十八研究所 | 一种离散地理数据归档管理方法 |
CN109325086B (zh) * | 2018-08-10 | 2021-01-26 | 中国电子科技集团公司第二十八研究所 | 一种离散地理数据归档管理方法 |
CN109284338A (zh) * | 2018-10-25 | 2019-01-29 | 南京航空航天大学 | 一种基于混合索引的卫星遥感大数据优化查询方法 |
CN109933584A (zh) * | 2019-01-31 | 2019-06-25 | 北京大学 | 一种多级无序索引方法与系统 |
CN109933584B (zh) * | 2019-01-31 | 2021-04-02 | 北京大学 | 一种多级无序索引方法与系统 |
WO2020199192A1 (en) * | 2019-04-04 | 2020-10-08 | Alibaba Group Holding Limited | Split-key estimation method for table partition in disbtributed data storage systems |
CN110765321A (zh) * | 2019-10-28 | 2020-02-07 | 北京明略软件系统有限公司 | 一种数据存储路径的生成方法、生成装置及可读存储介质 |
CN110765321B (zh) * | 2019-10-28 | 2022-10-25 | 北京明略软件系统有限公司 | 一种数据存储路径的生成方法、生成装置及可读存储介质 |
CN111104457A (zh) * | 2019-10-30 | 2020-05-05 | 武汉大学 | 基于分布式数据库的海量时空数据管理方法 |
CN113326257B (zh) * | 2020-04-30 | 2023-12-15 | 阿里巴巴集团控股有限公司 | 索引构建方法、推荐方法、装置、电子设备和计算机存储介质 |
CN113326257A (zh) * | 2020-04-30 | 2021-08-31 | 阿里巴巴集团控股有限公司 | 索引构建方法、推荐方法、装置、电子设备和计算机存储介质 |
CN113722286A (zh) * | 2020-05-26 | 2021-11-30 | 杭州海康威视数字技术股份有限公司 | 时空数据压缩方法、装置、服务器及存储介质 |
CN113763099A (zh) * | 2020-12-29 | 2021-12-07 | 京东城市(北京)数字科技有限公司 | 一种数据查找方法、装置、设备和存储介质 |
CN112948531B (zh) * | 2021-04-02 | 2023-12-15 | 方正国际软件(北京)有限公司 | 海量轨迹查询方法、检索服务器及系统 |
CN112948531A (zh) * | 2021-04-02 | 2021-06-11 | 方正国际软件(北京)有限公司 | 海量轨迹查询方法、检索服务器及系统 |
WO2022237046A1 (zh) * | 2021-05-13 | 2022-11-17 | 统信软件技术有限公司 | 一种数据加密方法及计算设备 |
CN113704565A (zh) * | 2021-10-28 | 2021-11-26 | 浙江大学 | 基于全局区间误差的学习型时空索引方法、装置及介质 |
CN113704565B (zh) * | 2021-10-28 | 2022-02-18 | 浙江大学 | 基于全局区间误差的学习型时空索引方法、装置及介质 |
CN116501504A (zh) * | 2023-06-27 | 2023-07-28 | 上海燧原科技有限公司 | 数据流的时空映射方法、装置、电子设备及存储介质 |
CN116501504B (zh) * | 2023-06-27 | 2023-09-12 | 上海燧原科技有限公司 | 数据流的时空映射方法、装置、电子设备及存储介质 |
CN116882522A (zh) * | 2023-09-07 | 2023-10-13 | 湖南视觉伟业智能科技有限公司 | 一种分布式时空挖掘方法及系统 |
CN116882522B (zh) * | 2023-09-07 | 2023-11-28 | 湖南视觉伟业智能科技有限公司 | 一种分布式时空挖掘方法及系统 |
CN117033541A (zh) * | 2023-10-09 | 2023-11-10 | 中南大学 | 一种时空知识图谱索引方法及相关设备 |
CN117033541B (zh) * | 2023-10-09 | 2023-12-19 | 中南大学 | 一种时空知识图谱索引方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2015096582A1 (zh) | 2015-07-02 |
CN104750708B (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104750708A (zh) | 一种时空数据的索引建立方法、查询方法、装置及设备 | |
CN108427684B (zh) | 数据查询方法、装置及计算设备 | |
CN108009933B (zh) | 图中心性计算方法及装置 | |
CN108932347B (zh) | 一种分布式环境下基于社会感知的空间关键字查询方法 | |
US20150370838A1 (en) | Index structure to accelerate graph traversal | |
CN106874425B (zh) | 基于Storm的实时关键词近似搜索算法 | |
CN103092853A (zh) | 一种空间索引的建立方法、使用方法及装置 | |
Whitman et al. | Distributed spatial and spatio-temporal join on apache spark | |
CN109190052B (zh) | 一种分布式环境下基于社会感知的空间索引方法 | |
Lee et al. | Lightweight indexing and querying services for big spatial data | |
Puri et al. | MPI-Vector-IO: Parallel I/O and partitioning for geospatial vector data | |
CN115905630A (zh) | 一种图数据库查询方法、装置、设备及存储介质 | |
Van Le et al. | A scalable spatio-temporal data storage for intelligent transportation systems based on HBase | |
US9436715B2 (en) | Data management apparatus and data management method | |
Djordjevic et al. | Detecting regular visit patterns | |
Arseneau et al. | STILT: Unifying spatial, temporal and textual search using a generalized multi-dimensional index | |
Francis et al. | A scalable constraint-based Q-hash indexing for moving objects | |
Ku et al. | Geo-Store: A framework for supporting semantics-enabled location-based services | |
CN113821514A (zh) | 数据拆分方法、装置、电子设备和可读存储介质 | |
Liu et al. | GB-Tree: An efficient LBS location data indexing method | |
CN108363722B (zh) | 一种煤矿数据存储方法及装置 | |
CN112199577A (zh) | 一种数据查询方法、装置及电子设备 | |
Yang et al. | GridMesa: A NoSQL-based big spatial data management system with an adaptive grid approximation model | |
US11061876B2 (en) | Fast aggregation on compressed data | |
Lee et al. | An efficient location encoding method for moving objects using hierarchical administrative district and road network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |