CN113688193A - 轨迹数据的存储与索引方法、装置、电子设备及可读介质 - Google Patents
轨迹数据的存储与索引方法、装置、电子设备及可读介质 Download PDFInfo
- Publication number
- CN113688193A CN113688193A CN202010424338.5A CN202010424338A CN113688193A CN 113688193 A CN113688193 A CN 113688193A CN 202010424338 A CN202010424338 A CN 202010424338A CN 113688193 A CN113688193 A CN 113688193A
- Authority
- CN
- China
- Prior art keywords
- track data
- index
- query
- level index
- data
- 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 68
- 238000013500 data storage Methods 0.000 title abstract description 17
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 13
- 238000005070 sampling Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor 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/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/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
- G06F16/2264—Multidimensional index structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例提供一种轨迹数据的存储与索引方法、装置、电子设备及计算机可读介质,该方法包括:获取当前设备的轨迹数据;根据当前设备的设备号与轨迹数据的时间戳字段构建第一级索引,并以第一级索引为索引部分对轨迹数据进行存储;根据轨迹数据与预设地理范围划分的多个网格单元进行匹配,确定轨迹数据的GeoHash编码;根据轨迹数据的GeoHash编码和轨迹数据的时间戳字段构建第二级索引,并以第二级索引为索引部分对第一级索引进行存储;接收查询指令,根据查询指令、第一级索引与第二级索引在轨迹数据中确定目标轨迹数据。本公开提供的技术方案能够兼顾轨迹数据在查询场景中基于设备的查询需求与基于空间范围的查询需求,且兼顾这两种方式的查询效率。
Description
技术领域
本公开涉及数据存储领域,尤其涉及一种轨迹数据的存储与索引方法、装置、电子设备及计算机可读介质。
背景技术
轨迹数据是时空环境下,通过对一个或多个移动对象运动过程的采样所获得的数据信息,包括采样点位置、采样时间、速度等,这些采样点数据信息根据采样先后顺序构成了轨迹数据。随着无线通信和全球定位技术的发展,以物联网(Internet of Things,IOT)轨迹数据为代表的时空数据呈现爆炸式增长。面对海量和复杂的时空数据,传统数据库难以解决其高效存储管理和发布的迫切需求。为解决高效处理大数据,高性能、列存储、可伸缩、实时读写的分布式数据库HBase应运而生,极大弥补传统数据库的不足。
由于HBase是键值对(key-value)式数据库,仅支持单一维度查询方式:基于RowKey的索引查询方式。RowKey是HBase中的唯一行标识。
在轨迹数据的查询场景中,通常要求既能按照设备号对轨迹数据进行查询,又能按照空间范围对轨迹数据进行查询。因此,Hbase虽然能够满足轨迹数据高效存储管理和发布的存储需求,但其单一维度查询方式却无法满足轨迹数据包括基于设备查询以及基于空间查询的多维查询需求。
因此,需要一种新的轨迹数据的存储与索引方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开实施例提供一种轨迹数据的存储与索引方法、装置、电子设备及计算机可读介质,进而至少在一定程度上实现轨迹数据的基于设备查询以及基于空间查询的多维查询方式,提高查询效率。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的第一方面,提出一种轨迹数据的存储与索引方法,该方法包括:获取当前设备的轨迹数据;根据所述当前设备的设备号与所述轨迹数据的时间戳字段构建第一级索引,并以所述第一级索引为索引部分对所述轨迹数据进行存储;根据所述轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定所述轨迹数据的GeoHash编码;根据所述轨迹数据的GeoHash编码和所述轨迹数据的时间戳字段构建第二级索引,并以所述第二级索引为索引部分对所述第一级索引进行存储;接收查询指令,根据所述查询指令、所述第一级索引与所述第二级索引在所述轨迹数据中确定目标轨迹数据。
在本公开的一种示例性实施例中,根据所述当前设备的设备号与所述轨迹数据的时间戳字段构建第一级索引包括:根据预设时间粒度对所述轨迹数据的所述时间戳字段取整,获得所述轨迹数据的时间索引;将所述当前设备的所述设备号与所述轨迹数据的所述时间索引进行拼接,获得所述第一级索引。
在本公开的一种示例性实施例中,以所述第一级索引为索引部分对所述轨迹数据进行存储包括:将具有相同的所述时间索引的所述轨迹数据确定为数据集合;根据预设时间粒度对所述数据集合中所述轨迹数据的时间戳字段取余,将取余结果确定为所述轨迹数据的时间字段;以与所述数据集合的时间索引相同的所述第一级索引为所述数据集合的索引部分,以所述时间字段为列名将所述数据集合中所述轨迹数据按列存储为所述索引部分对应的数据部分。
在本公开的一种示例性实施例中,根据所述轨迹数据的GeoHash编码和所述轨迹数据的时间戳字段构建第二级索引,并以所述第二级索引为索引部分对所述第一级索引进行存储包括:根据预设时间粒度对所述时间戳字段取整,获得所述轨迹数据的时间索引;将所述轨迹数据的所述GeoHash编码与所述时间索引进行拼接,获得所述第二级索引;以所述第二级索引为索引部分,时间索引与所述第二级索引的时间索引相同的所述第一级索引为数据部分存储所述第一级索引。
在本公开的一种示例性实施例中,所述查询指令包括查询字段与查询标识符;其中,接收查询指令,根据所述查询指令、所述第一级索引与所述第二级索引在所述轨迹数据中确定目标轨迹数据,包括:若所述查询标识符为第一标识,则获取所述查询字段的设备号字段与时间字段;根据所述设备号字段与所述时间字段构建查询键值;将所述查询键值与所述第一级索引进行匹配,获得匹配成功的所述目标轨迹数据。
在本公开的一种示例性实施例中,所述查询指令包括查询字段与查询标识符;其中,根据所述查询索引、所述第一级索引与所述第二级索引在所述轨迹数据中确定目标轨迹数据包括:若所述查询标识符为第二标识,则获取所述查询字段的空间范围字段与时间字段;根据所述空间范围字段与多个所述网格单元进行匹配,获得与所述空件范围字段描述的经纬度范围相交的查询网格单元;根据所述查询网格单元的GeoHash编码与所述时间字段构建查询键值;将所述查询键值与所述第二级索引进行匹配,获得匹配成功的目标索引;将所述目标索引与所述第一级索引进行匹配,获得匹配成功的所述目标轨迹数据。
在本公开的一种示例性实施例中,根据所述轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定所述轨迹数据的GeoHash编码:包括:对所述预设地理范围进行四叉树划分,获得多个所述网格单元;按照GeoHash编码规则对多个所述网格单元进行编码,获得多个所述网格单元的GeoHash编码;将所述轨迹数据的经纬度范围与多个所述网格单元进行匹配,获得与所述轨迹数据的经纬度范围相交的网格单元;确定与所述轨迹数据的经纬度范围相交的所述网格单元的GeoHash编码为所述轨迹数据的GeoHash编码。
根据本公开实施例的第二方面,提出一种轨迹数据的存储与索引装置,该装置包括:数据获取模块,配置为获取当前设备的轨迹数据;第一存储模块,配置为根据所述当前设备的设备号与所述轨迹数据的时间戳字段构建第一级索引,并以所述第一级索引为索引部分对所述轨迹数据进行存储;编码获取模块,配置为根据所述轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定所述轨迹数据的GeoHash编码;第二存储模块,配置为根据所述轨迹数据的GeoHash编码和所述轨迹数据的时间戳字段构建第二级索引,并以所述第二级索引为索引部分对所述第一级索引进行存储;数据查询模块,配置为接收查询指令,根据所述查询指令、所述第一级索引与所述第二级索引在所述轨迹数据中确定目标轨迹数据。
根据本公开实施例的第三方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的轨迹数据的存储与索引方法。
根据本公开实施例的第四方面,提出一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的轨迹数据的存储与索引方法。
根据本公开某些实施例提供的轨迹数据的存储与索引方法、装置、电子设备及计算机可读介质,基于设备号构建第一级索引,并按照第一级索引对轨迹数据进行存储。基于能够反映空间范围信息的GeoHash编码构建第二级索引,并按照第二级索引对第一级索引进行存储,能够通过编码实现对空间范围为索引的空间查询需求。通过构建包括第一级索引与第二级索引的索引分级结构,能够兼顾轨迹数据在查询场景中基于设备的查询需求与基于空间范围的查询需求,且兼顾这两种方式的查询效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种轨迹数据的存储与索引方法及装置的系统框图;
图2是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图;
图3是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图;
图4是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图;
图5是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图;
图6是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图;
图7是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图;
图8是根据另一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图;
图9是根据一示例性实施例示出的轨迹数据的存储格式的示意图;
图10是根据一示例性实施例示出的第一级索引的存储格式的示意图;
图11是根据一示例性实施例示出的一种轨迹数据的存储与索引装置的框图;
图12是根据一示例性实施例示出的一种电子设备的框图;
图13是根据一示例性实施例示出一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图仅为本发明的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
相关技术中,HBase中的数据是按照RowKey的ASCII字典顺序进行全局排序,即RowKey排序时会先比对两个RowKey的第一个字节,如果相同,然后会比对第二个字节,依次类推,当对比长度超出了其中一个RowKey的长度时,短的RowKey排在前面。以RowKey为唯一查询方式,Hbase有三种查询方式:单个查询(get)、范围查询(scan)和全表扫描查询查询。RowKey设计的优劣将直接影响RowKey的读写性能。
由于HBase是通过RowKey查询的,因此在设计数据存储格式时,需要明确查询需求,以需求为导向将较为关键的检索信息存放到RowKey上,以此来加快查询速度,满足查询需求。与需求不匹配的RowKey的设计将导致全表扫描式的检索,大大降低查询效率。
但在轨迹数据的查询场景中,通常有两种查询需求:基于设备号的查询需求和基于空间范围的查询需求。目前在设计轨迹数据的存储格式时。一种是以设备号为RowKey进行存储,以方便查询设备的数据,但无法满足空间查询需求。第二种是以空间编码为RowKey进行存储,以方便空间查询,但无法满足按设备查询的查询需求。
因此,需要一种新的轨迹数据的存储与索引方法、装置、电子设备及计算机可读介质。
下面结合附图对本发明示例实施方式进行详细说明。
图1是根据一示例性实施例示出的一种轨迹数据的存储与索引方法及装置的系统框图。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所进行操作的轨迹数据的存储与索引系统提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的轨迹数据的存储与索引请求、查询指令请求等数据进行分析等处理,并将处理结果(例如目标轨迹数据--仅为示例)反馈给终端设备。
服务器105可例如获取当前设备的轨迹数据;服务器105可例如根据当前设备的设备号与轨迹数据的时间戳字段构建第一级索引,并以第一级索引为索引部分对轨迹数据进行存储;服务器105可例如根据轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定轨迹数据的GeoHash编码。服务器105可例如根据轨迹数据的GeoHash编码和轨迹数据的时间戳字段构建第二级索引,并以第二级索引为索引部分对第一级索引进行存储。服务器105可例如接收查询指令,根据查询指令、第一级索引与第二级索引在轨迹数据中确定目标轨迹数据。
服务器105可以是一个实体的服务器,还可例如为多个服务器组成,服务器105中的一部分可例如作为本公开中的轨迹数据的存储与索引任务提交系统,用于获取将要执行轨迹数据的存储与索引命令的任务;以及服务器105中的一部分还可例如作为本公开中的轨迹数据的存储与索引系统,用于获取当前设备的轨迹数据;根据当前设备的设备号与轨迹数据的时间戳字段构建第一级索引,并以第一级索引为索引部分对轨迹数据进行存储;根据轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定轨迹数据的GeoHash编码;根据轨迹数据的GeoHash编码和轨迹数据的时间戳字段构建第二级索引,并以第二级索引为索引部分对第一级索引进行存储;接收查询指令,根据查询指令、第一级索引与第二级索引在轨迹数据中确定目标轨迹数据。
根据本公开实施例提供的轨迹数据的存储与索引方法及装置,基于设备号构建第一级索引,并按照第一级索引对轨迹数据进行存储。基于能够反映空间范围信息的GeoHash编码构建第二级索引,并按照第二级索引对第一级索引进行存储,能够通过编码实现对空间范围为索引的空间查询需求。通过构建包括第一级索引与第二级索引的索引分级结构,能够兼顾轨迹数据在查询场景中基于设备的查询需求与基于空间范围的查询需求,且兼顾这两种方式的查询效率。
图2是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图。本公开实施例提供的轨迹数据的存储与索引方法可以由任意具备计算处理能力的电子设备执行,例如终端设备101、102、103和/或服务器105,在下面的实施例中,以服务器执行方法为例进行举例说明,但本公开并不限定于此。本公开实施例提供的轨迹数据的存储与索引方法20可以包括步骤S201至S205。
如图2所示,在步骤S201中,获取当前设备的轨迹数据。
本公开实施例中,当前设备可为需要进行数据存储的一个或多个移动对象,例如但不限于为手机、电脑、智能平板、车载定位设备等。当前设备的轨迹数据为当前数据存储场景下需要进行存储的数据。
在步骤S202中,根据当前设备的设备号与轨迹数据的时间戳字段构建第一级索引,并以第一级索引为索引部分对轨迹数据进行存储。
本公开实施例中,当前设备的设备号为当前设备的唯一标识。轨迹数据的时间戳字段描述了该轨迹数据的生成时间,即当前设备位于该轨迹数据所描述的具体地理位置时的时间。时间戳字段可例如包括年、月、日、时等时间信息,还可例如还包括分、秒等时间信息。其中,可例如通过将设备号与时间戳字段进行拼接,获得第一级索引。为减少存储时的记录个数,还可设置存储时间粒度。通过时间粒度对时间戳字段进行划分,将划分为同一时间戳字段的轨迹数据存储在同一个记录中。
在步骤S203中,根据轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定轨迹数据的GeoHash编码。
本公开实施例中,预设地理范围可例如为轨迹数据所覆盖的区域。例如,考虑兼容问题,可采用全球范围作为预设地理范围。其中,预设地理范围划分的多个网格单元可为四叉树划分获得。每个网格单元的尺寸可为n*n,n为大于0的正数。GeoHash编码是一种地理编码方式,它可以把二维的经纬度坐标通过二分法分割转换成一维的字符串,其特点在于编码对应的空间位置唯一,两组编码前缀位数相同的越多表示空间位置越近,编码位数越多表示空间范围越精确(12位编码表示的精度约为3.46cm2的范围)。
其中,在将轨迹数据与预设地理范围划分的多个网格单元进行匹配时,可将轨迹数据中的经纬度范围与预设地理范围划分的多个网格单元进行匹配,获得与轨迹数据的经纬度范围相交的网格单元。确定与轨迹数据的经纬度范围相交的网格单元的GeoHash编码为轨迹数据的GeoHash编码。
在步骤S204中,根据轨迹数据的GeoHash编码和轨迹数据的时间戳字段构建第二级索引,并以第二级索引为索引部分对第一级索引进行存储。
本公开实施例中,可将GeoHash编码和时间戳字段进行拼接,以构建第二级索引。其中,在对第一级索引进行存储时,可以第二级索引为索引部分,第一级索引为数据部分对第一级索引进行存储。
在步骤S205中,接收查询指令,根据查询指令、第一级索引与第二级索引在轨迹数据中确定目标轨迹数据。
本公开实施例中,查询指令可为基于设备的查询指令,也可为基于空间范围的查询指令。基于设备的查询场景中,可直接以第一级索引为索引对象进行查询,获得目标轨迹数据。基于空间范围的查询场景中,可首先以第二级索引为索引对象进行查询,确定匹配成功的第一级索引,再根据匹配成功的第一级索引对第一级索引进行查找,获得目标轨迹数据。
根据本公开实施例提供的轨迹数据的存储与索引方法,基于设备号构建第一级索引,并按照第一级索引对轨迹数据进行存储。基于能够反映空间范围信息的GeoHash编码构建第二级索引,并按照第二级索引对第一级索引进行存储,能够通过编码实现对空间范围为索引的空间查询需求。通过构建包括第一级索引与第二级索引的索引分级结构,能够兼顾轨迹数据在查询场景中基于设备的查询需求与基于空间范围的查询需求,且不会降低其中任一者的查询效率。
图3是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图。基于上述实施例的步骤S202可以包括步骤S301至S302。
如图3所示,在步骤S301中,根据预设时间粒度对轨迹数据的时间戳字段取整,获得轨迹数据的时间索引。
本公开实施例中,预设时间粒度可例如但不限于为日、小时、分钟,本公开对此并不作特殊限定。例如,当预设时间粒度为小时时,根据预设时间粒度对时间戳字段取整可剔除分、秒等时间信息,取整的结果可包括年、月、日、时。即获得的轨迹数据的时间索引包括年、月、日、时的时间信息。
在步骤S302中,将当前设备的设备号与轨迹数据的时间索引进行拼接,获得第一级索引。
根据本公开实施例提供的轨迹数据的存储与索引方法,第一级索引中包括的设备号和时间索引能够实现基于设备的查询方式,并能够满足时间点或时间范围的查询需求。
图4是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图。基于上述实施例的步骤S202可以还包括步骤S303至S305。
在步骤S303中,将具有相同的时间索引的轨迹数据确定为数据集合。
本公开实施例中,例如,当时间索引包括年、月、日、时的时间信息时,可将时间索引中,年、月、日、时均相同的轨迹数据确定为数据集合。例如,当时间索引为2020年5月1日时,该时间索引对应的数据集合中,轨迹数据的时间戳字段可分布在2020年5月1日18时0分0秒至2020年5月1日59分59秒之间。
在步骤S304中,根据预设时间粒度对数据集合中轨迹数据的时间戳字段取余,将取余结果确定为轨迹数据的时间字段。
本公开实施例中,当预设时间粒度为小时时,根据预设时间粒度对时间戳字段取余可剔除年、月、日、时等时间信息,取余的结果可包括分、秒(以及毫秒)等时间信息。即获得的轨迹数据的时间字段包括分、秒(以及毫秒)的时间信息。
在步骤S305中,以与数据集合的时间索引相同的第一级索引为数据集合的索引部分,以时间字段为列名将数据集合中轨迹数据按列存储为索引部分对应的数据部分。
本公开实施例中,可将轨迹数据存储在Hbase中。图9是根据一示例性实施例示出的轨迹数据的存储格式的示意图。如图9所示,将设备号与时间索引(图9以年、月、日、时为例)拼接获得的第一级索引作为Hbase中的RowKey,数据集合(指具有相同的时间索引的轨迹数据)作为数据部分(Value)存储在Hbase中。其中,在数据部分中,以轨迹数据的时间字段(图9中时间字段1、时间字段2等)为列名,将轨迹数据(图9中轨迹数据1、轨迹数据2等)存储为其时间字段对应列的列值中。
根据本公开实施例提供的轨迹数据的存储与索引方法,将具有相同的时间索引的轨迹数据和第一级索引进行键值对形式的存储。其中第一级索引作为索引部分,轨迹数据作为数据部分。第一级索引中的设备号能够实现基于设备的查找方式。
图5是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图。基于上述实施例的步骤S204可以包括步骤S501至S503。
在步骤S501中,根据预设时间粒度对时间戳字段取整,获得轨迹数据的时间索引。
本公开实施例的步骤S501可采取与步骤S301类似的步骤,此处不再赘述。
在步骤S502中,将轨迹数据的GeoHash编码与时间索引进行拼接,获得第二级索引。
在步骤S503中,以第二级索引为索引部分,时间索引与第二级索引的时间索引相同的第一级索引为数据部分存储第一级索引。
本公开实施例中,由于第一级索引是由设备号和时间索引拼接获得。第一级索引的时间索引指第一级索引的拼接结构中包含的时间索引。第二级索引是由GeoHash编码和时间索引拼接获得。第二级索引的时间索引指第二级索引的拼接结构中包含的时间索引。图10是根据一示例性实施例示出的第一级索引的存储格式的示意图。如图10所示,将GeoHash编码与时间索引(图10以年、月、日、时为例)拼接获得的第二级索引作为Hbase中的RowKey(索引部分),具有相同的时间索引的第一级索引作为数据部分(Value)存储在Hbase中。其中,在数据部分中,第一级索引的时间索引与第二级索引的时间字段(图10中年、月、日、时)相同,即数据部分的第一级索引具有与其对应的第二级索引相同的时间索引。在该实施例中,通过将能够反映空间范围信息的GeoHash编码和时间索引进行拼接,并将拼接获得的第二级索引作为第一级索引的索引部分存储第一级索引,能够构建包括第一级索引与第二级索引的索引分级结构,在第一级索引能够满足基于设备的轨迹数据查询需求的基础上,兼顾基于设备的轨迹数据的查询需求,且不会降低其中任一者的查询效率。
图6是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图。基于上述实施例的步骤S205可以包括步骤S601至S608。在该实施例中,查询指令包括查询字段与查询标识符。查询标识符用于标识不同类型的查询方式。查询标识符标识所描述的查询方式的可例如包括:基于设备的查询方式、基于空间范围的查询方式。
在步骤S601中,若查询标识符为第一标识,则获取查询字段的设备号字段与时间字段。
本公开实施例中,第一标识可用于说明当前的查询方式为基于设备的查询方式。设备号字段描述了需要查询的设备号。时间字段描述了需要查询的时间点(或时间范围)。时间字段所描述的时间信息与时间索引所包括的时间信息一致。例如,当步骤S301中获得的时间索引包括年、月、日、时的时间信息时,本步骤中时间字段也包括年、月、日、时的时间信息。
在步骤S602中,根据设备号字段与时间字段构建查询键值。
本公开实施例中,可将设备号字段与时间字段进行拼接,获得查询键值。其中,当时间字段为时间范围(时间字段包括起始时间字段和结束时间字段)时,可将设备号与起始时间字段拼接为起始时间查询键值,将设备号与结束时间字段拼接为结束时间查询键值,起始时间查询键值和结束时间查询键值共同构成查询指令的查询键值。
在步骤S603中,将查询键值与第一级索引进行匹配,获得匹配成功的目标轨迹数据。
本公开实施例中,由于第一级索引是根据设备号与时间索引构建获得的。同样由设备号与时间字段构建获得的查询键值将可用于与第一级索引进行匹配,进而获得匹配成功的第一级索引。匹配成功的第一级索引所对应的数据部分中的轨迹数据即为目标轨迹数据。
在示例性实施例中,当查询键值包括起始时间查询键值和结束时间查询键值时,可根据起始查询键值和结束查询键值在Hbase中进行范围查找(scan查找)。
在步骤S604中,若查询标识符为第二标识,则获取查询字段的空间范围字段与时间字段。
本公开实施例中,第二标识可用于说明当前的查询方式为基于空间范围的查询方式。空间范围字段描述了需要查询的空间范围。时间字段描述了需要查询的时间点(或时间范围)。时间字段所描述的时间信息与时间索引所包括的时间信息一致。例如,当步骤S501中获得的时间索引包括年、月、日、时的时间信息时,本步骤中时间字段也包括年、月、日、时的时间信息。
在步骤S605中,根据空间范围字段与多个网格单元进行匹配,获得与空件范围描述的经纬度范围相交的查询网格单元。
本公开实施例中,当空间范围与多个网格单元相交时,查询网格单元可包括多个。
在步骤S606中,根据查询网格单元的GeoHash编码与时间字段构建查询键值。
本公开实施例中,可将查询网格单元的GeoHash编码与时间字段进行拼接,获得查询键值。其中,当时间字段为时间范围(时间字段包括起始时间字段和结束时间字段)时,可将查询网格单元的GeoHash编码与起始时间字段拼接为起始时间查询键值,将查询网格单元的GeoHash编码与结束时间字段拼接为结束时间查询键值,起始时间查询键值和结束时间查询键值共同构成查询指令的查询键值。
在步骤S607中,将查询键值与第二级索引进行匹配,获得匹配成功的目标索引。
本公开实施例中,由于第二级索引是根据GeoHash编码与时间索引构建获得的。同样根据GeoHash编码与时间字段构建获得的查询键值将可用于与第二级索引进行匹配,进而获得匹配成功的第二级索引。匹配成功的第二级索引所对应的数据部分中的第一级索引即为目标索引。
在示例性实施例中,当查询键值包括起始时间查询键值和结束时间查询键值时,可根据起始查询键值和结束查询键值在Hbase中进行范围查找(scan查找)。
在步骤S608中,将目标索引与第一级索引进行匹配,获得匹配成功的目标轨迹数据。
根据本公开实施例提供的轨迹数据的存储与索引方法,根据查询标识执行不同的查询方式。在查询标识为第一标识时,根据查询字段的设备号字段与时间字段构建查询键值,并与第一级索引进行匹配,能够实现基于设备的查询方式。在查询标识为第二标识时,根据范围字段和时间字段确定查询键值,并与第二级索引进行匹配,获得匹配成功的目标索引,再将目标索引与第一级索引进行匹配,获得目标轨迹数据,能够利用第一级索引和第二级索引的分级索引关系实现基于空间范围的查询方式。
图7是根据一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图。基于上述实施例的步骤S202可以包括步骤S701至S704。
在步骤S701中,对预设地理范围进行四叉树划分,获得多个网格单元。
本公开实施例中,可对预设地理范围进行至少一次四叉树划分。四叉树划分的具体划分次数可根据预设空间粒度决定。
在步骤S702中,按照GeoHash编码规则对多个网格单元进行编码,获得多个网格单元的GeoHash编码。
本公开实施例中,GeoHash编码规则可例如为6为base32编码方式,但本公开并不以此为限。
在步骤S703中,将轨迹数据的经纬度范围与多个网格单元进行匹配,获得与轨迹数据的经纬度范围相交的网格单元。
在步骤S704中,确定与轨迹数据的经纬度范围相交的网格单元的GeoHash编码为轨迹数据的GeoHash编码。
根据本公开实施例提供的轨迹数据的存储与索引方法,计算出每个轨迹数据的GeoHash编码,以便于后续存储为第二级索引。能够将空间范围的查询转为GeoHash编码的查询,进而通过字符串匹配方式实现空间范围的查询。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图8是根据另一示例性实施例示出的一种轨迹数据的存储与索引方法的流程图。轨迹数据的存储与索引方法80至少包括步骤S801至S809。
如图8所示,在步骤S801中,获取当前设备的轨迹数据。
在步骤S802中,根据当前设备的设备号与轨迹数据的时间戳字段构建第一级索引,并以第一级索引为索引部分对轨迹数据存储至Hbase。
在步骤S803中,根据轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定轨迹数据的GeoHash编码。
在步骤S804中,根据轨迹数据的GeoHash编码和轨迹数据的时间戳字段构建第二级索引,并以第二级索引为索引部分对第一级索引存储至Hbase。
在步骤S805中,接收查询指令,查询指令包括查询标识和查询字段,当查询标识为第一标识时,根据查询字段中的设备号字段与时间字段构建查询键值。
在步骤S806中,根据查询键值与第一级索引进行匹配,获得匹配成功的目标轨迹数据。
在步骤S807中,接收查询指令,查询指令包括查询标识和查询字段,当查询标识为第二标识时,根据查询字段中的空间范围字段确定查询网格单元,并获得查询网格单元的GeoHash编码。
在步骤S808中,根据查询网格单元的GeoHash编码和查询字段中时间字段构建查询键值,将查询键值与第二级索引进行匹配,获得匹配成功的目标索引。
在步骤S809中,将目标索引与第一级索引进行匹配,获得匹配成功的目标轨迹数据。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由中央处理器(Central Processing Unit,CPU)执行的计算机程序。在该计算机程序被中央处理器CPU执行时,执行本公开提供的上述方法所限定的上述功能。的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图11是根据一示例性实施例示出的一种轨迹数据的存储与索引装置的框图。参照图11,本公开实施例提供的轨迹数据的存储与索引装置1100可以包括:数据获取模块1110、第一存储模块1120、编码获取模块1130、第二存储模块1140和数据查询模块1150。
在轨迹数据的存储与索引装置1100中,数据获取模块1110可以配置为获取当前设备的轨迹数据。
第一存储模块1120可以时配置为根据当前设备的设备号与轨迹数据的时间戳字段构建第一级索引,并以第一级索引为索引部分对轨迹数据进行存储。
在示例性实施例中,第一存储模块1120可以包括时间粒度取整单元和第一索引构建单元。其中,时间粒度取整单元可以配置为根据预设时间粒度对轨迹数据的时间戳字段取整,获得轨迹数据的时间索引。第一索引构建单元可以配置为将当前设备的设备号与轨迹数据的时间索引进行拼接,获得第一级索引。
在示例性实施例中,第一存储模块1120可以包括数据集合确定单元、时间粒度取余单元和第一存储单元。其中,数据集合确定单元可以配置为将具有相同的时间索引的轨迹数据确定为数据集合。时间粒度取余单元可以配置为根据预设时间粒度对数据集合中轨迹数据的时间戳字段取余,将取余结果确定为轨迹数据的时间字段。第一存储单元可以配置为以与数据集合的时间索引相同的第一级索引为数据集合的索引部分,以时间字段为列名将数据集合中轨迹数据按列存储为索引部分对应的数据部分。
编码获取模块1130可以配置为根据轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定轨迹数据的GeoHash编码。
在示例性实施例中,编码获取模块1130可以包括地理范围划分单元、网格编码单元、网格匹配单元和编码确定单元。其中,地理范围划分单元可以配置为对预设地理范围进行四叉树划分,获得多个网格单元。网格编码单元可以配置为按照GeoHash编码规则对多个网格单元进行编码,获得多个网格单元的GeoHash编码。网格匹配单元可以配置为将轨迹数据的经纬度范围与多个网格单元进行匹配,获得与轨迹数据的经纬度范围相交的网格单元。编码确定单元可以配置为确定与轨迹数据的经纬度范围相交的网格单元的GeoHash编码为轨迹数据的GeoHash编码。
第二存储模块1140可以配置为根据轨迹数据的GeoHash编码和轨迹数据的时间戳字段构建第二级索引,并以第二级索引为索引部分对第一级索引进行存储。
在示例性实施例中,第二存储模块1140可以包括时间粒度取整单元、第二索引构建单元和第二存储单元。其中,时间粒度取整单元可以配置为根据预设时间粒度对时间戳字段取整,获得轨迹数据的时间索引。第二索引构建单元可以配置为将轨迹数据的GeoHash编码与时间索引进行拼接,获得第二级索引。第二存储单元可以配置为以第二级索引为索引部分,时间索引与第二级索引的时间索引相同的第一级索引为数据部分存储第一级索引。
数据查询模块1150可以配置为接收查询指令,根据查询指令、第一级索引与第二级索引在轨迹数据中确定目标轨迹数据。
在示例性实施例中,查询指令包括查询字段与查询标识符。数据查询模块1150可以包括第一判断单元、第一键值构建单元和第一匹配单元。其中,第一判断单元可以配置为若查询标识符为第一标识,则获取查询字段的设备号字段与时间字段。第一键值构建单元可以配置为根据设备号字段与时间字段构建查询键值。第一匹配单元可以配置为将查询键值与第一级索引进行匹配,获得匹配成功的目标轨迹数据。
在示例性实施例中,查询指令包括查询字段与查询标识符。数据查询模块1150可以包括第二判断单元、第二网格匹配单元、第二键值构建单元、目标索引匹配单元和第二匹配单元。其中,第二判断单元可以配置为若查询标识符为第二标识,则获取查询字段的空间范围字段与时间字段。第二网格匹配单元可以配置为根据空间范围字段与多个网格单元进行匹配,获得与空件范围字段描述的经纬度范围相交的查询网格单元。第二键值构建单元可以配置为根据查询网格单元的GeoHash编码与时间字段构建查询键值。目标索引匹配单元可以配置为将查询键值与第二级索引进行匹配,获得匹配成功的目标索引。第二匹配单元可以配置为将目标索引与第一级索引进行匹配,获得匹配成功的目标轨迹数据。
根据本公开实施例提供的轨迹数据的存储与索引装置,基于设备号构建第一级索引,并按照第一级索引对轨迹数据进行存储。基于能够反映空间范围信息的GeoHash编码构建第二级索引,并按照第二级索引对第一级索引进行存储,能够通过编码实现对空间范围为索引的空间查询需求。通过构建包括第一级索引与第二级索引的索引分级结构,能够兼顾轨迹数据在查询场景中基于设备的查询需求与基于空间范围的查询需求,且不会降低其中任一者的查询效率。
图12是根据一示例性实施例示出的一种电子设备的框图。
下面参照图12来描述根据本公开的这种实施方式的电子设备200。图12显示的电子设备200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图2,图3,图4,图5,图6,图7,图8中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
图13示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
参考图13所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取当前设备的轨迹数据;根据当前设备的设备号与轨迹数据的时间戳字段构建第一级索引,并以第一级索引为索引部分对轨迹数据进行存储;根据轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定轨迹数据的GeoHash编码;根据轨迹数据的GeoHash编码和轨迹数据的时间戳字段构建第二级索引,并以第二级索引为索引部分对第一级索引进行存储;接收查询指令,根据查询指令、第一级索引与第二级索引在轨迹数据中确定目标轨迹数据。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种轨迹数据的存储与索引方法,其特征在于,包括:
获取当前设备的轨迹数据;
根据所述当前设备的设备号与所述轨迹数据的时间戳字段构建第一级索引,并以所述第一级索引为索引部分对所述轨迹数据进行存储;
根据所述轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定所述轨迹数据的GeoHash编码;
根据所述轨迹数据的GeoHash编码和所述轨迹数据的时间戳字段构建第二级索引,并以所述第二级索引为索引部分对所述第一级索引进行存储;
接收查询指令,根据所述查询指令、所述第一级索引与所述第二级索引在所述轨迹数据中确定目标轨迹数据。
2.如权利要求1所述的方法,其特征在于,根据所述当前设备的设备号与所述轨迹数据的时间戳字段构建第一级索引包括:
根据预设时间粒度对所述轨迹数据的所述时间戳字段取整,获得所述轨迹数据的时间索引;
将所述当前设备的所述设备号与所述轨迹数据的所述时间索引进行拼接,获得所述第一级索引。
3.如权利要求2所述的方法,其特征在于,以所述第一级索引为索引部分对所述轨迹数据进行存储包括:
将具有相同的所述时间索引的所述轨迹数据确定为数据集合;
根据预设时间粒度对所述数据集合中所述轨迹数据的时间戳字段取余,将取余结果确定为所述轨迹数据的时间字段;
以与所述数据集合的时间索引相同的所述第一级索引为所述数据集合的索引部分,以所述时间字段为列名将所述数据集合中所述轨迹数据按列存储为所述索引部分对应的数据部分。
4.如权利要求1所述的方法,其特征在于,根据所述轨迹数据的GeoHash编码和所述轨迹数据的时间戳字段构建第二级索引,并以所述第二级索引为索引部分对所述第一级索引进行存储包括:
根据预设时间粒度对所述时间戳字段取整,获得所述轨迹数据的时间索引;
将所述轨迹数据的所述GeoHash编码与所述时间索引进行拼接,获得所述第二级索引;
以所述第二级索引为索引部分,时间索引与所述第二级索引的时间索引相同的所述第一级索引为数据部分存储所述第一级索引。
5.如权利要求1所述的方法,其特征在于,所述查询指令包括查询字段与查询标识符;其中,接收查询指令,根据所述查询指令、所述第一级索引与所述第二级索引在所述轨迹数据中确定目标轨迹数据,包括:
若所述查询标识符为第一标识,则获取所述查询字段的设备号字段与时间字段;
根据所述设备号字段与所述时间字段构建查询键值;
将所述查询键值与所述第一级索引进行匹配,获得匹配成功的所述目标轨迹数据。
6.如权利要求1所述的方法,其特征在于,所述查询指令包括查询字段与查询标识符;其中,根据所述查询索引、所述第一级索引与所述第二级索引在所述轨迹数据中确定目标轨迹数据包括:
若所述查询标识符为第二标识,则获取所述查询字段的空间范围字段与时间字段;
根据所述空间范围字段与多个所述网格单元进行匹配,获得与所述空件范围字段描述的经纬度范围相交的查询网格单元;
根据所述查询网格单元的GeoHash编码与所述时间字段构建查询键值;
将所述查询键值与所述第二级索引进行匹配,获得匹配成功的目标索引;
将所述目标索引与所述第一级索引进行匹配,获得匹配成功的所述目标轨迹数据。
7.如权利要求1所述的方法,其特征在于,根据所述轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定所述轨迹数据的GeoHash编码:包括:
对所述预设地理范围进行四叉树划分,获得多个所述网格单元;
按照GeoHash编码规则对多个所述网格单元进行编码,获得多个所述网格单元的GeoHash编码;
将所述轨迹数据的经纬度范围与多个所述网格单元进行匹配,获得与所述轨迹数据的经纬度范围相交的网格单元;
确定与所述轨迹数据的经纬度范围相交的所述网格单元的GeoHash编码为所述轨迹数据的GeoHash编码。
8.一种轨迹数据的存储与索引装置,其特征在于,包括:
数据获取模块,配置为获取当前设备的轨迹数据;
第一存储模块,配置为根据所述当前设备的设备号与所述轨迹数据的时间戳字段构建第一级索引,并以所述第一级索引为索引部分对所述轨迹数据进行存储;
编码获取模块,配置为根据所述轨迹数据与预设地理范围划分的多个网格单元进行匹配,根据匹配结果确定所述轨迹数据的GeoHash编码;
第二存储模块,配置为根据所述轨迹数据的GeoHash编码和所述轨迹数据的时间戳字段构建第二级索引,并以所述第二级索引为索引部分对所述第一级索引进行存储;
数据查询模块,配置为接收查询指令,根据所述查询指令、所述第一级索引与所述第二级索引在所述轨迹数据中确定目标轨迹数据。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010424338.5A CN113688193B (zh) | 2020-05-19 | 2020-05-19 | 轨迹数据的存储与索引方法、装置、电子设备及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010424338.5A CN113688193B (zh) | 2020-05-19 | 2020-05-19 | 轨迹数据的存储与索引方法、装置、电子设备及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113688193A true CN113688193A (zh) | 2021-11-23 |
CN113688193B CN113688193B (zh) | 2024-05-17 |
Family
ID=78576139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010424338.5A Active CN113688193B (zh) | 2020-05-19 | 2020-05-19 | 轨迹数据的存储与索引方法、装置、电子设备及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113688193B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115147934A (zh) * | 2022-09-01 | 2022-10-04 | 中科星图股份有限公司 | 行为分析方法、装置、设备和计算机可读存储介质 |
CN116910107A (zh) * | 2023-09-13 | 2023-10-20 | 北京航天驭星科技有限公司 | 轨道数据的提取、轨道计算方法、装置及存储介质和设备 |
CN117591757A (zh) * | 2023-10-31 | 2024-02-23 | 和智信(山东)大数据科技有限公司 | 轨迹数据处理方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238917A1 (en) * | 2009-12-25 | 2011-09-29 | Shanghai Xin Hao Micro Electronics Co. Ltd. | High-performance cache system and method |
KR101659485B1 (ko) * | 2016-04-05 | 2016-09-23 | 국방과학연구소 | 그리드 방식을 기반으로 하는 전술 데이터링크 처리 장치 및 그 방법 |
US20170010102A1 (en) * | 2015-07-06 | 2017-01-12 | International Business Machines Corporation | Hybrid road network and grid based spatial-temporal indexing under missing road links |
CN107247761A (zh) * | 2017-06-01 | 2017-10-13 | 武汉理工大学 | 基于位图的轨迹编码方法 |
CN109165215A (zh) * | 2018-07-27 | 2019-01-08 | 苏州视锐信息科技有限公司 | 一种云环境下时空索引的构建方法、装置及电子设备 |
CN110347680A (zh) * | 2019-06-21 | 2019-10-18 | 北京航空航天大学 | 一种面向云际环境的时空数据索引方法 |
US10542441B1 (en) * | 2018-08-09 | 2020-01-21 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method, computer device and storage medium for matching mobile hotspot with mobile point of interest |
CN111008255A (zh) * | 2019-10-16 | 2020-04-14 | 中国平安财产保险股份有限公司 | 违章地点识别方法、装置、电子设备及存储介质 |
-
2020
- 2020-05-19 CN CN202010424338.5A patent/CN113688193B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238917A1 (en) * | 2009-12-25 | 2011-09-29 | Shanghai Xin Hao Micro Electronics Co. Ltd. | High-performance cache system and method |
US20170010102A1 (en) * | 2015-07-06 | 2017-01-12 | International Business Machines Corporation | Hybrid road network and grid based spatial-temporal indexing under missing road links |
KR101659485B1 (ko) * | 2016-04-05 | 2016-09-23 | 국방과학연구소 | 그리드 방식을 기반으로 하는 전술 데이터링크 처리 장치 및 그 방법 |
CN107247761A (zh) * | 2017-06-01 | 2017-10-13 | 武汉理工大学 | 基于位图的轨迹编码方法 |
CN109165215A (zh) * | 2018-07-27 | 2019-01-08 | 苏州视锐信息科技有限公司 | 一种云环境下时空索引的构建方法、装置及电子设备 |
US10542441B1 (en) * | 2018-08-09 | 2020-01-21 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method, computer device and storage medium for matching mobile hotspot with mobile point of interest |
CN110347680A (zh) * | 2019-06-21 | 2019-10-18 | 北京航空航天大学 | 一种面向云际环境的时空数据索引方法 |
CN111008255A (zh) * | 2019-10-16 | 2020-04-14 | 中国平安财产保险股份有限公司 | 违章地点识别方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
康家兴;牛保宁;郝晋瑶;: "多参数的城市时空热点查询", 计算机工程与应用, no. 10 * |
王凯;陈能成;陈泽强;: "基于MongoDB的轨迹大数据时空索引构建方法", 计算机系统应用, no. 06 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115147934A (zh) * | 2022-09-01 | 2022-10-04 | 中科星图股份有限公司 | 行为分析方法、装置、设备和计算机可读存储介质 |
CN116910107A (zh) * | 2023-09-13 | 2023-10-20 | 北京航天驭星科技有限公司 | 轨道数据的提取、轨道计算方法、装置及存储介质和设备 |
CN116910107B (zh) * | 2023-09-13 | 2023-12-15 | 北京航天驭星科技有限公司 | 轨道数据的提取、轨道计算方法、装置及存储介质和设备 |
CN117591757A (zh) * | 2023-10-31 | 2024-02-23 | 和智信(山东)大数据科技有限公司 | 轨迹数据处理方法及装置 |
CN117591757B (zh) * | 2023-10-31 | 2024-09-06 | 和智信(山东)大数据科技有限公司 | 轨迹数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113688193B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647614B (zh) | 智能问答方法、装置、介质及电子设备 | |
CN113688193B (zh) | 轨迹数据的存储与索引方法、装置、电子设备及可读介质 | |
CN110532347B (zh) | 一种日志数据处理方法、装置、设备和存储介质 | |
CN111309760A (zh) | 数据检索方法、系统、设备及存储介质 | |
US10296497B2 (en) | Storing a key value to a deleted row based on key range density | |
CN110990406B (zh) | 一种模糊查询方法、装置、设备和介质 | |
CN112988770B (zh) | 序列号更新的方法、装置、电子设备和存储介质 | |
CN108092667B (zh) | 压缩时序数据以及查询时序数据的方法、装置 | |
CN111143422B (zh) | 数据检索方法、数据检索装置、存储介质及电子设备 | |
US11557047B2 (en) | Method and apparatus for image processing and computer storage medium | |
CN111694866A (zh) | 数据搜索及存储方法、数据搜索系统、装置、设备及介质 | |
CN112835899B (zh) | 地址库索引方法、地址匹配方法以及相关设备 | |
CN110618999A (zh) | 数据的查询方法及装置、计算机存储介质、电子设备 | |
CN111831750A (zh) | 一种区块链数据分析方法、装置、计算机设备及存储介质 | |
JP2023062150A (ja) | 文字認識モデルトレーニング、文字認識方法、装置、機器及び媒体 | |
CN111198861A (zh) | 逻辑日志的处理方法、装置及电子设备 | |
CN117472693A (zh) | 基于数据湖的埋点数据处理方法、系统、设备及存储介质 | |
CN112507075A (zh) | 一种病例数据搜索方法、系统、设备及存储介质 | |
CN105677847A (zh) | 基于数据库来实现药物信息智能查询的方法 | |
CN116795412A (zh) | 埋点数据处理方法、装置、设备及存储介质 | |
CN114222317B (zh) | 数据处理方法及装置、电子设备和存储介质 | |
CN110287338A (zh) | 行业热点确定方法、装置、设备和介质 | |
CN115168310A (zh) | 一种ldap系统中的日志管理方法、设备、介质及系统 | |
CN113127496B (zh) | 数据库中变更数据的确定方法及装置、介质和设备 | |
CN114546982A (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 |