摘 要:針對高校多業(yè)務(wù)系統(tǒng)異構(gòu)數(shù)據(jù)庫的情況,應(yīng)用數(shù)據(jù)集成的方法,設(shè)計了數(shù)據(jù)抽取和共享應(yīng)用架構(gòu),詳細分析了Oracle數(shù)據(jù)整合工具(ODI)。本文再結(jié)合高校實際情況,用ODI作為主要工具建立了數(shù)據(jù)交換和共享平臺,從而使異構(gòu)數(shù)據(jù)庫間的信息同步和共享。
關(guān)鍵詞:數(shù)據(jù)集成;異構(gòu)數(shù)據(jù)庫;數(shù)據(jù)交換與共享
中圖分類號:TP311.52
目前很多高校在信息化建設(shè)過程中存在著一些歷史遺留問題,各個部門之間的業(yè)務(wù)系統(tǒng)在不同的數(shù)據(jù)庫平臺上運行,隨著學校信息化建設(shè)步伐的加快,各個部門應(yīng)用系統(tǒng)之間的連接卻越來越緊密,信息標準化和數(shù)據(jù)的共享及交換問題則越來越迫切。本文主要通過建立某高校的數(shù)據(jù)交換與集成平臺基礎(chǔ)上,對高校內(nèi)各子系統(tǒng)之間的數(shù)據(jù)交換和共享問題進行研究。主要的著眼點在數(shù)據(jù)的清洗、轉(zhuǎn)換和抽取的實現(xiàn)方法,并提出了一種基于ODI的高校數(shù)據(jù)交換與共享平臺的解決方案。
1 基于ODI的高校數(shù)據(jù)交換與共享平臺的設(shè)計
高校數(shù)據(jù)交換與共享平臺需要把分散于各個部門的數(shù)據(jù)抽取到本地,形成邏輯上的高度集成的數(shù)據(jù)共享和交換中心,然后再提供給上層的應(yīng)用系統(tǒng),因此平臺設(shè)計的重點對平臺架構(gòu)進行準確的定位和分層,本文把數(shù)據(jù)共享與交換平臺架構(gòu)設(shè)計成三層:
(1)數(shù)據(jù)源層。該層為共享數(shù)據(jù)庫提供學校內(nèi)各類基礎(chǔ)數(shù)據(jù),由學校各部處和院系現(xiàn)有的各種業(yè)務(wù)處理應(yīng)用系統(tǒng)組成。
(2)數(shù)據(jù)處理層。該層存放抽取后的公共數(shù)據(jù)集,在學校統(tǒng)一信息標準規(guī)范下,這些公共數(shù)據(jù)集用于向上層提供信息服務(wù)。
(3)數(shù)據(jù)服務(wù)層。該層用于實現(xiàn)各種業(yè)務(wù)應(yīng)用服務(wù)。
2 基于ODI的高校數(shù)據(jù)交換與共享平臺的實現(xiàn)
本方案中我們利用ORACLE的產(chǎn)品Oracle Data Integrator(ODI)建立一個資料庫,建立數(shù)據(jù)共享與交換平臺,它定義了元數(shù)據(jù)、業(yè)務(wù)規(guī)則、約束,然后連接到可用的服務(wù)器,使用服務(wù)器端對代碼進行執(zhí)行,并將返回的結(jié)果和消息存儲到資料庫中。
2.1 ODI集成方式
(1)ODI主要有全量集成和增量集成兩種方式。全量集成是每次將數(shù)據(jù)源上的所有數(shù)據(jù)一次性同步到目標庫中;增量集成是每次只將業(yè)務(wù)系統(tǒng)上發(fā)生變化了的數(shù)據(jù)同步到目標庫中。
(2)ODI主要有實時集成和定期集成兩種周期。所謂實時集成通過輪詢數(shù)據(jù)源數(shù)據(jù)的變化,一旦發(fā)生變化即進行數(shù)據(jù)同步。定期集成又分為絕對時間集成和相對時間集成,絕對時間是指在某一固定時間點進行數(shù)據(jù)同步;相對時間指設(shè)定為每隔多長時間進行一次數(shù)據(jù)同步。
2.2 ODI集成處理策略
(1)關(guān)系型數(shù)據(jù)集成
在做數(shù)據(jù)集成時,首先需要根據(jù)數(shù)據(jù)源的特點,分類為關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫,再根據(jù)類型的不同進行數(shù)據(jù)集成。
對于關(guān)系型數(shù)據(jù)庫,按照常用數(shù)據(jù)庫種類有以下幾種:DB2、Oracle、Sql Server、Mysql等,在對這些數(shù)據(jù)庫數(shù)據(jù)進行集成時,需要考慮ODI工具的特性和集成策略。
(2)非關(guān)系型數(shù)據(jù)集成
1)ODBC數(shù)據(jù)源。ODI工具可以通過ODBC來捕獲數(shù)據(jù)源,這就保證了ODI工具集成非關(guān)系型數(shù)據(jù),例如:.xls、.xlsx、.mdb和XML文件等。
2)數(shù)據(jù)文件。ODI能夠通過JDBC方式訪問有格式的文本文件(flat files,如空格分割文件,逗號分割文件,固定長度文本文件),提供讀取文本文件上行到數(shù)據(jù)庫及從數(shù)據(jù)庫下發(fā)數(shù)據(jù)文本文件的功能。
3)其他數(shù)據(jù)文件。除了前面兩種文件之外,數(shù)據(jù)集成過程當中還會有其他一些需求和文件集成,如本地圖片文件、遠程圖片集成和Web Service數(shù)據(jù)發(fā)布等,這些文件的集成都可以通過開發(fā)的一些LKM來實現(xiàn)。
2.3 解決方案
(1)非關(guān)系型數(shù)據(jù)庫集成的解決方案
因為該學校物資系統(tǒng)采用的是單機版數(shù)據(jù)庫,無法進行數(shù)據(jù)同步,因此可以使用ODI工具來對相關(guān)數(shù)據(jù)進行集成和整合。
先將為Excel表格配置為ODBC數(shù)據(jù)源,對相應(yīng)Excel文件中的每個sheet頁進行配置,然后在ODI自身提供的檔案數(shù)據(jù)庫創(chuàng)建物資數(shù)據(jù)庫db_Wuzi;然后創(chuàng)建邏輯架構(gòu),系統(tǒng)根據(jù)我們先前所選擇的數(shù)據(jù)源類型(ODBC),將在Designer中插入一個新的Excel數(shù)據(jù)模型,最后執(zhí)行開發(fā)好的接口,將Excel中的數(shù)據(jù)同步至Oracle中。
(2)關(guān)系型數(shù)據(jù)庫集成的解決方案
我校每年需要對輔導員進行年度測評,但是進行測評的平臺是單獨開發(fā)的,數(shù)據(jù)沒有與學校的公共數(shù)據(jù)平臺進行集成,而且由于輔導員的變動較大,造成學生和輔導員的對應(yīng)非常的混亂,這就需要使用共享平臺進行數(shù)據(jù)同步。如圖1所示。
圖1 輔導員數(shù)據(jù)同步圖
目前輔導員測評系統(tǒng)需要從公共數(shù)據(jù)庫和教務(wù)系統(tǒng)獲取的共享數(shù)據(jù)主要有:輔導員基本信息、班級信息等,其中輔導員基本信息是從人事管理系統(tǒng)同步而來,其余都是由教務(wù)學籍管理系統(tǒng)提供。通過建立表關(guān)聯(lián)、將字段進行相應(yīng)替代、過濾數(shù)據(jù)庫的記錄,從而實現(xiàn)數(shù)據(jù)集成。先將數(shù)據(jù)源表與目標表通過主鍵和外鍵進行關(guān)聯(lián);再將數(shù)據(jù)源表中的字段與目標表中的字段建立一對一映射關(guān)系;最后執(zhí)行數(shù)據(jù)同步,將準確的數(shù)據(jù)集成過來。
3 結(jié)束語
高校數(shù)據(jù)交換與共享平臺的建立是校園信息化過程中的重要一環(huán),在不影響現(xiàn)有系統(tǒng)的基礎(chǔ)下,對IT新技術(shù)進行分析并加以應(yīng)用,構(gòu)建符合高?,F(xiàn)實情況的數(shù)據(jù)平臺是當務(wù)之急。數(shù)據(jù)交換與共享平臺將分散的數(shù)據(jù)定時提取、集中存放,提高了數(shù)據(jù)的共享性,加強了數(shù)據(jù)的安全性。本文分析了數(shù)據(jù)交換與共享平臺在高校信息化建設(shè)過程中的重要意義,提出了應(yīng)用ODI技術(shù)構(gòu)建數(shù)據(jù)交換與共享平臺的方案。
參考文獻:
[1]張靜.高校異構(gòu)數(shù)據(jù)集成的分析與設(shè)計[J].科技經(jīng)濟市場,2010(07):3-5.
[2]Oracle. Oracle Data Integrator User's Guide 10g Release 3(10.1.3),2009.
[3]PDI_CHINA@LIVE.CN.使用PDI和Oracle CDC來實現(xiàn)Oracle數(shù)據(jù)庫向其他數(shù)據(jù)庫的數(shù)據(jù)同步[EB/OL].http//fedora.iteye.com/blog/506915,2009-11-29.
作者簡介:陳熙(1981-),女,工程師,碩士,研究方向:項目管理、軟件工程和數(shù)據(jù)庫技術(shù)。
作者單位:首都經(jīng)濟貿(mào)易大學 教育技術(shù)中心,北京 100070