天津气象信息综合管理共享系统建设与应用①

2021-01-22 05:41赵玉娟武国良袁卫华朱男男姜罕盛
计算机系统应用 2021年1期
关键词:分布式气象天津

赵玉娟,武国良,袁卫华,雷 鸣,朱男男,王 艺,姜罕盛

1(天津市气象信息中心,天津 300074)

2(天津海洋中心气象台,天津 300074)

随着气象现代化建设不断推进,天津气象业务信息化水平显著提高,市区两级建设了多个业务系统,涉及观测、天气预报、环境预报、海洋预报、服务等多个领域,对于提升监测能力、预报服务效果发挥了重要作用.但由于缺乏顶层设计和整体规划,业务流程冗余、数据反复搬家、数据不一致等问题突出.此外,随着气象业务快速发展,气象数据增长迅猛,天津省级各类气象数据日增量接近TB 级,业务和科研希望存储更长时间序列数据的需求日益迫切.构建统一的数据环境,做好海量气象数据的管理和共享已成为天津气象发展亟需解决的关键问题.

气象数据涉及地面、高空、雷达、卫星、数值模式、服务产品等多种类型,来源广、格式复杂、数据量大,用户需求多样,气象数据的存储管理和共享一直是困扰业务和管理人员的难题,气象专家不断在探索气象数据存储管理及共享的技术和方法.

20世纪初期,国家和省级许多专家利用Web 技术、数据库提升气象数据存储和共享能力,并取得了一定进展,但都是独立开发、分散建设[1-3].为解决国省数据环境不一致,应用难推广的问题,2009年国家气象信息中心启动了全国综合气象信息共享系统建设(China Integrated Meteorological Information Sharing System,CIMISS),CIMISS 系统集数据收集与分发、质量控制与产品生成、存储管理、共享服务及业务监控于一体,采用统一的技术架构、数据处理标准和流程、数据存储规格和接口服务规范,在国省级两级部署[4],为气象部门用户提供了统一的数据环境.此后,各级气象部门专家开展了许多基于CIMISS 的研究工作.何林等[5]依托CIMISS 和本地数据库构建了面向业务一线人员的陕西省气象数据共享系统,实现了CIMISS 提供的地面、高空、农气等14 大类数据及陕西自有特色数据的对内共享服务.范保松[6]针对本省观测数据服务质量低下、存在“信息孤岛”的问题,设计并实现了河南省气象观测数据综合服务平台.李新庆等[7]基于CIMISS 提出了宁夏综合气象信息共享与管理系统设计与实现的思路,有效解决了省际气象数据汇交、标准化存储等问题.郭庆燕等[8]基于CIMISS构建了具备实时历史数据查询、数据统计及极端事件监控功能的服务系统.总体来看,以CIMISS 为基础,面向各地实际需求建设共享系统是近年来采用的主要方式.

CIMISS 业务化以来,在促进省级数据集约、共享方面发挥了重要作用,但随着气象数据种类和数据量的持续增长,单纯依靠传统集中式存储架构已无法充分满足需求[9].与此同时,大数据、云计算技术蓬勃发展,国家和省级气象专家纷纷开始探索新技术对气象数据处理效率、服务能力的提升方案,取得了良好效果.宋智等[10]采用分布式文件系统和分布式数据库对CIMISS 系统进行升级改造,有效改善了四川省级气象数据存储和并发响应能力.肖卫青等[11]提出了基于Hadoop 的地面观测资料统计分析效率提升方案.徐拥军等[12]利用分布式关系型数据库开展了海量气象站点数据的存储研究,发现分布式数据库在数据插入和检索方面都具有较好的性能,同时具有较好的可靠性、灵活性和扩展性.王建荣等[13]提出了分布式数值预报产品处理与存储系统的解决方案,为长时间序列数值预报产品的存储和检索提供了新思路.

本文针对天津气象数据特点及管理共享需求,结合技术发展趋势,基于分布式存储和WebGIS 技术,构建了集采集、加工处理、可视化展示、统计分析、数据服务于一体的气象信息综合管理共享系统,实现了天津气象数据的集约管理和一站式服务,文中对系统的设计思路、数据流程、关键技术、主要功能及应用情况进行了介绍.

1 系统设计

1.1 总体架构

天津气象信息综合管理共享系统致力于实现天津气象业务涉及的各类气象数据的统一管理,为市区两级气象业务提供更稳定高效的数据支撑,为各类用户提供一站式信息共享和服务.

为实现各类信息的统一管理、高效访问,在遵循CIMISS 数据标准和规范下,参考气象资料和气象要素分类编码标准,对天津气象数据资源进行梳理,制定了天津气象局数据存储规范,在CIMISS 基础上扩建分布式数据库和文件库,构建了天津气象大数据环境.

系统采用分层架构进行布局,逻辑上分5 个层次,针对5 类用户进行设计开发,总体架构如图1所示.

基础支撑层负责为平台提供计算、存储、网络资源及相关的软件支撑,依托天津气象局基础设施资源池实现.数据存储层负责气象观测数据、气象产品、业务管理信息、行业共享数据、互联网数据及GIS 数据、运行日志等信息的存储,依托CIMISS 和扩展的分布式存储环境实现;数据管理层负责实现数据的收集分发、解码入库、质量控制,按业务需求进行数据同步、加工、清理及为上层应用提供访问接口,依托CIMISS 和自建数据处理系统实现.展现交互层为天津气象数据的综合展示和共享门户,负责与用户进行交互,提供数据可视化展示及检索、统计等功能,通过WebGIS、图形、表格、数据下载、接口等形式实现数据的共享服务.

5类用户是业务人员、科研人员、管理人员、行业共享用户和开发人员.业务用户可通过平台的展示、统计功能快速实现对各类气象数据的分析;管理用户可通过平台发布管理制度、业务软件、质量通报等信息,在全省范围实现信息共享,也可通过平台展示的数据了解各业务系统运行状态;科研用户可利用平台的检索下载功能获取研究所需数据;对行业共享用户,能按照管理需求,为其提供定制数据的浏览;开发人员可通过平台了解数据接口使用方法,更快完成应用对接.

1.2 数据流程

天津气象信息综合管理共享系统的核心目标是实现各种资料的统一收集、加工、存储及共享,功能上主要包括数据收发、数据加工、数据存储管理、信息共享门户4 部分,数据流程如图2所示.

图1 系统架构

图2 数据流程

(1)数据收发系统:按照业务需求完成通信系统、业务平台、行业共享、互联网数据的收集或主动采集,分发给各业务系统和数据加工系统.

(2)数据加工系统:按照应用需求对数据进行格式转换、质量控制、加工、统计等处理,提交给数据存储管理系统进行存储.

(3)数据存储管理系统:根据数据特点存储至CIMISS 存储环境和分布式存储环境;定期对数据进行备份与清理;为加工系统和各类应用系统(包括共享门户)提供数据的调取服务.

(4)信息共享门户:响应用户操作,按照用户权限,为用户提供数据的综合展示、查询、统计及下载.调用数据存储管理系统提取数据,对于需要加工的,调用数据加工处理系统对数据进行加工,将加工结果反馈给用户.

1.3 关键技术

1.3.1 气象大数据存储管理技术

在CIMISS 基础上,根据本市气象数据特点和应用需求,运用Share-Nothing 架构[14]的分布式NAS、分布式数据库技术扩建分布式存储环境,提高数据访问性能.对于结构化数据,采用列式数据库Gbase8a 构建存储集群.鉴于Gbase8a 目前不支持主键约束,实时数据首先接入事务型数据库保障唯一性,再通过专用工具同步到Gbase8a.对于半结构化数据,采用HBase数据库构建存储集群,对于文件数据,采用分布式NAS集群进行存储.按照应用需求定期对各类数据进行清理,清理策略利用数据库存储保障灵活性,数据清理任务基于Quarz[15]调度.基于Quarz 的任务调度关键代码如下:

1.3.2 数据接口技术

通过建立数据访问接口,可降低数据环境和业务系统间的耦合度,保证数据使用规范性和可扩展性.

对于天津气象省级数据环境中的数据,封装了多个接口,供共享门户和其他业务系统调用,同时提供接口的在线服务,支持用户在线查看接口使用说明和测试,为快速实现应用对接提供支撑.CIMISS 系统的气象数据统一服务接口(Meteorological Unified Service Interface Community,MUSIC),为用户提供了多种形式的数据访问接口和应用编程接口,同时支持新增资料接口的配置发布[16].对于天津特色结构化气象数据的通用访问,基于MUSIC 实现数据接口配置与发布.对于HBase 及分布式NAS 中存储的数据,基于Swagger框架[17]实现接口文档自动生成和在线测试.

当应用系统需要获取要素级数据时,将检索条件(如资料代码、接口ID、时间、经纬度、要素等)提交给接口,接口从存储环境提取数据返回给应用系统,返回数据提供JSON、CSV、数组等多种形式.当应用系统需要获取文件时,将资料类型、时间、要素等信息提交给接口,接口将文件返回给应用系统.以下为调用接口获取自动站资料的关键代码:

基于MUSIC 配置特色资料接口的主要步骤:

(1)定义元数据信息,一是对于要按站点查询的数据,按照CIMISS 规范在省级自建关系型数据库中建立台站元数据表;二是连接到本省CIMISS 支撑库,增加新增数据字段定义.

(2)定义数据库,包括数据ID、数据库类型、数据库连接参数等.

(3)定义数据实体及数据表,即配置数据所在数据表、关联数据库、数据字段及是否有台站信息表等.

(4)基于MUSIC 系统的通用接口,筛选适合新增数据的查询接口发布.

1.3.3 Web 平台优化技术

利用多种技术手段,提高显示性能,改善用户体验,具体包括:应用并行计算技术提高WebGIS[18]显示速度;对于服务器端返回数据使用压缩技术,减少传输时间;对于返回数据量较大的统计页面,采用分页技术;对于自定义绘图功能,采用基于流的实时绘图技术代替传统的生成图片文件的方式.此外,对于系统栏目采用配置方式进行管理,提高其灵活性.

2 主要功能设计

2.1 数据存储架构设计

CIMISS 系统采用的Share Disk 架构受制于磁盘IO 瓶颈,性能难有大幅提升,在高并发用户数据请求时,查询时效变差.分布式存储将负载分担到多个节点,性能和扩展性更好[19].

针对本省需求及CIMISS 在数据访问方面的不足,引进业界先进存储产品扩建分布式存储环境.针对结构化数据的长时间序列历史数据存储检索场景,采用列式数据库搭建存储集群;针对智能网格预报、数值模式等半结构化数据,采用HBase 数据库;针对文件级数据,采用分布式NAS 系统.升级改造后的天津气象大数据存储环境架构如图3所示.

分布式NAS 集群由7 个专用服务器和内部高性能交换机构成,Gbase8a 集群由3 台服务器构成,HBase集群由3 台服务器构成,均可根据需求横向扩展.

分布式列式数据库较传统的行存储数据库,具备更高的压缩比,并行性高,仅检索和返回用户所需数据,因此,对长时间序列数据查询可提供更好的性能.

图3 天津气象大数据环境存储架构

对于非结构化数据,CIMISS 系统采用的是文件存储联合在关系数据库中建立相应索引和元数据描述信息的方式.其中的数值天气预报、智能网格数据具备经纬度、要素、高度、时间等属性,按时间、要素、经纬度范围等进行提取是业务中常用的场景,针对此类数据,搭建HBase 数据库集群保障性能并满足精细化查询的需要.

对于图片、视频、卫星、雷达等应用场景主要是文件整体访问的非结构化数据,引入分布式NAS对访问性能进行改善.相对传统的磁盘阵列,分布式NAS 支持NFS、SMB、FTP 等多种协议,访问方式更加灵活,各业务系统利用以太网即可访问,使用更加便捷.

2.2 数据集约存储范围和服务接口扩展

CIMISS 实现了全国通用数据和产品的集约管理,但是未将各省特色气象数据及业务所需的行业共享、互联网数据纳入统一管理.为了解决本省特色数据存储分散的问题,促进数据集约,依托新建的分布式存储环境对本省特色观测、质控、预报产品、行业共享数据、业务所需互联网数据等资料进行集中存储管理.

各业务平台制作的预报服务产品、加工的数据文件、图片等非结构化数据存入分布式NAS 集群,陆地、海洋、环境等智能网格预报产品存储至HBase 集群,本地特色观测数据、非常规观测资料、本地特色预报产品、行业共享数据、气象灾害资料等结构化数据进行要素级存储.

为方便用户获取集约存储的本地特色数据,对于新增的数据和产品,封装并发布数据接口.依托CIMISS的MUSIC 系统新增站点类接口395 个,基于Swagger发布格点数据访问接口32 个、文件访问接口218 个,新增接口详见表1.

2.3 信息共享门户

信息共享门户包括首页、实况监测、数值模式、智能预报、气象服务、数据服务、视频数据、管理信息等10 大模块,实现了天津气象业务所需观测数据和预报产品的综合显示,同时可满足数据服务、管理信息共享、系统管理、技术交流的需求.

表1 天津气象信息综合管理共享系统新增接口

(1)首页:由最新实况、栏目导航、常用栏目快捷通道、通知公告、全站搜索等功能组成.最新实况基于GIS 将当前最新的自动站、雷达、预警信息及降水、温度统计数据集成在一张图中,并提供自动刷新,为用户快速了解天气信息及服务情况提供了便捷途径,通过栏目导航、常用栏目快捷通道、全站搜索功能,用户可快速进入二级功能页面,获取更详细的数据.

(2)实况监测:包括自动站、雷达、云图、风廓线、城市边界层、大气环境、重要天气、站网信息等13 个子模块,显示内容涵盖了天津气象局的地面、高空、海洋的所有观测项目及天津气象业务所需的海河流域、行业共享、互联网观测数据,提供GIS、色斑图、时序图、表格等显示形式,用户可按站号、站名、站类、时间、区域、阈值进行数据筛选,图片、表格数据支持下载,对于业务最常用的自动站数据,提供GIS 综合分析、单要素统计、单站多要素叠加分析、24 小时变化趋势分析、历史数据对比等功能,单要素统计包括业务常用的1、3、6、24 小时及08-08、05-05 等固定时段统计和自定义统计,对于自定义统计支持实时生成色斑图.

(3)数值模式:提供8 类业务常用数值模式中国、华北、海河、天津4 个区域的产品展示,支持按时间、要素进行产品筛选,提供单图和邮票图两种显示形式.

(4)智能预报:提供天津智能网格预报产品的GIS、时序图展示.

(5)气象服务:提供天气、海洋、环境、决策、农气、气候、人影等预报服务产品的展示.除了常规文档展示及下载,对于业务常用的雨情公报和预警信号展示,增加了特色显示和统计功能.对于雨情公报,以日历直观展示各日降雨量级,点击日期可查看该降水过程各国家站的逐时降水详情,同时提供按时间段、降雨量级筛选降雨过程,提供近一周、近一月、近半年、近一年、入汛以来等时间段的降雨最多TOP10日期和站点统计.对于预警信号,可按时间段、预警类型、发布单位、预警级别统计发布情况,同时利用时序图展示预警演变、持续时间情况.

(6)数据服务:提供天津气象大数据环境的气象、行业共享及社会数据的在线查询和下载服务.服务方式包括在线检索、订单和接口服务等.

(7)视频数据:提供实景观测及会商视频展示共享.

(8)管理信息:各类管理制度、业务软件、会商PPT 等信息的展示共享.

(9)系统管理:包括角色、用户、菜单、文件等信息的管理功能,供系统管理员对用户、权限、系统栏目进行配置.

(10)社区论坛:供用户反馈系统问题及完善建议.

3 系统应用

3.1 系统应用

天津气象信息综合管理共享系统构建了统一集约的省级数据环境,为天津气象各类应用提供数据支撑,市、区两级的气象部门用户和行业共享用户可通过浏览器访问信息共享门户,共享门户显示数据来源于天津气象大数据环境,气象部门用户可通过FTP、共享、数据接口、数据订单等方式获取数据环境中的数据,数据环境存储内容涵盖气象数据、行业共享数据及天津业务所需的互联网数据,信息共享门户提供了相关数据的综合展示及数据下载.图4为基于GIS 的自动站数据展示效果,图5为智能网格预报产品展示效果,图6为雨情公报展示效果.

图4 基于GIS 的自动站数据展示效果

图5 智能网格预报产品展示效果

图6 雨情公报展示效果

3.2 效益分析

通过搭建分布式存储环境,建立统一的数据采集、加工、共享流程,扩展集约存储数据范围和服务接口,天津省级气象数据环境的存储容量和性能得到大幅提升,存储能力由几十TB 级提升至几百TB 级,为天津预报一体化平台、天津气象APP、决策服务平台等关键业务系统提供了更加集约、高效的数据支撑,7 大类36 小类本市特色数据实现要素级存储,网格数据访问性能提升4 倍,业务中最常用的自动站数据查询性能提升8倍,分钟级数据存储时长由数月增长至数年并可按需扩展.

4 结论与展望

天津气象数据综合管理共享系统构建了集约、高效的气象大数据环境及综合可视化展示服务平台,主要承担为天津各类气象业务提供数据支撑,为气象部门市区两级用户和行业共享用户提供实时监测数据、产品数据的综合展示、查询、统计服务,实现各类管理制度、业务软件、会商资料在全省范围的共享.系统基于分布式存储技术和WebGIS 技术进行优化处理,响应速度快、功能完善、界面友好,为气象监测预警、信息共享提供了良好的支撑,得到用户的一致肯定.接下来的研究工作是进一步扩充完善系统功能,提升数据支撑和共享能力.

猜你喜欢
分布式气象天津
如果天津有“画”说
气象树
守护天津卫 “疫”线显担当
《中国农业气象》征订启事
天津之旅
中国气象“风云”
居民分布式储能系统对电网削峰填谷效果分析
基于Paxos的分布式一致性算法的实现与优化
《天津之眼》
大国气象