APP下载

货运列车编组统计信息系统(铁路局级)的设计与实现

2014-01-18靳健陈森玲陈志荣

铁路技术创新 2014年3期
关键词:车务段编组铁路局

■ 靳健 陈森玲 陈志荣

货运列车编组统计信息系统(铁路局级)的设计与实现

■ 靳健 陈森玲 陈志荣

为支持新的清算规则需要,开发货运列车编组统计信息系统,通过货物列车编组顺序表和货票信息的关联,准确统计一系列清算指标,对加快转变铁路发展方式,提高铁路发展的质量和效益,具有重要的意义。货运列车编组统计信息系统的设计立足于系统设计总体目标,通过分析各业务管理信息系统信息流程过程,从车站、车务段、铁路局、中国铁路总公司四个级别搭建系统总体架构,重点分析铁路局级子系统的功能模块、业务特色和关键技术实现。从系统投入运行后,稳定可靠,其数据信息已作为全路财务模拟清算数据使用,将为全面推进财务清算规则提供重要的统计信息。

货运列车编组;清算统计;信息系统

0 引言

为适应铁路转换经营机制改革,落实铁路运输企业市场主体地位,实施多元化经营战略,中国铁路总公司对相关财务清算思路进行了调整:收入来自于市场,旅客运输和货物运输承运清算,提供服务相互清算。新的清算思路给运输统计工作提出了更高的要求,必须对每一批运输的实际走行径路按承运主体、提供服务主体、接受服务主体分别统计运输工作量,以传统的货物列车编组顺序表和货票的关联,实际发车时间产生新的货物列车编组顺序表(简称清算运统1),以清算运统1和司机报单为基础信息,可以满足财务清算改革思路的需要。

为确保生成准确、及时、完整的清算运统1,由原铁道部统计中心和信息技术中心统一部署,由广州铁路(集团)公司(简称广铁集团)承接清算运统1铁路局(车务段)级的开发任务,开发了货运列车编组统计信息系统(简称系统)。通过货物列车编组顺序表和货票信息的关联,系统准确统计联合运输车辆在各运输企业的走行公里、各编组区段站的中转办理车、分界口整列排空货车的走行公里等一系列清算指标,为全面推进铁路财务清算改革提供保证,加快转变铁路发展方式,从而不断提高铁路发展的质量和效益。

1 系统目标

系统设计最终目标是实现对清算运统1上报和数据审核的自动化管理,一方面可确保数据自动传输上报的稳定可靠,另一方面可确保自动化审核准确无误,纠错功能设计科学合理。系统目标包括:

(1)完成清算运统1在统计方面应用需求的研究,建立全路铁路局、车务段清算运统1信息应用和管理规范化、标准化的体系结构。

(2)建立多系统信息共享环境,实现运统1、货票、司机报单等相关应用系统互联,最大限度地实现信息资源共享。

(3)建立稳定、可靠的传输机制,实现全路清算运统1信息从车站到车务段、再上报到铁路局和原铁道部。

(4)在铁路局、车务段建立清算运统1的综合应用系统,实现货运列车编组信息的综合利用、深度开发,实现与铁路运输清算相关报表的统计、查询等,为运输生产和财务清算提供辅助决策和咨询服务等功能。

2 业务分析

系统的信息源包含在已经建成各业务管理信息系统中,从相关的各业务信息系统中获取或基层站段人工补充录入少量信息,经计算处理后产生 清算运统1信息,再逐级上报、汇总、处理,实现本系统的设计目标。各业务管理信息系统信息流程见图1。

3 系统总体架构

货运列车编组统计信息系统总体结构分为车站、车务段、铁路局、中国铁路总公司四级。在铁路局采用应用及数据集中部署的架构,即一个铁路局只安装部署一套数据库服务器实现全铁路局货运编组信息的存储,一套应用服务器实现车务段及铁路局级应用的部署,车务段和路局用户都使用客户端软件执行系统操作。

信息传输基于铁路计算机网,采用MQ传输方式。系统架构见图2。

图1 各业务管理信息系统信息流程

图2 系统总体架构

4 铁路局级系统功能

货运列车编组统计系统铁路局级应用接收车务段及直管站上报的数据报文,校验入库,并对信息进行审核,审核发现错误的报文将错误信息反馈给相应的车站。将审核通过的报文上传至原铁道部。提供铁路局级综合应用,为管内车务段及车站提供Web服务及查询服务。

按照总体方案架构和结构流程,铁路局级在功能上划分为实时监控、错误检查、报单信息、报文监控、报表汇总、生产辅助、历史管理、字典管理、系统管理9个模块,考虑到铁路局和车务段级系统业务的互通互联性,铁路局系统和车务段系统使用相同的模块结构。

(1)实时监控模块。该模块主要实时监控各站段上报清算运统1、运统8、运报9A、运报11A的总体情况,以及铁路局生成的整列排空列数情况。同时实时反映报文的数据质量,以及车站到卸车的确认情况。

(2)错误检查模块。该模块主要对清算运统1报文出错的详细信息进行分类展示,分为运统1车辆属性错误、运统1货票号码错误、纠错记录核查、运统1发站漏报、运统1迟报、分界口运统1误差、运统1一致性审核、运统1倒装核查、集装箱清单漏报,按照不同类型核查错误情况。

(3)报单信息模块。接收机务段机车统计系统的司机报单未匹配上清算运统1的数据信息,提供给路局管理人员进行监控,同时数据也返回到车务段和车站进一步核查,对漏报的清算运统1进行补报。

(4)报文监控模块。该模块主要对入库的报文数据按照不同条件选项进行查询监控,分为运统1报文监控、运统8报文监控、运报9A报文监控、运报11A报文监控、运报1ZK报文监控、运统1代报监控、货票摘要入库监控、百千工程班列监控、集装箱清单监控。

(5)报表汇总模块。该模块主要对上报的运统1报文进行汇总,日报由后台自动生成,月报、季报和年报手动执行汇总,并提供报表查询功能,分为运统1汇总、运报9A汇总、运报11A汇总和运报1ZK汇总。

(6)生产辅助模块。该模块充分运用清算运统1数据库信息,对路局管内到卸车进行预报,为运输生产提供信息参考。同时对车站装车实际出发状态进行监控,以及提供车辆轨迹查询功能。

(7)历史管理模块。对车站每天上报的清算运统1、运统8、运报9A、运报11A等报文历史情况进行监控,同时对每天车站报文的错误和迟报情况进行监控分析,以及车务段做到达确认车辆遗漏情况进行监控。

(8)字典管理模块。对系统涉及的相关字典进行配置,主要有路局、运输企业、车务段字典配置以及下属车站字典配置,分界口及分界口接入交出配置,以及清算运统1与18点对应关系描述等字典配置。

(9)系统管理模块。主要有用户及角色配置,网站配置和运行信息查询等菜单,以及提供系统操作说明等功能。

5 系统实现及特点

车务段及铁路局级应用采用C/S和B/S相结合的结构,信息的接收、校验、上报等功能采用C/S结构,综合应用采用B/S结构。采用NET平台、IIS中间件、Oracle数据库。每级应用都采用四层架构,即客户访问层、业务应用层、数据传输层和数据表示层,减少重复性的代码,提高开发速度,使系统有良好的可维护性,易于扩展。技术架构见图3。

图3 系统技术架构

系统的特点主要包括:

(1)分布广,环节多,业务复杂。系统分为铁路总公司、铁路局、车务段、车站四级,其中车务段级系统和车站级系统分布相当分散。由于四级系统根据业务需求需要频繁交换数据,受制于网络环境、计算机硬件等影响,网络中断、网络不可靠、丢失数据成为需要解决的技术难题。在保证正常上报和接收数据的同时,还必须保证数据审核、后台作业、汇总计划、数据统计、查询分析等业务的正常进行,还必须保证所有数据库事务的完整性。因此,在系统结构以及各关键环节的硬件、软件设计上必须科学、合理,确保高性能、高稳定、高可靠。

(2)监控、维护方便。系统提供了完备的监控和维护手段。通过使用监控界面来调整应用程序,为用户判断系统运行状态提供条件。不仅能减少人力成本和人为错误,同时也提高了应用性能和可用性。系统提供了简单易用的管理界面,提供配置向导,方便系统管理员查看系统状态,并提供了多种功能改善和自动处理应用程序的监控和管理工作,将应用程序的整个生命周期管理自动化。

(3)可靠性高。系统在设计时,对数据上传、数据交换、流程控制、后台处理等各个关键环节进行了精心设计、周密部署。系统上线后经历了两年的磨合,始终保持稳定运行。系统通过采用远程数据查询本地化、工作线程调度与监控、数据表的优化、数据库连接的池化、数据发送与接收请求排队等待、失败重发机制等技术,确保了系统在高负荷下工作的可靠性,使系统始终保持正常工作。

(4)可扩展性强。在保证核心业务安全的前提下,按照“全方位设计,分步实现”的设计原则,系统采用了多层次体系结构,采用了中间件、虚拟化、分布式等核心技术,使系统在应用功能、业务模式、软硬件处理能力等方面均有很强可扩展性。

(5)安全性高。硬件及网络上采冗余设计,避免单点故障;各级应用间进行信息传输时,对重要信息进行了加密;在TCP/IP、HTTP、HTTPS、XML、SOAP等协议的基础上开发了系统独有的通信规则,避免了其它应用的非法接入;采用原铁道部信息技术中心制定的网络传输方案,为车站、车务段、铁路局、原铁道部四级系统之间进行信息交换提供安全保障。

6 关键技术实现

6.1分布式系统架构实现复杂业务流程

系统分为铁路局、车务段、车站三级,物理分布较广,且三级系统中需要来回实时交换数据,因此,系统以基于TCP协议的双向通讯为基础研发了一个分布式消息交换框架系统。以铁路局级为例,由车务段系统每间隔一段时间向铁路局级系统发送心跳数据包,铁路局级系统在数据需要返回时根据车务段发送的信息建立一个可靠的Socket连接,然后将需要返回的数据进行压缩和打包发送。车务段系统接受信息后使用线程调度停下了所有与返回数据无关的处理线程,然后根据业务需要来处理返回的信息,处理完毕后通知车务段系统线程调度继续工作,并将处理结果发送至车务段网站。

6.2大数据量下的数据库优化方案

系统每月产生大量数据。以沈阳铁路局为例,2013年11月,全局的清算运统1列车信息108 123条,车辆信息4 734 149条,运统8信息238 538条,运报9A信息1 388 587条,运报11A信息780 888条,运报1ZK信息1 626条。由于需要将整个铁路局的各种报表入库保存,并在该原始数据上进行查询与分析,这对数据处理和用户体验是一个较高的要求。为了能显著提高数据处理能力,提升用户体验,系统采取了如下措施:

(1)充分利用系统全局区域SGA;(2)规范与反规范设计数据库;(3)利用表空间将数据传输对磁盘I/O竞争均匀地分散开;(4)索引的优化设计;(5)优化数据库连接方案,使用连接缓冲池机制;(6)高效的SQL语句设计;(7)充分利用数据的后台处理方案减少网络流量。

6.3使用高可用OR/M框架

系统数据库数据表较多,表间依赖关系较为复杂,为了减轻工作压力、提高开发效率,系统在研发过程中对NHibernate框架进行封装和改造,实现了一套OR/M框架,命名为NKoala,与目前主流的NHibernate相比,其特点如下:

(1)NHibernate不能支持多数据库,在NKoala下很好的实现了无缝切换对多数据库的访问,配置简单方便。

(2)修正了NHibernate对Oracle数据库中Clob、Guid等字段类型支持的Bug,使得系统中的Guid可以以32位Varchar类型存入数据库,取出还原实体时将其还原为Guid类型。

(3)封装了NHibernate中的大多数函数,将复杂的调用变得简单易用,提供了泛型对象、原生SQL对象、Linq语法支持、Lambda表达式支持等特性,提高了开发效率。

(4)支持Oracle的纯.NET托管驱动,可不再依赖原Win32下的Oracle客户端,避免在服务器上安装程序时需部署Oracle客户端的步骤,同时因依靠其纯托管驱动,提升了程序的跨平台部署能力。

(5)实现B/S开发中“Open-Session-in-View”模式,在每次浏览器对服务器提起请求时,打包所有的数据库操作并合并为一个数据库事务,保障在一次浏览器请求中所有的数据库操作的原子性、一致性、隔离性和持久性。

7 结束语

系统自2012年1月1日起投入全路试运行,已经完成18个铁路局(公司),300多个车务段和直管站的系统部署工作。根据各铁路局运用过程中提出的不同修改建议,并根据新的财务清算改革对统计数据提出的新要求,对系统进行了多次完善和优化,系统已推出4.0版,目前系统基本定型,系统运行稳定可靠,清算运统1数据信息已作为全路财务模拟清算数据进行使用,为下一步财务清算规则制定提供了重要的统计信息。

[1] 铁道部信息技术中心. 铁路货运列车编组统计信息系统

总体方案[S],2012.

靳 健:广州铁路(集团)公司信息技术所,工程师,广东 广州,510088

陈森玲:广东外语艺术职业技术学院,讲师,广东 广州,510640

陈志荣:广州铁路(集团)公司计划统计处,高级统计师,广东 广州,510088

责任编辑杨倩

U29-39

A

1672-061X(2014)03-0097-05

广东省教育厅育苗工程(自然科学)项目《企业产品成长模型在大数据研究理论中的验证与分析》(2013LYM_0116)。

猜你喜欢

车务段编组铁路局
UIC和欧盟铁路局签署一项协调框架协议
多编组智轨电车高速工况下的稳定性能研究
高速铁路开行17辆编组动车组信号系统方案研究
既有灾害监测系统接入铁路局中心系统方案研究
基于灵活编组的互联互通车载电子地图设计及动态加载
一种自动生成某型部队编组ID的方法
渝贵铁路首个暑运圆满收官遵义车务段发送旅客141.06万人次
安全风险管理在矿区铁路车务段中的应用
呼和浩特铁路局GSM-R系统现场应用故障分析与处理
如何有效提高车务运输组织能力