论文部分内容阅读
基于Web的地理信息系统已经成为一种大众化的信息工具,它是地理信息系统与因特网技术的有机结合。现有的很多基于Web的地理信息系统使用的都是栅格数据,在放大级别和复杂查询上有一定的限制。针对以上问题,本文对矢量化的地图数据进行了研究,设计并实现了基于Web的矢量化地图服务器原型系统WebMap。WebMap地图服务器系统将矢量地图数据转化成对应的栅格地图数据,通过浏览器呈现在用户面前。用户可以对其中的地理信息进行缩放、漫游、查询、标注、图层选择、投影设置等操作,并且它的放大是无级别限制的。本文在实现WebMap的过程中,主要做了以下工作:1.研究了主流的基于Web的地理信息系统的原理和通用结构,然后结合它们的优缺点,设计了WebMap的整体框架;2.对关系型数据库PostgreSQL的空间数据的存储和索引能力进行了分析,解决了WebMap中矢量地图数据的存储和索引的问题,并实现了各数据库服务器之间的集群同步;3.研究了Web服务器Nginx的反向代理技术,通过该技术对地图应用服务器的集群进行配置,实现了应用服务器的负载均衡;4.本文没有采用传统应用服务器的请求处理方法,而是采用I/O完成端口模型来实现应用服务器对用户请求的处理;5.应用服务器的集群可能会引发一个问题,即相同的请求在二次发送时被发送到不同的应用服务器,从而导致了重复性的绘制工作。针对以上问题,提出了二级缓存服务器集群的解决方案。并深入地研究了一致性哈希算法,应用此算法实现了缓存服务器的负载均衡,加快了用户访问速度。原型系统的测试结果表明,WebMap系统能够达到预期的要求,并且二级缓存服务器能够明显提高用户请求的响应速度和并发性能。