• 查询稿件
  • 获取最新论文
  • 知晓行业信息
官方微信 欢迎关注

铁路客运运价里程表数据管理系统

徐玮, 李世春, 解亮, 朱海佳, 王清玉

徐玮, 李世春, 解亮, 朱海佳, 王清玉. 铁路客运运价里程表数据管理系统[J]. 铁路计算机应用, 2022, 31(5): 42-48. DOI: 10.3969/j.issn.1005-8451.2022.05.09
引用本文: 徐玮, 李世春, 解亮, 朱海佳, 王清玉. 铁路客运运价里程表数据管理系统[J]. 铁路计算机应用, 2022, 31(5): 42-48. DOI: 10.3969/j.issn.1005-8451.2022.05.09
XU Wei, LI Shichun, XIE liang, ZHU Haijia, WANG Qingyu. Data management system of railway passenger traffic fare and mileage table[J]. Railway Computer Application, 2022, 31(5): 42-48. DOI: 10.3969/j.issn.1005-8451.2022.05.09
Citation: XU Wei, LI Shichun, XIE liang, ZHU Haijia, WANG Qingyu. Data management system of railway passenger traffic fare and mileage table[J]. Railway Computer Application, 2022, 31(5): 42-48. DOI: 10.3969/j.issn.1005-8451.2022.05.09

铁路客运运价里程表数据管理系统

基金项目: 中国铁路兰州局集团有限公司科研项目(LZJKY2021002-3)
详细信息
    作者简介:

    徐 玮,高级工程师

    李世春,高级工程师

  • 中图分类号: U293 : F530.52 : TP39

Data management system of railway passenger traffic fare and mileage table

  • 摘要: 为解决纸质铁路客运运价里程表和全国铁路客运营业站示意图出版周期过长、用户使用中存在诸多不便的问题,开发了铁路客运运价里程表数据管理系统;基于微服务技术,采用“C/S+B/S”混合应用模式,实现全国铁路客运运价里程表及营业站示意图数据的统一管理与维护,提供便捷的定制化数据查询功能,并可为其它业务应用系统提供客运运价里程表数据共享服务。该系统构造了干线–支线2级树形结构的全国客运铁路网数据模型,采用矢量图形技术绘制营业站示意图;提供营业站示意图与里程表数据一致性检查和数据版本管理功能,可保证数据完整性和数据更新过程可追溯,以及数据更新与发布有序可控。该系统的应用规范了客运运价里程表数据的管理与维护,方便系统最终用户准确使用客运运价里程表数据,有助于提高相关客运业务的工作质量和效率。
    Abstract: In order to solve the problems of long publishing cycle of paper railway passenger traffic fare-mileage table and schematic diagram of national railway passenger traffic operating stations and the inconveniences for users in using those paper table and schematic diagram, a data management system for railway passenger traffic fare and mileage table is developed. Based on micro service technology and adopting a mixed mode of C/S and B/S application, this system realizes centralized data management and maintenance of railway passenger traffic fare-mileage table and schematic diagram of national railway passenger traffic operating stations and can provide convenient customized data query functions for related personnel, as well as railway passenger traffic fare-mileage table data sharing services for other railway application systems. The system constructs the data model of national passenger railway network with trunk branch line two-level tree structure, and uses the vector graphics technology for drawing the schematic diagram of national railway passenger traffic operating stations. In addition, this system provides consistency check on the table and the schematic diagram data as well as version management of the data, which can ensure the integrity of the data and the traceability of data update process to achieve orderly and controllable release of the data. The application of the system standardizes data management and maintenance of passenger traffic fare-mileage table and facilitates accurate use of the data by the end users, improves the work quality and efficiency of related railway passenger traffic business.
  • 铁路客运运价里程表(简称:里程表)和全国铁路(简称:全路)客运营业站示意图(简称:营业站示意图)是铁路客运基础技术资料。其中,里程表包含线路车站里程表、全路客运管辖线路示意图、客运运价里程接算站示意图、站名首字音序索引表、站名首字笔划索引表、站名索引表等一整套铁路客运基础数据[1],是客运服务、客运票价核定、客运清算、客运计划与统计等业务的常用资料。营业站示意图以简图形式,标示全路多条客运运营线路上的车站分布情况,常作为里程表的辅助配套资料,为用户查找里程表数据提供直观、便捷的指引。

    多年来,纸质里程表和营业站示意图由中国铁道出版社负责编制,定期正式出版发行。随着铁路路网规模的不断扩大,以及较为频繁的线路运营方案调整,在数据管理、维护及使用方面,现有纸质里程表和营业站示意图存在诸多不便,主要体现为:(1)里程表内容繁杂,篇幅较长,现有的纸质排版方式不便于用户查阅;(2)全路路网密集,营业站示意图线路属性、车站办理限制等信息无法在图上标注,用户查找业务办理所需信息时,需要结合使用里程表,在纸质图和表之间来回翻阅查对,数据获取费时费力;(3)纸质营业站示意图使用CAD制图软件绘制,由于客运线路错综复杂,车站分布密集,绘制费时费力,且存在与里程表数据不一致的问题;(4)纸质出版物的制作和发行周期较长,致使纸质版里程表和营业站示意图往往滞后于实际情况的变化,给客运管理和运输生产带来诸多不利影响;(5)对于出版周期中出现的数据变更,用户需要依据相关电报和文件资料,依靠手工修改和粘贴来自行维护纸质里程表,不但耗时耗力,也容易产生错误,且纸质里程表经反复修改后难以辨认,影响了数据的准确使用。

    为此,亟需研究和开发铁路客运里程表数据管理系统(简称:里程表系统),运用数字化技术,实现全路客运里程表数据的统一管理和维护,提供基于里程表数据的电子化营业站示意图绘制工具,方便数据维护人员及时更新里程表和营业站示意图数据并快速完成发布,方便最终用户准确获取和使用数据。

    坚持实用、经济、先进、开放、安全的原则,统筹兼顾相关各类业务需求,严格遵循规章管理要求,运用先进的信息技术,自主研发铁路客运里程表数据管理系统。注重系统功能适用性和整体兼容性,建立全路客运里程表数据及营业站示意图的统一管理和维护平台,为相关业务部门提供便捷、可靠的数据查询工具,在确保数据及时更新和准确使用的同时,还能为其他业务应用系统提供安全、可靠的数据共享接口。

    (1)实现全路里程表数据统一电子化管理

    建立线路、车站、业务办理限制和线路/车站关系的完整数据模型,实现里程表数据的电子化管理,建立“集中维护,全路使用”的新型数据管理、维护和使用模式,规范全路客运运价里程表数据的管理与维护,从根本上解决在出版周期中用户自行手工维护纸质表图数据的难题,促进相关业务工作质量和效率的全面提升。

    (2)提供基于里程表的营业站示意图编辑工具

    建立铁路网数据模型,实现简洁、直观的营业站示意图辅助绘制功能,方便数据维护人员通过简单操作高效地完成日常数据维护工作,并确保里程表与营业站示意图的数据一致性。

    (3)为最终用户提供便捷的数据查询工具

    针对里程表和营业站示意图的各类应用场景,对系统功能模块进行优化整合,为相关业务人员提供操作便捷、数据准确、性能高效的里程表数据和营业站示意图查询工具。

    (4)提供客运运价里程表数据共享服务

    为其他业务信息系统提供客运运价里程表数据共享服务,为后续开展铁路客运延伸课题研究和项目开发提供有利条件,促进铁路信息系统的集成与业务融合创新。

    系统采用“B/S+C/S”的混合应用模式,划分为数据层、服务层、网络层、应用层,如图1所示。

    图  1  系统架构示意

    (1)数据层:使用MySQL数据库和Redis内存高速缓存数据库,支持大容量数据存储,并保证数据读取的高性能。

    (2)服务层:运用Tomcat微服务技术,将线路数据维护、车站数据维护、营业站示意图绘制、数据发布、数据查询、营业站示意图查阅等应用功能封装成独立的微服务,由服务注册中心对服务进行调度管理,多服务器协同工作[2];微服务之间松耦合,各个微服务可独立部署、运行和升级;通过微服务网关,还可为其他业务信息系统提供客运运价里程表数据共享服务。

    (3)网络层:服务网关提供统一的服务入口[3],有效解决大量用户高并发访问时,系统服务器压力过大的问题。

    (4)应用层:提供客户端和浏览器端2类应用;客户端应用主要完成线路、车站数据维护及营业站示意图绘制;浏览器端应用主要提供里程表数据和营业站示意图查询功能。

    系统用户包括数据维护人员和数据使用人员(即系统最终用户)2类。对于数据维护人员,系统提供操作简便、安全可靠的里程表及营业站示意图数据管理与维护功能,包括线路数据维护、车站数据维护、营业站示意图编辑与配色等功能;对于各类数据使用人员,根据其实际业务需求,系统提供便捷、灵活的定制化数据查询功能。

    完成各类数据字典的维护,为系统应用功能提供基础数据;可灵活设置系统运行参数,以获得最佳的系统性能。

    (1)数据字典维护:完成系统所需基础数据字典的维护,包括铁路局集团公司、省份、车务站段、国境等数据类字典,以及整图参数、图元参数、颜色表、特型图元等图形类字典;数据类字典可与中国国家铁路集团有限公司(简称:国铁集团)主数据平台的基础数据进行同步,保证数据字典的完整性。

    (2)系统参数设置:设置系统初始化和运行时的各类系统参数,包括线路/车站/里程动态数组、图元双缓冲因子等的初始值及动态扩展参数,系统功能模块可根据系统参数,动态调整数据结构的存储空间大小及数据处理方式。

    当线路运营方案发生变化时,数据维护人员及时对线路数据进行维护,确保线路数据与实际情况相符。

    (1)新开通线路数据录入:根据新线开通电报,输入线路起讫点、线路属性、附注(主要包括线路所属公司及计费规则)等信息,完成新增线路的客运里程表数据录入。

    (2)线路数据修改:根据线路修改电报,对线路的起讫点数据、资产类别、附注等信息进行修改。提供线路撤并、线路分段、车站里程批量修改等快捷操作功能,以提高数据修改效率;使用线路撤并操作时,系统可自动将用户选择的撤销线路上的车站合并到指定的线路上,保持站序并自动计算里程;使用线路分段操作时,系统可自动将用户选择的线路上所选定的车站,按指定的顺序(顺序或倒序)生成新的线路数据;使用车站里程批量修改操作时,系统可自动完成用户所选定车站的里程数据批量增减处理。

    (3)取消线路数据删除:根据线路取消电报,从系统中删除相应线路的所有数据,并在删除时检查车站数据的完整性。

    (4)线路颜色设置:设置铁路局集团公司管内线路的显示颜色。

    当车站运营方案发生变化时,数据维护人员及时对车站数据进行修改,包括车站基础信息和营业办理限制信息维护。

    (1)车站基础信息维护:完成车站基础信息修改,包含站名、略号、铁路局集团公司、省份、等级等。

    (2)营业办理限制信息维护:完成营业办理限制信息的添加、删除和修改,包含旅客乘降所、不办理行李和包裹业务的车站、不办理包裹业务的车站、不办理客运业务的线路连接点等。

    数据维护人员依据里程表数据,完成营业站示意图的铺画和修改,并检查数据的完整性。

    (1)营业站示意图铺画:数据维护人员选定一条线路的起讫点,系统可根据里程表数据,自动补全该线路上所有车站;数据维护人员可在营业站示意图上点选车站,通过鼠标拖拽操作来调整该线路上车站的分布距离及位置。

    (2)营业站示意图线路配色:按照车站所属铁路局集团公司,在营业站示意图上,将不同铁路局集团公司所辖线路以不同颜色显示,并将高铁线路以高亮颜色突出显示。

    系统自动检查营业站示意图数据与里程表数据是否一致,检查出营业站示意图中缺失、多余或重复的车站,给出提示并辅助数据维护人员进行更正。

    (1)线路一致性检查:依据里程表线路数据,对营业站示意图上线路间连接关系进行一致性检查,在提示框列出连接关系不一致的线路信息。

    (2)车站一致性检查:依据线路—车站的逻辑关系,以节点站(包括干线和支线的起讫点、连接2条以上线路的车站)为节点构建铁路网框架,系统自动在节点间连线上插入其他车站,检查并更新示意图中车站数据,在提示框列出缺失或重复的车站信息。

    实现里程表和营业站示意图数据的分版本存储与发布,可通过版本号进行数据版本控制、数据差异对比,并按照客运管理要求,完成指定版本数据的发布。

    (1)数据版本管理:分版本存储里程表和营业站示意图数据,支持数据的增量更新,提供不同版本数据的差异对比,确保里程表和营业站示意图数据更新过程可追溯。

    (2)数据版本发布:根据客运运营条件电报执行时间要求,发布对应版本的里程表和营业站示意图数据,严格、有序地控制全路里程表和营业站示意图的数据更新。

    提供营业站示意图的查阅浏览以及接算站示意图、客运管辖线路示意图等子图查阅功能,包括整图与局部缩放、显示比例调整、漫游等,满足不同场景下用户灵活便捷查看不同示意图的需求。

    (1)整图放大与缩小:通过默认的缩小和放大量把整个显示的图元统一缩小和放大一定的比例。

    (2)高度/宽度合适显示:根据区域的高度或宽度,自适应得到一个合适的比例。

    (3)动态放大和窗口放大:在当前的显示比例下,对用户选定的矩形框区域大小进行调整,操作完成后得到需要显示的区域放大图。

    (4)整图漫游:在客户区域只显示整图一部分的情况下,通过鼠标拖拽等操作把客户区域定位在相应的区域上。

    (5)接算站查阅:仅显示接算站节点和接算站节点间的线路。

    根据实际业务需求,提供便捷、适用的定制化数据查询功能,方便各类最终用户查询和使用里程表数据。

    (1)客运服务数据查询:针对客运服务人员的日常作业,提供车站站名、车站营业办理限制、线名、线路起讫点、线路营业里程、站间营业里程等里程表数据查询,以办理旅游团体票发售、包车和旅游列车等相关业务;利用接算站示意图,为旅客推荐最优旅行规划、车票购票方案。

    (2)客运运价数据查询:面向铁路局集团公司客运部业务主管人员,提供车站相关信息查询,包括车站站名、车站营业办理限制、车站所属铁路局集团公司、管辖局界、省界等;提供线路相关信息查询,包括线名、线路起讫点、线路营业里程、站间营业里程、线路资产归属、接算站接续线名等;提供多种O-D(Origin-Destination)经由及里程条件查询,包括同线与跨线的O-D经由及里程信息、计算准轨与窄轨铁路运价里程所需的O-D经由及里程信息;提供针对特殊运价区段、特殊车种及动车组列车等多种查询条件的客运运价数据查询。

    (3)客运清算数据查询:面向铁路局集团公司财务部业务主管人员,提供线路营业里程和资产归属清算线路使用费、车站旅客服务费、售票服务费、接触网使用及电费查询。

    (4)计统指标数据查询:面向铁路局集团公司计统部业务主管人员,提供里程计算旅客周转量、千辆公里、千机公里、配属机车走行公里、支配机车万吨公里、日车公里等指标数据的查询。

    线路和车站是里程表的核心数据实体,线路与车站为多对多实体关系,如图2所示。

    图  2  线路与车站多对多实体关系示意

    结合铁路网结构特征,全国客运铁路网划分干线和支线,构建2级树形数据结构,实现全国铁路客运线路数据的结构化管理,线路节点信息包含线路属性、类型和附注等内容[4],如图3所示。

    图  3  全国客运铁路网数据结构示意

    线路与车站关系数据的存储结构采用动态数组,便于实现车站节点数据的灵活插入、删除及车站顺序调整的操作。

    系统根据车站节点、线路车站顺序,对营业站示意图与里程表数据的一致性进行检查,按先干线、后支线的顺序,自动检查数据是否一致。一般情况下,当检测到线路数据正确、但车站数据不一致时,通过缓存补充、分段排列的顺序,系统自动完成数据一致性校正;特殊情况下,当发现线路连接关系不一致时,系统提示数据维护人员进行手工调整,最终完成里程表数据和营业站示意图的同步更新。营业站示意图与里程表数据一致性检查流程如图4所示。

    图  4  营业站示意图与里程表数据一致性检查流程

    为保证按任意比例缩小和放大时,营业站示意图可保持清晰的图面显示,营业站示意图采用矢量图技术。

    根据铁路路网特征,营业站示意图的铺画以铁路网数据层为基础图层,再辅以灵活的图元绘制层,提供多层次、多应用模式的矢量图形绘制机制[5]

    (1)铁路网数据层:铁路网绘制以节点站(包括干线和支线的起讫点、连接2条以上线路的车站)为节点,由节点间连线构成铁路网骨干,再将其他车站插补在铁路网骨干上,可快速、灵活地完成全国铁路网简图的铺画。

    (2)辅助数据层:在绘制基本铁路网的基础上,针对一些特殊情况,如设置待建线路、轮渡线路、铁路局集团公司标识、省份边界、运输企业边界等,可通过灵活增加各种特定图元,构建信息完备的营业站示意图。

    (3)图形显示模式调整:针对铁路网扩充及特殊打印需求,提供所有图元整体平移、画布基本属性调整等功能,为营业站示意图维护提供快捷调整操作。

    营业站示意图的绘制采用图形设备接口(GDI,Graphics Device Interface)技术[6~8]。GDI提供一组动态链接库(DLL,Dynamic Link Library)函数,提供功能丰富、处理灵活的图形绘制和文本显示功能,支持多种图形输出设备,可保证营业站示意图的绘制和打印输出达到所见即所得的效果。

    营业站示意图编辑模块和营业站示意图查阅通过调用GDI DLL函数,创建一个矢量图形集成环境,完成营业站示意图的绘制和显示,可实现在任何显示比例下图形显示均不失真,且比例越大越清晰。同时,在实现拖拽线路、动态调整车站分布距离和位置时,系统响应迅速,无明显卡顿延迟。

    营业站示意图是一个有向图,其数据采用十字链表存储。如图5所示,十字链表结点分为顶点结点(对应于节点站)和弧结点(对应于节点站之间的连接线)2类。

    图  5  营业站示意图十字链表存储的弧结点和顶点结点数据结构

    (1)弧结点由5个域组成: tailvex域为弧尾顶点在图中的位置;headvex域为弧头顶点在图中的位置; hlink域为指向弧头相同的下一个弧结点的指针,tlink域为指向弧尾相同的下一个弧结点的指针,这样可使弧头相同的弧结点在同一链表上,弧尾相同的弧结点也在同一链表上;data域存储弧的具体详细信息,包括线路里程、颜色等。

    (2)顶点结点由3个域组成:data域存储顶点的具体详细信息,包括车站名称、电报码、所属路局等;firstin域为以该顶点为弧头的第一个弧结点的指针;firstout域为以该顶点为弧头的第一个弧结点的指针。

    存储营业站示意图数据的十字链表构造算法如下:

    Status CreateDG(OLGraph &G){

    //构造有向图 G(G.kind = DG)十字链表数据存储

    scanf (& G. vexnum,&G. arcnum,& IncData); //读取节点站数和连接线路数

    for (i = 0; i<G. vexnum; ++ i) { ///读取各连接线路并构造十字链表

    scanf (&G. xlist[i]. data) ; //读取节点站具体详细数据

    G.xlist[i]. firstin= NULL; G. xlist[i]. firstout= NULL; //初始化指针

    }

    for (k = 0; k<G. arcnum; ++ k){ //读取各连接线并构造十字链表

    scanf(&v1, &v2) ; //读取一条连接线的始点和终点

    i = LocateVex(G, v1);

    j = LocateVex(G, v2) ; //确定该连接线的始点和终点在有向图G中的位置

    P=(ArcBox *) malloc (sizeof (ArcBox)) ; //若有足够存储空间

    *p = {i, j, G.xlist[j]. firstin, G.xlist[i]. firstout, NULL} //对弧结点(连接线)赋值

    // {tailvex, headvex, hlink, tlink, info}

    G.xlist[j]. firstin = G. xlist[i]. firstout=P; //完成由该顶点(节点站)出发的连接线和指向该顶点(节点站)的弧结点(连接线)指针的插入

    If(IncInfo) Input(*p->info); //输入弧结点(连接线)具体详细信息

    }

    }// CreateDG

    铁路客运运价里程表数据管理系统基于微服务技术,采用“C/S+B/S”混合应用模式,实现了全路客运运价里程表及营业站示意图数据的集中管理和统一维护,提供多种定制化数据查询功能,方便最终用户准确获取和使用数据,并可为其他业务应用系统提供客运运价里程表数据共享服务。该系统构造了2级树形结构的全国客运铁路网数据模型,采用动态数组存储线路与车站关系数据,便于灵活增删车站节点和调整车站顺序;基于全国客运铁路网数据,采用矢量图形技术绘制营业站示意图,提供多层次、多应用模式的矢量图形绘制机制,并使用十字链表存储营业站示意图绘制数据,便于实现快速且较为灵活的营业站示意图铺画操作。此外,该系统提供了营业站示意图与里程表数据一致性检查功能,有效地保证系统数据的完整性;支持数据版本管理,保证数据更新过程可追溯。

    自2020年8月起,铁路客运运价里程表数据管理系统正式向国铁集团和中国铁路兰州局集团有限公司客运工作人员提供数据查询功能。系统维护人员根据国铁集团和各铁路局集团公司动态发布的客运管理电报,及时更新和发布客运运价里程表,方便全路相关业务人员使用准确的数据,有助于提高系统用户的工作质量和效率。此外,该系统已为铁路分线成本核算工作量统计系统提供了里程表数据共享服务。

    下一步,将针对系统应用过程中出现的问题,持续完善和优化系统各功能模块,不断提升系统的适用性、可靠性、健壮性及性能,加快推进该系统在全路的推广应用。同时,结合客运实际业务需求,探索相关的延伸课题研究和项目开发,充分利用里程表数据资源,为客运业务融合创新赋能。

  • 图  1   系统架构示意

    图  2   线路与车站多对多实体关系示意

    图  3   全国客运铁路网数据结构示意

    图  4   营业站示意图与里程表数据一致性检查流程

    图  5   营业站示意图十字链表存储的弧结点和顶点结点数据结构

  • [1] 中华人民共和国铁道部. 铁路客运运价里程表[M]. 北京: 中国铁道出版社, 2012.
    [2] 克里斯·理查森. 微服务架构设计模式[M]. 北京: 机械工业出版社, 2019.
    [3] 王亚军. 微服务架构在容器中的应用实践 [J]. 数字技术与应用,2020,38(1):2.
    [4] 谢蜀劲. 采用COM组件计算铁路货物运价里程的设计方案 [J]. 铁路计算机应用,2004,13(5):8-11. DOI: 10.3969/j.issn.1005-8451.2004.05.004
    [5] 靳 磊,朱 涛. 基于矢量瓦片技术实现铁路路网数据可视化 [J]. 铁路计算机应用,2020,29(4):55-59. DOI: 10.3969/j.issn.1005-8451.2020.04.013
    [6] 昌 德, 韩 江. GDI+图形程序设计[M]. 北京: 电子工业出版社, 2005.
    [7] 史蒂芬·普拉达(Stephen Prata). C++ Primer Plus[M]. 北京: 人民邮电出版社, 2020.
    [8] 杨建昌. GDI+编程[M]. 北京: 清华大学出版社, 2010.
图(5)
计量
  • 文章访问数:  348
  • HTML全文浏览量:  272
  • PDF下载量:  98
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-11-14
  • 刊出日期:  2022-05-30

目录

/

返回文章
返回