基于校园一卡通的网络收费管理系统的设计与功能实现
文章出处:http://www.singbon.com 作者:戴 莹,屈立成 人气: 发表时间:2011年11月17日
随着数字化校园建设工作的深入发展,高校内部的各个应用系统已不再是单独运行使用的信息孤岛,各业务部门的应用系统之间不同程度地存在着信息共享与交互的需求。特别是在学校财务管理体系中,校园一卡通系统与网络认证计费系统之间更需要用户数据同步与业务数据共享,以及认证计费系统与一卡通之间的缴费同步。本文中基于长安大学校园一卡通的网络收费系统的设计与功能实现进行相关的研究与探索,希望能对其他院校的相关研究有所启示。
1 网络认证计费CAMS系统与一卡通系统集成的必要性
目前长安大学拥有校园网用户17000余名,用户身份包括教职工及在校学生。校园网通过CAMS网络自助服务平台对用户进行开户、缴费、查询等功能的管理。随着校园网规模的扩大及用户数量的激增,使得校园网用户计费信息统一管理的问题凸现出来。目前的网络认证计费系统能够完成用户上网的计费管理,但由于校园网络管理和费用管理分属不同的职能部门,网络运行管理部门往往无法单独完成用户上网资费的管理。一卡通系统在校网内涵盖了银行卡、电话卡、校园卡的功能,实现了多卡合一,为用户提供了很大的便利。一卡通所具有的便利性使得网络管理者及使用者普遍认同用户网费管理由一卡通系统统一完成的可行性,这要求网络认证计费系统提供同一卡通系统的对接接口,从而完成与一卡通系统的集成。现阶段基于“一卡通”的网络收费系统的建设目标为:用户可通过自助终端刷卡完成网络使用费的缴纳及网络使用权限的开通,所收网费归入校园一卡通管理中心账户,由校计财处统一结算。
2 网络收费管理系统总体架构
2.1 系统开发应用环境
基于校园一卡通的网络收费管理系统使用先进的J2EE平台和Apache服务器,完成基于UNIX系统的网络收费服务[1]。在校园网络中心安装1台一卡通网络收费服务器,在各校区收费办公室各指定一台网络收费工作机器,安装一卡通读卡设备,通过收费服务器上的用户自助缴费页面,向全校师生提供自助缴费服务。校园网络收费管理系统网络拓扑结构见图1。
一卡通收费服务器为1台PC服务器,其配置为:INTEL3。0G双核CPU,1G内存,120G硬盘。在此服务器上运行Linux2。6内核操作系统、Apache服务器和MySql数据库。网络收费计算机使用支持JAVA虚拟机的网页浏览器,通过WWW服务实现与收费服务器的用户交互。收费服务器与一卡通数据库服务器以及网络用户认证服务器之间的交互采用JAVA语言来实现,由认证服务器设备提供商提供其JAVA接口的二次开发包。
2.2 系统功能描述[2-3]
根据网络收费管理工作的实际需求,该系统由帐户管理子系统、自助服务子系统、一卡通缴费子系统及统计分析子系统构成,各子系统的功能描述如下:
1)帐户管理子系统。该子系统面向系统管理人员层面,将用户的认证绑定策略、访问控制权限及计费策略封装于服务中,提供丰富的批量操作功能,如批量开户、批量续费、批量销户、批量修改等,便于用户数据的集中维护,简化管理员的操作。该子系统还提供自定制的用户信息管理功能,管理员可根据网络运营的习惯进行用户信息定制,并支持用户在各个校区、楼宇间的宿舍搬迁及用户上网账号在各个认证系统间的迁移。
2)自助服务子系统。该子系统面向用户层面,提供修改用户名、密码等功能。用户登录自助服务平台后,可进行本人网费历史缴费纪录、网络使用时间、网络使用明细等查询,还可进行销户、暂停及恢复网络使用等申请。对于新申请网络用户,校园门户平台中提供Web的用户预注册界面,用户通过Web填写本人信息,从而保证用户信息的准确性,减轻管理员的维护工作量。
3)一卡通缴费子系统。该子系统完成与一卡通系统的接口,前端使用校园一卡通建设项目中采购的一卡通卡片、POS机和数据库,后端连接校园网络用户认证系统数据库,使缴费者仅仅通过刷卡就可完成网络使用费的缴纳及网络使用权限的开通。
4)统计分析子系统。通过CAMS提供可配置的查询接口,将需要查询的条件信息写在配置文件中,提供给CAMS系统,实现管理员对用户缴费纪录、网络使用时间、网络地址使用情况的查询与修改等功能。此外,该子系统提供丰富的图形及表格样式的报表,可方便地生成、导出及打印。
3 自助服务平台中用户预注册功能的实现方式
根据门户提供的凭证登录管理工具建立凭证登录链接,将网络自服平台链接进校园信息门户平台中,教职工及学生经由统一身份认证登陆学校信息门户后,通过凭证(校园网络帐号)登录网络自服平台进行查询及申请等相
关操作。未开通校园网的用户,校园信息门户平台上提供校园网络自服平台预注册界面,可通过Web填写本人信息,进行开通校园网络服务的申请。网络自助服务平台预注册流程见图2
为了保证学生及教职工预注册功能的有效性,需要从集成中心库抽取学号、宿舍号或者住宅区号、工作部门、身份证号供核实,如果核实正确,点击预注册,否则与相关部门联系。门户系统将预注册人员的信息写入预注册表,并开放可读写权限供网络收费系统读写数据。收费系统研发人员开发相关程序,该程序每天1点从表中获取预注册人员数据,并自动将这部分数据增加到网络自服系统中,同时将处理结果进行标识。已经预注册的标识为1,否则为0。
4 一卡通缴费子系统设计方案
4.1 系统工作模式
一卡通缴费子系统是网络收费管理系统的核心所在,需完成与一卡通系统的接口,包括读卡机/POS刷卡时卡片的认证,身份确认、余额查询、缴费、划款确认等。系统工作模式为联机消费模式。校园网用户持自身一卡通到网络缴费专用POS机处进行缴费,管理员使用POS机对持卡人进行扣费。可将一卡通系统中用户的卡号与CAMS帐号进行关联设置,系统接到扣费后,根据卡号对应出CAMS的用户帐号信息,直接调用CAMS提供的用户缴费接口对用户进行缴费,降低了管理员的工作量。
4.2 系统功能模块
一卡通缴费子系统根据其功能,可划分为一卡通接口模块、认证系统接口模块、用户缴费模块、用户查询模块、管理员查询修改模块及数据存储模块6大模块。一卡通接口模块完成与一卡通系统的接口,包括读卡机/POS刷卡时卡片的认证、余额查询、划款确认等;认证系统接口模块完成与CAMS认证系统的接口,包括认证系统数据库结构,用户注册信息获取及合法性认证,用户缴费信息的查询、添加、修改与删除,用户网络使用权限的开通与关闭;用户缴费模块完成用户缴费的人机接口界面,包括用户的登录注销、网络使用费用自动计算、网络地址自动分配等;用户查询模块完成用户自助缴费的人机接口界面,包括缴费用户的登录注销、网费的自动计算、历史缴费纪录查询、网络使用时间查询及缴费时间预告等;管理员查询修改模块完成管理员的人机接口界面,包括管理员的登录注销,关于用户缴费纪录、网络使用时间、地址使用情况的查询与修改等;数据存储模块完成数据库的定义存储以及查询、修改、删除等。
4.3 缴费流程设计
用户网费缴纳环节是系统建设中值得关注的重点之一,根据长安大学网络收费工作的实际需求,设计出用户网费缴纳流程。用户需选择确认缴费项目,系统通过判断缴费记录添加及一卡通扣款执行是否成功决定用户网络使用权限的开通与否。用户缴费流程见图3。
4.4 相关技术细节
1)数据库设计。系统中数据库设计分为五大部分,分别为单位信息、教工信息、学生信息、住房信息和网络信息,其对应信息来源部门分别为校长办公室、人事处、教务处、后勤处(房改办和公寓科)及网络中心。以上5家单位为数据库数据信息的权威源单位,各类信息表中所涉及的编号如教工编号、学生编号、单位编号、院系编号、专业编号、职务编号、楼宇编号等遵循学校统一编码标准,力求逻辑清晰、层次分明。同时,学校公共数据平台提供的数据交换工具可设置适当的更新频率,在数据发生变更时,能够快速、及时地将最新数据更新到一卡通数据库中,从而有效保证权威源单位所提供的信息的准确性与时效性。
学校信息门户数据库使用ORACLE,本收费系统数据库使用MYSQL。在系统收费之前,首先要把门户数据库中启用网络注册的学生/教工的基本信息表同步到本系统中的学生/教工信息表中,表中所涉及的关键字段包括学号/工号、姓名、身份标志位及注册标志位。管理员在开始收费之前,需提前将前一工作日内网上预注册的用户信息通过本系统的接口同步传输过来,依照学号/工号为关键字,将已预注册的学生/教工基本信息写入本收费系统数据库。同时,将门户数据库中读取过的学生/教工信息的注册标志位改写,避免下次重复读取,从而保证数据库的读写速度。
2)CAMS二次开发接口与缴费模块调用说明。通过SOAP协议使用C++调用CAMS系统的二次开发接口,实现了后台处理和收费界面的统一,保证了数据处理的实时性及处理结果信息反馈的及时性。管理员登录收费系统的同时调用login()函数登录CAMS系统。退出收费系统的同时调用logout()函数,在CAMS系统中注销登录。网费的缴纳形式为开户及续费2种类型。用户选择开户,输入学号/工号,根据学号/工号在本地MySQL数据库申请表中查找该学号/工号的记录,标志位为1(表示该申请用户尚未被处理)。然后读取数据库中该用户的相关信息,包括姓名、学号/工号、校区、公寓、宿舍、联系电话等,同时POS机会读取校园卡上的相关信息,包括姓名、卡号、余额等,两者进行对比,待用户确认无误后即可刷卡扣费。刷卡成功后将刷卡记录写入缴费表,置标志位为1(代表开户),同时调用CAMS系统的接口函数addUser(),往CAMS系统中添加新用户。需要给addUser()函数传入的参数包括账号名、用户姓名、账号IP、附加信息(校区)、开户预付金额、证件号,参数个数可根据实际需要进行增减。开户成功后置换申请表的标志位为0。续费用户的处理过程相对简单,用户选择续费,输入学号/工号,根据学号/工号,调用CAMS系统的接口函数queryAcctByName()读取该账号的相关信息包括学号/工号、姓名、证件号码、账号余额、IP地址等进行显示,待用户确认无误后即可刷卡扣费。刷卡成功后将刷卡记录写入缴费表,置标志位为2(代表续费),同时调用CAMS系统的接口函数pay()在CAMS系统中给该账号充值,需要给函数pay()传入的参数为账号名和缴费金额。