刘 波,蔡 勇,宋法奇
(江苏省基础地理信息中心,江苏南京210013)
地理信息是国家重要战略信息资源,在政府管理决策、新兴产业发展、人民生活改善等方面发挥着越来越重要的作用。随着政府管理决策科学化、经济与社会发展信息化及和谐社会建设的不断推进,各级政府部门和社会公众对权威、可靠的地理信息服务的需求与日俱增,迫切要求实现多尺度、多类型地理信息资源的综合利用与在线服务。“天地图”是由国家测绘地理信息局主导的,由国家、省、市、县分级建设,共建共享,互联互通,旨在提供权威、统一地理信息服务的大型互联网地图服务网站,是数字城市建设的重要组成部分,是各省、市县级地理信息公共服务平台的公众版,也是中国区域内基础地理信息数据资源最全的互联网地图服务网站。
本文从“天地图·常州”建设的技术架构建设、软件平台建设、服务体系建设等几个方面探讨“天地图”市级节点建设的主要思路。
“天地图”是面向政府部门、专业机构和社会公众服务的大型地理信息服务网站,其在线地理信息服务具有数据量大、现势性强、数据格式与服务标准专业性较强、空间数据处理较复杂等特点。国家“天地图”主节点要求各个分建节点网站须具备7×24 h不间断服务的能力,具有高服务质量,市级节点支持峰值并发用户数为500;远距离访问服务等待时间不超过1 s;互操作和信息加载服务等待时间不能超过5 s,平均每个用户每分钟显示8次地理信息图像。这些具体的高技术要求,对于“天地图·常州”节点的建设者是一个不小的挑战。因此,基于云计算构建具备高可用性和负载均衡等能力的运行支持环境对于“天地图·常州”的建设尤为重要。
“常州云计算应用服务中心”(以下简称云中心)为常州市管辖范围内的面对政务协同、社会管理、公共服务等应用的唯一云计算应用服务中心,于2012年5月建成开通。
虚拟化技术是云平台管理计算资源、存储资源、网络资源的关键。虚拟化技术能够将不同结构的物理资源整合为逻辑资源池来供整个云平台使用。云中心采用XEN虚拟化技术,而XEN是目前主流的开源虚拟化技术,可以工作在半虚拟化(paravirtualization)和完全虚拟化两种模式之下。半虚拟化又叫做超虚拟化技术,该技术通过对客户操作系统做一些修改便可以在不支持虚拟化的硬件之上运行,而其无硬件依赖的特性使得XEN的应用范围更加广泛。同时,由于直接运行在硬件之上,虚拟机的性能更接近真实硬件环境,因此XEN更容易达到高性能。Amazon EC2、GoGridXen和Citrix的云平台都采用XEN虚拟化技术。
2012年6月18日,“天地图·常州”V2.0版成功部署到常云中心,成为常州市首个入驻云中心的大型应用,也是全国少数几个部署在云计算环境中的“天地图”节点之一。云中心将为“天地图·常州”提供虚拟化的硬件环境、高可用性的硬件资源,确保“天地图·常州”的高并发性和可靠性。
“天地图·常州”部署方案需要满足4点要求:①高效的运行效率,提供高速的I/O读取和足够的系统资源;②保持数据一致性即系统始终基于一套数据基础,避免多套数据多台服务器来回复制;③部署方案可靠易行,即通过虚拟化的方式简化了管理的难度;④可扩展性,由于系统建设初期的硬件资源配置仅考虑近期的并发用户量,因此系统的架构必须考虑今后的扩容性,方法就是尽可能保持各系统的独立性。
经相关单位协调,初步达成基于云计算构架的部署方案,前期决定准备5台虚拟机用来部署数字常州地理信息公共平台。其中1台代理服务器,用nginx软件做后台服务的负载均衡和网站的代理;2台应用服务器,放置平台程序,部署网站;2台地图服务器,安装地图服务软件。后期还将分配若干台服务器,做服务器集群。其构架如图1所示。
图1 “天地图·常州”部署示意图
(1)nginx代理服务器
nginx(“engine x”)是一个高性能的 HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
(2)PostGIS数据库集群
PostGIS数据库集群可解决多个数据库服务器协同工作的问题,如在主服务器失效的时候备份服务器立即取代它的位置(高可用性),或者几台机器同时服务于同一个数据库(负载均衡)。
“天地图·常州”采用运行于Linux系统的pgpool-II集群软件来构建基于Linux系统的PostGIS数据库集群,从而提高了数据库的稳定性与可靠性。
(3)开源地图服务器GeoServer
开源GIS服务器GeoServer是OpenGIS Web服务器规范的J2EE实现。它的主要特点就在于轻便高效,尤其是信息搜索功能是ArcGIS Server速度的数十倍。利用GeoServer可以方便地发布地图数据,并允许用户对特征数据进行更新、删除、插入操作。它兼容 WMS和 WFS特性;支持PostGIS、Shapefile、ArcSDE、Oracle、VPF、MySQL、MapInfo;支持上百种投影;能够将网络地图输出为JPEG、GIF、PNG、SVG、KML等格式;能够运行在任何基于 J2EE/Servlet容器之上,是较为理想的轻量级GIS服务器选择。
“天地图·常州”是基于江苏省基础地理信息中心具有自主知识产权的网络地图发布平台(QuickMap2.0版)搭建的。QuickMap2.0 是一整套完整、开放,并可落地的云GIS解决方案,它提供了简便易用的部署方式,便捷灵活的开发手段,是QucikMap1.0的升级版本。
QuickMap2.0由多源地图服务聚合平台、分布式模块化客户端平台、网络信息整合平台、移动端天地图、开发接口5大部分组成。基于开源GIS服务器,具有轻量、高效、价廉的特点,兼具云端化、移动化、智能化、个性化和简捷化5大特征,能够与国家天地图等多源数据实现无缝对接,对于“天地图”工程在全省范围内的推广具有重要的意义。
QuickMap不但是多源空间数据的网络发布平台和空间数据的可视化、入库、格式转换、符号配置及网络发布配置的工具,而且兼容了ArcGISServer、Google map及天地图等多种空间信息服务的瓦片方案,实现了开源GIS服务与互联网地图服务的聚合。
QuickMap是“天地图”网站和电子地图运行的平台,采用分布式模块化客户端加载方式,与云平台结构充分契合,保证了软件的实时高效。
“天地图·常州”在研制过程中充分利用了Flex RIA开发中的模块和运行时共享库机制。这些机制确保模块和库可以方便系统不同部分的并行开发及客户端上高效的内存管理,简化了后台不同技术服务器端的开发和集成。通过将应用程序划分成模块,包括创建库及主应用程序的子模块,将项目设计成层次化的形式,开发和编译都可以在单个的分支中进行,主要优势在于优化客户端上下载和启动的时间。应用程序的一小部分可以预先下载到客户端,而剩下的部分可以在后端按需进行加载。此外,模块还可以被加载和卸载,以减少客户端上的内存占用量;模块化分布式项目的另一个主要优势在于它可以让开发过程更容易模块化,它允许开发人员在不同的模块和库上进行工作以避免开发团队的死锁发生。
QuickMap通过服务代理的方式实时获取网络多源异构的各种海量数据,并在后台进行处理整合和位置空间化,是应用专题(如团购、房产、公交等)的实时搜索平台。
出于对自身网站保护的目的,网站对网络上的链接会有一些限制,这些限制包括对XMLHttpRequest的限制。网络浏览器不会允许脚本对它本身所在的Server以外的服务器进行链接。如来自服务器的脚本在客户端的浏览器中需要对它以外域下的网络服务进行请求,那么就构成了跨域访问,浏览器会拒绝这样的服务访问请求。通常解决跨域问题有两种方法:一是采用代理的方式;一类是采用动态script标签的方式。本平台软件采用的是第1种方法。代理的方法是在服务器上安装配置一个代理,不用XmlHttpRequest去直接请求需要的网络服务,而让其先请求代理,由代理去请求网络服务,然后将结果返回客户端进行处理,这样就保证了XmlHttpRequest请求是脚本所在的服务器,数据也是从脚本所在的服务器中获取的。其架构如图2所示。
图2 网络平台架构
移动端天地图是云架构天地图的具体体现,支持各类主流移动平台。部署在如iPad、iPhone或安卓手机上的移动版天地图,不但可以实时获取云上的各种资源,随时随地地在线和离线应用,同时实现了本地化、分离式的处理方式,提高了移动端客户感受。
提供丰富的开发接口和快速灵活的开发方式,满足用户按需定制的个性化需求,并提供更加简捷化的开发方式,更简单的操作、更便捷的开发和更容易的部署,为GIS应用和开发带来前所未有的乐趣及更专业的效果。
“天地图·常州”采用B/S开发方式,提供基于互联网的公众版地理信息的查询、检索、地图浏览,及对电子地图的管理、维护,实现面向公众的地理信息服务。
门户网站采用 JavaScript语言 JQuery框架开发,部署在IIS服务器上,通过 AJAX技术与后台PostGIS服务器进行交互;电子地图基于Flex4.5平台进行开发,调取后台基于WCF框架的REST服务。功能模块框架如图3所示。
图3 “天地图·常州”功能模块框架
(1)门户网站
门户网站用于向用户介绍“天地图·常州”的概要信息,便于用户快速了解平台的地图和服务资源、示范应用、开发接口和新闻公告等信息,是“天地图·常州”全景展示的门户。
(2)地图浏览
提供电子地图的浏览功能,可以在矢量/影像地图之间进行切换,支持对POI信息的属性查询、空间查询和空间分析等服务,支持在线标注等个性化的服务。
(3)出行服务
提供热点地区、热门景点的快速搜索功能,以及驾车路线查询、公交路线与转乘查询、周边餐饮住宿搜索等功能,为百姓出行提供全方位服务。
(4)云共享
“天地图·常州”包含桌面版、IOS版和安卓版,Windows Phone版正在开发之中。无论在哪个版本的客户端应用中用户存储的图片、标注、图形等内容都将放到云上,并且在任何版本的“天地图·常州”客户端中都可以看到完整的用户操作信息,并可以选择和其他网友进行共享,增加了用户操作乐趣与感受,丰富了“天地图·常州”的内容。
(5)生活信息专题
“天地图·常州”实时获取各大团购、房产等商业网站的信息,在后台进行数据整合、整理与空间数字化,是各种类型生活信息的搜索平台,同时提供周边查询、最优路径查询、公交路线查询等辅助信息,为用户提供一站式的生活信息服务。
“天地图·常州”是数字常州的公众版地理信息服务平台,对于提供测绘地理信息公共服务、推动城市信息化进程、繁荣地理信息产业、维护国家安全意义重大。本文对“天地图·常州”节点建设的技术架构建设、软件平台建设进行了简要阐述,希望对其他“天地图”市级节点的建设提供一定的借鉴和促进作用。
[1]李思谕.“天地图·新疆”自治区级节点建设设计与实现[J].科技信息,2012(19):50-51.
[2]翟永,陈杰,刘磊.基于集群技术的“天地图”运行支持环境设计[J].地理信息世界,2011(4):15-19.
[3]刘彦军.基于“天地图·陕西”架构研究与设计[J].测绘技术装备,2011,13(4):23-24.