楊玉娟
(上海地鐵第四運營有限公司,上海 2 00071)
自動售檢票系統(tǒng),AFC(Automatic Fare Collection)。它是基于計算機、通信、網(wǎng)絡(luò)、自動控制等技術(shù),實現(xiàn)軌道交通售票、檢票、計費、收費、統(tǒng)計、清分、管理等過程的自動化系統(tǒng)。
上海地鐵六號線AFC系統(tǒng)包括:線路控制中心AFC系統(tǒng)、車站AFC系統(tǒng)、終端設(shè)備和票卡。系統(tǒng)主要功能有售檢票交易處理、票務(wù)管理、財務(wù)結(jié)算、客流量統(tǒng)計分析以及與上海市軌道交通票務(wù)清分中心進行票務(wù)交易清分和對帳等。六號線AFC系統(tǒng)采用自動和人工2種售票方式,檢票模式采用封閉式,即進、出站均采用自動檢票機自動檢票,并輔于半自動補票機方式。本系統(tǒng)是采用Oracle數(shù)據(jù)庫平臺的自動售檢票系統(tǒng),使用符合《城市公共交通非接觸集成電路(IC)卡通用技術(shù)規(guī)范》的單程票和儲值票2種票制。儲值票采用上海市公共交通“一卡通”非接觸式IC卡車票,可按面值多次使用,并可反復充值,連續(xù)使用;單程票采用上海市軌道交通“一票通”薄型非接觸式IC卡,僅供當天使用,一次有效,可通過賦值后循環(huán)使用。由于AFC系統(tǒng)與地鐵運營的財務(wù)收益密切相關(guān),因此,AFC系統(tǒng)數(shù)據(jù)的安全性、實時性、完整性等功能是設(shè)計的關(guān)鍵。
鑒于上海地鐵以往線路AFC系統(tǒng)設(shè)計的成功經(jīng)驗,六號線在考慮未來客流數(shù)據(jù)量、性能要求、可靠性要求以及成本控制等因素,選擇了大型數(shù)據(jù)庫管理系統(tǒng)Oracle 10i,同時為保證AFC數(shù)據(jù)的完整性和一致性,中心和車站采用一致的數(shù)據(jù)庫系統(tǒng)和UNIX操作系統(tǒng)。
數(shù)據(jù)庫硬件主要由HP MSL6000和Autoloader磁帶庫、HP EVA4000磁盤陣列(2個控制柜)、2臺HP rp4640小型機、1臺HP備份服務(wù)器、2臺HP 4/8 的 SAN Switch 光纖存儲交換機、Cisco交換機、2臺HP液晶顯示器、(Data Cartrige)磁帶以及若干存儲光纖組成。數(shù)據(jù)庫軟件主要有HPUX AI11.23和 HP-UX Iii V1操作系統(tǒng)安裝盤,ORACLE應用軟件,HP SAN Switch、EVA和HP OpenView Storage Data Protector的應用軟件組成。
數(shù)據(jù)庫設(shè)計主要包括以下4個方案:
(1)Data Protector實施方案,是中央主機數(shù)據(jù)庫備份系統(tǒng)的實施方案。
(2)HP MC ServiceGuard實施方案,是一個采用心跳線概念的集群實施方案。
(3)Mirror Disk實施方案,是硬盤陣列采用磁盤映射技術(shù)的實施方案。
(4)SAN實施方案,是關(guān)系到核心系統(tǒng)健康平穩(wěn)運作的關(guān)鍵方案。
為了防止硬件鏈路的單點故障,采取雙機備份,每個生產(chǎn)主機有2個FC卡,各自通過一對光纖連接到SAN交換機上,磁帶庫則通過一對FC(Fiber Chanel)光纖通道鏈路連接到SAN交換機上。SAN交換機各有2對光纖連接到EVA4000磁盤陣列的2個控制器,它通過兩端的冗余鏈路接入磁盤陣列,形成loop回路,防止單條鏈路的硬件故障。
中央主機數(shù)據(jù)庫系統(tǒng)的“備份系統(tǒng)實施方案”,是確保AFC系統(tǒng)數(shù)據(jù)完整,實現(xiàn)不影響生產(chǎn)系統(tǒng)運行的,基于HP MSL6000磁帶庫、Oracle RMAN和HP SDP的一套在線整和備份系統(tǒng)。備份的數(shù)據(jù)為中心數(shù)據(jù)庫信息、中心RMAN數(shù)據(jù)庫信息及車站數(shù)據(jù)庫信息。備份介質(zhì)有明確標識,分類保管。采用HP OpenView Storage Data Protector軟件自動備份,備份介質(zhì)為HP MSL6000磁帶,定義3個介質(zhì)池(Media Pool)—Afcline6-DB-Pool,存儲afcline6的數(shù)據(jù)庫備份。Afcline6-Archive-Poo,存儲afcline6歸檔日志文件備份。IDB-Pool,存儲Data Protector IDB備份。
備份的內(nèi)容又分全備份、增量備份和歸檔日志備份,其中Data-IDB-File是每天14:00開始的全備份,且數(shù)據(jù)永久保存。afcline6的數(shù)據(jù)庫備份有全備份和增量備份。存儲afcline6歸檔日志文件備份。中心RMAN數(shù)據(jù)庫采用UNIX腳本自動備份,中心TSM數(shù)據(jù)庫采用Tivoli軟件自動備份,將一周的備份文件刻錄至光盤保存。車站數(shù)據(jù)庫備份采用ORACLE邏輯備份(通過EXP命令),在車站服務(wù)器和車站監(jiān)控機上雙機互備。
為確保AFC系統(tǒng)長期、穩(wěn)定、高效的運作,數(shù)據(jù)庫的維護是一項例行的、不可缺少的工作。首先需要進行日常監(jiān)控,其及時性,持續(xù)性是確定數(shù)據(jù)庫系統(tǒng)是否處于正常狀態(tài)下的必要條件,通過監(jiān)控工作,能夠及時全面了解系統(tǒng)運作情況,甚至是預防和發(fā)現(xiàn)問題的最有效方法。其次,日常維護、備份等環(huán)節(jié)也是確保數(shù)據(jù)庫正常運作,數(shù)據(jù)信息完整的必要手段。
檢查數(shù)據(jù)庫的連接情況,查看與數(shù)據(jù)庫建立的會話數(shù)目是不是正常,對一些“掛死”的連接,需要手工清理。 具體應用如下:
(1)察看應用的命令:appctl station show
(2)停止應用的命令:appctl station stop
(3)開啟應用的命令:appctl station start
(4)應用重啟的命令:appctl station restart
(5)減少應用的命令:appctl station sub <進程序列號> <減少個數(shù)>。
(6)增加應用的命令:appctl station add <進程序列號> <減少個數(shù)> 。
維護人員除了驗證數(shù)據(jù)庫及連通性外,還需要查看日志。特別是在系統(tǒng)出現(xiàn)異常情況時,日志文件就能為我們提供問題發(fā)生的信息來源,給維護人員判斷故障原因提供比較可靠的依據(jù)。日常工作中需要查看日志主要分為4類:
(1)Online—交換日志。查看具體時間的日志記錄:online.log.
(2)Comm—通訊日志。查看服務(wù)器端日志記錄:comm.log.
(3)Monitor—監(jiān)控進程日志。
(4)Batch—批處理日志。
運行l(wèi)istener訪問應用程序后,檢查數(shù)據(jù)庫日志(alert.log)。需要重點注意如日志文件的開關(guān)情況,數(shù)據(jù)庫的啟動信息等。監(jiān)控這些消息出現(xiàn)的頻率,驗證數(shù)據(jù)庫是否處于正常運作模式中。
診斷數(shù)據(jù)庫是否出現(xiàn)hanging和性能問題的方法,首先要描述清楚出現(xiàn)的現(xiàn)象問題,其次尋找具體錯誤,然后收集操作系統(tǒng)級別上的數(shù)據(jù),獲取systemstate和hanganalyze的dump,獲取STATPACK的輸出報告,最后獲取PROCESSSTATE的dump。很多時候沒有必要關(guān)閉數(shù)據(jù)庫來停止hanging,若一定要關(guān)閉,應在關(guān)閉前獲取查看這些診斷信息,以便找出錯誤原因。
定期通過Oracle En-terprise Manager Console應用,檢查數(shù)據(jù)庫表空間的使用情況。當表空間利用率超過90%,通過擴充數(shù)據(jù)文件的方法擴大數(shù)據(jù)庫相應的表空間。一般監(jiān)控表空間在80%左右,就可以對數(shù)據(jù)庫表空間進行一些處理,釋放部分空間,避免潛在故障發(fā)生。
Oracle數(shù)據(jù)庫的性能設(shè)計在實際應用中,仍需要優(yōu)化。主要的工作內(nèi)容有:優(yōu)化、恢復和備份。從調(diào)整AFC中央主機內(nèi)存分配、調(diào)整操作系統(tǒng)參數(shù),管理數(shù)據(jù)庫備份數(shù)據(jù)、優(yōu)化自由結(jié)構(gòu)OFA(Optimal flexible Architecture)、使用數(shù)據(jù)庫連接池和SQL語句優(yōu)化方面操作,比較容易優(yōu)化功能。
優(yōu)化自由結(jié)構(gòu)OFA,在數(shù)據(jù)庫中可以高效自由地分布邏輯數(shù)據(jù)對象,數(shù)據(jù)庫邏輯設(shè)計時,系統(tǒng)數(shù)據(jù)和用戶數(shù)據(jù)分開、一般數(shù)據(jù)和索引數(shù)據(jù)分開、低活動表和高活動表分開等。
(1)使用直接的OLE DB數(shù)據(jù)庫連接方式,提高處理速度。(2)使用Connection Pool機制,提高系統(tǒng)的響應速度。(3)SQL語句優(yōu)化。減少對數(shù)據(jù)庫的查詢次數(shù),即減少對系統(tǒng)資源的請求,使用快照和顯形圖等分布式數(shù)據(jù)庫對象可以減少對數(shù)據(jù)庫的查詢次數(shù),同時盡量使用相同的或非常類似的SQL語句進行查詢,這樣不僅充分利用SQL共享池中的已經(jīng)分析的語法樹,要查詢的數(shù)據(jù)在SGA中命中的可能性也會大大增加。
系統(tǒng)設(shè)計要充分考慮通用性和易用性。通過采用2臺HP rp4640小型機做主機互備,以及RAIDS冗余磁盤陣列體系來預防數(shù)據(jù)庫的安全性和容災性。以上優(yōu)化措施,在提高數(shù)據(jù)處理速度、系統(tǒng)穩(wěn)定性上達到不錯效果。
改善AFC系統(tǒng)數(shù)據(jù)庫功能和優(yōu)化性能需要提高信息利用率、增強系統(tǒng)的分析能力,強化系統(tǒng)的整理分析原始數(shù)據(jù)和信息的處理能力,把票務(wù)系統(tǒng)與線網(wǎng)的信息管理系統(tǒng)相結(jié)合,找出票務(wù)收益規(guī)律,為城市公共交通服務(wù)和管理提供及時、準確的決策分析意見,是AFC系統(tǒng)的發(fā)展主要方向之一。
[1] 劉 偉. UNIX基礎(chǔ)教程[M]. 北京:清華大學出版社,2004.
[2] 張紅光,李福才. UNIX操作系統(tǒng)教程[M]. 北京:機械工業(yè)出版社,2010.
[3] 王 彬. Oracle 10g入門與提高[M]. 北京:清華大學出版社,2007.
[4]上海軌道交通票務(wù)中心. 城市軌道交通自動售檢票系統(tǒng)專用技術(shù)說明-1.01[Z]. 上海軌道交通票務(wù)中心,2006.
[5] 孟憲虎,馬雪英,鄧緒斌. 大型數(shù)據(jù)庫系統(tǒng)管理、設(shè)計與實例分析[M]. 北京:電子工業(yè)出版社,2008.
[6] 陳俊杰. 大型數(shù)據(jù)庫Oracle實驗指導教程[M]. 北京:科學出版社,2010.