張 軍,王芬芬
(湖南鐵道職業(yè)技術(shù)學(xué)院,湖南 株洲 412001)
信息技術(shù)高速發(fā)展,大數(shù)據(jù)時(shí)代已經(jīng)來臨,高校的信息化建設(shè)也經(jīng)歷了多年的發(fā)展,在高校數(shù)字化校園的建設(shè)過程中[1],校內(nèi)各業(yè)務(wù)職能部門在不同時(shí)期都建設(shè)相關(guān)的業(yè)務(wù)系統(tǒng)來滿足本部門的業(yè)務(wù)需求。同時(shí),學(xué)校為滿足信息化教學(xué)的需求,也建設(shè)了一批教學(xué)相關(guān)的學(xué)習(xí)平臺。這些系統(tǒng)功能各異,系統(tǒng)間相互獨(dú)立,采用不同的技術(shù)方案,所產(chǎn)生數(shù)據(jù)的組織結(jié)構(gòu)和存儲方式也大有不同,數(shù)據(jù)間的壁壘已經(jīng)嚴(yán)重影響了數(shù)據(jù)的流動與共享,各系統(tǒng)數(shù)據(jù)存在大量的冗余與不一致[2]。當(dāng)前,高校對數(shù)據(jù)的整合共享越來越重視,很多學(xué)校都在建立大數(shù)據(jù)平臺,但在實(shí)際的情況中,各業(yè)務(wù)系統(tǒng)歸屬不同的部門,系統(tǒng)分散,部門間的業(yè)務(wù)聯(lián)動性較差,數(shù)據(jù)的源頭不統(tǒng)一,缺少專門對數(shù)據(jù)管理進(jìn)行監(jiān)督和控制的組織,針對數(shù)據(jù)的共享和整合缺乏全局的規(guī)劃。這些因素都大大制約了數(shù)據(jù)共享流動的范圍以及數(shù)據(jù)共享的實(shí)效性等方面。
除上述問題外,在高校數(shù)據(jù)集成平臺的建設(shè)中,還應(yīng)解決數(shù)據(jù)的全生命周期的管理,就是學(xué)校數(shù)據(jù)的產(chǎn)生、使用、維護(hù)、備份到過時(shí)被銷毀的數(shù)據(jù)生命周期管理規(guī)范和流程還不完善[3];同時(shí)缺乏統(tǒng)一的校級數(shù)據(jù)質(zhì)量管理流程體系,跨部門的數(shù)據(jù)質(zhì)量溝通機(jī)制不完善,嚴(yán)重影響了數(shù)據(jù)質(zhì)量?;谏鲜霰尘?,本文從數(shù)據(jù)標(biāo)準(zhǔn)的建立、數(shù)據(jù)清洗規(guī)則與數(shù)據(jù)ETL過程等方面構(gòu)建一套完整的數(shù)據(jù)集成方案。
數(shù)據(jù)集成主要是將不同業(yè)務(wù)系統(tǒng)中所產(chǎn)生的不同格式、不同類型、不同性質(zhì)的數(shù)據(jù)進(jìn)行統(tǒng)一和集中管理的過程,數(shù)據(jù)集成是一個(gè)逐漸完善的過程,旨在為用戶提供完整的、準(zhǔn)確的數(shù)據(jù)共享服務(wù)。目前,數(shù)據(jù)集成的相關(guān)的技術(shù)已經(jīng)比較成熟,在具體實(shí)施過程中,因?yàn)楦鱾€(gè)業(yè)務(wù)系統(tǒng)數(shù)據(jù)的組織結(jié)構(gòu)和選用的數(shù)據(jù)庫都不盡相同,數(shù)據(jù)的內(nèi)容、數(shù)據(jù)的格式以及數(shù)據(jù)的質(zhì)量也各自不同。所以,數(shù)據(jù)集成首先要解決的問題就是不同業(yè)務(wù)系統(tǒng)所產(chǎn)生的異構(gòu)數(shù)據(jù)源的整合,數(shù)據(jù)整合的主要是數(shù)據(jù)的抽取、轉(zhuǎn)換、加載的過程,就是數(shù)據(jù)ETL(Extract,Transform,Load)過程[4]。
ETL是數(shù)據(jù)集成中最主要的一個(gè)環(huán)節(jié),主要解決異構(gòu)數(shù)據(jù)源的整合問題,通過抽取、轉(zhuǎn)換和加載過程,將分散的、不一致的、冗余的業(yè)務(wù)系統(tǒng)源數(shù)據(jù)按照事先定義的數(shù)據(jù)標(biāo)準(zhǔn)進(jìn)行整合。首先,根據(jù)需求在源業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫中建立源數(shù)據(jù)視圖。然后,與源數(shù)據(jù)庫建立連接,抽取源數(shù)據(jù)庫中的源數(shù)據(jù)視圖到中間表中,在抽取的過程中依據(jù)既定的數(shù)據(jù)清洗規(guī)則對源視圖中的數(shù)據(jù)進(jìn)行清洗轉(zhuǎn)換,使抽取的源數(shù)據(jù)符號制定的數(shù)據(jù)標(biāo)準(zhǔn)。最后,將轉(zhuǎn)換后的數(shù)據(jù)存儲至共享數(shù)據(jù)中心中,存儲方式有全量和增量兩種方式,數(shù)據(jù)ETL模型如圖1所示。

圖1 數(shù)據(jù)ETL模型
建立信息標(biāo)準(zhǔn)主要是保證數(shù)據(jù)在采集、清洗、轉(zhuǎn)換與流轉(zhuǎn)的過程中有統(tǒng)一規(guī)范,保證數(shù)據(jù)的一致和準(zhǔn)確,最大范圍的實(shí)現(xiàn)數(shù)據(jù)的共享。高校信息標(biāo)準(zhǔn)的制定應(yīng)充分參考國家已有的教育信息化標(biāo)準(zhǔn)或相關(guān)的行業(yè)標(biāo)準(zhǔn),同時(shí)根據(jù)高校自身的特點(diǎn),信息標(biāo)準(zhǔn)應(yīng)具有實(shí)用性、易擴(kuò)展性和易操作性。
數(shù)據(jù)清洗就是利用相關(guān)技術(shù)依據(jù)規(guī)則將數(shù)據(jù)轉(zhuǎn)換為滿足質(zhì)量要求的規(guī)范化數(shù)據(jù),其目的就是保證數(shù)據(jù)的一致性,確保數(shù)據(jù)的參照完整性和精確性,數(shù)據(jù)清洗的主要有以下幾點(diǎn)。
(1)數(shù)據(jù)清洗的基本規(guī)則包括:非空檢查、主鍵重復(fù)、非法代碼清洗、非法值清洗、數(shù)據(jù)格式檢查、數(shù)據(jù)記錄數(shù)檢查。
(2)缺失值清洗:要依據(jù)缺失的比例和缺失字段的重要性,分別制定策略,對于重要性高且缺失率低的字段,可通過計(jì)算或業(yè)務(wù)知識估計(jì)進(jìn)行填充;對重要性高且缺失率高的字段由業(yè)務(wù)部門補(bǔ)全或通過其他字段計(jì)算獲??;對重要性低的字段可不做處理或簡單填充,如果缺失率高可直接刪除該字段。
(3)格式內(nèi)容清洗:主要有時(shí)間、日期、數(shù)值、全半角等顯示格式不一致,可直接將其處理為某種一致的格式;內(nèi)容中存在非法的字符,如字段值的頭尾或中間存在空格或異常字符,這種情況需要半自動校驗(yàn)半人工的方式來進(jìn)行清洗。
(4)邏輯錯(cuò)誤清洗:主要包括去除重復(fù)、去除不合理值和修正矛盾內(nèi)容。
平臺采用Oracle公司的ODI作為數(shù)據(jù)ETL工具,ODI具有跨平臺的優(yōu)勢,不僅能夠支出當(dāng)前所有主流的關(guān)系型數(shù)據(jù)庫系統(tǒng),還可以完成TXT文件、EXCEL文件以及XML等類型數(shù)據(jù)的集成。ODI通過可插拔的知識模塊來實(shí)現(xiàn)數(shù)據(jù)的抽取,知識模塊可定制,這就大大提高了數(shù)據(jù)集成的擴(kuò)展性和靈活性。
數(shù)據(jù)的流轉(zhuǎn)過程采用虛擬視圖和中間庫的方式來降低數(shù)據(jù)間的耦合性,將業(yè)務(wù)源數(shù)據(jù)抽取至虛擬視圖中,經(jīng)過清洗轉(zhuǎn)換后存入共享數(shù)據(jù)中心;將業(yè)務(wù)所需的標(biāo)準(zhǔn)數(shù)據(jù)存入中間庫,由業(yè)務(wù)系統(tǒng)按需加載至目標(biāo)庫中。基本工作流程為:首先基于預(yù)定需求在業(yè)務(wù)系統(tǒng)源數(shù)據(jù)庫中建立源視圖,然后在基于信息標(biāo)準(zhǔn)建立源虛擬視圖,該視圖中的字段及含義與共享數(shù)據(jù)中心的目標(biāo)表保持一致,用于完成與源視圖中數(shù)據(jù)的等價(jià)轉(zhuǎn)換,再由虛擬視圖存儲至共享數(shù)據(jù)中心中;另外,在將標(biāo)準(zhǔn)數(shù)據(jù)推送至業(yè)務(wù)系統(tǒng)時(shí),也由中間庫進(jìn)行流轉(zhuǎn),共享數(shù)據(jù)中心和業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫之間不直接發(fā)生數(shù)據(jù)流動,基本工作模式如圖2所示。

圖2 數(shù)據(jù)流轉(zhuǎn)過程
本文主要討論了利用ETL工具實(shí)現(xiàn)對高校各個(gè)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)進(jìn)行統(tǒng)一的抽取、清洗、轉(zhuǎn)換、加載和存儲,選擇ODT為實(shí)施數(shù)據(jù)集成的ETL工具,提高了數(shù)據(jù)集成平臺的靈活性和擴(kuò)展性;分析了高校數(shù)據(jù)信息標(biāo)準(zhǔn)的制定,數(shù)據(jù)集成過程中數(shù)據(jù)的清洗規(guī)則,業(yè)務(wù)數(shù)據(jù)缺失值的處理策略以及數(shù)據(jù)格式和數(shù)據(jù)邏輯錯(cuò)誤的清洗方法。重點(diǎn)分析了數(shù)據(jù)的流轉(zhuǎn)過程,采用虛擬視圖和中間庫的方式降低了數(shù)據(jù)間的耦合性,保持了各業(yè)務(wù)系統(tǒng)數(shù)據(jù)間的獨(dú)立,降低了實(shí)施成本,提高平臺的拓展與靈活性,對其他高校數(shù)據(jù)集成平臺的建設(shè)具有一定的借鑒意義。