地铁AFC系统数据库设计、维护和优化
2011-03-17杨玉娟
杨玉娟
(上海地铁第四运营有限公司,上海 2 00071)
自动售检票系统,AFC(Automatic Fare Collection)。它是基于计算机、通信、网络、自动控制等技术,实现轨道交通售票、检票、计费、收费、统计、清分、管理等过程的自动化系统。
1 上海地铁六号线AFC系统
上海地铁六号线AFC系统包括:线路控制中心AFC系统、车站AFC系统、终端设备和票卡。系统主要功能有售检票交易处理、票务管理、财务结算、客流量统计分析以及与上海市轨道交通票务清分中心进行票务交易清分和对帐等。六号线AFC系统采用自动和人工2种售票方式,检票模式采用封闭式,即进、出站均采用自动检票机自动检票,并辅于半自动补票机方式。本系统是采用Oracle数据库平台的自动售检票系统,使用符合《城市公共交通非接触集成电路(IC)卡通用技术规范》的单程票和储值票2种票制。储值票采用上海市公共交通“一卡通”非接触式IC卡车票,可按面值多次使用,并可反复充值,连续使用;单程票采用上海市轨道交通“一票通”薄型非接触式IC卡,仅供当天使用,一次有效,可通过赋值后循环使用。由于AFC系统与地铁运营的财务收益密切相关,因此,AFC系统数据的安全性、实时性、完整性等功能是设计的关键。
2 AFC系统数据库的设计
2.1 软硬件的采用
鉴于上海地铁以往线路AFC系统设计的成功经验,六号线在考虑未来客流数据量、性能要求、可靠性要求以及成本控制等因素,选择了大型数据库管理系统Oracle 10i,同时为保证AFC数据的完整性和一致性,中心和车站采用一致的数据库系统和UNIX操作系统。
数据库硬件主要由HP MSL6000和Autoloader磁带库、HP EVA4000磁盘阵列(2个控制柜)、2台HP rp4640小型机、1台HP备份服务器、2台HP 4/8 的 SAN Switch 光纤存储交换机、Cisco交换机、2台HP液晶显示器、(Data Cartrige)磁带以及若干存储光纤组成。数据库软件主要有HPUX AI11.23和 HP-UX Iii V1操作系统安装盘,ORACLE应用软件,HP SAN Switch、EVA和HP OpenView Storage Data Protector的应用软件组成。
2.2 主要设计方案
数据库设计主要包括以下4个方案:
(1)Data Protector实施方案,是中央主机数据库备份系统的实施方案。
(2)HP MC ServiceGuard实施方案,是一个采用心跳线概念的集群实施方案。
(3)Mirror Disk实施方案,是硬盘阵列采用磁盘映射技术的实施方案。
(4)SAN实施方案,是关系到核心系统健康平稳运作的关键方案。
为了防止硬件链路的单点故障,采取双机备份,每个生产主机有2个FC卡,各自通过一对光纤连接到SAN交换机上,磁带库则通过一对FC(Fiber Chanel)光纤通道链路连接到SAN交换机上。SAN交换机各有2对光纤连接到EVA4000磁盘阵列的2个控制器,它通过两端的冗余链路接入磁盘阵列,形成loop回路,防止单条链路的硬件故障。
2.3 备份方案的设计
中央主机数据库系统的“备份系统实施方案”,是确保AFC系统数据完整,实现不影响生产系统运行的,基于HP MSL6000磁带库、Oracle RMAN和HP SDP的一套在线整和备份系统。备份的数据为中心数据库信息、中心RMAN数据库信息及车站数据库信息。备份介质有明确标识,分类保管。采用HP OpenView Storage Data Protector软件自动备份,备份介质为HP MSL6000磁带,定义3个介质池(Media Pool)—Afcline6-DB-Pool,存储afcline6的数据库备份。Afcline6-Archive-Poo,存储afcline6归档日志文件备份。IDB-Pool,存储Data Protector IDB备份。
备份的内容又分全备份、增量备份和归档日志备份,其中Data-IDB-File是每天14:00开始的全备份,且数据永久保存。afcline6的数据库备份有全备份和增量备份。存储afcline6归档日志文件备份。中心RMAN数据库采用UNIX脚本自动备份,中心TSM数据库采用Tivoli软件自动备份,将一周的备份文件刻录至光盘保存。车站数据库备份采用ORACLE逻辑备份(通过EXP命令),在车站服务器和车站监控机上双机互备。
3 AFC系统数据库的日常应用及维护
为确保AFC系统长期、稳定、高效的运作,数据库的维护是一项例行的、不可缺少的工作。首先需要进行日常监控,其及时性,持续性是确定数据库系统是否处于正常状态下的必要条件,通过监控工作,能够及时全面了解系统运作情况,甚至是预防和发现问题的最有效方法。其次,日常维护、备份等环节也是确保数据库正常运作,数据信息完整的必要手段。
3.1 日常监控
检查数据库的连接情况,查看与数据库建立的会话数目是不是正常,对一些“挂死”的连接,需要手工清理。 具体应用如下:
(1)察看应用的命令:appctl station show
(2)停止应用的命令:appctl station stop
(3)开启应用的命令:appctl station start
(4)应用重启的命令:appctl station restart
(5)减少应用的命令:appctl station sub <进程序列号> <减少个数>。
(6)增加应用的命令:appctl station add <进程序列号> <减少个数> 。
3.2 查看日志信息
维护人员除了验证数据库及连通性外,还需要查看日志。特别是在系统出现异常情况时,日志文件就能为我们提供问题发生的信息来源,给维护人员判断故障原因提供比较可靠的依据。日常工作中需要查看日志主要分为4类:
(1)Online—交换日志。查看具体时间的日志记录:online.log.
(2)Comm—通讯日志。查看服务器端日志记录:comm.log.
(3)Monitor—监控进程日志。
(4)Batch—批处理日志。
3.3 查看日志报警
运行listener访问应用程序后,检查数据库日志(alert.log)。需要重点注意如日志文件的开关情况,数据库的启动信息等。监控这些消息出现的频率,验证数据库是否处于正常运作模式中。
诊断数据库是否出现hanging和性能问题的方法,首先要描述清楚出现的现象问题,其次寻找具体错误,然后收集操作系统级别上的数据,获取systemstate和hanganalyze的dump,获取STATPACK的输出报告,最后获取PROCESSSTATE的dump。很多时候没有必要关闭数据库来停止hanging,若一定要关闭,应在关闭前获取查看这些诊断信息,以便找出错误原因。
3.4 管理表空间
定期通过Oracle En-terprise Manager Console应用,检查数据库表空间的使用情况。当表空间利用率超过90%,通过扩充数据文件的方法扩大数据库相应的表空间。一般监控表空间在80%左右,就可以对数据库表空间进行一些处理,释放部分空间,避免潜在故障发生。
4 六号线AFC系统数据库的优化
Oracle数据库的性能设计在实际应用中,仍需要优化。主要的工作内容有:优化、恢复和备份。从调整AFC中央主机内存分配、调整操作系统参数,管理数据库备份数据、优化自由结构OFA(Optimal flexible Architecture)、使用数据库连接池和SQL语句优化方面操作,比较容易优化功能。
4.1 优化自由结构OFA(Optimal flexible Architecture)
优化自由结构OFA,在数据库中可以高效自由地分布逻辑数据对象,数据库逻辑设计时,系统数据和用户数据分开、一般数据和索引数据分开、低活动表和高活动表分开等。
4.2 使用数据库连接池和SQL语句优化
(1)使用直接的OLE DB数据库连接方式,提高处理速度。(2)使用Connection Pool机制,提高系统的响应速度。(3)SQL语句优化。减少对数据库的查询次数,即减少对系统资源的请求,使用快照和显形图等分布式数据库对象可以减少对数据库的查询次数,同时尽量使用相同的或非常类似的SQL语句进行查询,这样不仅充分利用SQL共享池中的已经分析的语法树,要查询的数据在SGA中命中的可能性也会大大增加。
系统设计要充分考虑通用性和易用性。通过采用2台HP rp4640小型机做主机互备,以及RAIDS冗余磁盘阵列体系来预防数据库的安全性和容灾性。以上优化措施,在提高数据处理速度、系统稳定性上达到不错效果。
5 结束语
改善AFC系统数据库功能和优化性能需要提高信息利用率、增强系统的分析能力,强化系统的整理分析原始数据和信息的处理能力,把票务系统与线网的信息管理系统相结合,找出票务收益规律,为城市公共交通服务和管理提供及时、准确的决策分析意见,是AFC系统的发展主要方向之一。
[1] 刘 伟. UNIX基础教程[M]. 北京:清华大学出版社,2004.
[2] 张红光,李福才. UNIX操作系统教程[M]. 北京:机械工业出版社,2010.
[3] 王 彬. Oracle 10g入门与提高[M]. 北京:清华大学出版社,2007.
[4]上海轨道交通票务中心. 城市轨道交通自动售检票系统专用技术说明-1.01[Z]. 上海轨道交通票务中心,2006.
[5] 孟宪虎,马雪英,邓绪斌. 大型数据库系统管理、设计与实例分析[M]. 北京:电子工业出版社,2008.
[6] 陈俊杰. 大型数据库Oracle实验指导教程[M]. 北京:科学出版社,2010.