CN107766407A - 一种采用两阶段搜索的轨迹相似性连接查询方法 - Google Patents
一种采用两阶段搜索的轨迹相似性连接查询方法 Download PDFInfo
- Publication number
- CN107766407A CN107766407A CN201710755814.XA CN201710755814A CN107766407A CN 107766407 A CN107766407 A CN 107766407A CN 201710755814 A CN201710755814 A CN 201710755814A CN 107766407 A CN107766407 A CN 107766407A
- Authority
- CN
- China
- Prior art keywords
- track
- similarity
- time
- search
- space
- 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.)
- Pending
Links
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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Abstract
一种采用两阶段搜索的轨迹相似性连接查询方法,用于对给定的两个轨迹集合P、Q和相似度阈值,寻找两个轨迹集合P、Q之间,时空相似度大于该相似度阈值的轨迹对,包括如下步骤:1)针对集合P中的每一条轨迹,在集合Q中搜索与之在时间维度和空间维度相似的轨迹并保存为该条轨迹的候选集合;2)将集合P中所有轨迹的候选集合进行合并,得到符合要求的所有轨迹对。本发明方法可应用到公路网络相关场景中,使用时间空间两个维度上的连续性匹配方法来计算轨迹之间的相似度,更好地衡量两条轨迹之间的匹配程度,输出令用户满意的结果。
Description
技术领域
本发明涉及轨迹相似性查询方法,特别是一种采用两阶段搜索的轨迹相似性连接查询方法。
背景技术
随着GPS定位技术和在线地图服务的高速发展,轨迹数据的收集和分享变得越来越普遍。从而催生了各种各样新型的轨迹数据管理与分析的方法。目前,现有的轨迹相似查询大多数是基于时间段的,主要分为两类:(1)在时间维度上给定一个匹配阈值,两个对应的轨迹点之间的差距如果超过这个阈值,则认为没有匹配上,如果小于,则认为匹配上。(2)给定一个轨迹匹配的时间窗口,对在该窗口内的轨迹进行匹配,匹配的时候以考虑空间相似性为主。但是,在实际的应用中,仅仅考虑空间相似性是不足以衡量两条轨迹之间的匹配程度的。例如,在行程推荐的场景中,系统可能会推荐两个行程近似,但出发时间迥异的人成为拼车出行对象,虽然他们的出行轨迹在空间维度上很相似,但明显用户不会对这样的结果满意。
另外,已有的技术还有如下不足:(1)主要是基于欧式空间,而不是公路网络,已有的空间索引结构不适用于基于公路网络的轨迹相似性查询,无法给出精确的搜索结果,因为移动对象(行人、车辆)主要移动在公路网络中,而不是欧式空间中。(2)不同的时间匹配方法,已有的方法都是基于时间段的匹配,(3)不支持并行处理,已有的方法都是单机版的,所以无法处理真正的大数据。从已有的研究来看,最多只能一次性处理50万条轨迹数据。没有任何一种已有的方法可以解决公路网络中的轨迹相似性连接查询。
发明内容
本发明的主要目的在于克服现有技术中的上述缺陷,提出一种基于公路网络,采用时间空间两个维度上的连续性匹配方法来计算轨迹之间的相似度,支持并行处理,查询结果精确。
本发明采用如下技术方案:
一种采用两阶段搜索的轨迹相似性连接查询方法,其特征在于,用于对给定的两个轨迹集合P、Q和相似度阈值,寻找两个轨迹集合P、Q之间,时空相似度大于该相似度阈值的轨迹对,包括如下步骤:
1)针对集合P中的每一条轨迹,在集合Q中搜索与之在时间维度和空间维度相似的轨迹并保存为候选集合;
2)将集合P中所有轨迹的候选集合进行合并,得到符合要求的所有轨迹对。
优选的,步骤1)中,在空间维度中,采用Dijkstra算法对所述集合P中的每一条轨迹的轨迹采样点进行网络扩张搜索,以搜索集合Q中与之空间距离最近的轨迹,每个采样点的搜索范围是一个圆形区域。
优选的,步骤1)中,在时间维度,采用所述集合P中的每一条轨迹的所有时间戳进行扩张搜索,以搜索集合Q中与之时间距离最近的轨迹。
优选的,步骤1)中,定义一个时空相似度上界来控制所述集合P中的每一条轨迹的搜索范围。
优选的,步骤1)中,采用一个多搜索源调度策略来对当前搜索轨迹中基于每一个轨迹采样点的搜索进程进行调度,以进一步缩小所述集合P中的每一条轨迹的搜索范围。
优选的,所述多搜索源调度策略是指,给予集合Q中每个轨迹采样点一个优先级标签,并按照优先标签的降序排列构成一个堆,每次从堆中选择最高排名的轨迹采样点作为搜索源。
优选的,所述符合要求的所有轨迹对是指时空相似度大于所述相似度阈值的轨迹对。
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
1、本发明在公路网络中进行轨迹相似性连接查询(TS-Join),其返回的结果精确,可应用到公路网络相关场景中,如:轨迹数据重复检测、数据清洗、拼车推荐、好友推荐、和基于高频重复轨迹的路径规划等。
2、本发明的方法,使用时间空间两个维度上的连续性匹配方法来计算轨迹之间的相似度,更好地衡量两条轨迹之间的匹配程度,输出令用户满意的结果。
3、本发明的方法,定义一个时空相似度上界来控制所述集合P中的每一条轨迹的搜索范围。
4、本发明的方法,在轨迹相似性连接查询中使用并行搜索技术,能支持真正的大数据,可以一次性处理1000万条轨迹数据。
附图说明
图1为本发明的轨迹相似性连接查询举例;
图2为本发明方法的流程图;
图3为本发明原理示意图;
图4中的(1)-(4)为轨迹基数|P|对算法性能的影响示意图;
图5中的(1)-(4)为轨迹基数|Q|对算法性能的影响示意图;
图6中的(1)-(4)为不同阈值影响对比图;
图7中(1)-(4)为改变倾向空间时间相对重要性参数对效率的影响对比图;
图8中(1)、(2)为线程数目对算法效率的影响对比图。
具体实施方式
以下通过具体实施方式对本发明作进一步的描述。
本发明的相似性连接查询方法TS-Join中,主要是基于公路网络,而并非传统的欧式空间,因为在实际应用中,移动对象(行人、车辆)主要移动在公路网路中,而不是欧式空间中。在公路网络中,只有网络距离可以反映两点之间的真实距离。在空间维度上,本发明把每一个轨迹采样点都用网络匹配的方法匹配到了公路网络上,在时间维度上,依据每一个轨迹采样点的时间戳,把它们集体映射到[0,24]小时的时间轴上。
公路网络模型是一个相连的无向图G=(V,E,W),其中V是网络中点的集合, E是边的集合,W代表每条边的权重,例如距离或旅行时间。本发明基于公路网络模型与已有的的欧式空间的不同如下表:
本发明将原始轨迹数据映射到公路网络上,从GPS设备采集的原始轨迹数据都是以格式(经度、纬度、时间戳)来存储的。其中轨迹数据定义为:一条移动对象轨迹τ是一个有限的,按时间顺序排列的采样点的集合<v1,v2,…,vn>,其中vi=(pi,ti),pi是公路网络中的一个点,ti是这个点的时间戳,时间戳的范围设定在0到24小时之间。
对于轨迹相似性函数:给定一个轨迹采样点v和一条轨迹τ,v和τ之间的时间和空间距离定义分别如下。
空间距离:
时间距离:
这里d(.)代表距离,sd(.)是公路网络中两点之间的网络距离,v.p是轨迹采样点在公路网络中的位置,v.t是它的时间戳,min是取最小。
给定两条轨迹τ1=<v1,v2,…,vm>和τ2=<v1,v2,…,vn>,两条轨迹之间的空间相似度和时间相似度定义如下:
空间相似度:
时间相似度:
这里,v是轨迹采样点,v.p是轨迹采样点在公路网络中的位置,v.t是它的时间戳,|τ|是轨迹中采样点的个数,d(.)代表距离。空间和时间相似度都是对称的,即τ1和τ2的空间相似度与τ1和τ2的时间相似度是一样的。这与大部分已有的相似度定义不同。
本发明用线性组合的方式将时间和空间相似度组合起来,得到时空相似度。
时空相似度:SimST(τ1,τ2)=λ·SimS(τ1,τ2)+(1-λ)·SimT(τ1,τ2)(4)
这里,可以通过调整λ的值来调整空间和时间两个维度的权重,λ的值在0 和1之间。
图1给出了TS-Join的一个例子,τ1、τ2、τ3是轨迹数据,其中τ1属于集合P,τ2、τ3属于集合Q。给定一个查询的时间段[8:30,10:30],已有的基于时间窗口的方法会返回轨迹对(τ1,τ2)和(τ1,τ3),因为它们两两之间空间相似。但是,τ1和τ2之间的出发时间相差甚远,因此这个结果很难用于行程推荐和交通拥堵预测。在面向的应用中,很难设定一个合适的查询时间段。TS-Join可以直接返回轨迹对(τ1,τ3)而无需输入任何查询时间段,时间和空间两个维度都能够被很好的匹配。
本发明提出了一种轨迹相似性连接查询(TS-Join),通过给定两个轨迹集合P、Q和一个轨迹相似度阈θ,TS-Join寻找所有符合以下条件的轨迹对(τ1,τ2): (1)轨迹对(τ1,τ2)对分别来自集合P和Q,(2)轨迹对的时空相似度大于相似度阈值θ。
具体的,本发明提出的是一种采用两阶段搜索的轨迹相似性连接查询方法,包括轨迹搜索阶段和合并阶段,在轨迹搜索阶段:针对每一条轨迹τ,在时间和空间两个维度,搜索τ附近的近似轨迹。对于时间维度,在时间轴上,搜索查询轨迹每一个时间点附近的近似轨迹;在空间维度,使用网络扩张的方法进行搜索。另外,在该轨迹搜索阶段,还提出了一个时空相似度上界来控制搜索范围,在搜索过程中,当时空相似度上界小于给定的轨迹相似度阈值时,搜索停止,所有当前符合条件的轨迹被存入候选集合,其它轨迹被剪枝算法剪枝,无需考虑。此外,我们还采用基于优先级队列的调度算法,来对多个搜索源进行调度。本发明的方法,其在轨迹搜索阶段,针对每条轨迹的搜索是相对独立的,可并行操作。在搜索过程中还可以得到两条轨迹之间的网络距离,用以计算相似度。
参照图2,本发明方法具体包括如下步骤:
1)针对集合P中的每一条轨迹,在集合Q中搜索与之在时间维度和空间维度相似的轨迹并保存为候选集合。在空间维度中,采用Dijkstra算法对所述集合P中的每一条轨迹的轨迹采样点进行网络扩张搜索,以搜索集合Q中与之空间距离最近的轨迹,每个采样点的搜索范围是一个圆形区域。在时间维度,采用所述集合P中的每一条轨迹的所有时间戳进行扩张搜索,以搜索集合Q中与之时间距离最近的轨迹。
参照图3,其中τ1,τ2,τ3,τ4是轨迹,寻找和τ1在时间维度和空间维度相近的轨迹。其中,轨迹τ1=<v1,v2,…,v5>,采样点{v6,v7}∈τ2,同时v6.p和v7.p是与v3.p和v4.p距离最近的采样点。采样点{v8,v9,…,v12}∈τ3, v8.p,v9.p,…,v12.p是和v1.p,v2.p,…,v5.p最相近的采样点。
在空间维度,使用Dijkstra算法,对每一个采样点vi.p∈τ1进行网络扩张搜索。搜索的空间是一个圆形区域(vi.p,rsi),半径rsi是搜索中心vi.p到搜索边界的距离。Dijkstra算法总是选择带有最小距离标签的点用于扩张搜索。因此,如果v′i.p∈τ′是从vi.p的扩张搜索里面扫描的第一个采样点,那么v′i.p是距离vi.p最近的采样点,也就是说d(v.p,τ′)=sd(v.p,v′.p)。例如,在图3 中,d(v3.p,τ2)=sd(v3.p,v6.p),并且d(v4.p,τ2)=sd(v4.p,v7.p)。
在时间维度里,从每一个时间戳vi.t∈τ1扩展扩张搜索。搜索范围是一个时间范围[vi.t-rti,vi.t+rti],其中rti是范围的半径。和Dijkstra算法类似,如果v′.t∈τ′是v.t的扩张搜索里面的第一个扫描的时间戳,那么v′.t就是距离v.t最近的时间戳,即d(v.t,τ′)=|v.t-v′.t|。
如果轨迹τ被τ1里面所有的采样点的扩张搜索扫描了,就按照公式(3)来计算(τ,τ1)的空间相似度;这种类型的轨迹叫做“空间全扫描的”轨迹,例如τ3。如果一个轨迹被τ1的部分采样点的扩张搜索扫描了,那么就叫做“部分空间扫描的”轨迹,例如τ2。如果一个轨迹没有被τ1中的任何采样点的扩张搜索扫描,那么就叫做“空间无扫描的”轨迹,例如τ4。相似的,在时间维度,这样的轨迹叫做“全时间扫描的”“部分时间扫描的”和“时间无扫描的”。
步骤1)中,还定义一个时空相似度上界来控制所述集合P中的每一条轨迹的搜索范围。在搜索过程中,如果当前的时空相似度上界小于给定轨迹相似度阈值的话,搜索停止,将完全扫描的轨迹保存入候选集合中,而其它部分扫描和无扫描的轨迹则全部被删除。
对于任意的两个轨迹τ1和τ2,都有
注:这里v是轨迹采样点,d()是距离,min是取最小。
如果一个轨迹是空间部分扫描的或空间未扫描的,对于一个采样点vi.p∈τ1,vi.p和τ2之间的网络距离下界定义为
其中:Case1:τ2被vi.p的扩张搜索扫描过,而且v′i.p∈τ2是距离vi.p最近的点。Case2:τ2没有被vi.p的扩张搜索扫描过。
将公式7代入到公式6,对于任意的采样点v′i.p∈τ2,有:
接着将公式(7)和公式(8)代入到公式(3)中,得到空间相似度的上界 SimS(τ1,τ2).ub:
相似的,在时间维度,如果轨迹τ2对于时间戳vi.t∈τ1是部分时间扫描的或时间无扫描的,那么vi.t和τ2的距离下界可以被定义为如下:
其中:Case1:τ2被vi.t的扩张搜索扫描过,而且v′i.t∈τ2是距离vi.t最近的点,Case2:τ2没有被vi.t的扩张搜索扫描过。
将公式(10)代入到公式(6),对于任意的采样点v′i.t∈τ2,有:
接着将公式(9)和公式(10)代入到公式(4)中,得到时间相似度的上界 SimT(τ1,τ2).ub:
接下来,合并时间和空间相似度上界。因此,如果一个轨迹τ2在空间和时间上都没有被全部扫描,那么就按下面的方式计算时空相似度的上界 SimST(τ1,τ2).ub:
SimST(τ1,τ2).ub=λ·SimS(τ1,τ2).ub+(1-λ)·SimT(τ1,τ2).ub(13)
对于部分扫描的轨迹,定义一个全局上界UB如下
在这里Pps∈P是当前部分扫描的轨迹对的集合。UB的值会随着搜索的进行而改变。
如果一个轨迹在空间维度和时间维度都没有被扫描过,就无需计算它的时空相似度上界从而减少计算和储存的消耗。假设轨迹τ1是查询轨迹,τ2是部分扫描的,τ4是在两个维度都没有被扫描的。那么根据公式(7)和(10),有和
根据公式(9)、公式(12)和公式(13),有SimST(τ1,τ2).ub≥ SimST(τ1,τ4).ub。因此,SimST(τ1,τ4).ub不可能是全局上界UB,而且不需要维护τ4的时空相似度上界。
步骤1)中,还采用一个多搜索源调度策略进一步缩小所述集合P中的每一条轨迹的搜索范围,从而让搜索能够更好地找到和结果最相近的轨迹。
假设τ=<v1,v2,…,vm>是查询轨迹,给予每一个搜索源 q∈{v1.p,v2.p,…,vm.p}∪{v1.t,v2.t,…,vm.t}一个优先级标签q.label,并且根据q.label的值以降序来维持一个堆H。优先标签的值会随着在两个维度里面的搜索而改变。每次我们只搜索优先级最高的搜索源。当一个新的搜索源代替了最高级别的搜索源时,我们会搜索新的最高级别的搜索源。优先级标签的定义如下:
在这里,Pps∈P是空间和时间部分扫描的轨迹的集合,而且q.s是搜索源q的已经被扫描过的轨迹集合。例如,在图3中,τ1是一个查询轨迹, v1.p,v2.p,…,v5.p是空间维度的搜索源。则有v1.p.s={τ2},v2.p.s={τ2},和轨迹τ2是空间部分扫描的,τ3是空间全部扫描的,τ4是时间部分扫描的。因此Pps={τ2,τ3,τ4}。对于搜索源v1.p.s, Pps\v1.p.s={τ2,τ3,τ4}\{τ3}={τ2,τ4},对于搜索源v3.p.s,Pps\v3.p.s= {τ2,τ3,τ4}\{τ2,τ3}={τ4}。
优先级标签代表了查询过程中搜索源的重要性。调度策略的主要目标是将轨迹从“部分扫描的”尽快地转变成“全部扫描的”。因此,一个搜索源的优先性q.s是和它的“边际”成比例的,也就是Pps\q.s的大小。例如,在图3中, Pps\v1.p.s={τ2,τ4};因此v1.p的边际是2.更多的是,一个有更高时空相似度上界的轨迹更有可能成为结果。所以,的值是和搜索源q的优先级成比例的。
2)将集合P中所有轨迹的候选集合进行迭代合并,得到符合要求的所有轨迹对。
如果部分扫描的轨迹的全局上界UB要比阈值θ小,那么在时间和空间维度的所有非全部扫描的轨迹都可以被删除掉。对于每一个全部扫描的轨迹τ,都具有了所有τ1中的采样点vi的d(vi.p,τ)和d(vi.t,τ)的确切值;因此,能够进一步优化时间、空间和时空上界。
本发明将轨迹τ1的所有的全部扫描的轨迹放在候选集合C(τ1)中。对于每一个轨迹τ∈C(τ1),(τ,τ1)是一个有可能满足条件的轨迹对。对于(τ1,τ),保持一个如下的变量:
值得注意的是,V(τ1,τ)是从公式(9)和公式(12)中直接得到的。
处理完P中所有轨迹的最近邻搜索以后,将结果合并。对于每一个轨迹τ∈P,维护一个候选集合C(τ)。对于一个轨迹对(τ1,τ2),如果τ1∈C(τ2)且τ2∈C(τ1),则按照下面的方式计算他们的时空相似度的确切值:
然后,计算关于阈值θ的SimST(τ1,τ2)。如果SimST(τ1,τ2)>θ,则(τ1,τ2) 是符合条件的轨迹对。否则,删除它。对于其他的情况,如或者(τ1,τ2)不是符合条件的轨迹对,则删除它。
本发明的算法编程如下:
该算法中,查询参数是一个轨迹τ和一个阈值θ,查询结果是τ的候选集合。初始时,从堆H中选择最高排名的q当作搜索来源。然后用q进行搜索。对于新扫描的轨迹τ′,将它加入到已扫描轨迹集合q.s中。如果轨迹τ′没有被扫描,那么将它加入到部分扫描集合Pps当中。下一步,更新时空相似度上界 SimST(τ,τ′).ub。如果τ′在两个维度里都没有被全部扫描,而且 SimST(τ,τ′).ub>UB,将UB的值更新为SimST(τ,τ′).ub。如果τ′是全部扫描的,将它从Pps当中移除。如果SimsT(τ,τ′).ub之前被用作UB,依旧更新UB的值。如果SimST(τ,τ′).ub>θ,将τ′加入到τ的候选集合中。如果UB<θ,那么查询返回候选集C(τ)。如果q不是H中最高排名的搜索来源,就更新它。
该合并算法将候选集合迭代合并。对于C(τ)中每一个轨迹τ′,检查τ是否属于C(τ′)。如果属于,计算时空相似度SimST(τ,τ′)的确切值,并将τ从 C(τ′)中移除。如果SimST(τ,τ′)>θ,将轨迹对(τ,τ′)加入到结果集合A 中。最终,返回结果集合A。
复杂度分析
采用Pθ来代表每一个轨迹搜索中的扫描过的轨迹集合,包含了部分扫描和全部扫描的轨迹。根据公式(9)、(12)和(13),最大的空间和时间扩张搜索半径rs和rt是和阈值θ成反比的。假设轨迹是在空间和时间维度均匀分布的,那么|Pθ|是和阈值θ成反比的。因此|Pθ|是对阈值θ的值以及剪枝效率敏感的。
轨迹搜索阶段的时间复杂度是O(|P||Pθ|)。合并阶段的时间复杂度是 O(|P||C|),|C|是用于每一个轨迹的候选集合的基数。因为两阶段算法的时间复杂度是O(|P||Pθ|)+O(|P||C|)=O(|P||Pθ|)。如果θ足够大的话,时间复杂度近似于O(|P|)。
扩展
我们将解释如何扩展上面提出的算法从而能够支持当P≠Q时的情况。两阶段算法进行对P和Q里面的所有轨迹的轨迹搜索,并维持一个候选集合。轨迹搜索阶段的时间复杂度为O(|P||Pθ|+|Q||Qθ|)。对于合并阶段,时间复杂度依旧为 O(|P||Cp|)(或者O(|P||Cq|)),且两阶段算法的时间复杂度因此为O(|P||Pθ|+|Q||Qθ|+|P||Cp|)=O(|P||Pθ|+|Q||Qθ|),这个对于剪枝效率是敏感的。
实验结果
实验是在真实的轨迹数据上进行的,能深入地了解本发明方法的本质。
1、实验设置
使用两个空间网络,包括北京公路网络(BRN)和纽约公路网络(NRN),分别包含28342个顶点和27690条边,以及95581个顶点和260855条边。图模型使用邻接表储存的。在BRN中,我们使用了由Tdrive项目提供的真实的出租轨迹数据;在NRN中我们使用了来自纽约的真实出租车轨迹数据。NRN中的每一个轨迹代表了一个出租车旅程,他们的平均长度大约是80。BRN中原始的轨迹特别长,经常是连续几天的,我们将这些轨迹分割成小时长度的子轨迹,这些子轨迹的平均长度是72。这样做的目的是为了产生和实际旅程一样的真实长度和时间。
在实验中,两阶段算法的空间网络是常驻内存的,为了存储它们,BRN使用的内存是42MB和57MB,NRN使用的内存是51MB和68MB。轨迹数据也是常驻内存的,BRN使用了506MB,NRN使用了3.9GB。所有的算法在一个拥有10个数据节点的机群上使用Java运行。每一个数据节点配有两块Intel Xeon E5-2620v3 处理器(2.5GHz)和一块128GB的内存。为了满足轨迹数据无法全部存储在内存中的情况,使用了硬盘存储算法同时在图5中给出了性能结果。对于两阶段算法,对于网络中的每一个结点,我们存储了包含这个结点的轨迹的标识符。每一个节点中的标识符使用ArrayList升序排列。我们使用B+-树来读取所有储存在当前节点/结点中的轨迹的所有页面。为了读取更加快速我们使用了1GB的 LRU缓存来存储被搜索的页面。
除非特殊说明,实验结果都是平均了使用了10组使用不同查询输入的独立的路径的结果。主要的性能指标是CPU的运算时间和访问了的轨迹数目。使用访问了的轨迹数目作为指标是因为它反映了数据的访问数目。在多线程的运算中,总共的运算时间是所有独立线程中运算时间最久的时间。
P和Q中的轨迹是在真实数据集中随机选择的。参数的设定列在下表中。在下列实验图中,两阶段算法使用“two-phase”表示。
1.剪枝效率
首先,我们研究使用默认设置的算法的剪枝效率。表中给出了实验结果,使用了如下的候选和剪枝比率:
Pruningratio=1-Candidateratio
这里C是候选集合。
Two-phase算法对于轨迹相似性连接的剪枝效果(非自连接)
Two-phase | |
候选集比例(公路网络BRN) | 0.10 |
剪枝比例(公路网络BRN) | 0.90 |
候选集比例(公路网络BRN) | 0.04 |
剪枝比例(公路网络BRN) | 0.96 |
Two-phase对于轨迹相似性连接的剪枝效果(自连接)
Two-phase | |
候选集比例(公路网络BRN) | 0.06 |
剪枝比例(公路网络BRN) | 0.94 |
候选集比例(公路网络BRN) | 0.03 |
剪枝比例(公路网络BRN) | 0.97 |
2.轨迹基数的影响
图4和图5给出了轨迹基数|P|和|Q|对算法性能的影响。直观上,更大的|P| (或者|Q|)会导致更多的轨迹对被处理,意味着CPU时间和被访问的轨迹要比所有的算法高。两阶段算法在使用24个线程的情况下能够在39秒内处理1M的轨迹,252秒处理10M的轨迹。
CPU时间并没有完全对应于访问的轨迹数目,因为算法需要消耗计算来维持上下界用于剪枝运算。这些导致的时间消耗会抵消因为减少访问轨迹数目所带来的优势。
3.阈值θ的影响
图6是我们改变阈值θ的结果。对于两阶段算法,越大的θ会带来更好的剪枝效率。因此θ越大,搜索空间会越小,所需的CPU时间和需要访问的轨迹数目就会显著减少。当θ=1.95时,两阶段算法能够在28秒内处理1M的轨迹。λ的影响
图7给出了改变倾向参数λ对效率的影响。参数λ能调整空间和时间相似度的侧重。当λ=1时,TS-Join只在空间维度里操作,而当λ=0时,只考虑时间凌宇。从图7可以看出空间维度要比时间维度需要更多的搜索时间。
4.线程数目m的影响
我们研究在使用NRN中大的轨迹数据集时线程数目m对算法效率的影响。结果在图8中给出。其中轨迹基数为1000万。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
Claims (7)
1.一种采用两阶段搜索的轨迹相似性连接查询方法,其特征在于,用于对给定的两个轨迹集合P、Q和相似度阈值,寻找两个轨迹集合P、Q之间,时空相似度大于该相似度阈值的轨迹对,包括如下步骤:
1)针对集合P中的每一条轨迹,在集合Q中搜索与之在时间维度和空间维度相似的轨迹并保存为候选集合;
2)将集合P中所有轨迹的候选集合进行合并,得到符合要求的所有轨迹对。
2.如权利要求1所述的一种采用两阶段搜索的轨迹相似性连接查询方法,其特征在于,步骤1)中,在空间维度中,采用Dijkstra算法对所述集合P中的每一条轨迹的轨迹采样点进行网络扩张搜索,以搜索集合Q中与之空间距离最近的轨迹,每个采样点的搜索范围是一个圆形区域。
3.如权利要求1所述的一种采用两阶段搜索的轨迹相似性连接查询方法,其特征在于,步骤1)中,在时间维度,采用所述集合P中的每一条轨迹的所有时间戳进行扩张搜索,以搜索集合Q中与之时间距离最近的轨迹。
4.如权利要求1所述的一种采用两阶段搜索的轨迹相似性连接查询方法,其特征在于,步骤1)中,定义一个时空相似度上界来控制所述集合P中的每一条轨迹的搜索范围。
5.如权利要求1所述的一种采用两阶段搜索的轨迹相似性连接查询方法,其特征在于,步骤1)中,采用一个多搜索源调度策略来对当前搜索轨迹中基于每一个轨迹采样点的搜索进程进行调度,以进一步缩小所述集合P中的每一条轨迹的搜索范围。
6.如权利要求5所述的一种用两阶段搜索的轨迹相似性连接查询方法,其特征在于,所述多搜索源调度策略是指,给予集合Q中每个轨迹采样点一个优先级标签,并按照优先标签的降序排列构成一个堆,每次从堆中选择最高排名的轨迹采样点作为搜索源。
7.如权利要求1所述的一种采用两阶段搜索的轨迹相似性连接查询方法,其特征在于,所述符合要求的所有轨迹对是指时空相似度大于所述相似度阈值的轨迹对。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710755814.XA CN107766407A (zh) | 2017-08-29 | 2017-08-29 | 一种采用两阶段搜索的轨迹相似性连接查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710755814.XA CN107766407A (zh) | 2017-08-29 | 2017-08-29 | 一种采用两阶段搜索的轨迹相似性连接查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107766407A true CN107766407A (zh) | 2018-03-06 |
Family
ID=61265879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710755814.XA Pending CN107766407A (zh) | 2017-08-29 | 2017-08-29 | 一种采用两阶段搜索的轨迹相似性连接查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766407A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037245A (zh) * | 2020-07-22 | 2020-12-04 | 杭州海康威视数字技术股份有限公司 | 一种确定追踪目标相似度的方法和系统 |
CN115344795A (zh) * | 2022-10-17 | 2022-11-15 | 云南师范大学 | 一种基于多路归并的地铁乘客轨迹相似性搜索方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722541A (zh) * | 2012-05-23 | 2012-10-10 | 中国科学院计算技术研究所 | 一种时空轨迹相似度计算方法及系统 |
US20170131110A1 (en) * | 2010-06-04 | 2017-05-11 | Microsoft Technology Licensing, Llc | Searching similar trajectories by locations |
CN106844409A (zh) * | 2016-06-16 | 2017-06-13 | 南京航空航天大学 | 快速连续历史轨迹距离查询技术 |
-
2017
- 2017-08-29 CN CN201710755814.XA patent/CN107766407A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170131110A1 (en) * | 2010-06-04 | 2017-05-11 | Microsoft Technology Licensing, Llc | Searching similar trajectories by locations |
CN102722541A (zh) * | 2012-05-23 | 2012-10-10 | 中国科学院计算技术研究所 | 一种时空轨迹相似度计算方法及系统 |
CN106844409A (zh) * | 2016-06-16 | 2017-06-13 | 南京航空航天大学 | 快速连续历史轨迹距离查询技术 |
Non-Patent Citations (1)
Title |
---|
SHUO SHANG等: ""Trajectory similarity join in spatial networks"", 《PROCEEDING OF THE VLDB ENDOWMENT VOLUME 10 ISSUE 11,AUGUST 2017》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037245A (zh) * | 2020-07-22 | 2020-12-04 | 杭州海康威视数字技术股份有限公司 | 一种确定追踪目标相似度的方法和系统 |
CN112037245B (zh) * | 2020-07-22 | 2023-09-01 | 杭州海康威视数字技术股份有限公司 | 一种确定追踪目标相似度的方法和系统 |
CN115344795A (zh) * | 2022-10-17 | 2022-11-15 | 云南师范大学 | 一种基于多路归并的地铁乘客轨迹相似性搜索方法 |
CN115344795B (zh) * | 2022-10-17 | 2022-12-09 | 云南师范大学 | 一种基于多路归并的地铁乘客轨迹相似性搜索方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shang et al. | Searching trajectories by regions of interest | |
Shang et al. | Parallel trajectory similarity joins in spatial networks | |
Shang et al. | Personalized trajectory matching in spatial networks | |
USRE44876E1 (en) | Proximity search methods using tiles to represent geographical zones | |
Han et al. | Neat: Road network aware trajectory clustering | |
Tiesyte et al. | Similarity-based prediction of travel times for vehicles traveling on known routes | |
RU2571573C1 (ru) | Способ и сервер для поиска соседнего пользователя в службах социальных сетей | |
Lefebvre et al. | Fast shortest path computation in time-dependent traffic networks | |
Huang et al. | In-route skyline querying for location-based services | |
CN105335524B (zh) | 一种应用于大规模非规则结构数据的图搜索方法 | |
CN106960044B (zh) | 一种基于张量分解及加权hits的时间感知个性化poi推荐方法 | |
CN107766406A (zh) | 一种采用时间优先搜索的轨迹相似性连接查询方法 | |
CN107167136A (zh) | 一种面向电子地图的位置推荐方法及系统 | |
CN111651685A (zh) | 一种兴趣点获取方法、装置、电子设备及存储介质 | |
US20110153655A1 (en) | Server-sensor network cooperative spatial query processing method and server using the same | |
Amaliah et al. | Finding the shortest paths among cities in Java Island using node combination based on Dijkstra algorithm | |
Emrich et al. | Geo-social skyline queries | |
Xu et al. | Indoor optimal path planning based on Dijkstra Algorithm | |
Liu et al. | Polestar: An intelligent, efficient and national-wide public transportation routing engine | |
Wang et al. | Spatial query processing in road networks for wireless data broadcast | |
CN107766407A (zh) | 一种采用两阶段搜索的轨迹相似性连接查询方法 | |
Guo et al. | Wheretogo: Personalized travel recommendation for individuals and groups | |
Sun et al. | On efficient aggregate nearest neighbor query processing in road networks | |
KR101523192B1 (ko) | 소셜 검색 시스템 및 기법 | |
CN109068374A (zh) | 驻留poi确定方法、装置、终端及存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180306 |
|
WD01 | Invention patent application deemed withdrawn after publication |