2024年4月12日发(作者:)

铁路站车客运信息列车版无线交互系统的研究

武振华;李贝贝;刘相坤;李琪

【摘 要】在介绍铁路站车客运信息无线交互系统的业务应用领域的基础上,结合

PC端列车版应用程序的开发,从数据访问层、业务逻辑层和用户界面层3个层次,

分析了列车版站车无线交互系统及软件架构.

【期刊名称】《铁路计算机应用》

【年(卷),期】2014(023)010

【总页数】5页(P20-23,31)

【关键词】铁路客运;列车版站车交互;软件框架

【作 者】武振华;李贝贝;刘相坤;李琪

【作者单位】中国铁道科学研究院 电子计算技术研究所,北京 100081;中国铁道科

学研究院 电子计算技术研究所,北京 100081;中国铁道科学研究院 电子计算技术研

究所,北京 100081;中国铁道科学研究院 电子计算技术研究所,北京 100081

【正文语种】中 文

【中图分类】U293.2;TP39

铁路站车客运信息无线交互系统(以下简称系统)是铁路客运部门首次结合GPRS

无线公众网络和中国移动专用APN技术而搭建的车地一体化办公的无线信息交互

平台。该系统实现了地面车站或客运段对列车数据的实时掌握和管理,方便了列车

乘务人员及时精确地了解全车人数、席位的占用等数据,并可查验旅客的实名制、

挂失票和网络购票等客运信息。该系统自2010年在全路上线以来,提高了列车乘

务人员的办公质量,极大地促进了地面列车与车站间的数据交互效率。本文主要针

对PC端列车版站车无线交互系统的软件设计进行解析。

系统由列车车载终端和地面设备组成,列车车载终端与地面之间由GSM网络或者

GSM-R网络连接;地面系统由信息发布服务器、GPRS接口服务器、路由器及防

火墙等设备组成。系统框架如图1所示。为确保信息系统的安全,系统平台采用

专线方式通过防火墙与中国移动网络连接,通过安全隔离系统和防火墙与GSM-R

网络连接。

PC端列车版站车无线交互系统因为其承载于PC电脑上,运行环境有别于

Windows Mobile和Android系统,因此,其应用系统的软件设计具有独自的特

点。为了实现可扩展可升级的软件应用程序,根据站车无线交互系统的业务需求,

PC端列车版站车无线交互系统具有典型的企业级3层软件架构:数据访问层,业

务逻辑层和用户界面层。

2.1 数据访问层

站车无线交互系统的数据访问层旨在分离数据访问逻辑,通过对特定的底层数据源

代码进行封装整合,实现底层对上层的透明服务。整合的代码实现对数据库数据的

具体操作,涉及数据库的创建与连接、发布SELECT、INSERT、UPDATE以及

DELETE命令等等。这种抽象的类似接口服务的方式将数据实体和数据操作行为进

行隔离,符合面向对象的特点。

在站车无线交互系统的实现方案中,列车终端的软件系统根据需求发送车次信息,

车站的信息发布服务器会根据智能逻辑策略向列车进行数据推送,列车终端的软件

系统接收到数据后,对其进行组织、存储并提供给用户进行界面展示。在这种车地

信息交互的过程中,列车终端系统的操作离不开数据库的支持。鉴于单车次的单次

发送或接收的数据量一般小于10 kB, PC端站车版无线交互系统选用关系型

Access数据库,并采用基于COM的数据访问中间件OLEDB(Object Link and

Embedding Database)技术进行数据库的连接,这种操作方便数据库的日常维

护。

PC端列车版无线交互系统的数据访问层的软件设计,主要面向于将后台对数据库

的操作进行封装,通过代码提炼成通用的类库,实现数据库的独立性。并结合使用

松散的类型化对象DataSet和DataTable获取特定的数据对象,将关系数据模型

转换成对象数据模型,进而保持数据库的独立性。部分代码如下:

public static DataTable ExcuteReader(string sql, params OleDbParameter[]

parameters)

{

string conStr = "Provider=Microsoft. .4.0;Data Source= .

";

OleDbConnection conn = new OleDbConnection(conStr);

DataSet dataset = new DataSet();

try

{ ();

OleDbCommand cmd = conn. CreateCommand();

dText = sql;

foreach (OleDbParameter parameter in parameters)

{

(parameter);

}

OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);

(dataset);

}

catch (Exception e)

{

_end( +ng() + e);

();

return null;

}

();

if ( == 0)

{

return null;

}

return [0];

}

该封装的方法内部实现与数据库的连接与关闭。通过传递参数的形式,对数据源执

行SQL语句(主要执行读取数据库任务),并将执行的结果以强类型数据集的形

式进行返回。该代码可对潜在的错误进行自控制,并以Log日志的方式进行错误

记录,方便错误的追踪和查询。

2.2 业务逻辑层

站车无线交互系统的业务逻辑层聚焦在站车系统的业务规则的指定、业务流程的实

现和系统方案的设计上,承载着整个站车无线交互系统的核心,良好的业务逻辑层

的设计可保障系统运行的鲁棒性。

2.2.1 数据流

站车无线交互系统的终端通过配置中国移动提供的专用SIM卡,采用中国移动的

专用APN技术连接中国移动的公用非公众的GPRS无线传输网络,由移动网络动

态分配专用的本地IP地址,所以SIM卡和IP地址存在固定的对应关系,这种终

端占用IP查询的回应方式,可以降低信息发布服务器的丢包率。应用程序通过

VPN技术和安全隔离系统接入客票外网。终端系统启动应用程序后,完成专用

SIM卡在移动网络的注册,向信息发布服务器发送身份认证信息,通过安全与合

法性校验后收发数据。如图2的站车无线交互系统的数据流示意图所示,站车无

线交互系统的车载终端的本地数据通过自定义端口进行内部通信,当需要发送站车

交互数据时,应用程序通过数据压缩、数据分片、断点续传等技术,通过AT指令

拨号的方式接入中国移动的GPRS无线网络。数据通过特定的端口流入由中国铁

路总公司部署的GPRS接口服务器,GPRS接口服务器负责应用协议转换、终端地

址寻址、信息收发、非法数据的安全屏蔽等功能。只有符合特定端口和协议的数据

才能安全到达信息发布服务器,信息发布服务器能够对端口异常的数据流进行实时

监控,并通过部署防火墙、网闸等保护措施建立铁路客票网与中国移动网络的物理

隔离和安全防护。客票系统在列车开车前5 min推送列车的乘降人数通知单、席

位信息、挂失信息、电子票信息等数据到信息发布服务器,以应对车载终端的数据

请求。信息发布服务器将数据加密、压缩、分段后,采用UDP传输协议通过

GPRS接口服务器、GPRS网络推送到车载终端,车载终端接收到数据后,对数据

进行解密解压和重装,之后调用数据访问层封装的类库装载数据入库,或者提供给

上层进行界面展示。

车载终端应用程序的内部数据流的传递,将发送节点、对外节点和接收节点分别抽

象成对等网络的端点,每一个“网络端点”分别用IP地址和端口号进行表示,如

图2所示。发送端点和接收端点在软件设计中表示为客户端和服务端,其网络端

点表示为系统的回环IP地址和不同的端口号,如图2的端口号5656和5858。对

外节点根据数据流方向的不同,即表示为客户端又表示为服务端,其网络端点表示

为移动网路分配的IP地址和端口号20000或者20004。发送端点或者接收端点

与对外端点之间的通信调用操作系统中的TCP / IP软件的控制权,通过套接字

API中的socket调用实现网络通信。Windows操作系统的socket句柄能快速将

接收的数据递交给应用层连接对象。

2.2.2 网络协议

车载终端的应用程序一般多在列车运行速度快的外界环境下运行,应用系统的网络

常会出现无线信号不稳定、无线数据传输速率低等情况,因此,车-地间的网络通

信协议或者系统的控制机制必须保证站车无线交互系统数据交互的连续性和完整性。

经过系统实验和业务功能测试,站车无线交互系统适合搭载中国移动的GPRS网

络作为底层传输通道,传输层通信协议采用非面向连接的不可靠的用户数据报协议

(UDP)。UDP报文直接传输应用数据,没有复杂的连接建立过程,即使在网络

不稳定的情况下也可实现间断性数据传输。UDP每个报文都绑定目的地址,服务

端可以通过地址查询,实现每个UDP报文的目的地址随终端IP变化而变化。

UDP在会话超时时才会导致会话中断,断线干扰和丢包干扰也会影响传输控制层。

虽然UDP的传输特点限制了UDP本身的传输控制能力,但应用层实现的超时和

分片等控制机制可提高系统的抗干扰能力。在软件设计中,应用系统把每一个任务

建立为消息队列,通过分析和维护队列的形式实现UDP数据的控制。

车载终端在数据发送前,会向服务端发送数据描述指令,这种指令可以看作是发送

端与服务端的一次“握手”。数据描述携带发送端的基本信息,包括设备的终端号、

数据总大小、分片大小、数据发送标示号、目的地址等信息。服务端在得到数据描

述信息后,若检测发送端的信息已经在后台有过注册行为,则返回确认信息,发送

端得到确认信息后即可发送站车车次等数据信息。为了提高站车交互的效率,发送

端采用单向推送的方式进行数据发送,发送的数据根据描述指令中数据分片大小的

限制对数据进行分片和包装,其中的包装包含每个数据分片的标示号和偏移量,以

便服务端在接收到数据后进行数据的排序和再组织。服务端接收数据后进行数据报

文的完整性和合法性校验,若通过校验,同样以单向数据推送的方式,并加入流量

控制机制(考虑了终端设备接收处理能力)向终端反馈数据。若校验数据不完整或

者不合法,则继续等待发送端进行数据发送,同时发送端也引入超时控制机制,一

定时间后若收不到服务端的反馈信息将再次重发数据,直到服务端实现完整性与合

法性校验,从而实现数据的完整收发流程。这种有数据描述、数据推送、数据控制

的传输协议,结合指令应答,构成了站车无线交互系统的基础网络传输控制协议,

有效地搭建了数据传输的通信环境。

2.2.3 业务处理逻辑

为保证站车无线交互系统在线功能的正常使用,程序启动之前必须先启动服务,这

些服务包括:多线程的运行,与远端服务器的正常连通测试,程序的初始化等。之

后应用程序开始与使用者进行交互,通过获取使用者提交的车次和始发日期等信息

向服务器提交数据下载请求。根据站车无线交互系统的业务规则,站车无线交互系

统的完整登乘和退乘流程分别如图3和图4所示。

为了有效监督列车乘务人员对旅客的服务质量,站车无线交互系统在车长登乘时实

现了车长实名登乘和登乘信息切换,以便出现问题时车-地间及时有效地进行联系。

在退乘流程中,仍然需要服务的启动,实现终端向后台服务器的注销,停止后台服

务器向终端进行数据发送。

在拥有旅客信息的基础上,站车无线交互系统还实现了晚点调整、打印输出保存、

密度表等业务逻辑的组织,多方位地提升了站车无线交互系统的使用。

2.3 用户界面层

站车无线交互系统的用户界面层除了提供用户操作界面外,还组织用户下载的数据

以一定的格式进行显示。用户界面层直接与列车乘务人员进行交互,直观简洁地实

现乘务人员对数据的维护和管理。列车在始发站前1 h后台定时生成相应的全程席

位信息和定员信息,因此界面需能够反应车次信息、定员信息、停靠站列表、全程

席位预览信息、席别、票种等基础信息的下载状态,同时也能将沿途各站到站前5

min定时生成的业务信息(通知单、席位信息、挂失票、电子票)的下载状态进

行显示,这些业务信息的内容也需要以一定的逻辑进行展示。所以,站车无线交互

系统的车载终端的前台界面完成了丰富的数据显示。

合理的系统设计和良好的软件设计保证了铁路站车客运信息无线交互系统车载终端

的使用,尤其是多平台软件的开发,极大地提升了地面对列车的管理水平和铁路客

运的服务水平。列车乘务人员通过站车无线交互系统,实时有效地掌握了全车的席

位信息、到站的乘降人数等数据,相比于之前车-地间纸质方式的传递,提高了乘

务人员的办公效率。目前,站车无线交互系统可实现双中心(铁路客票一、二生产

中心互为灾备系统)、双通道(GPRS、GSM-R)的服务,并在Windows

Mobile手持终端和Android平台上实现了在线席位补票和身份证实名验证等功能,

极大地丰富了站车无线交互系统的使用空间。未来若以站车无线交互系统作为车上

乘务人员的信息平台,可最大限度拓展站车无线交互系统的业务领域。

【相关文献】

[1] 闫志远,何志根,宋 超,等.铁路站车客运信息无线交互系统关键技术[J].铁路技术创新,

2012(4):38-40.