当前位置: 首页 > 专利查询>浙江大学专利>正文

一种分布式子轨迹连接查询处理方法技术

技术编号:29042472 阅读:17 留言:0更新日期:2021-06-26 05:52
本发明专利技术公开了一种分布式子轨迹连接查询处理方法。该方法首先将轨迹数据进行混合分区处理,即首先基于时间信息对轨迹数据进行时间分区,之后基于空间位置信息将同一时间分区内的轨迹数据进行空间分区;在每一个时间分区内建立索引;在之后的查询过程中,首先将查询轨迹按照相同的时间间隔进行分区,并在相应的时间分区内进行并行查询,得到一系列候选轨迹;之后将每个候选轨迹对应的空间分区数据加载到内存中,并一一进行验证;最后将各个时间分区得到的数据进行合并。本方法能够支持城市级别GPS点的查询,并能够有效降低I/O和CPU处理开销,加快查询处理,性能良好。性能良好。性能良好。

【技术实现步骤摘要】
一种分布式子轨迹连接查询处理方法


[0001]本专利技术属于空间数据库系统
,尤其涉及一种在GPS轨迹数据上做分布式子轨迹连接查询处理方法。

技术介绍

[0002]在公共卫生领域中,密切接触者追踪是一个识别与感染患者有密切接触的人的过程,并且在防止传染病进一步传播中起着关键作用。基于GPS定位形成的轨迹数据来识别正常人与感染患者之间的密切接触,由于其很高的识别准确率,被广泛用于传染病防治中正常人与确认患者之间的密切接触追踪。要发现与受感染患者长期接触的人,可以将密切接触追踪形式化的表述为子轨迹连接。为了支持现代城市规模级别的密切接触者追踪,需要在拥有数百万用户和数周的GPS数据的大规模轨迹数据库中进行子轨迹连接查询,尽管目前已经有很多有效的子轨迹连接方法,但是其能支持处理的数据规模仍然太小,一旦数据规模变大,便会出现处理速度下降等问题。

技术实现思路

[0003]针对现有技术的不足,本专利技术提出一种分布式子轨迹连接查询处理方法。该方法处理的查询为:输入一条轨迹,返回轨迹数据库中与该轨迹在某段连续时间内有密切接触的所有轨迹。该方法支持城市级别轨迹GPS点的查询,并能够有效降低磁盘I/O和CPU计算开销,加快处理。
[0004]本专利技术的目的是通过以下技术方案实现的:一种分布式子轨迹连接查询处理方法,具体包括以下步骤:
[0005]首先我们描述存储部分的设计步骤,具体如下:
[0006](1)对原始轨迹数据进行混合分区处理。首先基于轨迹的时间信息对轨迹数据进行时间分区,得到一系列时间分区,后续对每个时间分区进行分布式并行处理。
[0007](2)基于轨迹点的空间位置信息对单个时间分区进一步进行空间分区。即对于同一时间段内的每条轨迹求出其对应的最小矩形框(Minimum Bounding Rectangle),之后求出每条轨迹最小矩形框的中心点,最后根据这些中心点使用空间填充曲线Hilbert曲线进行切分,得到一系列空间分区,每个空间分区为一个独立的存储文件。
[0008]然后我们描述索引的构建过程,具体如下:
[0009](1)在时间分区边缘建立精确索引。对于每一个时间分区,在其时间分区的首尾两个时刻,使用索引结构R

Tree对当前时刻所有轨迹的精确经纬度建立索引。
[0010](2)在时间分区内部建立粗略索引。在时间分区的每个时刻使用网格索引将整个二维空间进行均匀切分,之后根据该时刻所有轨迹点的空间分布求得一个高维向量。引入一个参数N,使用聚类算法K

Means,将该时间分区内所有时刻的高维向量聚成N个类,得到N个时刻的网格索引。
[0011]最后我们描述查询步骤,具体如下:
[0012](1)过滤。对于输入的查询轨迹,按照同样的时间间隔将其进行时间维度上的数据切分,之后查询轨迹按照相应时间段在相应时间分区内进行并行查询。
[0013](2)验证。根据过滤阶段得到的候选轨迹,将其对应的空间分区加载到内存中,并根据候选轨迹ID依次进行验证。
[0014](3)合并。将验证阶段得到的结果进行处理,即对于那些单个分区内即可确定该轨迹为密切接触的,可直接认定该轨迹密切接触;对于单个分区内无法确定是否为密切接触轨迹的,联合该时间分区的前后两个相邻分区进行辅助判定。
[0015]与现有技术相比,本专利技术具有的有益效果是:本专利技术提出的处理方法基于分布式系统设计,具有天然的并行性,并且在过滤部分剪枝性能高速且有效,使得本专利技术具有以下优点:
[0016]1)本专利技术提出的方法基于分布式系统设计,相比于现有技术,本方法可以在大规模集群中同时做并行处理,具有很高的可扩展性。
[0017]2)本专利技术提出的方法采用过滤

验证思想,剪枝效果良好,有效降低了磁盘I/O和CPU负担,系统性能较好。
附图说明
[0018]图1是混合分区部分流程图;
[0019]图2是每个分区内部的索引构建方式示意图;
[0020]图3是本专利技术的整体处理流程图。
具体实施方式
[0021]下面结合附图对本专利技术的技术方案作进一步说明,应当理解,此处所描述的具体实例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0022]附图为本专利技术的流程处理图,该方法具体包括以下步骤:
[0023]首先我们描述存储设计部分和索引构建过程,如下:
[0024](1)对原始轨迹数据进行混合分区处理。首先基于轨迹的时间信息对所有轨迹数据进行时间分区,得到N个时间分区。假设当前有10000个用户1天的原始轨迹数据,若是以30分钟为时间间隔进行分区,则此时所有轨迹数据可以分成48个时间分区,分别为10000个用户00:00:00

00:30:00一个分区、10000个用户00:30:00

01:00:00一个分区、

、10000个用户23:30:00

24:00:00一个分区。
[0025](2)基于轨迹点的空间位置信息对单个时间分区进一步进行空间分区。对于同一时间段内的每条轨迹求出其对应的最小矩形框(Minimum Bounding Rectangle),之后求出每条轨迹最小矩形框的中心点,最后根据这些中心点的二维坐标使用空间填充曲线Hilbert曲线求出连接顺序,并依据该连接顺序进行切分,得到一系列空间分区,每个空间分区为一个独立的存储文件。假设对于第一步得到的10000个用户00:00:00

00:30:00单个时间分区来说,10000个用户在此时间段内均可求得其轨迹对应的最小矩形框(Minimum Bounding Rectangle),之后求得这10000个最小矩形框的中心点,并使用空间填充曲线Hilbert曲线对10000个二维坐标点进行连接,求出中心点的先后顺序,之后若是分成10个空间分区,可以按顺序将10000条轨迹分成10份,此时便可得到10个空间分区0

999用户00:
00:00

00:30:00一个分区、1000

1999用户00:00:00

00:30:00一个分区、

、9000

9999用户00:00:00

00:30:00一个分区。
[0026](3)在分区边缘建立精确索引。对于每一个时间分区,在其时间分区的首尾两个时刻,使用R

Tree数据结构对当前时刻所有轨迹点的精确经纬度建立索引。设对于第一步得到的10000个用户00:00:00

00:30:00分区,在00:00:00和00:30:00两个时刻使用R

Tree数据结构对这两个时刻的1000个轨迹点建立索引,索引构建后将索引缓存到内存中,之后可以在内存中直接进行查询。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式子轨迹连接查询处理方法,其特征在于,包括以下步骤:(1)存储部分设计步骤,包括以下子步骤:(1.1)首先基于轨迹点的时间信息对轨迹数据进行时间分区,按照相等的时间间隔对轨迹段进行切分,得到一系列时间分区。(1.2)对于每个时间分区中的每条轨迹求出其对应的最小矩形框,并计算得到每条轨迹最小矩形框的中心点。(1.3)在每个时间分区内使用空间填充曲线Hilbert曲线对每条轨迹最小矩形框的中心点排序,并根据排序结果进行切分,得到一系列空间分区,每个空间分区为一个独立的存储文件。(2)索引部分构建步骤,包括以下子步骤:(2.1)对于每一个时间分区,在其时间分区的首尾两个时刻,使用索引结构R

Tree对当前时刻所有轨迹的精确经纬度建立索引。(2.2)在时间分区的每个时刻使用网格索引将整个二维空间进行均匀切分,切分...

【专利技术属性】
技术研发人员:陈刚常志豪张东祥陈珂寿黎但伍赛
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1