气象行业数据中间测试平台的设计与开发

2020-08-06 02:57:14曹龙全吴启星
中低纬山地气象 2020年3期
关键词:测试环境气象局气象

曹龙全,蔡 然,吴启星,刘 叶

(深圳市气象服务中心,广东 深圳 518000)

0 引言

随着气象信息化和气象大数据的高速发展,全国各地气象事业的发展呈现出高度信息化、集约化的现象。尤其是近年来,新型智慧城市建设与智慧气象建设进一步融合,气象部门逐渐开发建立了各种各样的信息系统[1-4],同时也迫切需要吸引更多的社会力量参与到气象数据的增值服务与开发中。然而,原有的气象数据及研发管理模式已经无法适应当前形式[5-8]:一方面是研发网络与办公和业务网络混用、通讯系统监控缺失、数据的交换机制不全、研发与测试环境缺乏等现象,都给信息安全的管理带来了隐患;另一方面是生产环境与测试环境混用,众多气象业务系统在开发过程中直接利用实际业务数据,这对数据安全造成了极大的威胁,一旦出错将直接影响实际业务应用。因此,当前迫切需要开展气象行业大数据采集研发的中间测试环境服务,搭建一个有效的中间测试平台,将研发网络与办公、业务网络分离,避免测试数据与实际业务数据混用,加强系统监控,对维护气象业务的稳定运行,保证气象行业数据的安全,都会起到积极作用[9-10]。

1 平台架构设计及原则

气象行业数据中间测试平台(以下简称“中试平台”)的主要建设内容应包括数据梳理、数据预处理、建立测试应用库和测试用户库及文件系统、数据存储入库(数据同步)、数据使用规划、监控系统等6个部分。

中试平台在规划和建设方面遵循了可靠性、安全性、健壮性等原则,具体如下:

可靠性:系统应具有完整的可用性,在运行期间,需要确保系统故障率低于国家标准。

安全性:许多档案资料具有保密性,系统必须能保障数据的安全性,防止其被非法获取或破坏,在存储过程中,还应在硬件损坏情况下保障数据不被破坏,并能快速恢复系统。

健壮性:本系统需要在发生各种突发事件时均能正常运行,支持数据各种各样的数据的采集和处理,支持多种类型的查询方式,并支持将来业务流程及管理手段的更新。

易用性:系统设计中,充分考虑人性化的设计思路,包括用户界面、用户流程等。

可扩展性:系统设计中,考虑今后系统的扩展性,预留二次开发的空间,并可根据需要产生不同的报表,以达到系统再次开发增值的目的。

2 技术路线与功能开发

2.1 平台开发语言

本平台主要采用Python和JAVA两种开发语言,兼顾了软件易用性和数据采集、分析效率。Python的设计风格清晰划一,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。Python和其他大多数语言(如C语言)的区别在于,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来确定模块的边界,与字符的位置毫无关系)。不可否认的是,Python通过强制程序员们缩进字符(包括if,for和函数定义等所有需要使用模块的地方),确实使得程序更加清晰和美观。另外,Python本身被设计为可扩充的,并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。

本平台采用先进的数据库连接池技术,加快数据库访问速度并支持多用户同时访问:数据库连接池技术不必在需要连接时才建立连接、运算完毕后关闭连接,因而极大地加快了数据库的访问速度;同时数据库连接池支持多线程运行,不同的用户可以使用连接池中不同的连接进行数据访问,避免个别用户占满连接数的情况,极大地提高了系统的适应性能。此外,本平台使用了SSL数据安全层密钥,使数据连接更加安全可靠,JAVA语言与APPLICATION SERVER为SSL安全连接提供了自然支持。

2.2 平台开发功能

气象行业大数据采集及中试环境服务主要包含两大系统功能,一是数据处理,包括数据梳理、数据预处理、建立测试应用库和测试用户库及文件系统、数据存储入库(数据同步)和数据使用规划。二是监控平台建设,包括接口监控子平台和硬件监控子平台。

数据处理主要从以下几个部分展开,一是数据梳理,聚集气象局各个业务系统的相关数据并进行详细的统计分析,并且形成数据字典,其中包括数据的数量、组成及类型等相关信息。二是数据预处理,根据数据分析的情况,把所有待处理入库的数据按照数据类型进行归纳整合,并判断是否需要设计新的数据表结构;如果需要设计新的数据表,则将根据分析结果设计并形成结构清晰、存储合理且拥有良好数据接口的数据表结构。三是建立测试应用库和测试用户库及文件系统,即在中试平台服务器上建立测试数据库。四是数据存储入库(数据同步),其中,气象局中心库数据储存到测试应用库,气象局用户库数据储存到测试用户库,气象局文件系统数据储存到文件系统。五是数据使用规划,对测试数据库的数据,前期梳理之后打上标签,业务系统使用数据需要设定使用权限和标签数据流向,并进行监控。

监控平台建设包括接口监控子平台和硬件监控子平台,其中接口监控子平台通过接口调用数据,从而设定数据使用权限,同时要根据前期数据梳理阶段的数据标签进行数据流向监控,数据使用各个环节严格把关,以保证数据使用的安全性;硬件监控子平台通过第三方监控软件(zabbix)监控中试平台所有硬件(如服务器等设备)的运行情况,从而能及时发现和处理故障。

气象行业大数据中间测试平台建设总体功能如图1所示。

图1 中间测试平台建设总体功能图Fig.1 Overall function diagram of intermediate test platform construction

3 应用实例与成果检验

深圳市气象服务中心开发建设了中试平台,于2018年投入使用。该中试平台为各开发厂商提供了一个完全封闭的开发测试环境。开发厂商必须通过虚拟云桌面使用中试平台,利用接口调取气象数据,且厂商调取的数据仅能储存在虚拟云桌面上,因此,整个开发测试环境与外界完全隔离。气象局通过zabbix监控服务器的运行情况,通过数据监控接口监控用户每小时、每天、每个月的数据调用量以及调用的数据类型等指标。

中试平台应用库(ORACLE)数据来源于深圳市气象局中心库,中试平台用户库(ORACLE)数据来源于气象局用户库,中试平台应用库(MYSQL)数据来源于厂商MYSQL数据库,中试平台文件系统数据来源于气象局文件系统服务器。

中试平台共使用了4台服务器,其中中试平台应用库(ORACLE)和中试平台用户库(ORACLE)各占用一台,中试平台应用库(MYSQL)和文件系统共同占用一台,接口平台和监控平台共同占用一台。整个平台的逻辑架构如图2所示。

图2 中间测试平台逻辑架构图Fig.2 Logical architecture diagram of intermediate test platform

中试平台搭建完成投入使用后,软件开发厂商入驻中试平台进行开发测试,需要执行申请、调试、配置接口、测试(测试内容包括了功能测试、压力测试、回归测试、用户测试、业务流程测试以及文档检查等)、合格判定等步骤。

自2018年中试平台建立应用以来,极大提升了气象大数据支撑应用和共享服务能力:一是提升了平台业务支撑能力,利用中试平台规范各业务系统及各开发公司管理模式,实现“测试、开发、生产”场景分离,明确数据、网络权限管理机制,严格把控数据接口使用规则,保障全局业务系统安全稳健运行。二是增强了数据开放共享服务能力,汇集气象数据资源并进行产品整合,融合跨行业数据,建立气象服务主题库,定制化气象数据产品,协同创新数据共享机制,推动实现普惠气象服务水平,进一步提升气象数据使用价值。三是提高了数据智能化应用能力,着力将大数据、云计算等技术运用到多维气象综合观测、精准气象预测预报和高效公共服务业务中,提升气象数据在线加工、挖掘分析能力,将观测、预测、服务数据与气象大数据云平台对接,实现硬件“入云”、数据“接云”、服务“云端”的气象云生态模式,加快气象产品智能化应用步伐。总的来说,中试平台对内实现了大数据规范化管理,保障基础平台运行高效、稳定;对外提升了气象数据使用价值和数据共享服务能力,打通了气象数据与行业、科研机构及气象爱好者的服务链路。

2019年4月,深圳市某公司为深圳市气象局紧急开发一个深圳市城市安全气象决策支持平台,平台以现有的气象观测数据为基础,为政府相关部门应对各类气象灾害天气的减灾防灾及快速联动提供决策服务依据。该平台基于“以风险为中心”的公共安全管理理念,整合各类信息资源,并在此基础上通过相关风险评估最终为城市安全决策、事故应急处置提供可靠的信息支撑,涉及数据交互、用户表单存储、资料分拣、信息识别等方面的内容。该平台在开发期间恰逢持续暴雨天气过程,在以往的开发过程中,此类功能开发完成后,需在没有天气过程的时候进行测试,以免影响正常的业务系统运行及数据传输。由于该平台的整个开发过程完全在中间测试平台进行,且通过接口调取测试库数据,因此并未受到天气过程影响,也并未对其他业务系统造成任何影响,最终从开发到上线用时不到一周,有效提高了开发效率,同时也为数据传输安全等方面的工作起到了极大的保障作用。

4 结论

气象行业数据中间测试平台的建立,实现了数据和产品格式的统一化,将专用格式解析为通用格式,由专家级数据利用转变为工程师级数据利用,在降低数据使用门槛的同时便于进行集中管理;同时中试平台搭建的测试环境规范了数据使用和开发流程,有效的解决了数据混用的问题,为今后更大范围的数据共享、数据合作的安全性方面起到了有力的参考作用。该平台的成功经验,也将向周边兄弟单位进行有效的推广。

随着气象灾害预警系统功能模块的不断更新和丰富,以及开发上线业务系统逐渐增多,中试平台无论在开发环境的承载量,还是在测试数据承载力和存储读写方面的压力都会不断增大。因此,我们还将继续开展更多中间测试环境服务的升级,为将来更加复杂的开发和测试业务需求做好充分的准备。

猜你喜欢
测试环境气象局气象
气象树
黑龙江省气象局组织参观黑龙江省廉政教育基地
黑龙江气象(2021年2期)2021-11-05 07:07:08
《内蒙古气象》征稿简则
内蒙古气象(2021年2期)2021-07-01 06:19:58
全数字仿真测试环境在航天软件测试中的应用研究
气象战士之歌
心声歌刊(2019年5期)2020-01-19 01:52:52
雷达航迹处理测试环境构建方法研究
科技视界(2019年10期)2019-09-02 03:22:27
网络设备自动化测试设计与实现
大国气象
辽宁省环境保护厅与辽宁省气象局进一步深化合作
敢问天公脾气几何?——宝山气象局参观记
小主人报(2016年9期)2016-12-01 06:23:20