CN112307025A - 一种分布式索引的构建方法及装置 - Google Patents
一种分布式索引的构建方法及装置 Download PDFInfo
- Publication number
- CN112307025A CN112307025A CN202011183760.2A CN202011183760A CN112307025A CN 112307025 A CN112307025 A CN 112307025A CN 202011183760 A CN202011183760 A CN 202011183760A CN 112307025 A CN112307025 A CN 112307025A
- Authority
- CN
- China
- Prior art keywords
- map range
- combination
- division precision
- data
- division
- 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 86
- 238000013500 data storage Methods 0.000 claims description 26
- 238000005192 partition Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010276 construction Methods 0.000 claims description 10
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 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/22—Indexing; Data structures therefor; Storage 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/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/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/29—Geographical information databases
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)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种分布式索引的构建方法,涉及计算机技术领域。该方法包括:确定在存储时空数据时,针对地图范围的各个备选层级数量;针对每一备选层级数量,利用关于地图范围的各划分精度,构建该备选层级数量对应的至少一个划分精度组合;从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合;其中,预定条件为:在按照划分精度组合将各个样本时空数据存储到地图范围后,地图范围的指定范围内存储的样本时空数据的数量最少;按照目标划分精度组合以及对应的目标备选层级数量,构建针对地图范围的用于存储时空数据的分布式索引。与现有技术相比,应用本发明实施例提供的方案,能够提高所建立的分布式索引的查询性能。
Description
技术领域
本发明涉及数据存储技术领域,特别是涉及一种分布式索引的构建方法及装置。
背景技术
当前,在很多场景下,用户需要对时空数据进行存储。其中,所谓时空数据是指:具有时间和空间维度的数据。例如,目标对象在某个地理区域内的每段移动轨迹即为一时空数据。
随着待存储的时空数据的数量的不断增加,由于传统数据库的单机性能有效,将导致数据查询与数据存储的效率较低,因此,用户往往选择利用分布式索引对大量的时空数据进行存储。
相关技术中,分布式索引的构建方式为:按照人工指定的层级值,以及该层级值指示的不同层级对应的划分精度,对存储时空数据时利用的地图范围进行划分,得到每一层级下该地图范围的多个存储网格;针对每一层级下该地图范围的多个存储网格,利用预设的编码方式,确定各个存储网格的数字编号,得到各个存储网格的数字编号,完成分布式索引的构建。其中,每个存储网格用于存储位于该存储网格所表征的空间范围内的时空数据。
然而,在上述相关技术中,由于人工指定的层级值以及不同层级对应的划分精度是由根据用户经验确定的,因此,可能忽略了待存储时空数据在所利用的地图范围中的分布情况,导致在利用所建立的分布式索引进行数据查询时,可能查询得到较多无效数据,进而,导致所建立的分布式索引的查询性能较差。
发明内容
本发明实施例的目的在于提供一种分布式索引的构建方法、装置及电子设备,以实现在构建针对地图范围的用于存储时空数据的分布式索引的过程中,考虑待存储数据在地图范围内的分布情况,从而,减少在利用所建立的分布时索引进行数据查询时,所查询得到的无效数据的数量,进而,提高所建立的分布式索引的查询性能。
具体技术方案如下:
第一方面,本发明实施例提供了一种分布式索引的构建方法,所述方法包括:
确定在存储时空数据时,针对地图范围的各个备选层级数量;
针对每一备选层级数量,利用关于所述地图范围的各划分精度,构建该备选层级数量对应的至少一个划分精度组合;其中,每一划分精度组合中的划分精度数量与该备选层级数量相同,且不同的划分精度组合中的划分精度不完全相同;
从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合;其中,所述预定条件为:在按照划分精度组合将各个样本时空数据存储到所述地图范围后,所述地图范围的指定范围内存储的样本时空数据的数量最少;
按照所述目标划分精度组合以及对应的目标备选层级数量,构建针对所述地图范围的用于存储时空数据的分布式索引。
可选的,一种具体实现方式中,所述从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合的步骤,包括:
针对所构建的每一划分精度组合,按照该划分精度组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量,作为该划分精度组合对应的数量;
获取最小数量对应的划分精度组合,作为目标划分精度组合。
可选的,一种具体实现方式中,所述从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合的步骤,包括:
从所构建的多个划分精度组合中,选取一个划分精度组合,作为基准组合;
针对所述基准组合,按照所述基准组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量,记录所确定的数量;
针对除所述基准组合之外的每个划分精度组合,按照该划分精度组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量;当所确定的数量小于当前所记录的数量时,将当前所记录的数量替换为所确定的数量;否则,丢弃所确定的数量;
在遍历所构建的全部划分精度组合后,确定当前所记录的数量所对应的划分精度组合,作为目标划分精度组合。
可选的,一种具体实现方式中,所述按照所述目标划分精度组合以及对应的目标备选层级数量,构建针对所述地图范围的用于存储时空数据的分布式索引的步骤,包括:
根据所述目标划分精度组合以及对应的目标备选层级数量,确定所述目标备选层级数量个层级中,每一层级对应的划分精度;
按照每一层级的划分精度,对所述地图范围进行划分,得到该层级下的所述地图范围的各个存储网格;
按照预设的编码方式,为所划分得到的每一存储网格确定数字编码,得到针对所述地图范围的用于存储时空数据的分布式索引。
可选的,一种具体实现方式中,所述针对每一备选层级,利用关于所述地图范围的各划分精度,构建该备选层级对应的至少一个划分精度组合的步骤,包括:
针对每一备选层级数量,利用关于所述地图范围的各划分精度,构建该备选层级数量对应的全部划分精度组合。
可选的,一种具体实现方式中,所述地图范围为:对真实的地图范围进行归一化的地图范围;样本时空数据为:对空间维度进行归一化后的时空数据。
第二方面,本发明实施例提供了一种基于第一方面提供的任一方法构建的分布式索引的数据存储方法,所述方法包括:
获取待存储时空数据;
根据所述待存储时空数据的空间维度,确定所述待存储时空数据所属的存储网格;其中,所述存储网格为按照目标划分精度组合以及对应的目标备选层级数量对预设的地图范围进行划分得到的;
将所述待存储时空数据存储到所述存储网格,并将所述存储网格的数字编码作为所述待存储时空数据的分布式索引。
第三方面,本发明实施例提供了一种分布式索引的构建装置,所述装置包括:
数量获取模块,用于确定在存储时空数据时,针对地图范围的各个备选层级数量;
组合确定模块,用于针对每一备选层级数量,利用关于所述地图范围的各划分精度,构建该备选层级数量对应的至少一个划分精度组合;其中,每一划分精度组合中的划分精度数量与该备选层级数量相同,且不同的划分精度组合中的划分精度不完全相同;
组合选取模块,用于从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合;其中,所述预定条件为:在按照划分精度组合将各个样本时空数据存储到所述地图范围后,所述地图范围的指定范围内存储的样本时空数据的数量最少;
索引构建模块,用于按照所述目标划分精度组合以及对应的目标备选层级数量,构建针对所述地图范围的用于存储时空数据的分布式索引。
可选的,一种具体实现方式中,所述组合选取模块具体用于:
针对所构建的每一划分精度组合,按照该划分精度组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量,作为该划分精度组合对应的数量;
获取最小数量对应的划分精度组合,作为目标划分精度组合。
可选的,一种具体实现方式中,所述组合选取模块具体用于:
从所构建的多个划分精度组合中,选取一个划分精度组合,作为基准组合;
针对所述基准组合,按照所述基准组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量,记录所确定的数量;
针对除所述基准组合之外的每个划分精度组合,按照该划分精度组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量;当所确定的数量小于当前所记录的数量时,将当前所记录的数量替换为所确定的数量;否则,丢弃所确定的数量;
在遍历所构建的全部划分精度组合后,确定当前所记录的数量所对应的划分精度组合,作为目标划分精度组合。
可选的,一种具体实现方式中,所述索引构建模块具体用于:
根据所述目标划分精度组合以及对应的目标备选层级数量,确定所述目标备选层级数量个层级中,每一层级对应的划分精度;
按照每一层级的划分精度,对所述地图范围进行划分,得到该层级下的所述地图范围的各个存储网格;
按照预设的编码方式,为所划分得到的每一存储网格确定数字编码,得到针对所述地图范围的用于存储时空数据的分布式索引。
可选的,一种具体实现方式中,所述组合确定模块具体用于:
针对每一备选层级数量,利用关于所述地图范围的各划分精度,构建该备选层级数量对应的全部划分精度组合。
可选的,一种具体实现方式中,所述地图范围为:对真实的地图范围进行归一化的地图范围;样本时空数据为:对空间维度进行归一化后的时空数据。
第四方面,本发明实施例提供了一种基于第一方面提供的任一方法构建的分布式索引的数据存储装置,所述装置包括:
数据获取模块,用于获取待存储时空数据;
网格确定模块,用于根据所述待存储时空数据的空间维度,确定所述待存储时空数据所属的存储网格;其中,所述存储网格为按照目标划分精度组合以及对应的目标备选层级数量对预设的地图范围进行划分得到的;
数据存储模块,用于将所述待存储时空数据存储到所述存储网格,并将所述存储网格的数字编码作为所述待存储时空数据的分布式索引。
第五方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面提供的任一分布式索引的构建方法的步骤和/或上述第二方面提供的一种数据存储方法的步骤。
第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的任一分布式索引的构建方法的步骤和/或上述第二方面提供的一种数据存储方法的步骤。
第七方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面提供的任一分布式索引的构建方法的步骤和/或上述第二方面提供的一种数据存储方法的步骤。
本发明实施例有益效果:
以上可见,应用本发明实施例提供的方案,在构建针对地图范围的用于存储时空数据的分布式索引时,首先确定针对地图范围的各个备选层级数量,进而,针对每一备选层级数量,利用关于地图范围的各划分精度,构建该备选层级数量对应的至少一个划分精度组合。之后,便可以从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合。其中,所选取的目标划分精度组合为:在按照各个划分精度组合将各个样本时空数据存储到地图范围后,地图范围的指定范围内存储的样本时空数据的数量最少的划分精度组合,从而,便可以按照目标划分精度组合以及对应的目标备选层级数量,构建针对地图范围的用于存储时空数据的分布式索引。
基于此,在本发明实施例提供的方案中,用于构建针对地图范围的用于存储时空数据的分布式索引的目标划分精度组合以及对应的目标备选层级数量是基于样本数据在地图范围内的分布情况确定的,而样本数据在地图范围内的分布情况可以反映待存储时空数据在地图范围内的分布情况。也就是说,上述目标划分精度组合以及对应的目标备选层级数量可以视为是基于待存储时空数据在地图范围内的分布情况确定的。
这样,上述所确定的用于构建得到针对地图范围的用于存储时空数据的分布式索引的目标划分精度组合以及对应的目标备选层级数量,是在考虑了待存储数据在地图范围内的分布情况下确定的,也就是说,在构建针对地图范围的用于存储时空数据的分布式索引的过程中,考虑了待存储数据在地图范围内的分布情况,从而,可以减少在利用所建立的分布时索引进行数据查询时,所查询得到的无效数据的数量,进而,提高所建立的分布式索引的查询性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式索引的构建方法的流程示意图;
图2为本发明实施例提供的一种数据存储方法的流程示意图;
图3为本发明实施例提供的一种分布式索引的构建装置的结构示意图;
图4为本发明实施例提供的一种数据存储装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,分布式索引的构建方式为:按照人工指定的层级值,以及该层级值指示的不同层级对应的划分精度,对存储时空数据时利用的地图范围进行划分,得到每一层级下该地图范围的多个存储网格;针对每一层级下该地图范围的多个存储网格,利用预设的编码方式,确定各个存储网格的数字编号,得到各个存储网格的数字编号,完成分布式索引的构建。其中,每个存储网格用于存储位于该存储网格所表征的空间范围内的时空数据。
然而,在上述相关技术中,由于人工指定的层级值以及不同层级对应的划分精度是由根据用户经验确定的,因此,可能忽略了待存储时空数据在所利用的地图范围中的分布情况,导致在利用所建立的分布式索引进行数据查询时,可能查询得到较多无效数据,进而,导致所建立的分布式索引的查询性能较差。
为了解决上述技术问题,本发明实施例提供了一种分布式索引的构建方法。
需要说明的是,该构建方法可以适用于任一利用分布式索引对时空数据进行存储的场景,例如,存储某个区域内各个目标的移动轨迹;并且,该构建方法可以应用于任一类型的电子设备,例如,笔记本电脑、台式电脑等,其中,为了提高构建速度,还可以同时利用分布式设备集群中的多台电子设备进行创建。对此,本发明实施例不对该构建方法的应用场景和执行主体进行具体限定。
其中,本发明实施例提供的一种分布式索引的构建方法可以包括如下步骤:
确定在存储时空数据时,针对地图范围的各个备选层级数量;
针对每一备选层级数量,利用关于所述地图范围的各划分精度,构建该备选层级数量对应的至少一个划分精度组合;其中,每一划分精度组合中的划分精度数量与该备选层级数量相同,且不同的划分精度组合中的划分精度不完全相同;
从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合;其中,所述预定条件为:在按照划分精度组合将各个样本时空数据存储到所述地图范围后,所述地图范围的指定范围内存储的样本时空数据的数量最少;
按照所述目标划分精度组合以及对应的目标备选层级数量,构建针对所述地图范围的用于存储时空数据的分布式索引。
以上可见,应用本发明实施例提供的方案,在构建针对地图范围的用于存储时空数据的分布式索引时,首先确定针对地图范围的各个备选层级数量,进而,针对每一备选层级数量,利用关于地图范围的各划分精度,构建该备选层级数量对应的至少一个划分精度组合。之后,便可以从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合。其中,所选取的目标划分精度组合为:在按照各个划分精度组合将各个样本时空数据存储到地图范围后,地图范围的指定范围内存储的样本时空数据的数量最少的划分精度组合,从而,便可以按照目标划分精度组合以及对应的目标备选层级数量,构建针对地图范围的用于存储时空数据的分布式索引。
基于此,在本发明实施例提供的方案中,用于构建针对地图范围的用于存储时空数据的分布式索引的目标划分精度组合以及对应的目标备选层级数量是基于样本数据在地图范围内的分布情况确定的,而样本数据在地图范围内的分布情况可以反映待存储时空数据在地图范围内的分布情况。也就是说,上述目标划分精度组合以及对应的目标备选层级数量可以视为是基于待存储时空数据在地图范围内的分布情况确定的。
这样,上述所确定的用于构建得到针对地图范围的用于存储时空数据的分布式索引的目标划分精度组合以及对应的目标备选层级数量,是在考虑了待存储数据在地图范围内的分布情况下确定的,也就是说,在构建针对地图范围的用于存储时空数据的分布式索引的过程中,考虑了待存储数据在地图范围内的分布情况,从而,可以减少在利用所建立的分布时索引进行数据查询时,所查询得到的无效数据的数量,进而,提高所建立的分布式索引的查询性能。
下面,结合附图对本发明实施例提供的一种分布式索引的构建方法进行具体说明。
图1为本发明实施例提供的一种分布式索引的构建方法的流程示意图。如图1所示,该构建方法可以包括如下步骤:
S101:确定在存储时空数据时,针对地图范围的各个备选层级数量;
在构建用于存储时空数据的分布式索引时,由于时空数据是具有空间维度的数据,因此,待存储时空数据的空间维度是位于某个地图范围内的。进而,所建立的用于存储时空数据的分布式索引所对应的地图范围需要覆盖待存储数据的空间维度所位于的地图范围。
也就是说,上述地图范围可以是基于待存储时空数据的空间维度确定的。
其中,可选的,由于在本发明实施例提供的一种分布式索引的构建方法中,可以利用样本时空数据进行构建,因此,上述地图范围也可以是基于样本时空数据的空间维度确定的。
此外,在确定上述地图范围后,便可以进一步确定在存储时空数据时,针对地图范围的各个备选层级数量。
其中,可选的,可以直接确定各个备选层级数量的具体数值。例如,可以直接确定各个备选层级数量分别为1、2和3。
可选的,可以确定最大备选层级数量,进而,将不大于该最大备选层级数量的各个正整数,确定为上述针对地图范围的各个备选层级数量。例如,可以确定最大备选层级数量为3,则可以确定各个备选层级数量分别为1、2和3。
进一步的,可选的,上述各个备选层级数量的具体数值或者最大备选层级数量可以是用户向电子设备输入的。
可选的,可以预先建立地图范围与各个备选层级数量的对应关系,从而,电子设备在确定上述地图范围后,可以直接根据上述对应关系,确定针对地图范围的各个备选层级数量。
需要说明的是,可选的,一种具体实现方式中,上述地图范围为对真实的地图范围进行归一化的地图范围;相应的,在本具体实现方式中,样本时空数据即为:对空间维度进行归一化后的时空数据。
也就是说,在本具体实现方式中,为了后续的计算方便,可以对真实的地图范围和样本时空数据的空间维度进行归一化,从而,得到利用归一化后的地图范围和对空间维度进行归一化后的时空数据,建立针对归一化后的地图范围的用于存储时空数据的分布式索引。
S102:针对每一备选层级数量,利用关于地图范围的各划分精度,构建该备选层级数量对应的至少一个划分精度组合;
其中,每一划分精度组合中的划分精度数量与该备选层级数量相同,且不同的划分精度组合中的划分精度不完全相同;
在确定针对地图范围的各个备选层级数量后,便可以针对每一备选层级数量,利用关于地图范围的各划分精度,构建该备选层级数量对一个的至少一个划分精度组合。
其中,构建针对地图范围的用于存储时空数据的分布式索引的重要环节是:按照特定的层级值和该层级值指示的不同层级对应的划分精度,对存储时空数据时利用的地图范围进行划分,得到每一层级下该地图范围的多个存储网格。
因此,在本发明实施例提供的一种分布式索引的构建方法中,需要确定最终用于对上述地图范围进行划分的备选层级数量和该备选层级数量所指示的不同层级对应的划分精度。其中,每一层级对应的划分精度是指:在该层级下,将地图范围划分为网格大小为该划分精度所指示的网格大小的至少一个网格。
进而,由于备选层级数量所指示的每一层级均对应一划分精度,且不同层级所对应的划分精度不同,因此,针对每一备选层级数量,所构建的每一划分精度组合中的划分精度数量与该备选层级数量相同,而针对同一备选层级数量的不同划分精度组合中所包括的划分精度不完全相同。并且,所构建的每个划分精度组合中的最大精度所指示的网格大小不能超过上述地图范围。
可选的,可以确定一最小划分精度,进而,在该最小精度上逐一累加该最小划分精度,并将每次累加后所得到的划分精度,作为该地图范围的一划分精度,直至累加后所得到的划分精度所指示的网格大小不超过上述地图范围,且与上述地图范围的差距最小。这样,上述最小化分精度和所累加得到的各个划分精度,即为关于地图范围的各划分精度。
进而,针对每一备选层级数量,便可以从上述关于地图范围的各划分精度中,选取该备选层级数量个划分精度,从而,所选取的划分精度即为该备选层级数量对应的一个划分精度组合。
例如,地图范围为[0,1],最小划分精度为0.1,则可以得到关于地图范围的各划分精度包括:0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9和1。
则当备选层级数量为1时,则可以从上述各划分精度中选取一划分精度作为该备选层级数量对应的一个划分精度组合。示例性的,得到一个划分精度组合为:0.5;则当备选层级数量为2时,则可以从上述各划分精度中选取两个划分精度作为该备选层级数量对应的一个划分精度组合。示例性的,得到一个划分精度组合为:0.5和0.2。
可选的,在构建上述构建各个备选层级数量对应的至少一个划分精度组合时,在确定关于地图范围的各划分精度后,针对每个备选层级数量,可以从关于地图范围的各划分精度中,选取该备选层级数量个划分精度,得到该备选层级数量对应的一个划分精度组合。其中,当需要构建该备选层级数量对应的多个划分精度组合时,每次选取到的该备选层级数量个划分精度是无重复的选取,即每次选取到的该备选层级数量个划分精度不完全相同,以保证所得到的该备选层级数量对应的不同的划分精度组合中的划分精度不完全相同。
可选的,一种具体实现方式中,上述步骤S102可以包括如下步骤11:
步骤11:针对每一备选层级数量,利用关于地图范围的各划分精度,构建该备选层级数量对应的全部划分精度组合。
在本具体实现方式中,针对每一备选层级数量,可以利用关于地图范围的各划分精度,构建该备选层级数量对应的全部划分精度组合,从而,便可以从可以构建得到的针对地图范围的用于存储时空数据的全部分布式索引中,确定最终所构建的针对地图范围的用于存储时空数据的分布式索引,以使得最终所构建的分布式索引能够更好地匹配待存储时空数据在地图范围中的分布情况,从而,极大地提高所建立的分布式索引的查询性能。
其中,在本具体实现方式的一种实施例中,针对每一备选层级数量,构建该备选层级数量对应的全部划分精度组合可以是:针对该备选层级数量,确定关于地图范围的各划分精度中,该备选层级数量个互不相同的划分精度所构成的组合数量,从而,在使得每次抽取到划分精度组合中的划分精度不完全相同的情况下,进行上述组合数量次抽取,从而,每次抽取得到的划分精度组合,即为该备选层级数量对应的一个划分精度组合,进而,在上述组合数量次抽取完成后,便可以构建得到的该备选层级数量对应的全部划分精度组合。
例如,地图范围为[0,1],关于地图范围的各划分精度包括:0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9和1。则当备选层级数量为2时,2个互不相同的划分精度所构成的组合数量为45,则在使得每次抽取到划分精度组合中的划分精度不完全相同的情况下,每次抽取两个划分精度,共进行45次抽取,便可以得到备选层级数量2对应的全部划分精度组合。
此外,在本具体实现方式的另一种实施例中,针对每一备选层级数量,构建该备选层级数量对应的全部划分精度组合可以是:将该备选层级数量所指示的各个层级中,除第一层级外的其他各个层级下的划分精度确定为一个固定值,进而,逐次改变该第一层级下的划分精度,直至遍历上述其他各个层级下的划分精度为一个固定值下的情况下,该第一层级下的可能具有的全部划分精度,从而,得到该备选层级数量对应的多个划分精度组合;接着,改变上述其他各个层级中的至少一个层级下的划分精度,并保持改变后的上述其他各个层级下的划分精度不变,再次逐次改变该第一层级下的划分精度,直至遍历上述其他各个层级下的划分精度为改变后的固定值下的情况下,该第一层级下的可能具有的全部划分精度,再次得到该备选层级数量对应的多个划分精度组合;依次类推,直至遍历得到该备选层级数量对应的全部划分精度组合。
例如,地图范围为[0,1],关于地图范围的各划分精度包括:0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9和1。则当备选层级数量为2时,将备选层级数量2指示的第一层级下的划分精度设定为0.1且保持不变,则按照由小到大的顺序,从0.2开始,逐次改变备选层级数量2指示的第二层级下的划分精度,直至备选层级数量2指示的第二层级下的划分精度为1;这样,便可以得到备选层级数量2对应的9个划分精度组合。
接着,将备选层级数量2指示的第一层级下的划分精度改变为0.2且保持不变,则按照由小到大的顺序,从0.3开始,逐次改变备选层级数量2指示的第二层级下的划分精度,直至备选层级数量2指示的第二层级下的划分精度为1;这样,便可以得到备选层级数量2对应的8个划分精度组合。
再然后,将备选层级数量2指示的第一层级下的划分精度改变为0.3且保持不变,则按照由小到大的顺序,从0.4开始,逐次改变备选层级数量2指示的第二层级下的划分精度,直至备选层级数量2指示的第二层级下的划分精度为1;这样,便可以得到备选层级数量2对应的7个划分精度组合。
依次类推,直至得到备选层级数量2指示的第一层级下的划分精度为0.9,备选层级数量2指示的第二层级下的划分精度为1,便可以遍历得到备选层级2对应的全部45个划分精度组合。
又例如,地图范围为[0,1],关于地图范围的各划分精度包括:0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9和1。则当备选层级数量为3时,将备选层级数量3指示的第一层级下的划分精度设定为0.1且保持不变,将备选层级数量3指示的第二层级下的划分精度设定为0.2且保持不变,则按照由小到大的顺序,从0.3开始,逐次改变备选层级数量3指示的第三层级下的划分精度,直至备选层级数量3指示的第三层级下的划分精度为1;这样,便可以得到备选层级数量3对应的8个划分精度组合。
接着,将备选层级数量3指示的第一层级下的划分精度设定为0.1且保持不变,将备选层级数量3指示的第二层级下的划分精度改变为0.3且保持不变,则按照由小到大的顺序,从0.4开始,逐次改变备选层级数量3指示的第三层级下的划分精度,直至备选层级数量3指示的第三层级下的划分精度为1;这样,便可以得到备选层级数量3对应的7个划分精度组合。
依次类推,直至得到备选层级数量3指示的第一层级下的划分精度为0.1,备选层级数量3指示的第二层级下的划分精度为0.9,备选层级数量3指示的第三层级下的划分精度为1的划分精度组合,得到备选层级数量3指示的第一层级下的划分精度为0.1且保持不变的情况下的共36个划分精度组合;
之后,将备选层级数量3指示的第一层级下的划分精度改变为0.2且保持不变,将备选层级数量3指示的第二层级下的划分精度再次设定为0.3且保持不变,则按照由小到大的顺序,从0.4开始,逐次改变备选层级数量3指示的第三层级下的划分精度,直至备选层级数量3指示的第三层级下的划分精度为1;这样,便可以得到备选层级数量3对应的7个划分精度组合;
接着,将备选层级数量3指示的第一层级下的划分精度设定为0.2且保持不变,将备选层级数量3指示的第二层级下的划分精度改变为0.4且保持不变,则按照由小到大的顺序,从0.5开始,逐次改变备选层级数量3指示的第三层级下的划分精度,直至备选层级数量3指示的第三层级下的划分精度为1;这样,便可以得到备选层级数量3对应的6个划分精度组合;
依次类推,直至得到备选层级数量3指示的第一层级下的划分精度为0.2,备选层级数量3指示的第二层级下的划分精度为0.9,备选层级数量3指示的第三层级下的划分精度为1的划分精度组合,得到备选层级数量3指示的第一层级下的划分精度为0.2且保持不变的情况下的共28个划分精度组合;
进而,循环执行上述改变过程,直至得到备选层级数量3指示的第一层级下的划分精度为0.8,备选层级数量3指示的第二层级下的划分精度为0.9,备选层级数量3指示的第三层级下的划分精度为1,便可以遍历得到备选层级3对应的全部120个划分精度组合。
S103:从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合;
其中,预定条件为:在按照划分精度组合将各个样本时空数据存储到地图范围后,地图范围的指定范围内存储的样本时空数据的数量最少;
构建得到每一备选层级数量对应的至少一个划分精度组合后,便可以得到所构建的多个划分精度组合,进而,便可以从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合。
其中,由于上述预定条件为在按照划分精度组合将各个样本时空数据存储到地图范围后,地图范围的指定范围内存储的样本时空数据的数量最少,因此,当将各个样本时刻数据存储到上述地图范围后,在地图范围的指定范围内存储的样本时刻数据的数量最少。
这样,当利用上述目标划分精度组合以及对应的目标备选层级数量,构建针对地图范围的用于存储时空数据的分布式索引后,那么,在利用所建立的分布时索引进行数据查询时,便可以较大程度的减少所查询得到的无效数据的数量,进而,提高所建立的分布式索引的查询性能。
需要说明的是,所谓将样本时刻数据存储到地图范围是指:针对每个划分精度组合,便可以确定该划分精度组合对应的备选层级数量所指示的各个层级的划分精度,其中,每个层级的划分精度为该划分精度组合中的一个划分精度,且不同层级的划分精度不同。这样,便可以按照每个层级的划分精度,对地图范围进行划分,得到该层级下该地图范围的多个存储网格。进而,针对每个样本时空数据,根据该样本时空数据的空间维度确定该样本时空数据所在的最小正方形网格及该最小正方形网格在地图范围内的位置,进而,在上述所得到的多个层级下的多个存储网格中,确定能覆盖该最小正方形范围的最小存储网格。这样,将该样本时空数据存储到所确定的最小存储网格中,便可以完成将样本时刻数据存储到地图范围的动作。
例如,地图范围为2,一个划分精度组合包括:0.1和0.2,则该划分精度组合对应的备选层级数量为2;则可以确定备选层级数量2所指示的第一层级的划分精度为0.1,备选层级数量2所指示的第二层级的划分精度为0.2;进而,便可以按照第一层级的划分精度0.1,将地图范围划分为大小为0.1*0.1的存储网格,得到第一层级下该地图范围的100个存储网格;并且,可以按照第二层级的划分精度0.2,将地图范围划分为大小为0.2*0.2的存储网格,得到第二层级下该地图范围的25个存储网格。
其中,一个样本时空数据所在的最小正方形网格的尺寸为0.1*0.1,其在地图范围内的位置内的位置为:该最小正方形网格的左上顶点与地图范围内的点(0.3,0.3)重合,右下顶点与地图范围内的点(0.4,0.4)重合,则所划分得到的100个大小为0.1*0.1的存储网格和25个大小为0.2*0.2的存储网格中,能够覆盖上述最小正方形网格的存储网格为:第一层级下的左上顶点为(0.3,0.3),右下顶点为(0.4,0.4)的大小为0.1*0.1的存储网格,进而,便可以将该样本时空数据存储到上述所确定的存储网格中。
相应的,上述所谓地图范围的指定范围内存储的样本时空数据的数量是指:在将各个样本时空数据存储到所划分得到的各个存储网格后,确定地图范围的指定范围在各个层级下所包括的存储网格,进而,针对每一层级,确定该层级下与上述指定范围所包括的各个存储网格中所包括的样本时空数据的数量,进而,将各个层级下所确定的数量相加,即可以得到地图范围的指定范围内存储的样本时空数据的数量。
其中,需要说明的是,地图范围的指定范围在各个层级下所包括的存储网格包括:各个层级下完全位于该指定范围内的存储网格和部分位于该指定范围内的存储网格;也就是,地图范围的指定范围在各个层级下所包括的存储网格包括:各个层级下,与该指定范围存在交集的各个存储网格。
可选的,一种具体实现方式中,上述步骤S103可以包括如下步骤21-22:
步骤21:针对所构建的每一划分精度组合,按照该划分精度组合,将各个样本时空数据存储到地图范围中,并在存储后,确定存储到地图范围的指定范围内的样本时空数据的数量,作为该划分精度组合对应的数量;
步骤22:获取最小数量对应的划分精度组合,作为目标划分精度组合。
在本具体实现方式中,针对所构建的每一划分精度组合,可以按照该划分精度组合,将各个样本时空数据存储到地图范围中,并在存储后,确定存储到地图范围的指定范围内的样本时空数据的数量,作为该划分精度组合对应的数量。这样,便可以得到全部划分精度组合中,每个划分精度组合对应的数量,即得到多个数量。
进而,便可以从所得到的每个划分精度组合对应的数量中确定最小数量,进而,便可以获取最小数量对应的划分精度组合,作为目标划分精度组合。
可选的,另一种具体实现方式中,上述步骤S103可以包括如下步骤31-34:
步骤31:从所构建的多个划分精度组合中,选取一个划分精度组合,作为基准组合;
步骤32:针对基准组合,按照基准组合,将各个样本时空数据存储到地图范围中,并在存储后,确定存储到地图范围的指定范围内的样本时空数据的数量,记录所确定的数量;
步骤33:针对除基准组合之外的每个划分精度组合,按照该划分精度组合,将各个样本时空数据存储到地图范围中,并在存储后,确定存储到地图范围的指定范围内的样本时空数据的数量;当所确定的数量小于当前所记录的数量时,将当前所记录的数量替换为所确定的数量;否则,丢弃所确定的数量;
步骤34:在遍历所构建的全部划分精度组合后,确定当前所记录的数量所对应的划分精度组合,作为目标划分精度组合。
在本具体实现方式中,可以在构建得到多个划分精度组合后,从中选取一个划分精度组合,作为基准组合;进而,便可以针对基准组合,按照基准组合,将各个样本时空数据存储到地图范围中,并在存储后,确定存储到地图范围的指定范围内的样本时空数据的数量,记录所确定的数量。
进而,获取除基准组合之外的一个划分精度组合,按照该划分精度组合,将各个样本时空数据存储到地图范围中,并在存储后,确定存储到地图范围的指定范围内的样本时空数据的数量。这样,便可以计算上述所确定的数量与当前记录的针对基准组合所确定的数量的大小。从而,当上述所确定的数量小于当前记录的针对基准组合所确定的数量时,便可以将上述所确定的数量作为当前记录的数量,从而,删除所记录的针对基准组合所确定的数量。相应的,当上述所确定的数量不小于当前记录的针对基准组合所确定的数量时,便可以保留当前记录的针对基准组合所确定的数量,丢弃上述所确定的数量。
再之后,继续从未使用的划分精度组合中,选取一个划分精度组合,按照该划分精度组合,将各个样本时空数据存储到地图范围中,并在存储后,确定存储到地图范围的指定范围内的样本时空数据的数量。这样,便可以计算上述所确定的数量与当前记录的数量的大小。从而,当上述所确定的数量小于当前记录的数量时,便可以将当前所记录的数量替换为上述所确定的数量。相应的,当上述所确定的数量不小于当前记录的针对基准组合所确定的数量时,便可以保留当前记录的数量,丢弃上述所确定的数量。
基于此,也就是说,针对除基准组合之外的每个划分精度组合,按照该划分精度组合,将各个样本时空数据存储到地图范围中,并在存储后,确定存储到地图范围的指定范围内的样本时空数据的数量;当所确定的数量小于当前所记录的数量时,将当前所记录的数量替换为所确定的数量;否则,丢弃所确定的数量。
这样,当遍历所构建的全部划分精度组合后,当前所记录的数量即为:按照各个划分精度组合将各个样本时空数据存储到地图范围后,地图范围的指定范围内存储的样本时空数据的最小数量,从而,便可以将该当前所记录的数量所对应的划分精度组合,作为目标划分精度组合。
其中,可选的,可以将第一个构建的划分精度组合确定为基准组合,进而,在后续每次构建得到一个划分精度组合后,便可以即刻执行上述步骤23,直至构建得到最后一个划分精度组合后,最后一次执行上述步骤23,并在最后一次执行完上述步骤23后,执行步骤23,得到目标划分精度组合。
S104:按照目标划分精度组合以及对应的目标备选层级数量,构建针对地图范围的用于存储时空数据的分布式索引。
在得到目标划分精度组合后,由于划分精度组合中所包括的划分精度的数量与所对应的备选层级数量相同,因此,便可以根据目标划分精度组合确定对应的目标备选层级数量。
进而,便可以在目标划分精度组合所包括的各个划分精度中,确定目标备选层级数量所指示的每个层级的划分精度,从而,对上述地图范围进行划分,得到目标备选层级数量所指示的每个层级下的上述地图范围的多个存储网格。
这样,在得到上述多个存储网格后,针对每个存储网格,便可以根据该网格范围所对应的地图经纬度等位置信息,利用预设的编码方式,确定该存储网格的数字编码,从而,得到该存储网格的分布式索引。
基于此,在得到上述多个存储网格中每个网格的数字编码后,便可以得到构建完成的针对地图范围的用于存储时空数据的分布式索引。
以上可见,上述所确定的用于构建得到针对地图范围的用于存储时空数据的分布式索引的目标划分精度组合以及对应的目标备选层级数量,是在考虑了待存储数据在地图范围内的分布情况下确定的,也就是说,在构建针对地图范围的用于存储时空数据的分布式索引的过程中,考虑了待存储数据在地图范围内的分布情况,从而,可以减少在利用所建立的分布时索引进行数据查询时,所查询得到的无效数据的数量,进而,提高所建立的分布式索引的查询性能。
相应于上述本发明实施例提供的一种分布式索引的构建方法,本发明实施例还提供了一种基于构建得到的分布式索引的数据存储方法,且该分布式索引是利用上述本发明实施例提供的任一种分布式索引的构建方法构建得到的。为了便于描述,以下简称一种数据存储方法。
也就是说,本发明实施例提供的一种数据存储方法是在上述本发明实施例提供的一种分布式索引的构建方法的基础上实现的。基于此,在利用上述本发明实施例提供的一种分布式索引的构建方法构建得到针对地图范围的用于存储时空数据的分布式索引后,便可以利用所构建的分布式索引,执行本发明实施例提供的一种数据存储方法将待存储时空数据存储到上述地图范围内,即将待存储时空数据按照上述本发明实施例提供的一种分布式索引的构建方法构建得到针对地图范围的用于存储时空数据的分布式索引进行存储,并进而确定所存储的待存储时刻数据的分布式索引。
进而,该存储方法可以适用于任一利用分布式索引对时空数据进行存储的场景,例如,存储某个区域内各个目标的移动轨迹;并且,该存储方法可以应用于任一类型的电子设备,例如,笔记本电脑、台式电脑等,其中,为了提高构建速度,还可以同时利用分布式设备集群中的多台电子设备进行数据存储。对此,本发明实施例不对该存储方法的应用场景和执行主体进行具体限定。
其中,本发明实施例提供的一种数据存储方法,可以包括如下步骤:
获取待存储时空数据;
根据所述待存储时空数据的空间维度,确定所述待存储时空数据所属的存储网格;其中,所述存储网格为按照目标划分精度组合以及对应的目标备选层级数量对预设的地图范围进行划分得到的;
将所述待存储时空数据存储到所述存储网格,并将所述存储网格的数字编码作为所述待存储时空数据的分布式索引。
以上可见,上述所确定的用于构建得到针对地图范围的用于存储时空数据的分布式索引的目标划分精度组合以及对应的目标备选层级数量,是在考虑了待存储数据在地图范围内的分布情况下确定的,也就是说,在构建针对地图范围的用于存储时空数据的分布式索引的过程中,考虑了待存储数据在地图范围内的分布情况,从而,利用上述分布式索引存储待存储数据后,在进行数据查询时,可以减少在利用所建立的分布时索引进行数据查询时,所查询得到的无效数据的数量,进而,提高所建立的分布式索引的查询性能。
下面,结合附图对本发明实施例提供的一种数据存储方法进行具体说明。
图2为本发明实施例提供的一种数据存储方法的流程示意图。如图2所示,该数据存储方法可以包括如下步骤:
S201:获取待存储时空数据;
S202:根据待存储时空数据的空间维度,确定待存储时空数据所属的存储网格;
其中,存储网格为按照目标划分精度组合以及对应的目标备选层级数量对预设的地图范围进行划分得到的;
S203:将待存储时空数据存储到存储网格,并将存储网格的数字编码作为待存储时空数据的分布式索引。
首先获取待存储时空数据,进而,便可以根据该待存储时空数据的空间维度确定该待存储时空数据所在的最小正方形网格及该最小正方形网格在地图范围内的位置。
这样,由于已经按照目标划分精度组合以及对应的目标备选层级数量对预设的地图范围进行划分得到了多个存储网格,从而,便可以根据上述所确定的待存储时空数据所在的最小正方形网格及该最小正方形网格在地图范围内的位置,在所得到的多个存储网格中确定待存储时空数据所属的存储网格,即在所得到的多个存储网格中确定能够覆盖待存储时空数据所在的最小正方形网格的最小存储网格。
进而,便可以将待存储时空数据存储到所确定的其所属的存储网格中,即完成对待存储时空数据的存储。进一步的,便可以将所属的存储网格的数字编码作为待存储时空数据的分布式索引。
以上可见,上述所确定的用于构建得到针对地图范围的用于存储时空数据的分布式索引的目标划分精度组合以及对应的目标备选层级数量,是在考虑了待存储数据在地图范围内的分布情况下确定的,也就是说,在构建针对地图范围的用于存储时空数据的分布式索引的过程中,考虑了待存储数据在地图范围内的分布情况,从而,利用上述分布式索引存储待存储数据后,在进行数据查询时,可以减少在利用所建立的分布时索引进行数据查询时,所查询得到的无效数据的数量,进而,提高所建立的分布式索引的查询性能。
相对于上述本发明实施例提供的一种分布式索引的构建方法。本发明实施例还提供了一种分布式索引的构建装置。
图3为本发明实施例提供的一种分布式索引的构建装置的结构示意图,如图3所示,该装置可以包括如下模块:
数量获取模块310,用于确定在存储时空数据时,针对地图范围的各个备选层级数量;
组合确定模块320,用于针对每一备选层级数量,利用关于所述地图范围的各划分精度,构建该备选层级数量对应的至少一个划分精度组合;其中,每一划分精度组合中的划分精度数量与该备选层级数量相同,且不同的划分精度组合中的划分精度不完全相同;
组合选取模块330,用于从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合;其中,所述预定条件为:在按照划分精度组合将各个样本时空数据存储到所述地图范围后,所述地图范围的指定范围内存储的样本时空数据的数量最少;
索引构建模块340,用于按照所述目标划分精度组合以及对应的目标备选层级数量,构建针对所述地图范围的用于存储时空数据的分布式索引。
以上可见,应用本发明实施例提供的方案,在构建针对地图范围的用于存储时空数据的分布式索引时,首先确定针对地图范围的各个备选层级数量,进而,针对每一备选层级数量,利用关于地图范围的各划分精度,构建该备选层级数量对应的至少一个划分精度组合。之后,便可以从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合。其中,所选取的目标划分精度组合为:在按照各个划分精度组合将各个样本时空数据存储到地图范围后,地图范围的指定范围内存储的样本时空数据的数量最少的划分精度组合,从而,便可以按照目标划分精度组合以及对应的目标备选层级数量,构建针对地图范围的用于存储时空数据的分布式索引。
基于此,在本发明实施例提供的方案中,用于构建针对地图范围的用于存储时空数据的分布式索引的目标划分精度组合以及对应的目标备选层级数量是基于样本数据在地图范围内的分布情况确定的,而样本数据在地图范围内的分布情况可以反映待存储时空数据在地图范围内的分布情况。也就是说,上述目标划分精度组合以及对应的目标备选层级数量可以视为是基于待存储时空数据在地图范围内的分布情况确定的。
这样,上述所确定的用于构建得到针对地图范围的用于存储时空数据的分布式索引的目标划分精度组合以及对应的目标备选层级数量,是在考虑了待存储数据在地图范围内的分布情况下确定的,也就是说,在构建针对地图范围的用于存储时空数据的分布式索引的过程中,考虑了待存储数据在地图范围内的分布情况,从而,可以减少在利用所建立的分布时索引进行数据查询时,所查询得到的无效数据的数量,进而,提高所建立的分布式索引的查询性能。
可选的,一种具体实现方式中,所述组合选取模块330具体用于:
针对所构建的每一划分精度组合,按照该划分精度组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量,作为该划分精度组合对应的数量;
获取最小数量对应的划分精度组合,作为目标划分精度组合。
可选的,一种具体实现方式中,所述组合选取模块330具体用于:
从所构建的多个划分精度组合中,选取一个划分精度组合,作为基准组合;
针对所述基准组合,按照所述基准组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量,记录所确定的数量;
针对除所述基准组合之外的每个划分精度组合,按照该划分精度组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量;当所确定的数量小于当前所记录的数量时,将当前所记录的数量替换为所确定的数量;否则,丢弃所确定的数量;
在遍历所构建的全部划分精度组合后,确定当前所记录的数量所对应的划分精度组合,作为目标划分精度组合。
可选的,一种具体实现方式中,所述索引构建模块340具体用于:
根据所述目标划分精度组合以及对应的目标备选层级数量,确定所述目标备选层级数量个层级中,每一层级对应的划分精度;
按照每一层级的划分精度,对所述地图范围进行划分,得到该层级下的所述地图范围的各个存储网格;
按照预设的编码方式,为所划分得到的每一存储网格确定数字编码,得到针对所述地图范围的用于存储时空数据的分布式索引。
可选的,一种具体实现方式中,所述组合确定模块320具体用于:
针对每一备选层级数量,利用关于所述地图范围的各划分精度,构建该备选层级数量对应的全部划分精度组合。
可选的,一种具体实现方式中,所述地图范围为:对真实的地图范围进行归一化的地图范围;样本时空数据为:对空间维度进行归一化后的时空数据。
相对于上述本发明实施例提供的一种数据存储方法,本发明实施例还提供了一种数据存储装置。其中,该数据存储装置是基于本发明实施例提供的任一分布式索引构建方法构建的分布式索引的。
图4为本发明实施例提供的一种数据存储装置的结构示意图,如图4所示,该装置可以包括如下模块:
数据获取模块410,用于获取待存储时空数据;
网格确定模块420,用于根据所述待存储时空数据的空间维度,确定所述待存储时空数据所属的存储网格;其中,所述存储网格为按照目标划分精度组合以及对应的目标备选层级数量对预设的地图范围进行划分得到的;
数据存储模块430,用于将所述待存储时空数据存储到所述存储网格,并将所述存储网格的数字编码作为所述待存储时空数据的分布式索引。
以上可见,上述所确定的用于构建得到针对地图范围的用于存储时空数据的分布式索引的目标划分精度组合以及对应的目标备选层级数量,是在考虑了待存储数据在地图范围内的分布情况下确定的,也就是说,在构建针对地图范围的用于存储时空数据的分布式索引的过程中,考虑了待存储数据在地图范围内的分布情况,从而,利用上述分布式索引存储待存储数据后,在进行数据查询时,可以减少在利用所建立的分布时索引进行数据查询时,所查询得到的无效数据的数量,进而,提高所建立的分布式索引的查询性能。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现上述本发明实施例提供的任一分布式索引的构建方法和/或上述本发明实施例提供的一种数据存储方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述本发明实施例提供的任一分布式索引的构建方法和/或上述本发明实施例提供的一种数据存储方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述本发明实施例提供的任一分布式索引的构建方法和/或上述本发明实施例提供的一种数据存储方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例,以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种分布式索引的构建方法,其特征在于,所述方法包括:
确定在存储时空数据时,针对地图范围的各个备选层级数量;
针对每一备选层级数量,利用关于所述地图范围的各划分精度,构建该备选层级数量对应的至少一个划分精度组合;其中,每一划分精度组合中的划分精度数量与该备选层级数量相同,且不同的划分精度组合中的划分精度不完全相同;
从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合;其中,所述预定条件为:在按照划分精度组合将各个样本时空数据存储到所述地图范围后,所述地图范围的指定范围内存储的样本时空数据的数量最少;
按照所述目标划分精度组合以及对应的目标备选层级数量,构建针对所述地图范围的用于存储时空数据的分布式索引。
2.根据权利要求1所述的方法,其特征在于,所述从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合的步骤,包括:
针对所构建的每一划分精度组合,按照该划分精度组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量,作为该划分精度组合对应的数量;
获取最小数量对应的划分精度组合,作为目标划分精度组合。
3.根据权利要求1所述的方法,其特征在于,所述从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合的步骤,包括:
从所构建的多个划分精度组合中,选取一个划分精度组合,作为基准组合;
针对所述基准组合,按照所述基准组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量,记录所确定的数量;
针对除所述基准组合之外的每个划分精度组合,按照该划分精度组合,将各个样本时空数据存储到所述地图范围中,并在存储后,确定存储到所述地图范围的指定范围内的样本时空数据的数量;当所确定的数量小于当前所记录的数量时,将当前所记录的数量替换为所确定的数量;否则,丢弃所确定的数量;
在遍历所构建的全部划分精度组合后,确定当前所记录的数量所对应的划分精度组合,作为目标划分精度组合。
4.根据权利要求1所述的方法,其特征在于,所述按照所述目标划分精度组合以及对应的目标备选层级数量,构建针对所述地图范围的用于存储时空数据的分布式索引的步骤,包括:
根据所述目标划分精度组合以及对应的目标备选层级数量,确定所述目标备选层级数量个层级中,每一层级对应的划分精度;
按照每一层级的划分精度,对所述地图范围进行划分,得到该层级下的所述地图范围的各个存储网格;
按照预设的编码方式,为所划分得到的每一存储网格确定数字编码,得到针对所述地图范围的用于存储时空数据的分布式索引。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述针对每一备选层级,利用关于所述地图范围的各划分精度,构建该备选层级对应的至少一个划分精度组合的步骤,包括:
针对每一备选层级数量,利用关于所述地图范围的各划分精度,构建该备选层级数量对应的全部划分精度组合。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述地图范围为:对真实的地图范围进行归一化的地图范围;样本时空数据为:对空间维度进行归一化后的时空数据。
7.一种基于权利要求1-6任一项所述的方法构建的分布式索引的数据存储方法,其特征在于,所述方法包括:
获取待存储时空数据;
根据所述待存储时空数据的空间维度,确定所述待存储时空数据所属的存储网格;其中,所述存储网格为按照目标划分精度组合以及对应的目标备选层级数量对预设的地图范围进行划分得到的;
将所述待存储时空数据存储到所述存储网格,并将所述存储网格的数字编码作为所述待存储时空数据的分布式索引。
8.一种分布式索引的构建装置,其特征在于,所述装置包括:
数量获取模块,用于确定在存储时空数据时,针对地图范围的各个备选层级数量;
组合确定模块,用于针对每一备选层级数量,利用关于所述地图范围的各划分精度,构建该备选层级数量对应的至少一个划分精度组合;其中,每一划分精度组合中的划分精度数量与该备选层级数量相同,且不同的划分精度组合中的划分精度不完全相同;
组合选取模块,用于从所构建的多个划分精度组合中,选取符合预定条件的目标划分精度组合;其中,所述预定条件为:在按照划分精度组合将各个样本时空数据存储到所述地图范围后,所述地图范围的指定范围内存储的样本时空数据的数量最少;
索引构建模块,用于按照所述目标划分精度组合以及对应的目标备选层级数量,构建针对所述地图范围的用于存储时空数据的分布式索引。
9.一种基于权利要求1-6任一项所述的方法构建的分布式索引的数据存储装置,其特征在于,所述装置包括:
数据获取模块,用于获取待存储时空数据;
网格确定模块,用于根据所述待存储时空数据的空间维度,确定所述待存储时空数据所属的存储网格;其中,所述存储网格为按照目标划分精度组合以及对应的目标备选层级数量对预设的地图范围进行划分得到的;
数据存储模块,用于将所述待存储时空数据存储到所述存储网格,并将所述存储网格的数字编码作为所述待存储时空数据的分布式索引。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤和/或权利要求7所述的方法步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤和/或权利要求7所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011183760.2A CN112307025B (zh) | 2020-10-29 | 2020-10-29 | 一种分布式索引的构建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011183760.2A CN112307025B (zh) | 2020-10-29 | 2020-10-29 | 一种分布式索引的构建方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112307025A true CN112307025A (zh) | 2021-02-02 |
CN112307025B CN112307025B (zh) | 2024-06-04 |
Family
ID=74332184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011183760.2A Active CN112307025B (zh) | 2020-10-29 | 2020-10-29 | 一种分布式索引的构建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307025B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11174954A (ja) * | 1997-12-17 | 1999-07-02 | Mitsubishi Electric Corp | 地図データ管理方法、経路探索装置および記憶媒体 |
WO2003098578A1 (en) * | 2002-05-17 | 2003-11-27 | Xanavi Informatics Corporation | Map data product, map data processing program product, map data processing method, and map data processing device |
WO2004008073A1 (ja) * | 2002-07-17 | 2004-01-22 | Xanavi Informatics Corporation | ナビゲーション方法、ナビゲーションシステムのための処理方法、地図データ管理装置、地図データ管理プログラム、及びコンピュータプログラム |
CN101370025A (zh) * | 2007-08-17 | 2009-02-18 | 北京灵图软件技术有限公司 | 地理信息数据的存储方法、调度方法及管理系统 |
WO2009042271A1 (en) * | 2007-09-28 | 2009-04-02 | Hewlett-Packard Development Company, L.P. | Method and system for visualizing distributed systems |
JP2012058836A (ja) * | 2010-09-06 | 2012-03-22 | Yahoo Japan Corp | 分散処理システム及び分散処理方法 |
US20130016106A1 (en) * | 2011-07-15 | 2013-01-17 | Green Charge Networks Llc | Cluster mapping to highlight areas of electrical congestion |
JP2013130909A (ja) * | 2011-12-20 | 2013-07-04 | Yahoo Japan Corp | 情報処理装置及び方法 |
CN103365948A (zh) * | 2012-03-30 | 2013-10-23 | 富士通株式会社 | 数据管理设备和数据管理方法 |
WO2014057524A1 (ja) * | 2012-10-09 | 2014-04-17 | 三菱電機株式会社 | 地図データ記憶装置、地図表示装置 |
CN104182453A (zh) * | 2014-06-20 | 2014-12-03 | 银江股份有限公司 | 一种面向海量历史浮动车数据的分布式地图匹配方法 |
CN109299060A (zh) * | 2018-11-22 | 2019-02-01 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于影像矩形分块的分布式文件方法及系统 |
US20190188305A1 (en) * | 2017-12-15 | 2019-06-20 | Conduce, Inc. | Spatial and temporal data storage and retrieval |
CN110399446A (zh) * | 2019-07-26 | 2019-11-01 | 广州市城市规划勘测设计研究院 | 大规模时空数据的可视化方法、装置、设备及存储介质 |
CN110597935A (zh) * | 2019-08-05 | 2019-12-20 | 北京云和时空科技有限公司 | 一种空间分析方法和装置 |
CN111190987A (zh) * | 2019-12-31 | 2020-05-22 | 武汉中海庭数据技术有限公司 | 基于行政区划的地图数据分布式存储系统 |
-
2020
- 2020-10-29 CN CN202011183760.2A patent/CN112307025B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11174954A (ja) * | 1997-12-17 | 1999-07-02 | Mitsubishi Electric Corp | 地図データ管理方法、経路探索装置および記憶媒体 |
WO2003098578A1 (en) * | 2002-05-17 | 2003-11-27 | Xanavi Informatics Corporation | Map data product, map data processing program product, map data processing method, and map data processing device |
WO2004008073A1 (ja) * | 2002-07-17 | 2004-01-22 | Xanavi Informatics Corporation | ナビゲーション方法、ナビゲーションシステムのための処理方法、地図データ管理装置、地図データ管理プログラム、及びコンピュータプログラム |
CN101370025A (zh) * | 2007-08-17 | 2009-02-18 | 北京灵图软件技术有限公司 | 地理信息数据的存储方法、调度方法及管理系统 |
WO2009042271A1 (en) * | 2007-09-28 | 2009-04-02 | Hewlett-Packard Development Company, L.P. | Method and system for visualizing distributed systems |
US20090089421A1 (en) * | 2007-09-28 | 2009-04-02 | Electronic Data Systems Corporation | Method and System for Visualizing Distributed Systems |
JP2012058836A (ja) * | 2010-09-06 | 2012-03-22 | Yahoo Japan Corp | 分散処理システム及び分散処理方法 |
US20130016106A1 (en) * | 2011-07-15 | 2013-01-17 | Green Charge Networks Llc | Cluster mapping to highlight areas of electrical congestion |
JP2013130909A (ja) * | 2011-12-20 | 2013-07-04 | Yahoo Japan Corp | 情報処理装置及び方法 |
CN103365948A (zh) * | 2012-03-30 | 2013-10-23 | 富士通株式会社 | 数据管理设备和数据管理方法 |
WO2014057524A1 (ja) * | 2012-10-09 | 2014-04-17 | 三菱電機株式会社 | 地図データ記憶装置、地図表示装置 |
CN104182453A (zh) * | 2014-06-20 | 2014-12-03 | 银江股份有限公司 | 一种面向海量历史浮动车数据的分布式地图匹配方法 |
US20190188305A1 (en) * | 2017-12-15 | 2019-06-20 | Conduce, Inc. | Spatial and temporal data storage and retrieval |
CN109299060A (zh) * | 2018-11-22 | 2019-02-01 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于影像矩形分块的分布式文件方法及系统 |
CN110399446A (zh) * | 2019-07-26 | 2019-11-01 | 广州市城市规划勘测设计研究院 | 大规模时空数据的可视化方法、装置、设备及存储介质 |
CN110597935A (zh) * | 2019-08-05 | 2019-12-20 | 北京云和时空科技有限公司 | 一种空间分析方法和装置 |
CN111190987A (zh) * | 2019-12-31 | 2020-05-22 | 武汉中海庭数据技术有限公司 | 基于行政区划的地图数据分布式存储系统 |
Non-Patent Citations (3)
Title |
---|
DAI B R, ET AL: "Efficient map/reduce-based dbscan algorithm with optimized data partition", 2012 IEEE FIFTH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING, pages 59 - 66 * |
郜允兵: "土地利用时空数据管理与分析关键技术研究", 中国农业大学, pages 1 - 146 * |
黄志: "基于多级格网与STR树的混合索引研究", 浙江大学, pages 1 - 69 * |
Also Published As
Publication number | Publication date |
---|---|
CN112307025B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11392644B2 (en) | Optimized navigable key-value store | |
CN109522382B (zh) | 空间数据网格化统计方法及装置 | |
CN105159895A (zh) | 用于存储和查询数据的方法和系统 | |
US11429581B2 (en) | Spatial-temporal query for cognitive IoT contexts | |
CN111104457A (zh) | 基于分布式数据库的海量时空数据管理方法 | |
CN111552694A (zh) | 一种自适应地理空间网格索引方法 | |
CN112015851A (zh) | 一种基于北斗网格码的时空数据存储及检索方法 | |
CN111858607B (zh) | 数据处理方法、装置、电子设备和计算机可读介质 | |
CN113722415B (zh) | 点云数据的处理方法、装置、电子设备及存储介质 | |
CN113326343B (zh) | 基于多级网格和文件索引的路网数据存储方法及系统 | |
CN113468080B (zh) | 一种全闪元数据的缓存方法、系统及相关装置 | |
KR102354343B1 (ko) | 블록체인 기반의 지리공간 데이터를 위한 공간 데이터 인덱싱 방법 및 장치 | |
CN112307025B (zh) | 一种分布式索引的构建方法及装置 | |
CN111666302A (zh) | 用户排名的查询方法、装置、设备及存储介质 | |
CN117634704A (zh) | 一种用于旅游景点的选址优化方法、系统、设备及介质 | |
CN110968267A (zh) | 数据管理方法、装置、服务器及系统 | |
CN118132566B (zh) | 数据库索引优化方法 | |
CN117992562B (zh) | 数据处理方法、数据查询方法、计算设备、存储介质及程序产品 | |
CN115017215B (zh) | 数据处理方法及计算设备 | |
CN117391150B (zh) | 一种基于分层池化图哈希的图数据检索模型训练方法 | |
CN117271480B (zh) | 数据处理方法、装置、电子设备及介质 | |
CN114238704B (zh) | 树形索引的拆分方法、数据访问方法、装置及电子设备 | |
KR20230096180A (ko) | 블록체인 기반의 지리 공간 포인트 데이터 인덱싱을 위한 공간 lsm 트리 장치 및 방법 | |
CN115858555A (zh) | 语句执行时长的预测方法、装置及存储介质 | |
CN117688045A (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 |