杂志的下一篇文章
基于三维骨骼关节数据的实时手臂手势识别
下一篇特刊文章
大数据延迟传输熵评估的并行策略
期刊上的上一篇文章
基于类别和应用行业的NoSQL数据库介绍
 
 
订购文章重印
字体类型:
宋体 佐治亚州 宋体,Verdana
字体大小:
澳大利亚 澳大利亚 澳大利亚
行距:
列宽:
背景:
第条

基于阈值的历史连续查询的剪枝优化

海军工程大学电子工程学院,武汉430033
*
信件应寄给的作者。
算法 2019,12(5), 107;https://doi.org/10.3390/a12050107
收到的提交文件:2019年3月4日/修订日期:2019年5月5日/接受日期:2019年5月18日/发布时间:2019年5月19日
(本文属于特刊大规模数据分析算法)

摘要

:
随着移动定位服务应用的增加,对移动对象轨迹数据的时空查询已成为研究热点,而连续查询是各种时空查询的关键类型之一。本文研究了移动对象连续查询的子域,即基于阈值的历史连续查询剪枝优化。首先,针对基于Mindist的剪枝策略的处理开销过大的问题,提出了一种基于扩展最小边界矩形重叠的剪枝算法来优化处理开销。其次,提出了一种基于E3DR树的最佳第一遍历算法,以确保在访问尽可能少的索引节点的情况下获得准确的修剪候选集。最后,在实际数据集上的实验证明,我们的方法明显优于其他类似方法。

1.简介

随着移动网络和定位技术的快速发展,可以更方便地获取移动对象的轨迹数据。例如,自动识别系统用于报告船舶的实时位置信息,移动社交应用程序用于共享实时位置等。移动对象的轨迹数据包含大量可以分析和挖掘的信息。通过移动对象数据库管理移动对象的轨迹数据[1]可以推广大量基于位置服务的应用程序,如地理信息系统、导航系统、路径规划系统等。因此,移动对象数据库的性能将决定基于位置的应用程序可以提供的服务能力。
在过去的十年中,移动对象数据库的研究取得了很多成果,涵盖了数据存储、管理、查询和挖掘的各个方面。移动对象查询是移动对象数据库的关键技术之一。在不同的场景中,需要各种类型的查询操作来提供服务支持。研究如何提供高性能查询是提高移动对象数据库服务能力的关键。因此,实现能够在短时间内准确返回结果的查询操作非常重要。随着研究的逐步深入,人们在查询时不仅要考虑运动对象的空间信息,还要考虑时间信息。在此阶段,对移动对象的查询操作包括时空范围查询、轨迹相似性查询、邻居查询、基于阈值的查询[2]等。我们考虑对历史轨迹数据的以下查询请求:
  • 找出离泊位一海里内的船只O(运行)12015年11月11日10:00至11月12日10:00期间的任何时间。
  • 找出离船不到一海里的船只O(运行)22015年11月12日8:00至11月13日8:00期间的任何时间。
上述两个查询都需要查询时间段内任意时间实例的查询结果,其中查询请求(1)以静态对象为参照,查询请求(2)以移动对象为参照[]. 然而,这些连续查询与传统的连续查询之间存在一定的区别。传统的连续查询会立即向数据库提交查询请求并保持活动状态,查询结果会定期返回,直到预定的查询生命周期结束。而查询请求(1)和(2)要求数据库立即返回所有查询结果。可以看出,与传统查询相比,这些连续查询面临着更大的数据处理规模挑战。此外,我们可以从查询条件中看出,上述查询请求受到空间距离阈值的约束,因此我们将其称为基于阈值的历史连续查询(THC查询)。
图1显示THC查询的示例,其中T型q个是查询移动对象的历史轨迹O(运行)q个、和T型1,T型2、和T型是运动物体的历史轨迹O(运行)1,O(运行)2,O(运行),并且查询时间间隔为(t吨1,t吨4),距离阈值为d日.随着时间的推移,运动物体的位置将不断变化。因此,查询时间间隔可以细分为多个较小的时间段,并且每个时间段的查询结果不相同。作为图1显示,结果是O(运行)2O(运行)在时间间隔(t吨1,t吨),O(运行)1,O(运行)2O(运行)在时间实例t吨,O(运行)1,O(运行)2在时间间隔(t吨,吨4).
THC查询可以通过经典的“修剪精化”方法进行处理[4]. 在剪枝步骤中,使用一定的剪枝策略粗略检查运动对象数据库中的轨迹数据是否满足约束条件,并剔除不符合条件的轨迹数据,最后得到一组候选轨迹数据。整个剪枝过程通常通过遍历时空索引来执行。在细化步骤中,通过距离计算进一步过滤候选集,并将最终满足查询条件的结果返回给用户。
在上述过程中,修剪步骤对整体查询性能具有决定性影响。这是因为,首先,修剪的时间开销是整个查询时间的重要组成部分。如果能够优化剪枝策略,减少处理时间,那么整体查询性能无疑会得到有效的提高。其次,剪枝的候选集直接影响精化的性能。通过剪枝生成的候选轨迹数据越接近最终结果,在细化步骤中所需的轨迹距离计算次数就越少,查询所需的I/O次数和计算时间就可以有效地减少。鉴于此,为了获得高效的查询性能,我们优化了THC查询的修剪步骤。首先,提出了基于扩展最小边界矩形(MBR)重叠的剪枝策略,以减少单个剪枝检查的处理开销。其次,我们设计了一个扩展的3DR-tree[5]索引查询对象的结构称为E3DR-tree,并在此基础上,我们实现了一种最佳优先遍历算法,从而在遍历索引的过程中,通过访问尽可能少的节点来获得准确的剪枝候选集。
我们的主要贡献概括如下:
  • 我们提出了一种基于扩展MBR重叠的剪枝策略来优化单个剪枝检查,从而有效地减少了处理时间。
  • 我们引入了一种基于E3DR树的最佳优先遍历算法,在有效控制遍历索引时访问的节点数的前提下,获得精确的修剪候选集进行细化处理。
  • 我们用船舶轨迹数据集对该方法进行了评估,实验结果验证了该方法的有效性。
第2节介绍了相关工作。背景介绍于第3节中描述了修剪优化的方法第4节.第5节对我们的方法进行了实验研究。最后,我们在第6节.

2.相关工作

目前,对历史连续查询的研究很多,除了基于阈值的历史连续查询外,它还包括k个最近邻历史连续查询。
Frentzos等人[6]引入了深度优先遍历算法来支持k个最近邻历史连续查询,并提出一种新的线到矩形Mindist(最小距离)计算方法[7]以提高修剪效率。此外,他们将上述方法应用于TB-tree的两种索引结构[8]并在真实数据集和合成数据集上验证了其可行性。
Güting等人[9]研究的剪枝优化k个最近邻历史连续查询。他们提出了一种扩展的3DR-树结构来快速确定候选轨迹的数量,设计了一种基于时间的索引BB-树来实现高精度的修剪,并在此基础上,实现了一种广度第一的大规模节点遍历算法,以高效地获取候选轨迹数据。
Gowanlock等人[10]对基于阈值的历史连续查询进行了研究。为了减少查询处理的I/O开销,他们提出了一种基于内存的R树结构来索引轨迹数据,并使用基于MBR重叠的查询算法来进行修剪和细化。与前两个研究相比,本研究不关注算法的改进,而是在实际数据集上进行了大量实验,以确定构建基于记忆的R树的合适参数。此外,他们还探索了基于OpenMP的查询并行化[11].
Huang等人[12]提出了一种新的基于阈值的历史连续查询操作。对于该查询操作,引入了一种基于Minnist Maxdist(最小距离-最大距离)的修剪方法和一种基于动态时间扭曲的细化方法。此外,本研究还讨论了轨迹分割对查询的影响,并评估了查询算法在3DR-tree、TB-tree和SETI索引上的性能[13]分别是。
随着GPU技术的快速发展[14,15,16]提出了使用GPU并行处理基于阈值的历史连续查询。一方面,考虑到GPU不具备分支预测功能,这些方法避免了使用树状结构索引轨迹数据,而是使用网格结构。另一方面,考虑到GPU内存有限,与上述四种方法的快照查询不同,这些方法将移动对象数据库中包含的轨迹数据划分为多个批次并进行迭代处理。
除了基于GPU的方法外,上述方法或多或少存在以下缺点:(1)计算Mindist或Maxdist的值需要较高的计算成本[6,9,12]. (2) 在剪枝步骤中,将整个查询轨迹作为一个整体生成的剪枝候选集不够准确[6,12]. 相反,以查询轨迹的每一段为基本单位的剪枝方法可以获得更准确的候选集,但访问的节点数大大增加[9,10]. 针对这两个缺点,我们稍后将详细讨论解决方案。

3.背景

运动物体的真实轨迹在空间和时间上是一条连续曲线,但轨迹数据的采样和存储是以离散形式进行的,这是因为传感器设备只能采集和发送离散样本。例如,装有GPS设备的出租车每10秒报告一次其位置信息。运动物体的离散位置样本构成一个有序的线段序列。当采样频率足够高时,这一序列的线段可以相对准确地近似于运动对象的真实轨迹。因此,我们使用基于分段的数据模型来表示移动对象的轨迹,定义如下:
定义 1
运动物体的轨迹T包含一系列轨迹段(l1,升2……我M(M))按时间顺序排列。每个轨迹段l记录运动物体在一个时间间隔内的线性运动,可以表示为 = { o(o) d日 , 第页 , 第页 e(电子) , t吨 , t吨 e(电子) } , ( t吨 t吨 e(电子) ) ,其中oid是移动对象的标识符,它可以表示移动对象p和pe(电子)分别表示运动对象在时间实例t处的空间位置和te(电子).
根据定义1中描述的轨迹数据模型,可以通过线性插值获得运动对象在某个历史时间实例上的空间位置。在二维欧几里得空间中,给定一个轨迹段 = { o(o) d日 , 第页 , 第页 e(电子) , t吨 , t吨 e(电子) } ,的空间坐标第页第页e(电子)表示为 第页 = ( q个 1 , q个 2 ) 第页 e(电子) = ( q个 e(电子) 1 , q个 e(电子) 2 ) ,让 o(o) c(c) ( t吨 , o(o) d日 ) 表示的空间位置oid类在时间实例t吨、和 o(o) c(c) k个 ( t吨 , o(o) d日 ) 表示k个-的第个维度坐标 o(o) c(c) ( t吨 , o(o) d日 ) 。任何时候t吨在时间间隔内 [ t吨 , t吨 e(电子) ] ,我们计算 o(o) c(c) k个 ( t吨 , o(o) d日 ) 作为
o(o) c(c) k个 ( t吨 , o(o) d日 ) = { q个 e(电子) k个 q个 k个 t吨 e(电子) t吨 ( t吨 t吨 ) + q个 k个 t吨 < t吨 e(电子) q个 k个 t吨 = t吨 e(电子) .
利用公式(1),我们可以计算出一个时间戳上两个移动对象的空间位置,然后获得它们之间的距离。在本文中,我们使用欧几里德距离作为距离度量 d日 ( o(o) c(c) ( t吨 , o(o) d日 1 ) , o(o) c(c) ( t吨 , o(o) d日 2 ) ) 表示之间的距离oid类1oid类2在时间实例中t吨,根据欧几里德距离公式
d日 ( o(o) c(c) ( t吨 , o(o) d日 1 ) , o(o) c(c) ( t吨 , o(o) d日 2 ) ) = k个 = 1 2 ( o(o) c(c) k个 ( t吨 , o(o) d日 1 ) o(o) c(c) k个 ( t吨 , o(o) d日 2 ) ) 2 .
在中列出的两个查询请求中第1节,可以将静止对象视为停留在空间位置的移动对象,从而给出统一的查询定义。
定义 2
给定一个移动对象oidq个,一个移动对象数据库D,一个时间间隔[t平方,吨当量],距离阈值d,历史轨迹Tq个oid的q个英寸[t平方,吨当量]基于阈值的历史连续查询返回查询结果Rs的集合,Rs的元素re表示为元组(ti,oid),其中ti是时间间隔,oid是一组移动对象。Rs满足以下两个条件:
(1) 给定两个元素 第页 e(电子) 1 , 第页 e(电子) 2 R(右) ,这样的话 第页 e(电子) 1 . t吨 第页 e(电子) 2 . t吨 = 第页 e(电子) 1 . t吨 , 第页 e(电子) 2 . t吨 [ t吨 q个 , t吨 e(电子) q个 ] .
(2) 给定一个元素 第页 e(电子) 1 R(右) ,一个时间实例 t吨 1 第页 e(电子) 1 . t吨 ,一个移动的对象 o(o) d日 1 第页 e(电子) 1 . o(o) d日 ,因此 d日 ( o(o) c(c) ( t吨 1 , o(o) d日 1 ) , o(o) c(c) ( t吨 1 , o(o) d日 q个 ) ) d日 .
换句话说,不同Rs元素的时间间隔不重叠,任何Rs元素时间间隔必须在查询时间间隔内。此外,Rs.oid和oid中每个oid之间的距离q个在任何时间,Rs.ti不得大于距离阈值d.
为了确保移动对象数据库的时空查询性能D类可以使用3DR-tree和TB-tree等时空索引结构对轨迹数据进行索引。由于3DR树比TB树具有更强的时空辨别能力[17],我们使用了一个名为drtree数据库在中索引轨迹数据D类3DR树是R树在由2+1(分别是空间和时间)维度构成的3D空间中的直接扩展[6]. 它将时间视为一个额外的空间维度,并使用轨迹段作为索引条目。图2显示了3DR-树的示例。
修剪步骤通过遍历来实现drtree数据库。它从的根节点开始drtree数据库,遍历drtree数据库自上而下,抛弃不相关的drtree数据库根据特定修剪策略的节点(adrtree数据库节点是指的索引节点drtree数据库或由索引节点索引的轨迹段drtree数据库),并保留与查询轨迹相关的轨迹段T型q个在时间和空间上,最终得到候选轨迹段的结果。

4.修剪优化

本节介绍修剪优化方法。第4.1节引入了扩展的基于MBR重叠的剪枝策略,可以有效地减少剪枝检查的处理开销。第4.2节提出了一种有效组织查询轨迹的索引结构T型q个基于新的索引结构,在第4.3节以确保在访问尽可能少的节点的情况下获得高精度修剪结果。表1列出了本节中常用的符号。

4.1. 基于扩展MBR重叠的剪枝策略

给定一个drtree数据库节点N个d日,用于N个d日和查询轨迹T型q个,基本修剪策略包括以下两个步骤:
  • 检查N个d日与时间间隔重叠T型q个,如果 T型 ( N个 d日 ) T型 ( T型 q个 ) = ,然后N个d日应该修剪。
  • 确定MBR与N个d日和MBRT型q个不大于距离阈值d日,如果 M(M) n个 d日 t吨 ( M(M) ( N个 d日 ) , M(M) ( T型 q个 ) ) > d日 ,然后N个d日应该修剪。
在基本修剪策略的步骤(2)中,虽然基于Mindist的方法可以有效地排除不满足查询条件的轨迹数据,但其计算过程复杂,需要大量的CPU时间。计算Mindist的值时 M(M) ( N个 d日 ) M(M) ( T型 q个 ) ,它首先确定是否 M(M) ( N个 d日 ) 与重叠 M(M) ( T型 q个 ) 如果是,那么Mindist的值为0。否则,它需要计算到任何边缘的最小距离 M(M) ( N个 d日 ) M(M) ( T型 q个 ) ,并选择最小值作为Mindist的值,即计算MBR-to-MBR Mindist需要在线段和矩形之间进行四次Mindist计算。此外,分段到矩形的Mindist计算被细分为六次距离计算。如所示图3,计算线段之间的最小距离时L(左)和矩形M(M),有必要从L(左)M(M)每个顶点有四个心智主义者M(M)L(左),然后选择其中的最小值作为结果。因此,如果 M(M) ( N个 d日 ) 不与重叠 M(M) ( T型 q个 ) ,需要24次距离计算才能获得Mindist的值 M(M) ( N个 d日 ) M(M) ( T型 q个 ) .
显然,在两个MBR之间计算Mindist的成本很高,如果可以优化计算成本,查询效率可以显著提高。在计算Mindist的过程中,可以注意到,检查两个MBR是否重叠的成本远小于多重距离计算,只需比较MBR顶点之间的空间位置关系。假设的左下角和右上角的空间坐标 M(M) ( N个 d日 ) ( x个 d日 1 , d日 1 ) ( x个 d日 2 , d日 2 ) ,的左下角和右上角的空间坐标 M(M) ( T型 q个 ) ( x个 q个 1 , q个 1 ) ( x个 q个 2 , q个 2 ) ,如果Discriminant(3)的结果为真,则 M(M) ( N个 d日 ) 与重叠 M(M) ( T型 q个 ) 利用重叠计算的低开销,我们提出了一种基于扩展MBR重叠的剪枝策略来优化计算开销。
! ( ( ( x个 d日 2 < x个 q个 1 ) ( d日 1 > q个 2 ) ) ( ( x个 q个 2 < x个 d日 1 ) ( q个 1 > d日 2 ) ) ) .
首先,我们使用距离阈值d日扩展 M(M) ( T型 q个 ) 在二维欧氏空间中,我们可以得到一个覆盖区域 R(右) ( T型 q个 , d日 ) 形状为圆形矩形。很容易知道,如果drtree数据库节点与重叠 R(右) ( T型 q个 , d日 ) 然后是介于它和 M(M) ( T型 q个 ) 不大于d日然而,由于覆盖面积 R(右) ( T型 q个 , d日 ) 不是矩形区域,确定 M(M) ( T型 q个 ) 与重叠 R(右) ( T型 q个 , d日 ) 不能仅基于顶点之间的空间位置关系,需要进行额外的计算。考虑到这一点,我们使用外切矩形 M(M) ( R(右) ( T型 q个 , d日 ) ) 属于 R(右) ( T型 q个 , d日 ) 近似 R(右) ( T型 q个 , d日 ) ,如果 M(M) ( N个 d日 ) 不与重叠 M(M) ( R(右) ( T型 q个 , d日 ) ) ,则它也不会与 R(右) ( T型 q个 , d日 ) 因此,我们总结了修剪策略1。
修剪策略 1
给定drtree节点Nd日和查询轨迹Tq个,距离阈值d,如果 M(M) ( N个 d日 ) M(M) ( R(右) ( T型 q个 , d日 ) ) = ,然后是Nd日不能包含与查询结果相关的数据,并且应该对其进行修剪.
修剪策略1不涉及复杂的计算,因此可以有效地减少计算开销。然而, M(M) ( R(右) ( T型 q个 , d日 ) ) 与相比,增加了覆盖面积 R(右) ( T型 q个 , d日 ) ,对于这样的drtree数据库MBR与重叠的节点 M(M) ( R(右) ( T型 q个 , d日 ) ) 但不与 R(右) ( T型 q个 , d日 ) ,修剪策略1无法对其进行修剪。例如,在图4,修剪策略1无法修剪节点N个4因此,使用修剪策略1生成的候选集可能包含更多不相关的候选,这在一定程度上增加了求精的处理开销。
为了克服这个问题,一个直观的方法是进一步检查drtree数据库通过计算Mindist通过了修剪策略1检查的节点。然而,如前所述,Mindist计算需要大量的CPU时间,应该在修剪过程中避免。在这方面,我们认为该属性是一个或多个矩形区域,完全由 R(右) ( T型 q个 , d日 ) ,如果 M(M) ( N个 d日 ) 与其中任何一个重叠,那么 M(M) n个 d日 t吨 ( M(M) ( N个 d日 ) , M(M) ( T型 q个 ) ) d日 此外,为了确保修剪效果,这些矩形区域应完全覆盖 M(M) ( T型 q个 ) 。这样的矩形空间区域可以通过扩展每个维度的空间范围来获得 M(M) ( T型 q个 ) 通过使用d日。假设的左下角和右上角的坐标 M(M) ( T型 q个 ) ( x个 q个 1 , q个 1 ) ( x个 q个 2 , q个 2 ) 分别是。因此 M(M) 1 ( T型 q个 , d日 ) ( x个 q个 1 d日 , q个 1 ) ( x个 q个 2 + d日 , q个 2 ) ,以及的左下角和右上角的坐标 M(M) 2 ( T型 q个 , d日 ) ( x个 q个 1 , q个 1 d日 ) ( x个 q个 2 , q个 2 + d日 ) 很容易知道 M(M) 1 ( T型 q个 , d日 ) M(M) 2 ( T型 q个 , d日 ) 被完全覆盖 R(右) ( T型 q个 , d日 ) 、和 M(M) ( T型 q个 ) 被他们完全覆盖。因此,我们得到了修剪策略2。
修剪策略 2
给定查询轨迹Tq个,距离阈值d,drtree节点Nd日已通过修剪策略1的检查。如果 ( M(M) ( N个 d日 ) M(M) 1 ( T型 q个 , d日 ) ) ( M(M) ( N个 d日 ) M(M) 2 ( T型 q个 , d日 ) ) ,则Minist在M(N)之间的值d日)和M(Tq个)不大于d。否则,我们应该计算 M(M) n个 d日 t吨 ( M(M) ( N个 d日 ) , M(M) ( T型 q个 ) ) 确定是否修剪Nd日.
例如,在图4,个节点N个N个5与…重叠 M(M) 1 ( T型 q个 , d日 ) ,无需修剪,而节点N个2N个4不要与重叠 M(M) 1 ( T型 q个 , d日 ) M(M) 2 ( T型 q个 , d日 ) ,有必要进一步计算Mindist的值以决定是否修剪N个2N个4.
综上所述,我们将这种结合了剪枝策略1和剪枝策略2的方法命名为扩展的基于MBR重叠的剪枝策略(EMOB剪枝策略),算法1给出了其详细的流程。遍历每个drtree公司节点N个d日。如果返回值为true,则N个d日不应修剪。否则,N个d日应该修剪一下。算法的一般流程如下:
  • 算法首先确定N个d日与时间间隔重叠T型q个。如果两者之间存在重叠,算法将执行下一步,否则返回false(第1行到第3行)。
  • 是否 M(M) ( N个 d日 ) 与重叠 M(M) ( R(右) ( T型 q个 , d日 ) ) 已选中。如果存在,算法将继续下一步。否则,返回false(第4行到第6行)。
  • 算法判断是否 M(M) ( N个 d日 ) 与重叠 M(M) 1 ( T型 q个 , d日 ) M(M) 2 ( T型 q个 , d日 ) 。如果不存在重叠,将执行下一步。否则返回true(第7行到第9行)。
  • 是否 M(M) n个 d日 t吨 ( M(M) ( N个 d日 ) , M(M) ( T型 q个 ) ) 不大于d日已选中。如果满足以下条件,则返回值为true M(M) n个 d日 t吨 ( M(M) ( N个 d日 ) , M(M) ( T型 q个 ) ) d日 。否则返回false(第10行到第14行)。
算法1。EMOB修剪策略
输入:查询轨迹T型q个,drtree数据库节点N个d日,距离阈值d日;
输出:真正的价值意味着保留N个d日,假值表示修剪N个d日;
1
如果 T型 ( N个 d日 ) T型 ( T型 q个 ) = 然后
2
返回false;
结尾
4
如果 M(M) ( N个 d日 ) M(M) ( R(右) ( T型 q个 , d日 ) ) = 然后
5
返回false;
6
结尾
7
如果 ( M(M) ( N个 d日 ) M(M) 1 ( T型 q个 , d日 ) ) ( M(M) ( N个 d日 ) M(M) 2 ( T型 q个 , d日 ) ) 然后
8
返回true;
9
结尾
10
如果 M(M) n个 d日 t吨 ( M(M) ( N个 d日 ) , M(M) ( T型 q个 ) ) > d日 然后
11
返回false;
12
其他的
13
返回true;
14
结尾
与基本修剪策略一样,当T型q个用作修剪引用对象。因此,我们的方法适用于更高精度的修剪场合。第4.3节,我们将在最佳优先遍历算法中应用EMOB剪枝策略。

4.2. E3DR-树

与以整个查询轨迹为剪枝参考对象的剪枝方法相比,以每个轨迹段为参考的剪枝算法可以获得更准确的剪枝结果。这是因为包围轨迹段的MBR的无效空间小于包围整个轨迹的MBR。例如,在图5,MBR与drtree数据库节点N个1 M(M) ( T型 q个 ) 小于d日但在MBR和N个1和弹道段的MBR1大于d日因此,N个1不满足的候选人要求1,并且无需计算中包含的任何轨迹段之间的距离N个11在细化步骤中。
虽然基于轨迹分段的方法可以提高剪枝精度,但在剪枝过程中,需要遍历drtree数据库每个轨迹段一次T型q个,导致节点遍历开销大幅增加。为了减少节点遍历开销,我们还组织了T型q个通过名为qrtree树在修剪步骤中,drtree数据库qrtree树同时遍历,这样就可以生成精确的修剪结果,而无需遍历drtree公司多次,从而有效地减少了遍历节点的开销。遍历算法将在中单独讨论第4.3节,本节首先描述qrtree树.
Qrtree公司使用称为扩展3DR-tree(E3DR-tee)的索引结构。E3DR-tree的结构示例如所示图6。E3DR-tree与传统3DR-tee的区别表现在三个方面:
  • 节点选择条件。每当插入轨迹段时,时间间隔变化最小的节点都会被选择为插入的节点。
  • 节点拆分处理。当需要拆分节点时,在平衡新节点中包含的子节点数的同时,还必须确保新节点的时间间隔没有重叠。
  • 节点的子节点(或轨迹段)按相应时间间隔的开始时间戳的升序排序。
虽然E3DR-tree的构造没有直接考虑空间因素,但对于同一运动对象的轨迹数据,时间上相近的轨迹段通常在空间上相近,因此E3DR-tree仍然具有很强的空间区分能力。此外,E3DR-tree确保在遍历过程中可以按时间顺序处理轨迹段,这与它们在轨迹中的顺序一致,从而可以有效降低后续排序处理的开销。

4.3. 最佳优先遍历算法

我们设计了一个最佳优先遍历算法,该算法遍历drtree数据库qrtree树同时处理修剪过程。与遍历drtree数据库仅此一项,它就可以通过访问较少的节点来生成准确的结果。其基本原理是根据访问对象的高度选择下一次迭代的访问对象drtree数据库节点和qrtree树节点。随着迭代次数的增加,修剪精度不断提高,最终会为每个轨迹段生成一组候选轨迹段T型q个.
为了支持最佳首次遍历算法,我们使用一个第一优先级队列(FirstPQ)和多个次优先级队列(SecPQ)来记录遍历过程中的中间结果[18]. FirstPQ用于控制qrtree树节点,SecPQ用于控制drtree公司节点。首先,介绍了FirstPQ条目(F-entry)和SecPQ条目的数据结构。
定义 3
每个F条目的属性 ( N个 q个 , 小时 q个 , t吨 q个 , P(P) ) 如下所述:
(1)
节点Nq个-qrtree节点,可以是索引节点或轨迹段;
(2)
高度hq个-距离N的高度q个到qrtree的轨迹段层。如果 小时 q个 = 0 ,然后是Nq个是轨迹段。此外,FirstPQ中的F条目按h排序q个值(从最大到最小).
(3)
时间戳tq个-N的时间间隔的起始时间戳q个.此外,tq个当两个F条目具有相同的h时,是排序F条目的次要关键字q个值,它们按t排序q个值(从最小到最大).
(4)
SecPQ SPQ-记录通过N修剪检查的qrtree节点的SecPQq个.
定义 4
每个S条目的属性 ( N个 d日 , 小时 d日 , t吨 d日 ) 描述如下:
(1)
节点Nd日-drtree节点,可以是索引节点或轨迹段;
(2)
高度hd日-距离N的高度d日到drtree的轨迹段层。如果 小时 d日 = 0 ,然后是Nd日是轨迹段。此外,SecPQ中的S条目按h排序d日值(从最大到最小).
(3)
时间戳td日-时间间隔N的开始时间戳d日.此外,td日当两个S条目具有相同的h时,是用于排序S条目的次要关键字d日值,它们按t排序d日值(从最小到最大).
算法2给出了最佳第一遍历算法的详细流程,它分为初始化(第1行到第8行)和迭代(第9行到第19行)两个步骤,并使用集合Ps公司收集所有修剪结果。
在初始化步骤中,E3DR树qrtree(qrtree)首先为查询轨迹创建T型q个(第1行)。A秒PQ标准贯标质量和FirstPQ首件鉴定然后初始化(第2行到第3行)。接下来,的根节点qrtree树drtree数据库并执行修剪检查。如果的根节点drtree数据库不进行修剪,创建S条目和F条目并将其插入标准贯标质量首件鉴定分别是。否则,算法结束(第4行到第8行)。
对于while循环的每次迭代,第一个F条目1从退出队列首件鉴定和头部S入口东南方11.SPQ(标准贯入质量)也会在不出列的情况下进行检查(第10行到第11行)。基于1.小时q个标准高度d日,决定是否遍历qrtree树,以遍历drtree数据库或将修剪结果添加到Ps公司,三个案例的处理如下:
  • 案例1(至少一个1.小时q个东南方1.小时d日不是0,并且 (f) e(电子) 1 . 小时 q个 e(电子) 1 . 小时 d日 -):的子节点1.Nq个由函数TRA-Q遍历(首件鉴定,1,d日),当访问每个子节点时,将对drtree数据库中每个S条目的节点1.标准贯标质量(第12至13行)。函数TRA-Q的伪代码(首件鉴定,1,d日)如算法3所示。
  • 案例2(至少一个1.小时q个东南方1.小时d日不是0,并且 (f) e(电子) 1 . 小时 q个 < e(电子) 1 . 小时 d日 ):的子节点东南方1.N个d日由功能TRA-D遍历(首件鉴定,1,d日),并且在访问每个子节点时执行修剪检查(第14行到第15行)。函数TRA-D的伪代码(首件鉴定,1,d日)如算法4所示。
  • 案例3(两者1.小时q个东南方1.小时d日为0):即两者1.N个q个东南方1.N个d日是轨迹段。此外,根据SecPQ的排序规则drtree数据库中任何S条目的节点1.标准贯标质量也是一个轨迹段,是1.N个q个因此,1可以视为修剪结果并添加到Ps公司(第16至17行)。
算法2。最佳优先遍历算法
输入:查询轨迹T型q个,距离阈值d日,drtree数据库;
输出:修剪结果Ps公司;
1
qrtree树为轨迹创建E3DR-树T型q个;
2
标准贯标质量初始化SecPQ实例;
首件鉴定初始化FirstPQ的一个实例;
4
N个d日(drtree数据库);
5
N个q个(qrtree树);
6
如果EMOB公司(N个d日,N个q个,d日)=真然后
7
标准贯标质量.排队((N个d日,H(H)(N个d日),TS公司(N个d日)));
8
首件鉴定.排队((N个q个,H(H)(N个q个),TS公司(N个q个),标准贯标质量));
9
虽然 F类 P(P)
10
  1首件鉴定.dequeue();
11
  东南方11.标准贯标质量.getFirst();
12
  如果 ( (f) e(电子) 1 . 小时 q个 0 e(电子) 1 . 小时 d日 0 ) ( (f) e(电子) 1 . 小时 q个 e(电子) 1 . 小时 d日 ) 然后
13
   TRA-Q公司(首件鉴定,1,d日);
14
  否则,如果 ( (f) e(电子) 1 . 小时 q个 0 e(电子) 1 . 小时 d日 0 ) ( (f) e(电子) 1 . 小时 q个 < e(电子) 1 . 小时 d日 ) 然后
15
   TRA-D型(首件鉴定,1,d日);
16
  否则,如果 (f) e(电子) 1 . 小时 q个 = 0 e(电子) 1 . 小时 d日 = 0 然后
17
   Ps公司.添加(1);
18
  结尾
19
循环结束
20
结尾
21
返回Ps公司;
在函数TRA-Q中(首件鉴定,1,d日),对于每个子节点C类q个节点的1.N个q个,执行以下处理:
  • 初始化SecPQCSPQ公司(第2行);
  • 循环读取的每个S条目1.SPQ公司(不出列),让cse公司是当前读取的S项,如果cse公司。N个d日没有修剪,那么cse公司已插入CSPQ公司(第3行至第7行)。
  • 为创建新的F条目C类q个使用相关参数并将其插入首件鉴定(第8行)。
算法3。TRA-Q公司(首件鉴定,1,d日)
输入:第一次资格预审首件鉴定,F项1,距离阈值d日;
输出:无效的;
1
对于每个子节点C类q个属于1.N个q个
2
CSPQ公司初始化SecPQ实例;
对于每个条目cse公司属于1.标准贯标质量
4
  如果EMOB公司(cse公司。N个d日,C类q个,d日)=真然后
5
   CSPQ公司.排队(cse公司);
6
  结尾
7
外循环
8
首件鉴定.排队((C类q个,H(H)(C类q个),TS公司(C类q个),CSPQ公司));
9
外循环
功能TRA-D的过程(首件鉴定,1,d日)如下所示:
  • 将头部S-entry出列东南方11.SPQ(标准贯入质量)(行);
  • 遍历的子节点东南方1.编号d日,并对每个子节点执行修剪检查C类d日,如果C类d日未修剪,则为创建S条目C类d日并插入1.标准贯标质量(第2行至第6行);
  • 插入1进入之内首件鉴定再次(第7行)。
算法4。TRA-D型(首件鉴定,1,d日)
输入:第一次资格预审首件鉴定,F输入1,距离阈值d日;
输出:无效的;
1
东南方11.标准贯标质量.dequeue();
2
对于每个子节点C类d日属于东南方1.N个d日
如果EMOB公司(C类d日,1.N个q个,d日)=真然后
4
  1.标准贯标质量.排队(C类d日,H(H)(C类d日),TS公司(C类d日));
5
结尾
6
外循环
7
首件鉴定.排队(1);
当中没有F项时,最好的第一次遍历算法结束首件鉴定.根据F项结构Ps公司记录的查询轨迹段T型q个和一组候选轨迹段,以及Ps公司根据查询轨迹段的时间顺序进行排序,因此在细化步骤中Ps公司将按时间顺序自然处理,从而有效地减少排序的处理开销。与修剪方法相比drtree数据库以整个查询轨迹为修剪参考对象的节点,最佳优先级遍历算法可以生成更准确的候选结果,并减少细化步骤所需的开销。此外,由于我们的方法采用遍历策略drtree数据库qrtree树同时,它确保drtree数据库在获得高精度修剪结果的情况下,不会多次遍历,因此访问索引节点的成本大大降低。
修剪步骤完成后,需要对候选轨迹段进行细化以获得最终结果。由于我们的研究重点是剪枝优化,所以这里只简单解释了细化步骤,历史连续查询的细化步骤的详细过程可以在文献中找到[6]. 在修剪结果中Ps公司,对于每个轨迹段q个属于T型q个,假设其候选轨迹段之一是d日首先,d日进行插值以获得时间间隔q个与…重叠q个.然后是d日q个中的任何时间实例q个计算得出,该距离的平方是以时间为参数的二次表达式。接下来,距离阈值d日将其引入表达式以获得二次方程不等式,求解该不等式以获得时间间隔c(c)其中d日q个小于d日.如果q个与重叠c(c)(将重叠时间间隔命名为o(o)),然后是移动对象d日.oid类是的查询结果o(o).在所有数据之后Ps公司处理后,将所有查询结果返回给用户,查询结束。

4.4. 性能分析

最佳首次遍历算法的时间复杂性来自创建E3DR-树和迭代搜索的过程。假设查询轨迹T型q个和移动对象数据库D类分别包含n个轨迹段。首先,在创建E3DR-树方面,由于E3DR-tree是以与传统R-tree相同的方式创建的,因此创建它的运行时间是O(n个日志n个). 其次,在迭代搜索方面,所有候选轨迹段都集中在drtree数据库在最好的情况下,时间复杂度为O(n个+日志). 相反,在最坏的情况下,每个轨迹段T型q个需要匹配中的每个轨迹段D类,需要O()计算轮数。当然,在实际执行迭代搜索时,很难实现理论上的最坏情况复杂性。总之,最佳第一遍历算法的总时间复杂度为O(n个日志n个+日志)至O(n个日志n个+).
图7显示了THC查询的修剪过程示例,其中T型q个包含六个轨迹段,每个轨迹D类包含四个轨迹段和距离阈值d日是一个。3DR树中索引的节点的最大子级数T型q个D类是三。考虑到示例中的轨迹段不多,我们不考虑时间属性,只根据空间距离进行修剪。
最佳的第一次遍历算法(简称BFT)总共需要105次修剪检查才能得到修剪结果,其中,通过检查MBR之间的重叠,修剪次数为100次,而通过检查Mindist,修剪次数仅为5次。作为比较,文献中提出的剪枝方法[10]将查询轨迹的每一段作为参考对象(简称TDS)需要114次修剪检查,而文献中提出的修剪方法[12]将整个查询轨迹视为修剪引用的(简称CDQLTD)只需要31次修剪检查。根据中显示的修剪结果表2得益于基于分段的修剪方法,TDS和BFT的修剪结果比CDQLTD更接近最终结果。此外,与TDS相比,由于MBR重叠和Mindist计算相结合的剪枝策略,BFT实现的剪枝精度高于TDS。

5.实验

5.1. 实验设置

为了验证我们的剪枝优化方法的有效性,我们在Java中实现了它,并在Linux环境中进行了验证。在实验中,使用了一台运行Ubuntu 16.04 64位的PC(Intel Xeon E5-2620 V2,16GB内存,2TB磁盘)。
实验使用了全球AIS(自动识别系统)[19]2012年7月1日至7月5日的数据作为数据源,其中每个AIS消息都被视为时间戳中移动对象的空间位置。我们从数据源中随机抽取一些数据,形成五个数据集。统计信息如所示表3在实验期间为数据集构建3DR-树时,根据AIS消息的最大传输时间间隔,认为长时间间隔的空间位置之间的运动轨迹可能与实际运动轨迹有显著差异,我们作出了以下规定:如果AIS消息在时间间隔的六分钟内有相邻消息,则将两条消息的空间位置之间的运动轨迹作为轨迹段。否则,它被视为具有相同开始时间和结束时间的特殊轨迹段。我们使用TDS评估了BFT的性能[10]和CDQLTD[12]. 在不同的数据尺度、不同的时间范围和不同的距离阈值下,对查询性能进行了评估。评估的指标包括以下四个方面:
  • 访问的节点数:索引节点数与修剪期间检查的轨迹段数之和;
  • 选择性:通过剪枝获得的候选轨迹段数量与数据集中包含的轨迹段数量之比;
  • 修剪延迟:查询期间修剪步骤的执行时间;
  • 查询延迟:查询的执行时间。
对于每个实验,我们执行了50个查询,并使用平均值作为实验结果。默认情况下,我们使用AIS05作为实验数据集,24小时作为查询时间范围,2海里作为距离阈值。

5.2. 不同数据尺度的性能

在这部分实验中,数据集AIS01、AIS02、AIS03、AIS04和AIS05被用作实验数据,以评估这三种方法在不同尺度下的查询性能,如图8.
从中可以看出图8a、 b随着数据规模的增加,在修剪步骤中访问的节点数量增加。然而,修剪结果的增长率小于数据尺度的变化,因此选择性逐渐降低。在这三种方法中,CDQLTD的访问节点数最少,因为它使用整个查询轨迹的单个MBR作为修剪引用,并且数据集的时空索引只需要遍历一次。然而,CDQLTD的剪枝精度最低,且剪枝结果中包含一些无关数据,因此CDQLTD的选择性最差。当TDS使用查询轨迹的每个轨迹段作为参考时,需要重复遍历数据集的时空索引,并且访问的节点数比这两种方法大一个数量级。然而,它也受益于基于分段的修剪方式,TDS的修剪结果更接近最终的查询结果,因此其选择性性能优于CDQLTD。BFT也使用每个查询轨迹段作为剪枝参考,但由于E3DR-树结构和最佳的第一遍历算法,访问的节点数量远小于TDS。此外,BFT采用的剪枝策略结合了MBR重叠和Mindist计算,因此BFT的选择性性能优于仅考虑MBR重叠的TDS。
图8c显示了修剪延迟的性能。由于BFT访问的节点较少,并且其基于扩展MBR重叠的修剪策略有效地减少了单个修剪检查的时间开销,因此BFT比这两种方法花费的时间更少。虽然CDQLTD在修剪时访问的节点最少,但基于Mindist的修剪检查计算过程复杂且耗时,导致整个修剪过程的时间开销很大。TDS具有最耗时的修剪检查方法,但访问的节点数远远多于这两种方法,导致修剪最耗时。
查询延迟的性能如所示图8d、 其中,BFT表现最佳,不仅因为BFT完成修剪步骤所需的时间最少,而且生成修剪结果的精度最高,因此细化过程所需的速度也最少。CDQLTD的剪枝结果精度最低,因此需要花费大量时间进行细化处理,随着数据规模的增加,它与两种方法之间的时间差将进一步放大。

5.3. 不同时间范围的性能

图9显示了三种不同方法在不同时间范围内的查询性能。从中可以看出图9a表示随着查询时间范围的增加,涉及的候选数量也会增加,这三种方法都需要访问更多的节点才能获得候选。图9b表明选择性的变化与时间范围的变化成正比,这是因为在数据大小不变的情况下,候选段数量的增加自然会增加选择性。如所示图9c、 d,由于这三种方法都需要更多的时间来生成和处理候选段,因此它们的剪枝延迟和查询延迟随着时间范围的增加而增加。在这三种方法中,BFT的查询性能最好。在所有情况下,BFT完成查询过程的时间都不到8秒,而CDQLTD所花费的时间从34秒逐渐增加到134秒第5.2节,这里不再详细描述。

5.4. 不同距离阈值的性能

这部分实验评估了不同距离阈值的查询性能,如所示图10随着距离阈值的增加,查询的查询空间范围增加,并且增加的速度呈增加趋势。它使更多的索引节点和轨迹段被访问和检查,并且修剪结果包含更多的候选对象。如所示图10a、 b,接入节点数量和选择性的增长率也将增加。当然,当距离阈值从1海里增加到5海里时。从中可以看出图10c、 d三种方法的剪枝延迟和查询延迟也增加了。其中,BFT的性能仍然优于其他两种。就修剪延迟而言,这两种方法所需的时间不到五分之一。就查询延迟而言,它占用的时间不到TDS的一半,并且比CDQLTD小一个数量级。

5.5. 实验总结

为了衡量我们的剪枝方法的性能,我们基于实际数据集进行了上述实验研究。对于历史连续查询,研究表明,在所有情况下,与其他两种方法相比,最佳先遍历算法在选择率和查询延迟方面都具有更好的性能。这是因为我们的方法综合考虑了剪枝精度和访问节点数。此外,我们还证明了我们对剪枝策略的改进可以充分提高所提算法的性能,与CDQLTD方法相比,在访问更多节点的情况下,它可以实现更少的剪枝延迟。

6.结论

我们研究了移动对象连续查询的一个特定子域,即基于阈值的历史连续查询的修剪优化。首先,我们使用基于扩展MBR重叠的修剪策略优化单个修剪检查的处理开销。其次,提出了一种3DR树扩展结构E3DR-tree来遍历查询轨迹,并在此基础上引入了最佳优先遍历算法,以便在访问尽可能少的节点的情况下获得准确的修剪结果。最后,大量实验结果验证了该方法的有效性。在未来的工作中,我们计划将这种方法应用于分布式环境,并将其与分布式索引相结合,以进一步提高基于并行化技术的查询性能。此外,我们将改进此方法以解决历史连续查询的另一个子问题-k个-最近历史连续查询。

作者贡献

概念化、J.Q.和Q.L。;数据管理,J.Q。;方法论,J.Q。;监督,L.M。;验证、J.Q.和Q.L。;书面原稿,J.Q。;写作审查和编辑,L.M.和Q.L.所有作者都阅读并批准了最终手稿。

基金

本研究由国家自然科学基金资助,批准号61802425。

利益冲突

作者声明没有利益冲突。

工具书类

  1. 张,Z。;Jin,C。;毛,J。;杨,X。;Zhou,A.TrajSpark:用于大轨迹数据的可扩展高效内存管理系统。2017年7月7日至9日,中国北京,《亚太网络(APWeb)和网页信息管理(WAIM)网络与大数据联合会议论文集》。[谷歌学者]
  2. 鲑鱼。;Ray,C.基于流的流动性分析框架的设计原则。地理信息学 2017,21, 237–261. [谷歌学者] [交叉参考]
  3. Nutanong,S。;M.E.阿里。;塔宁,E。;Mouratidis,K.欧几里德空间中的动态最近邻查询。附件。地理信息系统 2015, 1–7. [谷歌学者]
  4. Trajcevski,G。;R.塔马西亚。;克鲁兹,I.F。;谢尔曼,P。;哈特格拉斯,D。;Zamierowski,C.对不确定轨迹的连续最近邻进行排序。VLDB J。 2011,20, 767–791. [谷歌学者] [交叉参考]
  5. Theodoridis,Y。;Vazirgiannis,M。;Sellis,T.大型多媒体应用的时空索引。1996年6月17日至23日在日本广岛举行的第三届IEEE多媒体计算和系统国际会议记录。[谷歌学者]
  6. 弗伦佐斯,E。;Gratsias,K。;Pelekis,N。;Theodoridis,Y.移动对象轨迹上的最近邻搜索算法。地理信息学 2007,11, 159–193. [谷歌学者] [交叉参考]
  7. Papadias,D。;张杰。;马穆利斯,N。;Tao,Y.空间网络数据库中的查询处理。2003年9月9日至12日在德国柏林举行的第29届超大数据库国际会议记录。[谷歌学者]
  8. Pfoser,D。;延森,C.S。;Theodoridis,Y.移动对象轨迹查询处理的新方法。2000年9月10日至14日在埃及开罗举行的第26届超大数据库国际会议记录。[谷歌学者]
  9. 居廷,R.H。;Behr,T。;Xu,J.高效k个-运动目标轨迹的最近邻搜索。VLDB J。 2010,19, 687–714. [谷歌学者]
  10. 戈万洛克,M。;Casanova,H.关于移动对象轨迹的内存距离阈值查询。《第六届数据库、知识和数据应用进展国际会议论文集》,2014年4月20日至25日,法国沙莫尼。[谷歌学者]
  11. 达贡,L。;Menon,R.OpenMP:用于共享内存编程的行业标准API。中国证券交易所 1998,1, 46–55. [谷歌学者] [交叉参考]
  12. 霍荣,H。;X.Jianqiu。;Q.Xiaolin,Q.大轨迹数据上的连续距离查询。J.Chin.中国。计算。系统。 2017,38, 2505–2510. (中文)[谷歌学者]
  13. 查卡,副总裁。;埃弗斯帕,A。;Patel,J.M.使用SETI索引大型轨迹数据集。CIDR公司 2003,75, 76. [谷歌学者]
  14. 戈万洛克,M。;Casanova,H.使用GPGPU对时空轨迹进行距离阈值相似性搜索。《2014年第21届高性能计算国际会议论文集》,印度果阿,2014年12月17日至20日。[谷歌学者]
  15. 戈万洛克,M。;Casanova,H.在GPU上进行高效距离阈值相似性搜索的时空轨迹索引。2015年IEEE国际并行和分布式处理研讨会论文集,印度海得拉巴,2015年5月25-29日。[谷歌学者]
  16. 戈万洛克,M。;Casanova,H.距离阈值相似性搜索:GPU上的有效轨迹索引。IEEE传输。平行配送系统。 2016,27, 2533–2545. [谷歌学者] [交叉参考]
  17. 马哈茂德,A.R。;Punni,S。;Aref,W.G.《时空访问方法:一项调查》(2010-2017年)。地理信息学 2019,23, 1–36. [谷歌学者] [交叉参考]
  18. Nutanong,S。;雅科克斯,E.H。;Samet,H.一种增量Hausdorff距离计算算法。程序。荷兰VLDB。 2011,4, 506–517. [谷歌学者] [交叉参考]
  19. Harati-Mokhtari,A。;墙,A。;布鲁克斯,P。;Wang,J.自动识别系统(AIS):数据可靠性和人为错误影响。J.纳维格。 2007,60, 373–389. [谷歌学者] [交叉参考]
图1。基于阈值的历史连续(THC)查询示例。
图1。基于阈值的历史连续(THC)查询示例。
算法12 00107 g001
图2。3DR-tree的示例。
图2。3DR-tree的示例。
算法12 00107 g002
图3。线段和矩形之间的思维方式。
图3。线段和矩形之间的思维方式。
算法12 00107 g003
图4。扩展的基于MBR重叠的修剪策略示例。
图4。扩展的基于MBR重叠的修剪策略示例。
算法12 00107 g004
图5。不同数据粒度的思维学家示例。
图5。不同数据粒度的思维学家示例。
算法12 00107 g005
图6。E3DR-tree示例。
图6。E3DR-tree示例。
算法12 00107 g006
图7。THC查询的修剪过程示例。
图7。THC查询的修剪过程示例。
算法12 00107 g007
图8。不同规模的绩效:()访问的节点的数量(b条)选择性(c(c))修剪延迟(d日)查询延迟。
图8。不同规模的绩效:()访问的节点数(b条)选择性(c(c))修剪延迟(d日)查询延迟。
算法12 00107 g008
图9。不同时间范围的性能:()访问的节点数(b条)选择性(c(c))修剪延迟(d日)查询延迟。
图9。不同时间范围的性能:()访问的节点数(b条)选择性(c(c))修剪延迟(d日)查询延迟。
算法12 00107 g009
图10。不同距离阈值的性能:()访问的节点数(b条)选择性(c(c))修剪延迟(d日)查询延迟。
图10。不同距离阈值的性能:()访问的节点数(b条)选择性(c(c))修剪延迟(d日)查询延迟。
算法12 00107 g010
表1。常用符号。
表1。常用符号。
符号说明
T型 ( x个 ) 时间间隔x个
M(M) ( x个 ) 的空间MBRx个
M(M) n个 d日 t吨 ( M(M) d日 , M(M) q个 ) 与空间区域的最小距离M(M)d日到空间区域M(M)q个
R(右) ( x个 , d日 ) 通过扩大MBR覆盖范围x个距离阈值d日
M(M) k个 ( x个 , d日 ) 通过展开矩形空间面积k个-MBR的空间范围x个距离阈值d日
()索引的根节点
H(H)(N个)高度N个到索引的轨迹段层
表2。修剪结果的比较。
表2。修剪结果的比较。
轨迹段候选数量(BFT)候选数量(TDS)候选数量(CDQLTD)
10115
22215
81015
4101115
54415
66715
表3。数据集统计。
表3。数据集统计。
姓名移动对象的数量AIS消息数量
AIS01标准73,49010,000,000
AIS0295,73220,000,000
AIS03标准110,56640000000
AIS04标准136,93280,000,000
AIS05标准152,807160,000,000

分享和引用

MDPI和ACS样式

秦,J。;马,L。;刘,Q。基于阈值的历史连续查询的修剪优化。算法 2019,12, 107.https://doi.org/10.3390/a12050107

AMA风格

秦杰,马L,刘Q。基于阈值的历史连续查询的修剪优化。算法. 2019; 12(5):107.https://doi.org/10.3390/a12050107

芝加哥/图拉宾风格

秦继伟、马良丽、刘青。2019.“基于阈值的历史连续查询的修剪优化”算法第12期,第5期:107页。https://doi.org/10.3390/a12050107

请注意,从2016年第一期开始,该杂志使用文章编号而不是页码。请参阅更多详细信息在这里.

文章指标

返回页首顶部