物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  交通  >  正文

城市轨道交通自动售检票系统IC卡读写器中间件研究

作者:高朝晖 张宁 何铁军 郭靓
来源:中国一卡通网
日期:2010-02-03 08:38:06
摘要:为兼容不同城市轨道交通自动售检票(AFC) 系统IC卡读写器设备、统一费率计算和统一票卡处理流程等,提出了IC卡读写器中间件。分析了IC卡读写器中间件的特点,并设计IC卡读写器中间件结构及其数据流程。地铁票卡业务规则和票卡处理封装在IC卡读写器中间件中,通过统一接口与应用软件和读写器设备交互,用于城市轨道交通老线路的AFC系统改造,既可以减轻系统升级维护工作量,又可降低成本,是一种性价比较高的方案。

    自动售检票(Automatic Fare Collection,简为AFC) 系统是城市轨道交通的重要组成部分。AFC系统对轨道交通的现代化运营起到了十分重要的作用。非接触式IC卡融合了IC卡和射频技术,解决了无源和免接触问题,成为城市轨道交通AFC系统的主要使用介质。非接触式IC卡读写器是城市轨道交通AFC系统中的核心部件之一,主要用于实现对票卡的读写,在AFC系统中的闸机、自动售票机、半自动售票机、自助充值机、自主查询机中大量用。

    随着城市轨道交通AFC系统的网络化运营,在多条线路中可能采用不同品牌的读写器产品。当票卡处理流程需要调整时,不同品牌的读写器产品提供的接口不一样,这给AFC系统升级改造带来很大困难。AFC系统非接触式IC卡读写器中间件,在IC卡读写器与系统软件之间提供标准接口,作为一个软硬件集成的桥梁,完成与上层复杂应用的信息交换;系统升级改造也可通过读写器中间件来完成,保证了系统的统一性和标准性。因此,研究城市轨道交通AFC系统读写器中间件是十分必要的。

    1 城市轨道交通AFC系统的读写器

    城市轨道交通AFC系统通常采用的非接触式IC卡读写器可分为普通型IC卡读写器和功能型IC卡读写器。普通型IC卡读写器,即为各行业通用的IC卡读写器,是指IC卡读写器在主机的控制下,对IC卡的扇区或文件进行读写操作。城市轨道交通AFC系统功能型IC卡读写器亦称票卡处理型IC卡读写器,是指IC卡读写器内置AFC系统业务规则以及票卡处理流程,是结合城市轨道交通AFC业务而发展起来的IC卡读写器。在AFC系统中,票卡交易的主要处理流程由IC卡读写器完成;IC卡读写器根据需要读取IC卡相应的扇区或文件,对相应的数据进行处理,向IC票卡写入相应的信息,并把处理的结果返还给主机。

    城市轨道交通AFC系统的票务处理是一个十分复杂的过程。当发生如下变更时,需要对票卡处理程序进行升级更新。

    1)票卡的更新。随着技术发展以及市场因素的影响,将有新的性价比更好的IC卡类型推入市场,也有可能会发生系统选用的IC卡类型退出市场。因所选用的IC卡类型退出市场而使整个系统推倒重建的事例曾发生过多次。

    2)票卡结构的变更。随着城市轨道交通路网的建设和完善,采用城市轨道交通出行必然是市民的首选。为了更好地服务于市民,同时也为了加强与道路公交、出租车的合作和竞争,城市轨道交通应考虑多种票卡产品。虽然在标准的制定阶段,应尽可能地考虑各种可能的因素来设计票卡结构,但随着城市轨道交通运营策略的拓展,目前考虑的票卡结构可能不完全满足将来运营的需求。

    3)票卡业务规则的变更。在城市轨道交通运营过程中,已发现现有业务规则在某些方面不能满足运营需求;或当运营政策改变的时候,与票卡相关的业务规则也将进行变更。

    4) 不同版本票卡的混用。对于计次票、储值票以及纪念单程票而言,当票卡结构或票卡密钥发生变更时,必将存在不同版本的票卡混用的情况。普通型IC卡读写器向上位机提供的是对票卡中文件或扇区的底层操作接口,票卡的处理流程则由主机实现。如需对票卡处理流程进行修改,需要各AFC系统集成商对原有的票卡处理函数、程序、接口等进行修改,届时将有大量的谈判和技术标准修订工作。其工作量大,程序调试、测试工作繁杂。

    城市轨道交通舢IC卡系统的票卡处理型IC卡读写器提供与交易相关的接口,票卡交易的流程在读写器内部实现,主机只需根据业务的需要调用相应的接口即可。当读写器接受到相应的交易命令时,根据检测到的票卡种类,调用对应的票卡处理流程。当票卡发生上述变更时,只需要求IC卡读写器供应商修改自己的软硬件,修改时对AFC系统的影响小。因此,新线建设时可考虑采用票卡处理型IC卡读写器方案。

    对老线改造而言,如果全部更换读写器设备,费用相对较高。因此,借鉴功能型I C卡读写器的优点,本文设计一种城市轨道交通AFC系统I C卡读写器中间件。它是一种性价比较高的老线改造解决案:采用普通型IC卡读写器,将城市轨道交通票卡业务规则与票卡处理封装在中间件中,通过统一接口与应用软件交互。读写器中间件既可以解决系统升级维护问题,又降低了成本。

    2 城市轨道交通AFC系统读写器中间件

    为兼容不同IC卡读写器、统一费率计算和统一票卡处理流程问题,提出了设置IC卡读写器中间件(middle ware)。IC卡读写器中间件是位于平台(硬件和操作系统) 和应用之间的通用服务。这些服务具有标准的程序接口和协议,可以兼容不同的操作系统和硬件平台。IC卡读写器中间件负责实现与IC卡读写器硬件以及配套设备的信息交互与管理,同时作为一个软硬件集成的桥梁,完成与上层复杂应用的信息交换。IC卡读写器中间件扮演IC卡读写器和应用程序之间的中介角色。应用程序通过中间件提供的一组通用的应用程序接口,即能完成相应的票卡读写操作。因此,即使票卡处理流程软件修改,或IC卡种类增加、类型更换时,应用软件不需作修改也能处理票卡,以免产生“多对多”连接的维护复杂性问题。

    2.1  IC卡读写器中间件的特点

    对于应用软件开发,IC卡读写器中间件远比操作系统和读写器设备更为重要。IC卡读写器中间件包含大部分AFC系统业务处理,为AFC系统应用软件提供的程序接口定义了一个相对稳定的高层应用环境。不管底层的IC卡读写器硬件和操作系统软件怎样更新换代,只要对中间件做出相应的升级更新,并保持中间件对应用软件的接口定义不变,应用软件几乎不需作任何修改,从而保护了城市轨道交通AFC系统在应用软件开发和维护中的重大投资。特别是在网络化运营环境下的AFC系统,IC卡读写器中间件保证了系统的统一性和标准性。IC卡读写器中间件应具有如下的一些特点:①满足大量应用的需要;②能够运行于多种硬件和OS( 操作系统) 平台;③提供统一标准的协议;④提供统一标准的应用程序接口。

    2.2 IC卡读写器中间件的结构

    IC卡读写器中间件是连接读写器和AFC系统应用软件的纽带,可保证费率计算快速性和票卡处理流程的完整性。AFC系统应用软件不用关心IC卡读写器细节。IC卡读写器中间件的结构包括初始化、安全认证、票卡验证、费率计算、交易生成等模块,如图1所示。 

 IC卡读写器中间件的结构

    2.2.1读写器初始化模块

    读写器初始化模块完成读写器设备的初始化和软件初始化,检查IC卡读写器的状态,确认读写器的工作是否正常;同时对设备进行测试,如果初始化错误,则设备无法工作;还完成设备与车站系统的注册认证,保证读写器在AFC系统中是合法设备。

    2.2.2安全认证模块

    安全认证模块主要通过SAM( Security Access Module) 卡与票卡之间的交互验证票卡合法性。所有AFC设备在进行票卡安全认证时,检查票卡的MAC(报文鉴别代码)有效性。MAC有效性检查由SAM卡完成。SAM卡在检查MAC时,读写器将票卡身份特征数据和MAC一起送人SAM卡。所有的加密运算在PSAM( 消费安全存取模块) 卡内完成,并在卡内对送入SAM的MAC与PSAM计算所得的MAC进行比对,如果正确将返回成功,否则返回错误。

    2.2.3票卡验证模块

    票卡验证是对票卡的有效期、票卡的状态进行检查。如票卡超过有效期或者票卡在黑名单表中,则自动锁卡,并返回相应的锁卡原因。票卡验证流程如图2所示。 

    2.2.4费率计算模块

    费率计算是根据票卡的类型、人口车站编号、出口车站编号、优惠比例等参数计算从票卡上应扣除的金额。由于票种类型繁多,因此费率计算也比较复杂。随着运营政策变化,费率计算方式也经常变化。如果增加新的票种,通常需要升级此模块。费率计算流程如图3所示。

    费率计算也可以采用参化式,在建立费率计算模型的基础上,把可能变化的因子用参替代。参数由清结算系统统一制定下发。当AFC系统增加新的票种,或需修改票种的费率计算公式时,只需要根据费率计算模型确定相应的参数,下发到AFC设备即可。费率计算模型参数通常包括日期参数、时间参数、票卡类型、费用等级、联程优惠、积分优惠等。通过这些参数组合,可查询得到实际费用。

    2.2.5交易生成模块

    票卡交易是IC卡读写器中间件的核心部分。
    AFC系统交易包括进站交易、出站交易、充值交易、售卡交易、车票更新交易、车票延期交易、读交易记录、退票交易、挂失交易、退款交易、换票交易等。交易生成模块主要保证交易的完整性和一致性,在交易发生异常时,通过交易中间状态、备份数据和回滚机保证票卡交易的正确。 

    交易生成模块记录交易过程中的用户信息、交易信息和清分信息等,为业务处理提供必需的信息。同时,读写器设备配合票卡、SAM卡生成交易的TAC(交易认证码)。此TAC与SAM卡中密钥、交易中的关键信息有关。当交易被传输到清结算中心时,由中心通过认证服务器对这笔交易的TAC进行判别,从而决定这些交易是否合法、有无篡改。

    2.3 IC卡读写器中间件的数据流程

     IC卡读写器中间件是应用软件和IC卡读写器之间的连接桥梁,通过封装IC卡读写过程和票卡业务处理流程以达到易维护性和统一性的目的。现易出站交易为例阐述IC卡读写器中间件数据流程(如图4所示):主机应用软件在程序运行时。首先对IC卡读写器初始化,检查设备状态,并通过设备与车站系统的注册认证验证其合法性;IC卡刷卡后,先读扇区内容,通过读写器中间件实现安全认证;根据入口、出口、时间和优惠信息等计算费率,并生成相应交易信息;回写扇区内容,返回交易结束。 

    3 结语

    IC卡读写器是城市轨道交通AFC系统中的核心部件之一。功能性IC卡读写器将票卡处理集成在读写器内部,以便于日后的升级维护,但成本相对较高。老线改造采用IC卡读写器中间件的解决方案,既可以解决系统维护升级问题,又可以降低成本,是一种性价比较高的方案。IC卡读写器中间件满足了城市轨道交通AFC系统网络化应用的需要,提供了统一标准的协议于应用程序接口,可运行于多种硬件及OS平台,从而保证了系统统一性与标准性。本文研究的IC卡读写器中间件是连接读写器与AFC应用程序的纽带,保障了费率计算的快速性和票卡处理流程的完整性及票卡交易的正确性。

    (作者单位:东南大学教育部智能运输系统研究中心)