移动公司搜索位置服务器,移动查询处理

移动查询优化技术是指在传统分布式数据库查询优化技术的基础上,利用多种方法,消除带宽多样性、断接等因素产生的影响,使查询引擎能够根据当前可用网络条件采取恰当的优化策略。同时,针对移动计算机有限电源能力,合理地组织本地数据库管理、远程数据库访问等消耗电能较多的操作,达到节能目的,延长关键数据的可用时间。

移动查询主要研究的问题有:

a.位置更新策略。

b.位置相关查询优化。

c.查询结果与提出该查询的移动用户的实际地址的相关性。

d.查询结果与用户移动的方向的相关性。

e.聚集度查询。

f.实时数据的查询。

中文名

移动查询处理外文名

MoQP

移动查询处理位置更新策略

语音

准确地获取移动对象的当前位置信息,是进行更为复杂的位置管理的先决条件。

移动对象的当前位置可以通过两种方式获得:一种是直接查询无线通信系统中的位置管理设施(如位置服务器)所提供的信息,这种方式可以获得无线通信单元一级的位置精度,大多数情况下,这种位置精度就已经足够了;另一种是通过全球定位系统(GPS)获得移动对象的精确位置,这种方式下,位置精度通常可以控制在1m之内。

移动对象的位置总是在改变,要保证位置数据随时有效,传统方法是周期性刷新数据。但移动对象位置的频繁变动会给服务器带来严重的更新开销,而且会增加网络负担,这就需要新的处理方法。目前主要采用位置建模方法:将移动对象的位置抽象成时间的函数,即Location=f(t),系统可根据该函数计算出移动对象在将来任一时刻的位置,移动对象无需周期性地报告当前位置,只在实际位置与计算位置的偏差达到或超过一定阈值时,才对数据库进行更新。这种方法极大地降低了数据库的更新开销,减轻了网络负担。

在移动对象的位置模型中具有代表性的成果有移动对象时空(MOST)模型和移动对象离散数据模型。

MOST模型引入了动态属性的概念,动态属性将移动对象的位置表示为时间的函数,这样在移动对象正常运动时,无需对其位置信息反复更新,仅在发生异常情况,如速度突然变化或运动线路发生改变时才进行数据库更新。

然而MOST模型也存在着一定的局限。由于简单函数的表达能力有限,动态属性只能表达移动对象在未来较短时间内的移动轨迹,而对较长时间移动对象轨迹的表示就显得无能为力了。为了克服这一缺陷,有人提出了移动对象离散数据模型,它将复杂的空间对象及移动轨迹分割为相对简单的离散片段,为表示和处理复杂移动对象提供了一种可行的解决方案。

移动对象的位置管理方式本质上就具有不确定性(或称不精确性)。不管采用何种位置管理及位置信息更新策略,移动对象数据库中保存的位置信息与移动对象的实际位置总会存在一定的偏差。比如在周期性位置更新方法中,位置信息的更新是周期性完成的,在每一个更新周期内,数据库中的位置信息是不变的,而实际上移动对象可能已经在此期间离开了原来的位置。将位置表示为时间的函数同样也存在着位置的不确定性,位置函数仅仅是近似地刻画了实际位置的变化,因此偏差总是客观存在着。此外,系统通过设定阈值的方式来减少位置信息更新代价的策略,也增加了位置的不确定性。

所以说不确定性是移动对象管理中无法回避的问题,最好的办法不是不允许它存在,而是对它进行正确处理。

如果地址数据库想维护每个移动用户的精确地址,就要求每个移动用户在跨越一个无线单元时都向其宿主位置服务器报告,这样会给网络及位置服务器带来过多的开销。相反,如果移动用户不报告地址,只是在进入另一个位置服务器的覆盖范围时才做登记,那么又会使查询该用户当前地址的开销量增大,因为必须对该位置服务器的每一个MSS发送寻呼广播。

因此,更适合的方法是采用一种折衷策略,将每个位置服务器下的MSS划分为若干互不交叉的组,每个组称为一个分割。移动用户只有在从一个分割移动到另一个分割内时,才向位置服务器报告地址的变动。

这样,查询一个移动用户地址的步骤为:首先,查询其宿主服务器,找到当前所在的位置服务器;然后,从该位置服务器查出移动用户在哪个分割内;最后,从这个分割内的各个MSS中找到该移动用户。

位置相关查询优化

查询一个移动用户的地址是一种最简单的地址相关查询。除此之外,还有各种各样涉及地址的查询,例如“请寻找一名公园附近的医生”等。

这种地址相关查询需要检查各个对象的实际地址是否满足约束条件,而这些实际地址必须进行地址查询才能得到,因为位置服务器只提供分割一级的不精确的地址。因此,要求得到地址相关查询的最终答案,必须先查询足够的精确地址信息。如果对这一类查询进行适当的优化,可以大大减少查询地址信息所需的通信开销。

在这方面,人们提出了多种时空查询语言,如通过扩充SQL语言得到的时空查询语言(STQL,Spatial-Temporal Query Language)以及将来逻辑语言(FTL,Future Logic Language)等。

STQL语言和FTL语言在SQL语言的基础上补充了大量的空间和时间运算符。它们不仅能够支持对移动对象过去和当前位置的查询,而且还可以提供对未来位置的查询,因为在移动对象数据库的位置表示模型中,通常包含了对象的未来位置信息。

通过这些时间和空间运算符,我们可以表达非常复杂的查询,如“查询两个移动对象,它们之间的距离在进入区域A之前小于2公里”,可以用如下的形式表示:

SELECT o,n FROM Moving Objects

WHERE

BEGINTIME(DIST(o,n)≤5)≤NOW AND

ENDTIME(DIST(o,n)≤2)≥

BEGINTIME(INSIDE(o,A)∧INSIDE(n,A))

移动查询处理查询结果与提出该查询的移动用户的实际地址的相关性

语音

查询结果与提出该查询的移动用户的实际地址常常是相关的,例如,“附近最近的医生在哪里?”、“请告诉到大剧院的最佳线路以及相关的交通情况报告”等。这些查询往往涉及地理数据和实时数据,并要求系统能够动态生成报告,为移动用户提供目录服务。

在移动数据库中,另一类重要的查询是位置相关的持续查询。以一个具体的位置相关的持续查询Q为例,Q对应于一个时间区域,在该时间区域内,Q处于活动状态,由于移动对象位置的改变,Q的查询结果也在不断变化,系统需要随时将查询结果的变化信息传递给查询用户,使用户能不断地实时监控最新的查询结果。例如,在高速公路上行进的救护车可以提交这样的持续查询:“请在未来10分钟内随时告诉我离得最近的医院”,而10分钟之内,关于医院的动态信息就会不断返回给救护车。

位置相关的持续查询可以促成一类重要的应用——环境感知的查询处理。设想在2008年北京奥运会期间,一群外宾在旅游景点参观,导游小姐手上的解说器自动播放着服务器传送过来的解说内容,随着导游的移动,解说器自动变换解说内容。这样,导游工作将变成一项轻松有趣而且人人都能胜任的工作。

移动查询处理查询结果与用户移动方向的相关性

语音

有时,仅仅知道用户的实际地址是不够的。例如,可能需要知道用户当前的前进方向,才能回答该用户提出的有关行进路线的查询。例如在某个商业大厦中找卫生间,目前最佳的解决方法是在手机上显示行进的路线图,并随着你的前进而自动修改你的路线图。

移动查询处理聚集度查询

语音

这一类查询可以衡量某个地区的总体交通情况,如拥挤情况。它可以用来帮助移动系统进行动态资源分配,如某个无线网络单元内的频率分配。例如,足球比赛结束之后,应该给体育场周围地区分配更多的无线频带。

移动查询处理实时数据的查询

语音

在移动计算环境中,许多信息都是快速变化的,如移动用户地址、城市交通状况等。甚至在查询过程当中,这些信息就可能已经改变了,因此查询的结果可能已不是最新数据。这就产生了一个最基本的问题:查询结果的意义究竟是什么?如果查询结果不能反映实际情况,那么应该怎样查询这种快速变化的实时信息?如何在查询结果中加入预测信息,使得查询更有实际意义?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值