大气科学论文

您当前的位置:学术堂 > 物理论文 > 大气科学论文 >

气象大数据云计算平台系统建设分析

来源:电子技术与软件工程 作者:陈晴高婷杨明吕梁
发布于:2019-08-02 共4716字

  气象大数据平台的设计及应用

  摘要:本文讨论了气象大数据平台的设计及应用方案。通过开展气象大数据平台的研究, 合理选择数据存储模型, 实现气象数据的分布式存储问题。采用分布式应用服务和云计算技术, 构建平台的总体框架, 在统一的框架下, 形成分布式应用服务框架, 实现气象数据的共享服务。采用新的前端展示技术和预处理技术改善平台显示效果, 实现气象数据的可视化。基于气象大数据平台, 将浙江省自动气象探测信息业务服务成功迁移到云平台, 为其它业务应用系统上云工作提供经验。

  关键词:大数据平台; 数据存储模型; 分布式应用服务; 可视化;

  作者简介: 陈晴, 硕士研究生。工程师。主研领域为计算机网络技术, 高性能计算, 气象数据加工处理;

  为推进气象工作稳步提升与发展, 浙江气象局以科技创新为核心, 已经建成涵盖气象信息服务、气候资源开发利用、城市环境气象服务、海洋气象服务、气象工程技术服务等气象应用开发研究的众多信息化系统, 实现了气象工作的信息化和自动化。浙江省气象局经过多年的信息化建设, 目前由于系统众多, 独立部署, 各系统的数据标准、业务规划、系统功能尽不相同, 相互关联度不够, 造成了气象工作的精确分析和预测的工作瓶颈。为解决上述问题, 开展气象大数据云计算平台研究, 合理选择数据存储模型, 设计云数据存储结构解决平台的大数据存储问题, 采用分布式应用服务和云计算技术, 构建平台的总体框架, 在统一的框架下, 数据、业务、应用服务分离, 形成分布式应用服务框架, 采用新的前端展示技术和预处理技术改善平台显示效果, 逐步实现信息化建设的统一规划, 提高气象服务的社会效益和经济效益, 为浙江省气象局自我提升提供有力支撑。

  1 系统体系结构

  气象大数据平台基于SOA架构进行设计, 可分为四个层次基础层 (IaaS) 、数据层 (DaaS) 、平台层 (PaaS) , 应用层 (SaaS) 。如图1所示。

  1.1 基础层 (IaaS)

  通过数据中心私有云资源平台提供统一、稳定的运行环境, 为上层的各类服务提供存储、计算和调度等方面的底层支持, 通过对数据资源的统一规划, 实现资源的集中存储、数据共享。

  1.2 数据层 (DaaS)

  将来自单方、多方的数据源, 通过机构前置机和业务前置机按需的配置, 在数据服务总线中, 通过输入队列、计算队列和输出队列的方式完成业务数据服务, 同时包括调度管理、计算中心、审计管理、安全管理和日志管理等功能。

  1.3 平台层 (PaaS)

  基于上云中间件和应用平台服务, 采用应用SOA服务化的核心框架方案, 提供高性能的NIO通讯及多协议集成、服务寻址与路由、软负载均衡等功能, 实现应用间的松耦合, 提高服务的复用能力。构建共享服务中心, 迅速实现多变的业务需求。薄应用, 厚服务, 让IT系统沉淀共享资产, 让新需求基于共享服务层快速生长。

  1.4 应用层 (SaaS)

  基于平台层PaaS的微应用共享服务中心, 快速构建气象SaaS应用服务, 包括数据服务和应用服务。

  2 功能设计

  2.1 气象数据的分布式存储

  2.1.1 制定省级气象数据资源标准与应用规范

  在中国气象局气象信息化标准体系框架下, 以CIMISS数据接口标准为基础, 发展和完善本省特有的共享数据服务接口标准, 补充制定浙江省省级面向行业的统一数据格式标准与业务应用规范。

  2.1.2 梳理数据资源

  以《气象要素分类与编码》标准为基础, 对本省的数据资源进行梳理, 编制本省数据共享清单, 并提供观测、监测、和预报服务数据共享。

  2.1.3 统一存储策略

  气象数据具有大容量、高速增长、维度高、实时性高、存储时效长等特点。气象数据的类型多, 具有结构化数据和非结构化数据的特征。针对不同的气象数据类型, 采用不同的分布式数据库系统存储分析。

  气象结构化数据采用分布式关系型数据库作为存储介质。气象探测数据、气象历史数据、实时运行数据、气象精细化站点预报数据、气象元数据等都属于结构化数据。分布式关系型数据库通过原来的集中式关系型数据库中的数据分散存储到多个网络连接的数据存储节点上, 获取大存储量和高并发量。

  气象非/半结构化数据采用分布式文件系统和NoSQL数据库两种方式存储。

  (1) 分布式文件系统是实现非结构化数据存储和海量结构化归档数据存储的主要技术, 基于分布式文件系统的存储框架在保证存储容量横向扩充的同时, 能有效支撑海量非/半结构化数据分析的需求。雷达产品、气象卫星产品、预报和服务产品等非/半结构化数据可采用分布式文件系统集中存储。分布式文件系统是运行在通用硬件上的分布式文件系统, 通过高效的分布式算法, 将数据的访问和存储分布在集群中的各个服务器中。

  (2) NoSQL数据存储一般采用面向列的存储方式, 其存储结构保证了数据表的列可扩展性和读写I/O的高吞吐性, 更加适合气象云数据环境中数据表的字段扩充特性和密集型数据分析应用, 避免了后续表结构改变带来的维护压力, 有效提高密集型数据分析的吞吐性能。基于NoSQL的列式数据存储, 往往把同类型的数据放在一起压缩, 由于数据有共性, 因此可获得较大的压缩比。NoSQL可以采用KeyValue存储结构, 结构化数据需要转换成KeyValue格式进行存储, 同时支持压缩编码, 有效减少I/O损耗, 提高数据吞吐量。根据实际应用需求, 还可以为NoSQL建立次级索引。NoSQL数据存储用于存储从各异构数据源抽取的海量结构化数据, 采用分布式和多副本的存储方式, 有效减少单点故障影响全局数据的安全的问题。NoSQL数据存储的存储容量扩充采用横向增加存储节点的方式, 在存储容量获得扩展的同时, 能同时提高计算性能。存储节点间可自动负载均衡, 支持PB级的结构化数据存储。

  图1:气象大数据平台整体架构

  图1:气象大数据平台整体架构   下载原图

  图2:云上系统架构图

  图2:云上系统架构图   下载原图

  2.2 气象数据的共享服务

  气象数据共享服务在功能分布上主要有七大模块:数据服务化、数据资源目录、数据汇聚服务、主数据管理、非结构化数据、数据支撑和大数据体系等。

  (1) 数据服务化, 依据标准的服务发布订阅规范, 将内部的数据服务资源对外发布数据共享服务, 供上层应用调用。

  (2) 数据资源目录, 为数据服务资源实现分类管理, 并对数据源、元数据等资源实现标准化管理, 为数据服务提供资源库。

  (3) 数据汇聚服务, 云上的大数据集成服务平台Base开发数据ETL任务, 编写相应的数据同步、抽取、清洗转换脚本, 并对影响数据的质量的异常数据进行集中管理。

  (4) 主数据管理、维护统一核心业务运行数据, 可将主数据依据数据服务规范发布相应的数据服务。数据建模, 依据业务应用需求为数据主题建模, 并将结果数据回写到数据生产区和分析区, 对外发布相应的数据服务。

  (5) 非结构化数据、存储文件源数据信息, 构建文件的全文检索, 对外提供相应的检索服务。

  图3:DRDS的数据拆分图

  图3:DRDS的数据拆分图   下载原图

  (6) 数据支撑、为上层数据服务及协同提供相关技术组件支撑。

  (7) 大数据体系建设:构建包括数据来源、主题模型、数据仓库、应用集市、数据管控和数据服务的大数据服务、管理体系。

  2.3 气象数据的可视化

  气象数据可视化分析采用HTML、CSS、JavaScript等技术, 分别负责前端网页的内容结构、网页的布局和网页行为和功能。WebGIS负责实现在互联网平台上进行地理信息发布、交流协作和数据共享, 依靠JavaScript和WebGIS的结合, 实现地理信息文件和数据库中数据的动态显示效果, 提升显示速度, 加强用户与平台的交互。引入高德地图改进地图框架、地图引擎和结构, 加快地图显示速度, 极大优化地图的展示效果。利用后台分布式云存储技术和平台显示的集约化功能, 对数据采用预处理技术, 将大批量数据的计算处理从前端转向后台, 减小客户端压力。

  3 应用实例

  浙江省气象探测系统APP是构建云上灵活开放的体系架构、坚持满足原版功能所有需求, 实现该应用云上重构之后和大数据平台的无缝连接的成功案例。使用负载均衡服务 (SLB) 实现系统的高可用, 使用程序或中间件部署在弹性计算服务器 (ECS) 上, 数据库服务放在分析数据库服务 (RDS) 上分担读数据的压力, 使用开放存储服务 (OSS) 存储文本、视频、图片等。其云上系统架构图如图2所示。

  3.1 数据层改造

  根据浙江省气象探测系统APP数据层的特点, 其改造分两种情况:OLTP和OLAP。

  3.1.1 OLTP类关系数据库架构改造

  针对浙江省气象探测系统APP业务压力 (数据库访问压力) 伴随时间推移, 访问量不断增大的特点, 单个RDS的读写已经无法满足业务访问请求。基以此, 对OLTP类关系数据库架构改造, 主要从如下三方面考虑:缓存:使用缓存系统 (OCS) 分摊读压力, 通过缓存热点数据来提供快速访问;读写分离:考虑对数据库改造成读写分离的应用架构, 浙江省气象探测系统APP采用RDS读写分离机制进行改造;数据拆分:考虑到RDS容量不超过1T的限制, 以及数据库单实例的性能限制, 当数据库的单实例存储空间无法满足或写入的TPS接近数据库能力上线时, 数据库通常需要做Scale up与Scale out拆分, 实现根据不同业务拆分到不同库。利用云平台提供的分布式数据库服务 (DRDS) 使数据库拆分对应用相对透明。图3就是DRDS的数据拆分。

  3.1.2 OLAP类关系数据库架构改造

  浙江省气象探测系统APP采用联机分析处理 (OLAP) 类型系统支持复杂的分析操作, 满足根据分析人员的快速、灵活地进行大数据量的复杂查询处理, 并直观地将查询结果显示出来。

  浙江省气象探测系统APP属于中型规模实时分析系统, 因此OLAP系统面向数据存储规模在50TB级别, 单表记录数达到千亿级别, 云平台提供分析数据库服务 (ADS) , 实现对海量数据实时高并发在线分析 (Realtime OLAP) 的云计算服务, 实现数据的快速响应, 直接嵌入业务系统为浙江气象局提供服务。

  3.2 接口层改造

  系统接口请求、响应, 遵循Restful设计改造, 其中包括降雨量、温度、风、能见度、天气、气压、湿度、蒸发、地温、各层日最低气温、自动降雪观测、降雪加密观测、雷电、海洋浮标、交通站、分钟实时材料、正点以来统计值等涉及到的接口。

  3.3 应用层改造

  3.3.1 负载均衡改造

  原浙江省气象探测系统APP中WEB服务器、应用服务器搭配硬件设备F5, 实现后端服务器负载均衡。上云时需要改造为云上负载均衡服务 (SLB) 。云上SLB服务支持TCP、HTTP、HTTPS等三种协议实现流量负载均衡, 同时支持自动对服务器进行健康检查, 自动屏蔽异常状态的服务器, 在服务器恢复正常后自动解除屏蔽重新提供服务。

  3.3.2 Web和应用层改造

  原浙江自动气象探测系统应用部署在小型机、PC Server、商业或开源虚拟化服务器上, 通过直接部署在云上ECS (弹性计算服务器) 。为保证服务器的高可用性, 采用至少部署在两台ECS服务器上, 使用SLB做负载均衡和服务容错。

  3.3.3 文件存储改造

  原浙江自动气象探测系统涉及大量文件对象的存储和管理, 针对文件对象存储, 采用云平台提供开放存储服务 (OSS) , 解决应用文件、图片等的存储问题。

  4 结束语

  通过开展气象大数据平台的研究, 合理选择数据存储模型, 实现气象数据的分布式存储问题;采用分布式应用服务和云计算技术, 构建平台的总体框架, 在统一的框架下, 形成分布式应用服务框架, 实现气象数据的共享服务;采用新的前端展示技术和预处理技术改善平台显示效果, 实现气象数据的可视化。基于气象大数据平台, 将浙江省自动气象探测信息业务服务 (APP版) 成功迁移到云平台, 为其它业务应用系统上云工作提供经验。气象大数据平台的研究与应用为逐步实现浙江信息化建设的统一规划提供了一定的借鉴。

  参考文献

  [1]朱利安, 徐明强, 吴德仁.基于移动终端的小型船舶智能导航系统研究与实现[A].第十三届中国智能交通年会大会论文集[C].天津:第十三届中国智能交通年会, 2018:649-658.
  [2]杨明, 陈晔峰, 陈晴等.气象数据云数据存储技术及应用[J].气象科技, 2018, 45 (06) :1017-1021.
  [3]姜福成.云计算的基础结构设计和云应用服务[J].软件, 2014, 35 (07) :97-102.
  [4]杨凤攀.基于SOA架构的智能终端云服务平台设计与实现[D].吉林:吉林大学, 2017:31-45.

作者单位:浙江省气象信息网络中心
原文出处:陈晴,高婷,杨明,吕梁,孙晓燕.气象大数据平台的设计及应用[J].电子技术与软件工程,2019(11):192-194.
相关内容推荐
相关标签:
返回:大气科学论文