APP下载

基于ODI技术搭建高校数字化校园公共数据平台

2014-09-24孙玮

软件工程 2014年7期
关键词:数据集成数据共享数字化校园

孙玮

摘要:针对高校数字化校园信息不权威、信息系统孤立缺乏联系等问题,本文提出了公共数据平台的总体架构。平台基于通用的数据标准体系架构,采用ODI中间件技术,来完成数据的统一和集成共享。最后以新生数据为例,介绍了平台的具体实现。

关键词:数字化校园;数据集成;数据共享;ODI

中图分类号:TP311 文献标识码:A

Construction of Public Data Platform Based on ODI Technology for Digital Campus

SUN Wei

(Information Education Technology Center,Southwestern University of Finance and Economics,Chengdu 611130,China)

Abstract:Considering the problems of the digital campus,such as unauthorized information and the isolation of information, we proposed the overall architecture of public data platform.The platform is based on the universal architecture of data standard and the middleware technology of ODI(Oracle Date Integrator).Finally,we took the integration and sharing of the freshman data as an example tointroduce the detail of the implementation of the platform.

Keywords:digital campus;data integration;data sharing;ODI

1 引言(Introduction)

目前,以高性能校园网为基础,各高校根据自身发展的需要,采用先进的信息技术来构建数字化校园[1],信息化建设的应用领域不断延伸,已覆盖了全校办公、教学、科研、财务、图书等各项事务。然而,现有的数字化校园体系已经不能完全满足高校信息化发展的需要,系统孤立存在,数据冗余分散,共享困难,无法应对教学和管理业务的快速变化,而如何进行有效整合,是摆在目前绝大多数高校面前的难题。目前业界提出若干的解决方案,主要集中在应用整合和数据整合两个方面,但高校的信息化建设具有其独特性,它不能像企业一样大刀阔斧的进行流程优化和应用改造,因此首先从数据层面进行整合是最经济和有效的方式[2]。

公共数据平台是以学校信息化建设技术规范为基础,统一数据交换标准,建立安全高效、充分公共的数据中心;规范信息从采集、处理、交换到综合利用的全过程,逐渐形成有效的信息化管理的运行机制,为学校领导和有关部门信息利用、分析决策提供支持,为学校的教学管理和人才培养提供高效的信息服务[3]。

2 关键技术(Key technology)

2.1 数据集成

在数据集成领域里常用的数据集成模型有:联邦数据库系统、数据仓库和基于中间件模型等[4]。

联邦数据库系统(FDBS)是指由半自治数据库系统构成的、同时联盟各数据源之间相互提供访问接口并分享数据,即彼此既协作又相互独立的单元数据库的集合。

数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的和不可修改的数据集合。

中间件模型则是通过统一的全局数据模型来访问异构的数据库、Web资源等。所谓中间件是指其位于数据层和应用层之间,主要作用是协调各数据源系统,并为访问集成数据提供统一数据模式和通用接口。

使用中间件模型,能很好地解决数据源中数据的更新问题。当数据源发生变化时,只需要修改中介模式的虚拟逻辑视图就可以了,减少了数据赋值的开销,提高效率,增强集成系统的可扩展性。

2.2 ODI技术

ODI(Oracle Data Integrator)是Oracle公司推出的一个功能强大的数据集成平台。从技术角度来看,ODI本身是一种开放的架构,支持几乎所有目前流行的关系数据库,同时由于其本身是Java开发的产品,可以跨Windows、Unix平台,同时还能与中间件融合,且可以融合到整个IT架构中。

ODI的最大特点是提出了知识模块(Knowledge Module)的概念,它把一些场景(如在不同数据库之间抓、送数据等操作)的详细操作步骤记录为一个个知识模块供用户调用。由ODI提供的100多个知识模块中,基本包含了普通应用所涉及的所有场景。此外,也可以直接在知识模块上面做各种定制,甚至还可以自己来开发这些知识模块。

ODI的数据源场景可以是关系型数据库的集成,它包括Oracle、SQL Server、MySQL、DB2、Sybase等,既可以同构也可以是异构数据库之间的集成。另外,ODI工具也可以通过ODBC来捕获数据源,因此它也可以集成一些非关系型数据,包括TXT、Excel文件、Access数据库、XML数据文件以及图片文件的集成等等。因此,ODI几乎能满足所有数据集成要求,设计领域包括高容量、高性能的批处理、事件驱动的少量传送集成过程,在数据加载过程中也提供了数据质量检查、监控等功能,使传送的数据更加符合业务系统的实际要求[5]。

3 平台设计(Platform design)

3.1 需求描述

公共数据平台是在学校层面上搭建一个高层应用平台,实现数字化校园内各种信息系统的互通互联和数据共享[6]。

针对当前我校的实际情况,搭建公共数据平台主要完成以下工作:

(1)制定通用的参考信息标准,包括命名规范、编码规范、标准数据集合代码集。

(2)确定权威数据源,对多种异构数据源进行集成工作,建立校级的共享数据中心。

3.2 总体架构

本平台的架构如图1所示。平台采用中间件ODI完成对业务数据的全面清洗,是各类信息采集、加工和整合的平台。它从业务部门的应用系统中采集和加工数据,并依照标准转到全局数据库中,从而为其他系统的数据共享和全局应用提供权威数据。

图1 总体架构

Fig.1 Overall architecture

3.3 数据标准体系结构

本校的数据标准基于通用的数据标准体系结构,如图2所示。通过对本校主要业务模型分析,定义了各类数据集合代码集,并对命名规范和信息编码规范进行了定义。本文不做详细介绍。

图2 数据标准体系结构

Fig.2 Data standard architecture

4 平台实现(Platform implementation)

通常,同构数据库之间的数据同步,利用数据库本身的触发器就可以完成,而对于异构数据库之间,数据同步操作就没有那么简单,需要使用专门的ETL工具比如ODI来实现这些需求。考虑到技术的统一和管理的方便,本平台全部采用ODI工具来完成各类数据库之间的数据同步。

本文以新生数据的同步与共享为例,介绍本平台数据同步的具体实现方法和主要步骤。

endprint

4.1 数据模型

我校在每年八月底完成招生工作之后,招生办以excel表格的形式将招生数据导入到新生分班分寝室系统数据库,招生信息包括学生高考相关信息和我校的录取结果。新生分班分寝室系统会以招生数据为基础,生成新生的学号、班级、寝室、辅导员等信息,并在新生开课前,提供对这些基本信息的变更操作功能。这些新生数据将作为学生在校基本信息的权威数据,供其他应用使用。

图3 集成共享新生数据模型

Fig.3 Model of integration and sharing of freshman data

4.2 ODI开发

(1)基础配置

第一步:在ODI的“拓扑”页中,分别为源数据和目标数据建立数据服务器,并设定相应的物理架构和逻辑架构。本例中,新生分班分寝室系统为源数据服务器XSFBFQS_XSJBXX,物理架构为XSFBFQS_XSJBXX_ODI_SRCC,逻辑架构为XSFBFQS_XSJBXX_LOGIC_SRCC,与物理架构相对应;中心数据库为目标数据服务器DATACENTER_XSJBXX,物理架构为DATACENTER_XSJBXX_ODI_TAGG,逻辑架构为DATACENTER_XSJBXX_LOGIC_TAGG。

第二步:在ODI的“设计”页中,创建模型。分别选择源数据和目标数据中需要同步的表或视图并进行逆向工程。分别根据源数据和目标数据的技术以及逻辑架构创建各自的模型,并在“逆向工程”标签下选择上下文,并设置要进行逆向工程的对象的类型。然后在“选择性逆向工程”的标签下,分别选择新生分班分寝室系统中的新生在校基本信息表(TSXY_YX_XS_JBXX_V)和中心数据库中的学生基本信息表(DC_XS_JBXX_TB),并执行逆向操作,这样这两个表的结构就被导入到ODI中。

第三步:创建一个项目,导入知识模块。为避免遗漏知识模块而影响后续操作,可导入所有知识模块,用于完成从源数据库数据加载到临时表,以及从临时表的数据加载到目标表。

第四步:创建接口,设计源数据到目标数据的映射,并选择相应的知识模块。本例中,先建立接口XSJBXX_TGT_POP,然后创建源数据表到目标表的映射。接下来进入流标签,选择知识模块。然后执行接口,查看执行情况。如出现错误,则对接口进行调整。

(2)CDC开发

使用CDC(Change Data Capture,变化数据捕捉)技术,目的在于优化,因为CDC会捕获源数据的变动情况记录到日

记表,在传递数据时,只需要依据日志表中记录而无需考虑未变动的数据,大大提供ELT的效率。具体步骤如下:

在模型的源表中右键选择“添加到CDC”,再右键源表选择“启动日记”,继续右键源表,选择“已更改数据捕获”→“订户”→“订阅…”添加订阅,操作成功后,源表的左上角会有一个绿色标记,同时,去源数据库可以看到新添加的trigger。最后还要做最重要的步骤,在接口源属性中将“仅已进行日记记录的数据”打钩。

(3)程序包开发

在项目中新建程序包,双击程序包,在打开的程序包下方,选择图表。在工具箱中,将OdiSleep和OdiWaitForLogData组件分别加入右侧,再将之前建好的接口也拖到右侧,加入连接线,如图4所示。点击OdiWaitForLogData,填入上下文、逻辑方案、订户、表名称等信息。点击OdiSleep可以设置等待延迟时间,执行程序包即可。

图4 ODI开发界面

Fig.4 Interface of ODI development

5 结论(Conclusion)

目前,本平台除了完成新生数据的共享,还实现了OA涉及的所有业务数据的集成,比如将Oracle Peoplesoft HR系统的教职工基本信息和组织结构信息推送到中心数据库中,OA系统需要的数据可直接在中心数据库中进行数据抽取和同步,形成了信息标准化、数据集成和共享,以及共享数据的实时更新或同步处理。接下来将对OA系统中的待办事项、新闻,通过ODI工具同步,以在Oracle Webcenter Portal校园个人门户系统中集中呈现。

参考文献(References)

[1] 李欣.高校信息门户内外网信息流转系统的设计与实现[D].成都:电子科技大学,2012.

[2] 范莹晖.高校公共数据平台标准管理工具的设计与实现[D].西安电子科技大学,2011.

[3] 邓英.数字化校园建设中公共数据整合方案研究[J].电脑知识与技术,2008,4:589-591.

[4] 练亚雄.不同信息管理系统间数据集成的研究与实现[J].上海应用技术学院学报(自然科学版),2012,12(3):234-239.

[5] 练亚雄,袁志刚,万晓卿.用ODI实现信息管理系统间数据同步和共享[J].电脑编辑技巧与维护,2012,08:41-43.

[6] 任友群,程静.用公共数据平台成就高校信息化建设[J].教育信息化,2007,4:38-41.

作者简介:

孙 玮(1983-),女,硕士,工程师.研究领域:网络信息系统.

endprint

4.1 数据模型

我校在每年八月底完成招生工作之后,招生办以excel表格的形式将招生数据导入到新生分班分寝室系统数据库,招生信息包括学生高考相关信息和我校的录取结果。新生分班分寝室系统会以招生数据为基础,生成新生的学号、班级、寝室、辅导员等信息,并在新生开课前,提供对这些基本信息的变更操作功能。这些新生数据将作为学生在校基本信息的权威数据,供其他应用使用。

图3 集成共享新生数据模型

Fig.3 Model of integration and sharing of freshman data

4.2 ODI开发

(1)基础配置

第一步:在ODI的“拓扑”页中,分别为源数据和目标数据建立数据服务器,并设定相应的物理架构和逻辑架构。本例中,新生分班分寝室系统为源数据服务器XSFBFQS_XSJBXX,物理架构为XSFBFQS_XSJBXX_ODI_SRCC,逻辑架构为XSFBFQS_XSJBXX_LOGIC_SRCC,与物理架构相对应;中心数据库为目标数据服务器DATACENTER_XSJBXX,物理架构为DATACENTER_XSJBXX_ODI_TAGG,逻辑架构为DATACENTER_XSJBXX_LOGIC_TAGG。

第二步:在ODI的“设计”页中,创建模型。分别选择源数据和目标数据中需要同步的表或视图并进行逆向工程。分别根据源数据和目标数据的技术以及逻辑架构创建各自的模型,并在“逆向工程”标签下选择上下文,并设置要进行逆向工程的对象的类型。然后在“选择性逆向工程”的标签下,分别选择新生分班分寝室系统中的新生在校基本信息表(TSXY_YX_XS_JBXX_V)和中心数据库中的学生基本信息表(DC_XS_JBXX_TB),并执行逆向操作,这样这两个表的结构就被导入到ODI中。

第三步:创建一个项目,导入知识模块。为避免遗漏知识模块而影响后续操作,可导入所有知识模块,用于完成从源数据库数据加载到临时表,以及从临时表的数据加载到目标表。

第四步:创建接口,设计源数据到目标数据的映射,并选择相应的知识模块。本例中,先建立接口XSJBXX_TGT_POP,然后创建源数据表到目标表的映射。接下来进入流标签,选择知识模块。然后执行接口,查看执行情况。如出现错误,则对接口进行调整。

(2)CDC开发

使用CDC(Change Data Capture,变化数据捕捉)技术,目的在于优化,因为CDC会捕获源数据的变动情况记录到日

记表,在传递数据时,只需要依据日志表中记录而无需考虑未变动的数据,大大提供ELT的效率。具体步骤如下:

在模型的源表中右键选择“添加到CDC”,再右键源表选择“启动日记”,继续右键源表,选择“已更改数据捕获”→“订户”→“订阅…”添加订阅,操作成功后,源表的左上角会有一个绿色标记,同时,去源数据库可以看到新添加的trigger。最后还要做最重要的步骤,在接口源属性中将“仅已进行日记记录的数据”打钩。

(3)程序包开发

在项目中新建程序包,双击程序包,在打开的程序包下方,选择图表。在工具箱中,将OdiSleep和OdiWaitForLogData组件分别加入右侧,再将之前建好的接口也拖到右侧,加入连接线,如图4所示。点击OdiWaitForLogData,填入上下文、逻辑方案、订户、表名称等信息。点击OdiSleep可以设置等待延迟时间,执行程序包即可。

图4 ODI开发界面

Fig.4 Interface of ODI development

5 结论(Conclusion)

目前,本平台除了完成新生数据的共享,还实现了OA涉及的所有业务数据的集成,比如将Oracle Peoplesoft HR系统的教职工基本信息和组织结构信息推送到中心数据库中,OA系统需要的数据可直接在中心数据库中进行数据抽取和同步,形成了信息标准化、数据集成和共享,以及共享数据的实时更新或同步处理。接下来将对OA系统中的待办事项、新闻,通过ODI工具同步,以在Oracle Webcenter Portal校园个人门户系统中集中呈现。

参考文献(References)

[1] 李欣.高校信息门户内外网信息流转系统的设计与实现[D].成都:电子科技大学,2012.

[2] 范莹晖.高校公共数据平台标准管理工具的设计与实现[D].西安电子科技大学,2011.

[3] 邓英.数字化校园建设中公共数据整合方案研究[J].电脑知识与技术,2008,4:589-591.

[4] 练亚雄.不同信息管理系统间数据集成的研究与实现[J].上海应用技术学院学报(自然科学版),2012,12(3):234-239.

[5] 练亚雄,袁志刚,万晓卿.用ODI实现信息管理系统间数据同步和共享[J].电脑编辑技巧与维护,2012,08:41-43.

[6] 任友群,程静.用公共数据平台成就高校信息化建设[J].教育信息化,2007,4:38-41.

作者简介:

孙 玮(1983-),女,硕士,工程师.研究领域:网络信息系统.

endprint

4.1 数据模型

我校在每年八月底完成招生工作之后,招生办以excel表格的形式将招生数据导入到新生分班分寝室系统数据库,招生信息包括学生高考相关信息和我校的录取结果。新生分班分寝室系统会以招生数据为基础,生成新生的学号、班级、寝室、辅导员等信息,并在新生开课前,提供对这些基本信息的变更操作功能。这些新生数据将作为学生在校基本信息的权威数据,供其他应用使用。

图3 集成共享新生数据模型

Fig.3 Model of integration and sharing of freshman data

4.2 ODI开发

(1)基础配置

第一步:在ODI的“拓扑”页中,分别为源数据和目标数据建立数据服务器,并设定相应的物理架构和逻辑架构。本例中,新生分班分寝室系统为源数据服务器XSFBFQS_XSJBXX,物理架构为XSFBFQS_XSJBXX_ODI_SRCC,逻辑架构为XSFBFQS_XSJBXX_LOGIC_SRCC,与物理架构相对应;中心数据库为目标数据服务器DATACENTER_XSJBXX,物理架构为DATACENTER_XSJBXX_ODI_TAGG,逻辑架构为DATACENTER_XSJBXX_LOGIC_TAGG。

第二步:在ODI的“设计”页中,创建模型。分别选择源数据和目标数据中需要同步的表或视图并进行逆向工程。分别根据源数据和目标数据的技术以及逻辑架构创建各自的模型,并在“逆向工程”标签下选择上下文,并设置要进行逆向工程的对象的类型。然后在“选择性逆向工程”的标签下,分别选择新生分班分寝室系统中的新生在校基本信息表(TSXY_YX_XS_JBXX_V)和中心数据库中的学生基本信息表(DC_XS_JBXX_TB),并执行逆向操作,这样这两个表的结构就被导入到ODI中。

第三步:创建一个项目,导入知识模块。为避免遗漏知识模块而影响后续操作,可导入所有知识模块,用于完成从源数据库数据加载到临时表,以及从临时表的数据加载到目标表。

第四步:创建接口,设计源数据到目标数据的映射,并选择相应的知识模块。本例中,先建立接口XSJBXX_TGT_POP,然后创建源数据表到目标表的映射。接下来进入流标签,选择知识模块。然后执行接口,查看执行情况。如出现错误,则对接口进行调整。

(2)CDC开发

使用CDC(Change Data Capture,变化数据捕捉)技术,目的在于优化,因为CDC会捕获源数据的变动情况记录到日

记表,在传递数据时,只需要依据日志表中记录而无需考虑未变动的数据,大大提供ELT的效率。具体步骤如下:

在模型的源表中右键选择“添加到CDC”,再右键源表选择“启动日记”,继续右键源表,选择“已更改数据捕获”→“订户”→“订阅…”添加订阅,操作成功后,源表的左上角会有一个绿色标记,同时,去源数据库可以看到新添加的trigger。最后还要做最重要的步骤,在接口源属性中将“仅已进行日记记录的数据”打钩。

(3)程序包开发

在项目中新建程序包,双击程序包,在打开的程序包下方,选择图表。在工具箱中,将OdiSleep和OdiWaitForLogData组件分别加入右侧,再将之前建好的接口也拖到右侧,加入连接线,如图4所示。点击OdiWaitForLogData,填入上下文、逻辑方案、订户、表名称等信息。点击OdiSleep可以设置等待延迟时间,执行程序包即可。

图4 ODI开发界面

Fig.4 Interface of ODI development

5 结论(Conclusion)

目前,本平台除了完成新生数据的共享,还实现了OA涉及的所有业务数据的集成,比如将Oracle Peoplesoft HR系统的教职工基本信息和组织结构信息推送到中心数据库中,OA系统需要的数据可直接在中心数据库中进行数据抽取和同步,形成了信息标准化、数据集成和共享,以及共享数据的实时更新或同步处理。接下来将对OA系统中的待办事项、新闻,通过ODI工具同步,以在Oracle Webcenter Portal校园个人门户系统中集中呈现。

参考文献(References)

[1] 李欣.高校信息门户内外网信息流转系统的设计与实现[D].成都:电子科技大学,2012.

[2] 范莹晖.高校公共数据平台标准管理工具的设计与实现[D].西安电子科技大学,2011.

[3] 邓英.数字化校园建设中公共数据整合方案研究[J].电脑知识与技术,2008,4:589-591.

[4] 练亚雄.不同信息管理系统间数据集成的研究与实现[J].上海应用技术学院学报(自然科学版),2012,12(3):234-239.

[5] 练亚雄,袁志刚,万晓卿.用ODI实现信息管理系统间数据同步和共享[J].电脑编辑技巧与维护,2012,08:41-43.

[6] 任友群,程静.用公共数据平台成就高校信息化建设[J].教育信息化,2007,4:38-41.

作者简介:

孙 玮(1983-),女,硕士,工程师.研究领域:网络信息系统.

endprint

猜你喜欢

数据集成数据共享数字化校园
科学大数据的发展态势及建议
浅析高校一卡通系统财务管理
数字化迎新系统宿舍分配模块的设计与实现
基于大数据的数字化校园中学生学籍管理系统
数字化校园的整体构架及技术分析
贵州大数据产业发展战略理解和实施建议
基于防火墙和WAF安全设备的高校信息安全设计与应用
成本与制造数据集成分析
基于Biztalk的异构医疗信息系统数据集成研究
信息系统集成与数据集成策略研究