汕头职业学院一卡通系统建设方案设计与实施
前言
汕头职业技术学院由院本部、金园校区、新津校区和东墩校区组成,现有各类学生1.5×104多个,教职工700余人。根据学院信息化发展规划及系统部署进程安排,院本部和金园校区要实现网络同城互联并启动一卡通系统建设项目。该项目分前、后两期工程,前期工程包括:食堂售饭系统、智能水控系统、图书借阅系统等。后期工程包括:教务系统、上机管理系统、门禁考勤管理系统、智能控电系统、银行圈存转账系统等的扩展和接入,真正实现信息与资源的共享,实现全面一卡通应用。本文根据学院校园一卡通系统的建设目标和需求,设计了该系统的技术解决方案并付诸实施。
一、系统建设目标及需求分析概述
“校园一卡通”是指在学校范围内,凡涉及到现金或身份识别的场合均采用卡来完成。该卡集学生证、工作证、身份证、借书证、钱包等于一体,达到证件、消费等收费和管理的电子化和智能化[1]。
一卡通系统建设要实现:1)形成统一的信息平台,促进教育信息的标准化,构建优良的数字空间和信息共享环境;2)在全校实现统一的电子支付和费用收缴管理,解决校园各类费用收缴烦、杂、难等问题;3)整合和带动各类管理信息系统的建设,提升学校管理效率和管理水平;4)促进学校网络应用平台的建设,逐步完成校内应用系统体系结构的升级。
系统的需求主要从业务、功能、技术等角度进行考察,下面笔者仅对技术需求分析进行论述。
技术需求主要包括:1)身份信息来源于统一身份管理中心,数据同步机制基于统一的身份中心和数据中心;2)建设一卡通专网以提高系统安全性和可维护性;3)整合现有异构系统;4)卡片结构设计需具备身份认证信息区、电子钱包信息区、自定义信息区及多电子钱包并且有足够冗余;5)可支持脱机支付;6)提供通用的开发接口,便于扩展和升级;7)须提供满足各类应用的集成、开发、运行和管理工具。
校园卡方面主要的需求如下:选用非接触式射频卡;终端感应距离范围达到5~10 cm;卡内的数据区存储身份信息和电子钱包信息,卡片采用目录式管理;卡中的个人身份信息包括持卡人的姓名、性别、学/工号、身份证号码等信息[2]。
二、系统总体设计
本系统的总体设计包括:系统总体框架、软件体系架构、数据流以及数据库等。
2.1 系统总体框架
系统由数据中心、一卡通平台、接口服务器等三大部分构成。其中,一卡通平台采用COM+技术整合了卡应用系统、自助系统和管理系统;接口服务器则采用COM/DELL接口技术连接图书管理、教务系统、门禁系统等。如图1所示。
C O M+是基于二进制组件和接口的编程,通过使用透明RPC层,可以跨越进程和计算机边界进行远程方法调用。C O M+组件可以在成品中升级和扩展,不会对使用它们的客户端应用程序造成影响。C O M+把C O M组件提升到应用层,它通过操作系统的各种支持,把所有组件的底层细节屏蔽[3]。
良好接口技术的运用使该架构伸缩性良好,耦合度低,便于升级扩充。
2.2 软件体系架构
软件体系架构如图2所示。系统采用.NET开发环境,提供以COM+为中间通讯组件的三层结构,软件体系架构由数据层、业务层和表现层组成。其中,业务层(即中间层)主要负责业务规则、数据访问、合法性校验等工作。采用三层体系的应用程序最大的优点是把业务逻辑独立出来,客户端不直接与数据库进行交互,而是通过C O M/D C O M通讯与中间层建立连接,再由中间层与数据库进行交互。在业务逻辑需要改变时不影响表现层和后端数据服务层,因此,它能够满足校园一卡通应用程序可伸缩性或可扩展性的需求。同时,该系统为财务系统、教务管理系统等其它系统提供标准接口、API、动态库、第三方代理等,实时处理来自其它系统的业务请求,实现与其它系统的整合。
2.3 数据流图
系统主要的用户群是学生和教职员工,因此,在对系统的数据流进行分析时笔者重点关注系统用户的数据流向。由于系统功能庞大,数据流层次较多,为简要说明系统的运行机制,此处仅将最为重要的顶层数据流图作重点分析。数据流图如图3、图4所示。
系统的外部实体主要包括学生、教工、临时人员以及管理员等;系统对数据的加工主要包括持卡人资料管理、卡用户管理、系统管理、交易处理、银行前置机以及帐务处理等;数据存储主要包含历史交易表、帐户划结表、日结月结明细报表以及统计报表等。
图3 数据处理流程图
三、数据库模型设计
系统采用SQL Server 2000数据库管理系统。在系统数据库中用于不同功能的表较多,主要有2类表:
1)基本功能表。此类表的主要作用是记录其它表所需要的一些基础辅助信息。包括用户密码、学生个人信息、教师个人信息相应的表、消费记录信息表等;
2)功能操作表。此类表用于记录各系统功能操作生成的数据。
数据库的设计对于系统最终是否取得成功关系重大,各表及其字段的定义将直接影响到用户使用的效果。特别是与用户消费记录、系统帐务记录等相关的数据表的设计,更是重中之重。因此,采用性能良好的数据库管理平台对系统运行的稳定性和底层数据的安全性将起到关键作用。
本系统采用二维关系数据库表,由于表数目较多,数据量庞大,而一卡通系统对数据记录的计算、查询、筛选以及排序等操作的性能(如时间、空间开销)要求较高,因此,本系统采用较为先进的基于中间层的软件体系结构,由中间层与系统数据库进行交互,这种交互封装在特定的数据库访问模块中,可确保数据库操作的独立性和可靠性。
四、系统安全设计
为了确保一卡通系统运行的高可靠性和可用性,必须针对卡片进行安全方面的规划,同时,网络信息安全也不可忽视。
4.1 校园卡安全设计
针对校园卡的安全性,主要采取卡加密、备份、性能检验以及信息分区等方法来确保卡片使用的安全[4]。具体安全方案如下:
1)卡区加密。卡共分为32个区,每个区都有独立的密码信息,在对每个区的信息进行读写前,都要先进行密码校验,校验正确后才能对本区的信息进行访问;
2)信息备份。卡内的信息都采用备份的方法记录2次,这样,信息的可靠性更有保证;
3)性能检验。由于卡内存储空间较大,系统在卡内记录了详细的金额信息,这些信息本身就有一套完善的信息校验机制,POS机或软件系统可根据校验信息确定卡的有效性;
4)信息分区。把金额信息和身份信息放在不同的分区,提高数据独立性和可控性。
4.2 网络安全设计思路
一卡通系统的数据库平台连接在校园网上,为保证数据的安全性,应减少未授权的用户访问数据库系统及应用系统。可采用静态VLAN技术,将所有需要访问数据库服务器的主机和终端设备,指定到特定VLAN的端口,并将MAC地址与交换机端口进行绑定,确保数据访问的合法性。
另一方面,可采用基于校园网的VPN,即在校园网络基础设施上创建专用数据通信网络。数据通过安全的加密隧道在校园网中传输,从而保证了通信的保密性和专有性。
为了共享校园网资源,一卡通专网与校园网采用防火墙进行单通道通信,保证一卡通网络能访问校园网资源,但校园网不能访问一卡通专网,从而防止可能的非法侦听,使一卡通网络上的设备能够安全、稳定的运行[5]。
五、多校区一卡通系统建设
多校区一卡通系统部署如图5所示。
为有效利用多校区校园网络信息资源,在设计多校区一卡通系统时,要充分考虑学院各校区之间的互联。本系统采用VPN通道将多校区一卡通分系统进行互联,并设计了良好的系统运行机制以确保系统的稳定性和统一性。
校本部设立主中心,校区设立分中心并部署应急服务器及中间层。当VPN通道正常连通时,所有分中心业务都通过主中间层来处理;当VPN通道不通时,分中心中间层接管校区的业务;当VPN通道通畅后,程序将自动传送最新业务数据到主服务器,并切换至主中间层。这种运行机制可以有效确保系统的健壮性[6]。
校园一卡通工程宜采用“统一规划、分步实施”的建设思路。先从小规模的应用开始实施,再逐步过渡和扩展到中等规模的应用部署,最后真正实现“一卡通”建设的总体目标。经过详细论证,本系统采用的主要技术参数如表1所示。
六、结语
本系统采用基于中间层的软件架构,在.NET框架下进行开发,数据库采用SQL Server 2000,系统运行在与校园网络进行逻辑隔离的一卡通专网之上,良好的卡片安全和网络安全机制确保了系统运行的可靠性。本系统功能强大,运行稳定,可管理性和可扩展性强,实现了项目预定目标。