一种基于时空数据库的轨迹多维度分布式压缩方法技术

技术编号:33025613 阅读:16 留言:0更新日期:2022-04-15 08:59
本发明专利技术涉及一种基于时空数据库的轨迹多维度分布式压缩方法,包括如下步骤:步骤1、海量时空轨迹数据入库;步骤2、针对同一运动物体,插入其后续轨迹点数据时对其进行实时压缩,即多行数据压缩成一行数据;步骤3、当单一物体的轨迹点达到某一限定大小后,对其进行分表拆分处理,采用分布式压缩算法进行并行压缩存储待定。本发明专利技术提出了基于分布式时空数据库对海量轨迹数据进行多维度的压缩,在保留原始轨迹的主要轨迹特征的前提下,大大减少了轨迹数据的存储压力、节省了存储资源,同时大大减少了针对轨迹数据挖掘的计算资源。少了针对轨迹数据挖掘的计算资源。少了针对轨迹数据挖掘的计算资源。

【技术实现步骤摘要】
一种基于时空数据库的轨迹多维度分布式压缩方法


[0001]本专利技术涉及数据压缩
,尤其是一种基于时空数据库的轨迹多维度分布式压缩方法。

技术介绍

[0002]随着北斗全球卫星导航系统及5G通信技术的在各行各业的普及,无数终端产生了海量的北斗时空轨迹数据。
[0003]在处理轨迹数据时,传统的Douglas

Peucker算法对每条轨迹的首末点虚连接一条直线,求其他所有轨迹点与这条直线的距离,并找到最大距离值d
max
,用d
max
与限差D相比:若 d
max
<D,这条轨迹上的中间点全部舍掉;若d
max
>D,保留d
max
对应的坐标点,并以该点为界,把轨迹分为两部分,分别对这两部分重复使用此方法。
[0004]Douglas

Peucker算法用来处理时空轨迹数据存在两个问题:一是由于其仅仅以各个轨迹点到起始点连线的垂直欧式距离作为判断是否舍弃轨迹点的唯一判断标准,可能会去除掉一些具有明显轨迹特征的轨迹语义点,进而影响后续轨迹数据挖掘的相关效果;二是时间复杂度高,用它来直接处理海量的时空轨迹数据、或者一条具有巨量轨迹点的数据效率不太理想。
[0005]对于移动对象,基于时间戳的轨迹记录可以采用秒级记录,但是由于存储设备、计算能力等的限制,轨迹数据挖掘不需要如此精细的位置定位,通常需要采用轨迹压缩的方法来处理轨迹数据。

技术实现思路

[0006]为了解决上述技术问题,本专利技术提出了基于分布式时空数据库对海量轨迹数据进行多维度的压缩,在保留原始轨迹的主要轨迹特征的前提下,大大减少了轨迹数据的存储压力、节省了存储资源,同时大大减少了针对轨迹数据挖掘的计算资源。
[0007]本专利技术的技术方案为:一种基于时空数据库的轨迹多维度分布式压缩方法,包括如下步骤:
[0008]步骤1、海量时空轨迹数据入库;
[0009]步骤2、针对同一运动物体,插入其后续轨迹点数据时对其进行实时压缩,即多行数据压缩成一行数据;
[0010]步骤3、当单一物体的轨迹点达到某一限定大小后,对其进行分表拆分处理,采用分布式压缩算法进行并行压缩存储。
[0011]进一步的,所述步骤1具体包括:
[0012]步骤1.1、在分布式数据库中创建分区表;
[0013]步骤1.2、将包含时间、经纬度、速度、方向等信息的单个轨迹点数据作为一条行数据插入到分布式时空数据库中。
[0014]进一步的,所述步骤2具体包括:
[0015]步骤2.1、保留轨迹首尾两点;
[0016]步骤2.2、依次计算相邻两个轨迹点之间速度差及方向角差值,如果速度差值大于阈值或者方向角差值大于阈值,则该轨迹点应当保留,记做突变点,总共有N个;
[0017]步骤2.3、计算完成后,所有突变点将原始轨迹切分成N+1段子轨迹;
[0018]步骤2.4、分别在N+1个子轨迹段中,将子轨迹首尾两个轨迹点之间连接一条直线,对于第i

1个点C
i
‑1和第i个点C
i
之间的子轨迹段,遍历子轨迹段上其他所有点,求每个点到直线的垂直欧式距离,找到最大距离的点D,最大距离记为dmax;
[0019]步骤2.5、比较该距离dmax与预先定义的阈值Dmax大小,如果dmax<Dmax,则将该直线C
i
‑1C
i
作为曲线段的近似,其余所有点丢弃掉,曲线段处理完毕;
[0020]步骤2.6、若dmax>=Dmax,则使D点将曲线C
i
‑1C
i
分为C
i
‑1D和DC
i
两段,并分别对这两段进行步骤2.4~步骤2.6步处理;
[0021]步骤2.7、当所有曲线都处理完毕时,依次连接各个突变点形成的折线,即为原始曲线的路径。
[0022]进一步的,所述步骤3,步骤3、当单一物体的轨迹点达到某一限定大小后,对其进行分表拆分处理,采用分布式压缩算法进行并行压缩存储,其中,分布式数据库对海量时空轨迹数据的压缩处理流程,具体为:
[0023]步骤3.1、打开分布式数据库的master节点的sql命令终端;
[0024]步骤3.2指定轨迹分布式表,执行轨迹压缩命令;
[0025]步骤3.3、将轨迹压缩命令分发到各个计算节点;
[0026]步骤3.4各个计算节点,批量处理存储在本节点上的海量轨迹数据。
[0027]5、根据权利要求1所述的一种基于时空数据库的轨迹多维度分布式压缩方法,其特征在于,进一步的,所述步骤3.4中,计算节点批量处理本节点轨迹数据流程如下:
[0028]步骤3.4.1、在各个分布式节点上创建轨迹压缩工作线程池;
[0029]步骤3.4.2、在工作线程从分布式表中读取一条待压缩的轨迹数据,利用轨迹压缩算法进行轨迹压缩;
[0030]步骤3.4.3、将压缩后的轨迹插入到分布式数据库中,将压缩后的工作线程重新加入到线程池中;
[0031]步骤3.4.4、重复步骤3.4.2

3.4.3,直到压缩完本节点所有轨迹数据。
[0032]有益效果:
[0033]1、本专利技术充分利用时空轨迹数据的语义特征,在保证压缩率的前提下,尽可能多的保留轨迹原始特征,轨迹点的时间、经纬度、速度、方位角等,为后续轨迹数据挖掘提供尽可能多的轨迹语义特征支撑。
[0034]2、本专利技术将时空轨迹数据压缩算法集成到时空数据库中,将海量轨迹数据分区表存入到分布式时空数据库的各个节点中,再利用分布式时空数据库高可扩展、高并发、高可用等特点,对海量时空轨迹数据进行批量分布式实时压缩,大大减少压缩时间。
附图说明
[0035]图1:本专利技术的方法流程框图;
[0036]图2:本专利技术的方法流程图示;
[0037]图3:分布式数据库对海量时空轨迹数据的压缩处理流程;
[0038]图4:本专利技术的计算节点批量处理本节点轨迹数据流程。
具体实施方式
[0039]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本专利技术的一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术的保护范围。
[0040]术语定义:
[0041]时空数据库:可以存储管理空间数据和时间数据,提供一系列的数据类型、函数、运算符和存储过程,用于海量、多源、异构、时空数据进行高效的存储、索引、查询和分析计算。
[0042]分布式数据库:用计算机网络将物理上分散的多个数据库单元连接起来组成一个逻辑上统一的数据库。
[0043]数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于时空数据库的轨迹多维度分布式压缩方法,其特征在于,包括如下步骤:步骤1、海量时空轨迹数据入库;步骤2、针对同一运动物体,插入其后续轨迹点数据时对其进行实时压缩,即多行数据压缩成一行数据;步骤3、当单一物体的轨迹点达到某一限定大小后,对其进行分表拆分处理,采用分布式压缩算法进行并行压缩存储。2.根据权利要求1所述的一种基于时空数据库的轨迹多维度分布式压缩方法,其特征在于,所述步骤1具体包括:步骤1.1、在分布式数据库中创建分区表;步骤1.2、将包含时间、经纬度、速度、方向等信息的单个轨迹点数据作为一条行数据插入到分布式时空数据库中。3.根据权利要求1所述的一种基于时空数据库的轨迹多维度分布式压缩方法,其特征在于,所述步骤2中的实时压缩具体包括:步骤2.1、保留轨迹首尾两点;步骤2.2、依次计算相邻两个轨迹点之间速度差及方向角差值,如果速度差值大于阈值或者方向角差值大于阈值,则该轨迹点应当保留,记做突变点,总共有N个;步骤2.3、计算完成后,所有突变点将原始轨迹切分成N+1段子轨迹;步骤2.4、分别在N+1个子轨迹段中,将子轨迹首尾两个轨迹点之间连接一条直线,对于第i

1个点C
i
‑1和第i个点C
i
之间的子轨迹段,遍历子轨迹段上其他所有点,求每个点到直线的垂直欧式距离,找到最大距离的点D,最大距离记为dmax;步骤2.5、比较该距离dmax与预先定义的阈值Dmax大小,如果dmax<Dmax,则将该直线C
i
‑1C
i
...

【专利技术属性】
技术研发人员:周健
申请(专利权)人:中科星图股份有限公司
类型:发明
国别省市:

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

1