论文部分内容阅读
随着基于用户位置的服务(Location-Based Service, LBS)研究的日益深入,用户对LBS的需求日趋丰富。例如在智能交通领域,自动驾驶技术不仅需要解决普通的位置定位技术,更重要的是要持续监测车与周围车辆以及道路上其他物体之间的距离远近关系,保证安全行驶。现有的查询处理技术,如范围查询、最近邻查询和连续范围查询等,仅仅关注某一时刻查询点与被查询点之间的位置关系,无法满足用户对移动对象之间的连续状态查询服务的需求。移动对象间状态查询是指移动对象查询自身与周围其他移动对象之间越来越远或者越来越近的位置关系。已有的移动对象间状态查询算法主要包括朴素的状态查询算法与移动对象间的连续状态查询算法,均是基于欧氏空间,难以直接应用于路网环境。本文提出了面向路网的移动对象间连续状态查询中的关键算法。针对大规模的移动对象的应用场景,移动对象间的连续状态查询算法面临着两大挑战:一方面如何快速地对海量移动对象定位;另一方面如何在路网环境下高性能地计算海量移动对象间的距离。针对上述问题,本文做了以下两方面工作:针对快速定位移动对象位置的问题,本文提出了三种移动对象定位算法。基于路段划分的移动对象定位算法通过对较长路段进行划分,对子路段构造MBRs,建立R树索引,有效地减少了MBRs之间的重叠区域和MBRs对无效区域的覆盖。基于网格R树的移动对象定位算法将网格定位的高效性与R树搜索的高效性结合起来。基于路网拓扑的移动对象定位算法,利用了路网拓扑结构与基于网格R树的移动对象定位算法相结合。实验对比表明:三种定位算法的性能均优于基于R树的移动对象定位算法。路网环境下,大规模移动对象间的距离计算成为制约移动对象间的连续状态查询的瓶颈。因此,本文从工程角度提出基于距离查询表的移动对象间距离序列计算算法(calculating distance sequence based on Distance Query Table, DQT),满足了移动对象间的连续状态查询处理的实时性要求。针对距离查询表需要内存空间较大的问题,对距离查询表进行了空间优化,提出了基于空间受限距离查询表的移动对象间距离序列计算算法(calculating distance sequence based on Limited Space Distance Query Table, LSDQT).实验对比表明:两种算法时间性能均优于基于最短路径算法移动对象间距离序列计算算法。算法LSDQT虽然在计算速度上比DQT算法慢了一个数量级,但空间受限距离查询表所需的内存空间仅为距离查询表的1%,LSDQT算法对移动对象间的状态计算精确度接近DQT算法,趋近于100%。