王永建 朱纪周 闫 超 刘永涛 王海兵
(中国通信建设集团设计院有限公司 北京 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