城市軌道交通自動售檢票系統(tǒng)IC卡讀寫器中間件研究
自動售檢票(Automatic Fare Collection,簡為AFC) 系統(tǒng)是城市軌道交通的重要組成部分。AFC系統(tǒng)對軌道交通的現(xiàn)代化運營起到了十分重要的作用。非接觸式IC卡融合了IC卡和射頻技術(shù),解決了無源和免接觸問題,成為城市軌道交通AFC系統(tǒng)的主要使用介質(zhì)。非接觸式IC卡讀寫器是城市軌道交通AFC系統(tǒng)中的核心部件之一,主要用于實現(xiàn)對票卡的讀寫,在AFC系統(tǒng)中的閘機、自動售票機、半自動售票機、自助充值機、自主查詢機中大量用。
隨著城市軌道交通AFC系統(tǒng)的網(wǎng)絡(luò)化運營,在多條線路中可能采用不同品牌的讀寫器產(chǎn)品。當票卡處理流程需要調(diào)整時,不同品牌的讀寫器產(chǎn)品提供的接口不一樣,這給AFC系統(tǒng)升級改造帶來很大困難。AFC系統(tǒng)非接觸式IC卡讀寫器中間件,在IC卡讀寫器與系統(tǒng)軟件之間提供標準接口,作為一個軟硬件集成的橋梁,完成與上層復(fù)雜應(yīng)用的信息交換;系統(tǒng)升級改造也可通過讀寫器中間件來完成,保證了系統(tǒng)的統(tǒng)一性和標準性。因此,研究城市軌道交通AFC系統(tǒng)讀寫器中間件是十分必要的。
1 城市軌道交通AFC系統(tǒng)的讀寫器
城市軌道交通AFC系統(tǒng)通常采用的非接觸式IC卡讀寫器可分為普通型IC卡讀寫器和功能型IC卡讀寫器。普通型IC卡讀寫器,即為各行業(yè)通用的IC卡讀寫器,是指IC卡讀寫器在主機的控制下,對IC卡的扇區(qū)或文件進行讀寫操作。城市軌道交通AFC系統(tǒng)功能型IC卡讀寫器亦稱票卡處理型IC卡讀寫器,是指IC卡讀寫器內(nèi)置AFC系統(tǒng)業(yè)務(wù)規(guī)則以及票卡處理流程,是結(jié)合城市軌道交通AFC業(yè)務(wù)而發(fā)展起來的IC卡讀寫器。在AFC系統(tǒng)中,票卡交易的主要處理流程由IC卡讀寫器完成;IC卡讀寫器根據(jù)需要讀取IC卡相應(yīng)的扇區(qū)或文件,對相應(yīng)的數(shù)據(jù)進行處理,向IC票卡寫入相應(yīng)的信息,并把處理的結(jié)果返還給主機。
城市軌道交通AFC系統(tǒng)的票務(wù)處理是一個十分復(fù)雜的過程。當發(fā)生如下變更時,需要對票卡處理程序進行升級更新。
1)票卡的更新。隨著技術(shù)發(fā)展以及市場因素的影響,將有新的性價比更好的IC卡類型推入市場,也有可能會發(fā)生系統(tǒng)選用的IC卡類型退出市場。因所選用的IC卡類型退出市場而使整個系統(tǒng)推倒重建的事例曾發(fā)生過多次。
2)票卡結(jié)構(gòu)的變更。隨著城市軌道交通路網(wǎng)的建設(shè)和完善,采用城市軌道交通出行必然是市民的首選。為了更好地服務(wù)于市民,同時也為了加強與道路公交、出租車的合作和競爭,城市軌道交通應(yīng)考慮多種票卡產(chǎn)品。雖然在標準的制定階段,應(yīng)盡可能地考慮各種可能的因素來設(shè)計票卡結(jié)構(gòu),但隨著城市軌道交通運營策略的拓展,目前考慮的票卡結(jié)構(gòu)可能不完全滿足將來運營的需求。
3)票卡業(yè)務(wù)規(guī)則的變更。在城市軌道交通運營過程中,已發(fā)現(xiàn)現(xiàn)有業(yè)務(wù)規(guī)則在某些方面不能滿足運營需求;或當運營政策改變的時候,與票卡相關(guān)的業(yè)務(wù)規(guī)則也將進行變更。
4) 不同版本票卡的混用。對于計次票、儲值票以及紀念單程票而言,當票卡結(jié)構(gòu)或票卡密鑰發(fā)生變更時,必將存在不同版本的票卡混用的情況。普通型IC卡讀寫器向上位機提供的是對票卡中文件或扇區(qū)的底層操作接口,票卡的處理流程則由主機實現(xiàn)。如需對票卡處理流程進行修改,需要各AFC系統(tǒng)集成商對原有的票卡處理函數(shù)、程序、接口等進行修改,屆時將有大量的談判和技術(shù)標準修訂工作。其工作量大,程序調(diào)試、測試工作繁雜。
城市軌道交通舢IC卡系統(tǒng)的票卡處理型IC卡讀寫器提供與交易相關(guān)的接口,票卡交易的流程在讀寫器內(nèi)部實現(xiàn),主機只需根據(jù)業(yè)務(wù)的需要調(diào)用相應(yīng)的接口即可。當讀寫器接受到相應(yīng)的交易命令時,根據(jù)檢測到的票卡種類,調(diào)用對應(yīng)的票卡處理流程。當票卡發(fā)生上述變更時,只需要求IC卡讀寫器供應(yīng)商修改自己的軟硬件,修改時對AFC系統(tǒng)的影響小。因此,新線建設(shè)時可考慮采用票卡處理型IC卡讀寫器方案。
對老線改造而言,如果全部更換讀寫器設(shè)備,費用相對較高。因此,借鑒功能型I C卡讀寫器的優(yōu)點,本文設(shè)計一種城市軌道交通AFC系統(tǒng)I C卡讀寫器中間件。它是一種性價比較高的老線改造解決案:采用普通型IC卡讀寫器,將城市軌道交通票卡業(yè)務(wù)規(guī)則與票卡處理封裝在中間件中,通過統(tǒng)一接口與應(yīng)用軟件交互。讀寫器中間件既可以解決系統(tǒng)升級維護問題,又降低了成本。
2 城市軌道交通AFC系統(tǒng)讀寫器中間件
為兼容不同IC卡讀寫器、統(tǒng)一費率計算和統(tǒng)一票卡處理流程問題,提出了設(shè)置IC卡讀寫器中間件(middle ware)。IC卡讀寫器中間件是位于平臺(硬件和操作系統(tǒng)) 和應(yīng)用之間的通用服務(wù)。這些服務(wù)具有標準的程序接口和協(xié)議,可以兼容不同的操作系統(tǒng)和硬件平臺。IC卡讀寫器中間件負責(zé)實現(xiàn)與IC卡讀寫器硬件以及配套設(shè)備的信息交互與管理,同時作為一個軟硬件集成的橋梁,完成與上層復(fù)雜應(yīng)用的信息交換。IC卡讀寫器中間件扮演IC卡讀寫器和應(yīng)用程序之間的中介角色。應(yīng)用程序通過中間件提供的一組通用的應(yīng)用程序接口,即能完成相應(yīng)的票卡讀寫操作。因此,即使票卡處理流程軟件修改,或IC卡種類增加、類型更換時,應(yīng)用軟件不需作修改也能處理票卡,以免產(chǎn)生“多對多”連接的維護復(fù)雜性問題。
2.1 IC卡讀寫器中間件的特點
對于應(yīng)用軟件開發(fā),IC卡讀寫器中間件遠比操作系統(tǒng)和讀寫器設(shè)備更為重要。IC卡讀寫器中間件包含大部分AFC系統(tǒng)業(yè)務(wù)處理,為AFC系統(tǒng)應(yīng)用軟件提供的程序接口定義了一個相對穩(wěn)定的高層應(yīng)用環(huán)境。不管底層的IC卡讀寫器硬件和操作系統(tǒng)軟件怎樣更新?lián)Q代,只要對中間件做出相應(yīng)的升級更新,并保持中間件對應(yīng)用軟件的接口定義不變,應(yīng)用軟件幾乎不需作任何修改,從而保護了城市軌道交通AFC系統(tǒng)在應(yīng)用軟件開發(fā)和維護中的重大投資。特別是在網(wǎng)絡(luò)化運營環(huán)境下的AFC系統(tǒng),IC卡讀寫器中間件保證了系統(tǒng)的統(tǒng)一性和標準性。IC卡讀寫器中間件應(yīng)具有如下的一些特點:①滿足大量應(yīng)用的需要;②能夠運行于多種硬件和OS( 操作系統(tǒng)) 平臺;③提供統(tǒng)一標準的協(xié)議;④提供統(tǒng)一標準的應(yīng)用程序接口。
2.2 IC卡讀寫器中間件的結(jié)構(gòu)
IC卡讀寫器中間件是連接讀寫器和AFC系統(tǒng)應(yīng)用軟件的紐帶,可保證費率計算快速性和票卡處理流程的完整性。AFC系統(tǒng)應(yīng)用軟件不用關(guān)心IC卡讀寫器細節(jié)。IC卡讀寫器中間件的結(jié)構(gòu)包括初始化、安全認證、票卡驗證、費率計算、交易生成等模塊,如圖1所示。
.jpg)
2.2.1讀寫器初始化模塊
讀寫器初始化模塊完成讀寫器設(shè)備的初始化和軟件初始化,檢查IC卡讀寫器的狀態(tài),確認讀寫器的工作是否正常;同時對設(shè)備進行測試,如果初始化錯誤,則設(shè)備無法工作;還完成設(shè)備與車站系統(tǒng)的注冊認證,保證讀寫器在AFC系統(tǒng)中是合法設(shè)備。
2.2.2安全認證模塊
安全認證模塊主要通過SAM( Security Access Module) 卡與票卡之間的交互驗證票卡合法性。所有AFC設(shè)備在進行票卡安全認證時,檢查票卡的MAC(報文鑒別代碼)有效性。MAC有效性檢查由SAM卡完成。SAM卡在檢查MAC時,讀寫器將票卡身份特征數(shù)據(jù)和MAC一起送人SAM卡。所有的加密運算在PSAM( 消費安全存取模塊) 卡內(nèi)完成,并在卡內(nèi)對送入SAM的MAC與PSAM計算所得的MAC進行比對,如果正確將返回成功,否則返回錯誤。
2.2.3票卡驗證模塊
票卡驗證是對票卡的有效期、票卡的狀態(tài)進行檢查。如票卡超過有效期或者票卡在黑名單表中,則自動鎖卡,并返回相應(yīng)的鎖卡原因。票卡驗證流程如圖2所示。
.jpg)
2.2.4費率計算模塊
費率計算是根據(jù)票卡的類型、人口車站編號、出口車站編號、優(yōu)惠比例等參數(shù)計算從票卡上應(yīng)扣除的金額。由于票種類型繁多,因此費率計算也比較復(fù)雜。隨著運營政策變化,費率計算方式也經(jīng)常變化。如果增加新的票種,通常需要升級此模塊。費率計算流程如圖3所示。
費率計算也可以采用參化式,在建立費率計算模型的基礎(chǔ)上,把可能變化的因子用參替代。參數(shù)由清結(jié)算系統(tǒng)統(tǒng)一制定下發(fā)。當AFC系統(tǒng)增加新的票種,或需修改票種的費率計算公式時,只需要根據(jù)費率計算模型確定相應(yīng)的參數(shù),下發(fā)到AFC設(shè)備即可。費率計算模型參數(shù)通常包括日期參數(shù)、時間參數(shù)、票卡類型、費用等級、聯(lián)程優(yōu)惠、積分優(yōu)惠等。通過這些參數(shù)組合,可查詢得到實際費用。
2.2.5交易生成模塊
票卡交易是IC卡讀寫器中間件的核心部分。
AFC系統(tǒng)交易包括進站交易、出站交易、充值交易、售卡交易、車票更新交易、車票延期交易、讀交易記錄、退票交易、掛失交易、退款交易、換票交易等。交易生成模塊主要保證交易的完整性和一致性,在交易發(fā)生異常時,通過交易中間狀態(tài)、備份數(shù)據(jù)和回滾機保證票卡交易的正確。
.jpg)
交易生成模塊記錄交易過程中的用戶信息、交易信息和清分信息等,為業(yè)務(wù)處理提供必需的信息。同時,讀寫器設(shè)備配合票卡、SAM卡生成交易的TAC(交易認證碼)。此TAC與SAM卡中密鑰、交易中的關(guān)鍵信息有關(guān)。當交易被傳輸?shù)角褰Y(jié)算中心時,由中心通過認證服務(wù)器對這筆交易的TAC進行判別,從而決定這些交易是否合法、有無篡改。
2.3 IC卡讀寫器中間件的數(shù)據(jù)流程
IC卡讀寫器中間件是應(yīng)用軟件和IC卡讀寫器之間的連接橋梁,通過封裝IC卡讀寫過程和票卡業(yè)務(wù)處理流程以達到易維護性和統(tǒng)一性的目的。現(xiàn)易出站交易為例闡述IC卡讀寫器中間件數(shù)據(jù)流程(如圖4所示):主機應(yīng)用軟件在程序運行時。首先對IC卡讀寫器初始化,檢查設(shè)備狀態(tài),并通過設(shè)備與車站系統(tǒng)的注冊認證驗證其合法性;IC卡刷卡后,先讀扇區(qū)內(nèi)容,通過讀寫器中間件實現(xiàn)安全認證;根據(jù)入口、出口、時間和優(yōu)惠信息等計算費率,并生成相應(yīng)交易信息;回寫扇區(qū)內(nèi)容,返回交易結(jié)束。
.jpg)
3 結(jié)語
IC卡讀寫器是城市軌道交通AFC系統(tǒng)中的核心部件之一。功能性IC卡讀寫器將票卡處理集成在讀寫器內(nèi)部,以便于日后的升級維護,但成本相對較高。老線改造采用IC卡讀寫器中間件的解決方案,既可以解決系統(tǒng)維護升級問題,又可以降低成本,是一種性價比較高的方案。IC卡讀寫器中間件滿足了城市軌道交通AFC系統(tǒng)網(wǎng)絡(luò)化應(yīng)用的需要,提供了統(tǒng)一標準的協(xié)議于應(yīng)用程序接口,可運行于多種硬件及OS平臺,從而保證了系統(tǒng)統(tǒng)一性與標準性。本文研究的IC卡讀寫器中間件是連接讀寫器與AFC應(yīng)用程序的紐帶,保障了費率計算的快速性和票卡處理流程的完整性及票卡交易的正確性。
(作者單位:東南大學(xué)教育部智能運輸系統(tǒng)研究中心)