张冰松 汪璠 王雅新 杨代
摘要:本文针对湖北气象业务内网建设方面存在的诸多问题,提出了内网的设计需求、设计目标和技术路线,阐明了内网的总体结构与功能、总体数据流程、系统结构、大数据框架应用以及其他优化的具体措施等。
关键词:HBASE;气象;业务内网
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2020)10-0000-00
0 引言
随着省级气象局信息化建设程度的不断提高,信息业务的综合服务水平明显提升,但业务应用平台建设的集约程度仍然不夠,服务规范不统一,没有集中标准化的显示和监控平台,导致服务效率不高,甚至出现数据与产品存在不一致和矛盾的情况。此外各业务系统规模小、功能简陋,系统设计与建设缺乏统一的规划和设计,整体安全防护能力弱,未能实现集约化、规模化运维,人员从事低水平重复、手工交互度高的IT系统运维等问题也制约着湖北省气象局信息化建设的快速发展。所以需要一种便捷高效的方法达成众多业务系统的统一管理和气象科学数据的共享管理以及监控管理,以更好的发挥相关业务系统的巨大价值。同时能为规范对单位内提供气象信息服务统一窗口,充分发挥信息资源的整合优势提供良好条件,使对内提供气象信息的方式集约化、标准化、规范化。因此,建设湖北气象业务内网非常必要。
1 问题分析
随着业务的不断发展和数据的不断扩充,原共享系统在自动气象站数据显示方面已经无法满足用户的需求,在数据存储管理、数据共享的范围和显示速度等都存在着弊端。此外伴随着CIMISS系统的推广和应用,这些业务系统在数据集约化、一体化管理、数据准确性以及系统维护和升级等方面,还存在很多问题[1,2],主要体现在:
(1)业务系统分散、不易维护升级。目前各省在线业务系统繁多,系统之间互相穿插,互相链接的情况频繁,虽然有公共首页可以作为统一入口,但是条理性差,系统和系统之间无法实现资源共享,服务共享,各自使用各自的标准,造成维护不便、管理困难、资源浪费。(2)没有统一的数据环境,造成数据不一致。重要数据可能存在多份拷贝或存在多个数据源中,因数据传输或系统错误或人工等原因往往造成原本应该相同的数据在不同系统中不相同的情况。(3)资料展示系统多,各自为政,不易管理。省中心尚未建立统一的气象基础资料展示系统,各级业务部门及业务系统软件直接从各自服务器获取相应的资料。各业务系统存在功能重复建设资源重复占用的现象。(4)利用云平台不够充分,各自使用小服务器,管理混乱。目前各业务系统之间并未充分利用云平台,数据接口并不规范,系统集成与业务衔接不当,容易导致信息不对称、无法管理。因此,本项目将利用现有云平台,基于CIMISS标准化数据环境进行建设,依靠一体化网络平台,统一标准,达成各业务系统集约化连接、实现资源的优化配置与共享。
2 设计原则与功能需求
2.1 设计原则
湖北气象业务内网以支撑气象业务发展和科技创新为目标,采用先进实用的信息技术,参考国内先进的数据管理设计经验[3-10],实现相关业务平台的整合,系统设计和开发原则包括:(1)集约化。搭建省级气象业务运行的数据环境以及虚拟化环境,集合各业务单位的业务系统,实现业务系统基础平台资源的高效利用和专业化维护。(2)统一数据环境。以CIMISS作为主要数据源进行数据复用,遵从CIMISS数据标准进行数据存储结构拓展,建立统一分类编码、统一数据建模、统一存储的数据体系。(3)用户管理。要面向省、市、县三级用户,实现省级统一权限管理,市县级授权后访问。
2.2 系统功能设计
湖北气象业务内网主要由信息显示、运行监控、业务管理、共享服务]等模块组成。其中运行监控模块实现对台站级、市县州级单位数据传输、设备状态等的综合与分类监控。主要包括:(1)数据传输监控。实现对自动站(包括国家站、区域站)观测数据、高空测风数据、GNSS/MET数据、自动土壤水分观测数据、雷达基数据等,以图形化与表格化相结合的方式向用户展示各种气象资料的发送情况,在监视界面予以告警显示。(2)设备运行状态监控。根据通信系统所接收到的设备运行状态文件、报警文件等,基于文件中的各类数据的判断规则,综合判断设备运行是否正常,并根据本级用户所在区域获取该区域所有设备的运行状态信息。(3)监控集成。将其他监控系统的地址链接配置到本系统,值班人员或业务人员可在系统导航模块快速导航到对应系统。业务管理模块对传输质量进行统计,在获取运行监控数据结果的基础上以月、年为时间跨度并支持任意时段内进行聚合统计,存储统计结果,形成统计图形、报表,为相关业务人员的决策提供数据支持。气象信息显示系统基于CIMISS实现各种气象资料和原数据资料(自动气象站、探空资料、GNSS/MET、闪电定位、自动土壤水分、气象辐射、酸雨观测、大气成分观测等)各个时间段对应查询,并基于WEBGIS、表格、曲线图等方式进行数据的展示分析,同时可以实现对历史资料(历史最大值、历史最小值和历史平均值等)的查询展示功能。系统以自动站数据显示为重点,结合大数据SPARK计算框架和WEBGIS,实现快速数据显示。具体功能结构划分如图1所示。
3 基于SPARK框架的数据显示
湖北省自动气象站数据显示模块作为重点,实现长江流域、湖北省的国家站、区域站、专业气象站(交通站、旅游站)等地面资料小时数据、分钟资料全要素的快速查询显示,结合CIMISS系统,采用WebGIS技术,以站点图、色斑图、直方图、表格等多种方式对查询结果进行显示和统计分析,从而满足省、市、县三级预报人员业务使用需求。技术方案方面主要采用硬件支撑平台、数据库、WEBGIS技术方面进行优化,在硬件方面采用大内存、多服务器集群等配置;在数据库方面对数据存储读取进行优化,主要包含融合数据环境建设,根据数据特性,采用不同的数据库;在WEBGIS技术方面,采用缓存及分级显示策略。
3.1 基于内存的Spark生态系统
系统使用的服务器采用256G内存,采用大数据分析技术,采用伯克利数据分析栈(Spark生态系统),搭建Spark集群,解决自动站查询统计慢的问题。Spark是基于内存的迭代计算框架[11],其核心是弹性分布式数据集,通过在内存中对数据集进行多次快速迭代,支持复杂的数据挖掘算法和图形计算算法。
系统使用Spark Streaming和Kafka进行站点文件入库,kafka 是一款分布式消息发布和订阅的系统,具有高性能和高吞吐率,消息的发布(publish)称作 producer,消息的訂阅(subscribe)称作consumer。SparkStreaming 是一个对实时数据流进行高通量、容错处理的流式处理系统,对Kafka消息进行操作处理,并将结果保存到HBASE数据库。其代码实现如下:
3.2 非关系型数据库技术
系统采用非关系型数据库HBase实现,替换原有的关系型数据库Oracle或sqlserver,使用NoSQL数据库,NoSQL数据库读写性能高,其简单的数据机构和数据无关系性使其优势在大数据量下更能体现,NoSQL的Cache是记录级的,是一种细粒度的Cache。同时NoSQL具有灵活的数据模型,数据字段和格式能够随时灵活地添加和修改,为大数据在Web上的应用提供便利。数据库查询采用Phoenix,Phoenix是HBase的SQL驱动,Phoenix使得HBase支持通过JDBC的方式进行访问,将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集。其代码实现如下:
INCLUDEPICTURE "../../../Users/x1/AppData/Roaming/Tencent/QQTempSys/%25W@GJ$ACOF(TYDYECOKVDYB.png" \* MERGEFORMAT
选取开源框架Spark进行性能测试,在测试机上搭建测试环境。从CIMISS数据库导出长江流域范围区域站3个月数据到内存数据库中,对数据读取检索时间进行测试,为系统技术路线提供理论依据。分别查询CIMISS的ORACLE数据库和Spark内存数据库进行测试,其中CIMISS数据库是建站以来的所有数据,Spark内存数据库是三个月的长江流域范围区域站数据,排除数据库数据量的差异的影响,内存数据库在检索时间上是可以满足要求的,具体结果表1所示。
4 其他改进技术
4.1 基于文件夹监控的信息获取
基于文件夹监控的方式相对解析日志的方式有简单、稳定、及时、可调式性好等优点。现有的基于java实现的文件监听主要有两种方式:(1)线程轮询扫描。其优点是纯java实现,完美跨平台,缺点是监听文件较多时,需要扫描的量太大;响应不是非常及时,依赖于扫描间隔时间。(2)文件钩子。其优点是事件驱动方式无目录扫描,缺点是跟平台相关。系统涉及数据量较大,如果采用线程轮询扫描模式扫描量大,响应不及时,难满足实时性高的要求,故采用文件钩子的方式实现对文件夹的监控。我们采用基于Jnotify开发包,实现了包括windows、linux、maxos各大平台的处理,开发时只需要使用其提供的对应平台的组件即可轻松实现文件夹监控。
4.2 缓存及分级显示策略
针对经常被提及的在WEBGIS上同时显示所有区域站比较缓慢的问题,本系统采用了缓存及分级显示策略。首先针对cimiss查询可能出现缓慢的情况,增加了一个缓存,定时获取5分钟数据。每次请求从缓存中获取区域站的数据,这样可以将时间降至毫秒级。其次,在浏览器绘制站点图像的时候首次仅绘制3000/n站(绘制1000站的时间大约在1秒内),当n=3时用户基本上可以在1秒内看到区域站绘制完毕。用户放大地图层级时增加绘制剩余3000/n站。n 越大显示速度越快,而需要拖放的级数越多,我们认为对于内网系统,当n=3时用户体验效果最佳。
4.3 CIMISS实况数据采集实现
在信息显示等需要查询气象数据资料的模块中,主要通过CIMISS通用接口的方式获取资料。按照松耦合和模块化设计,系统对CIMISS的接口调用进行了封装,具体实现方式如:通过JAVA客户端模式进行调用,通过接口DataQueryClient.callAPI_to_serial- izedStr 获取返回类型为JSON格式的数据,然后将JSON格式转换为系统自定义的序列化格式,调用代码如下所示:
INCLUDEPICTURE "../../../Users/x1/AppData/Roaming/Tencent/QQTempSys/%25W@GJ$ACOF(TYDYECOKVDYB.png" \* MERGEFORMAT
5 结语
湖北气象业务内网在CIMISS的基础上结合SPARK技术,满足长江流域气象中心的实时气象信息业务的需求。系统在湖北省各级气象部门投入业务试运行,实现了运行监控、业务管理、信息显示、共享服务、综合管理、网站管理等功能,湖北省自动气象站数据显示模块与原有业务系统相比增加了常用气象要素,显示速度有明显提升,运行效果良好。
参考文献
[1] 王宏记,杨代才.基于CIMISS的长江流域气象水文信息共享系统设计与实现研究[J].安徽农业科学,2014(32):11565-11570.
[2] 杨代才,王海军,龚贤创.长江流域气象中心实时资料共享平台设计与开发[A].2011年中国气象学会气象通信与信息技术委员会暨国家气象信息中心科技年会[C].2011年.
[3] 谢博文,黄小妹,覃信贤.气象信息共享平台的构建及其实现研究[J].科教导刊(中旬刊),2012(7):251-252.
[4] 王宏记,王海军,曾又枝,等.省级气象信息综合数据库系统的设计与实现[J].暴雨灾害,2008(3):283-286.
[5] 王旻燕,邓莉,赵芳,等.CIMISS中气象卫星数据存储和服务模型[J].安徽农业科学,2012(8):4785-4789.
[6] 王国复,李集明,邓莉,等.中国气象科学数据共享服务网总体设计与建设[J].应用气象学报,2004(S1):10-16.
[7] 李集明,沈文海,王国复.气象信息共享平台及其关键技术研究[J].应用气象学报,2006(5):621-628.
[8] 李集明,熊安元.气象科学数据共享系统研究综述[J].应用气象学报,2004(S1):1-9.
[9] 覃天信,黄福莹,李漫霜.广西气象台业务数据库系统简介[J].广西气象,2001(4):43-44
[10] 易烈剛,杨溢,范元品.基于Internet的气象实时资料查询系统[J].贵州气象,2003(3):39-41.
[11] 王宏伟,方群,陈伟.基于内存数据库的OPC监测系统的设计与实现[J].计算机技术与发展,2013(7):242-244+248.
收稿日期:2020-08-31
*基金项目:湖北省气象局科技发展基金重点项目(2018Z09、2020Z07)
作者简介:张冰松(1989—),女,吉林四平人,硕士,工程师,研究方向:气象信息技术。
Design and Development of Hubei Meteorological Information Service Network Based on Big Data Framework
ZHANG Bin-song, WANG Fan, WANG Ya-xin, YANG Dai-cai
(Meteorological Information and Technology Support Center of Hubei Province,Wuhan Hubei 430074)
Abstract: Analysis of the present Hubei Meteorological information service network of continuous development and improvement, points out the problems existing in Hubei Meteorological information service network construction, pointed out design requirements, design objective and technical route, illustrates the system overall structure and function, the whole data flow, system structure, big data application framework and other optimization measures.
Key words:HBASE; meteorological; service system