The k Nearest Neighbor (kNN) query over moving objects on road networks is essential for location-based services. Recently, this problem has been studied under road networks with distance as the metric, overlooking fluctuating travel costs. We pioneer the study of the kNN problem within dynamic road networks that account for evolving travel costs. Recognizing the limitations of index-based methods, which become quickly outdated as travel costs change, our work abandons indexes in favor of incremental network expansion on each snapshot of a dynamic road network to search for kNNs. To enhance expansion efficiency, we present DkNN, a distributed algorithm that divides the road network into sub-networks for parallel exploration using Dijkstra's algorithm across relevant regions. This approach effectively addresses challenges related to maintaining global distance accuracy during local, independent subgraph exploration, while minimizing unnecessary searches in irrelevant sub-networks and facilitating the early detection of true kNNs, despite the lack of constant global search monitoring. Implemented on the Storm platform, DkNN demonstrates superior efficiency and effectiveness over traditional methods in real-world road network scenarios.
翻译:道路网络中移动对象的k近邻查询对于基于位置的服务至关重要。现有研究主要在将距离作为度量标准的路网环境下探讨该问题,却忽略了实时变化的通行代价。本研究率先在考虑动态通行代价的时变路网中探索k近邻问题。鉴于基于索引的方法在通行代价变化时迅速失效的局限性,我们摒弃索引策略,转而在动态路网的每个快照上采用增量式网络扩展方法来搜索k近邻。为提升扩展效率,我们提出DkNN分布式算法:该算法将道路网络划分为多个子网络,通过Dijkstra算法在相关区域内进行并行探索。该方法有效解决了在局部独立子图探索过程中保持全局距离准确性的挑战,同时最大限度减少在无关子网络中的无效搜索,并促进真实k近邻的早期发现——尽管缺乏持续的全局搜索监控。在Storm平台上实现的DkNN算法,在真实道路网络场景中展现出优于传统方法的效率与效能。