基于机车数据融合的机车综合应用系统设计与实现
2022-03-31付多忠杨丹华陈重阳
杨 凯,付多忠,杨丹华,郭 朋,陈重阳
(1.中国铁路西安局集团有限公司 信息技术所,西安 710054;2.中国铁路西安局集团有限公司 调度所,西安 710054)
机车的运用管理一直是机车调度工作的重点,调度员对机车实际轨迹和机车运行状态的实时掌控、关联数据的预警和分析对提高调度工作效率尤其重要。目前,铁路各类机务相关系统建设周期不一、厂家不同、接口各异、标准化程度弱、信息共享困难[1-3],机车调度员需查询的机车运用状态分散于机车调度、机车运用概况表、机车调度命令、机务运用安全管理、机务闸楼车号自动识别(AEI,Automatic Equipment Identification)、机车整备等各类机务相关系统中,调度指挥人员、分析人员等的查询界面分散,无法及时查询所关注的机车信息,并且需要通过人工查询既有各类机务相关系统或通过电话人工确认机车状态,存在查询数据缺失、工作效率低、系统间缺少关联性[4]、缺少数据综合使用及后续分析的途径等问题,亟需一套机车综合应用系统[5]。本文以机车调度员能够高效掌握机车的运用状态为目的,依托抽取、转换、加载(ETL,Extract-Transform-Load)技术,设计并实现满足调度员需求的基于机车数据融合[6]的机车综合应用系统(简称:机车综合应用系统)。
1 系统设计目标及原则
1.1 设计目标
依托机车调度员、机车、机车交路、机车调度图、现场设备等基础数据字典,基于机车调度日班计划、实际周转图、机车运用概况表、机车调度命令、派班计划、出/退勤、整备状态、机车出/入库等核心数据,设计和实现面向调度指挥、调度分析的机车综合应用系统,建立数据间的关联关系,解决机车调度数据分散、信息不能共享的问题,为调度员提供综合数据统计、分析及预警功能,提高机车调度工作效率,为调度决策提供科学依据。
1.2 设计原则
(1)高内聚、低耦合原则。机车综合应用系统的底层框架稳定,不会因为需求的改变而引起大的调整。
(2)展现形式多样性原则。基于帆软报表,根据用户需要,提供灵活、形式多样、内容丰富的表格、图表等展现形式,提供良好的自定制功能。
(3)易用性原则。将机车综合应用系统中关联数据集中展示,系统界面简单直观,方便用户查询。
2 系统设计
2.1 数据架构
机车综合应用系统以机车数据为中心,数据主要来源于各类机务系统,如机车调度系统、机车运用概况表、机车调度命令、机务运用安全管理信息系统、机务闸楼AEI系统、机车整备系统等。
通过 ETL 技术的 Pentaho Data Integratio(PDI)工具处理多源数据,以清晰灵活的图形化方式展现数据处理过程,实现对数据的抽取、转换、装载,同时,进行数据的存放、清洗、过滤、粗加工、细加工等工作,后期可以通过简单修正,完成针对作业流、业务模型变化的相应调整,从而高效管理作业流程和业务模型。根据机车综合应用系统的不同需求,对数据进行组合、关联、封装,形成前台应用所需要的业务数据。机车综合应用系统数据架构如图1所示。
图1 机车综合应用系统数据架构
2.2 技术架构
机车综合应用系统采用C/S、B/S结合方式,使用Java语言开发[7]。后台处理为C/S架构,主要完成底层数据颗粒化、格式化、标准化的汇聚,并按机车调度业务逻辑、业务需求进行数据融合,定制化数据;展示层为B/S架构,负责相关数据的展示工作。在设计技术架构时,借鉴了模块化的设计思想,采用服务化的组件开发模式,减少代码开发量,提高开发效率。系统技术架构如图2所示。
图2 机车综合应用系统技术架构
(1)数据源层、采集层、预处理层:使用PDI工具,完成对多种数据源的抽取、解析、筛选、清洗、转换、加载等。
(2)数据存储层:采用Oracle12c数据库存储,保证信息的安全性、完整性、一致性及恢复能力。
(3)控制层:采用JFinal框架开发,提高程序的开发效率,代码可读性强且易于维护[8];权限、菜单、角色管理等采用Layui框架,提供统一风格界面、灵活方便的菜单系统,以及功能强大的权限角色管理等。
(4)展示层:采用FineReport报表、JavaScript、层叠样式表单(CSS,Cascading Style Sheet)等技术,提供灵活多变的展示形式。
2.3 信息共享
机车综合应用系统主要业务依托于各类机务相关系统的数据集成,数据落地至本地数据库,不回写至所访问的系统源。集成的数据只用于机车综合应用系统各核心业务间的数据共享。
数据权限开放、采集方式如下:
(1)开放各类机务相关系统的数据查询权限,以视图的方式提供给机车综合应用系统;
(2)使用ETL技术,按照数据特点定时抽取各类机务相关系统的数据。
3 系统功能
3.1 用户权限角色管理
基于Layui框架,实现对用户、岗位、权限、菜单及角色集中管理,提供灵活方便的用户权限配置管理功能。
3.2 基础字典管理
对调度所人员字典、机车字典、机车交路字典、机务闸楼AEI字典等进行维护管理。
3.3 数据治理
采用C/S方式,每10 min对所涉及的机车数据处理1次,具体如下:对机车调度日班计划、实际运转图中运行线进行最小化拆分,形成到达、出发、转交路、机车状态转换等机车数据,通过集成平台、行车调度查询系统、铁路运输管理信息系统/调度指挥管理信息系统(TMIS/DMIS,Transportation Management Information System/Dispatch Management Information System)结合中的机车和运行线车次等信息对机车状态进行校正[8];对机车运用概况表、机车调度命令中机车运用状态和命令、机务闸楼AEI中出入段信息、机务运用安全管理信息系统中司机出/退勤信息、机车整备库的整备状态进行格式化、标准化后清洗入库;在后台整合数据,形成基础数据,该处理功能采用PDI工具,后台处理功能运行结果,如图3所示。
图3 PDI工具后台数据处理运行结果示例
3.4 机车运用状态追踪
按照机车交路、机车型号、时间范围查询机车轨迹信息,包括机车周转图中出发、到达、机车、车次、非运用状态转换、机车出入机务本段、折返段、机车整备等运用轨迹信息,同时用行车调度中实际数据进行匹配、校验,在显示界面中以蓝色或绿色文字显示,分别表示当前为计划时刻或实际时刻。
3.5 机车折返预警
通过对机车到达、入段、整备、派班计划、出段、出发等信息的分析,各机务折返段按不同的阈值进行判断,掌握阶段计划执行进度,实现对机车在机务段、折返段及所在站折返的全过程监控。在显示界面,对超时情况通过兰色、橙色和红色分级别、分阶段进行预警。按机车调度台、机车调度图、交路和区段,查询、显示预警信息。
3.6 本局、外局机车全周转时间计算及统计分析
按照机车全周转时间计算规则,分别计算本铁路局集团公司(简称:本局)、其他铁路局集团公司(简称:外局)机车全周转时间;按调度员、班次、调度台、调度图进行班次排序,为班次考核提供依据;针对不同机车交路、机务段、折返段,对当月全周转时间按日进行统计分析。
机车全周转时间计算规则:机车全周转时间=整备时间+出库到开车时间+上/下行旅行时间+折返时间+到达到入库时间。
3.7 超劳分析
以实际机车周转图上运行线及调度员输入的出勤时刻为基础,输入出勤班次,匹配行车调度径路对应车站,确定超劳时间,实现调度员对超劳列车的掌握及统计。
3.8 派班计划及出/退勤查询统计
按照机务段、派班室、出勤线路、机车等信息查询各机务段的计划出发车次、计划出发机车、出勤人员、出勤计划、实际时刻、实际出发机车、退勤时刻等信息。
3.9 整备状态查询统计
按照机务段、折返段、交路及机车,查询并统计机车整备状态,匹配相关进段、出段及整备信息。
3.10 矿区停留考核统计
在已开发的机车折返预警及分析系统的基础上,按照给定的班次时间范围和统计阀值,制定满足需求的矿区停留超过4 h考核表。该考核表可作为对计划台和机车调度台的考核依据。
3.11 机车调度相关指标展示
展示的内容包括各机务段可运用机车占比,各机务段机车运用、客运、出租、调车、各类检修的占比,以及机车折返情况和机车全周转时间等。
4 关键技术
4.1 ETL技术
ETL技术用来将数据从来源端经过抽取、转换、加载至目的端。机车综合应用系统中,采用ETL技术将各类机务相关系统数据经过处理、加载至本地数据库中,将原来分散、零乱、格式不统一的数据融合、集中为目标用户明确且随时可用的数据。
4.2 PDI技术
PDI是一款开源的ETL工具,可采用拖拽组件、连线和配置的方式构建数据管道,完成对多源数据的关联、过滤、格式转换、计算和统计等,输出到不同的数据目标,PDI为机车综合应用系统数据源多且分散、格式不统一提供了良好的解决方案。
4.3 Layui框架
机车综合应用系统的开发应用了Layui框架。Layui是一款采用自身模块规范编写的前端用户界面(UI,User Interface)框架,遵循原生 HTML/CSS的书写和组织形式,提供统一简洁的界面,具有灵活的权限分配和角色管理功能。
5 结束语
机车综合应用系统针对调度信息化需求而开发,该系统将原本分散在各类机务相关系统中的机车数据汇聚融合;同时,挖掘不同机务系统间机车数据的关联性,通过对不同人员的权限控制,实现调度指挥人员、分析人员等可以在集中界面中对各自关注的机车关联数据进行高效查询。
目前,机车综合应用系统已在西安局集团公司机车调度岗位应用,有效提升了调度指挥效率。随着系统的使用,将根据需要更深入地挖掘各类机务相关系统间的逻辑关联性,依托数据的积累,在智能化、超前预警等方面做更多的研究。