大连市公交一卡通管理系统的设计与实现
“城市一卡通”是随着电子计算机技术的高速发展“,电子商务”和“电子货币”支付手段的日益成熟而提出的新概念。它是将城市公用事业各个行业统一起来,采用一致的付费方式,方便市民消费、提高运营企业的工作效率;在一定区域内,居民或游客持同一张IC卡能实现身份验证、流动消费支付、存储各类信息等功能。
IC卡的种类可分为存储卡、逻辑加密存储卡和带微处理器的智能卡(CPU卡)三类,按读写方式分可分为接触式、非接触式和双界面卡(即可用接触式也可用非接触式读写)三类。从目前国内外的应用情况看,由于不同的应用采用不同的IC卡和系统而无法通用,出现了重复建设和一人要持有多张卡等使用不便的问题,因此在IC卡的应用中采用一卡多用和“一卡通”方式已成为社会的发展趋势。但随着IC卡的不断普及和应用技术的不断提高,各种存储卡因缺乏足够的保密措施日益受到安全性的挑战。20世纪90年代初期,带微处理器的CPU卡问世,随后又将射频技术和IC卡技术相结合,出现了非接触式CPU卡和双界面CPU卡,大大提高了IC卡的安全性,使其在应用中可以更有效地进行文件管理,更方便地实现各种功能,使一卡多用和“一卡通”得以实现。
本系统IC卡选型充分地考虑到系统的开放性和数据的安全性,采用双界面CPU卡。卡的分区和密钥管理由其操作系统控制,并且卡内内置硬件加密算法(DES算法)[1]。实现城市一卡通IC卡应用内容包括公交车、出租车、地铁、轻轨、轮渡、自来水收费、煤气收费等,因此使用的IC卡要求既可以在非接触式的读写器上使用,又可以在接触式的读写器上使用,只有双界面的IC卡就可以满足这个要求。同时,用IC卡进行各种消费,它属于电子钱包的应用,同时又应用于各个不同的行业,必须要保证使用的IC卡本身具有很高的数据读写安全性,只有CPU卡才具有这个特性。
作为城市一卡通系统的IC卡必须采用双界面CPU卡。大连在国内率先提出了城市一卡通的新概念。并将城市一卡通系统首先在公交系统应用,其首期工程为大连市公交一卡通系统。
1 管理系统总体结构
大连市公交一卡通系统是城市一卡通系统的首项工程,系统具有先进性、可靠性、安全性和可扩展性。大连市“公交一卡通”的总体结构分为三个层次,一层为用户层,主要包括持卡用户的乘车消费和充值,二层为各公交公司的结算中心,主要用来结算每日用户的实际消费,三层是专门用于消费与充值清算的城市一卡通公司用户层的持卡乘客,必须先到售卡充值网点去购IC卡或充值,持有IC卡后就可以乘公交车消费,系统自动地将用户的消费计入相应的消费项中去,同时将扣除用户卡上的金额。全市各公交公司为用户的业主,公交一卡通系统为这些业主提供服务。各公交公司在他们的公交车上装有由一卡通公司统一管理编号的消费终端,即车载机。乘客用IC卡消费后,一卡通公司清算管理中心收集消费终端中的消费数据,根据用户的消费记录进行清分结算,及时将各公交公司的营业收入划到其帐户上。
大连市“公交一卡通”系统有两套售卡充值系统,一是大连市商业银行的营业网点,通过银行计算机网络与一卡通公司清算管理中心进行数据通讯。一是公交系统的6个售票网点,直接与一卡通公司清算管理中心相连,业务上由两个票务中心管理。系统中每个公交公司下设一个结算中心,负责收集车载机中下载的消费数据,将数据传送到一卡通公司清算管理中心。同时将消费数据存入本地数据库,进行数据处理.
2 系统软件及数据库设计
本系统软件是根据系统的功能需求,按售卡充值、公交公司结算中心、、一卡通公司清算管理中心、车载机和网络通讯系统五个部分来设计的。围绕公交管理的业务内容,体现出管理科学、用户方便、数据准确的基本思想。
大连公交一卡通应用软件系统包括售卡充值系统、票务中心系统、公交公司结算系统和一卡通公司清算管理系统四部分。共包括13个子系统。见软件系统结构图(图1)。下面简要的介绍大连市公交一卡通部分软件系统。
售卡充值系统
售卡点主要的功能是进行售卡,充值,退卡和坏卡处理,它的业务量比较大。售卡点除本地通讯外还和清算中心、票务中心有数据交换,因此本地库和中心库数据的一致性非常重要。每天的售卡充值数据,坏卡处理数据,营业数据都需要传输到清算中心,对数据的保密性和安全性要求高。每个售卡点在网络物理设备上都是一个独立的子网,在该子网系统中有一台独立的数据库服务器,同时每个充值单机在物理上都和数据库服务器在同一个子网上,可以相互快速的访问。
售卡充值系统包括售卡充值、售卡充值点库存管理和售卡充值点MIS三部分。
票务中心系统
票务中心在逻辑上是连接清算中心和售卡点的纽带,在物理上只是和清算中心连接,与售卡点的业务交流都要通过清算中心进行。售卡点的主要业务生成的数据都是直接传输到清算中心。票务中心的数据都来自于清算中心,所以票务中心只保存部分必要的数据,另一部分不常用的数据可以通过远程查询获得。这样可使票务中心的数据和清算中心的数据保持一致,也可使得票务中心的数据库易于管理和维护。票务中心主要功能是票务中心库存管理、卡片领取(从清算中心到票务中心)、卡片分配(从票务中心到售卡点)、卡片调拨(从票务中心到票务中心)、卡片回收(从售卡点到票务中心和从票务中心到清算中心)、卡片往来情况查询、售卡点卡分布查询、售卡点营业汇总查询、学生档案信息管理、单位信息管理。
结算中心系统
结算中心系统包括消费数据加载传输和结算中心MIS两部分。结算中心MIS主要完成车载机的管理、管理卡和数据下载盒管理、数据采集情况的统计、消费数据的处理及相应的查询统计、处理与清算中心的通讯数据。数据加载传输分为结算中心数据加载程序和拨号传输程序两部分,前者是系统的消费数据入口管理模块,负责采集消费数据生成本地数据,并负责生成上传的数据包。后者实现通过调用操作系统的拨号网络与清算中心通信,完成结算中心数据的上传和下载。
一卡通公司清算管理系统
清算中心数据库是该系统数据处理的核心,主要进行大数据量集中处理和统计查询,对数据库系统的处理能力要求很高,并且对数据库的实时性和安全性要求很高。由于该系统的售卡充值业务要实时存储数据,所以该系统采用集群技术,由一台小型机充当主数据库和临时数据库的备份机,当主数据库和临时数据库一台或两台发生故障时,数据库自动切换到备用机,不影响系统的正常运行。该系统的数据存储采用RAID-5技术(主数据库)和磁盘镜像技术(临时数据库),从物理上保证数据的存储安全性。该系统在数据库的设计过程参阅了数据库三范式理论和关系型数据库应用理论,并且针对系统的特殊需要,对某些数据库表采取了非规范的设计来提高数据的处理能力和查询能力。
清算管理系统包括:充值消费数据校验解包系统、清分系统、发卡系统、IC卡发行管理系统、设备发行管理系统、库存管理系统和清算中心MIS。
清分子系统是该系统中关键的子系统之一,负责数据的清分核算功能。主要功能是开设用户个人帐户,并且能够针对个人帐户进行充值、消费、退卡和换卡处理;能够及时准确地核算出每个售卡点的收入支出情况,能够自动计算出每个售卡点的充值手续费,并能查询统计每个售卡点的日营业情况。对每日大量的消费数据的能够完成清分工作,能准确地核算出每个公交公司每日的营业额和手续费。提供对售卡点业务和结算中心业务多种方式的查询和统计。发卡系统主要功能为发行用户卡,发行管理卡,用户卡信息查询,管理卡信息查询。
IC卡发行管理系统的主要功能是用户卡和管理卡的初始化、发行、回收以及相关的查询和统计。系统主要分为用户卡管理、管理卡管理、回收管理和查询统计四部分。设备发行管理系统主要负责设备的审批管理、发行管理、更换管理、回收管理和维护管理,以及相应的查询统计。库存管理系统主要功能是商品(主要为设备和卡片)的出入库管理,以及库存管理(包括盘点处理和本子系统运行的字典维护管理)和相应查询和统计。清算中心MIS的主要功能是数据的查询和统计,以及整个系统运行的字典维护和系统操作的管理。
操作系统及数据库平台
清算管理中心操作系统采用SolarisUNIX。该操作系统为多任务网络操作系统满足C2级安全标准。公交公司结算中心和售卡充值系统采用WindowsNT。前端应用开发使用PowerBuilder、C/C++、TimeCos等。
3 系统网络及通讯设计
城市一卡通网络系统是利用当今最先进的计算机和网络通讯技术,构建一个全市范围内的计算机广域网,实现一卡通业务的全市计算机联网。公交一卡通网络系统是其中的子网之一。公交一卡通的网络系统包括:清算中心、结算中心、票务中心、售卡点等几大部分。
整个网络系统的主干网为千兆以太网,百兆到桌面,广域网采用DDN(DigitalDataNetwork)和PSTN(PublicSwitchedTelephoneNetwork)。其中清算中心是大连市公交一卡通系统的关键部门,负责整个系统的开发、运行、维护等任务,是整个系统的核心部分。清算中心的网络系统是公交一卡通网络系统的中心,负责数据的接收、传送,对消费数据和售卡、充值进行清分处理,IC卡初始化、IC卡发行等关键任务。下面以清算中心系统网络为例,详细介绍。
3.1 清算中心网络拓扑结构
清算中心的网络系统共分为集群系统、局域网系统、广域网部分。网络拓扑图见图2
3.2 集群系统
集群系统是清算中心网络系统的核心,由三台SUN小型机、一台磁盘阵列、两台CISCO4908G光纤交换机、两台光纤HUB、一台HUB等硬件组成,集群系统的详细网络拓扑图见图3。
图3 集群系统拓扑结构图
集群系统采用Lagato公司的LegatoCluster,其工作模式是:在三台小型机上分别安装Sybase数据库以及集群软件。其中dbserver3作为系统的主数据库,dbserver1作为系统的临时数据库(存放结算中心的消费数据库包),dbserver2作为备用机。LegatoCluster对下列资源进行监控和处理:
1)控制dbserver1和dbserver3的操作系统
当发现任何一台小型机出现死机或不能正常工作,LegatoCluster软件认为小型机已经失去响应时,LegatoCluster自动将磁盘阵列等硬件资源的控制权移交给dbserver2,然后将IP地址、主机名等网络配置重新分配给dbserver2,最后将Sybase进程切换到dbserver2上。
2)监控磁盘阵列的工作状态
当发现磁盘阵列的工作状态有错误或Cluster无法获得磁盘阵列的控制权时,Cluster提示系统错误。出现这样的情况时,由于Sybase的databasede2 vice建立在磁盘阵列上,会导致SybaseServer无法响应或无法启动,所以Cluster此时只提示错误。
3)监控网卡的工作状态。当发现dbserver1、dbserver3上的网卡不能工作时,LegatoCluster自动启用小型机上的第二块千兆网卡,并将IP地址等网络配置重新绑定到这块网卡上。
4)监控Sybase服务
当发现SybaseServer无法启动时或启动失败时,LegatoCluster自动将磁盘阵列等资源切换到dbserver2上,然后将Sybase服务在dbserver2上重新启动;当发现Sybase服务没有响应或响应时间过长时,LegatoCluster不对任何资源进行切换,直接将Sybase服务重新启动。
5)孤立性检测
当LegatoCluster通过小型机的所有网卡都不能发现有其他机器的存在,即网络中只有一台小型机在工作时,LegatoCluster将关闭这台小型机。
3.3 清算中心局域网部分
清算中心局域网部分包括清算中心内部的业务处理PC机、前置服务器、加密机等。
局域网部分由两台CISCO2948交换机构成百兆以太网,CISCO2948同CISCO4908G级连,使局域网部分同主干网联接。这样形成了千兆主干网,百兆到桌面的网络结构。局域网通过前置服务器,前置服务器再同CISCO2912相连,然后在连接到CISCO3640路由器,这样就形成了三级网络。局域网的IP地址同主干网,即小型机的IP地址同在一个网段上,构成一级网络。一级网络的IP地址为:202111110。前置服务器共有六台机器,他们同时连接两个网段,即一级网络和广域网,是清算中心同外界通讯的桥梁,前置服务器构成二级网络。二级网络的IP地址为:2021101210。局域网内的所有计算机均使用静态的IP地址,操作系统PC机使用Windows98,前置服务器使用WindowsNT610PACK4。
3.4 清算中心广域网部分
广域网部分包括前置服务器、防火墙、路由器、商业银行、脱机充值等,前置服务器通过CIS2CO2948连接内部局域网,同时,通过CISCO2912连接防火墙CISCOPIX,CISCOPIX再通过另外一台CISCO2912连接至CISCO3640路由器。目前,CISCO3640共使用了7条PSTN线路、5条DDN线路作为广域网的通讯线路,其中7条PSTN为结算中心使用的消费数据传输线路,DDN为售卡点使用的售卡充值数据传输线路。票务中心由于在物理位置上同售卡点在同一位置,所以通售卡点共用一条DDN线路。商业银行的使用一台PC机连接到路由器和防火墙之间的CISCO2912上。脱机充值的数据传输直接通过CISCO2912连接到前置服务器上。前置服务器、防火墙以及路由器之间的通讯速度为100M。防火墙的工作模式为IP地址代理和端口代理。
4 系统实现
大连市公交一卡通系统作为大连市城市一卡通总体规划的首期工程经过大连市城市一卡通政府领导小组、项目运营单位和技术支持单位的共同努力,通过2年的时间,于2001年7月15日正式试运行,于2001年12中旬通过了系统验收。目前公交一卡通系统已经安装了66条公交线路、近3000辆公交车,日处理数据量40万条。大连公交一卡通系统发卡量超过35万张,应用效果良好。2002年大连市正式取消月票,发卡量达到60万张。
对于城市一卡通的后继项目,用IC卡进行各种消费,属于电子钱包的应用,同时又应用于各个不同的行业,必须要保证使用的IC卡本身具有很高的数据读写安全性,大连市公交一卡通正是考虑到这层应用,才选择了CPU卡。这是大连市公交一卡通系统区别与其它城市公交一卡通系统的特点之一。
大连市公交一卡通系统采用北京握奇数据系统有限公司的TimeCOS/DI操作系统。该操作系统于1998年11月通过了人民银行对金融IC卡操作系统的认证,并已广泛应用于金融交易、社会保险、电表收费、商业电子消费、驾驶员管理证等项目,技术已达到世界领先水平。通过公交一卡通的双界面CPU卡在大连公交系统的几个月测试,证明了卡片性能稳定,完全能够满足大规模应用的要求。大连公交一卡通项目的成功应用,为大连城市一卡通项目的实施,打下了坚实的基础。
5 结 论
1)公交一卡通的成功应用,解决了公交系统原有的票款流失、收集困难、结算费力、客流统计与规划困难等问题。
2)随着城市一卡通后继项目的不断开展,对公交一卡通系统的网络安全性、IC卡的安全性以及公交系统与城市其他系统的网络互联,提出了更高的要求,这是大连市公交一卡通系统有待再深入研究的课题。