帅向华 董翔 席楠 李继赓 李华玥
1)中国地震台网中心,北京 100045 2)山东省地震局,济南 250014
我国是世界上多地震国家,地震灾害严重是中国的基本国情(姜立新等,2011)。为此,国家在“九五”、“十五”、“十一五”期间投资建设了地震专业领域的以信息化技术为支撑的工程项目,各级地震部门在地震监测、震害防御和地震应急等领域开始向网络化、数字化迈进(黄昆,2008),使得我国的防震减灾能力得到跨越性发展和提升。但是,随着信息化工作的不断深入,各项业务工作所涉及的系统越来越多,而各个业务系统之间互无联系,独立建设,造成了一定程度的资源浪费与低水平的重复建设等现象,同时,大量的独立烟囱式系统也给系统运维带来很大的压力。随着信息化革命的第三次浪潮“大数据时代”的到来,传统的软件架构已经无法应对日益增长的数据和计算量的需求,各种分布式处理技术应运而生。其中,云计算由于其大规模、高可靠性、高可扩展性、按需服务等特点被广泛认可,并得到了大量应用(逄利华等,2014)。云GIS是在大数据平台的基础上,改变传统GIS平台的串行计算方式,其基于Hadoop分布式并行计算框架,采用并行计算、内存计算和二级分布式空间索引等技术,实现基于大数据GIS的计算能力(李三玉,2018)。大数据云GIS计算技术已经在多个行业应用,如利用大数据GIS进行出租房消防安全监管(徐刚等,2019),利用大数据进行农业精准施肥等(荆旭全等,2018)。
根据国家应急管理信息化发展战略规划框架和中国地震局信息化顶层设计,全面贯彻落实“智慧地震”发展战略,强化顶层设计,实现地震系统“数据资源化、业务云端化、服务智能化”总体目标,逐步解决“数据壁垒”、“信息孤岛”、“业务烟囱”等问题,探索大数据时代地震事业发展的新业态。地震信息化工程首先以中国地震台网中心为试点开展示范建设。中国地震台网中心承担全国地震监测、预报、预警、应急、信息化和网络安全、科技信息服务等业务,其业务的复杂性也具有代表性。在本次信息化试点建设中,以数据资源为纽带,信息化建设为手段,公共服务为目标,逐步打通各业务链条,推进集约化、标准化、规范化、信息化和智能化建设。项目在利旧的基础上开展地震信息化的建设,在建设理念上实现从技术驱动向需求带动转变、从各自为政向协同发展转变、从单纯建设向建管并重转变,主要从地震云计算和大数据平台、数据资源平台、全流程一体化监控平台、速报预警平台、信息服务体系进行设计和建设。其目标是实现地震基础设施资源、地震数据资源、公共服务平台资源的集中统一和共享共用,以及地震信息资源开放共享和普惠服务。
随着信息化工作的不断推进,信息系统数量不断递增,业务需求日趋复杂,迭代频率越来越高。信息系统经过分层解耦、微服务化以后,服务数量会明显增加,应用发布的频率、运维部署发布的工作量与复杂度会成倍增加。
针对信息化项目大规模服务集中部署、上线发布的场景,传统的软件发布部署方式存在操作复杂、效率低下、成本高、风险大等问题,难以适应系统“分层解耦、开放共享、敏捷上线、无感过渡”的应用需求。面向信息化建设的需要,亟须构建支撑敏捷上线的应用发布服务,将应用的需求、开发、测试、部署和运维有机统一,实现敏捷上线、持续交付的无缝集成。地震信息化共用服务平台的建设,就是为了解决以上问题而引入,将系统开发过程中需要用到的软、硬件资源作为平台服务统一提供,提高整个项目共用服务的部署和运维效率。
地震信息化工程划分为资源层、服务层、应用层。共用服务平台与信息化工程关系如图1 所示。其中,共享服务环境位于服务层,负责对资源的抽象封装及分类聚合,其中通用功能服务包括服务支撑环境、核心服务、共用服务等,实现资源向“云”汇聚,具备动态、弹性、按需分配的云服务能力,为应用层提供各类信息和服务支撑,是信息系统服务化技术特征实现的基础。对下层的云管理平台进行资源适配,实现多种基础资源的融合与服务化,对上层业务应用提供包含服务运行环境、数据库、中间件、GIS服务等在内的多样化云服务以及包含地图定制服务等在内的多种通用功能服务,支撑云应用的便捷化开发、自动化部署、智能化运维与弹性化调度。共用服务环境的业务服务部分内容,是在服务支撑环境、核心服务和共用服务所提供的云服务的基础上,利用通用的云服务,有针对性地提供各业务的具体功能,该部分实现了云服务的具体业务逻辑,是直接面向上层应用系统的纽带。本文内容仅涉及通用功能服务部分,如图1 红框所示。
图1 共用服务平台与信息化工程关系图
图2 共用服务平台共享资源服务中心
图3 共用服务资源中心架构
共享服务环境最终实现的目标,是通过建立一个共用的资源服务中心,实现软件资源共享、空间数据共享、通用服务共享。如图2 所示,汇聚各类基础地图数据和专业数据,实现数据的资源化,同时建立一系列的基础服务、通用服务和专业服务接口,实现业务的云端化,通过利用平台提供的共用服务支撑上层的业务应用,实现服务的智能化。
为了实现上述目标,设计共用服务资源中心,其框架如图3 所示,包括基础设施层、数据层、平台支撑层、服务层和应用层及部分内容。通过该共用服务资源中心的建设可以实现应用与服务解耦、服务组件逐层解耦、模型与数据解耦、GIS引擎与服务解耦、GIS引擎与数据解耦,从而实现基础服务资源的通用化,从而使上层应用能够方便地调用基础服务。
其中,基础设施层提供共用服务平台运行所需要的各类计算资源、存储资源、网络资源和安全设备资源;数据层通过多源异构混合存储,实现基础地图数据、地震专题数据、地震调查数据、地震专题数据和防震减灾数据的资源化管理;平台支撑层整合了大数据GIS平台、传统GIS平台和开源GIS平台,提供统一的GIS服务;服务层在GIS服务的基础上,根据具体业务流程,搭建统一的服务接口,实现基础地图服务、三维地图服务、评估分析服务、报告产出服务、安全管理服务、地图打印服务和专题模板服务等内容;应用层则在服务层提供面向用户的接口应用,实现应用服务的资源共享。
本文介绍的地震信息化工程共用服务平台,实现了共用服务资源中心设计的部分功能,其平台框架如图4 所示。包括服务支撑环境、应用支撑服务、平台管理与服务API、通用功能服务等部分内容。
图4 共用服务平台构成
平台所提供的功能基本涵盖了地震业务系统所需要的所有基础服务,将该部分内容作为共用服务平台单独建设与管理,可以降低分布式云应用的开发成本,实现应用的快速开发、交付和运维;通过提供一整套服务封装接入的流程、标准和接口,方便第三方服务高效封装接入,实现服务的统一管理。
1.2.1 服务支撑环境
服务支撑环境为各类服务化功能模块提供运行所需的基础环境,支撑服务的部署、运行、调用、组合与编排。具体功能如下:
(1)虚拟化适配
适配OpenStack云计算环境,提供物理区域、IaaS环境、可用分区和虚拟数据中心的管理,从而使平台具有管理各类基础设施层资源的能力。
(2)分布式集群管理
通过对虚拟化资源接口的适配,平台可提供自动化部署、高可用架构、智能资源调度等功能,实现计算资源的高可用。
(3)服务生命周期管理
在虚拟化资源的基础上,平台提供系统基础服务的生命周期管理功能,通过自动部署、配置、运行、监控等各类基础服务,实现敏捷开发、持续发布、快速上线、资源隔离、服务绑定、实时监控与故障恢复等管理操作。
(4)服务工厂
实现服务调度管理、服务实例管理及第三方服务接入。
1.2.2 应用支撑服务
应用支撑服务提供基础服务、大数据服务、数据库服务、中间件服务、GIS服务等内容,提供服务运行、管理和集成所需的基本功能。具体内容如下:
(1)基础服务
通过弹性主机服务实现基于负载的水平扩展和基于云主机规格的纵向扩展能力,通过负载均衡服务,提供通过软件实现的负载均衡功能,提升网络吞吐量和数据处理能力。
(2)大数据服务
大数据服务是一种针对海量(TB/PB级)数据的分布式处理服务,能够帮助开发者轻松跨越大数据分布式计算环境搭建、运维的技术门槛和繁琐工作,直接专注于数据分析、数据挖掘、智能分析等应用场景。系统包含了大数据处理的主流技术组件,如Zookeeper、HDFS、Yarn、MapReduce、Spark、Hive、Mahout等。
对象存储服务提供海量、安全、高可靠的存储服务,支持多种存储后端,包括NFS、HDFS、Swift、Ceph等;同时支持HBase数据仓库存储和Storm等流式计算框架,满足大数据计算的需求。实现从自动化部署运维、性能优化、资源隔离、资源调度、数据计算任务执行及跟踪等全部管理能力。同时提供分布式、高可靠、可容错的针对大规模流式数据处理的服务,实现从各种数据来源中连续捕获和实时处理海量数据,为应用提供流式计算任务的分解、执行、管理、监控、优化等功能。
(3)数据库服务
关系型数据库作为结构化数据存储的首选方式,以其完善的事务处理能力和ACID特性保证了数据操作的完整性和一致性,对于必须保证数据传输安全性的场景,首选传统关系型数据库作为结构化数据存储。平台提供PostgreSQL、MySql、KDB、Oracle、SqlServer等稳定可靠、可弹性伸缩的结构化数据库服务,支持多租户模式,支持单节点和高可用的部署架构,满足共用服务的需求。
平台提供非结构化数据库服务,如MongoDB、Cassandra等,MongoDB是一种基于分布式文件存储的高性能、可扩展、易部署、易使用的文档型数据库,Cassandra是一种高可靠、高性能、可扩展、实时读写、数据多版本的列式数据库服务,用于支撑海量结构化、半结构化数据的存储和实时访问。服务提供了包含环境准备、弹性伸缩、便捷使用、管理监控等方面的管理功能。
内存数据库服务是一种分布式、高性能、高可用的Key-Value缓存服务,平台提供Redis、Memchached等内存数据库,用于缓解对后端关系型数据库的访问压力,增强业务的并发处理性能。同时,内存数据库服务也提供了数据持久化功能,在保障高性能的同时兼顾用户的数据安全。服务提供了数据管理、监控、备份、恢复、伸缩、容灾等方面的全套解决方案,方便用户对服务实例进行使用和维护。其支持单例模式的主从架构和集群模式的分布式架构2种形式。
(4)中间件服务
提供Tomcat、Apache、Nginx、uWSGI等Web容器中间件服务,基于RabbitMQ、ActiveMQ、Kafka、Flink、Flume等消息中间件服务,Kafka、Flink等数据总线服务,Solr、ElasticSearch等搜索引擎服务,满足软件和服务开发过程中所需要用到的中间件的需求。
(5)混合GIS服务
提供大数据GIS服务和传统GIS服务的混合GIS服务,包括针对地理空间大数据进行快速浏览、分析和展示的大数据GIS服务,以及针对空间数据管理、空间分析和二、三维数据一体化展示的传统GIS服务。
1.2.3 平台管理与服务接口
平台管理通过面向服务对象的一站式管理控制台实现,提供开发指导、自动化申请资源和服务、自助式管理等功能。包括管理员控制台、服务控制台和开发者控制台3种形式,提供便捷易用的安装部署、系统优化、服务管理、运维监控等一站式管理功能。
服务接口包括统一的REST风格的标准化管理与服务API。内容包括平台管理类(例如平台基础环境、用户、权限、监控、日志等管理)和服务类(例如服务定义、服务配置、服务部署,以及服务实例的日常管理和使用等)。提供面向应用开发的一站式视图,打通应用生命周期的各个流程和环节,加速应用上线过程。用户可以通过调用 API 对资源、应用和数据进行统一入口的管理,实现对各种应用与服务的自动部署、快速操作、灵活使用和及时监控。
1.2.4 通用功能服务
通用功能服务将各类具体的地震业务应用所需的共用功能进行抽象封装,形成标准化服务,支撑上层服务和应用的快速开发实现,包括地图定制服务、统一认证、统一定位、融合通信、智能语音和智能语义等。
近几年,随着地震行业的快速发展,传统的手动、部分自动化的发布部署方式存在操作复杂、效率低下、成本高、风险大等问题。通过混合云资源编排技术、一体化运维系统架构和混合GIS服务技术,做到软件、硬件及数据资源高效利用与协作,构建云生态,支撑系统上云发布,为各类业务上云发布提供自动化流水线、制品仓库、基础组件、云资源适配、统计分析等服务,使得变更能够高质量、快速上线,从而落实“智慧地震”发展战略,实现“数据资源化、业务云端化、服务智能化”的总体目标。
系统的混合云架构是在不同云软硬件资源、存储资源虚拟化及混合云管理和云服务之间协同与运维的框架体系(薛磊等,2019)。资源编排分为计算资源编排和服务资源编排2个层次,计算资源编排主要是对各类服务器、存储设备、网络设备资源进行排列,以满足服务的计算资源需求,服务资源编排则依赖于计算资源,通过排列各服务组件的依赖性,以满足服务部署的需求。
在传统的软件架构中,资源编排的工作主要由系统管理员、数据库管理员和系统开发人员分工协作手工完成。在实际的生产环境中,一个业务的开通往往需要不同领域的专业人员投入大量的时间,操作繁琐且极易出错。这不仅造成大量的运维开销,也使得系统配置的变更也难以跟上需求的快速变更,导致各种运维和升级的困难。
平台采用的混合云资源编排技术,其统一资源编排调度能力可实现跨云的资源+中间件+业务系统+应用服务的可视化编排调度和一键自动化快速交付。同时还集成了DevOps产品提供对代码构建、代码检测、部署回滚、运行监控等操作的一站式交互服务。基于DevOps的理念设计,将开发和运维这2个领域合并,使团队以更高效的方式进行合作,实现工作流程上的无缝对接,有效减少发布任务的人工投入,显著提升了单位时间内的应用发布量,加快了应用的交付速度,提升业务价值(刘博涵等,2019)。该技术可以实现异地、异构全栈资源的管理调度和虚拟机/容器/物理机等资源的混合编排,支持可视化的组件操作流程与嵌套,实现复杂应用一键式部署,系统界面如图5 所示。
图5 地震信息化项目共用服务平台服务资源编排组件
图6 一体化运维系统架构
平台将系统开发过程中复杂的资源申请、环境搭建、服务调用、运行监控等功能集中整合,将所有共用服务系统在单一平台上进行统一管理。实现跨平台、跨应用的作业自动化调度与管理,建立基于流程的跨应用之间作业依赖关系并实现自动化运行。技术架构如图6 所示,其关键技术主要有以下内容:
(1)配置管理数据库
将配置管理融合到云平台的自动化管理中,负责全网资产全生命周期维护,解决数据不一致的问题,实现配置资源共享(相福民等,2017)。
(2)监控平台
对被管硬件、操作系统、数据库、中间件、网络性能、应用性能等关键组件进行故障预警、实时性能监控,并对出现的问题及时告警,方便用户及时查看及了解平台的整体运行状态。
(3)云自动化操作平台
以指令、虚指令、API的方式解决复杂的、繁琐的人为操作,释放人力,同时依托自动化手段和规则模版完成系统自愈、故障预处理。
(4)流程管理平台
IT基础设施技术架构库(ITIL)是一种运行维护管理方法论,可以有效地提高 IT资源 的利用率和服务质量,指导政府或企业高效、经济地运营信息化设备和系统等 IT资源(周娜等,2014)。依托信息技术基础架构库服务管理流程设计,通过实施事件管理、问题管理、变更管理、服务台、知识管理等,建立起以CMDB为核心、监控管理为驱动、流程管理为导向、自动化手段为辅助的自动化运维一体化平台。通过配置统一管理流程,提供一个统一的、一致的流程来管理IT基础架构中的各组件部分,确保所有配置项被正确的识别,并记录配置当前和历史状态,维护系统复杂配置的完整性,从而提高生产环境的稳定性。
(5)综合呈现
集运行、维护、登陆、操作、审计等功能于一身的一体化平台,规范并简化管理员的日常运维管理工作,提高运维效率和水平,实现运维操作的自动化、标准化、合规化。
(6)服务接口
将平台能力作为REST服务接口开发,供上层应用调用(王非等,2013)。包含服务实例相关的公共API,如实例的生命周期管理、规格升级、监控与告警管理、日志管理、配置管理、规格管理等。另外,每种服务还提供一些与服务内容相关的API,如关系数据库服务的账号管理、数据库管理、备份管理及数据库参数管理等。
地震业务应用GIS的场景较多,而且从20世纪90年代地震系统已开始使用GIS,因此存在较多基于GIS的业务系统。为兼顾原有GIS业务系统,同时,保证新建业务系统的功能和性能,本项目在GIS支撑系统的设计上采用混合GIS服务架构,将大数据GIS服务和传统GIS服务集中整合,进行管理与服务。大数据GIS服务主要针对数据分析量巨大且实时性要求高的相关应用服务,采用“大数据策略”,通过对空间大数据的分布式存储与计算,满足大数据GIS应用的服务效率,特别是涉及多图层叠加分析、地震模型评估分析等重型计算的计算效率,其适用领域为有海量计算需求和效率需求的场景;传统GIS服务针对常规性的数据与应用服务,其适用领域为兼容传统GIS的现有应用及弥补大数据GIS处理工具不足的场景。所有的应用服务通过统一的服务平台,对外提供服务。其架构如图7、图8 所示。
图7 混合GIS云服务架构
图8 面向GIS的地震业务新架构
(1)大数据GIS服务
空间大数据的体量大、数据类型多、结构复杂、分析能力要求高,已经属于海量数据的存储与管理的范畴,而传统的空间数据库引擎主要是将空间数据加入到关系数据库管理系统(RDBMS)中进行管理,这种模式已经很难处理超过TB级空间数据的存储和空间数据调阅和分析的需要。此外,面对纷繁复杂的数据分析应用场景,传统GIS平台无法快速响应、满足领导的决策支持需求。为了提升分析挖掘的性能,保障决策支持的时效性,迫切需要提高系统处理能力。
通过构建高性能云GIS引擎,采用并行计算、内存计算、多级缓存、动态调度等技术,实现GIS算法的并行化计算,提供满足云环境下超大规模空间地理信息数据的快速入云发布、浏览、查询和分析服务。其服务包括基础的空间分析功能服务和专题空间分析服务,提供叠加分析、缓冲分析、邻近分析、空间关系分析等基本空间分析功能,为救灾路线分析、居民疏散分析等业务应用提供基础。
(2)传统GIS服务
传统GIS服务提供空间基础信息服务,包括空间分析、3D、网络分析、数据互操作、地理统计等扩展模块功能,提供资源管理、信息服务、共享协同等方面的服务接口。通过传统GIS服务平台,可以利旧地将原有基于GIS的业务系统平滑迁移到云服务平台中。同时,由于目前大数据GIS服务处于起步阶段,而传统GIS服务已经发展得非常成熟,可以利用其丰富的地理处理工具和积累,弥补目前大数据GIS平台相关处理工具的不足,达到优势互补的目的。
(3)GIS服务接口与地图定制
通过混合云GIS平台的标准OGC服务,可满足专业级二次开发需求(范协裕等,2012)。平台可通过定制扩展开发能力,提供数据服务、功能服务、API接口服务和在线工具集,支持用户自定义开发,提供丰富应用和可视化模板,满足轻量级、个性化的在线应用快速构建服务。
在通用功能服务中,提供标准化底图服务、符号定制服务、专题模板定制服务、按比例尺规则定制服务、按行政区划规则定制服务、按幅面规则定制服务、地图数据资源管理服务和打印输出服务,满足共用服务平台对于地理数据的统一调用和标准化输出需求。
3.1.1 系统部署
地震信息化项目共用服务平台以中国地震台网中心为试点,目前共使用1台物理机和18台虚拟机进行部署。所有共用服务平台管控的18台虚拟机均在虚拟组织“共用服务”中进行统一管理,其架构如图9 所示。通过对接适配H3C的云平台接口,搭建异构的虚拟化管理服务系统,通过混合云资源编排技术实现各类服务和资源的自动化创建和配置,通过一体化运维系统实现系统服务的全生命周期管理,通过混合GIS服务系统实现大数据GIS和传统GIS应用功能的统一调用。
图9 系统部署架构
3.1.2 功能实现
通过平台的部署,实现了共用服务平台的资源申请、审批管理、系统概览、项目管理、应用蓝图管理、组件管理、系统配置和告警信息监控等功能。用户可以根据上层应用的需求,在共用服务平台申请相关的基础服务,系统可从资源分配、服务部署、开发配置、运行监控等全流程进行管理与配置,使得上层应用可以摆脱繁琐低水平的基础服务配置和运维过程,而专注于具体业务功能的实现,从而提高系统整体的资源利用率,降低维护成本,系统界面如图10 所示。
3.2.1 地震风险评估综合地情数据服务平台
利用共用服务平台提供的非结构化数据库服务、负载均衡服务、弹性主机服务和Web应用中间件服务,建立了面向全国的地震风险评估综合地情数据服务平台,通过平台所提供的基础服务能力,建立了稳定可靠、可横向扩展承担海量并发访问的数据服务平台,对综合地情数据进行集中维护与数据共享,系统架构如图11 所示。
图11 地震风险评估展示平台架构
通过建立综合地情数据服务接口,可供全国各省利用该服务建设适合本省的系统或与现有系统进行整合。地震风险评估综合地情数据展示平台界面如图12 所示。
图12 地震风险评估综合地情数据展示平台界面
3.2.2 地震灾害快速评估与辅助决策平台
利用共用服务平台提供的混合GIS服务,实现地震应急时灾情评估与辅助决策平台,通过大数据平台的GIS服务接口,建立复杂的地震评估模型,在地震应急时可以在大数据GIS平台进行并发计算,并可在传统GIS平台上进行地震应急产品的快速产出。平台高性能云GIS并行计算框架如图13 所示。
图13 高性能云GIS并行计算框架
图14 地震灾害快速评估与辅助决策平台界面
通过平台提供的系统接口,可以和应急信息的综合展示与发布平台进行对接,满足快速地震应急的需要。在实际测试中,基于云平台的系统模型计算7级左右地震需要10min,而单机版应急指挥技术系统采用相同的计算模型计算相同地震需要16min,效率提高约60%,系统界面与产出成果如图14 所示。
本文详细论述了地震信息化共用服务平台的设计、关键技术、系统实现和上层应用案例。利用混合云资源编排技术,实现共用服务的资源自动部署与服务交付,解决了复杂的云平台中资源分配、服务部署等复杂的系统配置与部署依赖问题;利用一体化运维系统架构,实现服务申请、应用开发、系统监控和全流程控制,解决了云平台复杂系统下应用的管理与监控问题;利用混合GIS技术,实现了大数据GIS与传统GIS架构服务的整合,充分利用2种平台的优势,提高整体的服务能力。最后,在共用服务平台提供的服务基础上,建立了地震风险评估综合地情数据服务平台和地震灾害快速评估与辅助决策平台的应用,验证了系统的服务能力,为上层应用的丰富提供了典型的示范。