杨益文
(1. 上海市测绘院,上海 200063)
随着云计算、人工智能、大数据和实体经济的深度融合,新型智慧城市建设的加速推进,基础测绘的转型升级,新型基础测绘的快速发展和应用[1-2],地理时空大数据呈指数级增长,催生了庞大的地理时空大数据、空间信息服务和智慧城市专题应用建设需求。然而,目前的GIS管理定制平台处于独立分散状态,缺少统一高效的运维、管理、定制等后台支撑平台,满足不了智慧应用建设对地理空间服务管理和地图内容定制的需求。随着云计算分布式计算的普及使用,基于微服务架构的软件和服务开发日渐成为主流。它可将大型的单体应用或服务按需拆分成多个微服务,从而以快速灵活、轻便、松耦合的方式来构建复杂的应用[3]。本文将微服务架构应用于地理时空大数据平台框架的搭建中,实现了地图定制管理平台设计。方案以企业级GIS平台为基础,利用Spring Cloud微服务框架实现了微服务高内聚、微服务间低耦合,便于扩展,提升了平台稳定性、可用性、可靠性和可扩展性。
本文以地理时空大数据为依托,设计并开发了基于ArcGIS、Spring Cloud、Vue 和上海测绘院SMap JS API等技术的地图定制B/S管理平台,实现了地图实时定制授权和预览。其主要设计思路为:
1)对组织内的地理时空大数据按需按类型进行资源汇聚,建立地理时空数据库[4]。依托ArcGIS En⁃terprise 平台,将地理时空大数据按标准规范发布为多种类型的地理信息服务,如二三维地理信息服务、要素服务、地理处理服务、网络分析服务和标准OGC等。
2)基于Sping Cloud 微服务框架,分析地图定制管理平台的业务流程,并拆分为多个微服务,包括地图服务管理、服务定制授权、地图控件管理、地图控件定制授权等。
3)基于Vue 前端框架技术,结合后端微服务,实现安全认证、服务引擎管理、服务资源目录、服务定制授权、地图组件管理、组件定制授权、地图代理配置、服务监控等多组模块应用。
4)根据地理时空大数据应用对地图内容定制的需求,进行空间服务特性和地图功能定制,以满足用户多维度、多场景、多功能的应用需求。
本文采用的技术平台主要包括ArcGIS Enter⁃prise、Spring Cloud、Vue 框架和SMap JS API。ArcGIS Enterprise 是Esri 公司推出的新一代服务器GIS 平台,用户可在自有或云环境中搭建平台核心WebGIS 产品[5],提供了强大的空间数据服务管理、分析、制图可视化与共享协作平台能力。Spring Cloud是一种微服务架构风格,是一系列开源组件的有序集合。通过该框架设计理念,可将大型的单体应用程序或服务按需按类型拆分为多个微服务,服务之间采用简单轻量级通信机制相互协作和配合,并可按需弹性部署运行在独立进程中,为用户提供最终价值[6]。Vue是一套用于构建Web用户界面的渐进式Javascript框架,可简单快速构建前端界面,通过简单的API提供高效数据绑定和灵活的组件系统[7]。SMap JS API 是由上海测绘院针对地理时空大数据平台推出的可运行在手机、平板、计算机等设备上的JS 地图接口库[8],可调用GIS 平台地理时空空间资源服务,提供二三维一体化地图展示、空间分析、网络分析、地名地址搜索等功能,为地理时空大数据应用提供了更好的表达方式。
在信息安全、标准规范和运行管理体系下[9],平台利用已有的基础设施进行建设,旨在满足对地理空间大数据服务应用的定制需求,建设具有安全认证管理、地图引擎管理、地图服务管理、服务授权定制、地图组件管理、组件授权定制管理、地图配置管理和地图代理管理等模块的“松散耦合”平台。平台架构总体包括基础设施层、数据资源层、平台服务层和智慧应用层,如图1所示。
图1 系统总体架构
1)基础设施层提供平台运行所需的软硬件资源,包括服务器、存储设备、高速宽带、所需的运行系统和支撑软件,是整个平台基础运行的支撑。
2)数据资源层汇聚了整个平台的地理时空大数据,通过对数据进行清洗、转换、加载、存储、组织和整理,使之满足GIS 平台建设的数据标准和规范体系;再通过建立地理时空信息二三维数据空间库,对地理时空大数据进行统一入库、管理、存储和更新。
3)平台服务层。基于数据资源层的数据成果,结合专业GIS 平台,将平台已有数据成果转换发布为标准地理信息Web服务[10],便于地理信息服务使用和共享。根据数据资源情况,GIS平台提供了二三维地理信息服务、影像地图服务、要素类服务、地理处理服务、网络分析服务、地理编码服务和OGC标准服务等功能。基于微服务的地图定制管理平台可实现对GIS平台已有服务的统一注册、管理、认证、定制和授权,还可对地图组件进行统一管理、定制和授权,并提供基于权限的地图配置管理、地图代理服务等。
4)智慧应用层可根据微服务地图定制管理平台的地图服务和地图组件定制授权信息,快速构建满足面向行业地理时空大数据的智慧应用。
平台服务的调用统一通过微服务GIS GateWay 网关控制,需通过GIS Auth进行微服务认证,再进行业务流程调用。平台微服务业务主要包括空间服务(GIS Map Service)、地图组件(GIS Map Widgets)、地图引擎(GIS Server Engine)、地图监控(GIS Server Monitor)等。各微服务独立开发、部署和维护,并统一进行更新。根据应用性能需求,按需对微服务进行弹性伸缩集群部署,以满足用户对地图内容定制化性能的需求。GIS微服务调用流程如图2所示。
图2 GIS微服务调用流程图
目前微服务地图定制管理平台包括空间服务管理、地图组件管理、地图代理、地图配置、地图定制授权、定制内容预览等功能模块。这些模块可根据地理时空大数据的应用需求进行细粒度服务特性和组件功能的定制授权。
1)空间服务管理模块包括GIS平台引擎注册管理和空间服务注册等功能,可将GIS 平台作为空间引擎注册到平台中,注册为空间服务资源目录,并实现服务运行管理。
2)地图组件管理模块包括地图组件注册、定制和授权等功能,是平台的核心模块之一,可实现地图可视化组件配置、定制和授权,可将GIS 平台组件按照平台规范进行注册,也可按需进行地图组件开发定制,并注册到平台。根据用户需求,组合空间服务进行定制授权,满足地图组件功能应用需求。
3)地图代理模块为所有GIS平台空间服务提供了统一的代理出口。用户可通过代理服务的方式访问地理空间服务,实现所有GIS 平台与用户环境网络的隔离,保证后台GIS平台的安全性。
4)地图配置模块负责统一平台地图配置管理,实现地图API、地图代理、地图认证类型和获取方式的配置管理,并根据用户授权账号进行配置授权,以满足地图应用配置需求。
5)地图定制授权模块根据注册用户对地图服务和组件应用需求进行定制授权,可对服务特性进行定义,包括渲染方式、内容控制、可见性、透明度、安全控制、弹窗与弹窗模板、标注、子图层、比例尺和三维模式地形信息等。模块效果如图3所示。
图3 地图定制授权模块
6)定制内容预览模块。根据定制授权的配置结果,可通过在线地图模板实时查看预览、修改、编辑和调整。模块效果如图4所示。
图4 地图定制实时预览
1)微服务和地图定制授权相结合。本文将微服务架构设计理念、专业GIS 平台与地图定制管理平台流程业务相结合,构建了一个可靠稳定、可扩展、可移植、高内聚低耦合的地图定制管理平台。
2)地图定制和智慧应用的开发。地图定制可根据具体应用对地理时空大数据的需求进行内容定制,还可对地图交互组件进行功能定制,大大降低了业务系统地图内容展示的工作量,简化了业务系统的复杂度,使用户专注业务本身,节省了时间,降低了项目成本。
本文设计了一套基于Spring Cloud、ArcGIS Enter⁃prise、Vue和SMap JS API 的地图定制管理平台,通过实现地图内容的定制授权管理满足日益增长的对地理时空大数据应用的定制需求。平台采用微服务架构设计理念,将复杂的地图定制授权业务流程分解为多个职责单一独立运行的微服务,并实现横向弹性伸缩扩展部署,保证了系统的可靠性、可用性和可移植性,为地理时空大数据大规模定制应用需求提供了可靠的技术保障。