物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊(cè)

城市軌道交通自動(dòng)售檢票系統(tǒng)IC卡讀寫器中間件研究

作者:高朝暉 張寧 何鐵軍 郭靚
來源:中國一卡通網(wǎng)
日期:2010-02-03 08:38:06
摘要:為兼容不同城市軌道交通自動(dòng)售檢票(AFC) 系統(tǒng)IC卡讀寫器設(shè)備、統(tǒng)一費(fèi)率計(jì)算和統(tǒng)一票卡處理流程等,提出了IC卡讀寫器中間件。分析了IC卡讀寫器中間件的特點(diǎn),并設(shè)計(jì)IC卡讀寫器中間件結(jié)構(gòu)及其數(shù)據(jù)流程。地鐵票卡業(yè)務(wù)規(guī)則和票卡處理封裝在IC卡讀寫器中間件中,通過統(tǒng)一接口與應(yīng)用軟件和讀寫器設(shè)備交互,用于城市軌道交通老線路的AFC系統(tǒng)改造,既可以減輕系統(tǒng)升級(jí)維護(hù)工作量,又可降低成本,是一種性價(jià)比較高的方案。

    自動(dòng)售檢票(Automatic Fare Collection,簡為AFC) 系統(tǒng)是城市軌道交通的重要組成部分。AFC系統(tǒng)對(duì)軌道交通的現(xiàn)代化運(yùn)營起到了十分重要的作用。非接觸式IC卡融合了IC卡和射頻技術(shù),解決了無源和免接觸問題,成為城市軌道交通AFC系統(tǒng)的主要使用介質(zhì)。非接觸式IC卡讀寫器是城市軌道交通AFC系統(tǒng)中的核心部件之一,主要用于實(shí)現(xiàn)對(duì)票卡的讀寫,在AFC系統(tǒng)中的閘機(jī)、自動(dòng)售票機(jī)、半自動(dòng)售票機(jī)、自助充值機(jī)、自主查詢機(jī)中大量用。

    隨著城市軌道交通AFC系統(tǒng)的網(wǎng)絡(luò)化運(yùn)營,在多條線路中可能采用不同品牌的讀寫器產(chǎn)品。當(dāng)票卡處理流程需要調(diào)整時(shí),不同品牌的讀寫器產(chǎn)品提供的接口不一樣,這給AFC系統(tǒng)升級(jí)改造帶來很大困難。AFC系統(tǒng)非接觸式IC卡讀寫器中間件,在IC卡讀寫器與系統(tǒng)軟件之間提供標(biāo)準(zhǔn)接口,作為一個(gè)軟硬件集成的橋梁,完成與上層復(fù)雜應(yīng)用的信息交換;系統(tǒng)升級(jí)改造也可通過讀寫器中間件來完成,保證了系統(tǒng)的統(tǒng)一性和標(biāo)準(zhǔn)性。因此,研究城市軌道交通AFC系統(tǒng)讀寫器中間件是十分必要的。

    1 城市軌道交通AFC系統(tǒng)的讀寫器

    城市軌道交通AFC系統(tǒng)通常采用的非接觸式IC卡讀寫器可分為普通型IC卡讀寫器和功能型IC卡讀寫器。普通型IC卡讀寫器,即為各行業(yè)通用的IC卡讀寫器,是指IC卡讀寫器在主機(jī)的控制下,對(duì)IC卡的扇區(qū)或文件進(jìn)行讀寫操作。城市軌道交通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ū)或文件,對(duì)相應(yīng)的數(shù)據(jù)進(jìn)行處理,向IC票卡寫入相應(yīng)的信息,并把處理的結(jié)果返還給主機(jī)。

    城市軌道交通AFC系統(tǒng)的票務(wù)處理是一個(gè)十分復(fù)雜的過程。當(dāng)發(fā)生如下變更時(shí),需要對(duì)票卡處理程序進(jìn)行升級(jí)更新。

    1)票卡的更新。隨著技術(shù)發(fā)展以及市場因素的影響,將有新的性價(jià)比更好的IC卡類型推入市場,也有可能會(huì)發(fā)生系統(tǒng)選用的IC卡類型退出市場。因所選用的IC卡類型退出市場而使整個(gè)系統(tǒng)推倒重建的事例曾發(fā)生過多次。

    2)票卡結(jié)構(gòu)的變更。隨著城市軌道交通路網(wǎng)的建設(shè)和完善,采用城市軌道交通出行必然是市民的首選。為了更好地服務(wù)于市民,同時(shí)也為了加強(qiáng)與道路公交、出租車的合作和競爭,城市軌道交通應(yīng)考慮多種票卡產(chǎn)品。雖然在標(biāo)準(zhǔn)的制定階段,應(yīng)盡可能地考慮各種可能的因素來設(shè)計(jì)票卡結(jié)構(gòu),但隨著城市軌道交通運(yùn)營策略的拓展,目前考慮的票卡結(jié)構(gòu)可能不完全滿足將來運(yùn)營的需求。

    3)票卡業(yè)務(wù)規(guī)則的變更。在城市軌道交通運(yùn)營過程中,已發(fā)現(xiàn)現(xiàn)有業(yè)務(wù)規(guī)則在某些方面不能滿足運(yùn)營需求;或當(dāng)運(yùn)營政策改變的時(shí)候,與票卡相關(guān)的業(yè)務(wù)規(guī)則也將進(jìn)行變更。

    4) 不同版本票卡的混用。對(duì)于計(jì)次票、儲(chǔ)值票以及紀(jì)念單程票而言,當(dāng)票卡結(jié)構(gòu)或票卡密鑰發(fā)生變更時(shí),必將存在不同版本的票卡混用的情況。普通型IC卡讀寫器向上位機(jī)提供的是對(duì)票卡中文件或扇區(qū)的底層操作接口,票卡的處理流程則由主機(jī)實(shí)現(xiàn)。如需對(duì)票卡處理流程進(jìn)行修改,需要各AFC系統(tǒng)集成商對(duì)原有的票卡處理函數(shù)、程序、接口等進(jìn)行修改,屆時(shí)將有大量的談判和技術(shù)標(biāo)準(zhǔn)修訂工作。其工作量大,程序調(diào)試、測(cè)試工作繁雜。

    城市軌道交通舢IC卡系統(tǒng)的票卡處理型IC卡讀寫器提供與交易相關(guān)的接口,票卡交易的流程在讀寫器內(nèi)部實(shí)現(xiàn),主機(jī)只需根據(jù)業(yè)務(wù)的需要調(diào)用相應(yīng)的接口即可。當(dāng)讀寫器接受到相應(yīng)的交易命令時(shí),根據(jù)檢測(cè)到的票卡種類,調(diào)用對(duì)應(yīng)的票卡處理流程。當(dāng)票卡發(fā)生上述變更時(shí),只需要求IC卡讀寫器供應(yīng)商修改自己的軟硬件,修改時(shí)對(duì)AFC系統(tǒng)的影響小。因此,新線建設(shè)時(shí)可考慮采用票卡處理型IC卡讀寫器方案。

    對(duì)老線改造而言,如果全部更換讀寫器設(shè)備,費(fèi)用相對(duì)較高。因此,借鑒功能型I C卡讀寫器的優(yōu)點(diǎn),本文設(shè)計(jì)一種城市軌道交通AFC系統(tǒng)I C卡讀寫器中間件。它是一種性價(jià)比較高的老線改造解決案:采用普通型IC卡讀寫器,將城市軌道交通票卡業(yè)務(wù)規(guī)則與票卡處理封裝在中間件中,通過統(tǒng)一接口與應(yīng)用軟件交互。讀寫器中間件既可以解決系統(tǒng)升級(jí)維護(hù)問題,又降低了成本。

    2 城市軌道交通AFC系統(tǒng)讀寫器中間件

    為兼容不同IC卡讀寫器、統(tǒng)一費(fèi)率計(jì)算和統(tǒng)一票卡處理流程問題,提出了設(shè)置IC卡讀寫器中間件(middle ware)。IC卡讀寫器中間件是位于平臺(tái)(硬件和操作系統(tǒng)) 和應(yīng)用之間的通用服務(wù)。這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議,可以兼容不同的操作系統(tǒng)和硬件平臺(tái)。IC卡讀寫器中間件負(fù)責(zé)實(shí)現(xiàn)與IC卡讀寫器硬件以及配套設(shè)備的信息交互與管理,同時(shí)作為一個(gè)軟硬件集成的橋梁,完成與上層復(fù)雜應(yīng)用的信息交換。IC卡讀寫器中間件扮演IC卡讀寫器和應(yīng)用程序之間的中介角色。應(yīng)用程序通過中間件提供的一組通用的應(yīng)用程序接口,即能完成相應(yīng)的票卡讀寫操作。因此,即使票卡處理流程軟件修改,或IC卡種類增加、類型更換時(shí),應(yīng)用軟件不需作修改也能處理票卡,以免產(chǎn)生“多對(duì)多”連接的維護(hù)復(fù)雜性問題。

    2.1  IC卡讀寫器中間件的特點(diǎn)

    對(duì)于應(yīng)用軟件開發(fā),IC卡讀寫器中間件遠(yuǎn)比操作系統(tǒng)和讀寫器設(shè)備更為重要。IC卡讀寫器中間件包含大部分AFC系統(tǒng)業(yè)務(wù)處理,為AFC系統(tǒng)應(yīng)用軟件提供的程序接口定義了一個(gè)相對(duì)穩(wěn)定的高層應(yīng)用環(huán)境。不管底層的IC卡讀寫器硬件和操作系統(tǒng)軟件怎樣更新?lián)Q代,只要對(duì)中間件做出相應(yīng)的升級(jí)更新,并保持中間件對(duì)應(yīng)用軟件的接口定義不變,應(yīng)用軟件幾乎不需作任何修改,從而保護(hù)了城市軌道交通AFC系統(tǒng)在應(yīng)用軟件開發(fā)和維護(hù)中的重大投資。特別是在網(wǎng)絡(luò)化運(yùn)營環(huán)境下的AFC系統(tǒng),IC卡讀寫器中間件保證了系統(tǒng)的統(tǒng)一性和標(biāo)準(zhǔn)性。IC卡讀寫器中間件應(yīng)具有如下的一些特點(diǎn):①滿足大量應(yīng)用的需要;②能夠運(yùn)行于多種硬件和OS( 操作系統(tǒng)) 平臺(tái);③提供統(tǒng)一標(biāo)準(zhǔn)的協(xié)議;④提供統(tǒng)一標(biāo)準(zhǔn)的應(yīng)用程序接口。

    2.2 IC卡讀寫器中間件的結(jié)構(gòu)

    IC卡讀寫器中間件是連接讀寫器和AFC系統(tǒng)應(yīng)用軟件的紐帶,可保證費(fèi)率計(jì)算快速性和票卡處理流程的完整性。AFC系統(tǒng)應(yīng)用軟件不用關(guān)心IC卡讀寫器細(xì)節(jié)。IC卡讀寫器中間件的結(jié)構(gòu)包括初始化、安全認(rèn)證、票卡驗(yàn)證、費(fèi)率計(jì)算、交易生成等模塊,如圖1所示。 

 IC卡讀寫器中間件的結(jié)構(gòu)

    2.2.1讀寫器初始化模塊

    讀寫器初始化模塊完成讀寫器設(shè)備的初始化和軟件初始化,檢查IC卡讀寫器的狀態(tài),確認(rèn)讀寫器的工作是否正常;同時(shí)對(duì)設(shè)備進(jìn)行測(cè)試,如果初始化錯(cuò)誤,則設(shè)備無法工作;還完成設(shè)備與車站系統(tǒng)的注冊(cè)認(rèn)證,保證讀寫器在AFC系統(tǒng)中是合法設(shè)備。

    2.2.2安全認(rèn)證模塊

    安全認(rèn)證模塊主要通過SAM( Security Access Module) 卡與票卡之間的交互驗(yàn)證票卡合法性。所有AFC設(shè)備在進(jìn)行票卡安全認(rèn)證時(shí),檢查票卡的MAC(報(bào)文鑒別代碼)有效性。MAC有效性檢查由SAM卡完成。SAM卡在檢查MAC時(shí),讀寫器將票卡身份特征數(shù)據(jù)和MAC一起送人SAM卡。所有的加密運(yùn)算在PSAM( 消費(fèi)安全存取模塊) 卡內(nèi)完成,并在卡內(nèi)對(duì)送入SAM的MAC與PSAM計(jì)算所得的MAC進(jìn)行比對(duì),如果正確將返回成功,否則返回錯(cuò)誤。

    2.2.3票卡驗(yàn)證模塊

    票卡驗(yàn)證是對(duì)票卡的有效期、票卡的狀態(tài)進(jìn)行檢查。如票卡超過有效期或者票卡在黑名單表中,則自動(dòng)鎖卡,并返回相應(yīng)的鎖卡原因。票卡驗(yàn)證流程如圖2所示。 

    2.2.4費(fèi)率計(jì)算模塊

    費(fèi)率計(jì)算是根據(jù)票卡的類型、人口車站編號(hào)、出口車站編號(hào)、優(yōu)惠比例等參數(shù)計(jì)算從票卡上應(yīng)扣除的金額。由于票種類型繁多,因此費(fèi)率計(jì)算也比較復(fù)雜。隨著運(yùn)營政策變化,費(fèi)率計(jì)算方式也經(jīng)常變化。如果增加新的票種,通常需要升級(jí)此模塊。費(fèi)率計(jì)算流程如圖3所示。

    費(fèi)率計(jì)算也可以采用參化式,在建立費(fèi)率計(jì)算模型的基礎(chǔ)上,把可能變化的因子用參替代。參數(shù)由清結(jié)算系統(tǒng)統(tǒng)一制定下發(fā)。當(dāng)AFC系統(tǒng)增加新的票種,或需修改票種的費(fèi)率計(jì)算公式時(shí),只需要根據(jù)費(fèi)率計(jì)算模型確定相應(yīng)的參數(shù),下發(fā)到AFC設(shè)備即可。費(fèi)率計(jì)算模型參數(shù)通常包括日期參數(shù)、時(shí)間參數(shù)、票卡類型、費(fèi)用等級(jí)、聯(lián)程優(yōu)惠、積分優(yōu)惠等。通過這些參數(shù)組合,可查詢得到實(shí)際費(fèi)用。

    2.2.5交易生成模塊

    票卡交易是IC卡讀寫器中間件的核心部分。
    AFC系統(tǒng)交易包括進(jìn)站交易、出站交易、充值交易、售卡交易、車票更新交易、車票延期交易、讀交易記錄、退票交易、掛失交易、退款交易、換票交易等。交易生成模塊主要保證交易的完整性和一致性,在交易發(fā)生異常時(shí),通過交易中間狀態(tài)、備份數(shù)據(jù)和回滾機(jī)保證票卡交易的正確。 

    交易生成模塊記錄交易過程中的用戶信息、交易信息和清分信息等,為業(yè)務(wù)處理提供必需的信息。同時(shí),讀寫器設(shè)備配合票卡、SAM卡生成交易的TAC(交易認(rèn)證碼)。此TAC與SAM卡中密鑰、交易中的關(guān)鍵信息有關(guān)。當(dāng)交易被傳輸?shù)角褰Y(jié)算中心時(shí),由中心通過認(rèn)證服務(wù)器對(duì)這筆交易的TAC進(jìn)行判別,從而決定這些交易是否合法、有無篡改。

    2.3 IC卡讀寫器中間件的數(shù)據(jù)流程

     IC卡讀寫器中間件是應(yīng)用軟件和IC卡讀寫器之間的連接橋梁,通過封裝IC卡讀寫過程和票卡業(yè)務(wù)處理流程以達(dá)到易維護(hù)性和統(tǒng)一性的目的?,F(xiàn)易出站交易為例闡述IC卡讀寫器中間件數(shù)據(jù)流程(如圖4所示):主機(jī)應(yīng)用軟件在程序運(yùn)行時(shí)。首先對(duì)IC卡讀寫器初始化,檢查設(shè)備狀態(tài),并通過設(shè)備與車站系統(tǒng)的注冊(cè)認(rèn)證驗(yàn)證其合法性;IC卡刷卡后,先讀扇區(qū)內(nèi)容,通過讀寫器中間件實(shí)現(xiàn)安全認(rèn)證;根據(jù)入口、出口、時(shí)間和優(yōu)惠信息等計(jì)算費(fèi)率,并生成相應(yīng)交易信息;回寫扇區(qū)內(nèi)容,返回交易結(jié)束。 

    3 結(jié)語

    IC卡讀寫器是城市軌道交通AFC系統(tǒng)中的核心部件之一。功能性IC卡讀寫器將票卡處理集成在讀寫器內(nèi)部,以便于日后的升級(jí)維護(hù),但成本相對(duì)較高。老線改造采用IC卡讀寫器中間件的解決方案,既可以解決系統(tǒng)維護(hù)升級(jí)問題,又可以降低成本,是一種性價(jià)比較高的方案。IC卡讀寫器中間件滿足了城市軌道交通AFC系統(tǒng)網(wǎng)絡(luò)化應(yīng)用的需要,提供了統(tǒng)一標(biāo)準(zhǔn)的協(xié)議于應(yīng)用程序接口,可運(yùn)行于多種硬件及OS平臺(tái),從而保證了系統(tǒng)統(tǒng)一性與標(biāo)準(zhǔn)性。本文研究的IC卡讀寫器中間件是連接讀寫器與AFC應(yīng)用程序的紐帶,保障了費(fèi)率計(jì)算的快速性和票卡處理流程的完整性及票卡交易的正確性。

    (作者單位:東南大學(xué)教育部智能運(yùn)輸系統(tǒng)研究中心)