APP下载

校园“一卡通”系统数据库集成机制研究

2009-04-03董晓辉

中国教育信息化·高教职教 2009年3期
关键词:一卡通

董晓辉 杨 勇

摘 要:本文结合西北师范大学校园“一卡通”项目及笔者在工作中的疑惑,探讨了校园“一卡通”数据库的主流设计模式,伴随着数据同步的疑问,提出了一种可行的、满足“一卡通”平台和各部门子系统数据库需求的数据库集成机制,对校园“一卡通”系统和数字化校园建设具有一定的参考价值。

关键词:一卡通 分布式异构数据库 XML 数据同步

中图分类号:TP311.13文献标识码:A 文章编号:1673-8454(2009)05-0027-02

一、概述

校园“一卡通”系统是以非接触式射频IC卡作为身份认证、信息存储、储值消费和信息传递介质,以计算机数据库技术和网络通信技术为支撑,将计算机网络的数字化理念注入到校园管理,一定程度上把校园内的各个独立的管理子系统有机地衔接起来,采用一张校园卡代替校内使用的学生证、教师证、借书证、饭卡等各种证件,加强校内的资源共享,减少重复建设和数据冗余,实现校园信息统一管理的数据平台,是数字化校园的基础工程。[1]

作为高校的数字化平台,校园“一卡通”如何发挥其数据中心的作用,如何与现有的各个独立的子系统数据库实现数据集成,采用什么样的集成机制才能实现数据的有效共享和同步,成为校园“一卡通”建设的核心问题。

二、问题的提出

传统的“一卡一库”设计模式(即所有的功能模块都使用一个数据库),虽然能够保证数据的高度一致性和有效共享,但后期系统升级和功能扩展时,开销太大,几乎要重新建设,不适合“一卡通”数据库的设计要求。

随着“一卡通”概念的成熟和建设经验的积累,“一卡多库”的分布式数据库共享模式已经成为“一卡通”数据库设计的主流模式。[2] 以卡户信息数据库为核心库,校内各部门可根据部门性质和功能需求各自建立相对独立的子系统和功能模块数据库,与核心库对接形成分布式数据库,各部门的数据由自己的DBMS(数据库管理系统)管理,具有自治处理能力。这样的优点是反应速度快,可扩展性好,能适应学校规模的不断扩大,同时增加了“一卡通”系统的灵活性与独立性,便于“一卡通”应用系统的扩充与升级改造。然而这种数据库设计方法由于各子系统数据库相对独立,必然导致核心数据库中的卡信息与各子系统数据库中的相关数据出现不同步的问题。下文将讨论如何建立有效的数据库集成机制来解决这样的问题。

三、数据库集成机制研究

1.校园“一卡通”数据库的复杂性

在“一卡多库”的分布式数据库共享模式下,由于各部门职能不尽相同,所需的数据也不尽相同,采用的数据库各有差异,使得数据库的集成变得异常复杂。下面以西北师范大学校园“一卡通”工程为例说明。

(1)各职能部门所需数据不一

图书馆数据库和一卡通核心库的同步以个人编号(学号或工号)为关键字,机房管理数据库与一卡通核心库的同步以校园卡账号为关键字,学生处、财务处数据与校园一卡通核心库的同步以身份证号为关键字。

(2)数据库平台和运行环境不一

一卡通核心库采用Oracle 10g数据库,图书馆采用Informix数据库,运行环境都为Redhat Linux As4;机房管理系统采用SQL Server 2000数据库,学生处和财务处采用Visual FoxPro数据库,运行环境都为Windows server 2003 sp2。

(3)建设时间和数据格式不一

各个子系统数据库是在不同阶段开发建设的,每个子数据库都有自己的运行环境和数据库系统,这些数据库系统中的数据格式又不一致,数据难以交换和同步。

(4)硬件配置和网络状况不一

一卡通核心库使用的服务器是IBM 460,机房管理子系统使用IBM 346服务器,其他部门所使用的服务器各不相同。一卡通核心库、机房管理子系统、图书馆系统都通过校园网主干线路接入,而学生处、财务处等部门的系统则是通过校园网分支线路接入,造成网络状况的不一致。

在这种复杂的情况下,采用怎样的机制才能保证数据的有效同步、保证数据在核心数据库与各子系统数据库之间的一致性、保证校园卡用户正常办理各种业务。

2.分布式异构数据库的同步机制

(1)分布式异构数据库概念

分布式异构数据库的异构主要表现在各个子系统的计算机体系平台的异构、操作系统的异构、DBMS中的数据模型和物理模型的异构等等。分布式异构数据库同步的核心就是要解决各个子系统的分布性和异构性,实现数据的同步和一致。

(2)数据库同步技术

目前比较先进的异构数据库同步技术是利用标准的XML传输和SQL数据操纵,采用基于订阅与发布模式的数据库同步技术,灵活地选择数据库中的某些表,生成和解析XML文件,从而实现SQL Server,Oracle,MySql和DB2等流行数据库系统之间的数据同步。

3.校园“一卡通”数据库的有效同步机制

依据以上的分布式异构数据库同步技术,本文就校园“一卡通”的数据库同步和工作原理,提出如下有效的同步机制。

(1)搭建FTP站点、通过XML文件实现数据库的定时同步

采用XML作为数据描述与交换的语言,利用XML文件作为中间文件进行数据库间的数据同步。[3] 待同步的数据先以XML文件的格式从核心数据库中导出来,放置在FTP相应的目录中,各个子系统通过FTP获取XML文件,再经过解析XML文件,转化为本地数据库类型,然后导入到本地数据库中。这样,一种系统的数据就能够透明地转化为另外一种系统的数据。

校园“一卡通”数据库是一卡通庞大系统中的基础数据平台,为各个子系统提供基础数据,比如,学号、身份证号、姓名、校园卡账号、银行账号等基础字段。根据一卡通的功能,在数据库设计中要建立身份验证库,用来识别卡户的身份,各个子系统利用授权给自己的账号和密码通过FTP站点定时获取所需表的XML文件,解析转化后导入本地数据库中,实现数据库的定时同步。

(2)两层身份识别机制

如上所述的同步机制,存在着很大的缺陷,这种同步机制不是实时的,在同步之前存在一段时间的数据不一致情况。当某个卡户挂失了丢失的卡以后,由于短时间的数据不一致,导致该挂失卡还可以在图书管理系统中借书,这将会给图书馆或者失主带来一定的损失,但是如果数据库实现实时同步,每天将会有成千上万条信息实时传输,数据库每日将要提交和同步处理上万次事务,这对于一卡通系统和校园网来说是个很大的压力和开销,甚至承受不了这么大的负载。

在这里我们构建两层处理机制。第一、建立对接机,对一卡通的所有终端进行监控,调用身份验证数据库。卡户在终端刷卡时,对接机就可以通过核心数据库的身份验证库直接验证卡户的信息和状态,这样可以避免数据库同步之前子系统库与核心库不一致的情况。第二、数据库定时同步,在网络比较空闲的情况下(比如凌晨三四点),通过FTP站点、XML解析机制进行数据库同步。各个子系统可以各取所需,在各自规定的时间里,取得与核心数据库的数据一致。如图1对数据库集成机制进行了图示化的详细说明。

这种数据库集成机制在保证数据的有效同步、降低校园网压力和开销的同时,使卡户和相关部门的业务也可以正常进行。

四、总结

本文结合我校校园“一卡通”系统,在分布式异构数据库同步原理的基础上,构建了一个可行的、高效的校园“一卡通”数据库集成机制。为校园“一卡通”的建设和高校数字化建设提供了经济、有效的建设思路。

参考文献:

[1]西北师范大学数字化校园建设规划.西北师范大学网络教育学院,2005.5.

[2]赵生艳,张琳娜.校园“一卡通”信息系统数据库设计刍议[J].科技咨询导报,2007(2).

[3]熊现,邱卫东,陈克非.基于JAVA/XML的分布式异构数据库同步系统的实现[J].计算机应用与软件,2008(2).

猜你喜欢

一卡通
基于“一卡通”开发的员工信息识别系统
公共交通一卡通TSM平台研究
“银医一卡通”在提高医院优质服务中的作用
住建部、交通运输部:“一卡通”互联互通应统—标准