任 穎, 孫 輝, 李華偉
(1. 海軍航空大學 航空基礎學院, 山東 煙臺 264000; 2. 煙臺市大數據中心, 山東 煙臺 264000; 3. 山東商務職業學院 信息工程學院, 山東 煙臺 264003)
隨著各地市IC卡應用層次的不斷深入和各類行業應用系統的蓬勃發展,特別是各地市IC卡應用規劃的逐步完善落實,IC卡應用的范圍和領域在不斷擴大,“一卡多用”和“互聯互通”將成為IC卡的發展趨勢[1]。
建設城域間一卡通資金清結算平臺(以下簡稱平臺)的目的是為了解決跨城域的資金結算問題,從而解決市民在不同城市間需辦理不同的卡片乘坐公共交通工具的問題,通過在現有的一卡通城市間架起一座聯通的橋梁,使得跨區域、異構系統的市民卡消費成為現實[2],為跨地域的消費及時清結算提供了解決方案,極大豐富了市民卡的使用范圍,減少在途的消費處理和資金劃撥,促進了城域間的溝通和交流。
平臺建設不僅加快了城市信息化、便捷化、互聯化建設,而且在提高傳統公共交通的運營能力和服務水平,發展“智能交通、公交先行”,推動全國城市一體化建設的腳步等方面都具有重要意義。
平臺采用J2EE技術體系架構,B/S結構,通過WebService、消息中間件等消息和文件加密傳輸技術,構建跨域的安全穩定的資金清結算平臺。本文對統一密鑰管理體系的跨區域IC卡資金清結算過程中涉及到的通訊方式、數據格式、數據約束,消費數據的清分、結算、異常賬目的處理等都做了深入的分析,并提出具體的解決方案。平臺將對接入的各個城市區域負責,對跨地市的數據實施匯總、清分等處理行為,并向相關銀行提供劃賬、對賬的有效依據,從而實現真正的互聯互通[3]。這一核心職能的價值在于,對于各個城市間有可能存在的數據格式等方面的應用差異,平臺將做到最大程度的兼容,城市間的系統差異性將得到很好的規避,使卡片的跨地市應用透明化[4]。
平臺的功能核心由數據庫服務器和應用服務器組成。數據庫采用雙機互為備份的形式。應用服務器采用2臺服務器均衡動態的訪問壓力。加密機和密鑰管理實現平臺相關密鑰的管理功能。數字認證服務器為接入城市的一卡通身份進行實時的數字認證[5]。交易前置和應用服務器集群為平臺提供數據交換服務、數據清結算服務、業務統計服務,以及與銀行之間的結算資金劃撥等。各城市一卡通中心及銀行等接入單位采用專網與省級一卡通平臺聯通。平臺的總體網絡結構如圖1所示。

圖1 一卡通資金清結算網絡架構Fig.1 One-card fund clearing network architecture
平臺的主要功能包括:數字證書身份認證、數據交換、交易清結算。一卡通城市的數據中心可以通過綜合服務接入與數據交換的系統和平臺進行數據交換和業務辦理。交易清結算系統通過數據交換系統進行交易數據的清分、結算、對賬,以及賬戶資金的劃撥清算[6]。
具體功能架構示意圖如圖2所示。

圖2 城域間一卡通資金清結算平臺功能架構Fig.2 Functional framework of the one-card clearing platform
為了確保系統對用戶身份的有效認證,系統為每一位用戶頒發了數字證書。數字證書系統如圖3所示。

圖3 數字證書系統Fig.3 Digital certificate system
用戶使用證書登錄信息系統,系統在進行身份認證后,如果用戶合法則登錄系統,否則不允許,信息系統中的數據采用加密傳輸,防止篡改[7]。對于每個信息的使用人員,系統賦予的權限各不相同[8],實行嚴格的身份認證機制,保證系統信息的正確性,嚴防身份假冒所導致的信息泄密和信息篡改。
2.2.1 通訊方式
應用城市或機構與平臺通過數據交換系統進行實時和非實時的業務信息交換,以完成城域間異地交易數據的交換[9]。在平臺中,數據交換系統采用WebService的形式,對平臺以外的訪問者提供數據查詢和數據獲取等服務[10];數據交換系統與各個機構之間采用TCP/IP通信協議,根據業務需求采用短SOCKET和FTP的通信方式進行交易指令和數據文件的傳輸,部分具備軟件條件的接入單位可以采用消息中間件的形式進行消息傳輸[11]。
2.2.2 數據約束
數據交換模塊的數據交換與接口遵循XML,WEB服務等規范,保證數據的標準性與開放性,實現與基于各類操作系統平臺的信息系統無縫連接[12]。
2.2.3 數據格式
1) 消費交易數據
在進行數據交換時,平臺采用交易匯總數據與交易明細數據核對校驗的方式進行數據的傳輸,以保證數據的完整和統一[13]。跨地市交易匯總數據具體數據項包括:交易流水號、交易發生地市、卡所屬地市、交易時間、交易金額、核對標識等。跨地市交易數據明細數據項包括:市民卡號、卡所屬地市、消費發生地市、終端機識別號、消費網點名稱、交易流水號、消費時間、消費金額、電子錢包余額、操作員號、核對標識等。
2) 賬戶和資金劃撥數據
跨城市消費數據的清算結果通過數據交換系統發送到結算銀行和各個城市,結算銀行據此數據在各個城市之間做資金劃撥。地市賬戶信息的具體數據項包括:開戶賬號、賬戶開戶行、賬戶余額、賬戶所屬地市等。跨地市賬款劃撥信息具體數據項包括:日期、劃出賬戶編號、劃出賬戶所屬地市、劃入賬戶編號、劃入賬戶所屬地市、劃撥金額、交易流水號、操作員號等。
3) 黑名單數據
各個城市產生的黑名單通過數據交換系統進行匯總、處理、分發,黑名單采用動態更新機制,確保有效黑名單的及時更新。黑名單信息具體數據項包括:市民卡號、卡所屬地市新增黑名單標識時間、刪除黑名單標識時間等。
2.3.1 流程設計
各城市一卡通中心清算本市的數據,將跨城市消費的異地消費數據上傳至平臺,平臺統一清算后產生劃賬和對賬信息。跨城市消費數據清算系統逐條讀取消費交易記錄進行合法性校驗。對于通過合法性校驗的交易,按照清算規則進行清分清算處理,統計出城市間的資金結算賬目。該功能每天定時處理,并將清算結果發送回發卡城市和消費城市[14]。
發卡城市和消費城市接收到該類數據后,按照清算規則進行本城市的清分清算,然后與平臺對賬。對賬信息包含交易總額、交易明細、城市代碼、城市行業代碼等。
對賬無誤,平臺將數據傳輸給結算銀行,進行資金清算和劃撥。
具體流程示意圖如圖4所示。

圖4 一卡通交易清結算流程Fig.4 One-card transaction clearing process
2.3.2 功能設計
1) 交易數據清分
清算系統會根據城市代碼進行數據清分,清分后的數據平臺方將統一進行合法性檢查,包括數據的MAC碼、TAC碼,然后根據應用地市代碼進行分類,記入交易數據庫[15]。
2) 交易數據發卡方入賬
清分后的數據下發至發卡城市一卡通中心。發卡方將數據入賬處理后,將對賬結果再通過數據交換系統上傳至平臺。清結算系統根據對賬結果進行具體交易明細的核對和狀態修改。
3) 消費對賬
待所有發卡城市一卡通中心將各自所屬的異地消費卡片的消費都處理結束后,交易清算結算系統將該批次的所有消費數據再打包下發給消費城市一卡通中心,進行匯總對賬和明細對賬。
4) 交易數據結算
通過清結算系統對交易數據匯總信息和交易明細信息的核對,確認消費城市當前應結算的消費金額和對應的各個發卡城市應支付的金額[16]。該數據通過清結算系統交換到相對應的結算銀行進行資金結算。
5) 結算周期
根據市民卡脫機交易的特點,參考使用交易日T+1進行數據的上傳。平臺進行清分分流到各地市,T+2各地市進行入賬,結果數據回傳核銷,T+3進行資金的劃撥結算。
6) 異常和爭議的處理
常見的異常和爭議包括消費數據傳輸異常、TAC碼錯誤、超期上傳、重復上傳、交易之間缺乏連續性、交易金額異常等,依據具體的消費邏輯進行判定,不符合邏輯的數據不予處理。
數據庫服務器采用2臺K1 Power S924小型機(1顆10核POWER9 CPU,512G DDR4 RAM,2T存儲)做HA高可用,提供數據存儲和海量數據處理。
應用服務器采用2臺中型服務器(4顆8核CPU,128G內存,1T硬盤),做集群負載均衡動態的訪問壓力,保證穩定的訪問服務供給。
加密機采用2臺衛士通SJJ1312-B加密機,做高可用或負載均衡,保證大量交易數據的TAC密鑰驗證和數字認證等。
密鑰管理和交易前置服務器采用普通服務器(4核CPU,64G內存,1T硬盤)即可,為平臺提供密鑰管理、數據交換服務、數據清結算服務、業務統計服務等。
鑒于交易平臺的數據處理量較大,數據庫采用IBM UDB DB2 Enterprise Server Edition 10.5;應用服務器采用IBM WebSphere Application Server 8;數據庫操作系統采用AIX 7.1;密鑰管理和交易前置機操作系統采用Windows 10。
本文對城域間的一卡通資金清結算問題進行了深入的研究和分析,提出了清結算的流程,為城域間的一卡通消費提供了理論基礎。跨城域間甚至省域間的一卡通互聯互通平臺的建設,涉及多個城市一卡通系統之間,包括卡片規劃、密鑰管理、系統建設、交易清分和資金結算等在內的數據交換和共享。因此,建立一套分級管理的資金清結算系統,承擔跨城域及跨行業的清分結算平臺,將在現有的一卡通城市間架起一座聯通的橋梁,為省、市多級一卡通運營主體提供清分結算數據和信息服務,使得跨區域、異構系統的市民卡消費成為現實,促進城域間的溝通和交流。