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