朱 亮,夏正龙,钟艳雯,吕冠儒,欧阳计跃
(湖南省气象信息中心,长沙 410118)
根据基层气象灾害预警服务能力建设指南的要求,湖南省气象灾害预警服务一体化平台基于云端技术架构,采用B/S框架,以气象站点观测数据为基础,GIS地图为依托,各类防灾减灾业务人员信息、各类气象防灾减灾数据为素材,湖南省级CIMISS(全国综合气象信息共享平台)、MICAPS4(气象信息综合分析处理系统)、灾情直报系统数据、遥感影像数据、天衍雷达产品、湖南短临智能一体化平台、突发事件预警系统,具备“数据综合显示分析、超阈值自动报警、气象防灾减灾服务产品制作、预警服务信息发布、系统自动留痕、服务信息监控”等功能,支撑基层气象防灾减灾其他“五个一”,是基层气象灾害预警服务不可或缺的工具。
气象大数据云平台具备海量数据存储、全业务贯通、高效的数据应用能力,支撑各类气象应用的云化融入,是推进资源整合、流程再造,发挥数据聚集规模效应,实现业务集约高效的关键,是促进形成“云+端”业务模式新格局的核心软件技术平台。目前,湖南气象大数据云平台正式上线,投入业务试运行,实现数据管理、加工处理、应用服务的高度集约,具备直接支撑应用云化改造的能力。各级气象部门技术人员基于气象大数据云平台开展相关研究,山东基于省级气象大数据云平台,研究系统架构、功能以及实现的关键技术;青海基于气象大数据云平台的气象数据统一访问接口,总结了CIMISS和大数据云平台数据服务接口的差异;交管风险管控平台应用融入气象大数据云平台,从数据资源、存储、计算、网络、数据加工流程、算法、应用融入等方面都提供经验和思考。本文按照气象业务技术体制改革要求和《气象信息系统集约化管理办法》,遵循“天擎·湖南”相关技术规范,进行气象灾害预警服务一体化平台云化改造,为推进“云+端”的气象业务体系积累技术经验。
气象灾害预警服务一体化平台云化改造主要包括“云”的融入改造和业务系统“端”的融入改造。
(1)“云”的融入改造。“云”的融入改造包含IaaS层、PaaS层的融入改造。IaaS层融入:一体化平台运行所需的计算、存储等基础设施资源由气象大数据云平台提供;PaaS层融入:气象大数据云平台提供实现气象灾害预警服务一体化平台应用所需数据,提供管理和访问的视图,包括气象大数据云平台已有数据回写的数据。
(2)“端”的融入改造。应用端融入改造包括实现气象灾害预警服务一体化平台前端应用与后端管理的改造,包括指导产品、预警服务、一张图、业务管理等模块改造。
气象灾害预警服务一体化平台按照“天擎·湖南”的技术规范,实现应用融入“天擎·湖南”,展现完整的“云+端”业务模态,所有涉及与用户交互的功能都由“端”实现,包括后端管理和前端应用。“端”接收用户交互指令后发出请求,后续动作均由“云”完成,如:任务调度、产品生成、数据存储等,并返回结果给“端”。“云”与“端”之间通过接口实现。
气象大数据云平台提供数据、计算、存储以及软件服务等,如图1所示。一体化平台云化改造内容主要包括:采用PostgreSql数据库存储空间地理信息;采用虚谷数据库存储气象防灾减灾数据、系统参数配置等数据信息;采用Redis数据库存储缓存信息等;采用NAS方式存储平台自用气象业务指导产品等非结构化数据;前端应用通过Docker容器进行部署。平台改造所需资源,均由“天擎·湖南”提供。
图1 气象灾害预警服务一体化平台云化改造架构Fig.1 The cloud transformation architecture of Hunan Province Meteorological Disaster warning service integration platform
气象大数据云平台是CIMISS的增强版,沿用CIMISS服务接口标准;沿用了CIMISS中资料代码、接口代码和参数名称等信息;在客户端调用、RESTful API调用、脚本调用方式上也与CIMISS服务基本一致。一体化平台改造之前涉及的地面数据取自于CIMISS接口,只需将CIMISS的API用户切换到天擎服务接口的API账户,使用天擎服务接口即可完成云化改造。
PostgreSQL是一个功能强大、源代码开放的客户/服务器关系型数据库管理系统。PostGIS是PostgreSQL的空间扩展模块,提供了空间对象、空间操作函数和空间操作符等空间信息服务功能。PostgreSQL的空间数据存储机制是将地理空间数据的结构化属性数据以关系表的形式存储到空间数据表普通列中,在PostGIS支持的Geometry加入空间数据表中作为其一列,将地理空间数据的非结构化的空间数据构成Geometry对象作为该列的值,实现空间数据和属性数据的统一存储。一体化平台的一张图、预警服务功能需要支持地理信息数据在地图上叠加、点选、圈选的突出显示功能,如图2所示。采用新增PostgreSQL管理站点信息、流域信息、乡镇街道信息等地理信息,将地图上选择的信息直接存储到空间数据表。
图2 地图区域突出显示Fig.2 Map areas are highlighted
虚谷数据库采用关系模型数据库,提供标准的SQL92语法,兼容Oracle语法,完全自动的分库分表策略,将数据均衡分布到各个节点,具有较高的读写时效,机制成熟、可靠;提供强大的数据定义语言及数据操作语言,适合对站点数据的存储和管理。天擎提供虚谷关系型数据库,支持应用构建时对元数据和配置信息的存储。一体化平台利用虚谷数据库存储的内容包括两大类:
(1)气象防灾减灾数据,包括中小河流、山洪沟、中小学校、山塘水库、旅游景区、预警发布设施基础信息等。
(2)系统参数与中间结果信息:操作记录表、登录日志、系统日志、角色表、用户信息表、群组信息表、强降水监测警报信息表等。
一体化平台采用Redis内存数据库储存用户信息、登录缓存信息以提高网页访问速度。Redis是一个基于内存的键值型数据库,具有存取熟读快速、一致,消除I/O瓶颈,存取时间易于预测等优点。天擎提供Redis内存数据库,支持应用进行配置信息和中间结果的缓存,主要用来保存不同用户登录缓存信息。单个用户登录信息包括经纬度、地市、用户单位、用户名、登录密码、用户级别、IP、登录时间以及登录访问功能模块等相关信息。
一体化平台模式预报、预报支持以及指导产品模块涉及到大量的图片、文本类型的非结构化气象数据存储和读写。结合具体情况,服务指导产品采用分布式NAS进行存储。按照天擎对共享存储的文件系统一级目录的规划,按要求将其挂载在本机,像使用本地盘一样访问NAS的对应目录,通过在文件名中提取索引信息,存入到天擎文件索引库并将文件实体存在分布式NAS,直接应用天擎提供的应用程序配置和对应的索引策略。
Docker容器服务可以提供给开发者轻量级开发环境和各种应用程序的运行环境。开发者可以打包应用以及依赖包到一个带有启动指令的项目镜像中,在任意服务器创建一个容器,让镜像在容器内运行,从而实现项目的部署。Docker容器能够使进程和资源相互独立,容器完全使用沙箱机制,服务器就是容器的宿主机,容器与宿主机之间是相互隔离的。容器计算具有安全可控、简单易用、协议兼容、高效可靠的优势。“天擎·湖南”提供Docker容器服务,一体化平台应用开发采用Vue架构,是一套构建用户界面的渐进式框架,分前端和后端,采用Docker方式部署Vue项目。一体化平台端改造分前端应用与后端管理。实际部署过程中,一般先部署后端,再部署前端。
湖南省气象灾害预警服务一体化平台云化版本投入业务化运行。平台包括模式预报、预报支持、指导产品、预警服务、一张图与业务管理等功能模块。预报支持产品、模式预报以及指导产品等数据由NAS存储管理,如图3所示;自动站降水等数据从天擎接口获取,用户登录信息由Redis提供支撑,乡镇、河流、流域等信息通过PostgreSQL管理,其他平台的元数据以及系统配置等由虚谷支撑,如图4所示。
图3 预报支持产品Fig.3 Forecast support products
图4 自动站降水Fig.4 Automatic station precipitation
结合大数据应用平台的技术能力,一体化平台在充分利用硬件、数据、接口、存储、软件服务的基础上进行云化改造,湖南省气象灾害预警服务一体化平台已融入大数据云平台。平台集预报展示、预警产品制作、预警发布于一体,加强了基层气象防灾减灾科技支撑,提升基层气象业务人员工作效率,提升了基层防灾减灾能力,对其他业务系统应用融入具有示范、探索作用,对推进本省“云+端”的气象业务体系起着积极作用。