CN102004771B - 基于动态裁剪的移动对象反向近邻查询方法 - Google Patents
基于动态裁剪的移动对象反向近邻查询方法 Download PDFInfo
- Publication number
- CN102004771B CN102004771B CN 201010545434 CN201010545434A CN102004771B CN 102004771 B CN102004771 B CN 102004771B CN 201010545434 CN201010545434 CN 201010545434 CN 201010545434 A CN201010545434 A CN 201010545434A CN 102004771 B CN102004771 B CN 102004771B
- Authority
- CN
- China
- Prior art keywords
- reverse
- mobile object
- query
- cropped
- candidate
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000007670 refining Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000001914 filtration Methods 0.000 claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims abstract description 4
- 238000012795 verification Methods 0.000 claims abstract description 4
- 238000013138 pruning Methods 0.000 claims description 18
- HUTDUHSNJYTCAR-UHFFFAOYSA-N ancymidol Chemical compound C1=CC(OC)=CC=C1C(O)(C=1C=NC=NC=1)C1CC1 HUTDUHSNJYTCAR-UHFFFAOYSA-N 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000012886 linear function Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012732 spatial analysis Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于动态裁剪的移动对象反向近邻查询方法。使用TPR-tree对移动对象建立索引;开发移动对象反向近邻查询处理框架,在过滤阶段得到整个时间段内查询点的所有反向近邻候选点集;在精炼阶段去除候选点中的错误点并确定每个反向近邻查询结果点的有效时间;开发两种适用于移动对象反向近邻动态裁剪策略,整合成统一的移动对象反向近邻动态裁剪方法;实现反向近邻动态裁剪方法上实现移动对象反向近邻查询处理过滤方法;对过滤的结果,实现反向近邻查询的精炼方法,对所有查询候选点进行最近邻查询正确性验证和反向近邻有效子时间段计算;对获得的结果点及其有效时间段进行合并,获得在每个子时间段上的反向近邻查询结果集。
Description
技术领域
本发明涉及空间数据库的索引与查询技术,特别是涉及一种基于动态裁剪策略的移动对象反向近邻查询方法。
背景技术
空间数据库是用于存储空间(地理)和非空间数据的数据库系统,它能根据数据的空间分布特征进行索引,在数据模型上提供空间分析的方法和查询语言中提供空间查询。空间数据库与一般数据库最大的不同是它包含“空间”(或者)几何的概念,它是以事物的空间特性作为数据基本属性并据此建立索引并提供上层服务的一种特殊的数据库。目前,空间数据库被广泛应用于地理信息系统GIS、计算机辅助设计CAD、多媒体信息系统MMIS以及数据仓库DWH,为以上系统提供数据存储和查询的解决方案。
在所有空间数据库的索引技术中,R-tree及其变种因为简单易用和有效性而应用最为广泛。R-tree是B-tree在高维空间上的扩展,空间位置相近的数据点被聚类到最小包围盒MBR里,这些最小包围盒又根据空间局部性递归的进行聚类,直至到达根节点。TPR-tree是R-tree在移动对象索引上扩展,它能够对移动对象进行有效的索引并进行未来查询。TPR-tree在结构上与R-tree类似,具备R-tree的大多数特性。与R-tree相比,TPR-tree除最小包围盒MBR外还有最小速度包围盒VBR,所以TPR-tree上任意节点在任意时刻的位置都可以通过MBR和VBR计算获得。因此TPR-tree的绑定最小包围盒只有在重新计算的那个时刻才是最小的。
空间数据库上的查询方法多种多样,其中最常见的就是最近邻查询。最近邻查询通常依照深度优先或最好优先的策略对R-tree进行访问,获得离查询点最近的数据点。反向最近邻查询是在最近邻查询的基础上提出的另一种重要的空间查询,它能返回以查询点为最近邻的所有数据点的集合。但传统的反向最近邻查询多针对数据点集为静态的情况,随着无线通讯技术的快速发展,移动设备的使用越来越广泛,如何对移动对象进行动态反向最近邻查询是一个新的课题。
发明内容
本发明的目的在于提供一种基于动态裁剪的移动对象反向近邻查询的方法。
本发明解决其技术问题采用的技术方案的步骤如下:
1)使用TPR-tree对移动对象建立索引,该索引处理所有移动对象的更新操作,并对查询处理层透明;
2)开发移动对象反向近邻查询处理框架,该处理框架包含过滤和精炼两个阶段,过滤阶段得到整个时间段内查询点的所有反向近邻候选点集;在精炼阶段去除候选点中的错误点并确定每个反向近邻查询结果点的有效时间;
3)开发两种适用于移动对象反向近邻动态裁剪策略,整合成统一的移动对象反向近邻动态裁剪方法;
两种适用于移动对象反向近邻动态裁剪策略分别为:1)移动对象支配域裁剪策略;2)包围盒对角线长度裁剪策略;对于单个移动对象仅使用移动对象支配域裁剪策略,对于中间节点则先使用包围盒对角线长度裁剪策略然后使用移动对象支配域裁剪策略;
裁剪方法有两个参数,一个是需要判断的TPR-tree中间节点或者移动对象,另一个是包含任意多个移动对象的集合;方法流程描述如下:如果需要判断的是TPR-tree中间节点,则首先使用包围盒对角线长度裁剪策略尝试裁剪,如果未能裁剪,则继续使用移动对象支配域裁剪策略尝试裁剪;遍历集合,判断该中间节点在查询时间段内扫过的区域是否在几何中某个候选对象的支配域中,如果是则立即返回真;如果需要判断的是移动对象,则直接使用移动对象支配域策略尝试裁剪;上述裁剪如果都失败,则最终返回假,表示该中间节点或者移动对象不能被裁剪;
4)在步骤3)实现反向近邻动态裁剪方法的基础上,实现了移动对象反向近邻查询处理过滤方法;
5)根据步骤4)中过滤的结果,实现反向近邻查询的精炼方法,对所有查询候选点进行最近邻查询正确性验证和反向近邻有效时间段计算;
6)对步骤5)中获得的结果点及其有效时间段进行合并,最终获得在每个子时间段上的反向近邻查询结果集。
步骤1)中需要先对移动对象建模,将移动对象表示为关于时间的线性函数,使用TPR-tree对当前时刻移动对象的状态建立索引,后续的更新、删除、添加操作都通过TPR-tree自身进行处理,该索引的处理逻辑对上层查询透明。
步骤2)使用基于过滤-精炼的查询处理框架,该框架能够保证查询结果的正确性,即所有在查询时间段内会成为查询点的反向近邻的移动对象都将被取得;
该框架是不需要预计算的时间和空间代价,并且计算代价随移动对象的数目和查询时间增长不明显;过滤阶段保证裁剪力度的前提下依然能够获得所有该时间段内反向近邻查询保守结果集;在后续的精炼阶段使用移动对象近邻查询来对所有的候选集进行验证。
步骤4)中移动对象反向近邻查询处理过滤方法的具体步骤如下:
i)初始化一个优先队列,优先级定义为该中间节点或者移动对象在查询时间段内与查询点的最小距离,将TPR-tree的根节点放入队列中;
ii)初始化一个候选对象集合和一个被裁剪集合,初始化一个候选对象集合来保存当前所有访问过的中间节点中未被裁剪的移动对象,同时,初始化一个被裁剪集合来保存被裁剪的移动对象或中间节点;
iii)如果优先队列为空,则过滤方法结束,返回候选点集合和被裁剪集合,否则取出优先队列的第一个元素,调用步骤3)中的裁剪方法,如果能够被裁剪,则将此元素放入被裁剪集合,重复此步骤;如果不能被裁剪则执行iv);
iv)如果当前元素是一个移动对象,则将其放入候选点集合,跳回iii)继续执行;如果当前元素是一个叶子节点,则跳到v)执行;否则跳到vi)执行;
v)对于叶子节点中每个移动对象,调用裁剪方法进行判断,如果被裁剪,则将此移动对象放入被裁剪集合,如果不是则计算该移动对象在查询时间段内到查询点的最短距离,作为该移动对象的优先级并放入优先队列,跳到iii)继续执行;
vi)对于中间节点中每个子节点,调用裁剪方法进行判断,如果被裁剪则将此子节点放入被裁剪集合,如果不能则计算该子节点在查询时间段内到查询点的最小距离,作为该子节点的优先级并放入优先队列,跳到iii)继续执行。
步骤5)中移动对象反向近邻查询的精炼方法的具体步骤如下:
i)在查询时间段上其他候选点离每个候选点的距离是否小于查询点到每个候选点的距离,如果在某些子时间段上判断为是,则该候选点的反向近邻有效时间段减去其他候选点离每个候选点的距离小于查询点到每个候选点的距离的时间段;如果整个时间段上都被判断为是,则该候选点被放入被裁剪集合中;否则,为每个候选点关联一个需要进一步测试的待验证集合,该集合初始为空;
ii)如果候选点集合为空,则返回;否则使用当前的被裁剪集合去尝试验证每个候选点;依次取出裁剪集合中的每个元素,如果是移动对象则使用它去更新每个候选点所关联的反向近邻有效时间段列表,如果是中间节点并且包含某些移动对象使得某个候选点的反向近邻时域减小,则将其放入每个候选点关联的待验证集合中;若一个候选点的待验证集合为空,则输出当前候选点和它的反向近邻有效时间段列表;
iii)取出所有候选点所关联的待验证集合中出现次数最大的一个中间节点,取出它所有的子节点放入被裁剪集合,跳到ii)处。
步骤6)根据步骤5)中的反向近邻有效时间段合并成规范的结果集合。
本发明具有的有益效果是:
本发明充分利用了空间数据库引擎和空间数据库动态索引技术的现有研究和实现成果,基于已有系统可以非常方便快捷的开发基于动态裁剪的移动对象反向近邻查询处理引擎,使用者可根据具体应用环境选择合适的查询时间段,提供最好的性能。
附图说明
图1是本发明实施步骤流程图。
图2是基于裁剪的移动对象反向近邻查询系统工作原理示意图。
图3是移动对象反向近邻查询处理实例示意图。
具体实施方式
现结合附图和具体实施例对本发明的技术方案作进一步说明。
1.如图1,图2所示,本发明具体实施过程和工作原理如下:
1)使用TPR-tree对移动对象建立索引,该索引处理所有移动对象的更新操作,并对查询处理层透明;
2)开发移动对象反向近邻查询处理框架,该框架包含过滤和精炼两个阶段,过滤阶段得到整个时间段内查询点的所有反向近邻候选点集;在精炼阶段去除候选点中的错误点并确定每个反向近邻查询结果点的有效时间。
3)开发适用于移动对象反向近邻裁剪的高效方法;
4)在步骤3)实现反向近邻动态裁剪方法的基础上,实现了移动对象反向近邻查询处理过滤方法;
5)根据步骤4)中过滤的结果,实现反向近邻查询的精炼方法,对所有查询候选点进行最近邻查询正确性验证和反向近邻有效子时间段计算。
6)对5)中获得的结果点及其有效时间段进行整合,最终获得在每个子时间段上的反向近邻查询结果集。
步骤1)中需要先对移动对象建模,将移动对象表示为关于时间的线性函数,使用TPR-tree对当前时刻移动对象的状态建立索引,后续的更新,删除,添加操作都通过TPR-tree自身进行处理,该索引层的处理逻辑对上层查询透明。
步骤2)使用基于过滤-精炼的查询处理框架,该框架能够保证查询结果的正确性,即所有在查询时间段内会成为查询点的反向近邻的移动对象都将被取得。该框架的好处是不需要预计算的时间和空间代价,并且计算代价随移动对象的数目和查询时间增长不明显。过滤阶段保证一定的裁剪力度的前提下依然能够获得所有该时间段内反向近邻查询保守结果集。在后续的精炼阶段使用移动对象近邻查询来对所有的候选集进行验证。
步骤3)将两种移动对象反向近邻裁剪策略整合为一个高效的裁剪方法,两个裁剪策略描述如下:
1)移动对象支配域性质:给定一个查询点和一个移动对象,在某一查询时间段内该移动对象的支配域是时间段内所有时刻移动对象和查询点的中垂线所划分的包含移动对象的半平面的交集。并且可以证明该支配域正好等于起始点的半平面交集。任意移动对象如果其在查询时间段内的移动轨迹整个落在另一个移动对象的支配域上,表示在整个查询时间段内该移动对象到另一移动对象的距离始终小于它到查询点的距离,所以该对象在整个查询时间段上不可能成为查询点的反向近邻,该对象可以被直接裁剪。同样,对于TPR-tree的中间节点,只要其在查询时间段上扫过的区域整个落在某个移动对象的支配域上,则该节点可以整个被裁剪。
2)包围盒对角线长度性质:对于TPR-tree的任意中间节点,如果在整个查询时间段上该中间节点的包围盒对角线长度均小于查询点到该节点的最小距离,则意味着对于包围盒中的任意移动对象在查询时间内总存在另一个移动对象它们的距离始终小于到查询点的距离,所以该中间节点可以被整个裁剪。图2所示的距离函数计算与比较模块提供支持。
裁剪方法可以描述如下:如果需要判断的是TPR-tree的中间节点,则首先使用包围盒对角线长度裁剪策略尝试裁剪,如果未能裁剪,则继续使用移动对象支配域裁剪策略尝试裁剪。遍历当前的候选对象集合,判断该节点在查询时间段内扫过的区域是否在某个候选对象的支配域中,如果是则立即返回真。如果需要判断的是移动对象,则直接使用移动对象支配域策略尝试裁剪。上述裁剪如果都失败,则最终返回假,表示该中间节点或者移动对象不能被裁剪。
步骤4)中移动对象反向近邻查询处理过滤方法的具体步骤如下:
1)初始化一个优先队列,优先级定义为该中间节点或者移动对象在查询时间段内与查询点的最小距离,该最小距离由图2所示距离函数计算与比较模块提供,将TPR-tree的根节点放入队列中;
2)初始化一个候选对象集合和一个被裁剪集合,分别来保存当前所有访问过的节点中未被裁剪的移动对象和被裁剪的移动对象或中间节点;
3)如果优先队列为空,则过滤方法结束,返回候选对象集合和被裁剪集合,否则取出优先队列的第一个元素,如图2所示,调用步骤3)中的裁剪方法,如果能够被裁剪,则将此元素放入被裁剪集合,重复此步骤。如果不能被裁剪则执行4);
4)如果当前元素是一个移动对象,则将其放入候选对象集合,跳回3)继续执行;如果当前元素是一个叶子节点,则跳到5)执行;否则跳到6)执行;
5)对于叶子节点中每个移动对象,调用裁剪方法进行判断,如果被裁剪,则将此移动对象放入被裁剪集合,如果不是则计算该移动对象在查询时间段内到查询点的最短距离,作为该移动对象的优先级并放入优先队列,跳到3)继续执行;
6)对于中间节点中每个子节点,调用裁剪方法进行判断,如果被裁剪则将此子节点放入被裁剪集合,如果不能则计算该子节点在查询时间段内到查询点的最小距离,作为该子结点的优先级并放入优先队列,跳到3)继续执行;
根据图2所示的系统工作原理图,应用程序可以向移动对象反向近邻查询发起一个关于某个查询点和某段时间的查询请求,以图3所示数据集为例,pi(1<=i<=15)为移动对象,Nj(1<=j<=11)为TPR-tree的节点,查询点为q,查询时间段为[0,5]。步骤4)中移动对象方向近邻查询处理过滤方法的具体实施方式如下:
1)初始时先访问根节点,对它的每个子结点调用裁剪方法,由于三个子结点N1,N2,N3的对角线长度在整个查询时间段上均小于查询点到它们的最小距离,另外由于当前的候选对象集合为空,所以三个子结点均不能被裁剪,都被放入优先队列。
2)下一个访问的是N1,同样的也去检查它的三个子结点,由于N5,N6的对角线长度在查询时间段内小于它们到查询点的最小距离所以N5,N6被放入被裁剪集合,只有N4被放入优先队列。
3)接着N3被访问,N10,N11均未被裁剪被插入到优先队列中,紧接着访问的是叶子节点N4,同样的它的子结点,也就是移动对象p1,p2也不能被裁剪所以也被插入到优先队列中。
4)移动对象p1紧跟着被取出并成为第一个反向近邻候选对象,被放入到候选对象集合中。
5)后续的N10包含的两个移动对象p13,p14被放入优先队列,而N2的三个子节点由于对角线策略被放入杯裁剪集合,接着p13成为第二个候选对象放入候选对象集合;
6)优先队列中剩余的其他元素都因为被裁剪而放入杯裁剪集合中。
如图2所示,移动对象反向近邻过滤结束后紧接着进行移动对象的反向近邻精练,步骤5)中移动对象反向近邻查询的精炼方法的具体步骤如下:
1)首先遍历候选对象集合中的每个候选点,为每个候选对象关联一个反向近邻有效时间段列表,初始时该时间列表含有一个元素,即查询时间段。接着计算在查询时间段上其他候选点离它的距离是否小于查询点到它的距离,同样需要调用图2所示的距离函数计算与比较模块,如果在某些子时间段上判断为是则该候选点的反向近邻有效时间段列表减去这些无效时间段。如果整个时间段上都被判断为无效,则该候选点被放入被裁剪集合中;否则,为每个候选对象关联一个需要进一步测试的待验证集合,该集合初始为空。
3)如果候选对象集合为空,则返回;否则使用当前的被裁剪集合去尝试验证每个候选点。依次取出裁剪集合中的每个元素,如果是移动对象则使用它去更新每个候选点所关联的反向近邻有效时间段列表,如果是中间节点并且包含某些移动对象使得某个候选点的反向近邻时域减小,则将其放入每个候选点关联的待验证集合中。若一个候选点的待带验证集合为空,则输出当前候选点和它的反向近邻有效时间段列表;
4)取出所有候选点所关联的待验证集合中出现次数最大的一个节点,取出它所有的子节点放入被裁剪集合,跳到3);
以图3所示数据集为例,步骤5)中的移动对象反向近邻精炼方法的具体实施方式如下:
1)经过步骤4)的过滤阶段,得到一个候选对象集合和一个被裁剪集合。分别为{p1,p13},{N5,N6,N7,N8,N9,N11}。首先由于p1到p13的距离在查询时间段上始终大于它们到查询点的距离,所以p1,p13仍然在整个时间段上有效。初始化它们的反向近邻有效时间段列表,初始值为{[0,5]};
2)接下来使用被裁剪集合中的每个元素来验证p1,p13,由于p13和p14的距离在时间段[0,1.75]上小于p13到查询点的距离,所以p13对应的反向近邻有效时间段列表别更新为{[1.75,5]},而对于p1,裁剪集合中不存在其他移动对象或者中间节点使得p1的反向近邻时间段列表更新,即遍历被裁剪集合后带验证集合为空,所以在此处就直接报告p1在时间段[0,5]上是查询点的反向近邻。最后,取出所有余下的候选点那些对应的待验证集合中出现次数最,多的,即N7,使用N7的子节点进一步验证。同样的,使用N8也没有更新p13的反向近邻有效时间段列表,此时由于p13的待验证集合为空,所以报告p13的反向近邻时间段位{[1。75,5]};
步骤6)根据步骤5)中所报告的查询点的反向近邻和有效的时间段,合并成规范的结果集合。
以上例子中步骤5)结束后返回的是<p1,{[0,5]}>和<p13,{[1.75,5]}>,整合后输出的规范的移动对象反向近邻查询结果为{<[0,1.75],{p1}>,<[1.75,5],{p1,p13}>}。
Claims (6)
1.一种基于动态裁剪的移动对象反向近邻查询方法,其特征在于该方法的步骤如下:
1)使用TPR-tree对移动对象建立索引,该索引处理所有移动对象的更新操作,并对查询处理层透明;
2)开发移动对象反向近邻查询处理框架,该处理框架包含过滤和精炼两个阶段,过滤阶段得到整个时间段内查询点的所有反向近邻候选点集;在精炼阶段去除候选点中的错误点并确定每个反向近邻查询结果点的有效时间;
3)开发两种适用于移动对象反向近邻动态裁剪策略,整合成统一的移动对象反向近邻动态裁剪方法;
两种适用于移动对象反向近邻动态裁剪策略分别为:1)移动对象支配域裁剪策略;2)包围盒对角线长度裁剪策略;对于单个移动对象仅使用移动对象支配域裁剪策略,对于中间节点则先使用包围盒对角线长度裁剪策略然后使用移动对象支配域裁剪策略;
裁剪方法有两个参数,一个是需要判断的TPR-tree中间节点或者移动对象,另一个是包含任意多个移动对象的集合;方法流程描述如下:如果需要判断的是TPR-tree中间节点,则首先使用包围盒对角线长度裁剪策略尝试裁剪,如果未能裁剪,则继续使用移动对象支配域裁剪策略尝试裁剪;遍历集合,判断该中间节点在查询时间段内扫过的区域是否在几何中某个候选对象的支配域中,如果是则立即返回真;如果需要判断的是移动对象,则直接使用移动对象支配域策略尝试裁剪;上述裁剪如果都失败,则最终返回假,表示该中间节点或者移动对象不能被裁剪;
4)在步骤3)实现反向近邻动态裁剪方法的基础上,实现了移动对象反向近邻查询处理过滤方法;
5)根据步骤4)中过滤的结果,实现反向近邻查询的精炼方法,对所有查询候选点进行最近邻查询正确性验证和反向近邻有效时间段计算;
6)对步骤5)中获得的结果点及其有效时间段进行合并,最终获得在每个子时间段上的反向近邻查询结果集。
2.根据权利要求1所述的一种基于动态裁剪的移动对象反向近邻查询方法,其特征在于:步骤1)中需要先对移动对象建模,将移动对象表示为关于时间的线性函数,使用TPR-tree对当前时刻移动对象的状态建立索引,后续的更新、 删除、添加操作都通过TPR-tree自身进行处理,该索引的处理逻辑对上层查询透明。
3.根据权利要求1所述的一种基于动态裁剪的移动对象反向近邻查询方法,其特征在于:步骤2)使用基于过滤-精炼的查询处理框架,该框架能够保证查询结果的正确性,即所有在查询时间段内会成为查询点的反向近邻的移动对象都将被取得;该框架是不需要预计算的时间和空间代价,并且计算代价随移动对象的数目和查询时间增长不明显;过滤阶段保证裁剪力度的前提下依然能够获得所有该时间段内反向近邻查询保守结果集;在后续的精炼阶段使用移动对象近邻查询来对所有的候选集进行验证。
4.根据权利要求1所述的一种基于动态裁剪的移动对象反向近邻查询方法,其特征在于:步骤4)中移动对象反向近邻查询处理过滤方法的具体步骤如下:
i)初始化一个优先队列,优先级定义为该中间节点或者移动对象在查询时间段内与查询点的最小距离,将TPR-tree的根节点放入队列中;
ii)初始化一个候选对象集合和一个被裁剪集合,初始化一个候选对象集合来保存当前所有访问过的中间节点中未被裁剪的移动对象,同时,初始化一个被裁剪集合来保存被裁剪的移动对象或中间节点;
iii)如果优先队列为空,则过滤方法结束,返回候选对象集合和被裁剪集合,否则取出优先队列的第一个元素,调用步骤3)中的裁剪方法,如果能够被裁剪,则将此元素放入被裁剪集合,重复此步骤;如果不能被裁剪则执行iv);
iv)如果当前元素是一个移动对象,则将其放入候选对象集合,跳回iii)继续执行;如果当前元素是一个叶子节点,则跳到v)执行;否则跳到vi)执行;
v)对于叶子节点中每个移动对象,调用裁剪方法进行判断,如果被裁剪,则将此移动对象放入被裁剪集合,如果不是则计算该移动对象在查询时间段内到查询点的最短距离,作为该移动对象的优先级并放入优先队列,跳到iii)继续执行;
vi)对于中间节点中每个子节点,调用裁剪方法进行判断,如果被裁剪则将此子节点放入被裁剪集合,如果不能则计算该子节点在查询时间段内到查询点的最小距离,作为该子节点的优先级并放入优先队列,跳到iii)继续执行。
5.根据权利要求1所述的一种基于动态裁剪的移动对象反向近邻查询方法,其特征在于:步骤5)中移动对象反向近邻查询的精炼方法的具体步骤如下:
i)首先遍历候选点集合中的每个候选点,为每个候选点关联一个反向近邻有效时间段列表,初始时该时间段列表含有一个元素,即查询时间段;接着计算 在查询时间段上其他候选点离每个候选点的距离是否小于查询点到每个候选点的距离,如果在某些子时间段上判断为是,则该候选点的反向近邻有效时间段减去其他候选点离每个候选点的距离小于查询点到每个候选点的距离的时间段;如果整个时间段上都被判断为是,则该候选点被放入被裁剪集合中;如果整个时间段上都被判断为否,为每个候选点关联一个需要进一步测试的待验证集合,该集合初始为空;
ii)如果候选点集合为空,则返回;否则使用当前的被裁剪集合去尝试验证每个候选点;依次取出被裁剪集合中的每个元素,如果是移动对象则使用它去更新每个候选点所关联的反向近邻有效时间段列表,如果是中间节点并且包含某些移动对象使得某个候选点的反向近邻时域减小,则将其放入每个候选点关联的待验证集合中;若一个候选点的待验证集合为空,则输出当前候选点和它的反向近邻有效时间段列表;
iii)取出所有候选点所关联的待验证集合中出现次数最大的一个中间节点,取出它所有的子节点放入被裁剪集合,跳到ii)处。
6.根据权利要求1所述的一种基于动态裁剪的移动对象反向近邻查询方法,其特征在于:步骤6)根据步骤5)中的反向近邻有效时间段合并成规范的结果集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010545434 CN102004771B (zh) | 2010-11-12 | 2010-11-12 | 基于动态裁剪的移动对象反向近邻查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010545434 CN102004771B (zh) | 2010-11-12 | 2010-11-12 | 基于动态裁剪的移动对象反向近邻查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102004771A CN102004771A (zh) | 2011-04-06 |
CN102004771B true CN102004771B (zh) | 2013-06-05 |
Family
ID=43812133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010545434 Expired - Fee Related CN102004771B (zh) | 2010-11-12 | 2010-11-12 | 基于动态裁剪的移动对象反向近邻查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102004771B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102665164B (zh) * | 2012-03-14 | 2014-11-05 | 杭州电子科技大学 | 一种移动对象近邻检测的方法 |
CN102708172B (zh) * | 2012-05-02 | 2014-04-23 | 广州中大微电子有限公司 | 一种用于挖掘rfid数据孤立点的方法 |
CN102810118B (zh) * | 2012-07-05 | 2015-08-05 | 上海电力学院 | 一种变权网k近邻搜索方法 |
US10007702B2 (en) * | 2013-12-19 | 2018-06-26 | Siemens Aktiengesellschaft | Processing an input query |
CN106844409A (zh) * | 2016-06-16 | 2017-06-13 | 南京航空航天大学 | 快速连续历史轨迹距离查询技术 |
CN110232067B (zh) * | 2019-06-10 | 2020-08-07 | 长安大学 | 一种基于BHR-Tree索引的共乘群体发现方法 |
CN114840509B (zh) * | 2022-05-06 | 2024-07-09 | 国家电网有限公司客户服务中心 | 一种基于智能过滤的电力数据关联查询的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1953442A (zh) * | 2006-09-14 | 2007-04-25 | 浙江大学 | 基于数据网格的k近邻查询方法 |
CN101866353A (zh) * | 2010-06-09 | 2010-10-20 | 孟小峰 | 一种基于位置服务的连续查询隐私保护方法 |
-
2010
- 2010-11-12 CN CN 201010545434 patent/CN102004771B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1953442A (zh) * | 2006-09-14 | 2007-04-25 | 浙江大学 | 基于数据网格的k近邻查询方法 |
CN101866353A (zh) * | 2010-06-09 | 2010-10-20 | 孟小峰 | 一种基于位置服务的连续查询隐私保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102004771A (zh) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102004771B (zh) | 基于动态裁剪的移动对象反向近邻查询方法 | |
Mahmood et al. | Spatio-temporal access methods: a survey (2010-2017) | |
JP4878178B2 (ja) | データ処理方法および装置並びにその処理プログラム | |
Sandu Popa et al. | Indexing in-network trajectory flows | |
CN102810118B (zh) | 一种变权网k近邻搜索方法 | |
Wu et al. | Temporal database bibliography update | |
Botea et al. | PIST: an efficient and practical indexing technique for historical spatio-temporal point data | |
Gidófalvi et al. | Mining long, sharable patterns in trajectories of moving objects | |
JP2004518226A (ja) | データベースシステムおよびクエリオプティマイザ | |
US8903803B1 (en) | Horizontal interval-based data partitioning and indexing for large clusters | |
CN103324642A (zh) | 为数据建立索引的系统和方法以及数据查询方法 | |
Anwar et al. | Capturing the spatiotemporal evolution in road traffic networks | |
CN102819953B (zh) | 一种疑似新增道路的发现方法和装置 | |
CN108536692A (zh) | 一种执行计划的生成方法、装置及数据库服务器 | |
CN106528793A (zh) | 一种分布式空间数据库的时空分片存储方法 | |
WO2015062540A9 (zh) | 基于行车用量模型事件的存储及索引方法及系统 | |
CN105512317A (zh) | 一种基于群组划分的不确定移动对象索引方法 | |
CN104572832B (zh) | 一种需求元模型构建方法及装置 | |
Huang et al. | Dynamic graph mining for multi-weight multi-destination route planning with deadlines constraints | |
CN104748757A (zh) | 一种导航电子地图数据更新方法及装置 | |
KR20170016168A (ko) | 타일 기반의 지도 데이터 갱신 시스템 및 그 방법 | |
CN106649636A (zh) | 一种基于移动终端的人员流动性分析方法及装置 | |
CN103699653A (zh) | 数据聚类方法和装置 | |
KR101955376B1 (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
Liu et al. | ST4ML: Machine learning oriented spatio-temporal data processing at scale |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130605 Termination date: 20211112 |
|
CF01 | Termination of patent right due to non-payment of annual fee |