应用气象学报  2017, 28 (6): 750-758   PDF    
全国综合气象信息共享平台架构设计技术特征
赵芳, 熊安元, 张小缨, 邓莉, 王颖, 马强, 杨昕, 谭小华, 高峰     
国家气象信息中心, 北京 100081
摘要: 全国综合气象信息共享平台(CIMISS)是依托天气雷达数据共享平台工程项目建成的国省统一数据环境,实现各类气象数据的规范管理,直接支撑气象业务应用。该文介绍了CIMISS架构设计及核心内容,结合业务应用效果的实例分析,阐述架构设计如何有效提升数据和应用的集约高效。借鉴企业架构(EA)方法,建立了业务架构、数据架构、应用架构、技术架构和标准规范体系。采用一系列架构优化设计,包括实现元数据统一管理同步、数据质量控制、统一业务监控、异构数据库统一数据服务、优化信息流程、分层设计和集群技术应用等,满足CIMISS标准性、扩展性、稳定性等需求,获得良好的全流程数据服务时效,核心资料接收入库总耗时均小于3 min,数据访问效率较国家级气象资料存储检索系统提升2~5倍。继承现有CIMISS架构设计成果,正在设计中的气象大数据平台整体技术架构将向云平台、分布式存储等新技术升级。
关键词: CIMISS    架构    标准    高效    扩展性    
Technical Characteristics of the Architecture Design of China Integrated Meteorological Information Sharing System
Zhao Fang, Xiong Anyuan, Zhang Xiaoying, Deng Li, Wang Ying, Ma Qiang, Yang Xin, Tan Xiaohua, Gao Feng     
National Meteorological Information Center, Beijing 100081
Abstract: The enterprise architecture (EA) reflects its business components and process, application system, data composition, technical composition and organization setting, so it's an important tool to realize the strategic goal of the enterprise. EA includes frameworks and reference models, consisting of business architecture and IT architecture. China Integrated Meteorological Information Sharing System (CIMISS) is the unified data environment which is distributed in national service center and 31 provincial services centers. Main functions of CIMISS include data collection and dissemination, quality control and product generation, data management, data services and operational monitoring, which achieves the initial unity of data standards and the standardized management of meteorological data. CIMISS provides direct data services to meteorological applications, and is put into operation at the end of 2016. CIMISS obtains good efficiency of overall data process and service, the collection and storage time of core data is less than 3 minutes, the data access performance is enhanced by 2-5 times compared to the national meteorological archival and retrieval system (MDSS).The architecture design is an important stage of the construction of CIMISS which gives strong foundational support to the detailed design and development of the application software system. The architecture design of CIMISS and its core components are introduced and illustrated, combined with the case analysis of the application practice. Applying EA methodology, in the form of top-down and layer-by-layer decomposition, the business architecture, the data architecture, the application architecture, the technique architecture and the standardization framework are established. By adopting a series of optimized architecture design, the effective management and synchronization of metadata and data quality control are realized, the scalability of unified monitoring of new business and the rapid online service of new meteorological data are provided, the universal data service model of heterogeneous database systems is established, the good performance of data services is achieved and is easy for the upgrade of the database technology. Through the hierarchical design and the application of cluster technology, requirements of maintainability, scalability and high reliability of CIMISS are satisfied. Based on CIMISS, the meteorological data service platform under design can be upgraded to be compatible with new technologies such as cloud computing and big data. The intensive infrastructure service platform would be built, and distributed data curation technology would be implemented comprehensively in data management to achieve high performance. Through application programming interfaces (API), operational applications wouldn't be affected by the update.
Key words: CIMISS     architecture     standardization     efficiency     extensibility    
引言

企业架构(enterprise architecture,EA)是对部门或企业从宏观到微观、从整体到局部的多层次、多视角描述,反映部门或企业的业务构成及业务流程、支撑业务的应用系统和数据构成、技术构成和组织设置等[1]。企业架构设计思想从顶层高度实现了业务和信息技术从条块化局部到全盘整体的理念转换,从根本上解决传统面向单一部门、以单一业务为核心的建设模式带来的业务割裂、职责不清、功能重叠、流程复杂、信息无法共享、效率低下、灵活扩展性差、总体运维成本高等问题,从而实现业务的总体最优目标。企业架构方法论出现于20世纪80年代中期,并得到不断发展和广泛应用[2]

按照构建国省统一数据环境、实现数据集约管理的总体要求,国家气象信息中心建立了全国综合气象信息共享平台(CIMISS),初步统一数据标准,统一管理气象数据[3],解决了长期以来数据分散存储、缺乏标准、权威一致性难以保证、共享困难等问题。CIMISS是典型的大型复杂信息系统,信息中心技术设计队伍借鉴企业架构设计方法进行系统总体架构设计,为应用软件系统的细化设计和实现奠定了良好的架构基础。通过架构优化设计,使CIMISS既为气象业务应用提供了种类齐全、序列完整、实时历史一体化、标准权威的海量气象数据支撑,又较好地满足了其对数据总体服务时效和访问性能的要求,且具有较高的稳定性、可靠性及适应不断增长的业务需求和信息技术发展的扩展性。

① 气象信息化行动方案(2015—2016年)(气发[2015]60号文).中国气象局,2015.

1 CIMISS业务化及应用情况

CIMISS集数据收集与分发、质量控制与产品生成、存储管理、共享服务、业务监控于一体,部署在国家级和31个省级业务单位,已于2016年底投入业务运行。CIMISS已实现300余种基础气象数据统一存储管理,基于标准算法,实现地面分钟、小时历史观测数据整编及日、候、旬、月、年值统计处理,提供实时历史一体化长序列数据在线服务。合作建设的分布式数据环境实现预报数据融入CIMISS,直接支撑第4代气象信息综合分析处理系统(MICAPS4)[4];合作建立的NetCDF数据库,整合管理NCEP再分析数据、NOAA和FY-3B气象卫星数据、环流指数、气候模式产品等,支撑气候信息交互显示与分析平台(CIPAS)[5];实现与全国智能网格预报、气象灾害信息系统、中国气象数据网等核心业务系统及100多个省级业务应用的对接支撑。

CIMISS业务化以来,运行稳定可靠,获得了较好的全流程总体性能和访问时效。经测试,较国家级气象资料存储检索系统[6],其数据入库时效缩短20%,地面、高空、雷达、卫星、数值预报等核心资料接收入库总耗时均小于3 min,数据访问效率提升2~5倍,较好地满足了业务需求。

2 CIMISS总体架构设计 2.1 架构设计方法

企业架构是实现企业战略目标的重要工具,包括框架和参考模型,由业务架构和信息技术(IT)架构组成,IT架构又包括数据架构、应用架构、技术架构和IT管理架构等[7]。CIMISS架构设计借鉴了企业架构方法,以业务驱动IT,实现业务到应用系统的映射(如图 1所示)。

图1 CIMISS总体架构 Fig.1 Architecture of CIMISS

2.2 业务架构

业务架构是部门业务构成由宏观到微观的详尽的条理化描述,通过分析业务特征和处理过程,导出业务分类、业务关系、业务流程和业务策略,并通过数据架构、应用架构和技术架构等组合进行实施[8]。业务架构的合理性将决定能否简化流程、实现业务和应用的集约。CIMISS业务架构如图 2所示。

图2 CIMISS业务架构 Fig.2 Business architecture of CIMISS

CIMISS核心业务操作可抽取为五大业务域:数据收集与分发业务域实现气象数据的收集、预处理与分发输出;数据加工处理业务域对气象数据进行解码、质量控制(质控)和统计处理,输出特定的处理产品;数据存储管理业务域完成气象数据的多级存储,为共享服务提供数据支撑;数据共享服务业务域提供多种方式的数据服务;运行监控业务域对应用、系统资源和气象数据进行实时监视告警和统计分析。

分析各业务域业务活动,建立业务流程模型,包括国省和省间数据收集分发、实时及定时产品加工、数据入库存储、元数据交换及数据服务、业务统一监管,各业务单元间基于设定的流程进行任务协作和数据交互。

2.3 数据架构

数据架构是有关数据构成、数据形态和数据分布等信息内容的组合,定义了数据项以及它们的属性和关联关系,是CIMISS架构设计关键点,主要设计内容为数据分类、数据的业务和系统分布、数据模型以及数据转换关系[9]

首先将CIMISS数据划分为气象数据、业务数据和监控数据3类。其次分析业务流程、业务功能组件的输入和输出数据,明确模块间的数据转换关系,建立数据和业务功能模块的映射,形成数据规格说明。最后建立相应的数据逻辑和物理模型[10],形成数据架构对业务架构的支撑(如图 3所示)。

图3 CIMISS数据架构 Fig.3 Data architecture of CIMISS

建立气象数据库、业务支撑库和监控库3个逻辑数据库,各逻辑库可划分多个子库,实现3类数据的逻辑整合与集约管理。在核心区、行业区和互联网区分别设置4个ORACLE RAC数据库集群,核心区与互联网区按需实时同步更新数据,支撑内部及互联网应用。采用关系型数据库数据表、索引信息表和目录文件存储方式管理结构化和非结构化数据,根据设备存储速度、吞吐能力等特点,实现数据静态多级分布存储和动态多级存储迁移。

2.4 应用架构

应用架构是支撑业务的具体应用系统的构成,是对实现业务能力、支撑业务发展的应用功能条理性的描述[1],是将业务和数据模型转换为应用系统和功能的方法,主要设计内容为应用构成及核心功能、软件系统及分工界面、软件协作机制等。CIMISS应用架构设计思路为“五系统、两中心、三层次”(图 4)。

图4 CIMISS应用架构 Fig.4 Application architecture of CIMISS

五系统为对应各业务域的应用软件系统,可划分其软件配置项(CSCI)并细化软件部件及功能单元,明确系统间功能分工界面。两中心是抽取CIMISS应用框架的公共支撑部分,形成两个逻辑管理中心,分别是业务监视与调度管理中心、数据存储与访问管理中心,建立关键公共支撑能力;前者提供统一消息服务、整体业务监控、运行分析及元数据同步,后者负责存储空间分配、存储结构维护、数据清除、数据安全备份等数据库统一管理。三层次分为数据展现层、业务逻辑层和数据存储层,实现底层数据与上层应用的剥离,实现应用的规范复用性、内部整合及适度松耦合,增强可维护性。

2.5 技术架构

技术架构设计定义IT运行环境以支持数据和应用架构,主要设计内容为总体技术框架、网络拓扑、主机存储结构、安全体系、部署和集成方式等。CIMISS建立基于UNIX或X86的服务器集群系统及基于存储区域网络(SAN)的存储系统,配备多级存储设备,组成虚拟存储池;采用核心层、汇聚层和接入层分层网络设计,分区划域设置网络访问控制策略;依照3级安全等保护要求进行物理、网络、主机、应用和数据安全设计。在应用展现层、应用组件层、系统软件层、存储管理层、硬件设备层和基础网络层,综合运用基于面向服务的架构(SOA)的Web服务组件[11]、消息传输、共享文件系统并行读写、数据分级存储管理[12]、内存数据转发[13]等技术,并确保技术选型的统一性,避免形成技术孤岛、增加开发和维护成本。

2.6 标准规范体系

标准体系设计为CIMISS实施提供规范保证。CIMISS建立了以气象数据资源标准为核心,涵盖基础平台、业务监控、项目管理、软件开发等多领域的标准规范体系。

3 架构优化设计及成效

架构设计不是单一技术点或产品的选择,而是整体结构布局、数据及服务模式、IT技术运用等重大设计,良好的架构将更好地满足标准规范性、扩展性、可维护性、总体性能和业务稳定连续性等非功能设计需求。CIMISS在各架构层面进行针对性优化设计,整体性提升数据和应用集约性能。

3.1 核心元数据全局同步管理

元数据是关于数据的数据,在数据交换、发现和共享等方面作用极其重要[14]。CIMISS核心元数据包括气象数据集核心元数据[15]及基于气象要素分类编码[16]的气象数据元,进一步规定了气象要素的单位、精度、数据类型和特征值。此外,还包括观测频次、空间范围、要素序列等数据业务属性信息及站名、地理位置、所属站网和地域等台站信息。

长期以来,核心元数据在各业务系统分散重复管理,难以保证完整一致性,为此,CIMISS建立了元数据管理系统,实现元数据编辑发布及同步流程,前者进行基于标准模板的元数据在线导入、注册、编辑,新增及更新的元数据经审核后存入元数据逻辑子库统一管理,后者通过消息中间件向各系统发布同步指令,实现同步操作。需要全网发布的元数据,国家级生成元数据文件下发省级进行同步。CIMISS业务运行中,基于以上架构和流程进行全国站网信息及新增资料元数据信息国省统一管理更新。

3.2 数据质量有效控制

CIMISS建立了数据资源目录,为每个气象数据分配唯一标签ID,通过其元数据注册进行数据的准入和识别;通过规定不同ID编码段实现国省数据有序分段管理,数据全局一目了然且不重不漏。

数据质量包括数据正确性、完整性和及时性。CIMISS在业务逻辑层通过加强算法容错处理确保数据解码和入库正确性,依次建立了快速质控、滚动质控与数据更正处理逻辑,通过数据服务接口的质控码过滤参数提供质控后观测数据。以面向服务的维度建立了气象数据四级分类体系,1级划分为14大类[17],2级为具有核心元数据定义的气象数据集,3级为在2级分类下面向服务的数据子集,4级为数据流经各业务环节的过程实体记录。通过建立数据衍生关系及过程实体数据关联关系,实现数据上下游处理环节的对应流转及全流程处理过程追踪,业务监控系统对重要资料收发、解码、入库环节的完整性和及时性情况进行统计展示和自动告警。

3.3 统一监控

集约高效的业务监控系统可确保业务稳定运行。CIMISS实现系统资源、应用系统和气象数据的统一监控和集中告警如图 5所示。

图5 CIMISS统一监控 Fig.5 Integrated monitoring of CIMISS

首先将业务监控作为独立业务域集中建设,建立整合集约的业务监控平台;其次采集CPU和内存利用率、存储空间利用率、网络连通状况、进程运行状态等详细监视信息(DI),各气象数据处理环节则按规范输出数据完整性、及时性的DI;随后通过DI统计分析,生成数据收发率、解码站点数、数据入库率、入库及时率等关键性能指标(KPI)并进行展示,对超过阈值的KPI则生成告警信息(EI),应用系统也可直接产生EI;EI通过消息服务中心的统一消息传输服务发送到消息总线的相应消息队列,业务监控系统对关键EI进行监听并集中发布,DI,EI和KPI均存储在监控库中,提供业务统计和在线查询。

EI采集接口规范及上报、处理、存储和发布框架具有良好的扩展性。通过部署应用状态采集服务,建立专用EI消息队列,CIMISS-MICAPS4,CIPAS2及陆面数据同化系统等先后注册并按规范上报EI,实现其应用和数据完整性等在监控平台的集中监视告警。

3.4 物理异构数据库统一服务

CIMISS实现数据的逻辑统一管理,建立数据统一服务接口,提供多个物理异构数据库对用户的统一透明服务(图 6)。

图6 CIMISS数据统一服务 Fig.6 Unified data service of CIMISS

CIMISS首先基于ORACLE和共享文件系统建立了气象数据库。随着地面区域站站点数及观测频次的增加及多种数据整合入库,数据存储量不断增长,传统集中式存储难以满足数据存取性能及并发访问需求,随即在国家级建立了基于分布式架构的虚谷数据库及基于列存储(column-oriented)的Cassandra NoSQL数据库,前者采用无共享(share nothing)架构及对等处理工作模式,实现数据在存储节点的分布式存储和多副本容错,后者针对MICAPS4天气分析数据小文件多、文件大小不均衡等特点,更好地满足预报员时空多维度场数据快速读取、有序连续翻页等需求[18]。两者均具有高可用性和水平扩展性,经测试,数据检索性能均得到明显提升。

CIMISS通过标准、稳定的数据统一服务接口对数据存储结构和数据库技术进行封装,实现数据管理与数据应用的分离。国家级虚谷数据库建立后成为实时、历史结构化数据生产库,ORACLE数据库成为其备份。数据服务接口实现从虚谷数据库提取数据并返回用户,当虚谷数据库出现故障时自动切换为从备份库中提取数据提供应急服务,用户程序不需作任何修改。

3.5 优化I/O提高服务时效

体量不一、数量庞大的数据文件及中间处理结果在CIMISS多个业务环节间流转,数据读写访问频度极高,磁盘输入/输出(I/O)压力极大。CIMISS建立了高效的信息交互方式,数据处理任务指令通过消息队列快速传递,下游环节从指令中获取文件位置信息并直接读取数据文件,避免目录文件轮询处理方式带来的巨大开销。基于共享文件系统技术实现大量数据文件的共享读写,通过节点内读写操作均衡分布到多个磁盘增加文件系统带宽,避免单个磁盘大量读写。通过合理规划文件系统并设置工作区,将存在业务交互处理关系的数据和中间结果存放在同一文件系统内,通过文件移动、硬链接、软链接等低资源消耗方式,最大限度减少文件物理搬迁,降低I/O负载,提升数据处理整体时效。

随着地面区域站数量和观测频次显著增加,解码要素文件交互量激增。对业务流程和应用架构进行优化调整,建立了简约化流程,去除了文件落地环节,数据解码后直接入库,大大降低磁盘I/O和消息发送量,数据入库效率明显提高[19]

3.6 新增资料快速上线扩展

CIMISS业务逻辑层建立了业务处理模块复用及配置扩展框架,以尽可能接近零代码开发的方式满足新增资料快速接入需求。首先通过元数据管理系统进行新增资料核心元数据及四级分类信息等注册和同步,其次设计并建立其数据存储结构。建立独立进程,复用数据库连接、数据入库、站级DI和EI报送等软件功能模块,接收主调度发来的新增资料处理任务,即可实现结构化数据解码入库;对于非结构化数据,通过增加命名规则、文件名各属性字段和索引表各存储字段对应关系、存储策略等配置,完成文件规范化重命名及入库。通过增加收发策略、监控策略及告警阈值配置,实现站级和文件级数据传输处理及业务监视告警,通过在线配置定制接口方式实现其数据统一服务接口发布。

CIMISS业务化过程中,雨滴谱仪、潮位站等新增观测数据及组网雷达拼图、FY-2G气象卫星资料等新增产品,均按此框架实现数据快速接入并提供服务。

3.7 高可靠性和可扩展性

CIMISS建立了数据库、高性能计算、应用服务器等共8个主机集群,全部采用冗余硬件配置,充分利用集群持续服务和动态重构等容错扩展能力。采用并行数据库集群、消息集群、应用服务器集群确保系统软件支撑层的高可用性和扩展性。综合使用3种应用集群技术:数据加工处理进行大量雷达基数据质控及组网科学计算,故采用高性能计算集群技术[20]及消息传递接口(MPI)并行编程实现任务在节点间的调度和并发处理;数据收发、业务监控和数据服务等进行大量外部交互,故采用负载均衡设备及负载均衡集群技术实现数据及访问交互负载在节点间的动态分配;数据存储管理业务调度为确保调度任务的完整性无法并行运行,故使用高可用性(HA)集群技术实现主备方式部署并通过心跳监测机制进行主节点失效后的业务接管。

集群技术的广泛采用有效确保CIMISS的高可用性和可伸缩性,避免单点故障,确保稳定可靠性。随着业务量的增长,可通过增加集群系统节点数扩展处理能力。在CIMISS省级数据加工处理集群无法满足自动气象站及雷达数据处理性能时,将业务监控集群的两台服务器改为加入数据加工处理集群,实现了处理能力的横向扩展。

4 小结

1) 全国综合气象信息共享平台(CIMISS)是已投入业务运行的国省统一数据环境,初步统一数据标准,实现各类气象数据的规范管理,直接支撑MICAPS,CIPAS等气象业务应用,数据接收入库及访问时效相较国家级气象资料存储检索系统有显著提升。

2) 总体架构设计是气象信息业务系统建设的关键环节。CIMISS借鉴企业架构设计方法,通过自顶向下、逐层分解的方式,系统性地建立了业务架构、数据架构、应用架构、技术架构和标准规范体系。

3) 通过多层次针对性架构优化设计,CIMISS实现元数据和数据质量有效管理,提供新增业务统一监控和气象数据快速接入的良好扩展能力,建立了异构数据库提供数据统一服务的应用模式,易于数据库技术的升级,通过分层设计和集群技术确保可维护性、可靠性和扩展性,整体性提升了数据和应用集约高效。

正在设计中的气象大数据平台,将成为气象部门最完备、权威的在线数据仓库,为预警预报、防灾减灾及跨行业数据价值挖掘提供数据、算法的一体化支撑。在现有CIMISS基础上,从两方面考虑现有架构向未来平台的过渡——继承和发展现有架构设计成果。继续完善CIMISS已建数据标准,扩建元数据管理系统;按照“物理分布存储、逻辑统一接口”原则在专有云和公有云分别建立同步一致的数据支撑环境;在现有业务监控架构基础上整合分散的监控系统并向观测端和应用端延伸,建设“全流程、一体化、可视化”综合业务监控系统;升级现有数据加工处理调度框架,建立一体化加工流水线,逐步集成天气、气候、观测等后台处理模块。平台整体技术架构向云平台、分布式存储和大数据等新技术升级。设计“专有云及公共云”集约化基础设施云平台,实现混合云资源的统一管理调配;数据管理全面向分布式存储技术升级,综合运用分布式关系型数据库、分布式文件系统、分布式表格系统等技术,实现基础数据和缓存数据的高效存储,通过数据统一服务接口实现技术升级对业务应用无影响。

② 气象大数据建设行动计划(2017—2020年)征求意见稿.中国气象局,2017.

参考文献
[1] 沈文海. 云时代下的气象信息化与管理. 北京: 电子工业出版社, 2017.
[2] 龚艺巍. 企业架构设计思想. 北京: 科技出版社, 2017.
[3] 熊安元, 赵芳, 王颖, 等. 全国综合气象信息共享系统的设计与实现. 应用气象学报, 2015, 26, (4): 500–512. DOI:10.11898/1001-7313.20150412
[4] 李月安, 曹莉, 高嵩, 等. MICAPS预报业务平台现状与发展. 气象, 2010, 36, (7): 50–55. DOI:10.7519/j.issn.1000-0526.2010.07.010
[5] 吴焕萍, 张永强, 孙家民, 等. 气候信息交互显示与分析平台(CIPAS)设计与实现. 应用气象学报, 2013, 25, (5): 631–640. DOI:10.11898/1001-7313.20130513
[6] 沈文海, 赵芳, 高华云, 等. 国家级气象资料存储检索系统的建立. 应用气象学报, 2004, 15, (6): 727–736.
[7] 于海澜. 企业架构. 北京: 东方出版社, 2009.
[8] 许鑫. 企业架构——理论与实践. 南京: 南京大学出版社, 2009.
[9] 王飞. 数据架构与商业智能. 北京: 机械工业出版社, 2015.
[10] 高复先. 信息资源规划——信息化建设基础工程. 北京: 清华大学出版社, 2002.
[11] 顾春红, 于万钦. 面向服务的企业应用架构——SOA架构特色与全息视角. 北京: 电子工业出版社, 2013.
[12] 钱建梅, 郑旭东. 国家卫星气象中心气象卫星资料存档系统. 应用气象学报, 2003, 14, (6): 756–762.
[13] 杨润芝, 马强, 李德泉, 等. 内存转发模型在CIMISS数据收发系统中的应用. 应用气象学报, 2012, 23, (3): 377–384.
[14] 王国复, 徐枫, 吴增祥. 气象元数据标准与信息发布技术研究. 应用气象学报, 2005, 16, (1): 114–121. DOI:10.11898/1001-7313.20050115
[15] 王国复, 吴增祥. 气象数据集核心元数据. 中华人民共和国气象行业标准QX/T39-2005. 北京: 中国标准出版社, 2006.
[16] 熊安元, 朱燕君, 王伯民, 等. 气象要素分类与编码. 中华人民共和国气象行业标准QX/T133-2011. 北京: 气象出版社, 2011.
[17] 熊安元, 王伯民, 王颖, 等. 气象资料分类与编码. 中华人民共和国气象行业标准QX/T102-2009. 北京: 气象出版社, 2009.
[18] 谭晓光, 罗兵. 天气预报分析型数据模型及生成. 应用气象学报, 2014, 25, (1): 120–128. DOI:10.11898/1001-7313.20140113
[19] 季永华, 孙超, 刘一鸣, 等. CIMISS中气象观测资料处理入库效率优化方法. 气象科技, 2017, 45, (1): 30–35.
[20] 赵立成, 沈文海, 肖华东. 高性能计算技术在气象领域的应用. 应用气象学报, 2016, 27, (5): 550–558. DOI:10.11898/1001-7313.20160504