位置服务中移动对象需要不断想服务器报告自己的位置。服务器所获得的位置信息越精确,移动对象所能获得的服务就越好。考虑到移动对象位置固有的不精确性,系统实现就必须考虑什么时候以及什么频率进行位置更新。
移动对象的位置更新策略存在一个折中。一方面频繁地更新会对服务器端造成很大的压力,导致过高的代价并会影响性能,而低频率的更新可能会导致位置查询返回过时的数据。合理的推理可知,无论何种位置更新策略都会存在不精确性。目前学者已经提出了好几种更新策略,本文着重介绍Ralf Hartmut Gueting和Markus Schneider所著的《移动对象数据库》中介绍的信息代价模型。读者如要获取详细的资料,可以翻看他们所著的书。
偏离和不确定性
偏离和不确定性是移动对象位置不精确性的两个相关但不同的概念。偏离是指移动对象实际位置与其数据库位置存在的误差。不确定性是指移动对象的所有可能位置的区域大小。考虑到民用GPS的精度也大致是25米,则不确定性本身在获取原始位置数据就已经存在。
运动过程的信息代价
偏离和不确定性都会导致决策失误,从而产生代价。除了偏离代价和不确定性代价,移动对象还面临更新代价,即通信或传输代价,因为必须将位置更新信息发送给数据库。
移动对象的偏离代价由偏离的大小以及它所持续的时间决定。偏离的大小影响系统的决策。偏离过大,系统要根据移动对象位置做出可靠决策的难度就越大,不精确行就越高。在偏离持续的时间段内,系统都要为这个偏离付出代价。而且,简单地说,一个单位时间的偏离代价必然是n个单位时间的偏离代价的1/n。假设一个单位时间的偏离代价为常量1,则偏离代价可以由下面的公式给出:
其中d(t)表示偏离代价是时间的函数。信息代价模型假设该函数是一个单值函数。上式表示在开始时间t1
和终止时间t2
之间的偏离代价。
不确定性代价同样由其大小和持续时间来决定。高不确定性会导致移动对象位置查询所获取的信息不可靠。同样单位时间的不确定性代价也是n个单位时间的不确定性代价的1/n。则设单位时间的不确定性代价是单位时间的偏离代价的$C_2$倍,下面的公式给出开始时间t1
和终止时间t2
之间的不确定性代价:
更新代价的度量由于其复杂性,在信息代价模型中被简单处理为偏离代价的倍数,假设为C1
。这意味着如果系统要在一个时间单位里将偏离减少1,移动对象将需要传送1/C1
条消息。
综上,设t1
和t2
是两个连续的位置更新消息的发送时间,则在半开的时间间隔[t1
,t2
)里的信息代价可以计算如下:
考虑一个连续的位置更新时间区间t1, t2, ...,tn ,则移动对象该次运动过程的总信息代价为