APP下载

基于“微服务+分布式”架构的公共气象服务数据支撑系统研究

2022-05-27林孔杰夏利娜汪春辉陈玉吉

计算机时代 2022年5期
关键词:微服务气象服务分布式

林孔杰 夏利娜 汪春辉  陈玉吉

摘  要: 气象服务数据规模随着精细化、多元化服务要求的提升,加之各气象服务系统集约化程度不高、并发访问能力不足,对气象数据的处理和应用形成了新的挑战。本研究基于“微服务+分布式”架构,采用数据采集和处理相分离方式完成数据存储入库;开发了多源数据融合模型完成对多源数据的融合,并生成气象服务统一接口提供对外气象数据服务。系统实现了气象服务产品的采集、供给标准化,为用户提供了安全、及时、高效的数据服务。

关键词: 分布式; 微服务; 数据支撑; 气象服务

中图分类号:P409;TP311.1          文献标识码:A     文章编号:1006-8228(2022)05-138-03

Research on public meteorological service data support system based on

"micro service + distribution" architecture

Lin Kongjie, Xia Lina, Wang Chunhui, Chen Yuji

Abstract: Meteorological service data increases with the improvement of refined and diversified service requirements. However, the intensification of each meteorological service system is scattered, and the concurrent access capability is insufficient, which forms new challenges to the processing and application of meteorological data. Based on the "microservice + distributed" architecture, data storage are completed by separating data acquisition and processing, and a multi-source data fusion model is developed to complete the fusion of multi-source data. A unified interface for meteorological services is generated to provide external meteorological data services. In this system, the standardization of the collection and supply of meteorological service products is realized. It provides users with safe, timely and efficient data services.

Key words: distribution; micro services; data support; meteorological service

引言

隨着气象现代化、信息化业务快速发展,气象服务业务涉及面渐广,交通、林业、电力、农业等行业气象服务飞速发展,部门间的数据交互日渐频繁,如何充分释放数据价值而又避免计算资源浪费,并且支撑系统能够安全、稳定、高效,是个挑战。迫切需要建立一个安全、高效、集约的数据支撑平台,能够为各气象服务平台(系统)提供产品支撑,为各地市气象部门、行业部门间数据交互融合提供数据支撑。

目前,国内外专家针对气象数据产品的存储、分析、应用等进行了大量研究,各省气象部门对气象服务数据支撑涵盖了气象基础数据、行业专项数据等采集、解析、入库、服务、监控管理。李波等[1]基于SOA、分布式存储等技术设计了气象数据共享平台,朱亮等[2]基于分布式技术设计的农业气象大数据平台实现了对农业气象数据的收集、存储和应用,郭庆燕等[3],利用消息中间件、WebGIS等技术开发的气象数据应用服务系统为决策服务提供了可靠的数据依据。而面向服务用户的大并发量访问、中台式服务管理、流式计算、同类产品多源融合等问题尚待解决[4-6],另外,基于传统方式对气象影视制播等业务的数据支撑已无法满足融媒体中心需求[7]。

本文旨在阐述利用信息化技术,结合公众、决策、行业及融媒体等不同服务类型对服务产品、渠道、方式、应用场景等需求,构建多源数据融合模型,再造业务流程,实现气象服务数据的采集、处理、存储、分析和应用等功能。系统实现了气象服务数据的“纵向互通、横向互联”,形成以“用户为中心”,“服务为靶向”的格局,不但有利于气象服务提升业务创新能力和智慧服务技术水平,也将进一步提升福建省气象部门防灾减灾系统建设格局。

1 关键技术

1.1 基于Kafka的流式计算

Kafka[8]是一种高吞吐量的分布式流式处理系统,本研究利用Kafka系统处理活跃的流式数据,针对气象服务数据的采集需求,配置千量级不同连接器,实现数据源(含FTP、CIMISS接口等)到支撑系统的分布式采集。本研究采用有序方式记录信息(不受内存限制),接收信息持久化到硬盘,接收和消费互不影响,大大提高IO效率。其主要优势有消息持久化、高吞吐量、高并发、分布式、容错性、实时性。

1.2 微服务架构技术

微服务架构[9](Microservice Architecture),是指将一个大型复杂软件应用拆分成独立的组件(服务),每个组件执行一项专门的任务。本研究使用微服务架构旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。

1.3 API网关服务

本研究开发API网关[10]服务保障应用安全,该网关采用集群模式部署,利用负载均衡、API全托管服务功能提供高并发访问和稳定性,且网关服务中实现了动态路由、身份认证、安全控制以及限流。设置动态路由可以自动适应网络状态的变化,自动维护路由信息;进行身份认证,防止非授权用户访问敏感数据,对每个外部请求进行用户认证,拒绝没有通过认证的请求,并且通过访问模式分析,实现反爬虫功能;采用服务限流,可以稳定服务、减轻网络负担,保护后台服务不被大流量冲垮。

2 总体设计

该系统坚持气象服务数据全流程协调、开放、共享服务理念,重构功能框架,再造数据流程,强化应用安全,总体架构设计包含基础设施层、数据资源层、应用支撑层、应用层和展示层。

⑴ 基础设施层:基础设施层是用于支撑项目系统的软硬件环境。包括系统建设支撑的网络设备、主机与服务器以及存储设备。

⑵ 数据资源层:数据资源层用于存储数据量相对稳定的各类数据资源,支持气象服务产品支撑系统的软件运行。包括结构化数据库、非结构化数据库和第三方资源库。

⑶ 应用支撑层:应用支撑层主要为应用层提供基础支撑和通用的服务组件。包括工作流引擎、全文检索、权限管理、数据分析及展示等应用支撑中间件。

⑷ 应用层:在数据资源层和应用支撑层的基础上,建设各类应用服务对接平台。建设模块包括综合监控模块、数据汇聚模块、数据存储模块、数据服务模块、数据运维等模块以及对采集解析处理服务的一键式、多手段发布与治理。

⑸ 展示层:在数据完备的基础上,针对用户所需提供多元化的数据服务支撑;并监测产品处理、对外服务等状态。

3 系统功能设计

系统实现了地面、高空、海洋、雷達、气象影视等气象数据的采集、加工、融合,生成的产品为上层应用提供标准应用接口,整个节点数据流辅以全流程监控。整体业务功能处置流程如图1。系统的功能主要如下。

⑴ 数据汇聚处理:基于分布式的设计及技术理念,利用数据抽取、消息服务、文件交换等技术手段,解决数据产品采集过程中时面临的分散孤立、源头多样、跨网传输等问题,为数据资源的汇聚集中、统一标准化处理提供源数据支撑。

⑵ 自动匹配流式加工:对采集完成的各类数据产品按照实际需要进行分析、处理、算法实现、再加工等,通过选择或者自定义编写数据解析策略(如MICAPS格式等),进行自动的解析处理。

⑶ 同类数据多源融合:将多种数据产品进行融合,生成出新的产品。同源产品融合将所属同源的产品,进行采集入库后,根据入库时间、设置产品优先级,选取符合条件的产品作为输出的融合产品;不同源产品融合,将各种产品采集入库后,抽取符合要求的各类数据,按设定的模型进行融合,形成新的产品进行输出。

⑷ 多渠道产品服务:利用负载均衡模式,提供分布式数据接口服务。建立完整的服务体系,通过服务配置,将采集后的产品以ftp、流式、网络接口方式进行服务的配发;对服务对象进行系统的管理,设置服务权限,收集服务反馈。

⑸ 全流程监控管理:监控系统各节点数据流,利用图表形式直观展示采集、解析、融合、服务等各流程节点状态;采集系统各操作日志及数据库、服务器运行日志,根据性能、网络和IO拥堵等情况实施声光、短信声讯提醒,第一时间定位问题,便于跟踪排查和处置。

4 系统分析与应用概况

4.1 性能检验

为了验证系统的支撑性能,分别从并发能力,采集响应,解析执行时间等方面,以224个国家级地面考核站点实况数据文件为测试对象,测试情况如表1所示。

通过系统测试,结果数据表明该系统具备了较好的性能,能够满足气象服务业务需求。

4.2 应用概况

目前,气象服务产品支撑系统建设已初具规模,目前已实现七大类、678项产品数据交汇服务,服务22个行业用户,涉及气象、林火、交通、农业等各行业,实现了数据接口个性化定制服务,为各个系统及平台提供标准化、专业化的服务产品支撑。

5 结束语

本文采用了分布式、微服务等主流技术,打造了一个安全、高效、集约的公共气象服务产品支撑系统。系统构建了产品采集模式的标准化模型,规划行业产品的标准化接入,汇聚行业应用产品系统/平台产品,实现标准、集约的产品汇聚及行业应用产品的快速信息化支撑。为各气象服务业务提供数据环境和技术支撑,为拓展公众、行业等气象服务提供了坚实基础。

参考文献(References):

[1] 李波,杜景林,李正方.基于SOA的气象数据共享平台研究[J].

电子设计工程,2019,27(4):25-29

[2] 朱亮,钟艳雯,贺炜,等.基于分布式的农业气象大数据平台

设计与实现[J].湖北农业科学,2019,58(6):128-130

[3] 郭庆燕,杨晖,张敏,等.气象数据应用服务系统的研究[J].

计算机应用与软件,2018,35(2):107-111

[4] 蒋晨晨,季一木,孙雁飞,等.基于Storm的面向大数据实时流

查询系统设计研究[J].南京邮电大学学报(自然科学版),2016,36(3):100-105

[5] 朱涛,郭进伟,周欢,等.分布式数据库中一致性与可用性的

关系[J].软件学报,2018,29(1):134-149

[6] 王建荣,华连生等.数值预报产品分布式处理与存储系统

设计[J].计算机技术与发展,2018,28(2):167-172

[7]丁海清,黄莹霞.融媒体时代气象服务信息传播渠道的变革[J].

信息记录材料,2021,22(4):36-38

[8] 谢文康.Kafka流式计算性能优化算法研究[D].南京邮电

大学,2020

[9] 辛园园,钮俊,谢志军,张开乐,毛昕怡.微服务体系结构实现

框架综述[J].计算机工程与应用,2018,54(19):10-17

[10] 庄夏.API网关架构设计实例[J].信息系统工程,2018(5):

99-100

收稿日期:2021-11-05

作者简介:林孔杰(1994-),男,福建平潭人,硕士研究生,主要研究方向:气象服务与应用气象。

猜你喜欢

微服务气象服务分布式
微信公众平台在医院图书馆的应用现状调查
基于微信企业号的校园移动服务
微服务视角下高职图书馆数字资源使用分析
从单一模式系统架构往微服务架构迁移转化技术研究
浅析气象服务需进一步融入农业生产必要性
基于DDS的分布式三维协同仿真研究
西门子 分布式I/O Simatic ET 200AL