海 洋,李浩鹏,刘 忏,刘靖宇
(1.中国铁路信息科技集团有限公司,北京 100844;2.河北工业大学 人工智能与数据科学学院,天津 300401)
随着铁路行业信息技术的快速发展,铁路信息化建设逐步深化。铁路领域各业务系统,如电子支付系统、货运票据电子化系统、铁路运输管理信息系统、客票清算系统和铁路车辆运行安全监控系统等,每年都会产生海量数据,且新产生的数据量逐年增加[1-2]。同时,铁路管理部门和业务部门产生包括结构化、半结构化、非结构化等多种类型的数据[3]。基于铁路业务场景、数据类型、安全级别对数据进行分类存储与管理,保证存储效率、安全性和经济性,便于数据分析处理,成为亟待解决的问题。
本文设计的铁路大数据存储管理系统使铁路各部门及时、准确掌握不同业务数据的产生、存储、使用、管理、备份和删除等情况,协助相关部门规范铁路大数据存储、管理与使用,为铁路精细化经营管理和决策制定提供数据支撑,为更加科学、有效地规划数据中心建设提供依据。
铁路领域业务种类多、数据量大、数据类型复杂[4],这为铁路数据存储与管理带来了挑战。铁路大数据具有以下明显特征。
(1)海量数据,且数据增量逐年递增。5类主要的铁路业务2020年新增数据总和约为220 TB,其中,货运票据电子化系统新增约114 TB、客票清算数据新增约50 TB。
(2)数据格式多样化。铁路涉及的业务种类较多,应用场景复杂,产生的数据格式包括结构化、半结构化和非结构化等,如铁路车辆运行数据、视频监控数据、设备台账、电子邮件等。
(3)数据类型复杂。包括客货运数据、设备台账数据、基础设施监测和视频监控数据等。
上述铁路数据的特征为数据的存储和管理带来了难度。
铁路大数据存储管理系统是针对铁路数据中心大数据的采集、分类、存储、管理的多维管理系统。系统面向铁路局集团公司各业务部门,使铁路局集团公司和数据中心的管理人员可以从多个层次,宏观、高效地管理数据。系统架构如图1所示。
图1 铁路大数据存储管理系统架构
2.1.1 数据采集模块
该模块包括数据源、下级数据中心和各铁路业务系统数据交换与整合3个部分。模块采集下级数据中心交换、整合的铁路各项业务(如工务、电务、机务等)数据,实现数据的实时访问,并进行数据综合管理。
2.1.2 数据综合管理模块
数据综合管理模块按照大数据处理顺序分为数据集成层、数据湖、数据分析层和数据应用层。
(1)数据集成层的主要功能是数据采集,通过前端服务器,实现数据的统一读写控制,该层使用Sqoop、Flume、Kafka等,从物理和逻辑层次上把来自各项铁路业务中具有不同性质、不同格式的数据有机集中起来,为上层大数据应用开发提供数据支持[5]。
(2)数据湖用于存储和管理由数据集成层采集的全量数据,包括铁路各业务领域信息系统所产生的原始数据,及各类转换数据。数据湖实现了结构化数据、半结构化数据和非结构化数据的统一存储和管理。
(3)数据分析层通过人工智能技术(算法预测、机器学习等)对铁路大数据进行分析和处理,充分挖掘铁路大数据的潜在价值,分析结果可为数据应用层提供理论依据。
(4)数据应用层基于数据分析层对铁路各业务和管理部门的数据的分析结果,对铁路运营进行科学合理的管理和规范,在管理、决策中充分发挥铁路大数据的价值。
2.1.3 数据存储模块
存储设备由虚拟存储设备与磁盘阵列两部分构成,虚拟存储设备的主要功能是为已分类的冷温热数据指定逻辑存储地址,而硬盘阵列的主要功能是将已指定好逻辑路径的数据块映射至对应的物理存储区。
2.2.1 统一交换云平台
为实现铁路数据资源的整合,方便铁路数据的存储管理,系统采用统一的云平台,通过数据交换技术将各类业务产生的数据统一存储,包括在局域网和WLAN端产生的数据,从而降低铁路大数据存储管理的复杂度。
2.2.2 无丢包服务
铁路各业务均要求数据具有高可靠性。由于网络存储系统通常将数据存储在不同节点上,在进行数据访问时,往往需要在多节点并行读取或写入数据,需保障数据并行处理时的可靠性,避免数据在传输过程中出现传输失败现象,实现数据传输过程中的无丢包目标。铁路大数据存储管理系统通过基于优先级的流量控制、带宽管理、拥塞管理技术实现无丢包服务[6-7]。系统采用的无丢包技术及实现方式如表1所示。
表1 无丢包技术及实现方式
系统基于优先级类别的流量控制、带宽管理和拥塞管理技术,构建无丢包网络架构[8]。该技术为铁路各项业务提供安全的数据管理环境,为铁路各类应用直接合理分配资源提供技术保障和支持,使铁路大数据存储管理系统能够在复杂的网络环境下安全运行。
2.2.3 虚拟化技术
铁路大数据存储管理系统采用虚拟接口技术、VN-Link技术和服务器虚拟化技术。利用虚拟化技术[9]实现“接口—链路—服务器”的虚拟化[7],便于整个系统工作负载的整合,可以在最大程度上提升存储和网络系统的利用率,从而降低整个系统的运营成本;虚拟接口技术为系统中所有可访问资源提供统一的管理和控制接口;利用VN-Link技术可在网络、存储和服务器的物理链路上建立多条虚拟链路,且直接映射到物理端口,避免数据在多个交换层之间传输时的转换操作,为管理者提供便利;通过服务器虚拟化技术可自由调度数据中心的计算资源,使不同业务应用不再考虑硬件资源对自身的影响,实现资源的合理分配。
系统开发基于Windows 10操作系统,Tomcat 7.0 Web应用服务器,数据库采用MySQL 8.0。系统前端基于AngularJS框架,可视化工具采用ECharts,后台采用SSH框架。AngularJS框架具有强大、丰富的模板,能够实现数据的双向绑定,支持自定义指令,并可跨项目使用,显著提升开发自由度和效率。ECharts是一个开源的可视化工具,具有封装性好、图表工具种类多、功能按钮丰富、兼容性高等优点,能够快速构建当前所需的各类可视化图表。SSH框架是一种开源的Web应用程序框架,实现了代码分离,降低了工作复杂度,维护方便,且具有良好的可复用性。
3.2.1 数据来源管理
该功能统计和管理各业务平台数据信息,为数据生命周期管理、数据分层、存储管理提供依据。统计当前数据容量、IOPS、吞吐量等信息,且可查看近期写入、删除的数据条目和不同业务数据的详情,如电子支付、货运票据、资金详情、车辆监控、货运编组等。
3.2.2 存储系统资源可视化管理
该功能包括内存资源管理、冷温热数据存储管理、数据中心资源管理。其中,内存资源管理使用户可直观地查看不同业务的当前内存占比,并可根据需求增加或减少相关业务资源;冷温热数据存储管理对冷温热数据区别存储和使用,收集冷温热数据近期涨幅情况,适当调整冷温热数据存储量;数据中心资源管理,以可视化形式对各下级数据中心的CPU、内存、存储等资源的使用状况进行管理,收集和展示近期各数据中心的数据存储量及传输量,以便在需要的时候进行数据转移或数据恢复操作。
3.2.3 数据预测和存储规划
通过大数据技术和人工智能技术,预测冷数据、温数据、热数据的存储和管理需求,合理规划数据分层存储架构,为数据中心规划建设提供理论支撑。
3.2.4 数据的统一管理
铁路大数据存储管理系统实现铁路各业务数据的统一管理,使铁路大数据能作为一个逻辑整体进行存储管理。系统实现对铁路大数据存储资源的统一管理,例如,对各业务占用存储资源的分配、调度,以及对资源的使用情况统计等。系统提供了一个B/S模式图形化人机交互界面,用户可直观查看系统的各项功能。
针对铁路信息化建设所面临的数据量大、数据结构复杂、管理难度大等特点,本文设计了铁路大数据存储管理系统,使铁路各部门及时准确掌握和管理不同业务的数据产生、存储、使用、管理、备份和删除等现状,实现了铁路大数据的多维度综合管理,使铁路数据得到了充分利用。随着铁路信息化程度的不断加深,铁路大数据存储管理系统可进一步结合各类最新的信息技术,为铁路数据中心和铁路业务提供更高效的管理手段。