校园一卡通系统与图书馆借阅系统集成研究
1 引言
基于校园一卡通系统的图书馆汇文文献信息服务系统对接,实现了使校园卡借阅图书及相关功能。对于办理了校园卡的人员采用校园卡借阅图书,并交纳超期罚款等费用,对于未办理校园卡的人员仍然维持现状,即采用借书证借阅图书,采用自然过渡的方式,逐步淘汰以条码卡为载体的阅览证。逐步实现校园卡的“一卡在手,走遍校园”。
1.1 系统功能概述
一卡通系统与现有的图书借阅系统实现无缝连接,可以使用校园卡取代图书证(但必须确保校园卡与原借书证都能使用),并能发挥现有的图书管理系统的作用;在每个图书借还书点,增加校园卡读卡器,可实现读取校园卡信息以及收费功能。
1.2 实现方式
在校园一卡通系统提供的的应用程序接口API基础上,进行二次开发。应用程序接口API主要包括:进行日间业务的函数、操作员签到/签退、操作员改密、操作员统计、开通/关闭(相对于开通操作的反操作)、查询、挂失/解挂、转账、改密、撤消操作、对流水账等。
2 数据库平台
公共数据库提供读者基础信息,并进行数据同步,使其保持一致。由图书馆提出数据需求,公共数据库开放视图,汇文系统来读取。同样,公共数据库给一卡通系统提供基础信息。校园一卡通系统和图书馆汇文系统,通过对接,实现信息交换。
(1)一方面,图书管理系统的读者信息、照片信息需要从公共数据库获得。另一方面,图书馆数据库需要将图书馆的一些信息上传到数据交换共享平台中,以方便其他系统调用。
(2)同样,公共数据库提供基础信息给校园一卡通系统。由于公共数据库和一卡通系统在网络层面相互物理隔离。因此需要通过一卡通和公共数据库中间服务器来完成。公共数据库将信息放入中间服务器,一卡通数据库系统从中间数据库来提取校园卡基础信息,根据更新标志位,实现数据的同步。
(3)一卡通数据库和图书馆数据库通过读取校园卡信息,实现数据库对接。即在图书馆借阅终端,读取校园卡上的学工号,直接去图书馆数据库中寻找对应的读者证件号,读者证件号对应唯一的读者条码,实现图书借阅、扣款等。
3 与图书馆汇文系统的集成
3.1 一卡通接入逻辑图
“第三方对接服务器”主要由代理服务器软件、PSAM加密卡和通用读卡器以及第三方接口API等组成。系统有图书馆局域网和一卡通专网通过第三方对接服务器连接起来。在图书馆终端安装一卡通读卡器进行读取校园卡借书,通过条码枪扫描图书条码。
3.2 读者信息数据库与一卡通中心数据库的关联
由于图书馆本身就有历史数据,因此存在数据格式不统一、读者信息字段设置的太少,部分关键字段数据有缺失等问题。实际情况是教职工借书证编号标准不统一。学生数据比较规范。我们针对此种情况,对教职工数据进行清洗、完善。读者数据库,新注册读者数据全部从公共数据库获得,从而可以保证数据的可信度。读者数据库与一卡通中心数据库各自都有完整的字段设置。本系统使用一卡通中心数据库中的学工号和图书馆数据库中的读者证号(即读者的学工号)作为相互关联的关键字段。
建立对应关系后,读者在借阅图书时由读卡器读取一卡通卡号,经过一卡通接口程序将卡号发送至一卡通中心数据库验证,调取相应的学工号,返回给汇文文献信息服务系统。汇文文献信息服务系统根据返回信息检查读者库中是否存在该读者证号,如不存在则显示提示信息。汇文文献信息服务系统调用一卡通中心数据库中注册所需字段数据,根据映射关系自动生成读者注册信息,完成新读者注册。
3.3 数据结构设计
一卡通接口程序为每一种类型的操作对应一个提前定义好的数据结构包,例如卡操作包,卡消费/退费包,账户信息包等等,为双方的数据代码转换提供了桥梁。下面示例账号信息的数据结构定义。
/*帐户信息包(文本)*/
typedef struct
{
char Name[20];/*姓名*/
charSexNo; /*性别*/
chaDeptCode[18];/*部门代码*/
chaCardNo[LEN_NUM]; /*卡号*/
chaAccountNo[LEN_NUM];
chaStudentCode[20];
chaIDCard[20];
chaPID[2];
chaBalance[LEN_NUM];
charPassword[6];
chaExpireDate[6];
chaSubSeq[LEN_NUM];
chaIsOpenInSys;
chaTerminalNo[LEN_NUM];
chaRetCode[LEN_NUM];
chaCardType[3];
chaUsedCardNum[LEN_NUM];
} AccountMsg_T。
3.4 汇文一卡通实现
3.4.1 读卡识别
卡片的认证通常由一卡通接口实现。由于设备是接USB接口,需要专门的读卡设备来识别。但是其并不会自动送往键盘缓冲区,这样就需要做专门的接口实现。这就需要一卡通系统提供的第三方对接接口程序。在读卡接口(DLL文件)程序的基础上进行开发,实现读卡。
读卡涉及到的DLL文件如表1所示。
3.4.2 金融扣款
主要是把汇文的超期罚款等费用结算通过校园卡消费的方式实现。实现在汇文中点击收费按钮后自动从卡片扣除相应金额。通过编程实现。
3.4.3 数据共享
汇文读者数据与一卡通数据都来自于公共数据库。对于新增数据,我们有三种处理方式,具体如下:
①汇文提供相应接口给一卡通厂商,实现两边同时注册。
②利用汇文提供读者套录数据转入,实现一卡通读者数据的批量导入。
③零星数据通过汇文证件注册完成。
读卡的时候还涉及到卡片有效性的问题,一般一卡通系统读卡时会自动和校园一卡通中心数据库联系判别卡片的有效性,无需到汇文进行二次挂失(解挂)操作。
对于读者换卡,因为汇文有证件号和条码号两个字段,证件号一般固定不变,而条码可以更换;校园卡数据一般也有一个固定号和一个可变的号(比如读者帐号或学号不变,而换卡后,卡片本身的物理序列号有变化),因此通常把不变的号做为汇文数据中的证件号及条码号,这样读者换卡后不需要再到图书馆进行专门处理,而旧的卡因为已被注销,在认证的时候可以识别出来,而不会引起错误。
在实际实施中,通常把学号作为一卡通和汇文之间的联系号:从卡上读出读者学号;在汇文中注册读者学号为证件号和条码号。
原汇文系统读者数据与一卡通数据有现成的关联号(比如学号),原汇文读者可以直接利用一卡通进行借阅及扣款处理。原汇文系统读者数据与一卡通数据没有关联号的,由图书馆老师负责建立汇文与一卡通数据对应关系表,汇文协助进行数据替换实现关联,并存处理。原读者依然使用原条码证件进行借阅,扣费使用一卡通;新增读者使用一卡通完成借阅和扣款。
4 结语
实现图书馆业务系统集成到校园一卡通系统后,读者在办理校园卡的同时就完成了图书馆借阅证的办理,大大提高了办证效率,同时也避免了读者持有多个证卡的麻烦,而且还方便了日常管理,规范了图书馆的财务管理、降低了管理成本。
随着数字化建设的深入,高校图书馆在越来越多的方面需要借助一卡通开展工作,一卡通所包含的功能也有待丰富。展望未来的校园一卡通系统,将在现有应用的基础上进行扩展,逐步建立起一个以图书馆——校园一卡通为核心的网络应用体系。