APP下载

基于四川省级气象数据环境的行业用户服务

2021-12-30马艳军

气象水文海洋仪器 2021年4期
关键词:数据服务结构化客户端

江 蕾,马艳军,邱 玲

(1.高原与盆地暴雨旱涝灾害四川省重点实验室,成都 610072;2.四川省气象探测数据中心,成都 610072)

0 引言

四川省基于全国综合气象信息共享平台(CIMISS)—区域中心级系统,实现了实时历史资料一体化的存储管理,建立了资料收集、处理、存储管理和运行监视的业务系统及流程[1,2]。目前CIMISS已管理存储了地面、高空、卫星、天气雷达、数值预报等气象数据,地面资料还实现了实时历史一体化存储[3-5]。同时,基于现代预报技术方法与现代信息技术相结合的MICAPS(Meteorology Information Comprehensive Analysis Process System)第4版系统(简称MICAPS4)已经在四川省稳定运行了2 a以上,MICAPS4系统由MICAPS3的集中式文件库模式转换为非结构化分布式数据库模式,相比MICAPS3,MICAPS4系统容纳了海量的实时气象数据,同时数据读取性能优异,并且其服务器集群面向数百并发用户[6-8]。

目前西南区域机场用户大部分主要使用MICAPS3客户端为预报提供支撑与服务,但是在省气象探测数据中心MICAPS3系统已经基本停止运维。全省气象内网用户已经转到MICAPS4系统,但是基于网络和数据安全的考虑,核心区MICAPS4系统未向其他行业用户(西南区域机场、飞行学院等)提供服务[9]。同时随着气象数据和产品种类的增加,新增气象数据都会在MICAPS4系统中更新应用,因此机场等行业气象用户的数据服务首先基于MICAPS客户端的需求,同时需要满足对数据内容和格式的定制应用[10]。

标准的数据服务流程,包括数据收集或采集、数据处理与分析、数据应用与可视化等环节,数据质量贯穿于整个流程,每一个环节都会对数据服务质量产生影响[11-13]。

1 用户气象服务关键点

1.1 气象数据采集

省级数据环境集成了ORACLE数据库(结构化)、虚谷分布式数据库(结构化)和Cassandra分布式数据库(非结构化,MICAPS4分布式数据环境),并且实现了气象数据的冗余备份,其中地面高空数据的要素结构化数据和数值预报产品、卫星、雷达资料、服务产品的文件索引信息存储在ORACLE和虚谷分布式结构化数据库上,Cassandra分布式数据库上存储的数据为直接对接气象业务应用的非结构化二进制文件数据,包括了地面、高空、数值预报产品(包括集合预报产品)、卫星、雷达、服务产品和SWAN产品等[14-16]。对比以上3种数据库,性能由高到低排序依次是Cassandra数据库、虚谷数据库、ORACLE数据库;存储气象数据的完整程度排序依次是Cassandra数据库、ORACLE数据库、虚谷数据库,同时鉴于用户使用数据的习惯一般是在文件方面,因此综合考虑采用Cassandra数据库作为数据采集来源[17]。

数据采集源头确定后,其次为数据源采集方式。MICAPS4分布式数据环境的服务端利用分布式存储与分布式计算技术构建了海量气象数据环境MDFS,提供了数百并发级的数据应用,MICAPS4的分布式数据库Cassandra存储的数据已经基本囊括了整个气象应用所有的业务数据,这些气象数据来源于两部分,一部分来源于CIMISS的MUSIC接口(地面高空等结构化站点数据);另一部分来源于CMACAST下发和其他应用服务器的推送(模式产品、卫星雷达资料、服务产品等非结构化文件产品)[18,19]。而且MICAPS4系统服务端的GDS(Global Data Sharing全局数据共享,以下简称GDS)代理下载服务,为科研业务应用提供了数据接口支撑与服务,提供了从MICAPS4分布式数据库Cassandra提取所有气象业务数据的接口服务,除此,GDS还提供了对用户权限的控制,因此使用GDS作为行业用户数据服务的数据源应用[20]。

GDS代理下载服务的流程是首先用户或者客户端采用查询参数(请求的查询方式、气象数据类型、时次、物理量等信息)绑定HTTP请求的方式发送指令到GDS服务器,然后GDS服务器在分布式数据环境内启动多线程计算并将Cassandra存储的结果数据(非结构化二进制文件)返回给用户或者客户端[21-23]。

1.2 气象数据处理

数据的源头借助MICAPS4分布式数据环境,GDS接口可以实现随取随用,数据服务按照气象数据业务时间控制系统定时发送请求到GDS服务,服务请求内容为数据类型、物理量或者要素类型、物理量或者要素的层次或者高度、物理量或者要素时间、物理量或者要素预报时效等。

从数据采集来源处发送请求后GDS返回的原始数据结果为数据文件或者要素场,其中数据文件为二进制文件,物理量的要素场数据是类似于JSON风格(经纬度点:气象要素值形式)的数据,这些原始数据的可读性以及可应用性差,因此需要对二进制数据或者要素场数据进行解码、组装与应用才能对外提供数据服务。

对于地面高空数据,GDS提供的接口服务下载到的数据为二进制数据,参照MICAPS网络存储的数据格式和网络传输的数据格式,使用PYTHON对二进制数据进行解码或者组装成标准格式数据(MICAPS的diamond文本数据格式)。目前基于数据中心网络核心区安全考虑,西南区域气象行业用户(西南区域机场、飞行学院等)仍在使用MICAPS3文件库模式的客户端,因此数据解码和组装数据的标准格式来源于MICAPS3数据文件标准格式。目前对外服务的产品,主要是地面数据和数值模式数据,第3类数据格式(地面)、第4类数据格式(格点产品数据)、第11类数据格式(格点矢量数据,主要是风场等)是常用的MICAPS3数据格式。

1.3 气象数据应用

应用系统之间的数据交互方式(数据传输)有3个要素:传输方式、传输协议、传输格式。传输方式主要有:SOCKET方式、ftp/文件共享服务器方式、数据库共享数据方式和消息方式。

文章有关数据推送方面的需求就是通过内网隔离的行业区网络,实现大量标准格式气象数据文件产品推送,并且数据推送具有时间不确定性以及数据种类繁多、数据即推即走、多进程运行、历史记录可查、断点续传等特点。

基于以上的数据推送要求,遴选各种ftp工具,最后采用lftp实现标准格式数据的推送服务,lftp是在LINUX和WINDOWS操作系统下应用的FTP工具(也被称为FTP客户端),并且它是一个基于命令行的文件传输软件,除了FTP协议外,它还支持FTPS,HTTP,HTTPS,HFTP,FISH和SFTP等协议。该程序还支持FXP,允许数据绕过客户端直接在两个FTP服务器之间传输,这是选择lftp作为数据推送客户端的主要原因。

2 用户气象服务系统模型

系统按照配置文件配置具体数据的资料时间启动应用,组装查询参数(包括气象数据类型代码、物理要素代码、年月日小时等时间参数),然后将HTTP(get)请求到MICAPS4海量气象数据环境中,利用GDS代理下载服务首先查询数据文件列表,如果列表数据不为空则依据MICAPS4网络数据存储与传输格式中定义的有关标量和矢量数据的编码规范对文件列表最新的文件(二进制文件)进行protocol反序列化解码重组形成可读的MICAPS3格式数据,最后利用lftp的镜像、断点续传、多进程传输功能将输出结果文件推送到目的地址完成此类气象资料的数据服务。

目前存储的气象数据除雷达卫星数据外大部分都可以使用上述流程实现数据服务,雷达卫星数据采用的是省级气象系统直接推送或者用户通过工具下载的方式实现数据服务。

从系统的配置出发,数据服务的内容包括配置存储产品的数据类型、数据频次、标准数据文件格式、在分布式数据库的目录路径、推送分发地址、推送用户名密码、推送路径等信息,以上信息在存储中是唯一的,只要数据存在,数据即可服务,最后配置文件加载到内存里定时运行即可实现实时数据服务。

3 结束语

1)对比目前的多源省级气象数据环境,采用MICAPS4系统的分布式海量数据存储作为底层数据源对外提供数据服务,不仅可以增加MICAPS4分布式数据库的有效利用而且底层数据源高并发性以及读取高性能使数据服务的效率有了很大的提升;

2) 利用MICAPS4分布式海量气象数据环境提供的GDS查询服务接口,基于HTTP协议实现的数据采集应用可实现MICAPS4分布式数据库中所有气象数据的多线程下载;

3)利用LFTP的命令补全、历史记录、多个后台任务执行、书签、排队、镜像、断点续传、多进程下载等功能,实现多种类、多时次、多维度气象数据的推送服务;

4) 随着气象数据和产品种类的增加以及MICAPS4系统数据的更新,基于MICAPS4系统的气象行业用户服务随时可以基于配置更新达到气象数据即到即服务的效果。

猜你喜欢

数据服务结构化客户端
你的手机安装了多少个客户端
大数据时代高校图书馆数据服务的困境及优化路径
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
地理空间大数据服务自然资源调查监测的方向分析
基于数据中台的数据服务建设规范研究
改进的非结构化对等网络动态搜索算法
深度学习的单元结构化教学实践与思考
结构化面试方法在研究生复试中的应用
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
数据服务依赖图模型及自动组合方法研究