亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ETL技術(shù)的數(shù)字化校園共享數(shù)據(jù)中心設計

        2015-03-02 11:58:17趙健
        軟件導刊 2015年1期
        關(guān)鍵詞:同步

        摘要:數(shù)據(jù)的抽取、轉(zhuǎn)換與加載(ETL)是數(shù)據(jù)整合的核心過程。在分析高校信息化建設現(xiàn)狀基礎(chǔ)上,以建立數(shù)字化校園、整合數(shù)據(jù)資源、實現(xiàn)數(shù)據(jù)共享為目標,提出以ETL為基礎(chǔ)建立共享數(shù)據(jù)中心實現(xiàn)數(shù)據(jù)整合的方案。介紹了共享數(shù)據(jù)中心的結(jié)構(gòu),并研究了從業(yè)務系統(tǒng)到共享數(shù)據(jù)中心的ETL過程設計方法。

        關(guān)鍵詞:ETL;共享數(shù)據(jù)中心;DTS;同步

        DOIDOI:10.11907/rjdk.143623

        中圖分類號:TP3-05

        文獻標識碼:A 文章編號文章編號:16727800(2015)001001603

        基金項目基金項目:

        作者簡介作者簡介:趙?。?982-),女,浙江湖州人,碩士,嘉興職業(yè)技術(shù)學院教務處講師,研究方向為計算機科學與技術(shù)、教學管理。

        0 引言

        隨著辦學規(guī)模的擴大,高校對信息化建設的要求越來越高,各種管理系統(tǒng)先后建成并投入使用。在工作效率提高的同時,問題也逐漸顯現(xiàn):由于受系統(tǒng)使用或開發(fā)時間、經(jīng)費、目的等限制,各部門之間的業(yè)務系統(tǒng)處于相互獨立的狀態(tài),彼此之間不能實現(xiàn)數(shù)據(jù)交換,從而導致部門間形成“信息孤島”,造成數(shù)據(jù)無法有效共享、應用缺乏有效集成以及冗余數(shù)據(jù)無法處理的現(xiàn)象。因此,構(gòu)建數(shù)字化校園,將全校范圍內(nèi)的各個業(yè)務系統(tǒng)進行高效整合,以實現(xiàn)管理的一體化和資源共享,已成為高校信息化的建設重點。

        1 ETL概述

        ETL(ExtractionTransformationLoading),即數(shù)據(jù)的抽取、轉(zhuǎn)換與加載,是將分散、零亂、標準不統(tǒng)一、碼制不一致的數(shù)據(jù)整合到目標數(shù)據(jù)庫中的技術(shù)[1]。它從各種原始的業(yè)務系統(tǒng)中提取數(shù)據(jù),按照一定規(guī)則進行數(shù)據(jù)轉(zhuǎn)換,最后將轉(zhuǎn)換的數(shù)據(jù)按計劃導入目標數(shù)據(jù)庫中[2]。

        1.1 數(shù)據(jù)抽取

        數(shù)據(jù)抽取指業(yè)務系統(tǒng)將源數(shù)據(jù)抽取至目標數(shù)據(jù)庫。對于不同數(shù)據(jù)平臺、不同源數(shù)據(jù)形式及數(shù)據(jù)量、不同性能要求和業(yè)務量的業(yè)務系統(tǒng),應采取不同的數(shù)據(jù)抽取接口。典型的數(shù)據(jù)抽取接口包括數(shù)據(jù)庫接口和文件接口。在數(shù)據(jù)抽取時,數(shù)據(jù)抽取效率應放在考慮的首要位置,同時也不能忽視抽取過程對現(xiàn)有業(yè)務系統(tǒng)性能及安全的影響。

        1.2 數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)清洗

        從業(yè)務系統(tǒng)中抽取的數(shù)據(jù)因為有些來自不同系統(tǒng),具有不同格式,導致了數(shù)據(jù)不一致的情況。因此在加載到目標數(shù)據(jù)庫之前,必須對數(shù)據(jù)進行轉(zhuǎn)換和清洗,將從不同業(yè)務系統(tǒng)中抽取出來的數(shù)據(jù)進行轉(zhuǎn)換、清洗、拆分、合并等處理,以保證數(shù)據(jù)的完整性和一致性。

        1.3 數(shù)據(jù)加載

        數(shù)據(jù)加載是將從數(shù)據(jù)源系統(tǒng)中抽取出來的數(shù)據(jù)經(jīng)過轉(zhuǎn)換與清洗后裝載到目標數(shù)據(jù)庫中。數(shù)據(jù)加載工具通常要求具有高效的性能,否則會影響整個ETL的效率[3]。

        2 共享數(shù)據(jù)中心架構(gòu)

        共享數(shù)據(jù)中心是收集、存儲和處理全校各類共享數(shù)據(jù),同時為全校提供信息共享服務的平臺。共享數(shù)據(jù)中心是基于數(shù)據(jù)管理與利用的綜合性技術(shù)方案,它的建立可以在存放大量數(shù)據(jù)的同時有效地管理數(shù)據(jù),以實現(xiàn)系統(tǒng)集成和各個系統(tǒng)之間的數(shù)據(jù)共享,同時提供數(shù)據(jù)訪問手段,以保證數(shù)據(jù)的及時性、完整性和一致性[4]。

        采用共享數(shù)據(jù)中心進行數(shù)據(jù)整合的好處是:原有各個部門比較成熟的系統(tǒng)仍然保持獨立運行,各業(yè)務數(shù)據(jù)庫與共享數(shù)據(jù)庫通過XML接口相互通信。需共享的數(shù)據(jù)如學生信息、教師信息等被抽取到共享數(shù)據(jù)庫中,各個業(yè)務部門之間的數(shù)據(jù)共享都要通過對共享數(shù)據(jù)庫的數(shù)據(jù)訂閱來完成,而不需要通過手工或映射方式從其它部門獲取。共享數(shù)據(jù)中心的數(shù)據(jù)來自權(quán)威的數(shù)據(jù)提供部門,所有數(shù)據(jù)都有唯一維護者,從而保證了數(shù)據(jù)的準確性和權(quán)威性。因此,采用共享數(shù)據(jù)中心是一種比較好的數(shù)據(jù)整合方案[5]。共享數(shù)據(jù)中心結(jié)構(gòu)如圖1所示。

        圖1 共享數(shù)據(jù)中心結(jié)構(gòu)

        3 數(shù)字化校園共享數(shù)據(jù)中心ETL設計

        3.1 歷史數(shù)據(jù)的ETL過程

        在共享數(shù)據(jù)中心建立之初,需抽取各業(yè)務系統(tǒng)的公共數(shù)據(jù)作為其歷史數(shù)據(jù)。該ETL過程需要選擇合適的ETL工具,若自行開發(fā),可滿足項目的特殊需要,但周期長、通用性差、效率低;若選擇通用的ETL工具,能夠?qū)Σ煌I(lǐng)域及需求的業(yè)務給予很好的支持,用戶不必過多關(guān)心數(shù)據(jù)庫的各種內(nèi)部細節(jié),只需專注于功能,且無須花費額外的開發(fā)時間,但往往價格不菲。綜合比較各種ETL工具,最后選擇了MicroSoft SQL Server 2000自帶的ETL工具DTS(Data Transformation Services數(shù)據(jù)傳輸服務)實現(xiàn)從業(yè)務系統(tǒng)數(shù)據(jù)庫到共享數(shù)據(jù)庫的ETL過程[6]。

        DTS作為SQL Server的一個工具,能支持ODBC或JDBC的數(shù)據(jù)接口,主要用于實現(xiàn)各種不同數(shù)據(jù)源之間的數(shù)據(jù)轉(zhuǎn)移。其具有圖形化的界面,也是一個可編程對象。DTS所支持的源數(shù)據(jù)庫和目標數(shù)據(jù)庫包括SQL Server、Oracle、DB2、Sybase、Access、Excel等所有使用OLE DB的數(shù)據(jù)庫,轉(zhuǎn)移形式包括數(shù)據(jù)導入、導出以及數(shù)據(jù)轉(zhuǎn)換。在進行數(shù)據(jù)轉(zhuǎn)移時,可以通過指定不同的轉(zhuǎn)換規(guī)則在具有不同名稱、大小、數(shù)據(jù)類型、精度等數(shù)據(jù)之間進行數(shù)據(jù)復制[7]。

        利用DTS實現(xiàn)ETL,首先必須創(chuàng)建數(shù)據(jù)轉(zhuǎn)換服務(DTS)包,選擇需要連接的源數(shù)據(jù)庫與目標數(shù)據(jù)庫,當業(yè)務系統(tǒng)與共享數(shù)據(jù)中心連接后,需要創(chuàng)建“轉(zhuǎn)換數(shù)據(jù)任務”,并對其進行設置,抽取業(yè)務系統(tǒng)中的數(shù)據(jù),導入到數(shù)據(jù)準備區(qū)。

        “轉(zhuǎn)換數(shù)據(jù)任務”主要用于實現(xiàn)源數(shù)據(jù)庫與目的數(shù)據(jù)庫之間的數(shù)據(jù)復制,可實現(xiàn)任何支持OLE DB數(shù)據(jù)連接之間的復制和轉(zhuǎn)換。并且該任務能選擇性地將列級轉(zhuǎn)換應用于數(shù)據(jù),可以實現(xiàn)DTS中最基本的數(shù)據(jù)抽取。

        進行“轉(zhuǎn)換數(shù)據(jù)任務”的配置步驟如下:①建立連接;②設置源數(shù)據(jù)和目的數(shù)據(jù)屬性;③設置轉(zhuǎn)換屬性。默認的轉(zhuǎn)換映射為直接進行數(shù)據(jù)復制。如果源數(shù)據(jù)與目的數(shù)據(jù)之間存在異構(gòu),則需要設置轉(zhuǎn)換屬性,如將源列與目的列重新匹配,或者選擇其它轉(zhuǎn)換類型。

        對于不能直接進行匹配的字段,則可以通過編寫腳本語言的方式解決數(shù)據(jù)轉(zhuǎn)換問題。如教務管理系統(tǒng)的學生基本信息表中“xb”字段表示學生性別,而共享數(shù)據(jù)中心學生基本信息表中學生的“XB”字段則是用性別代碼表示。

        可以在代碼框中輸入如下代碼:

        Function Main()

        if DTSSource("xb")="男"then

        DTSDestination("XB")="1"

        Else DTSDestination("XB")="0"

        end if

        Main=DTSTransformStat_OK

        End Function

        通過該方式可以將學生性別由“男”、“女”轉(zhuǎn)換成性別代碼“1”和“0”,再加載入共享數(shù)據(jù)庫。

        又例如學生的出生日期格式極不統(tǒng)一,同樣是1990年5月10日出生,有些為90-05-10,有些則是19900510、900510或10-may-90。對于這些多樣化的日期格式,若不在導入共享數(shù)據(jù)庫的過程中進行統(tǒng)一,則必然會影響日后如學生年齡的統(tǒng)計與分析,因此也可以利用“ActiveX腳本轉(zhuǎn)換屬性”通過編寫代碼進行學生出生日期格式的統(tǒng)一。因為在學生的身份證號中體現(xiàn)了出生日期,所以可以利用mid函數(shù)截取身份證號中表示出生日期的部分,將出生日期統(tǒng)一以19900510的格式顯示。具體代碼如下:

        Function Main()

        Dim csrqstr as char,sfzhstr as char

        sfzhstr= Trim(DTSSourse(“sfzh”)

        Csrqstr=Mid(sfzhstr,7,8)

        DTSDestination(“sfzh”)=csrqstr

        Main=DTSTransformStat_OK

        End Function

        利用DTS工具不但能實現(xiàn)在共享數(shù)據(jù)中心創(chuàng)建之初進行歷史數(shù)據(jù)的全量抽取,還可以將一些符合特定條件的數(shù)據(jù)ETL至共享數(shù)據(jù)庫。如每年開學初有大量新生信息進入教務管理系統(tǒng),共享數(shù)據(jù)庫中的學生基本信息表也必須更新。這些數(shù)據(jù)在從教務管理數(shù)據(jù)庫到共享數(shù)據(jù)庫的ETL過程中如果采用全表刪除方式會大大加重系統(tǒng)負擔,因此可以通過在DTS的轉(zhuǎn)換任務屬性中編寫SQL查詢語句,將抽取條件限定為年級字段值等于錄取年份,實現(xiàn)起來非常簡便,抽取效率也非常高。

        3.2 實時同步數(shù)據(jù)的ETL過程

        對于歷史數(shù)據(jù)而言,使用DTS可以方便地實現(xiàn)ETL過程,但在實時性要求較高的情況下,則顯得不太合適。例如教務管理系統(tǒng)的學生基本信息發(fā)生了變化,共享數(shù)據(jù)中心只有在數(shù)據(jù)轉(zhuǎn)換服務包執(zhí)行了以后數(shù)據(jù)才會更新,而這往往在某一個特定時間才會發(fā)生。如果在此之前有業(yè)務系統(tǒng)向共享數(shù)據(jù)中心提取了學生基本信息,則會造成數(shù)據(jù)不準確,因此還要考慮數(shù)據(jù)的實時同步問題。當提供共享數(shù)據(jù)的權(quán)威部門數(shù)據(jù)發(fā)生變化時,應及時將這些變化提交到共享數(shù)據(jù)庫,以保證共享數(shù)據(jù)庫中數(shù)據(jù)的準確性與完整性,同時也要將這些變化及時更新到訂閱這些數(shù)據(jù)的業(yè)務部門[8]。

        實時同步數(shù)據(jù)的ETL過程可分為3個步驟:①建立Insert、Modify、Delete觸發(fā)器以獲取實時的增量更新數(shù)據(jù)并進行數(shù)據(jù)類型轉(zhuǎn)換以及數(shù)據(jù)清洗;②將這些增量更新的數(shù)據(jù)存放到更新數(shù)據(jù)記錄表中并記錄下操作序列和操作類型(Insert、Modify、Delete);③由共享數(shù)據(jù)中心的數(shù)據(jù)同步服務通過調(diào)用Web服務連接該更新數(shù)據(jù)記錄表,進行業(yè)務數(shù)據(jù)庫與共享數(shù)據(jù)庫的同步。其過程如圖2所示。

        圖2 實時同步數(shù)據(jù)的ETL過程

        更新數(shù)據(jù)記錄表負責記錄業(yè)務系統(tǒng)中數(shù)據(jù)的所有更新操作,包括數(shù)據(jù)的增加、刪除、修改等。不管是何種更新操作,在更新數(shù)據(jù)記錄表中都會有一條記錄,以表示業(yè)務系統(tǒng)中數(shù)據(jù)的修改,包括記錄操作的類型是增加、刪除或修改,修改數(shù)據(jù)的具體內(nèi)容等。

        更新數(shù)據(jù)記錄表建立在業(yè)務系統(tǒng)端,其結(jié)構(gòu)是共享數(shù)據(jù)庫中業(yè)務數(shù)據(jù)表的字段加上控制字段,包括變化發(fā)生的時間、變化類型以及改變記錄的主鍵。

        控制字段如下:

        字段名:CREATE_TIME

        類型:DATETIME

        說明:記錄這條變化數(shù)據(jù)發(fā)生的時間

        字段名:CHG_TYPE

        類型:CHAR(6)

        說明:記錄該變化數(shù)據(jù)的變化類型(INSERT、DELETE、MODIFY)

        字段名:SDC_ID

        類型:INT

        說明:該字段自動生成,作為記錄的流水號,用于作為更新數(shù)據(jù)記錄表的主鍵。

        下面以教務管理系統(tǒng)到共享數(shù)據(jù)中心的實時同步為例,介紹實時同步數(shù)據(jù)的ETL過程。

        在業(yè)務系統(tǒng)上創(chuàng)建觸發(fā)器(包括插入、刪除和修改3種類型),當業(yè)務系統(tǒng)的數(shù)據(jù)發(fā)生變化時,則觸發(fā)了觸發(fā)器,通過觸發(fā)器在更新數(shù)據(jù)記錄表上添加記錄。為教務管理系統(tǒng)學生基本信息表創(chuàng)建觸發(fā)器的部分代碼如下:

        create trigger trg_xsjbxxb

        on xsjbxxb

        for insert as

        declare @xh char(10) declare@xm char(10)

        ……

        declare@ksh char(20)declare@bz char(20)

        select

        @xh=xh,@xm=xm,

        ……

        @ksh=ksh,@bz=bz

        from inserted Inst

        insert

        into tb_xsjbxxb values (@xh,@xm……@ksh,@bz, 'insert')

        為教務管理系統(tǒng)創(chuàng)建發(fā)布更新數(shù)據(jù)的Web服務部分代碼如下:

        string sql="select * from tb_xsjbxxb";

        SqlDataAdapter da = new SqlDataAdapter(sql,con);

        DataSet ds = new DataSet();

        da.Fill(ds," tb_xsjbxxb");

        con.Close();

        return ds;

        為教務管理系統(tǒng)創(chuàng)建清除更新數(shù)據(jù)記錄表的Web服務部分代碼如下:

        string sql="delete from tb_xsjbxxb";

        SqlCommand com=new SqlCommand(sql,con);

        com.ExecuteNonQuery();

        string a;

        a="共享數(shù)據(jù)中心數(shù)據(jù)更新成功!更新數(shù)據(jù)記錄表數(shù)據(jù)已清除!";

        return a;

        4 結(jié)語

        數(shù)字化校園是一個長期的系統(tǒng)工程,共享數(shù)據(jù)中心是其重要的基礎(chǔ)設施。本文提出的基于ETL技術(shù)的共享數(shù)據(jù)中心建設方案使各部門業(yè)務系統(tǒng)之間可以實現(xiàn)公共數(shù)據(jù)的安全共享,消除了原先存在的“信息孤島”,整個高校各部門之間的協(xié)調(diào)性和靈活性大大增強,極大地提高了高校各部門的工作效率。

        參考文獻:

        [1] [美]W H INMON.Buildding the data warehouse=數(shù)據(jù)倉庫[M].王志海,譯.北京:人民郵電出版社,2004:6870.

        [2] 劉映輝,晏妮.基于ETL技術(shù)的商業(yè)銀行自動對賬系統(tǒng)[J].中國金融電腦,2009(4):7477.

        [3] 張瑞.ETL數(shù)據(jù)抽取研究綜述[J].軟件導刊,2010(10):164165.

        [4] 黨中華,趙健,肖文紅.校園網(wǎng)數(shù)據(jù)整合方案研究[J].科技資訊,2010(12):249252.

        [5] 羅妙云.高校共享數(shù)據(jù)中心平臺設計與部分實現(xiàn)[D].廣州:華南理工大學,2010.

        [6] 李雅莉.決策支持系統(tǒng)中數(shù)據(jù)倉庫的設計[J].中國管理信息化,2009(17):8487.

        [7] 黃光明.教學管理數(shù)據(jù)倉庫ETL過程的設計與實現(xiàn)[J].電腦知識與技術(shù),2007(19):3738.

        [8] 孔存金.數(shù)字化校園共享數(shù)據(jù)中心建設研究——以新疆師范大學為例[D]. 烏魯木齊:新疆師范大學,2009.

        猜你喜歡
        同步
        中波同步廣播單頻覆蓋干擾分析與解決方案
        素質(zhì)教育理念下藝術(shù)教育改革的思路
        政府職能的轉(zhuǎn)變與中國經(jīng)濟結(jié)構(gòu)調(diào)整的同步
        商情(2016年42期)2016-12-23 14:26:58
        公共藝術(shù)與城市設計的協(xié)調(diào)與同步
        有源應答器DBPL解碼算法研究及FPGA實現(xiàn)
        一種新型雙軌同步焊接的焊接裝置
        讓思維訓練與口才訓練同時進行
        汽車空調(diào)產(chǎn)品的協(xié)同開發(fā)探討
        “四化”同步發(fā)展的實證檢驗及實現(xiàn)路徑研究
        軟科學(2015年10期)2015-10-28 02:28:08
        冠修復與根管同步治療隱裂牙牙髓病的臨床研究
        国产在线播放一区二区不卡| 精品无码一区二区三区小说| 日本不卡一区二区三区在线 | 国产一区二区三区在线蜜桃| 帮老师解开蕾丝奶罩吸乳网站 | 中文字幕一区二区va| 丝袜美腿网站一区二区| 少妇隔壁人妻中文字幕| 色综合久久中文综合网亚洲| 婷婷色香五月综合缴缴情| 亚洲中文字幕无码一区| 91青草久久久久久清纯| 国产av一区二区网站| 中文字幕人妻在线中字| 曰本极品少妇videossexhd| 2021精品综合久久久久| sm免费人成虐漫画网站| 男人和女人做爽爽视频| 成 人 网 站 免 费 av| 色二av手机版在线| 国产精品成人av大片| 人妻无码一区二区不卡无码av| 久久免费网国产AⅤ| 青青草国内视频在线观看| 真实夫妻露脸爱视频九色网 | 级毛片内射视频| 精品无码一区在线观看| 无码人妻精品一区二区三区下载| 国产三级av在线精品| 欧美性猛交xxxx免费看蜜桃| 波多野结衣免费一区视频| 亚洲日韩欧美一区二区三区| 日韩精品一区二区在线视| 亚洲三区在线观看内射后入| 亚洲av无码男人的天堂在线| a√无码在线观看| 日本一区二区视频在线| 天天燥日日燥| 精品人伦一区二区三区蜜桃麻豆| 一级内射免费观看视频| 少女韩国电视剧在线观看完整|