王永建 朱紀周 閆 超 劉永濤 王海兵
(中國通信建設集團設計院有限公司 北京 100079)
面向智慧城市的一卡通系統設計研究
王永建 朱紀周 閆 超 劉永濤 王海兵
(中國通信建設集團設計院有限公司 北京 100079)
介紹一卡通系統在智慧城市中的重要作用,分析近些年國內外關于一卡通系統的研究情況及局限性。為了更好地服務于智慧城市,借鑒已有的智慧城市系統構架,設計了城市一卡通系統的總體軟件構架,由系統分級、系統結構和系統接口等組成,闡述了其主要功能與實現方式。采用“組件化、參數化”的思想,設計了應用系統,將公用功能組件分類、定義了實現功能。根據提出的城市一卡通系統的軟件構架,設計了應用系統模型與一卡通中心系統,包含模塊與子系統功能,子系統之間的互聯關系以及應用示例。該設計思路在國內多個項目中已運用,對城市一卡通的建設具有一定借鑒意義。
城市一卡通 Web Service 公用功能組件 數據采集 密鑰管理
城市一卡通系統利用ICT(Information & Communication Technology)技術,面向整個城市應用,如公交、地鐵、出租、醫院、生活交費、小額消費商戶等機構,是“一卡通用、一卡多用”的綜合信息服務系統。
2012年12月5日,住建部發布關于開展國家智慧城市試點工作的通知,啟動了國家級智慧城市試點建設工作。2015年7月3日,國家標準化管委會發布了《數字城市一卡通互聯互通通用技術要求》,對推進城市一卡通的發展具有重要意義。
近些年,國內對一卡通進行了積極研究,例如:文獻[1]基于Web Service設計了一卡通電子賬戶接口;文獻[2]探討了校園一卡通網絡安全;文獻[3]基于ARM處理器,闡述了校園一卡通的硬件與軟件設計實現方法;文獻[4]闡述了城市一卡通管理平臺中的公共交通子系統的設計與實現;文獻[5]基于Web Service設計了一卡通統一結算平臺和數據庫系統模型等。
國外關于一卡通研究的文獻比較少,例如:文獻[6]設計了一種利用一卡通與GIS系統相結合處理危險固體廢物的方案;文獻[7]研究了城市一卡通身份證書生命周期內的安全管理、訪問管理、PKI(Public Key Infrastructure)信托、服務應用等;文獻[8]利用IBM大型主機與DB2數據庫,基于Web 2.0設計了城市公交一卡通的管理系統。
上述研究成果,對一卡通的發展具有重要意義,不過主要側重某個行業或者局部設計實現。本文面向智慧城市,結合一卡通應用,對城市一卡通系統進行設計探究。
目前業界對智慧城市沒有統一的概念,本文認為是將新一代信息技術充分運用在城市的各行各業之中,基于知識社會下一代創新的城市信息化高級形態。其不失一般性的軟件系統總體構架視圖如圖1所示。

圖1 智慧城市不失一般性的軟件系統總體構架視圖
1) 感知層,主要負責數據采集;包括傳感技術、光感技術、深空通信、多媒體、人機交互技術等。
2) 網絡層,主要實現數據的交互;包括IP網絡、有線電視網、無線網、3G/4G、傳感網等。
3) 平臺層,主要為上層提供標準的接口與協議規范,對下層實現屏蔽等;包括中間件、基礎數據與核心服務,核心服務也稱作能力平臺,為智慧應用層提供基本服務。
4) 應用層,主要提供具體的服務應用與人機交互界面;也是智慧城市中用戶感知體驗最為直接的部分。
2.1 系統分級
本文將物理實體與邏輯實體相結合,借鑒智慧城市不失一般性的軟件系統總體構架,可將智慧城市一卡通系統的組成實體劃分為五級,如圖2所示。

圖2 智慧城市一卡通系統組成實體的分層視圖
第一級 城市一卡通中心,涵蓋了平臺層、應用層,是城市一卡通系統的核心中樞。主要負責卡片管理、安全認證、清算結算、核對管理等,以及與智慧城市其它系統對接。
第二級 行業接口平臺系統,屬于平臺層。是針對公交公司、出租公司、軌道交通、自來水公司、電力公司、燃氣公司,其它代理機構、小額消費企業等行業的結算中心[9],負責實現對本行業范圍內各項數據信息的匯總和結算,業務參數的維護。
第三級 行業管理系統,涵蓋平臺層、應用層。負責自己的交易處理和結算業務,基礎數據的維護和管理工作;或者作為城市一卡通系統的二級管理中心。
第四級 前端機具,屬于感知層,有讀寫器、傳感器等。主要包括公交公司讀卡器、軌道交通公司閘機、出租公司車載計價器、POS終端、其他卡片操作設備等。
第五級 智能卡,屬于感知層。典型方式有IC卡、CPU卡、NFC卡、RFID標簽、二維碼標簽等,是一卡通系統終端識別信息的載體。
2.2 一卡通系統的軟件結構
結合上面分析和圖1所示的軟件構架總體視圖,組成智慧城市一卡通軟件系統四層的軟件結構可以被設計為由物理層、數據層、中間件層和應用層相應的功能組建組成,如圖3所示。

圖3 智慧城市一卡通系統軟件結構視圖
1) 物理層,是整個一卡通系統運行的基礎信息設施,包括感知層的前端機具、用戶卡、傳感器,網絡設備,主機存儲等物理設備,以及設備之間互聯的物理接口。
2) 數據層,由一卡通中心數據庫與災備中心組成,包括數據緩沖服務系統、數據調度系統、服務組件、技術組件、安全管理系統等。實現城市一卡通系統數據的采集、處理、存儲、管理與容災,以及數據格式定義、分類、壓縮、備份、檢索等。
3) 中間件層,實現一卡通中心數據庫與應用層的隔離,屏蔽用戶直接對數據庫的操作,以保證數據的安全[9]。統一定義所有的接口規范,制定嚴格的數據數據訪問策略,必須通過數據訪問層才能訪問數據庫。支持異構數據庫操作系統,數據訪問層要求標準的接口定義,后臺數據庫操作系統的變化,前臺的應用系統無需變化。
4) 應用層,是用戶能夠感知、體驗到的業務系統。所有的子系統,經過核心系統管理中心的授權,方可接入城市一卡通中心平臺,并接受統一的管理。
2.3 接口設計
城市一卡通系統中的接口可分為物理接口和邏輯接口兩大類。物理接口主要指網絡設備、機具等硬件設備互聯接口,不在本文探討范圍,本文僅探討邏輯接口。
2.3.1 接口分類
在數據訪問層中,定義統一的標準接口和應用規范,便于子系統之間通信,以及二次定義和后期開發,將接口分為以下類型。
1) 通信接口,各子系統之間采用統一的通信規程和規范,使系統各組成部分在通信機制上可相互對接,便于子系統獨立開發和系統的擴展。
2) 交易數據接口,包括各類卡片交易的數據規范,如商務消費、充值退資、資費結算、退卡交易等,接口規范應具備擴展能力,適應不同應用行業的特有數據要求。
3) 對帳數據接口,指城市一卡通系統與各接入單位系統之間的數據對帳規范,主要包括對帳規則、對帳范圍確定、對帳數據內容規范。
4) 參數數據接口,由城市一卡通中心統一定義,并下發到接入單位系統、終端設備的參數內容,如黑名單數據、票價規則、充值設備控制參數等。
5) 劃賬數據接口,在城市一卡通中心與結算銀行通過系統劃賬文件進行轉賬時,需要制定劃賬數據接口,支持批量交易劃賬、單個交易劃賬。
對于第三方應用系統,結合本文2.2節的系統軟件結構視圖,邏輯接口分為應用層接口與中間件層接口。
2.3.2 應用層接口
對于B/S模式的第三方應用系統,可根據對接需要為第三方提供相應的應用層接口,接口的方式可以是.dll和.Java Package等形式。
接口程序中將第三方系統智能卡的讀寫、認證、消費、考勤等具體應用進行封裝,只需要第三方應用系統對程序進行相應調整即可[10],如圖4所示。

圖4 應用層接口對接示意圖
2.3.3 中間件層接口
對于基于Web Service的第三方應用系統,根據對接需要為第三方提供相應的Web Service接口,采用XML格式[10],如圖5所示。

圖5 中間件層接口對接示意圖
Web Service接口分為調用方法與調用實體實現,在城市一卡通與銀行或者其他支付系統的電子賬戶接口中,建議采用調用實體方法,不僅提高安全性,并且方便編程[1]。
3.1 公用功能組件
功能組件采用“組件化、參數化”的思想,通過參數設置實現策略控制。結合本文2.2節系統軟件結構視圖,將城市一卡通系統分為數據采集、數據交換、應用管理、業務管理、資費清算、賬務管理等公用功能組件。
(1) 數據采集:主要在終端設備接口層,實現將從用戶卡(或其他識別設備)讀取的數據(交易、控制信息、身份認證等)采集后轉化為標準文件/報文上傳至服務器端。
(2) 數據交換:實現客戶端與服務器端之間,不同應用系統之間的數據交換,分為文件和報文兩種方式;并定義通信接口規范,數據交換格式等。
(3) 應用管理:實現對各個應用系統的管理、維護,包括功能選擇、參數設定、權限識別、人機交互界面等,主要供各級管理人員使用;根據需要提供安全措施,如安全審計、系統監控、日志管理等。
(4) 業務管理:與應用系統相對應,只是關注角度不同,本文認為是對應用系統的支撐管理,包括身份管理、卡務管理、交易管理、賬戶管理等。
(5) 資費清算和帳務管理:屬于一卡通中心的核心功能,負責安全認證、交易處理、不同機構/系統之間的結算、核對、管理等。
3.2 應用系統模型
根據2.1節系統組成實體的分層視圖,結合完成功能,將邏輯實體分為城市一卡通中心、營運機構、代理機構、數據采集點、服務網點等。城市一卡通中心與其它實體的互聯方式可分為四類:(1) 數據采集點->營運公司->城市一卡通中心;(2) 數據采集點->城市一卡通中心;(3) 服務網點->代理機構->城市一卡通中心;(4) 服務網點->城市一卡通中心。應用系統模型如圖6所示。

圖6 應用系統模型結構圖
應用管理、業務管理縱向貫穿于數據采集點、營運機構、服務網點、代理機構、一卡通中心等邏輯實體。不同級別邏輯實體中功能有差異,主要區別在于擴展功能、權限、策略等,部署方式有兩種:(1) 每一級邏輯實體中部署全部功能,根據定位通過配置不同參數啟用相應功能;(2) 根據每一級邏輯實體定位,僅部署相應的功能。從實施效率、系統安全考慮,建議采用第二種方式。
數據交換在縱向與橫向兩個維度貫穿于整個系統,實現一個系統內部不同邏輯實體之間,以及不同系統之間數據的傳送與處理,并定義數據交互的格式、顆粒、控制策略等。
一卡通中心是整個一卡通系統的服務器端,為營運機構、代理機構、數據采集點、服務網點等客戶端邏輯實體訪問請求提供服務,或者將訪問請求轉交至外部系統,并將外部系統處理結果反饋給客戶端。
營運機構和代理機構既是一卡通中心的客戶端,又是數據采集點和服務網點等邏輯實體的服務器端,處理來自它們的訪問請求,或者將訪問請求轉交至一卡通中心,并將一卡通中心處理結果反饋給客戶端。
數據采集點和服務網點為用戶提供服務,將采集的數據上傳至服務器端,并反饋處理結果。
3.3 一卡通中心系統
結合3.2節應用系統模型,將城市一卡通中心系統分為七個子系統:數據交換子系統、交易處理子系統、安全認證子系統、密鑰管理子系統、日切批處理子系統、卡片管理子系統、業務管理子系統和應用管理子系統。如圖7所示。

圖7 一卡通中心系統
(1) 數據交換子系統:負責與各個營運機構、代理機構、服務網點等的接入、數據的接收和下發。利用機構編碼、終端機器號、PSAM (Purchase Secure Access Module)卡號等,對各個機構上傳的數據進行身份識別、完整性與合法性校驗。同時實現服務器端的數據下發,包括參數信息、功能權限、交易信息、黑名單等。
(2) 安全認證子系統:負責城市一卡通交易數據的安全認證,防止交易欺詐與非法終端接入。前端機具完成每次交易的同時產生唯一的交易認證碼TAC(Transaction Authentication Code),保證交易數據的正確性、完整性、不可篡改或者偽造。TAC碼是將交易記錄的時間戳、隨機數、交易金額、前端機具機器碼等參數進行加密運算產生。TAC碼產生有兩種方式:前端機具在線時的TAC碼由后臺的硬件加密機生成,離線/脫機時的TAC碼由前端機具中的PSAM卡生成。運營機構結算系統與城市一卡通中心清算系統之間的數據交換采用MAC(Media Access Control)認證保證安全,由后臺硬件加密機進行MAC的生成和校驗。
(3) 密鑰證書管理子系統:負責整個系統的密鑰生成、存儲、發放、注銷、延期、作廢等,包括硬件、軟件、卡、人員。硬件指用戶密鑰的生成、存儲、發放的加密設備,包括終端機具、加密機/加密卡、服務器等。軟件包括主控密鑰生成軟件、洗卡軟件、制作功能母卡及相應的傳輸卡軟件、發放PSAM卡軟件、卡片物流軟件、發用戶卡軟件等。卡片包括用戶卡、用戶卡母卡、洗卡母卡、PSAM卡、PSAM卡母卡、管理卡、密鑰卡、各種傳輸卡等。人員包括輸入密鑰控制因子的管理員、卡片采購、初始化、發放等人員,根據實際需要,對不同人員授予不同的權限。
(4) 交易處理子系統:負責驗證、處理接收到的授權請求和各種類型的交易數據,主要包括消費、充值、退資、退卡、轉卡、消卡等,以及服務網點的業務授權請求。交易的合法性通過后臺硬件加密機生成TAC碼驗證實現。
(5) 日切批處理子系統:負責當前結算日期向后推進一天,批處理對日切前結算日期的所有交易數據進行結算和帳務統計處理,形成供報表系統使用的數據。該子系統負責日切批處理過程中系統運行狀態的變化控制。系統狀態經歷三個變化過程:正常狀態到日切狀態,日切狀態到批處理狀態,批處理狀態到正常狀態。當設定了日切時間點后,日切批處理可由系統自動完成。
(6) 卡片管理子系統:負責用戶智能卡與PSAM卡的管理,包括卡片的用戶信息寫入,卡片加密、卡片的權限/功能設定,卡片的入庫、出庫、卡片發放、銷售,卡片掛失、注銷、換卡、消卡、轉卡等。
(7) 應用管理子系統:負責城市一卡通中心的數據維護、權限管理、系統監控、日志處理等功能。
(8) 業務管理子系統:負責城市一卡通中心的業務管理,是前端用戶與后臺系統交互的主要途徑,用戶通過業務管理子系統的客戶端進行訪問、業務操作。
結合實際項目應用,以密鑰管理子系統為例闡述設計實現。一卡通系統中安全級別高、信息敏感的業務可分為消費類和圈存類。
4.1 消費類業務流程
Step1 準備信息
用戶卡從PSAM卡獲取密鑰標識符、交易金額、終端機編號等準備信息。
Step2 用戶卡消費初始化(Initialize ID For Purchase)
利用準備信息對用戶卡進行初始化(密鑰的類型必須為消費類子密鑰)。
Step3 發送計算MAC1命令
基于Initialize ID For Purchase信息進行PSAM卡消費初始化(Initialize PSAM For Purchase)生成計算MAC1的參數。
Step4 記錄消費(Debit For Purchase)
算出MAC1后,給用戶卡發送Debit For Purchase命令。
Step5 生成消費交易記錄
用戶卡校驗MAC1通過后執行消費計算,生成消費交易記錄。
Step6 生成和發送校驗信息
生成交易記錄后用戶卡生成TAC碼和MAC2發送給PSAM卡。
Step7 校驗MAC2,交易結束
PSAM卡根據用戶卡發送的校驗信息校驗MAC2,驗證卡片的合法性。交易結束,形成交易記錄(交易結果允許不成功)。
上述流程如圖8所示,圖中參數長度單位為字節。

圖8 消費類業務流程
4.2 圈存類業務流程
Step1 準備信息
用戶卡從PSAM卡獲取密鑰標識符、交易金額、終端機編號等準備信息。
Step2 用戶卡圈存初始化(Initialize ID For Load)
利用準備信息對用戶卡進行初始化(密鑰的類型必須為圈存類子密鑰)。
Step3 發送計算MAC2命令
基于Initialize ID For Load信息進行PSAM卡消費初始化(Initialize PSAM For Load)生成計算MAC2的參數。
Step4 記錄圈存(Debit For Load)
算出MAC2后,給用戶卡發送Debit For Load命令。
Step5 生成圈存交易記錄
用戶卡校驗MAC2通過后執行圈存計算,生成圈存交易記錄。
Step6 生成和發送校驗信息
生成交易記錄后用戶卡生成TAC碼并發送給PSAM卡。
Step7 校驗TAC,交易結束
PSAM卡根據用戶卡發送的TAC碼,驗證卡片的合法性。交易結束,形成交易記錄(交易結果允許不成功)。
上述流程如圖9所示,圖中參數長度單位為字節。

圖9 圈存類業務流程
本文參考智慧城市系統,對城市一卡通系統進行了總體與應用系統的設計探究,這些思路在國內一些智慧城市試點的一卡通建設中已開始應用,效果良好。當前國內智慧城市建設還處于探索階段,新的建設理念、服務模式、信息技術(如:臉譜識別、虹膜識別、生物芯片等)的不斷涌現,將對城市一卡通系統的設計建設產生深遠影響。未來一卡通的研究應側重于新的感知技術、信息安全,與其他系統融合挖掘深層價值等,這些研究還有很多工作要做。
[1] 吳衛東.校園一卡通電子賬戶接口應用研究[J].電腦知識與技術,2015,11(27):194-199.
[2] 毛乾任,王朝斌,鄧超,等.校園一卡通系統網絡安全研究[J].西華師范大學學報(自然科學版),2015,36(4):411-415.
[3] 王恩亮,涂德鳳,徐慧芳.基于ARM技術的校園一卡通系統設計[J].新鄉學院學報,2015,32(12):44-47.
[4] 王學軍.城市一卡通管理平臺公共交通子系統的設計與實現[D].長春:吉林大學,2014.
[5] 胡冬梅.城市一卡通管理系統的設計與實現[D].長沙:中南大學,2013.
[6] Long B T,Hien T T D,Hieu D N,et al.Building up a integrated tool by using e-manifest,e-card and GIS technology for management hazardous solid waste in Ho Chi Minh City[C]//Proceedings of the 30th Asian Conference on Remote Sensing,2009:669-674.
[7] Mauher Mladen,Smokvina Vanja,Dujmovic Nikola,et al.City of Rijeka Smart Card Interoperable Services based on Lifecycle Identity Management Technology[C]//32nd International Convention on Information and Communication Technology,Electronics and Microelectronics,2009:282-287.
[8] Lu K,Xie L,Cheng T.Inter-city traffic card management systems based on SOA and mainframe[C]//Proceedings of the 2010 International Conference on Internet Technology and Applications.IEEE Computer Society,2010:1-4.
[9] 王建誠.服務器虛擬化技術在高校一卡通項目中的應用[J].信息通信,2013(10):78.
[10] 盧冠明.校園一卡通系統規劃與設計[D].成都:電子科技大學,2008.
DESIGN AND STUDY OF CITY CARD SYSTEM FOR INTELLIGENT CITY
Wang Yongjian Zhu Jizhou Yan Chao Liu Yongtao Wang Haibing
(ChinaInternationalTelecommunicationConstructionGroupDesignInstituteCo.,Ltd,Beijing100079,China)
This paper introduces the important role of the card system in the intelligent city, and analyzes the research situation and limitation of the card system both at home and abroad in recent years. In order to better serve the intelligent city, the overall software architecture of the city card system is designed by referring to the existing intelligent city system architecture, which is composed of system classification, system structure and system interface, and the main function and realization way are expounded. By using the idea of "componentization and parameterization", the application system is designed, the utility functional components are classified and the realization function is defined. According to the software architecture of the proposed city card system, the application system model and the city card center system are designed, including the model and subsystem functions, the interconnection between subsystems, and application examples. The design idea in this paper has been used in many domestic projects, which has certain reference significance for the construction of city card.
City card Web Service Utility function component Data collection Key management
2016-03-23。王永建,高級工程師,主研領域:數據通信及多媒體,計算機應用。朱紀周,高級工程師。閆超,高級工程師。劉永濤,工程師。王海兵,助理工程師。
TP393
A
10.3969/j.issn.1000-386x.2017.04.017