气象数据传输流程可视化设计与实现
2021-06-23乔文文郭捷谢礼江
乔文文,郭捷,谢礼江
(广东省气象探测数据中心,广东 广州 510640)
气象通信系统是承担气象观测资料、预报预测、服务产品等气象数据收集与分发的业务系统。气象数据是气象业务和科研的基础[1-4],广东省气象通信系统接入的气象数据包含地面、高空、辐射、海洋、农业气象和生态气象、大气成分、卫星、雷达、气象灾害、数值预报产品、历代气候代用、科学试验和考察、气象服务产品和其他资料[5]等14大类,这些资料的传输流程是通过业务文档进行管理,伴随着气象观测和预报技术的发展、气象资料种类的增多、数据传输共享需求的变更、资料传输中转流程的调整等,通过人工整理业务文档管理气象数据传输流程已变成一项费时费力的工作,且文档的更新及利用也无法达到令人满意的程度,因此动态获取气象数据传输流程的需求日益强烈。薛蕾等[6]2014年利用NetMiner对新一代国内气象通信系统的传输配置进行了可视化分析与管理,描述了主机间的传输关系,但是目前尚未发现同时对新旧不同版本气象通信系统传输配置进行统一管理、以气象资料为维度的传输流程可视化相关研究。为了使气象数据传输流程更清晰明了、易于获取,本研究将结合广东省气象通信业务开展气象数据传输流程的可视化研究。
1 广东省级气象通信业务现状及架构
1.1 省级气象通信系统现状
9210工程以后,气象通信系统经历了新一代国内气象通信系统[7-8]、数据收集与分发系统(China Telecommunication System,CTS)1.0[5]和2.0[9]的变化,其中广东省气象探测数据中心于2012年3月完成新一代国内气象通信系统业务化,该系统支持实时文件传输,具有性能稳定、部署方便、易于维护的特点;于2016年1月完成CTS1.0业务化,该系统支持实时文件传输,首次实现了界面化管理数据传输配置的功能;于2019年1月完成CTS2.0业务化,该系统在保留CTS1.0文件传输功能的基础上进行了升级,增加了省级与台站和国家级之间的以消息和流的形式进行数据传输,并可以将消息和流在省级本地落地为文件。目前这3个版本气象通信系统有单机版和集群版,在广东省气象探测数据中心稳定运行着,承担着不同的数据传输任务。
1.2 省级气象通信业务传输现状
目前广东省级气象通信系统主要收集的数据包括:本省台站观测资料、本省气象部门制作的预报预测等服务产品;省际共享气象数据;国家气象信息中心通过中国卫星数据广播系统CMACast和目录订阅下发的气象数据;从国家级服务器或者互联网下载的资料和产品;部门共享数据等。资料种类繁多,数据量逐年增加,目前数据接入策略有700多条,接入数据量达1 T/d。
数据进入气象通信系统,经过文件名检查、格式检查、快速质控等处理后进入分发环节。分发用户包括国家气象信息中心、本省气象部门、周边省际气象部门、行业用户、政府部门用户和港澳地区用户等。目前资料分发给国家气象信息中心通信系统和省级全国综合气象信息共享平台(China Integrated Meteorological Information Service System,CIMISS)主要通过文件、流、消息传输,向其他目标用户传输数据主要以文件格式为主。气象数据传输业务中,资料种类繁多、数据量大、目标用户时效要求高,且数据流转业务变更较为频繁,因此对业务运维管理人员有较高的技术要求。
1.3 广东省级气象通信业务架构
结合各版本气象通信系统的特点以及数据传输共享的需求,本研究利用CTS和新一代国内气象通信系统,规划各类气象数据的收集与分发,在参考文献[10-11]研究的基础上,设计了广东省气象通信业务统一架构(图1)。选择支持多种数据传输方式的CTS2.0作为气象数据的统一入口,通过文件、消息、流传输的形式完成数据的收集并传输至主站的国家级气象通信系统和本省CIMISS DPC,并完成消息和流数据的文件落地,将文件分发至省内气象数据分发系统;利用新一代国内通信集群系统作为省内气象数据分发系统,完成所有气象文件数据的接收和分发,分发用户为广东省气象探测数据中心内部业务系统,完成数据的实时和历史归档工作。使用新一代国内气象通信系统软件建立数据收集与分发群集,按业务进行分类,如文件下载服务器、省际及省内气象内部数据共享服务器、对外部门共享服务器,分别完成从国家级或者互联网服务器下载数据、气象内部及外部门数据传输共享工作。
图1 广东省气象通信业务架构示意图
为保证数据传输的稳定性及不间断,每个环节的气象通信系统都建立备份系统,因此目前气象通信系统相关服务器已经超过30台,分发目标主机也达到150多台,要想找到一种资料的传输经由主机,必须是由通信系统运维人员查看各通信系统的传输配置,而非通信系统运维人员很难查到数据传输的整个流程。因此本研究将对新一代国内气象通信系统、CTS1.0和CTS2.0的收集分发策略进行统一入库,建立气象数据传输知识库,并在此基础上开展传输流程可视化的研究,进而为传输信息检索、资料传输脉络的揭示提供支持。
2 气象通信系统异构收发策略解析
气象数据的收集和分发依赖于气象通信系统的收集分发策略。新一代国内气象通信系统收发策略保存在文件配置里,包含AFD_CONFIG、HOST_CONFIG、DIR_CONFIG等;CTS1.0和CTS2.0的收发策略保存在MySQL数据库TS_DIR_COL、TS_FILE_COL、TS_COL_FLOW、TS_REMOTE_HOST、TS_SEND_USER等数据表中。
新一代国内气象通信系统和CTS的收发策略虽然在存储方式和语法上异构,但本质上,都记录了每一项资料从哪来、到哪去、经过了哪些处理[6]。为了解决收发策略异构的问题,本研究构建了气象数据传输知识库,设计通用的收发策略信息表、主机信息表、用户信息表等,实现对各通信系统异构收集分发策略信息进行统一存储管理。其中最重要的通用收发策略信息表如表1所示,包括了收集目录策略、收发模板策略(正则表达式)、流程算法策略、分发用户策略等;为了应对数据抓取推送,特别设计了中转主机字段,且算法类型中包含了实际业务中最频繁使用的算法策略。
表1 通用收发策略信息表
根据收发策略不同的存储格式,开发两类转换工具,即从文件数据转换和从关系数据库转换。通过解析文件数据和对策略数据表进行联合查询,提取各通信系统规范的通用的信息写入传输知识库中。转换过程中,新一代国内气象通信系统的文件名模板策略转化为CTS支持的正则表达式规则。
3 传输流程可视化实现
3.1 绘图工具Graphviz
Graphviz[12](Graph Visualization Software)是由贝尔实验室设计的开源图形布局和可视化工具包,可以将结构信息表示为抽象的图形和网络图。它提供了C/C++、Java、Python等语言的API供其它软件调用。用户在使用Graphviz绘图时,只需要将精力集中在逻辑设计上,关注图中各个节点之间的关系,传入节点、边以及子图等属性值,并不需要考虑如何安排各个节点的位置,以及怎样布局才能够使所绘制的图形显得更加美观,图形绘制布局都由工具引擎来完成,最终以所需的输出格式制作图形[12]。Graphviz是非常有用的工具,已经广泛应用在机器学习、工程等技术领域[13-14]。
3.2 可视化过程
Graphviz是由图、节点和边3种元素组成,每种元素都有自己的属性,如形状、颜色、字体、大小等等,这些都可以在代码中进行实现。本研究通过加载Graphviz的API包PyGraphviz,调用传输知识库中的通用收发策略信息、主机信息等相关数据,自上而下,从根节点到叶节点,逐层遍历,进而自动构建传输流程图,并将图形交给输出模块,最终呈现给用户。使用Graphviz绘制气象数据传输流程图的具体过程如下:
(1)定义一个图形。
(2)以选定的资料经由主机IP、收集目录、文件名模板确定资料的顶点,设置顶点的字体、颜色、形状等属性信息。
(3)根据选定的顶点从气象数据传输知识库中检索出以此顶点为源端对应的传输目标端,如果目标端不存在,分支绘制结束;如果存在目标端,则将目标端逐个作为传输流程图的下一层节点,设置其属性信息,并与上一层连线,可将中转主机、算法名称等作为边的属性信息。
(4)如果上一步的目标端存在,则利用正则表达式将目标端IP、目录、文件名模板在通用收发策略信息表去匹配所有源端IP、目标、文件名模板,若没有匹配到源端信息,则为传输终点,分支绘制结束;若匹配到源端信息,则作为子图的顶点,执行第3—4步绘制子图。
(5)导出绘制的图形为所需的格式,绘制结束。
选择广东省国家自动站新Z报文及其接入目录作为起点,利用Graphviz生成的传输流程如图2所示。流程图中圆角矩形表示资料流经的本省气象通信系统主机,矩形表示其他业务主机,这些主机节点包含了主机的描述、IP、目录、文件名模板等信息。主机之间的连线表示数据的传输流动,周围有一些传输配置信息。从流程图中可以看出,国家自动站新Z报文在抵达广东省CTS2.0后,共流经14个节点主机,该流程图清晰展示了此资料传输脉络,绘制时间迅速,毫秒级。在实践中发现,为了使得传输流程绘制更完整,下一级通信系统文件名模板策略和上一级通信系统策略相比,要相同或者更详细。
目前检索气象数据传输知识库、选取数据起点以及流程可视化的功能已经集成到广东省气象通信系统管理平台。
图2 利用Graphviz绘制的国家自动站新Z报文传输流程示意图1)
4 结论
为了实现以资料为维度全面快速掌握资料传输的全流程,本研究设计了广东省省级气象通信业务架构,将气象通信系统异构收发策略配置解析入传输知识库进行统一管理,并利用Graphviz进行了气象数据传输流程的可视化实践。结果表明,利用Graphviz能够代替人工迅速动态绘制出数据传输流程图,能够应对日益增长和变化的气象通信业务,解决值班业务文档更新慢、工作量大的问题;并且气象数据传输流程可视化更直观地展示资料的流转情况,有利于气象通信系统运维人员高效管理通信业务,也使得非气象通信系统维护人也能快速获取数据传输全流程信息。本研究还存在一些不足,下一步将对气象传输知识库进行丰富,并开展交互式传输流程图绘制研究。