基于时空分区和交叉编码的快速时空关系连接查询方法技术

技术编号:39737385 阅读:5 留言:0更新日期:2023-12-17 23:39
本发明专利技术提供一种基于时空分区和交叉编码的快速时空关系连接查询方法,涉及数据挖掘领域

【技术实现步骤摘要】
基于时空分区和交叉编码的快速时空关系连接查询方法


[0001]本专利技术涉及数据挖掘
,具体为基于时空分区和交叉编码的快速时空关系连接查询方法


技术介绍

[0002]随着时空轨迹类数据的累积和应用的深入,目前对时空轨迹类数据的挖掘应用,尤其不同对象间同时空出现,轨迹伴随等方面的应用需求强烈
。Hive

2.2.0
版本起增加了对复杂表达式连接查询的支持,对大量的时空类数据的挖掘分析提供了又一选项
。Hive
是一款基于
Hadoop
生态,依赖
HDFS、Yarn、MapReduce、TEZ、Spark
等框架引擎的分布式数据仓库

其通过类
SQL
语言对数据仓库数据进行查询访问,查询过程被划分为
Map、Reduce
等子过程

[0003]在
Hive
下进行两表和多表的连接查询过程中通常需要耗费大量的存储和计算资源,尤其在进行复杂表达式连接查询时,由于连接条件需要实时计算,导致连接查询过程中集群资源得不到有效利用,使得连接查询需要耗费大量的时间

[0004]现有技术中,时空类数据与大数据融合仍在不断深入和加速,各类优化算法层出不穷,时空轨迹的匹配

快速查找等方面有着广阔的应用场景

因此,研究时空轨迹类数据的快速查询非常重要,值得深究

目前,针对存在复杂表达式
Hive
连接查询的研究,尤其是针对时空相类数据的连接查询优化研究相对较少,且深度不够

[0005]视频结构化

移动互联

物联网等技术的发展,产生了大量的时空轨迹类数据

对时空轨迹类数据的挖掘应用,尤其不同对象间同时空关系

轨迹伴随等方面的计算需求旺盛

然而,目前同时空关系

轨迹伴随关系计算方法,普遍存在查询耗时过多,效率不高等问题

因此,提高时空轨迹数据类关系的计算效率,是当前的一个研究热点


技术实现思路

[0006]针对现有技术的不足,本专利技术提供了基于时空分区和交叉编码的快速时空关系连接查询方法,解决了查询耗时过长,效率不高的问题

[0007]为实现以上目的,本专利技术通过以下技术方案予以实现:基于时空分区和交叉编码的快速时空关系连接查询方法,包括以下步骤:
[0008]S1、
数据及环境准备:选取时空轨迹类数据样本,之后按照采集时间对应的日期进行分区存储,一共包括对象编号

经度

纬度和采集时间等字段,之后将采集到的数据样本进行治理存储,得到标记数据样本;
[0009]S2、
数据预处理:将
S1
步骤中的标记数据样本按如下步骤进行处理:
[0010]a.
填充日期分区间隙,将当前日期分区前一天最后一个
Δ
t
以及后一天的第一个
Δ
t
插入当前日期分区,填补每个日期分区连接计算存在的缝隙问题;
[0011]b.
位置网格化及分区,通过
Geohash
编码生成位置网格编码
c
,并根据网格编码
c
计算网格区域编码
cp
,作为二级分区字段;
[0012]c.
对每条记录的采集时间进行编码,生成3个时间编码字段和3个扩展时间编码字段;
[0013]d.
处理好之后按照时空两级分区进行储存,得到预处理数据样本,表名:
t_ost_cc

[0014]S3、
两表连接查询策略:设定两表连接查询步骤,根据
S2
步骤中的预处理数据样本进行两表连接查询,两表连接查询步骤其具体步骤为:
[0015]a.
通过
Java
等编程语言开发工具,生成
SQL
,循环提交每个日期分区对应的数据进行连接查询;
[0016]b.
每次只进行一个日期分区数据的连接查询,每次连接查询首先判断空间网格区域分区是否相同,再比较空间网格是否相等,然后比较时间段编码以及扩展是否符合条件;
[0017]S4、
结束:通过
S3
步骤操作完成数据连接查询

[0018]优选的,所述
S1
步骤中采用
Geohash
对所有位置经度和纬度进行空间位置编码

[0019]优选的,
S1
步骤中治理存储的方式为:
[0020]i、
仅以日期为分区存储,未进行其它优化,类似建立一级索引的连接查询;
[0021]ii、
以日期为分区和空间网格区域分区存储数据,类似建立二级索引的连接查询;
[0022]iii、
增加时间交叉编码相关字段,再以天和空间网格区域码二重分区存储数据,通过时间交叉编码字段,避免了连接查询条件实时计算,避免
MapReduce、TEZ
等引擎优化功能失效,可建立类似三级索引的连接查询

[0023]优选的,所述
S2
步骤日期分区间隙填充方式为:每次只取一个日期分区的数据进行连接查询,将前一日期分区最后一个
Δ
t
以及后一日期分区的第一个
Δ
t
对应的数据插入当前日期分区,填补每个日期分区连接计算存在的缝隙

[0024]优选的,所述
S2
步骤位置信息网格化及分区具体为:利用空间网格区域码:把网格编号
c
转换为十进制,再进行
mod 32
运算,结果表述为空间网格区域码,记
cp
,公式3,即把同一个时间分区
(
一天
)
数据再约等分为
32
个空间网格区域,区域码主要作为分区字段存储,公式为:
[0025][0026]其中
L
表示使用的
GeoHash
编码的长度,
D(c
i
)
表示把
Geohash
编码从右至左第
i
个字符转换为对应的十进制数

[0027]优选的,所述
S2
步骤中时间段编码具体步骤为:
[0028]将采集时间
t
,转换为对应的
Unix
时间戳
(

1970
年1月1日0时0分0秒所经过的秒数,每过1秒数值加
1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于时空分区和交叉编码的快速时空关系连接查询方法,其特征在于:包括以下步骤:
S1、
数据及环境准备:选取时空轨迹类数据样本,之后按照采集时间对应的日期
dp
进行分区存储,一共包括对象编号

经度

纬度和采集时间等字段,之后将采集到的数据样本进行治理存储,得到标记数据样本;
S2、
数据预处理:将
S1
步骤中的标记数据样本按如下步骤进行处理:
a.
填充日期分区间隙,将当前日期分区前一天最后一个
Δ
t
以及后一天的第一个
Δ
t
插入当前日期分区,填补每个日期分区连接计算存在的缝隙问题;
b.
位置网格化及分区,通过
Geohash
编码生成位置网格编码
c
,并根据网格编码
c
计算网格区域编码
cp
,作为二级分区字段;
c.
对每条记录的采集时间进行编码,生成3个时间编码字段和3个扩展时间编码字段;
d.
处理好之后按照时空两级分区进行储存,得到预处理数据样本,表名:
t_ost_cc

S3、
两表连接查询策略:设定两表连接查询步骤,根据
S2
步骤中的预处理数据样本进行两表连接查询,两表连接查询步骤其具体步骤为:
a.
通过
Java
等编程语言开发工具,生成
SQL
,循环提交每个日期分区对应的数据进行连接查询;
b.
每次只进行一个日期分区数据的连接查询,每次连接查询首先判断空间网格区域分区是否相同,再比较空间网格是否相等,然后比较时间段编码以及扩展是否符合条件;
S4、
结束:通过
S3
步骤操作完成数据连接查询
。2.
根据权利要求1所述的基于时空分区和交叉编码的快速时空关系连接查询方法,其特征在于:所述
S2
步骤中采用
Geohash
对所有位置经度和纬度进行空间位置编码
。3.
根据权利要求1所述的基于时空分区和交叉编码的快速时空关系连接查询方法,其特征在于:
S2
步骤中治理存储的方式为:
i、
仅以日期为分区存储,未进行其它优化,类似建立一级索引的连接查询;
ii、
以日期为分区和空间网格区域分区存储数据,类似建立二级索引的连接查询;
iii、
增加时间交叉编码相关字段,再以天和空间网格区域码二重分区存储数据,通过时间交叉编码字段,避免了连接查询条件实时计算,避免
MapReduce、TEZ
等引擎优化功能失效,可建立类似三级索引的连接查询
。4.
根据权利要求1所述的基于时空分区和交叉编码的快速时空关系连接查询方法,其特征在于:所述
S2
步骤日期分区间隙填充方式为:每次只取一个日期分区的数据进行连接查询,将前一日期分区最后一个
Δ
t
以及后一日期分区的第一个
Δ...

【专利技术属性】
技术研发人员:丁强龙袁弘强李志新舒晓建何济宏潘奇陈伟郑涛
申请(专利权)人:昆明市公安局
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1