CN102810118A - 一种变权网k近邻搜索方法 - Google Patents
一种变权网k近邻搜索方法 Download PDFInfo
- Publication number
- CN102810118A CN102810118A CN2012102301610A CN201210230161A CN102810118A CN 102810118 A CN102810118 A CN 102810118A CN 2012102301610 A CN2012102301610 A CN 2012102301610A CN 201210230161 A CN201210230161 A CN 201210230161A CN 102810118 A CN102810118 A CN 102810118A
- Authority
- CN
- China
- Prior art keywords
- routing table
- point
- path
- road
- routing
- 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.)
- Granted
Links
Images
Abstract
本发明涉及一种变权网k近邻搜索方法,将计算机网络中的路由思想引入k近邻查询中,通过设计路由表的更新策略,将计算时得到的最短路径树中的前趋/后继信息作为历史数据保存于路由表中。通过路由表的动态更新策略,使路由机制能适应路网局部的道路权值动态变化。提出了动态路网中非移动对象的候选集筛选规则和路网区域的裁剪规则以及移动对象的位置预测方法和候选集的筛选规则,有效减少候选点的数量、缩小k近邻查询的搜索范围,并避免了现有扩展自静态路网的动态路网中k近邻算法因道路权值不断变化而导致的频繁调整索引和约束条件的缺陷。
Description
技术领域
本发明涉及一种信息技术,特别涉及一种变权网k近邻搜索方法。
背景技术
k近邻查询问题是一个非常重要的几何学问题,在很多领域里都有着实际应用。例如数据挖掘、文档检索、DNA匹配、空间数据库和多媒体数据库等。而随着地理信息系统(GIS)、计算机辅助设计(CAD)、多媒体系统、医学和卫星图像数据处理等领域的发展,空间数据库以及对空间数据的k近邻查询的研究近年来也成为研究热点。例如,某一用户可能在电脑的电子地图上点击一个特定的位置,要求查找5个离它最近的对象。由于空间数据量庞大,数据结构复杂,操作代价(包括计算开销及I/O开销等)昂贵,因此空间查询的性能和效率是人们关心的首要问题,如何高效地实现k邻查询成为空间查询研究中的重点。
拓扑网络中的k近邻搜索问题不同于散乱点中的k近邻搜索。其搜索对象的位置和运动被约束在拓扑网络上,因此搜索k近邻时需要计算其网络距离,而不能简单的计算对象之间的欧氏距离。近几年来,国内外对于搜索静态路网中的k近邻对象并同时求出点到这些k近邻对象的路径方面已经展开了相关的研究,但针对动态路网(即时变路网,Time-Dependent Road Network)中k近邻搜索的研究还很有限,国外已有相关的一些研究和应用,而在国内仅有很少量的研究和应用,仅处于起步阶段。
对于静态路网中的k近邻搜索问题,一般的做法是基于R-树的分支限界(Branch and Bound,BAB)法或是利用QUAD树(四叉树)、Voronoi图等索引结构来加速求解k近邻查询问题。但若将其简单的套用于动态路网的k近邻搜索求解中,则面临着十分严峻的挑战。一方面,服务器要不断地调用并更新分支限界法的约束条件及Voronoi图的初始化过程,这会导致大量的频繁的更新,加重服务器负担。另一方面,当面临数以万计的查询请求时,目前基于当前查询的k近邻查询势必会导致大量的重复的搜索。
发明内容
本发明是针对k近邻查询高效率问题,提出了一种变权网k近邻搜索方法,有效减少候选点的数量、缩小k近邻查询的搜索范围,提高了搜索速度。
本发明的技术方案为:一种变权网k近邻搜索方法,建立路由表机制,进行k近邻搜索,具体包括如下步骤:
1)建立路由表:表中包括从起点到任意点之间的最短路径包含了该路径上其他点之间的最短路径,即路径搜索把起点当做一棵树的根结点,建立一棵最短路径树T,T中任意满足祖孙关系的结点,它们之间的路径都是最短路径,将T上所有满足祖孙关系的结点之间的后继关系存入路由表;
2)路由表的动态更新:当路网权值发生变化时,路由表中动态更新路网中部分区域内的最短路指路信息,使得原本将要经过该条已堵塞道路的车辆能获得一条较原先不改变行驶路径时更合理的路径,即改变后的车辆行驶路径优于未响应路网权值变化的原先的行驶路径;
3)在路由表机制的基础上,设计变权网络路径快速生成算法:车辆在生成环节首先生成OD起始点,车辆在行驶前先查看路由表中是否已有从O点到达D点的下一步行驶方向,若有则按此路由信息行驶,否则用最短路算法计算OD点之间的最短路径,并将该最短路径搜索的结果提炼成一棵最短路径树T,通过路由表的更新算法将T中信息保存到路由表,然后再通过路由表获取从当前点(O点或者行驶中的当前点)到D点的下一跳行驶方向,继续往该方向行驶,直到到达目的地D而结束;
4)基于路由机制的k近邻算法:路由表中保存过去一段时间内的历史查询结果,计算路径时可通过历史数据减少系统重复计算并对车辆行驶路径进行指路导航;
5)k近邻查询规则:
A:候选集的筛选规则:
根据动态路由表T D 内已保存的路径,计算车辆结点到每个候选点的行驶路径总开销作为估算距离;
根据查询点到各候选点的距离由近到远将前k个近邻候选点保存到候选点集Q中;
用静态路由表T S 内的指路信息计算车辆到各剩余候选点的理论最小代价,过滤候选集;
B:路网区域的裁剪规则:
在原始地图G(V,E)下,通过静态路由表Ts获得第k近邻的最大可能距离dmax;
然后根据Ts表内信息,计算查询点到地图G中任意结点之间的最小可能距离dist;
若dist>dmax,将该点及从起始点出发且中间经过该点的其他所有结点一并裁减掉。
本发明的有益效果在于:本发明变权网k近邻搜索方法,有效减少候选点的数量、缩小k近邻查询的搜索范围,并避免了现有扩展自静态路网的动态路网中k近邻算法因道路权值不断变化而导致的频繁调整索引和约束条件的缺陷。
附图说明
图1为本发明变权网k近邻搜索方法中路由表的建立流程图;
图2为本发明变权网k近邻搜索方法中基于路由机制的路径快速生成算法流程图;
图3为本发明变权网k近邻搜索方法中路网裁减的算法流程图;
图4为本发明变权网k近邻搜索方法中非移动对象的查询流程图;
图5为本发明变权网k近邻搜索方法中移动对象的k近邻查询流程图;
图6为本发明变权网k近邻搜索系统实施流程图;
图7为本发明路网一天内的路段权值变化曲线图;
图8为本发明k近邻查询和导航查询时减少的重复计算次数曲线图;
图9为本发明系统单、双动态路由表更新策略的时间开销曲线图;
图10为本发明路网权值的频繁变化导致性能恶化曲线图。
具体实施方式
本发明将计算机网络中的路由思想引入k近邻查询中,通过设计路由表的更新策略,将计算时得到的最短路径树中的前趋/后继信息作为历史数据保存于路由表中。通过路由表的动态更新策略,使路由机制能适应路网局部的道路权值动态变化。提出了动态路网中非移动对象的候选集筛选规则和路网区域的裁剪规则以及移动对象的位置预测方法和候选集的筛选规则,有效减少候选点的数量、缩小k近邻查询的搜索范围,并避免了现有扩展自静态路网的动态路网中k近邻算法因道路权值不断变化而导致的频繁调整索引和约束条件的缺陷。
一、路由表的引入与设计:
本发明针对路径计算常规做法中所面临的大量重复计算问题,效仿计算机网络路由思想,提出动态路网中的路由机制,即把每个路口节点作为一个“路由器”,存储从该路口节点往其他任意路口节点的指路信息,通过在路由机制中设计对路由表的更新、维护等操作,将每次计算车辆行驶路径时用最短路算法搜索得到的最短路径树(Shortest Path Tree, SPT)信息分解并以“下一跳”的标示方法存入到相关节点的路由项中作为指路信息。车辆通过访问节点上的指路信息获得下一步的行驶方向并继续行驶,直到最终到达目的地。每辆车的路径计算充分利用先前车辆路径计算的结果,降低了车辆路径的重复计算。
本发明对路由机制的研究包括路由机制对车辆的导航方式、路由表的压缩策略、路由表的数据更新策略,以及路网权值发生变化时路由表的动态更新策略。并提出基于路由机制的车辆路径快速生成算法,作为动态路网中k近邻算法中路径计算的子算法。
定义路由表的路由格式为三元组:<curId,destId,nextId>,其中curId为当前所在的路口节点id,destId为目的地所在的路口节点id,nextId表示仿真车辆从curId开往destId时,其下一步应往nextId道路结点行驶。
表1
id(1) | id(2) | id(3) | …… | id(n) | |
id(1) | NULL | id(a) | id(b) | …… | id(c) |
id(2) | id(d) | NULL | id(e) | …… | id(f) |
…… |
路由表由二维数组val[][]构成,如表1所示。数组中的元素tbl[x][y]表示路由格式:<x, y, val[x][y]>。每行数据代表了从一个路由结点id到其他所有路由结点的行驶方向。车辆在每到达一个道路结点时便访问路由表来获取下一步的行驶方向,直到行驶到目的地。
二、路由表的建立方法:
路由表的更新算法具体做法是:当做了一次最短路搜索(例如Dijkstra算法、A*算法)后,其搜索后得到的图有最优子结构性质。即从起点到任意点之间的最短路径包含了该路径上其他点之间的最短路径。若把起点当做一棵树的根结点,其即为一棵最短路径树T(其中A*算法计算后得到的最短路径树是一棵单孩子结点的树,类似于链表),T中任意满足祖孙关系的结点,它们之间的路径都是最短路径。只需将T上所有满足祖孙关系的结点之间的后继关系存入路由表,这便是路由表的建立操作。路由表的建立流程见图1。
三、路由表的动态更新流程:
路由表的动态更新是指网络权值变化引起的路由表的更新。当路网权值发生变化时(例如某条道路因交通堵塞而使得车辆通过该路段的时间代价剧增),路由机制便动态地更新路网中部分区域内的最短路指路信息,使得原本将要经过该条已堵塞道路的车辆能获得一条较原先不改变行驶路径时更合理的路径,即改变后的车辆行驶路径优于未响应路网权值变化的原先的行驶路径。
四、基于路由机制的路径快速生成算法:
在路由机制的基础上,设计变权网络路径快速生成算法。车辆在生成环节首先生成OD(起讫)点。车辆在行驶前先查看路由表中是否已有从O点到达D点的下一步行驶方向。若有则按此路由信息行驶,否则用最短路算法计算OD点之间的最短路径。并将该最短路径搜索的结果提炼成一棵最短路径树T,通过路由表的更新算法将T中信息保存到路由表,然后再通过路由表获取从当前点(O点或者行驶中的当前点curId)到D点的下一跳行驶方向,继续往该方向行驶,直到到达目的地D而结束。基于路由机制的路径快速生成算法流程图见图2。
五、基于路由机制的k近邻算法:
本发明利用路由表保存过去一小段时间内的历史查询结果,通过历史数据减少系统重复计算并对车辆行驶路径进行指路导航。并通过路由表对动态路网进行少量的预处理,减少系统在k近邻搜索中的候选点数量,缩小查询范围,提高搜索效率。
路网中的对象按照移动属性可分为移动对象(例如车辆)和非移动对象(例如商店、建筑、景点等兴趣点)。路网中的移动对象因为数量往往数以百万计,一般采用索引结构进行组织,节省查询时间。而非移动对象因为在路网中的坐标位置固定,因此其位置也可抽象成路网中的一个位置或结点。
路由机制在动态路网k近邻算法中的作用包括候选结点集的筛选、路网搜索区域的裁剪等。
(1) 候选集的筛选流程
l 根据路由表T D 内已保存的路径,计算车辆结点到每个候选点的行驶路径总开销作为估算距离。
l 根据查询点到各候选点的距离由近到远将前k个近邻候选点保存到候选点集Q中。
l 用静态路由表T S 内的指路信息计算车辆到各剩余候选点的理论最小代价,过滤候选集。
(2) 路网区域的裁剪
l 在原始地图G(V,E)下,通过静态路由表Ts获得第k近邻的最大可能距离dmax。
l 然后根据Ts表内信息,计算查询点到地图G中任意结点之间的最小可能距离dist。
l 若dist>dmax,将该点及从起始点出发且中间经过该点的其他所有结点一并裁减掉。
路网区域的裁剪流程见图3。
(3) 对非移动对象的k近邻查询
对非移动对象的k近邻查询思想为:提取并解析用户请求数据后,通过反向索引表查找出初始候选集Q,通过正向索引表比对类型等信息过滤无效对象后形成候选集Q 1。然后筛选候选集得到过滤后的候选集Q 2,缩小查询范围。最后利用路径计算得出最终的结果并返回用户。非移动对象的查询流程图见图4。
(4) 移动对象的查询
系统对象的k近邻查询流程图如图5,包括了对移动对象q M 在时刻t的位置预测、候选集的生成和最后的距离计算及查询对象的排序。其中位置预测子流程,通过动态路由表G D 内的指路信息,快速估算出其将来的位置Loc。通过对PR-QUAD树索引结构I的操作,找到符合要求的、较小的区域范围矩形Rect,通过动态路由表T D 对Rect内的相关移动对象进行位置预测,并生成含有k个候选对象的初始候选集Q 1。然后,根据Q 1 确定阈值dist,使得在时刻t离q M 最近的k个对象都在以Loc为圆心,dist为半径的圆形区域Area内。通过静态路由表T S 计算I所包含的区域范围内离Loc的最小距离minDist和最大距离maxDist,逐步缩小索引的区域范围,将最终裁剪后的区域I’中的相关移动对象作为最终候选集Q 2。
在生成了Q 1和Q 2后,生成尚未处理的移动对象的候选集Q 3=Q 2-Q 1,并将已用动态路由表T D 计算过的Q 1,按照大顶堆规则,生成容量为k的输出集Q knn 。对于Q 3中的移动对象O q ,通过T D 预测其在t时刻的位置Loc q ,并计算从Loc到Loc q 的距离dist q ,以dist q 为权值插入到大顶堆Q knn 中,Q knn 维持k个对象的容量,直到Q 3中的所有移动对象均已计算。最后将Q knn 按照dist进行排序并向上层返回此次k近邻的查询结果。
实例:基础数据结构道路结点的数据结构如表2,主要包括该结点的id值、坐标及与之连接的路段id值。其中变量id做为主键,唯一标识该道路结点;与其相邻接的数个roadId,其数量由adjNodeNum指定。每条路段的起点均为该道路结点,终点为相邻的另一个道路结点。在实际路网中一个道路结点的邻接路段数一般不会超过5个。
表2
序号 | 变量 | 类型 | 说明 |
1 | id | unsigned int | 主键,标识道路结点序号 |
2 | x | CoordinateType | 坐标类型(double或unsigned int),横坐标 |
3 | y | CoordinateType | 坐标类型(double或unsigned int),纵坐标 |
4 | adjNodeNum | unsigned int | 记录与该结点相连的路段数量 |
5 | roadId(1) | unsigned int | 与邻近点之间的一个路段id |
6 | …… | ||
7 | roadId(n) | unsigned int | 关联的roadId数量为adjNodeNum |
路段的数据结构中,包含了路段的id值、名称、其连接的道路结点、车辆行驶代价等信息。其中id值唯一标识了该路段;nodeIdBgn与nodeIdEnd标识了路段连接的道路结点,值为道路结点数据结构Node中的主键id值。路段的方向为从nodeIdBgn往nodeIdEnd的单行道。即任意相邻的2个道路结点之间有2条起讫点相反的路段;minCost标识了在所有时间范围内,车辆通过该路段的最小行使代价。即为静态路网上的该路段权值;curCost标识了当前时间,车辆通过该路段的行使代价,其中代价系数≥1.0;路段中的门牌号区间为[houseNoBgn, houseNoEnd],用于标识该路段右侧的非移动对象的门牌序号的区间范围;level用数字表示该路段的道路等级,例如国道、城区主干道、城区普通道路等。路段Road数据结构见表3。
表3
序号 | 变量 | 类型 | 说明 |
1 | id | unsigned int | 主键,标识路段序号 |
2 | name | string | 路段名字 |
3 | nodeIdBgn | unsigned int | 路段起始方向的道路结点id |
4 | nodeIdEnd | unsigned int | 路段结束方向的道路结点id |
5 | minCost | CoordinateType | 该路段的最小行驶代价 |
6 | curCost | CoordinateType | 实际行驶代价=代价系数*minCost |
7 | houseNoBgn | unsigned int | 路段起点的门牌号 |
8 | houseNoEnd | unsigned int | 路段终点的门牌号 |
9 | level | unsigned int | 道路等级,诸如高速公路、城区主干道等 |
10 | width | unsigned int | 道路车道数 |
兴趣点的POI数据结构见表4,包含了非移动对象的各种属性。有名称name、位置location、关键字列表keywordList、类型type、等级level等。其中location由该兴趣点所在的路段id标识;而keywordList则是储存搜索、索引相关的关键字的链表,一般少于5个。
表4
序号 | 变量 | 类型 | 说明 |
1 | id | unsigned int | 主键,标识该属性 |
2 | name | string | 该属性的具体名称 |
3 | type | string | 属性的类型,比如医院 |
4 | level | string | 属性的等级,比如三甲 |
5 | location | unsigned int | 路段id值,坐落于该路段上 |
6 | houseNo | unsigned int | 具体门牌号 |
7 | keywordList | list<string> | 关键字链表,检索和索引用 |
8 | remark | string | 其他备注用的相关信息 |
例如,华山医院的兴趣点数据结构表示为id=14159, name=’Huashan Hospital’, type=hospital, level=AAA, location=1457(乌鲁木齐中路在路段数据结构中的存储id), houseNo=12, keywordList={neurosurgery, neurology,dermatology}。
移动对象的数据结构见表5,包含了移动对象在路网上的基本属性。其中Location类型为2元组<roadId, offset>,即在路段roadId上从路段起点往路段终点方向偏移offset的位置。移动对象currentNodeId是为了在计算时通过该值快速查询路由表而设计。
表5
序号 | 变量 | 类型 | 说明 |
1 | id | unsigned int | 主键,标识该属性 |
2 | startPoint | Location | 位置类型,标记车辆的起点 |
3 | endPoint | Location | 标记车辆的行驶终点 |
4 | currentPoint | Location | 标记当前时刻车辆所在的位置 |
5 | currentTime | unsigned int | 标记当前时刻 |
6 | currentNodeId | unsigned int | 在快速计算中标识正在往该结点行驶 |
实验系统的编程平台及实验的配置环境如表6所示。
实验采用9328个道路结点、23828条路段的上海市导航地图作为路网,在该地图的基础上进行下列测试和对比。并假设路段权值变化情况图7所示,在上午7-9点及晚上16-19点为早晚出行高峰时间段,路段的最大通行代价至多为最小通行代价的1.6倍。
表6
基于路由机制的k近邻算法需要对静态路由表T S 进行预处理。实验中,在该地图上的预处理时间约35秒。我们定义同一时刻的10000次并发查询为1次测试。
第一项测试共进行连续的20次测试,分别统计导航查询与k近邻查询在每次测试时减少的重复计算数。在一个周期(即测试周期内不重置并更换动态路由表T D )内的实验结果如图8 k近邻查询和导航查询时减少的重复计算次数曲线图显示,本发明提出的路由机制在k近邻算法及导航查询时的最短路算法上均能有效减少重复计算。在导航查询测试的中后期,减少的重复计算数接近10000,这是因为随着大量的导航查询请求和计算所得的最短路径树的分解与存储,路由表中已保存有足够多的历史数据。这些历史数据的存在避免了大量的重复计算。在k近邻查询测试中,k通常的取值范围为[2, 5],使得对于任意k近邻查询请求,路由表中已存在全部解的概率相对导航查询请求低,因此对比数据中其减少的重复计算量要低于前者。
第二项测试中,我们测试单动态路由表与双动态路由表协作更新策略之间的性能对比。共分为2组,每组20次测试。其中,路由表的重置时刻t 0为第11次测试的起始时刻,协作更新的起始时刻t 1为第9次测试的起始时刻,即阈值Δt=t 0-t 1为2次测试的时间间隔。
实验结果如图9所示系统单、双动态路由表更新策略的时间开销曲线图,2种更新策略在前8次的实验数据基本一致。双动态路由表的协作更新策略在第9-10次的测试里要比单动态路由表多花几秒的时间。这是因为在这2次测试里,双动态路由表的更新策略中需要将计算结果更新到2个路由表中,需要多花一定的时间,这在相对低负载的情况下是可接受的。在第11次系统清空旧的动态路由表后的测试中,使用双动态路由表协作更新策略的系统因为动态路由表在第9-10次测试时已保存了部分历史数据,因此总体上比单动态路由表的系统具有更好的性能。系统使用双动态路由表的协作更新策略,相对地减少了每次重置路由表后的计算量。显然,当阈值Δt≈0时,双动态路由表协作更新策略退化为单动态路由表更新策略。
在第三项测试中,我们测试双动态路由表协作更新策略时不同的动态路由表重置间隔对系统性能的影响情况。共分为2组,每组20次测试如图10路网权值的频繁变化导致性能恶化曲线图。
图10中标实线的时间开销曲线,是当路网权值变化较少导致的动态路由表的重置间隔较长的测试结果。该组测试中,路由表的重置时刻t 0为第11次测试的起始时刻,协作更新的起始时刻t 1为第9次测试的起始时刻,即阈值Δt=t 0-t 1为2次测试的时间间隔。
图10中标虚线的时间开销曲线,是当路网权值变化较频繁而导致动态路由表的充值间隔较短的测试结果。该组测试中,路由表的重置时刻t 0分别为第4、7、10、13、16、19次测试的起始时刻,协作更新的起始时刻在每次重置时刻的前一次测试起始时刻,即阈值Δt=1次测试的时间间隔。
由测试结果可知,当路网权值变化较少,使得动态路由表的重置间隔较长时,随着动态路由表T D 内历史数据的逐渐丰富,显著降低了计算时的时间开销;而当路网权值频繁变化而导致动态路由表的频繁重置时,因动态路由表始终无法存储足够多的历史数据而导致在候选集的筛选等步骤上的时间复杂度增加,并且也无法大量的减少重复计算从而抵消或者降低路由机制中更新策略、导航策略等带来的额外的时间开销,导致性能降低。该测试说明,基于路由机制的k近邻算法在实际应用时需要一定的前提条件,即在动态路网道路权值的变化不太频繁和剧烈的情况下,基于路由机制的k近邻算法既能通过实时计算保证结果精确性,又能避免大量重复计算,显著降低计算开销。
本发明给出了路由机制在路网上的一种使用方法,利用历史数据减少重复计算;针对现有动态路网中的k近邻算法因道路权值变化或移动对象改变位置而频繁更新索引产生大量额外开销的缺点,通过对动态路网和静态最小边权路网的推理,提出了基于路由机制的候选集筛选规则和搜索范围的裁剪规则,避免了系统的额外开销;给出了在动态路网上针对移动对象和非移动对象的k近邻查询算法,通过历史数据减少重复计算;通过动态和静态路由表上的推理在一定程度上减少或避免了目前已有的k近邻算法中存在大量重复计算及索引、约束条件频繁更新的不足。
Claims (1)
1.一种变权网k近邻搜索方法,其特征在于,建立路由表机制,进行k近邻搜索,具体包括如下步骤:
1)建立路由表:表中包括从起点到任意点之间的最短路径包含了该路径上其他点之间的最短路径,即路径搜索把起点当做一棵树的根结点,建立一棵最短路径树T,T中任意满足祖孙关系的结点,它们之间的路径都是最短路径,将T上所有满足祖孙关系的结点之间的后继关系存入路由表;
2)路由表的动态更新:当路网权值发生变化时,路由表中动态更新路网中部分区域内的最短路指路信息,使得原本将要经过该条已堵塞道路的车辆能获得一条较原先不改变行驶路径时更合理的路径,即改变后的车辆行驶路径优于未响应路网权值变化的原先的行驶路径;
3)在路由表机制的基础上,设计变权网络路径快速生成算法:车辆在生成环节首先生成OD起始点,车辆在行驶前先查看路由表中是否已有从O点到达D点的下一步行驶方向,若有则按此路由信息行驶,否则用最短路算法计算OD点之间的最短路径,并将该最短路径搜索的结果提炼成一棵最短路径树T,通过路由表的更新算法将T中信息保存到路由表,然后再通过路由表获取从当前点(O点或者行驶中的当前点)到D点的下一跳行驶方向,继续往该方向行驶,直到到达目的地D而结束;
4)基于路由机制的k近邻算法:路由表中保存过去一段时间内的历史查询结果,计算路径时可通过历史数据减少系统重复计算并对车辆行驶路径进行指路导航;
5)k近邻查询规则:
A:候选集的筛选规则:
根据动态路由表T D 内已保存的路径,计算车辆结点到每个候选点的行驶路径总开销作为估算距离;
根据查询点到各候选点的距离由近到远将前k个近邻候选点保存到候选点集Q中;
用静态路由表T S 内的指路信息计算车辆到各剩余候选点的理论最小代价,过滤候选集;
B:路网区域的裁剪规则:
在原始地图G(V,E)下,通过静态路由表Ts获得第k近邻的最大可能距离dmax;
然后根据Ts表内信息,计算查询点到地图G中任意结点之间的最小可能距离dist;
若dist>dmax,将该点及从起始点出发且中间经过该点的其他所有结点一并裁减掉。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210230161.0A CN102810118B (zh) | 2012-07-05 | 2012-07-05 | 一种变权网k近邻搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210230161.0A CN102810118B (zh) | 2012-07-05 | 2012-07-05 | 一种变权网k近邻搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102810118A true CN102810118A (zh) | 2012-12-05 |
CN102810118B CN102810118B (zh) | 2015-08-05 |
Family
ID=47233824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210230161.0A Expired - Fee Related CN102810118B (zh) | 2012-07-05 | 2012-07-05 | 一种变权网k近邻搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102810118B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103079250A (zh) * | 2012-12-16 | 2013-05-01 | 北京泛联至诚科技有限公司 | 一种基于车流密度的物联网单播数据传输方法 |
CN103236170A (zh) * | 2013-04-15 | 2013-08-07 | 同济大学 | 一种基于动态路网的交通诱导新方法 |
CN103559213A (zh) * | 2013-10-10 | 2014-02-05 | 河南大学 | 一种公路网高效空间最近邻查询方法 |
CN104266656A (zh) * | 2014-09-03 | 2015-01-07 | 清华大学 | 用于道路网的最短路径搜索方法及装置 |
CN105589872A (zh) * | 2014-10-23 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 图搜索结果获取方法及装置 |
CN105928535A (zh) * | 2016-06-15 | 2016-09-07 | 苏州清研捷运信息科技有限公司 | 一种道路通行限制的车辆路径规划方法 |
CN107449426A (zh) * | 2017-07-14 | 2017-12-08 | 厦门市礼小签电子科技有限公司 | 路径搜索算法和导航逻辑方法及其室内ar导航系统 |
CN108627163A (zh) * | 2017-03-22 | 2018-10-09 | 高德信息技术有限公司 | 权值表维护方法、装置及导航路线规划方法、装置 |
CN109271467A (zh) * | 2018-08-30 | 2019-01-25 | 浙江工业大学 | 一种方向感知的路网移动对象k近邻查询方法 |
CN109297480A (zh) * | 2017-07-24 | 2019-02-01 | 神州优车(平潭)电子商务有限公司 | 用于管理设备的位置的方法和系统 |
CN109708656A (zh) * | 2019-01-24 | 2019-05-03 | 爱驰汽车有限公司 | 基于实时路况的路线规划方法、系统、设备及存储介质 |
CN109861923A (zh) * | 2017-11-30 | 2019-06-07 | 华为技术有限公司 | 一种数据调度方法及tor交换机 |
CN110347676A (zh) * | 2019-06-11 | 2019-10-18 | 南京航空航天大学 | 基于关系r树的不确定性时态数据管理与查询方法 |
CN110398250A (zh) * | 2019-08-13 | 2019-11-01 | 哈尔滨工程大学 | 一种无人艇全局路径规划方法 |
CN112183589A (zh) * | 2020-09-14 | 2021-01-05 | 西北工业大学 | 一种低采样率下的实时车辆k近邻查询方法 |
CN112328877A (zh) * | 2020-11-03 | 2021-02-05 | 南京航空航天大学 | 时间依赖路网上多用户的skyline查询的方法 |
CN113849498A (zh) * | 2021-08-18 | 2021-12-28 | 北京邮电大学 | 一种索引构建及查询方法 |
CN114422885A (zh) * | 2022-01-20 | 2022-04-29 | 中国联合网络通信集团有限公司 | 基于拓扑路由的路由搜索方法、装置、设备及介质 |
CN116862530A (zh) * | 2023-06-25 | 2023-10-10 | 江苏华泽微福科技发展有限公司 | 一种智能售后服务方法和系统 |
CN116956349A (zh) * | 2023-07-29 | 2023-10-27 | 哈尔滨理工大学 | 一种基于时间依赖路网中的k近邻隐私保护查询方法 |
CN117194737A (zh) * | 2023-09-14 | 2023-12-08 | 上海交通大学 | 基于距离阈值的近似近邻搜索方法、系统、介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684074A (zh) * | 2004-04-14 | 2005-10-19 | 上海晖洋信息技术有限公司 | 基于城市路网结构的任意建筑物间最优路径选择方法 |
CN102004771A (zh) * | 2010-11-12 | 2011-04-06 | 浙江大学 | 基于动态裁剪的移动对象反向近邻查询方法 |
US20110286458A1 (en) * | 2008-07-07 | 2011-11-24 | Chang Stephen S | Dynamic update of route table |
-
2012
- 2012-07-05 CN CN201210230161.0A patent/CN102810118B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684074A (zh) * | 2004-04-14 | 2005-10-19 | 上海晖洋信息技术有限公司 | 基于城市路网结构的任意建筑物间最优路径选择方法 |
US20110286458A1 (en) * | 2008-07-07 | 2011-11-24 | Chang Stephen S | Dynamic update of route table |
CN102004771A (zh) * | 2010-11-12 | 2011-04-06 | 浙江大学 | 基于动态裁剪的移动对象反向近邻查询方法 |
Non-Patent Citations (1)
Title |
---|
唐俊,张栋良: "基于路由机制的变权网络路径快速生成算法", 《计算机科学》, vol. 38, no. 12, 31 December 2011 (2011-12-31), pages 110 - 112 * |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103079250A (zh) * | 2012-12-16 | 2013-05-01 | 北京泛联至诚科技有限公司 | 一种基于车流密度的物联网单播数据传输方法 |
CN103236170A (zh) * | 2013-04-15 | 2013-08-07 | 同济大学 | 一种基于动态路网的交通诱导新方法 |
CN103236170B (zh) * | 2013-04-15 | 2015-06-03 | 同济大学 | 一种基于动态路网的交通诱导方法 |
CN103559213A (zh) * | 2013-10-10 | 2014-02-05 | 河南大学 | 一种公路网高效空间最近邻查询方法 |
CN104266656A (zh) * | 2014-09-03 | 2015-01-07 | 清华大学 | 用于道路网的最短路径搜索方法及装置 |
CN104266656B (zh) * | 2014-09-03 | 2017-06-06 | 清华大学 | 用于道路网的最短路径搜索方法及装置 |
CN105589872A (zh) * | 2014-10-23 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 图搜索结果获取方法及装置 |
CN105589872B (zh) * | 2014-10-23 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 图搜索结果获取方法及装置 |
CN105928535A (zh) * | 2016-06-15 | 2016-09-07 | 苏州清研捷运信息科技有限公司 | 一种道路通行限制的车辆路径规划方法 |
CN105928535B (zh) * | 2016-06-15 | 2018-08-31 | 苏州清研捷运信息科技有限公司 | 一种道路通行限制的车辆路径规划方法 |
CN108627163B (zh) * | 2017-03-22 | 2020-11-03 | 阿里巴巴(中国)有限公司 | 权值表维护方法、装置及导航路线规划方法、装置 |
CN108627163A (zh) * | 2017-03-22 | 2018-10-09 | 高德信息技术有限公司 | 权值表维护方法、装置及导航路线规划方法、装置 |
CN107449426B (zh) * | 2017-07-14 | 2020-05-05 | 厦门市礼小签电子科技有限公司 | 导航逻辑方法及其室内ar导航系统 |
CN107449426A (zh) * | 2017-07-14 | 2017-12-08 | 厦门市礼小签电子科技有限公司 | 路径搜索算法和导航逻辑方法及其室内ar导航系统 |
CN109297480A (zh) * | 2017-07-24 | 2019-02-01 | 神州优车(平潭)电子商务有限公司 | 用于管理设备的位置的方法和系统 |
CN109297480B (zh) * | 2017-07-24 | 2022-06-14 | 神州优车(平潭)电子商务有限公司 | 用于管理设备的位置的方法和系统 |
US11438270B2 (en) | 2017-11-30 | 2022-09-06 | Huawei Technologies Co., Ltd. | Data scheduling method and tor switch |
CN109861923A (zh) * | 2017-11-30 | 2019-06-07 | 华为技术有限公司 | 一种数据调度方法及tor交换机 |
CN109271467B (zh) * | 2018-08-30 | 2022-07-22 | 浙江工业大学 | 一种方向感知的路网移动对象k近邻查询方法 |
CN109271467A (zh) * | 2018-08-30 | 2019-01-25 | 浙江工业大学 | 一种方向感知的路网移动对象k近邻查询方法 |
CN109708656A (zh) * | 2019-01-24 | 2019-05-03 | 爱驰汽车有限公司 | 基于实时路况的路线规划方法、系统、设备及存储介质 |
CN110347676A (zh) * | 2019-06-11 | 2019-10-18 | 南京航空航天大学 | 基于关系r树的不确定性时态数据管理与查询方法 |
CN110347676B (zh) * | 2019-06-11 | 2021-07-27 | 南京航空航天大学 | 基于关系r树的不确定性时态数据管理与查询方法 |
CN110398250B (zh) * | 2019-08-13 | 2022-01-11 | 哈尔滨工程大学 | 一种无人艇全局路径规划方法 |
CN110398250A (zh) * | 2019-08-13 | 2019-11-01 | 哈尔滨工程大学 | 一种无人艇全局路径规划方法 |
CN112183589A (zh) * | 2020-09-14 | 2021-01-05 | 西北工业大学 | 一种低采样率下的实时车辆k近邻查询方法 |
CN112183589B (zh) * | 2020-09-14 | 2022-04-22 | 西北工业大学 | 一种低采样率下的实时车辆k近邻查询方法 |
CN112328877A (zh) * | 2020-11-03 | 2021-02-05 | 南京航空航天大学 | 时间依赖路网上多用户的skyline查询的方法 |
CN113849498A (zh) * | 2021-08-18 | 2021-12-28 | 北京邮电大学 | 一种索引构建及查询方法 |
CN113849498B (zh) * | 2021-08-18 | 2022-08-23 | 北京邮电大学 | 一种索引构建及查询方法 |
CN114422885A (zh) * | 2022-01-20 | 2022-04-29 | 中国联合网络通信集团有限公司 | 基于拓扑路由的路由搜索方法、装置、设备及介质 |
CN114422885B (zh) * | 2022-01-20 | 2023-07-04 | 中国联合网络通信集团有限公司 | 基于拓扑路由的路由搜索方法、装置、设备及介质 |
CN116862530A (zh) * | 2023-06-25 | 2023-10-10 | 江苏华泽微福科技发展有限公司 | 一种智能售后服务方法和系统 |
CN116956349A (zh) * | 2023-07-29 | 2023-10-27 | 哈尔滨理工大学 | 一种基于时间依赖路网中的k近邻隐私保护查询方法 |
CN116956349B (zh) * | 2023-07-29 | 2024-03-19 | 哈尔滨理工大学 | 一种基于时间依赖路网中的k近邻隐私保护查询方法 |
CN117194737A (zh) * | 2023-09-14 | 2023-12-08 | 上海交通大学 | 基于距离阈值的近似近邻搜索方法、系统、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102810118B (zh) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102810118A (zh) | 一种变权网k近邻搜索方法 | |
Rong et al. | Du-parking: Spatio-temporal big data tells you realtime parking availability | |
CN109145169B (zh) | 一种基于统计分词的地址匹配方法 | |
CN103544291B (zh) | 道路网络中基于RRN-Tree的移动对象CKNN查询方法 | |
CN104462190B (zh) | 一种基于海量空间轨迹挖掘的在线的位置预测方法 | |
Ding et al. | Network-matched trajectory-based moving-object database: Models and applications | |
CN101866545B (zh) | 移动对象路网匹配轨迹的采集方法 | |
CN102735239B (zh) | 导航装置、方法和系统 | |
CN112579921B (zh) | 基于倒排序索引及前缀树的轨迹索引和查询方法及系统 | |
WO2017177965A1 (zh) | 一种基于时间顺序的轨迹匹配方法 | |
Anagnostopoulos et al. | Intelligent trajectory classification for improved movement prediction | |
CN103235831A (zh) | 基于路网的移动对象位置索引结构及索引方法 | |
CN106845703B (zh) | 一种考虑转向延误的城市路网时变k最短路径搜索方法 | |
Zhao et al. | Path $ k\hbox {NN} $ Query Processing in Mobile Systems | |
CN109902711A (zh) | 一种时间依赖路网上的移动对象k近邻查询算法 | |
CN102982395A (zh) | 一种基于空间节点聚类方法的快速公交换乘方法 | |
Cui et al. | A road-aware neural network for multi-step vehicle trajectory prediction | |
Huang et al. | Frequent pattern-based map-matching on low sampling rate trajectories | |
Lee et al. | Crowd-sourced carpool recommendation based on simple and efficient trajectory grouping | |
CN102004771B (zh) | 基于动态裁剪的移动对象反向近邻查询方法 | |
Amirat et al. | Nextroute: a lossless model for accurate mobility prediction | |
Sharma et al. | Nearest neighbour classification for trajectory data | |
Huang et al. | Continuous within query in road networks | |
Musleh et al. | Kamel: A Scalable BERT-based System for Trajectory Imputation | |
CN101936741B (zh) | 基于逆向基图修正时空数据模型的车载导航路网增量数据更新系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150805 Termination date: 20180705 |