基于共享数据中心的校园一卡通系统的数据同步
文章出处:http://www.singbon.com 作者:聂瑞华 林怀恭 郑凯 王娟 人气: 发表时间:2011年06月27日
数字化校园就是利用信息化手段和工具将校园的各项资源,管理及服务流程数字化既保护已有的系统资源,又扩展新的应用,同时必须实现信息的交互和共享,提供广泛深层次的信息服务。设计应用系统集成框架,建立统一的数据标准,实现全校信息资源的整合是实现数字化校园建设的首要问。
校园一卡通是数字校园的重要组成部分,它集校务管理、图书借阅、校医院医疗、食堂餐饮以及学校商户消费等功能于一体,是数字化校园的重要体现。一卡通数据库数据来源于教务系统、学工系统等相关的应用系统,图书馆借阅信息又依赖于一卡通卡片信息,如何保证一卡通数据与相关应用系统数据同步是一卡通建设要解决的重要问题。
本文将以我校一卡通系统建设为例,在分析了我校一卡通系统数据来源的基础上,提出基于共享数据中心模式的一卡通数据同步方案,实现一卡通数据的有效采集与同步。
2 一卡通数据采集模式
一卡通所需的信息包括教工号'部门'学生学号'身份证号'所属院系'专业等多种信息,数据来自包括人事系统'教务系统等多个应用系统。这些应用系统由不同厂商承建,由于在建设之初只着眼于本单位应用,大多缺乏统一的数据标准与数据格式,不同的系统之间无法实现有效的数据共享,容易造成系统间数据的不同步。系统间的这种+信息孤岛,现象使得一卡通数据采集无法从单一的系统获得,实现数据同步也比较麻烦。
2.1 数据采集方案的选择
一卡通数据采集的方案之一是建立一卡通系统与所需数据相关应用系统的直接关联。采用此方案首先得熟悉数据来源的应用系统所采用的开发技术,了解其提供的协议以及数据格式,进而建立应用系统与一卡通系统的一对一的数据关联以及更新机制。而一卡通所需的数据来自较多应用系统,数据采集的工作将变得相对复杂,一卡通系统的维护也将变得困难。
另外,这种方案并不利于数字校园的整体建设,并没有改变+数据孤岛,的现状。一卡通数据采集的另一方案是建立数据中心,由数据中心保存各个应用系统的公用数据,应用系统的数据更改首先通知数据中心进行更新,再由数据中心分发到相关的应用系统。这样既保证了数据的准确性又有利于数据的共享以及系统的可扩展性,有利于数字化校园建设。
一卡通数据统一从共享数据中心获取,利用共享数据中心进行数据分发,实现一卡通数据的实时更新。鉴于此,我校正是采用这种方案进行数据采集的。
2.2基于共享数据中心的一卡通数据同步架构
共享数据中心作为一卡通数据采集的中心枢纽,与一卡通数据来源系统都处于同一网络中,能够互相访问,对应用系统间需要交互的数据进行整理,以完成共享数据模型的构建。一卡通的数据获得完全通过共享数据中心来实现,应用系统只需要对一卡通系统所需的数据操作进行相应的系统改造就可以实现,并且权限模型可以沿用旧有系统的。
应用系统与共享数据中心之间是松散耦合的,即各个应用系统脱离了共享数据中心也可以正常运行。共享数据中心基于数据库技术构建在J2EE的架构之上,具体架构如图所示。
其中WEB服务层为其他应用系统提供访问一卡通数据服务,包括对共享数据中心数据同步的一些操作;展示层则完成对共享数据中心的管理,这包括一卡通元数据的管理'系统日常维护等方面的功能。
共享数据库中包含两部分的数据;交互数据的存根以及共享数据中心元数据。交互数据存根主要是保证数据在各个系统间的准确性和唯一性;而共享数据中心元数据则是对共享数据中心模型的定义及管理,它保证了共享数据中心的正常运作。
鉴于一卡通来源数据的应用系统的实际情况,在数据交互的实现方式上采用数据库实现以及WEB SERVICE两种方式。
共享数据中心的esb通过开源技术mule来实现,主要负责控制一卡通业务数据由接口进入,经过清洗'存储,最后分发到应用系统的整个业务编排。通过在mule中按照一定的业务处理规则进行路由设置,以实现灵活的组合业务处理。
共享数据中心的核心功能就是实现各个系统之间的数据交互,当某个系统数据有更新的时候,通过共享数据中心完成各个系统之间的数据同步,以保证各个系统中数据的唯一性和有效性。
3 一卡通数据同步的实现
3.1技术方案
共享数据中心的主要功能是共享应用系统间的公共数据,实现系统间的数据同步。共享数据中心与一卡通相关的多个应用系统互联,必须降低与各个应用系统的耦合性,同时考虑到以后新建系统的加入,还必须保证共享数据中心的可扩展性。
根据共享数据中心构建的这些特点,这里提出了一种基于soa的共享数据中心技术方案,它把业务划分,组件化,为一系列粗粒度的业务服务和业务流程),通过加入ESB支持以及各种数据接口来实现,能实时地实现共享数据中心与各应用系统之间的数据同步,实现共享数据中心各应用系统之间的低耦合性和共享数据中心本身的可扩展性,以满足当前数字校园建设的需要)。基于SOA的共享数据中心技术方案如图2所示。
其中,中心数据库存放各应用系统的一卡通标准数据,两个交换区存放应用系统的增量数据,ESB总线主要负责控制业务数据由接口进入,经过处理,最后分发到其它应用系统的整个业务编排 。
各个应用系统通过共享数据中心的服务将一卡通数据发往共享数据中心,共享数据中心处理完成后存储标准数据,一卡通系统通过共享数据中心提供的服务获得数据。一旦应用系统的数据更新,共享数据中心即调用服务更新中心数据库数据,再将所更新部分分发给一卡通系统,这样就保证了一卡通数据的实时有效性。
3.2数据同步步骤
共享数据中心处理各应用系统的数据同步分为四个步骤:导入'清洗'分发'传送。
1)数据导入和清洗。在共享数据中心中设定了一卡通数据的权威数据来源系统。包括教务系统'人事系统等),当这些应用系统的权威数据发生变化时,共享数据中心要将这些变化的数据导入到数据交换区,然后将这些数据通过数据清洗操作更新到主题库中,数据导入要做的事就是如何导入这些数据。
根据应用系统接口的不同,从应用系统导入数据到共享数据中心有几种方式;应用系统调用共享数据中心的webservice传送数据'直接访问应用系统数据库获取数据'共享数据中心调用应用系统提供的webservice获取数据。
以教工信息同步到一卡通系统为例。教工信息来源于人事系统,教工信息的导入通过调用共享数据中心提供的webservice实现。初次导入时将人事系统所有已审批的教职工信息导入到共享数据中心,查询人事系统教职工基本信息表,若存在数据,则将所有的教职工数据存到增量表中。然后触发服务组件outbond router进行清洗,将导入的数据按照一卡通所需数据的标准格式进行清洗(数据基本校验和逻辑分析)结果保存到共享数据中心的主题数据库中。而当人事系统中更新人员信息时,将调用共享数据中心发布的服务将变化的数据发送到共享数据中心。mule中的配置如下:
当共享数据中心提供的webservice方法执行到导入教职工数据到增量表后,最后通过muleclient发送一个VM消息到VM://HRImportRY,触发导入教职工照片事务和清洗教职工数据事务。而在数据清洗的HRCLeanRY_UMO中实现数据的清洗任务。清洗完的数据将根据OUTBOUND定义的出口ICSDisRY对一卡通数据进行分发。
(2)分发和传送。将清洗过后的教职工数据分发到一卡通系统,mule中的配置如下:
最后在ICSRcRY_UMO中调用存储过程实现将教职工数据写入一卡通数据库的相应表格中。
而对于有数据项依赖于一卡通数据的系统。如图书馆系统)其数据与一卡通数据同步的步骤也类似从人事系统到一卡通系统数据同步的过程,这里不再一一叙述。
4 结束语
校园一卡通系统是数字校园建设的重要组成部分,其数据来源于相关的业务系统,需要与业务系统数据保持同步。本文针对我校一卡通建设的实际情况,提出了通过共享数据中心实现一卡通数据采集与同步的方案,详细描述了实现步骤,成功实现了一卡通数据与相关系统的数据同步。