多源异构气象区域站数据集成技术研究
2017-06-02余永城翁秋华朱添福
余永城 翁秋华 朱添福
摘要:针对大量多源异构气象区域自动站数据在集成、监控方面的困难,结合区域自动站数据特征,建立数据映射关系、基于Wabacus开源框架、Java、数据库等技术,开发了一套“多源异构气象区域站数据集成系统”。实现了多源異构区域站数据在监控平台上的无缝集成,为多源异构区域站数据集成方法提供了新的思路,有效解决了多源异构数据难以在同一平台上进行统一监控的问题。该项技术研究成果应用于“福建省气象区域站数据集中监控系统”中,取得了较好的效果。
关键词:气象区域站;多源异构;数据集成;Wabacus
中图分类号:P208;TP338.6 文献标识码:A 文章编号:1007-9416(2017)04-0064-03
1 前言
随着现代气象综合观测业务的快速发展,全省综合观测种类众多。存在每个观测项目均使用独立的中心站软件收集数据的问题。由于引进的设备厂商和仪器型号参差不齐,因而获取到的区域自动站数据结构也各不相同,又都部署在不同的服务器上,所采用的数据库也不统一[1],导致各个中心站的数据相互独立,难以兼容,这些多源异构的数据构成一个复杂而且庞大的数据源,监控人员只能在每个中心站软件中进行实时的监控[2,3],无法在同一个平台中对区域站数据进行统一的监控和管理,很大程度上增加了数据监控压力。因为中心站软件都部署在省级信息中心,给市县级台站信息保障人员日常维护管理也造成了不小的困扰,市县级信保人员无法及时掌握区域站在线状态和数据要素是否异常等状态,特别在现场维修时需要多次通过电话询问省级值班员,降低了工作效率,也增加了省级值班员工作压力。因此,多源异构气象区域站数据如何实时、快速有效的集成成为一个急需解决的问题。
2 区域站数据特征分析
福建省区域自动站目前总共部署了2000多个站,每个区域站都上传整点数据和分钟数据,从宏观上看,区域站数据具有“多源”、“异构”、“量大”等特征[4]。
2.1 多源
多源,指的是多个数据源。福建省区域站设备型号很多(如ZQZ_A、ZQZ_B、WUSH-RG、DZZ4、CAWS600、HYA-M等),参差不齐,多由不同的厂商提供,使用的中心站软件也不同,因而得到的数据都分散在不同的数据库中[5],而且数据库类型也不一样(如MySQL,SqlServer,Oracle),这就导致了区域站数据的多源性。想要集成这些数据,必须对各类型的数据库开发相应的访问接口。
2.2 异构
异构,指的是数据库结构不统一。由于缺乏行业数据规范,数据库结构多由各个厂商自行定义,加上软件开发人员的水平和对气象监测领域的不熟悉,使得设计出来的数据库库表结构、数据类型都不一样,给数据集成带来了很大的困难。
3 系统关键技术
3.1 Web网页监控
Web网页监控利用Wabacus开源框架、Jsp网页和Java技术。Wabacus框架是一个JAVA开发框架,而不是纯客户端框架,可以完成SSH框架的功能,它可以与任意框架(比如SSH框架)在同一项目中共存,采用面向声明的编程思想,极少编辑就可以实现复杂的数据展示、数据编辑、表单等功能。它支持热部署,高灵活性,高扩展性,支持IE、Firefox、Chrome、Opera等多种浏览器。
3.2 多数据库支持
Wabacus框架支持Oracle、SqlServer、MySql、DB2数据库多个类型的数据库。通过
3.3 异构数据处理
对于异构数据的集成,需要把不同数据库(或者相同数据库)中不同表结构的数据提取出来,再插入到新建的总表中。由于存在表列名定义和列数量不同,为此,我们需要建立一个数据映射关系来统一数据结构。结合气象区域站数据的特征,在监控服务器上建立了一个总表,总表由所有区域站数据要素来定义。这个插入过程由系统后台服务定时完成。
3.4 定时采集服务
在后台设计JAVA定时器,定时收集多个中心站数据库里的区域自动站数据。区域自动站仪器不断上传采集到的数据,要求入库系统必须稳定运行,一旦停止运行或者出现故障,肯定会导致监控数据的延迟、丢失,出现误告警的情况。因此,我们对这个服务进行“升级”,即使服务挂掉,也能通过网页告警方式通知值班员,处理方式也很简单,启动服务就可以自动补调丢失的数据。
4 系统实现
4.1 总体架构
多源异构气象区域站数据集成系统是基于面向服务的架构体系,使用Wabacus开源框架,Java技术,JSP网页技术,结合多种数据库开发技术开发完成的。采用MVC三层架构、数据映射、转换等技术设计开发中间件,不需要更改原始的数据格式或者存储,只需要修改相应的配置文件就可以实现数据集成。
4.2 系统设计流程
多源异构气象区域站数据集成系统设计流程如图1所示,通过Java定时任务对多个数据源数据进行提取,得到的数据经过中间件进行数据的映射转换操作,得到统一的数据格式的结果集,最后由入库程序进行入库操作。
系统的核心部分是中间件的设计,中间件的作用是起到统一数据格式的作用。向上为多源数据库提供数据标准和接口,向下为集成平台数据库提供统一格式的数据,从而完成多源异构数据的集成。各数据源独立运行,互不干扰,中间件只负责数据格式的转换。
中间件从定时采集程序获得原始数据,并不能直接进行入库操作,必须对数据格式进行转换。如果源数据表和目标表结构相同,则中间件不处理,直接转到结果集;如果源数据表和目标表的字段名不同,则需要对字段名进行映射,映射的方法是利用SQL语句对结果集进行字段的映射。
Web网页监控利用Wabacus开源框架、Jsp网页和Java技术,实现全省区域站数据监控,网页具有定时刷新,報表导出,收报率统计,声音告警等各种功能。由于区域站要素的不同,不可能用一张XML网页模版去显示每个站的要素,因此需要配置站点对应的XML网页[6]。
数据库端设计遵循SQL语言规范,利用SQL语句优化技术(比如建立存储过程和数据库表索引等),快速查询各中心站数据库信息。
4.3 系统功能
该项技术研究成果应用于福建省气象区域站数据集中监控系统,系统首页如图2所示。首页是将福建省全省的区域站按照分地市监控起来了,页面定时2分钟自动刷新,当某个地市的区域站在线率小于85%(阈值可根据需要设置)时,页面就会通过声音、滚屏等方式对故障地区进行告警,省一级值班人员就可以快速响应处理,从而提升数据的时效性。
以福州地区为例,市级监控首页如图3所示。市级关心的是本市区域站的运行情况,因此这里把该地区所有的区域站都集中在一个页面上监控,页面也是定时2分钟自动刷新。当有站点故障没数据时,系统会对故障点进行滚屏和声音告警,提醒市级值班员处理。要是某些站点的确故障了,一时恢复不过来,可以将站点监控状态设为故障,这样系统就不会对故障站点进行报警了。
5 结语
随着现代气象综合观测业务的快速发展,全省综合观测种类越来越多,必须对多个数据源的数据进行无缝集成,实现数据监控统一化。福建省区域站数据集中监控系统已投入运行半年多时间,运行稳定,为业务管理人员、市级信保中心以及台站人员提供实时全省区域自动站数据监控,包括站点的在线状态、最新到报时间、在线率和收报率统计等,并具备监控报警功能,不但可以做到快速响应,进而提升站点数据时效性,也很大程度上减轻了值班员的监控压力。
通过该系统,可快捷查询全省区域自动站整体的运行情况,业务保障人员通过该系统发出的站点离线告警,可以做到及时响应、排查、处理;通过系统的统计分析报表功能,对管理部门今后判断自动站的运行状态也具有一定的参考价值。
参考文献
[1]陈巍,刘艺雯.异构数据库数据迁移测试软件的研究与实现[J].安徽工程科技学院学报,2010,25(4):35-39.
[2]李军怀,周明全,耿国华,等.XML在异构数据集成中的应用研究[J].计算机应用,2002,22(9):10-12.
[3]陈骞,罗智佳,毛宗源.基于C/S和B/S混合结构的数据采集与整合系统[J].计算机应用研究,2006,(7):188-190.
[4]张峰.基于多源异构勘察数据的工程勘察信息系统的设计与实现[J].测绘通报,2013,(1):87-89.
[5]何朝阳,巨能攀,黄健.基于Web-GIS的公路边坡安全管理系统研究[J].地质灾害与环境保护,2012,23(1):91-95.
[6]王智军.基于XML的异构数据集成研究[J].赤峰学院学报:自然科学版,2010,26(3):19-21.