论文部分内容阅读
地理信息系统是当前地理学与信息科学领域研究最为热门的分支学科之一。随着社会经济的飞速发展,地理信息系统需要处理的空间数据量越来越大。正确、有效、快速地显示和处理海量空间数据已经成为了优秀地理信息系统软件的基本要求。
在地理信息系统中,大部分的空间数据存在于服务器端的空间数据库中,空间数据通过Intranet或Internet从服务器传送给客户端,大量的空间数据以及复杂的空间关系会给整个系统带来一系列的问题:服务器负载过重、网络拥塞、客户端响应缓慢。利用面向海量空间数据处理的缓存技术能有效地解决这个问题。空间数据与其他结构化数据相比,用户访问的行为更有规律性,与用户当前正在访问的空间数据具有空间相邻关系的其他空间数据在短时间内很可能被使用。分析用户对空间数据的访问特点,可以制定有效的缓存策略,有效地提高整个系统的效率。本文的主要工作包括:
1.结合织女星地理信息系统的体系结构,研究了面向海量空间数据处理的缓存模型。较为完整的缓存系统由客户端缓存、基于空间数据库引擎的缓存和空间数据库缓存三部分组成,以代理缓存作为补充;
2.基于“内存缓存-磁盘缓存”的两层结构实现了织女星地理信息系统的缓存模型,该模型以网格单元为基本缓存单位,保证缓存读取、写入和删除等基本操作具有较高效率;
3.根据用户对空间数据的使用特点,实现了基于金字塔层次的预取机制和基于空间邻接关系的预取机制;结合用户行为确定预取数据的顺序:使用多线程利用空闲时间进行预取,尽量减少预取对其他操作的影响;
4.对经典的LRU淘汰算法进行改进,在原有算法的基础上融入空间位置关系,保证了与当前访问数据相邻的数据不易被淘汰,有效地避免了“颠簸”现象,保证了缓存的命中率;
5.分析比较多种一致性策略的优缺点,对Client Pulling机制进行修改,提出了适合织女星地理信息系统使用的一致性策略,使用较小的系统开销实现了较低的访问陈旧率。