孫瑋
摘要:針對高校數(shù)字化校園信息不權(quán)威、信息系統(tǒng)孤立缺乏聯(lián)系等問題,本文提出了公共數(shù)據(jù)平臺的總體架構(gòu)。平臺基于通用的數(shù)據(jù)標準體系架構(gòu),采用ODI中間件技術(shù),來完成數(shù)據(jù)的統(tǒng)一和集成共享。最后以新生數(shù)據(jù)為例,介紹了平臺的具體實現(xiàn)。
關(guān)鍵詞:數(shù)字化校園;數(shù)據(jù)集成;數(shù)據(jù)共享;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)
目前,以高性能校園網(wǎng)為基礎(chǔ),各高校根據(jù)自身發(fā)展的需要,采用先進的信息技術(shù)來構(gòu)建數(shù)字化校園[1],信息化建設(shè)的應(yīng)用領(lǐng)域不斷延伸,已覆蓋了全校辦公、教學(xué)、科研、財務(wù)、圖書等各項事務(wù)。然而,現(xiàn)有的數(shù)字化校園體系已經(jīng)不能完全滿足高校信息化發(fā)展的需要,系統(tǒng)孤立存在,數(shù)據(jù)冗余分散,共享困難,無法應(yīng)對教學(xué)和管理業(yè)務(wù)的快速變化,而如何進行有效整合,是擺在目前絕大多數(shù)高校面前的難題。目前業(yè)界提出若干的解決方案,主要集中在應(yīng)用整合和數(shù)據(jù)整合兩個方面,但高校的信息化建設(shè)具有其獨特性,它不能像企業(yè)一樣大刀闊斧的進行流程優(yōu)化和應(yīng)用改造,因此首先從數(shù)據(jù)層面進行整合是最經(jīng)濟和有效的方式[2]。
公共數(shù)據(jù)平臺是以學(xué)校信息化建設(shè)技術(shù)規(guī)范為基礎(chǔ),統(tǒng)一數(shù)據(jù)交換標準,建立安全高效、充分公共的數(shù)據(jù)中心;規(guī)范信息從采集、處理、交換到綜合利用的全過程,逐漸形成有效的信息化管理的運行機制,為學(xué)校領(lǐng)導(dǎo)和有關(guān)部門信息利用、分析決策提供支持,為學(xué)校的教學(xué)管理和人才培養(yǎng)提供高效的信息服務(wù)[3]。
2 關(guān)鍵技術(shù)(Key technology)
2.1 數(shù)據(jù)集成
在數(shù)據(jù)集成領(lǐng)域里常用的數(shù)據(jù)集成模型有:聯(lián)邦數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)倉庫和基于中間件模型等[4]。
聯(lián)邦數(shù)據(jù)庫系統(tǒng)(FDBS)是指由半自治數(shù)據(jù)庫系統(tǒng)構(gòu)成的、同時聯(lián)盟各數(shù)據(jù)源之間相互提供訪問接口并分享數(shù)據(jù),即彼此既協(xié)作又相互獨立的單元數(shù)據(jù)庫的集合。
數(shù)據(jù)倉庫是在企業(yè)管理和決策中面向主題的、集成的、與時間相關(guān)的和不可修改的數(shù)據(jù)集合。
中間件模型則是通過統(tǒng)一的全局數(shù)據(jù)模型來訪問異構(gòu)的數(shù)據(jù)庫、Web資源等。所謂中間件是指其位于數(shù)據(jù)層和應(yīng)用層之間,主要作用是協(xié)調(diào)各數(shù)據(jù)源系統(tǒng),并為訪問集成數(shù)據(jù)提供統(tǒng)一數(shù)據(jù)模式和通用接口。
使用中間件模型,能很好地解決數(shù)據(jù)源中數(shù)據(jù)的更新問題。當數(shù)據(jù)源發(fā)生變化時,只需要修改中介模式的虛擬邏輯視圖就可以了,減少了數(shù)據(jù)賦值的開銷,提高效率,增強集成系統(tǒng)的可擴展性。
2.2 ODI技術(shù)
ODI(Oracle Data Integrator)是Oracle公司推出的一個功能強大的數(shù)據(jù)集成平臺。從技術(shù)角度來看,ODI本身是一種開放的架構(gòu),支持幾乎所有目前流行的關(guān)系數(shù)據(jù)庫,同時由于其本身是Java開發(fā)的產(chǎn)品,可以跨Windows、Unix平臺,同時還能與中間件融合,且可以融合到整個IT架構(gòu)中。
ODI的最大特點是提出了知識模塊(Knowledge Module)的概念,它把一些場景(如在不同數(shù)據(jù)庫之間抓、送數(shù)據(jù)等操作)的詳細操作步驟記錄為一個個知識模塊供用戶調(diào)用。由ODI提供的100多個知識模塊中,基本包含了普通應(yīng)用所涉及的所有場景。此外,也可以直接在知識模塊上面做各種定制,甚至還可以自己來開發(fā)這些知識模塊。
ODI的數(shù)據(jù)源場景可以是關(guān)系型數(shù)據(jù)庫的集成,它包括Oracle、SQL Server、MySQL、DB2、Sybase等,既可以同構(gòu)也可以是異構(gòu)數(shù)據(jù)庫之間的集成。另外,ODI工具也可以通過ODBC來捕獲數(shù)據(jù)源,因此它也可以集成一些非關(guān)系型數(shù)據(jù),包括TXT、Excel文件、Access數(shù)據(jù)庫、XML數(shù)據(jù)文件以及圖片文件的集成等等。因此,ODI幾乎能滿足所有數(shù)據(jù)集成要求,設(shè)計領(lǐng)域包括高容量、高性能的批處理、事件驅(qū)動的少量傳送集成過程,在數(shù)據(jù)加載過程中也提供了數(shù)據(jù)質(zhì)量檢查、監(jiān)控等功能,使傳送的數(shù)據(jù)更加符合業(yè)務(wù)系統(tǒng)的實際要求[5]。
3 平臺設(shè)計(Platform design)
3.1 需求描述
公共數(shù)據(jù)平臺是在學(xué)校層面上搭建一個高層應(yīng)用平臺,實現(xiàn)數(shù)字化校園內(nèi)各種信息系統(tǒng)的互通互聯(lián)和數(shù)據(jù)共享[6]。
針對當前我校的實際情況,搭建公共數(shù)據(jù)平臺主要完成以下工作:
(1)制定通用的參考信息標準,包括命名規(guī)范、編碼規(guī)范、標準數(shù)據(jù)集合代碼集。
(2)確定權(quán)威數(shù)據(jù)源,對多種異構(gòu)數(shù)據(jù)源進行集成工作,建立校級的共享數(shù)據(jù)中心。
3.2 總體架構(gòu)
本平臺的架構(gòu)如圖1所示。平臺采用中間件ODI完成對業(yè)務(wù)數(shù)據(jù)的全面清洗,是各類信息采集、加工和整合的平臺。它從業(yè)務(wù)部門的應(yīng)用系統(tǒng)中采集和加工數(shù)據(jù),并依照標準轉(zhuǎn)到全局數(shù)據(jù)庫中,從而為其他系統(tǒng)的數(shù)據(jù)共享和全局應(yīng)用提供權(quán)威數(shù)據(jù)。
圖1 總體架構(gòu)
Fig.1 Overall architecture
3.3 數(shù)據(jù)標準體系結(jié)構(gòu)
本校的數(shù)據(jù)標準基于通用的數(shù)據(jù)標準體系結(jié)構(gòu),如圖2所示。通過對本校主要業(yè)務(wù)模型分析,定義了各類數(shù)據(jù)集合代碼集,并對命名規(guī)范和信息編碼規(guī)范進行了定義。本文不做詳細介紹。
圖2 數(shù)據(jù)標準體系結(jié)構(gòu)
Fig.2 Data standard architecture
4 平臺實現(xiàn)(Platform implementation)
通常,同構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)同步,利用數(shù)據(jù)庫本身的觸發(fā)器就可以完成,而對于異構(gòu)數(shù)據(jù)庫之間,數(shù)據(jù)同步操作就沒有那么簡單,需要使用專門的ETL工具比如ODI來實現(xiàn)這些需求??紤]到技術(shù)的統(tǒng)一和管理的方便,本平臺全部采用ODI工具來完成各類數(shù)據(jù)庫之間的數(shù)據(jù)同步。
本文以新生數(shù)據(jù)的同步與共享為例,介紹本平臺數(shù)據(jù)同步的具體實現(xiàn)方法和主要步驟。
endprint
4.1 數(shù)據(jù)模型
我校在每年八月底完成招生工作之后,招生辦以excel表格的形式將招生數(shù)據(jù)導(dǎo)入到新生分班分寢室系統(tǒng)數(shù)據(jù)庫,招生信息包括學(xué)生高考相關(guān)信息和我校的錄取結(jié)果。新生分班分寢室系統(tǒng)會以招生數(shù)據(jù)為基礎(chǔ),生成新生的學(xué)號、班級、寢室、輔導(dǎo)員等信息,并在新生開課前,提供對這些基本信息的變更操作功能。這些新生數(shù)據(jù)將作為學(xué)生在?;拘畔⒌臋?quán)威數(shù)據(jù),供其他應(yīng)用使用。
圖3 集成共享新生數(shù)據(jù)模型
Fig.3 Model of integration and sharing of freshman data
4.2 ODI開發(fā)
(1)基礎(chǔ)配置
第一步:在ODI的“拓撲”頁中,分別為源數(shù)據(jù)和目標數(shù)據(jù)建立數(shù)據(jù)服務(wù)器,并設(shè)定相應(yīng)的物理架構(gòu)和邏輯架構(gòu)。本例中,新生分班分寢室系統(tǒng)為源數(shù)據(jù)服務(wù)器XSFBFQS_XSJBXX,物理架構(gòu)為XSFBFQS_XSJBXX_ODI_SRCC,邏輯架構(gòu)為XSFBFQS_XSJBXX_LOGIC_SRCC,與物理架構(gòu)相對應(yīng);中心數(shù)據(jù)庫為目標數(shù)據(jù)服務(wù)器DATACENTER_XSJBXX,物理架構(gòu)為DATACENTER_XSJBXX_ODI_TAGG,邏輯架構(gòu)為DATACENTER_XSJBXX_LOGIC_TAGG。
第二步:在ODI的“設(shè)計”頁中,創(chuàng)建模型。分別選擇源數(shù)據(jù)和目標數(shù)據(jù)中需要同步的表或視圖并進行逆向工程。分別根據(jù)源數(shù)據(jù)和目標數(shù)據(jù)的技術(shù)以及邏輯架構(gòu)創(chuàng)建各自的模型,并在“逆向工程”標簽下選擇上下文,并設(shè)置要進行逆向工程的對象的類型。然后在“選擇性逆向工程”的標簽下,分別選擇新生分班分寢室系統(tǒng)中的新生在?;拘畔⒈?TSXY_YX_XS_JBXX_V)和中心數(shù)據(jù)庫中的學(xué)生基本信息表(DC_XS_JBXX_TB),并執(zhí)行逆向操作,這樣這兩個表的結(jié)構(gòu)就被導(dǎo)入到ODI中。
第三步:創(chuàng)建一個項目,導(dǎo)入知識模塊。為避免遺漏知識模塊而影響后續(xù)操作,可導(dǎo)入所有知識模塊,用于完成從源數(shù)據(jù)庫數(shù)據(jù)加載到臨時表,以及從臨時表的數(shù)據(jù)加載到目標表。
第四步:創(chuàng)建接口,設(shè)計源數(shù)據(jù)到目標數(shù)據(jù)的映射,并選擇相應(yīng)的知識模塊。本例中,先建立接口XSJBXX_TGT_POP,然后創(chuàng)建源數(shù)據(jù)表到目標表的映射。接下來進入流標簽,選擇知識模塊。然后執(zhí)行接口,查看執(zhí)行情況。如出現(xiàn)錯誤,則對接口進行調(diào)整。
(2)CDC開發(fā)
使用CDC(Change Data Capture,變化數(shù)據(jù)捕捉)技術(shù),目的在于優(yōu)化,因為CDC會捕獲源數(shù)據(jù)的變動情況記錄到日
記表,在傳遞數(shù)據(jù)時,只需要依據(jù)日志表中記錄而無需考慮未變動的數(shù)據(jù),大大提供ELT的效率。具體步驟如下:
在模型的源表中右鍵選擇“添加到CDC”,再右鍵源表選擇“啟動日記”,繼續(xù)右鍵源表,選擇“已更改數(shù)據(jù)捕獲”→“訂戶”→“訂閱…”添加訂閱,操作成功后,源表的左上角會有一個綠色標記,同時,去源數(shù)據(jù)庫可以看到新添加的trigger。最后還要做最重要的步驟,在接口源屬性中將“僅已進行日記記錄的數(shù)據(jù)”打鉤。
(3)程序包開發(fā)
在項目中新建程序包,雙擊程序包,在打開的程序包下方,選擇圖表。在工具箱中,將OdiSleep和OdiWaitForLogData組件分別加入右側(cè),再將之前建好的接口也拖到右側(cè),加入連接線,如圖4所示。點擊OdiWaitForLogData,填入上下文、邏輯方案、訂戶、表名稱等信息。點擊OdiSleep可以設(shè)置等待延遲時間,執(zhí)行程序包即可。
圖4 ODI開發(fā)界面
Fig.4 Interface of ODI development
5 結(jié)論(Conclusion)
目前,本平臺除了完成新生數(shù)據(jù)的共享,還實現(xiàn)了OA涉及的所有業(yè)務(wù)數(shù)據(jù)的集成,比如將Oracle Peoplesoft HR系統(tǒng)的教職工基本信息和組織結(jié)構(gòu)信息推送到中心數(shù)據(jù)庫中,OA系統(tǒng)需要的數(shù)據(jù)可直接在中心數(shù)據(jù)庫中進行數(shù)據(jù)抽取和同步,形成了信息標準化、數(shù)據(jù)集成和共享,以及共享數(shù)據(jù)的實時更新或同步處理。接下來將對OA系統(tǒng)中的待辦事項、新聞,通過ODI工具同步,以在Oracle Webcenter Portal校園個人門戶系統(tǒng)中集中呈現(xiàn)。
參考文獻(References)
[1] 李欣.高校信息門戶內(nèi)外網(wǎng)信息流轉(zhuǎn)系統(tǒng)的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2012.
[2] 范瑩暉.高校公共數(shù)據(jù)平臺標準管理工具的設(shè)計與實現(xiàn)[D].西安電子科技大學(xué),2011.
[3] 鄧英.數(shù)字化校園建設(shè)中公共數(shù)據(jù)整合方案研究[J].電腦知識與技術(shù),2008,4:589-591.
[4] 練亞雄.不同信息管理系統(tǒng)間數(shù)據(jù)集成的研究與實現(xiàn)[J].上海應(yīng)用技術(shù)學(xué)院學(xué)報(自然科學(xué)版),2012,12(3):234-239.
[5] 練亞雄,袁志剛,萬曉卿.用ODI實現(xiàn)信息管理系統(tǒng)間數(shù)據(jù)同步和共享[J].電腦編輯技巧與維護,2012,08:41-43.
[6] 任友群,程靜.用公共數(shù)據(jù)平臺成就高校信息化建設(shè)[J].教育信息化,2007,4:38-41.
作者簡介:
孫 瑋(1983-),女,碩士,工程師.研究領(lǐng)域:網(wǎng)絡(luò)信息系統(tǒng).
endprint
4.1 數(shù)據(jù)模型
我校在每年八月底完成招生工作之后,招生辦以excel表格的形式將招生數(shù)據(jù)導(dǎo)入到新生分班分寢室系統(tǒng)數(shù)據(jù)庫,招生信息包括學(xué)生高考相關(guān)信息和我校的錄取結(jié)果。新生分班分寢室系統(tǒng)會以招生數(shù)據(jù)為基礎(chǔ),生成新生的學(xué)號、班級、寢室、輔導(dǎo)員等信息,并在新生開課前,提供對這些基本信息的變更操作功能。這些新生數(shù)據(jù)將作為學(xué)生在?;拘畔⒌臋?quán)威數(shù)據(jù),供其他應(yīng)用使用。
圖3 集成共享新生數(shù)據(jù)模型
Fig.3 Model of integration and sharing of freshman data
4.2 ODI開發(fā)
(1)基礎(chǔ)配置
第一步:在ODI的“拓撲”頁中,分別為源數(shù)據(jù)和目標數(shù)據(jù)建立數(shù)據(jù)服務(wù)器,并設(shè)定相應(yīng)的物理架構(gòu)和邏輯架構(gòu)。本例中,新生分班分寢室系統(tǒng)為源數(shù)據(jù)服務(wù)器XSFBFQS_XSJBXX,物理架構(gòu)為XSFBFQS_XSJBXX_ODI_SRCC,邏輯架構(gòu)為XSFBFQS_XSJBXX_LOGIC_SRCC,與物理架構(gòu)相對應(yīng);中心數(shù)據(jù)庫為目標數(shù)據(jù)服務(wù)器DATACENTER_XSJBXX,物理架構(gòu)為DATACENTER_XSJBXX_ODI_TAGG,邏輯架構(gòu)為DATACENTER_XSJBXX_LOGIC_TAGG。
第二步:在ODI的“設(shè)計”頁中,創(chuàng)建模型。分別選擇源數(shù)據(jù)和目標數(shù)據(jù)中需要同步的表或視圖并進行逆向工程。分別根據(jù)源數(shù)據(jù)和目標數(shù)據(jù)的技術(shù)以及邏輯架構(gòu)創(chuàng)建各自的模型,并在“逆向工程”標簽下選擇上下文,并設(shè)置要進行逆向工程的對象的類型。然后在“選擇性逆向工程”的標簽下,分別選擇新生分班分寢室系統(tǒng)中的新生在?;拘畔⒈?TSXY_YX_XS_JBXX_V)和中心數(shù)據(jù)庫中的學(xué)生基本信息表(DC_XS_JBXX_TB),并執(zhí)行逆向操作,這樣這兩個表的結(jié)構(gòu)就被導(dǎo)入到ODI中。
第三步:創(chuàng)建一個項目,導(dǎo)入知識模塊。為避免遺漏知識模塊而影響后續(xù)操作,可導(dǎo)入所有知識模塊,用于完成從源數(shù)據(jù)庫數(shù)據(jù)加載到臨時表,以及從臨時表的數(shù)據(jù)加載到目標表。
第四步:創(chuàng)建接口,設(shè)計源數(shù)據(jù)到目標數(shù)據(jù)的映射,并選擇相應(yīng)的知識模塊。本例中,先建立接口XSJBXX_TGT_POP,然后創(chuàng)建源數(shù)據(jù)表到目標表的映射。接下來進入流標簽,選擇知識模塊。然后執(zhí)行接口,查看執(zhí)行情況。如出現(xiàn)錯誤,則對接口進行調(diào)整。
(2)CDC開發(fā)
使用CDC(Change Data Capture,變化數(shù)據(jù)捕捉)技術(shù),目的在于優(yōu)化,因為CDC會捕獲源數(shù)據(jù)的變動情況記錄到日
記表,在傳遞數(shù)據(jù)時,只需要依據(jù)日志表中記錄而無需考慮未變動的數(shù)據(jù),大大提供ELT的效率。具體步驟如下:
在模型的源表中右鍵選擇“添加到CDC”,再右鍵源表選擇“啟動日記”,繼續(xù)右鍵源表,選擇“已更改數(shù)據(jù)捕獲”→“訂戶”→“訂閱…”添加訂閱,操作成功后,源表的左上角會有一個綠色標記,同時,去源數(shù)據(jù)庫可以看到新添加的trigger。最后還要做最重要的步驟,在接口源屬性中將“僅已進行日記記錄的數(shù)據(jù)”打鉤。
(3)程序包開發(fā)
在項目中新建程序包,雙擊程序包,在打開的程序包下方,選擇圖表。在工具箱中,將OdiSleep和OdiWaitForLogData組件分別加入右側(cè),再將之前建好的接口也拖到右側(cè),加入連接線,如圖4所示。點擊OdiWaitForLogData,填入上下文、邏輯方案、訂戶、表名稱等信息。點擊OdiSleep可以設(shè)置等待延遲時間,執(zhí)行程序包即可。
圖4 ODI開發(fā)界面
Fig.4 Interface of ODI development
5 結(jié)論(Conclusion)
目前,本平臺除了完成新生數(shù)據(jù)的共享,還實現(xiàn)了OA涉及的所有業(yè)務(wù)數(shù)據(jù)的集成,比如將Oracle Peoplesoft HR系統(tǒng)的教職工基本信息和組織結(jié)構(gòu)信息推送到中心數(shù)據(jù)庫中,OA系統(tǒng)需要的數(shù)據(jù)可直接在中心數(shù)據(jù)庫中進行數(shù)據(jù)抽取和同步,形成了信息標準化、數(shù)據(jù)集成和共享,以及共享數(shù)據(jù)的實時更新或同步處理。接下來將對OA系統(tǒng)中的待辦事項、新聞,通過ODI工具同步,以在Oracle Webcenter Portal校園個人門戶系統(tǒng)中集中呈現(xiàn)。
參考文獻(References)
[1] 李欣.高校信息門戶內(nèi)外網(wǎng)信息流轉(zhuǎn)系統(tǒng)的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2012.
[2] 范瑩暉.高校公共數(shù)據(jù)平臺標準管理工具的設(shè)計與實現(xiàn)[D].西安電子科技大學(xué),2011.
[3] 鄧英.數(shù)字化校園建設(shè)中公共數(shù)據(jù)整合方案研究[J].電腦知識與技術(shù),2008,4:589-591.
[4] 練亞雄.不同信息管理系統(tǒng)間數(shù)據(jù)集成的研究與實現(xiàn)[J].上海應(yīng)用技術(shù)學(xué)院學(xué)報(自然科學(xué)版),2012,12(3):234-239.
[5] 練亞雄,袁志剛,萬曉卿.用ODI實現(xiàn)信息管理系統(tǒng)間數(shù)據(jù)同步和共享[J].電腦編輯技巧與維護,2012,08:41-43.
[6] 任友群,程靜.用公共數(shù)據(jù)平臺成就高校信息化建設(shè)[J].教育信息化,2007,4:38-41.
作者簡介:
孫 瑋(1983-),女,碩士,工程師.研究領(lǐng)域:網(wǎng)絡(luò)信息系統(tǒng).
endprint
4.1 數(shù)據(jù)模型
我校在每年八月底完成招生工作之后,招生辦以excel表格的形式將招生數(shù)據(jù)導(dǎo)入到新生分班分寢室系統(tǒng)數(shù)據(jù)庫,招生信息包括學(xué)生高考相關(guān)信息和我校的錄取結(jié)果。新生分班分寢室系統(tǒng)會以招生數(shù)據(jù)為基礎(chǔ),生成新生的學(xué)號、班級、寢室、輔導(dǎo)員等信息,并在新生開課前,提供對這些基本信息的變更操作功能。這些新生數(shù)據(jù)將作為學(xué)生在校基本信息的權(quán)威數(shù)據(jù),供其他應(yīng)用使用。
圖3 集成共享新生數(shù)據(jù)模型
Fig.3 Model of integration and sharing of freshman data
4.2 ODI開發(fā)
(1)基礎(chǔ)配置
第一步:在ODI的“拓撲”頁中,分別為源數(shù)據(jù)和目標數(shù)據(jù)建立數(shù)據(jù)服務(wù)器,并設(shè)定相應(yīng)的物理架構(gòu)和邏輯架構(gòu)。本例中,新生分班分寢室系統(tǒng)為源數(shù)據(jù)服務(wù)器XSFBFQS_XSJBXX,物理架構(gòu)為XSFBFQS_XSJBXX_ODI_SRCC,邏輯架構(gòu)為XSFBFQS_XSJBXX_LOGIC_SRCC,與物理架構(gòu)相對應(yīng);中心數(shù)據(jù)庫為目標數(shù)據(jù)服務(wù)器DATACENTER_XSJBXX,物理架構(gòu)為DATACENTER_XSJBXX_ODI_TAGG,邏輯架構(gòu)為DATACENTER_XSJBXX_LOGIC_TAGG。
第二步:在ODI的“設(shè)計”頁中,創(chuàng)建模型。分別選擇源數(shù)據(jù)和目標數(shù)據(jù)中需要同步的表或視圖并進行逆向工程。分別根據(jù)源數(shù)據(jù)和目標數(shù)據(jù)的技術(shù)以及邏輯架構(gòu)創(chuàng)建各自的模型,并在“逆向工程”標簽下選擇上下文,并設(shè)置要進行逆向工程的對象的類型。然后在“選擇性逆向工程”的標簽下,分別選擇新生分班分寢室系統(tǒng)中的新生在校基本信息表(TSXY_YX_XS_JBXX_V)和中心數(shù)據(jù)庫中的學(xué)生基本信息表(DC_XS_JBXX_TB),并執(zhí)行逆向操作,這樣這兩個表的結(jié)構(gòu)就被導(dǎo)入到ODI中。
第三步:創(chuàng)建一個項目,導(dǎo)入知識模塊。為避免遺漏知識模塊而影響后續(xù)操作,可導(dǎo)入所有知識模塊,用于完成從源數(shù)據(jù)庫數(shù)據(jù)加載到臨時表,以及從臨時表的數(shù)據(jù)加載到目標表。
第四步:創(chuàng)建接口,設(shè)計源數(shù)據(jù)到目標數(shù)據(jù)的映射,并選擇相應(yīng)的知識模塊。本例中,先建立接口XSJBXX_TGT_POP,然后創(chuàng)建源數(shù)據(jù)表到目標表的映射。接下來進入流標簽,選擇知識模塊。然后執(zhí)行接口,查看執(zhí)行情況。如出現(xiàn)錯誤,則對接口進行調(diào)整。
(2)CDC開發(fā)
使用CDC(Change Data Capture,變化數(shù)據(jù)捕捉)技術(shù),目的在于優(yōu)化,因為CDC會捕獲源數(shù)據(jù)的變動情況記錄到日
記表,在傳遞數(shù)據(jù)時,只需要依據(jù)日志表中記錄而無需考慮未變動的數(shù)據(jù),大大提供ELT的效率。具體步驟如下:
在模型的源表中右鍵選擇“添加到CDC”,再右鍵源表選擇“啟動日記”,繼續(xù)右鍵源表,選擇“已更改數(shù)據(jù)捕獲”→“訂戶”→“訂閱…”添加訂閱,操作成功后,源表的左上角會有一個綠色標記,同時,去源數(shù)據(jù)庫可以看到新添加的trigger。最后還要做最重要的步驟,在接口源屬性中將“僅已進行日記記錄的數(shù)據(jù)”打鉤。
(3)程序包開發(fā)
在項目中新建程序包,雙擊程序包,在打開的程序包下方,選擇圖表。在工具箱中,將OdiSleep和OdiWaitForLogData組件分別加入右側(cè),再將之前建好的接口也拖到右側(cè),加入連接線,如圖4所示。點擊OdiWaitForLogData,填入上下文、邏輯方案、訂戶、表名稱等信息。點擊OdiSleep可以設(shè)置等待延遲時間,執(zhí)行程序包即可。
圖4 ODI開發(fā)界面
Fig.4 Interface of ODI development
5 結(jié)論(Conclusion)
目前,本平臺除了完成新生數(shù)據(jù)的共享,還實現(xiàn)了OA涉及的所有業(yè)務(wù)數(shù)據(jù)的集成,比如將Oracle Peoplesoft HR系統(tǒng)的教職工基本信息和組織結(jié)構(gòu)信息推送到中心數(shù)據(jù)庫中,OA系統(tǒng)需要的數(shù)據(jù)可直接在中心數(shù)據(jù)庫中進行數(shù)據(jù)抽取和同步,形成了信息標準化、數(shù)據(jù)集成和共享,以及共享數(shù)據(jù)的實時更新或同步處理。接下來將對OA系統(tǒng)中的待辦事項、新聞,通過ODI工具同步,以在Oracle Webcenter Portal校園個人門戶系統(tǒng)中集中呈現(xiàn)。
參考文獻(References)
[1] 李欣.高校信息門戶內(nèi)外網(wǎng)信息流轉(zhuǎn)系統(tǒng)的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2012.
[2] 范瑩暉.高校公共數(shù)據(jù)平臺標準管理工具的設(shè)計與實現(xiàn)[D].西安電子科技大學(xué),2011.
[3] 鄧英.數(shù)字化校園建設(shè)中公共數(shù)據(jù)整合方案研究[J].電腦知識與技術(shù),2008,4:589-591.
[4] 練亞雄.不同信息管理系統(tǒng)間數(shù)據(jù)集成的研究與實現(xiàn)[J].上海應(yīng)用技術(shù)學(xué)院學(xué)報(自然科學(xué)版),2012,12(3):234-239.
[5] 練亞雄,袁志剛,萬曉卿.用ODI實現(xiàn)信息管理系統(tǒng)間數(shù)據(jù)同步和共享[J].電腦編輯技巧與維護,2012,08:41-43.
[6] 任友群,程靜.用公共數(shù)據(jù)平臺成就高校信息化建設(shè)[J].教育信息化,2007,4:38-41.
作者簡介:
孫 瑋(1983-),女,碩士,工程師.研究領(lǐng)域:網(wǎng)絡(luò)信息系統(tǒng).
endprint