2. 大气科学与卫星遥感安徽省重点实验室, 合肥 230031;
3. 寿县国家气候观象台, 寿县 232200;
4. 中国气象局淮河流域典型农田生态气象野外科学试验基地, 寿县 232200
2. Anhui Provincial Key Laboratory of Atmospheric Science and Satellite Remote Sensing, Hefei 230031, China;
3. Shouxian National Climatology Observatory, Shouxian 232200, China;
4. Huaihe River Basin Typical Farmland Eco-Meteorological Experiment Field of China Meteorological Administration, Shouxian 232200, China
随着经济快速发展, 城市化和工业化进程加快, 能源消耗增多, 空气污染日益严重, 低能见度天气现象频繁出现, 严重影响到人民群众生产生活, 引起各级政府和环境、气象、科技等部门高度关注. 人们对生存环境和生活质量的要求也越来越高, 公众对气象环境服务需求也日益丰富. 为此, 气象部门已将大气环境服务纳入了气象业务工作的重要组成部分, 各地气象部门陆续开展了大气环境预报业务, 并开展了相关系统研发和业务能力建设[1-3]. 为提升生态与环境气象业务服务水平, 强化业务基础和技术成果应用, 迫切需要研发省级环境气象业务系统. 本文主要阐述了省级环境气象业务系统设计目标、总体架构、功能组成和主要关键技术. 通过系统的研制应用, 构建统一规范的综合数据环境, 建立一体化服务平台, 研发业务服务产品. 系统的建立提高了业务服务效率和规范化水平, 为政府部门与社会公众防灾减灾提供科学决策支撑, 为生态文明建设、应对气候变化和大气污染防治提供气象服务保障.
2 系统总体设计 2.1 系统目标本系统是省级气象部门开展环境气象综合业务服务的基础性工作平台. 系统基于C/S和B/S混合架构, 具有相对独立的后台加工处理和前台显示分析子系统, 其数据环境与交互分析、智能网格预报服务保持协同一致, 主要包括资料综合监测与显示、预报交互分析、实况监测评估、服务产品制作发布、值班考核、预报产品检验及系统管理等业务功能.
系统应用全国综合气象信息共享平台(CIMISS)基础接口, 具备标准规范、安全可靠、效率优先, 扩展性强, 兼顾实用性和前瞻性. 基于ActiveMQ框架的消息总线中间件, 协调各个子系统模块间的数据同步和应用请求, 解决了系统模块之间数据转换、功能接口以及系统升级维护等需求, 保证系统的一致性和稳定性. 系统各功能模块具有高效的互联互通性、易用性和易维护性, 性能指标和处理能力能够完全满足要求.
2.2 系统总体架构系统总体基于可扩展、插件式应用程序框架MEF进行模块化开发, 支持便捷地挂接新增各种应用. 系统架构核心是由基于C/S的多源数据汇集管理中心和基于B/S的WebGIS综合信息交互分析系统组成. 多源数据汇集管理中心是系统运行的核心枢纽, WebGIS综合信息显示交互系统能高效显示地理信息基础数据、气象格点场、环境气象监测等数据以及交互分析. 系统设计制定了一套标准规范体系和安全保障体系, 包括命名标准、建库标准、数据通讯标准、数据交换标准等, 确保在标准基础上安全稳定运行. 图1是系统总体架构图.
如图1所示, 系统主要包括: (1)运行支撑层: 主要是建立系统所必需的各类软件和硬件支撑基础. (2)数据资源层: 主要是系统基础数据环境, 包含各种气象实况监测数据、环境空气质量监测数据、模式产品、预报数据等采集处理和数据资源池管理等. 多源数据资料采集管理模块, 通过定时采集和文件夹监听方式, 实时采集气象观测数据、环境空气质量监测数据、数值预报数据和指导产品, 根据数据的特点分别解析、转换、导入数据库和本地文件夹, 确保系统数据的完整性和时效性; 后台数据产品加工服务模块, 部署在应用服务器, 通过业务内网, 连接各个数据源, 进行数据的获取、解析、处理和入库. 实现监测分析产品、模式诊断产品、模式检验产品等产品的生成, 以提高系统的响应速度, 增强用户体验. (3)应用支撑层: 主要是系统运行需要的数据接口、分发引擎、格点解析组件、WEBOFFICE组件及ActiveMQ消息组件等各种算法组件和中间件. (4)业务应用层与用户层: 主要为业务系统交互服务应用和各级业务应用用户, 提供一体化数据处理、一体化监测分析、一体化预报交互、一体化产品制作等各种应用功能以及各级用户管理等.
2.3 关键技术概述(1)标准化ActiveMQ消息中间件技术
消息中间件是指利用高效可靠的消息传递机制进行平台无关的数据交流, 并基于数据通信来进行分布式系统的集成. 通过提供消息传递和消息排队模型, 它可以在分布式环境下扩展进程间的通信. ActiveMQ是Apache推出的应用较为广泛的消息中间件[4-6]. ActiveMQ是一种开源的实现了JMS规范的面向消息(MOM)的中间件, 为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信.
系统设计研制过程中, 采用基于ActiveMQ框架的消息总线中间件, 统一协调各个分系统功能模块间的数据同步和应用服务请求. 各数据采集组件与控制中心通过消息总线中间件进行信息的沟通与交流, 并及时传递相关任务分配信息. 消息总线工作示意图如图2所示, 其中发送者或生产者主要配置逻辑过程描述示例如下:
① 创建工厂连接对象, 指定IP和端口号.
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://IP:端口");
② 根据工厂创建一个默认的连接对象, 并开启连接.
Connection connection = connectionFactory.createConnection();
connection.start();
③ 使用连接对象创建会话(session)对象, 再使用会话对象创建目标对象和生产者对象, 目标对象包含queue和topic(点对点、订阅模式).
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("test-queue");
MessageProducer producer = session.createProducer(queue);
④ 使用会话对象创建一个消息对象, 消息以天气概要为例.
TextMessage textMessage = session.createTextMessage("明天天气晴");
⑤ 发送消息并关闭资源.
producer.send(textMessage);
producer.close();
session.close();
connection.close();
(2)集约化网格环境数据库建设
建立集约化网格环境数据库. 从多类业务数据源采集而来的各种原始数据, 包括WRF-CHEM、CMAQ、CUACE等数值模式产品和气象观测数据, 基于分布式数据库技术研发[7,8], 通过入库操作进入原始数据库归档存储, 先经过降尺度插值方法处理, 生成降尺度格点基数据入库, 再由客观订正和标准化处理进入基础格点背景场数据库. 数据库整体架构可选择分布式MySQL、Cassandra作为整体架构, MySQL存储系统运行索引等数据, Cassandra存储格点类各类数据. 支撑精细化预报智能业务系统的数据I/O的格点预报编辑库, 经过预报订正最终形成格点预报产品库. 通过需求驱动的规则解析后, 生成环境格点预报解析产品库经由网络对外发布. 图3是网格数据库资源池模型图. 简要采集入库流程为: 首先添加采集器类, 定义site站点特征属性、编码格式、采集无效处理方法; 添加器初始采集源地址site.AddStartUrl, 分类设置WRF-CHEM、CMAQ、CUACE等添加器初始采集源地址; 创建采集器spider, 使用内存调度, 应用处理器虚类根据具体数据实例化对应采集器, 使用自定义消息通道虚类采集成功后入库.
var site = new Site {EncodingName = "UTF-8", RemoveOutboundLinks = true};
site.AddStartUrl($"http://10.129.*.*/category/WRF-CHEM");
site.AddStartUrl($"http://10.129.*.*/category/CMAQ");
site.AddStartUrl($"http://10.129.*.*/category/CUCE");
Spider spider = Spider.Create(site,
new QueueDuplicateRemovedScheduler(),
newMyProcessor())
.AddPipeline(new MyPipeline());
spider.Downloader = new HttpClientDownloader();
spider.ThreadNum = 1;
spider.EmptySleepTime = 3000;
spider.Run();
(3)智能化网格预报解析服务技术
研发智能网格预报解析技术. 基于WebGIS技术和精细网格预报数据, 统一制定数字向文字、定量向定性、多格点向单区域、多时次向时段性累加等预报产品转换规则标准库. 根据实际情况设计常规环境气象要素(如AQI、SO2、NO2、CO、PM2.5、PM10等监测值)向专题要素转变的规则, 并逐步建立和完善常用衍生服务产品规则库. 开发建立基于精细网格预报数据和图文模板标准, 向常用文字、报文、图形等产品的自动转换生成技术. 支持手动加工的服务产品利用多种文字和图形编辑技术, 对数据进行图形化、文字化绘制或修订. 预报服务产品包括地市空气质量预报、空气污染气象条件预报等, 产品类型包括文字产品、图片产品、Word产品. 图4是智能网格预报解析技术流程图.
智能服务产品自动制作技术研制. 集合GIS空间分析技术[9-13], 智能服务产品制作是以Word、TXT模板自动生成与动态管理为主的功能模块. 用户可为日常服务产品定制多个模板(每一类服务材料一个模板), 在模板中使用关键词, 关键词可被系统自动替换, 这些关键词包括: AQI预报、扩散条件预报、实况等数据, 还包括自定义一些关键词和替换规则, 如单位名称、日期等. 同时具有简单的文档管理功能, 按照文件的期数管理排列, 业务管理员可对文档进行添加、删除、修改等操作, 或者业务人员提供管理密码进行增加、删除、修改功能进行修改. 智能服务产品制作服务图如图5所示.
3 系统实现 3.1 系统组成系统包括综合监测分析、预报制作、专题制作、预报检验、值班管理、信息发布、数据管理及系统管理等功能模块(主要功能组成如图6所示). 根据安徽省本地特征和服务需求, 利用数值模式预报产品及环保数据、气象监测数据, 实现主要业务服务和工作流程. 系统数据环境按照多线程分布式计算和存储方式进行设计, 实现多源数据的标准化处理存储、实现不同数据产品的绘图处理、实现历史数据的归一化处理等, 确保应用系统的处理响应速度达到秒级. 系统实现主要界面图如图7所示.
3.2 系统主要功能 3.2.1 数据监测处理
该功能模块具备数据下载与上传、质量控制和存储分发功能, 针对不同类型资料, 可自定义设置收集方式. 主要包括:
(1)资料收集功能. 定时收集处理环境气象业务相关资料, 包括城市空气质量监测数据、地面气象观测资料、相关客观预报指导产品、模式预报产品以及空气污染气象条件等级预报产品、AQI预报产品、数值预报产品、卫星遥感监测等相关资料和产品的获取. (2)资料报警提醒. 对收集的空气质量污染物浓度监测实况数据进行实时监控, 当监测出现中度以上空气污染, 提供报警提醒功能, 可设置为声音报警、弹出提示框、发出短信及站点的图标/数字闪烁等. (3)标准规范数据环境. 根据实时采集解析的多源数据资源, 建立一个标准规范、符合CIMISS数据访问规则的本地环境气象综合业务数据库.
3.2.2 信息综合分析该模块具有后台自动推送与刷新功能, 能通过空气质量监测数据, 自动计算AQI数据与等级, 并能以良好用户体验方式交互展示. 基于环境气象综合业务数据库, 实现环境气象实况监测、预报指导产品的综合显示、历史数据检索和统计查询; 能显示分析环境气象业务相关MICAPS格式数据, 如MICAPS第4类格式等; 统计查询生成的折线图、柱状图、空间分布图和统计表格的结果可保存, 也可直接插入到产品制作模板中.
(1)地图基本操作功能. 具备WebGIS地图通用功能, 具有自动分析等值线和色斑图绘制功能. (2)大气污染物空间分布查询功能. 对基础地理图层、环境空气质量监测数据和气象要素进行叠加分析. (3)气象要素空间分布查询功能. 可通过气象要素类型和日期时间等条件查询气象要素以及边界层特征在某个时刻的空间分布状况, 并与基础地理图层和污染物的空间分布状况进行叠加分析. (4)空气质量监测数据查询. 在查询时间段里对站点实测数据进行查询,并制作统计图表, 生成污染物浓度时间变化曲线和统计分析结果. (5)模式产品显示. 提供区域模式预报、上级指导预报、本地客观订正预报, 以及数值天气预报等产品的分类调阅显示. (6)多元素组合定制显示功能. 定制调用和叠加模式产品及实况监测数据, 实现不同种类客观预报产品及气象要素的动态图形化显示, 如“相对湿度&能见度&PM2.5实况组合”、“地面风场&PM10实况组合”等的分布图显示.
3.2.3 交互分析与产品制作交互分析与产品制作模块实现空气质量预报、空气污染气象条件预报及监测分析等产品制作与发布, 具有预报产品检验功能. (1)交互分析. 类似MICAPS系统展示或操作形式, 建立可以互动调阅和组合的预报分析模块, 形成预报分析结果. (2)产品制作. 系统自动调用实况数据、数值预报数据和统计分析的图、表结果, 服务产品利用模板定义、数值预报应用等简化录入流程, 对所有产品提供自定义的分发配置管理, 统一监控, 集制作、审核和导出各类预报预警产品于一体. 通过定制的服务产品模板, 自动调用相关素材, 实现产品自动化制作. (3)多渠道产品发布功能. 利用业务网资源, 实现短信、E-mail、FTP、业务网等发布通知和对外发布信息.
3.2.4 系统综合管理(1)用户权限管理. 可分类开设账户, 如管理员、业务人员等, 能对每个业务人员的工作流程、状况有后台日志功能, 便于考核统计. (2)预报评分和考核. 根据业务考核评分, 针对省级、地市预报产品, 分别计算预报评分, 并建立不同时间尺度的预报评分统计. 检验结果通过图形、表格形式查阅, 并可提供动态查询. (3)值班信息管理. 自动制作业务排班表, 设置人员和规则可调, 对业务值班人员有短信提示功能. 同时具有值班日志、重要信息提示、自动生成值班表及值班信息管理功能.
4 结束语针对省级业务服务实际需求, 本文设计研制了安徽省环境气象业务系统. 系统通过构建以气象观测、大气环境监测和数值模式预报等数据为基础的数据环境, 基于WebGIS技术、ActiveMQ消息组件和分布式数据库技术等关键技术, 实现了多源数据监测分析、模式产品和指导预报产品的快速汇集、显示、查询和交互分析, 为业务人员提供了一体化预报诊断分析和产品制作工具. 该系统运行平稳、功能完善, 界面丰富友好, 为省级环境气象业务服务提供了基础工作平台.
[1] |
严明良, 沈树勤, 焦艾彩, 等. 江苏省环境气象指数业务化系统. 气象科学, 2003, 23(4): 478-484. DOI:10.3969/j.issn.1009-0827.2003.04.013 |
[2] |
常越, 许建明, 何金海. 广州城市大气环境监测系统建设的探讨. 气象与环境学报, 2006, 22(3): 66-69. DOI:10.3969/j.issn.1673-503X.2006.03.019 |
[3] |
张云海, 周小珊, 龚强, 等. 辽宁城市气象环境预报业务系统的实现. 辽宁气象, 2004(1): 12-13. |
[4] |
戴俊, 朱晓民. 基于ActiveMQ的异步消息总线的设计与实现. 计算机系统应用, 2010, 19(8): 254-257, 215. DOI:10.3969/j.issn.1003-3254.2010.08.059 |
[5] |
樊鹏, 邱俊宏, 戚振伟, 等. 基于开源ActiveMQ的电力故障分析系统. 自动化与仪表, 2018, 33(3): 58-61. |
[6] |
张梦娇. 基于ActiveMQ地震速报消息交换系统的设计与实现[硕士学位论文]. 石家庄: 河北师范大学, 2017.
|
[7] |
陈海燕. 一种分布式大数据管理系统的设计与实现. 计算机科学, 2014, 41(11A): 393-395. |
[8] |
许皓皓, 廉亮, 姚浩立. 基于ETL的政务云气象数据仓库构建. 计算机系统应用, 2018, 27(9): 224-228. DOI:10.15888/j.cnki.csa.006541 |
[9] |
唐卫, 吴焕萍, 罗兵, 等. 基于GIS的气象服务产品后台制作系统. 计算机工程, 2009, 35(17): 232-234. DOI:10.3969/j.issn.1000-3428.2009.17.080 |
[10] |
陈金华, 吴文玉, 杨太明, 等. 基于Web-GIS的市县级农业气象业务服务系统研究. 气象与环境学报, 2014, 30(4): 99-104. |
[11] |
张新, 胡晓东, 魏嘉伟. 基于云计算的地理信息服务技术. 计算机科学, 2019, 46(6A): 532-536. |
[12] |
杨和平, 张志强, 杨明, 等. 气象格点数据在线可视化平台的设计与开发. 计算机工程与应用, 2019, 55(18): 207-211, 255. DOI:10.3778/j.issn.1002-8331.1901-0089 |
[13] |
杨代才, 张冰松. 长江流域气象水文雨量资料一张图分析系统建设与应用. 计算机系统应用, 2019, 28(1): 47-52. DOI:10.15888/j.cnki.csa.006734 |