100 likes | 285 Views
位置相关查询处理. 2011.3. 1. 研究背景及意义. 移动计算、无线通信以及定位技术的快速发展,使得位置相关的查询处理及基于位置的信息服务技术已经成为一个热点研究领域 。 大量的应用领域 ( 如地理信息系统、智能导航、交通管制、天气预报、军事、移动电子商务等 ) 均迫切需要有效地查询这些数据对象。 传统的数据库查询处理技术不能或不能有效地发挥作用,需要研究新的查询处理技术。 如何提供各种高效的时空对象查询处理技术是当前时空数据库领域的研究热点之一。. 位置相关查询处理的分类. 目前,常用的查询类型主要包括 :
E N D
位置相关查询处理 2011.3
1. 研究背景及意义 • 移动计算、无线通信以及定位技术的快速发展,使得位置相关的查询处理及基于位置的信息服务技术已经成为一个热点研究领域 。 • 大量的应用领域(如地理信息系统、智能导航、交通管制、天气预报、军事、移动电子商务等)均迫切需要有效地查询这些数据对象。 • 传统的数据库查询处理技术不能或不能有效地发挥作用,需要研究新的查询处理技术。 • 如何提供各种高效的时空对象查询处理技术是当前时空数据库领域的研究热点之一。
位置相关查询处理的分类 目前,常用的查询类型主要包括: • 点查询(Point Query): 查找所有与一个给定的空间查询点q重叠的空间数据对象。 • 方位查询(Directional Query): 查找所有位于一个给定的空间查询对象的某方位(如北面)的空间数据对象。 • 拓扑查询(Topological Query):查找所有与一个给定的空间查询对象重叠(或相交或包含或被包含或相邻等)的空间数据对象。
区域查询(Range Query): 区域查询是一种最常用的拓扑查询。其定义为: 给定一个查询区域R,一个区域查询找出所有与R相交或被包含在R内的空间数据对象。图1显示了一个二维空间上的矩形区域查询例子,其查询结果为被R所包含的三个空间数据对象a,b和c。 • 最近邻查询(Nearest Neighbor Query) • 定义: 给定一个查询点q和一个距离度量(如欧几里得距离等),一个最近邻查询找出一个离q最近的空间数据对象。 • 一般化形式是k(>=l)最近邻查询,其定义为: 给定一个查询点q,一个正整数k以及一个距离度量(如欧几里得距离等),一个k最近邻查询找出k个离q最近的空间数据对象 。 • 图2显示了一个二维空间上的k(=3)最近邻查询例子,其查询结果为三个空间数据对象a,b,和g。 Fig 2: kNN query Fig 1: range query
反向最近邻查询(Reverse Nearest Neighbor Query) • 反向最近邻查询是最近邻查询的变体之一。 • 定义: 给定一个查询点q和一个距离度量(如欧几里得距离等),一个反最近邻查询找出所有将q作为其最近邻居的空间数据对象。 • 一般化形式是反k(>=l)最近邻查询,定义: 给定一个查询点q,一个正整数k以及一个距离度量(如欧几里得距离等),一个反k最近邻查询找出所有将q作为其k个最近邻居之一的空间数据对象 。 • 图3给出了一个二维空间上的反k(=2)最近邻查询例子,其查询结果为空间数据对象a和c,因为q是它们各自的2最近邻居之一。 Fig 3:RNN query
空间连接查询(Spatial Join Query): • 空间连接查询可以用来确定满足一个给定的连接谓词关系的所有空间对象对。 • 定义为: 给定两个空间对象集Oa,Ob和一个连接谓词⊙,一个空间连接查询的输出是一个由Oa,,Ob构成的对象对集合,并使得Oa∈ DA, Ob∈ DB,以及⊙(Oa , Ob)成立 。 • 下图4给出了两个二维空间上的空间连接查询例子。 • 图4(a)查找两个数据集中的所有相交对象对,其查询结果为{(A1,B1),(A1,B2),(A2,B1)}; • 图4(b)查找两个数据集中的所有对象对Oa,Ob,并使得Ob完全被Oa包含,其查询结果为{(A2,B2),(A2,B3)}。 Fig 4: Spatial Join Query
最近对查询(Closest Pair Query): 最近对查询是空间连接查询和最近邻查询的混合。 • 定义为: 给定两个空间对象集DA和DB,一个最近对查询找出由Oa,Ob组成的一个对象对,并使得Oa∈ DA, Ob∈ DB,以及Oa与Ob之间的距离是所有可能对象对中最小的。 • 一般化形式是k(>=l)最近对查询,其定义为: 给定两个空间对象集DA和DB,一个k最近对查询的输出是一个由Oa,Ob组成的k个对象对,并使得Oa∈ DA, Ob∈ DB,以及k个对象对之间的距离是所有可能对象对中最小的。 • 下图5给出了一个二维空间上的k(>=2)最近对查询例子,其查询结果为{(a4,b1),(a4,b2)}。 Fig 5: Closest Pair Query
skyline查询(skyline Query) • skyline查询是一种新颖的查询类型。它在涉及多标准的决策支持系统中具有重要的应用价值。 • 定义为: 给定一个d维的数据点集合,一个Skyline查询找出所有不被其它数据点支配(dominate)的数据点。 • 一个点p支配另一个点p’,当且仅当满足如下两个条件: (1) p在全部d维度上都不差于p’; (2) p至少在一个维度上严格地好于p’。 • 下图显示了一个二维空间上的Skyline查询例子,其查询结果为数据点a,i和k,因为它们在距离与价格维度上都不差于任何其它点,并且至少在一个维度上要严格地好于任何其它点。 Fig 6: Skyline Query
最主要的查询有: • 范围查询(range query) • 最近邻查询(kNN query) • 反向最近邻查询(RkNN query) • 按查询对象和数据对象的属性(包括静态和移动)来分: • 静态对象的静态查询 • 移动对象的静态查询 • 移动对象的移动查询 • 按对象所处的环境分: • 欧式空间位置查询 • 路网空间位置查询 • 路网距离是基于实际路网(如公路网,铁路网)的最短路径(或最短时间或最小成本)距离 • 对象间的路网距离由路网中道路的联通性决定,而不同于欧式空间中由对象的坐标值决定。 • 路网空间下的位置查询处理方法跟欧式空间下的方法有较大差异。
按查询处理的方式分: • 按需访问(On-demand access) • 是一种pull-based方法。 • 移动客户向服务器发起一个查询,服务器处理查询,再将查询结果通过point to point 渠道返回给客户。 • 这种方法目前普遍使用,适合于轻负载系统。 • 周期广播(Periodic broadcast) • 是一种push-based方法。 • 服务器周期性的将数据广播至各客户,客户根据需要接受信息,进行查询处理,获得查询结果。 • 这种方式允许任意数量的客户同时访问数据,特别适合于重负载系统。