APP下载

公共对象请求代理体系结构(CORBA)技术在城市轨道交通自动售检票系统中的应用*

2015-06-28胡燕玲

城市轨道交通研究 2015年11期
关键词:检票网络化轨道交通

胡燕玲 张 宁 陈 宇 胡 冬

(1.南京地铁建设有限责任公司,210024,南京;2.东南大学智能运输系统研究中心,210018,南京;3.北京全路通信信号研究设计院有限公司,100073,北京∥第一作者,工程师)

随着国内城市轨道交通线网的日益扩大,城市轨道交通票务管理(售检票以及结算等)已成为各轨道运营公司的一项繁琐而艰难的任务,而信息技术的发展使得自动售检票(AFC)系统成为各大城市轨道交通运营单位提高票务管理水平和效益的有效手段。

AFC 系统是基于计算机技术、网络技术、自动控制技术等技术实现购票、检票、计费、收费、统计、财务结算、客流数据统计分析等功能的自动化系统[1]。AFC系统是一个城市轨道交通科技水平和管理水平的集中体现,能够实现票务管理、运营管理、财务管理、清结算管理、安全管理、综合监控等功能,因此,AFC 系统的安全、高效运作是城市轨道交通顺畅、合理、高效运营的核心,是实现轨道交通社会效益和经济效益的必要保证。

目前,各城市AFC 系统的建设是分线路分阶段进行的,不同线路使用的AFC 系统不统一,采用的软硬件平台、数据库系统和开发软件也不尽相同;各线路AFC 系统自成系统,难以进行统一管理和升级、维护,难以做到资源共享、设备共享。

随着我国城市轨道交通建设步伐的加快,线网的逐步形成,对AFC 系统进行网络化整合已经迫在眉睫。显然,已建的AFC 系统难以适应城市轨道交通规范化、网络化发展的需要,建立统一、标准化、跨平台、跨系统的自动售检票系统应用平台[2]是未来自动售检票系统发展的必然方向。采用通信和数据交换技术[3],构建可靠、安全、易用、可扩展、互联性高的系统架构,是AFC 系统的要求,也是发展趋势。根据应用业务发展需求,本文结合公共对象请求代理体系结构 (Common Object Request Broker Architecture,简为 CORBA)技术的特点,讨论该技术在城市轨道交通AFC 系统中的相关应用。

1 CORBA技术分析

CORBA 是对象管理组织 (Object Management Group,简为 OMG)开发的一种开放式的、不依赖于提供商的、能够使得网络上的应用被很好地调用的一种应用软件体系结构和对象技术规范。其核心是一套标准的语言、接口和协议,以解决分布式计算环境 (Distributed Computing Environment,简为DCE)中不同硬件设备和软件系统的互联,增强网络间软件的互操作性,解决传统分布式计算模式中存在的问题。它具有跨平台、跨操作系统、跨语言、跨网络协议、跨物理传输媒介的特点。它使用了标准的IIOP 协议(网际ORB 协议),使得所有来自任何提供商、任何一台计算机、任何一种操作系统下、任何网络上的基于CORBA 的应用,能够协调地同另外一个来自不同提供商、不同计算机、不同操作系统、不同网络上的基于CORBA的应用进行通信。

1.1 CORBA的体系结构及运行机制

CORBA 体系框架如图1所示。在CORBA 体系结构的中心部分是对象请求代理(Object Request Broker,简为 ORB),程序它作为一个“软件总线”来连接网络上的不同对象。在客户端,ORB提供一个发送操作调用的接口;而在服务器端,ORB提供一个将操作调用传输到服务器的API(应用程序编程接口)。ORB 的任务是定位一个合适的服务器,并且通过一个对象适配器(Object Adapter,简为OA)将操作调用传送给服务器,客户不需要了解服务对象的实现过程以及具体位置。其技术特点主要有以下几方面[4]:

(1)引入中间件(MiddleWare)作为事务代理,完成客户机(Client)向服务对象方(Server)提出的业务请求。

(2)实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。

(3)提供软总线机制,使得在任何环境下、采用任何语言开发的软件只要符合接口规范的定义,均能够集成到分布式系统中。

(4)CORBA 规范软件系统采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义。

(5)客户和服务器之间的接口通过接口定义语言(Interface Definition Language,简为IDL)来定义,IDL是一种中间定义语言,可以翻译成C、C++、Java、Delphi等多种语言。IDL 与具体语言无关,是CORBA 支持异构系统和独立开发应用程序集成的关键。

图1 CORBA 体系框架

1.2 CORBA的技术优势

其技术优势可以总结为如下几个方面:

(1)能够确保平台跨计算机、操作系统、网络提供通信接口。任何系统或者第三方应用程序,只要符合CORBA IIOP通信标准,都可以调用接口,并获取相应的信息,其可保证平台的开放性。

(2)易扩展性。当有新的业务系统接入时,只需将该系统的业务接口挂接在CORBA 名称服务上,客户端就可以调用,这使得平台扩展更加方便。

(3)可伸缩性。当用户数量增多时,可以适当增加服务的数量,比如可以在CORBA IIOP总线上挂接多个名称服务,每个名称服务下面都注册一定数量的业务对象,每个服务都可供一定范围内的用户调用,这能保证平台在面对很多用户访问时,能够最大限度地提供所需的信息服务。

(4)可靠性。可以在 CORBA IIOP 总线上挂接多个备份的服务,一旦一个服务发生意外终止,CORBA 的失败转移机制会自动将客户端调用转接到另一个服务上,这可以确保平台在遇到紧急情况时,能提供稳定、可靠的服务。

1.3 线网AFC系统通信和数据交换技术基本需求

AFC设备使用量大,是乘客与AFC 交互的界面,直接服务于乘客,完成售票、检票、充值和票务异常处理等功能。设备的状态直接影响着城市轨道交通的服务水平和乘客满意度。车站计算机(Station Computer,简为SC)系统用来监控和配置本地车站设备,采集本地车站设备的数据,系统连接多个外部设备,通信节点多。SC 系统接收线路计算机(Line Computer,简为LC)系统的指令和参数,并下发到相应的设备;同时将采集的数据,上传到LC 系统。从而实现统一管理,对车站的每一台设备实施监督、控制、参数化、数据采集和审计功能。网络化环境下底层通信模型的优劣会直接影响到AFC系统数据传输的可靠性,对AFC系统的性能有着决定性的作用。

线网AFC 系统直接为乘客提供服务,与设备、客流、收益等密切相关,对系统产生的所有数据进行完整的集成和挖掘,同时与综合监控等相关系统进行有效的实时通信,实现数据交换、信息共享。随着城市轨道交通AFC 系统技术和业务的不断发展,数据传输接口也将不断更新。为适应这种动态的变化,有效地屏蔽各系统的分布性和系统的异构性,使通信可靠、自由、透明,采用跨平台的通信和数据交换软件技术,构造可靠、安全、易用、可扩展和互联性高的底层设备通信架构,是AFC系统的基本要求。

作为一个开放的、标准的分布式对象系统的解决方案,以CORBA 为基础部署AFC 系统,可以不用在意用于实现的平台和技术。由于CORBA 支持程序的模块化和软件的再利用,灵活性较强,可以随时通过增加一个服务模块来实现新的功能,而不必对整个系统进行重新编写和重载[5]。因而CORBA 能够为应用开发提供更强大的服务,对底层设备跨平台提供服务,实现信息传输的兼容性、标准化,更好地应用于网络化AFC 系统建设、运营以及日后的维护中,从而能减少重复建设、降低建设成本和加快地铁建设步伐。

2 CORBA技术在AFC系统中的应用

2.1 通信服务平台的建设

伴随着城市轨道交通的建设进程,我国AFC系统的建设也经历了启蒙阶段到实践阶段、再到调整阶段的发展。目前AFC 系统一般采用标准的五层构架体系,由系统ACC(清结算中心)、LC、SC、AFC 设备和票卡组成,采用全封闭的运行方式,以非接触式IC 卡为车票介质。

然而,随着城市轨道交通线路网络化的形成、新技术的引入以及国内AFC 系统运营经验的积累,人们逐渐认识到AFC 系统五层基本架构在不同运营商所辖线路互联互通、系统升级改造、资源高效利用上存在一定的局限性,因而对AFC 系统的体系架构有了新的要求。很多城市在现有的标准五层构架基础上,衍生出了一些 AFC 系统架构变体[6],包括北京多线共用AFC 系统线路中心建设、南京AFC系统区域中心建设,以及AFC 业务内置型读写器应用等。

城市化进程的发展,乘客对城市轨道交通服务需求的改变和运营商运营管理复杂程度的增大,考虑到网络化运营所带来的不同线路承包商的介入,本文选用CORBA 中间件技术作为通信的底层技术,设计和实现AFC 系统中终端设备和车站计算机系统的相关通信架构(见图2)使得上层AFC 系统的实现更加灵活,利于AFC 系统设备的统一管理维护和信息共享,方便网络化AFC 系统整合。从而适应城市轨道交通发展的需求,更好地满足新线建设和网络化运营的要求。

图2 基于CORBA 的AFC 系统底层通信架构

2.2 平台程序开发及应用接口

本文以AFC 系统中的设备监控为例,对CORBA 技术的具体应用进行阐述。作为城市轨道交通AFC 系统的一个重要子系统,AFC 设备监控系统是城市轨道交通面向运营管理服务的重要组成部分,其数据流主要包括:设备状态、设备事件和设备命令。设备一方面需向数据服务器上传状态和事件数据,另一方面需接收数据服务器发来的命令。监控软件一方面从数据服务器中读取状态,并向数据服务器发送命令,另一方面需接收数据服务器推送的事件信息。CORBA 通信本身是一种发布/订阅(Publish/Subscribe)结构,每次通信只能由订阅方发起,而AFC 系统包含数千个设备和多个监控软件,监控软件与设备间互为发布方和订阅方,进行双向通信。因而基于CORBA 中间件技术进行了相关的系统开发,首先是进行组件的功能模块设计,然后按照规范要求编写IDL文件,最后通过客户端和服务器端的编译机实现函数功能。

2.2.1 CORBA 应用接口

CORBA 应用借助 IDL 件描述 CORBA 接口。IDL文件中包含模块、接口、操作和数据类型等元素。

2.2.2 CORBA 服务和客户程序

生成IDL 文件后,需要通过特定的编译器将IDL文件转换成C/C++或其它语言代码,并分别编写客户端和服务端程序。服务器需提供CORBA接口的一个继承于该接口的POA(变携式对象适配器)框架类的实现类来提供CORBA 对象的本地对象实现。对象引用是CORBA 对象在ORB 总线上的唯一标识。不同的ORB 实现对对象引用的封装可能会有所不同。客户是通过对象引用来访问服务器CORBA 对象的,因此客户首先需获取服务器CORBA 对象的对象引用。客户获得服务器CORBA 对象的对象引用,调用该对象的接口操作。因此在设备、数据库服务器以及监控软件上都要部署CORBA 的接口服务程序。

2.2.3 数据通信连接的建立

设备的注册流程如图3所示。

图3 Server-SLE的CORBA 会话建立的流程图

(1)Server广播的UDP(用户数据协议)包的接收。Server启动后,在车站局域网通过指定的端口广播一个包含Server注册代理管理的CORBA对象引用的UDP 包;设备从指定的端口接收该UDP包,然后根据包格式的定义,获取Server注册代理管理员的IOR(可互操作对象引用)。

(2)设置CORBA 连接。设备根据取出的IOR获取Server注册代理的CORBA 对象,通过调用相应的Register方法启动设备的注册过程,接着设备提供EqRoot对象给Server的注册代理。

(3)设备的注册。Server 通过 EqRoot::getData方法获取设备的MachineID,并验证其合法性;另外,SC 还可从EqRoot对象获取EqControl对象,通过命令控制设备,并设置车站上下文。

(4)设备根据Server同步自身的状态。成功注册后,Server通过调用bulkRead方法获得设备的当前状态;设备验证是否已装载最新版本的EOD(设备运行数据),以及其操作模式和IP地址是否与Server相同。

(5)会话异常处理。设备注册失败后的恢复事件中,进行同上的会话初始化过程。如果会话中断,设备会周期性地尝试连接,直到会话恢复,期间设备与Server之间的通信被禁止。

通过获取CORBA 对象的对象引用,设备在注册过程中建立与数据服务器的双向通信。监控软件的注册过程与设备基本相同,当通信连接成功后,就可以使用“推/拉”模式传输设备状态数据、设备事件数据和设备命令数据,直到会话结束。

2.3 CORBA技术的应用效果

CORBA 产品为分布式应用程序的开发和执行提供了一个框架,采用CORBA 软总线技术,屏蔽了通信底层接口的复杂性,易于实现跨系统平台、跨网络、跨硬件的软件通信,使应用软件的内部数据流更清晰,各种服务与客户端之间可更方便地交互所需要的数据。这样可以让开发者专注于构建业务逻辑的实现,而不用过多考虑复杂的底层,极大地提高了构件开发的效率。CORBA 的使用为AFC 系统提供了统一标准的协议与应用程序接口,可运行于多种硬件及OS(操作系统)平台,方便不同的对象进行通信。从而满足了城市轨道交通AFC 系统网络化应用的需求,提高了AFC 系统的可扩展性,为日后新线建设预留接口,进而整合不同的线路,减少资源重复配置造成的浪费,实现资源共享、互联互通。另外,许多公司和组织在CORBA 技术规范的基础上开发了相关的市场化产品[7-8],使得 CORBA 技术在城市轨道交通AFC 系统中具有广阔的应用前景,进而推动AFC 系统的模块化和国产化。

3 结语

随着城市轨道交通网络化的形成,AFC 系统变得越来越复杂。CORBA 技术的应用,不仅方便了软件系统的建设过程、缩短了开发周期,而且提高了通信传输质量和效率,减少了运行维护工作量。另外,CORBA 技术的使用为将来接入OCC(运营控制中心)预留了接口,为系统间集成提供了可能,使AFC 系统架构更易于扩展和互联,可以更好地适应现有和未来AFC 的业务发展。

[1]赵时旻.轨道交通自动售检票系统[M].上海:同济大学出版社,2007.

[2]王健,张宁,黄亮,等.南京地铁AFC 系统网络化建设思路和再思考[J].都市快轨交通,2011,24(1):69.

[3]王健,高朝晖,张宁,等.南京轨道交通线网AFC 系统的数据传输[J].都市快轨交通,2008,21(5):56.

[4]朱其亮,郑斌.CORBA 原理及应用[M].北京:北京邮电大学出版社,2001.

[5]李刚,蒋云良.CORBA 技术在现场设备通信中的应用[J].计算机应用研究,2007,24(7):261.

[6]邱华瑞,张宁,徐文,等.城轨交通自动售检票系统架构体系研究[J].都市快轨交通,2014,27(2):86.

[7]黎江,刘凯.软件中间件技术在自动售检票系统中的应用[J].铁路计算机应用,2006,15(01):34.

[8]彭凌祺,赵时旻,苏厚勤.通信中间件技术在轨道交通AFC系统中的应用研究[J].计算机应用与软件,2007,24(12):74.

[8]黎江.轨道交通自动售检票系统可靠性设计探讨[J].城市轨道交通研究,2014(8):28.

猜你喜欢

检票网络化轨道交通
轨道交通产品CE认证论述
高速轨道交通发展趋势
检票
当代新闻学的网络化发展
有轨电车售检票方案综合分析
基于CAN的冗余控制及其在轨道交通门禁环网中的应用
基于OPC的网络化群梯管理系统开发
网络化时代社会认同的深刻变迁
我国食品安全网络化治理的思考
城市轨道交通联调探讨