XX銀行數據倉庫建設項目方案_第1頁
XX銀行數據倉庫建設項目方案_第2頁
XX銀行數據倉庫建設項目方案_第3頁
XX銀行數據倉庫建設項目方案_第4頁
XX銀行數據倉庫建設項目方案_第5頁
已閱讀5頁,還剩43頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

銀行數據倉庫建設方案文件銀行數據倉庫建設方案文件)每條記錄中有數據ETL的時間戳,對小數據量的數據表,可以通過該時間戳清除掉本次加載的數據。對于大數據量的表,可以利用時間窗口功能,如果大表某一天的數據出現錯誤后,可以直接進行一天數據的恢復。作業調度和監控根據作業依賴關系的元數據進行ETL作業的調度,并對執行過程進行監控。作業調度需要包括以下功能:靈活啟停作業;根據日期規則設置作業執行計劃;支持作業的并發執行;允許作業網絡的嵌套;方便新增ETL作業。作業的監控需要包括以下功能:監控作業的當前執行情況;查詢作業歷史執行情況。元數據管理ETL過程需要通過元數據的管理來實現數據流程的監控以及作業的靈活調度。需要定義:源數據結構、目標數據結構、源和目標的映射(包括定制映射的方案、定制映射調用的函數、定制清洗的方案)、作業處理日志以及作業依賴關系。ETL模塊設計XX銀行的ETL采用數據庫的存儲過程及Shell腳本等技術支持,可以按照如下模塊設計:調度模塊:負責任務的管理、調度和分發,作業依賴關系的管理;作業控制:負責計算資源的分配、作業的執行,控制作業執行的流程、跟蹤作業執行的結果、記錄作業的日志。數據庫模塊:管理類數據庫:用于調度和作業主控,保存任務和作業的相關配置信息和運行信息。應用類數據庫:用于具體應用的業務數據庫。ETL域:ETL架構中基本的計算資源組合,是一個計算機群,由JCI統一管理和控制,一個ETL域由一個ETLServer和多個ETLClient組成。ETL應用:應用部署和配置管理的基本單位,一個ETL應用包含一組相關的作業單元、作業配置參數和應用環境參數。物理作業:具體負責數據加工的程序執行單元,各類存儲過程或者作業腳本(SHELL腳本、用C/C++/PROC等開發的可執行程序)。ETL模塊可以劃分為任務調度、任務控制、任務執行。任務調度模塊在EDWH+EDWB統一模塊中,調度是由部署在總行的調度SERVER統一完成調度工作,或者由部署在分行的調度Server完成本分行作業的調度。調度SERVER根據各個JOB的運行時間和依賴關系,按照一定的調度策略對總分行的JOB進行統一調度。在實際部署中,調度模塊可以僅部署在總行,實施統一調度,也可能部署在分行,實施分布調度;而在每個ETL域的ETLServer上部署調度的Agent模塊,調度Server負責任務的檢索、調度和分發,調度Agent接收到調度Server的調度指令,調用作業主控模塊(JCI)執行具體的作業,并根據JCI的退出碼將作業的執行情況反饋給調度Server。任務控制模塊統一架構中的處理模塊是由一個或多個ETL域組成的。總行有一個或多個總行的ETL域,分行有本分行的ETL域。域與域在物理上是分開,但是在邏輯上是聯系在一起的。對于不同的域,它們的處理任務也是不一樣的。每個處理域由一個或多個ETLSERVER和若干個ETLCLIENT組成。ETLSERVER主要負責ETLJOB的具體執行。首先,ETLSERVER接收調度Agent發過來的要執行的作業的作業ID,根據該作業ID到管理庫中獲取該作業的運行參數并解釋所有參數。其次根據作業運行資源需求,獲取所屬ETLCLIENT的資源情況,選擇最優的若干臺ETLCLIENT,分配作業給這些ETLCLIENT運行。最后收集并記錄作業運行日志信息,釋放ETLCLIENT的資源,更新作業運行狀態,返回作業運行結果信息給調度Agent。ETLCLIENT主要負責ETLSERVER分配的作業模塊的具體執行,是作業的具體執行者。ETL統一架構中的ETL域并不是一成不變的,理論上具有無限的橫向擴展能力。它可以根據本域上的作業情況增減ETLCLIENT。如果作業的數目太多,ETLSERVER承擔的任務過重,則可以增加ETLSERVER來降低原有的ETLSERVER調控任務的壓力。如果實際運行JOB的ETLCLIENT資源不足,經常處于高負荷狀態,則可以通過增加ETLCLIENT來提高運行效率。ETLServer訪問管理庫,ETLClient只訪問應用庫,不允許訪問管理庫。■數據庫模塊統一架構中的數據庫模塊分為兩個部分:管理類數據庫和業務類數據庫。業務類數據庫存放的是ETL作業處理的業務數據。管理類數據庫存放的是作業運行控制相關的數據信息,如系統配置參數或作業配置信息、狀態信息和運行日志信息等。在統一架構中,數據庫模塊分為兩層,一層是總行層,另外一層是分行層。無論是總行還是分行,數據庫都是由管理類數據庫和業務類數據庫組成。在管理庫的具體部署時,可能只部署在總行,所有ETLServer都訪問這個管理庫,分行的ETLServer通過跨越廣域網的數據庫連接訪問管理庫。管理庫的信息分為三類:系統參數和作業配置信息:靜態參數;狀態信息:屬于控制類的動態信息;日志信息;

ETL流程設計系統ETL設計流程如下圖:I 調度SERVER接收調度SEVER發

出的jobm獲取該FOB對應的參

數廨析初始化獲取作業運行資源的

要求、作業依賴檢查ETLSERVERETLSERVERETLSERVERETT.二二⑶仃工作用山工作方苴期比祓腦詛迸誦;?蚤強誑說我量誦I 調度SERVER接收調度SEVER發

出的jobm獲取該FOB對應的參

數廨析初始化獲取作業運行資源的

要求、作業依賴檢查ETLSERVERETLSERVERETLSERVERETT.二二⑶仃工作用山工作方苴期比祓腦詛迸誦;?蚤強誑說我量誦一獨至支W審理?強懣這支Xfl方士j:作行芻通婦注??電支陵/變差西門井技/述仃色久切百過續月送過范登過續、強,出它通比祓.;塞建K如族:以色號包:過比登過續月送過范注、ETLSERVERETLSERVERETLSERVERI Bau,f^z.JtrKhKh;誑揩落獲取ETLCLIENT資

源情況動態贊源分配,選擇若干最優ETLCLIENT給點)■:::-::::-::K:K:3::E:M::-::::-:n?n?rsJ?ia:a-nMPJr啕常制地?fflHsjsi裝通費n.i;±*■!!一!*XUXHSSMLXHSV■一■?■)EB>rJaln,nlifl;M??::s'>?fflJ赤is:鹿盟溫narsMmTarsMnJrssLf?心昌fflHsj-c::;笈*玄;;豆~?應用麴據庫獲取作業日志信息作業運行狀態信

息.作業運行效率信息寫入數據庫本系統ETL處理流程順序概要描述如下:調度程序在總行的調度服務器上面運行,當調度程序發現某個作業符合調度條件,就對其進行調度,將該JOB的ID發給該JOB所在域的ETLSERVER。ETLSERVER得到調度的調度指令后,根據JOBID,先到所在域中的管理類數據庫中JOB實例表中查找該JOB,判斷該JOB的狀態是否正確,查找該JOB的前序JOB是否完成,然后在JOB參數表中查找該JOB對應的各種參數,為作業的運行解析和準備參數,同時到所在域的業務類數據庫中查找各種輸入文件是否存在,如果條件都滿足,則JOB可以運行。3.ETLSERVER對JOB的類型進行判斷,如果是普通的SHELLJOB或者EXECJOB,則根據JOB實例表中的NODES_LIST(該作業可使用的節點列表),計劃在本域中分配一個ETLCLIENT給JOB運行,如果是DSJOB,則根據JOB實例表中的NODES_NEED(運行該作業所需節點數)和NODES_LIST(該作業可使用的節點列表)得到該JOB運行所需的結點個數以及所能夠運行該JOB的結點列表。在每個ETLCLIENT上都安裝著用于獲取結點資源情況的RESOURCEAGENT,這些AGENT每隔一定的時間間隔,就會將本臺CLIENT上的系統資源使用情況,如:CPU使用率,MEMORY使用率,I/O等待情況等寫入所屬域的管理類數據庫中的結點使用情況表中。ETLSERVER在得到JOB運行的結點個數和能夠運行該JOB的結點列表后,根據本域的管理類數據庫中結點的使用情況表,按照一定的策略對能夠運行該JOB的結點列表進行排序,選出最優的若干個ETLCLIENT。然后根據結點情況,動態生成JOB運行配置文件。然后根據運行配置文件,將JOB分配給各個ETLCLIENT執行。ETLCLIENT開始執行JOB,無論JOB運行成功還是失敗,都將各種運行信息反饋給所屬域的ETLSERVER。ETLSERVER得到ETLCLIENT的反饋信息后,將其寫入日志,并設置JOB的狀態,同時釋放結點的資源。ETLSERVER將作業運行的情況通過退出碼的方式反饋給調度程序。

動態資源分配動態資源分配的主要依據。ResourceAgent:運行于域中所有節點(包括主節點)之上的一個守護進程,負責按照一定的時間間隔采集當前節點的各種系統資源(CPU使用情況,內存使用情況)使用情況,磁盤I/O使用情況,是否存在故障),并通過TCP/IP和運行于主節點上的ResourceBroker進程進行通信,將當前節點的系統資源使用情況匯報給ETLServer;ResourceBroker:運行于域中ETLServer之上的一個守護進程,負責j接收來自域內節點的連接請求,記錄請求節點的系統資源使用情況;如果域中某個節點超過指定的時間間隔沒有發送資源報告,則將該節點置為故障,該節點將不會被分配來運行任務,如果此后收到該節點的資源報告請求,則將該節點狀態置為活動。客戶端與服務端采用C/S通信模式,通過TCP協議傳送信息,這樣做的好處是:避免工作節點直接訪問管理庫,訪問管理庫的工作統一ETLServer來完成,從而提高了應用部署的適應能力;ETLServer可以據此檢測所有工作節點是否存在故障;客戶端負責采集信息發送到服務端,服務端接收信息,并寫到數據庫。對于每個客戶端的連接,服務端fork出一個子進程處理。服務端與客戶端作為daemon進程,要求能夠長時間運行。應該能接受收SIGQUIT,SIGTERM,SIGHUP信號,完成退出并清理進程資源;在EDW中,將由成千上萬的作業來完成數據整和的功能,這些作業由于復雜度不同,運行頻度不同,甚至是同一個作業,由于數據來源不同(例如不同的分行),數據規模也是相差甚遠的,因此如果對所有的作業使用相同的配置文件,將對系統資源造成極大的浪費,例如一個非常簡單的作業,事實只需要幾秒鐘的時間,卻將其部署到多個節點上運行,不僅沒必要,而且造成額外的網絡開銷和調度開銷。因此為了提高作業運行的性能,充分使用計算機群中所有節點的資源,必須采用一種合理的作業運行資源配置方案,在這種方案中,將根據作業的復雜度,數據規模,運行頻度、約束條件等因素,動態地生成運行資源配置配置文件,從而使系統中的每個作業能以最優的方案運行,從而使整個系統獲得最優的性能。數據接口設計數據倉庫平臺系統需要建立一個集成的ETL接口平臺,該平臺需要同時支持:打包數據文件和數據庫直連兩種ETL方式。各種ETL方式的通過ETL工具進行統一配置和管理,不同的接口方式由相應的接口適配器(InputAdapter)來處理,接口適配器僅處理數據/文件物理格式的轉換,并不負責業務要素層面的轉換,接口適配器一旦調試通過后,將不隨業務元素變化(例如表字段改變)而變化。數據接口規范用來規范本系統和各源業務系統以及本系統內部之間數據交換,使數據交換遵循一個統一的標準。由于各業務系統之間的數據標準不盡一致,因此在制訂與不同業務系統的數據接口規范時,必須要涵蓋如下內容:>數據內容分析確定需要的數據表,以及表中的每個數據項,包括數據項的長度、類型等,明確數據表項之間相互的關系。>數據格式根據接口文件類型指定文件格式,如文本文件,需描述字段變長分隔符分隔,字符數據項、日期數據項格式等。>編碼格式文件內容的編碼格式,如ASCII碼、EBCDIC碼等,確定數據交換文件的解析規范或語義。>編碼規范說明業務系統相關的業務編碼,和本系統保持統一的標準。如業務種類、網點機構的機構代碼等,必須遵守統一的命名規范。>數據來源數據表項來自的業務系統。數據表項和業務系統數據表項的對應關系。>數據統計算法對于各業務指標的計算方法必須有統一的公式,并且其組成要素的業務涵義必須統一。>外部數據接口標準對于來自外部的數據,須經過系統預處

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論