- 相關(guān)推薦
小研非現(xiàn)場(chǎng)審計(jì)系統(tǒng)業(yè)務(wù)的ETL
1.引言
在商業(yè)銀行中,用戶對(duì)數(shù)據(jù)實(shí)時(shí)性的要求很高。在商業(yè)銀行的一些系統(tǒng)中,如非現(xiàn)場(chǎng)審計(jì)系統(tǒng),用戶需要在很短的時(shí)間內(nèi)對(duì)交易數(shù)據(jù)進(jìn)行分析、統(tǒng)計(jì),并把可疑數(shù)據(jù)上報(bào),以盡量減少損失。這就要求系統(tǒng)所需數(shù)據(jù)必須在短時(shí)間內(nèi)到達(dá),但是這些系統(tǒng)的數(shù)據(jù)源十分繁多。
審計(jì)系統(tǒng)中,審計(jì)人員需要的信息很全面,既包括個(gè)貸業(yè)務(wù)、信貸業(yè)務(wù)、私金業(yè)務(wù),還要包括國(guó)際業(yè)務(wù)、資金業(yè)務(wù)和中間業(yè)務(wù)等,這些業(yè)務(wù)都有各自的系統(tǒng),其中有一部分?jǐn)?shù)據(jù)還取自于核心系統(tǒng)。而且數(shù)據(jù)存儲(chǔ)在異構(gòu)的環(huán)境中,比如它們使用不同的數(shù)據(jù)庫(kù),不同的操作系統(tǒng)環(huán)境等等,如何在眾多系統(tǒng)中快速的提取數(shù)據(jù)和快速的形成一個(gè)系統(tǒng)所需的數(shù)據(jù)集市,這對(duì)我們是一個(gè)挑戰(zhàn)。
針對(duì)上述問題,本文提出了一個(gè)ETL模型。與其他商業(yè)銀行常用的模型相比,本模型基于業(yè)務(wù)設(shè)計(jì)和實(shí)現(xiàn),具有高效的錯(cuò)誤恢復(fù)機(jī)制,能夠利用基礎(chǔ)任務(wù)和業(yè)務(wù)任務(wù)的劃分,根據(jù)任務(wù)號(hào)單獨(dú)執(zhí)行出錯(cuò)的任務(wù),而不用將整個(gè)ETL過程重新執(zhí)行一遍,大大縮短了恢復(fù)錯(cuò)誤的時(shí)間,從而可以更好地滿足客戶對(duì)于時(shí)間上的要求;與傳統(tǒng)成熟的商業(yè)ETL工具相比,基于業(yè)務(wù)的模型設(shè)計(jì)與實(shí)現(xiàn),可以根據(jù)每天的審計(jì)目標(biāo)去創(chuàng)建ETL任務(wù),減少了工作量。同時(shí),此模型部分實(shí)現(xiàn)直接采用代碼,針對(duì)性更強(qiáng),靈活性更好,可以處理商業(yè)銀行復(fù)雜系統(tǒng)中清洗和轉(zhuǎn)換任務(wù),最重要的是可以減少商業(yè)工具一些不必要的執(zhí)行步驟,縮短了時(shí)間。中國(guó)碩士論文網(wǎng)提供大量免費(fèi)mba碩士論文,如有業(yè)務(wù)需求請(qǐng)咨詢網(wǎng)站客服人員!
2.審計(jì)系統(tǒng)的ETL
目標(biāo)ETL 過程的最終目標(biāo)是在合理的時(shí)間內(nèi)實(shí)現(xiàn)了高質(zhì)量的審計(jì)系統(tǒng)數(shù)據(jù)集市,以供客戶審計(jì)業(yè)務(wù)數(shù)據(jù)。圍繞此目標(biāo),本文必須合理、靈活、高效的設(shè)計(jì)ETL 過程,才能滿足用戶的需求。在此過程中,存在以下幾個(gè)問題:
1.靈活的ETL 控制過程。
因?yàn)楸緦徲?jì)系統(tǒng)涉及的數(shù)據(jù)源比較多,包括信貸系統(tǒng)、票據(jù)系統(tǒng)、核心系統(tǒng)等,根據(jù)客戶要求,有的業(yè)務(wù)數(shù)據(jù)可能需要每天更新,而有的業(yè)務(wù)數(shù)據(jù)可能需要每?jī)商旄乱淮。?duì)于這種數(shù)據(jù)更新頻率不統(tǒng)一的要求,本論文需要設(shè)計(jì)靈活的ETL過程,可以實(shí)現(xiàn)針對(duì)單數(shù)據(jù)源的操作。
2.統(tǒng)一安全的抽取平臺(tái)。
由于數(shù)據(jù)源的繁多,而且數(shù)據(jù)存儲(chǔ)在異構(gòu)的環(huán)境中,比如它們使用不同的數(shù)據(jù)庫(kù),不同的操作系統(tǒng)環(huán)境等。這就要求本文要實(shí)現(xiàn)一個(gè)統(tǒng)一的抽取平臺(tái),以應(yīng)對(duì)不同的數(shù)據(jù)承載平臺(tái)、數(shù)據(jù)源和數(shù)據(jù)格式,同時(shí)要求在抽取構(gòu)成中不能破壞源數(shù)據(jù)。
3.快速的處理過程。
由于用戶要求數(shù)據(jù)的準(zhǔn)實(shí)時(shí)性,要求在盡量短的時(shí)間內(nèi)(比如兩個(gè)小時(shí))便可以審計(jì)業(yè)務(wù),所以本文還要解決如何快速在眾多數(shù)據(jù)源中提取數(shù)據(jù)和快速的形成一個(gè)系統(tǒng)所需的數(shù)據(jù)集市,這對(duì)本文是一個(gè)巨大的挑戰(zhàn)。
4.自動(dòng)化的處理流程,可定制的服務(wù)。
由于商業(yè)銀行的特殊性,要求數(shù)據(jù)抽取必須在午夜進(jìn)行,所以本系統(tǒng)必須實(shí)現(xiàn)自動(dòng)化的處理流程,盡量減少人工干預(yù),降低服務(wù)成本。此外,還要實(shí)現(xiàn)客戶定制任務(wù),包括時(shí)間和頻率等。
5.高質(zhì)量的數(shù)據(jù)集市。
同樣由于商業(yè)銀行業(yè)務(wù)的特殊性,審計(jì)系統(tǒng)的數(shù)據(jù)一定要高質(zhì)量,只有高質(zhì)量的數(shù)據(jù)作為保證,整個(gè)數(shù)據(jù)集市項(xiàng)目所提供的數(shù)據(jù)才能體現(xiàn)出高價(jià)值,這就要求本系統(tǒng)在ETL 過程中一定要建立合理的質(zhì)量保證和錯(cuò)誤恢復(fù)機(jī)制。
3.ETL 模型結(jié)構(gòu)設(shè)計(jì)
主要分為四個(gè)部分:控制臺(tái)、ODS、ETL過程和審計(jì)系統(tǒng)數(shù)據(jù)集市。
首先開發(fā)人員必須利用控制臺(tái)初始化任務(wù),建立源數(shù)據(jù)和目標(biāo)數(shù)據(jù)集市中的映射關(guān)系。
根據(jù)數(shù)據(jù)源的不同,建立不同的任務(wù)類型,以供用戶選擇。然后用戶就可以利用控制臺(tái)管理任務(wù)了,包括初始化任務(wù)、任務(wù)調(diào)度、異常處理和記錄日志等。
客戶啟動(dòng)任務(wù)后,ETL過程會(huì)根據(jù)本次任務(wù)需要的數(shù)據(jù)信息從相應(yīng)的數(shù)據(jù)源中抽取數(shù)據(jù)到ODS中。為什么要先將數(shù)據(jù)抽取到ODS中,而不直接進(jìn)行清洗,裝載到目標(biāo)數(shù)據(jù)集市中呢?ODS是目標(biāo)數(shù)據(jù)集市與外部源數(shù)據(jù)的接口,并且ODS在ETL中有著緩沖和保護(hù)的作用,在業(yè)務(wù)系統(tǒng)和數(shù)據(jù)集市之間形成一個(gè)隔離層,避免外部源數(shù)據(jù)直接向目標(biāo)數(shù)據(jù)集市寫數(shù)據(jù)。
將數(shù)據(jù)抽取到ODS中,開發(fā)人員就可以對(duì)ODS中的數(shù)據(jù)進(jìn)行多次清洗和轉(zhuǎn)換,即是在清洗和轉(zhuǎn)化過程中發(fā)生錯(cuò)誤,開發(fā)人員也不需要直接從數(shù)據(jù)源再次抽取,而只要使用ODS中的數(shù)據(jù)即可,為審計(jì)系統(tǒng)提供一定的容錯(cuò)能力。清洗和轉(zhuǎn)換完畢后,將數(shù)據(jù)裝載到審計(jì)系統(tǒng)數(shù)據(jù)集市中。
4. ETL 的功能設(shè)計(jì)
4.1 控制臺(tái)
控制臺(tái)中又包括了任務(wù)管理、元數(shù)據(jù)管理、異常處理和系統(tǒng)日志。任務(wù)管理實(shí)現(xiàn)了任務(wù)的初始化、任務(wù)調(diào)度、任務(wù)執(zhí)行等功能。元數(shù)據(jù)管理則為開發(fā)人員提供了源數(shù)據(jù)(ODS 中)和數(shù)據(jù)集市映射關(guān)系的管理。
4.1.1 元數(shù)據(jù)管理目前,元數(shù)據(jù)存在多種不同的描述,Luo Agostas 說元數(shù)據(jù)是一種比喻,因?yàn)樗橄罅丝雌饋硗耆煌氖挛。在?shù)據(jù)倉(cāng)庫(kù)領(lǐng)域元數(shù)據(jù)被定義為:描述數(shù)據(jù)及其環(huán)境的數(shù)據(jù)。在本文里,筆者采用常用的一種描述,將本系統(tǒng)的元數(shù)據(jù)分為技術(shù)元數(shù)據(jù)和業(yè)務(wù)元數(shù)據(jù)。
所謂技術(shù)元數(shù)據(jù)主要是用來描述數(shù)據(jù)實(shí)體和數(shù)據(jù)處理過程中的技術(shù)細(xì)節(jié)和處理規(guī)則。比如數(shù)據(jù)源接口(數(shù)據(jù)庫(kù)名、端口、數(shù)據(jù)庫(kù)類型、用戶名、密碼等)、ETL 任務(wù)表(任務(wù)編號(hào)、任務(wù)名稱、任務(wù)粒度、任務(wù)號(hào)、后序任務(wù)、狀態(tài)等)、業(yè)務(wù)元數(shù)據(jù)則主要是對(duì)IT 系統(tǒng)的數(shù)據(jù)實(shí)體和數(shù)據(jù)處理的業(yè)務(wù)化描述,包括業(yè)務(wù)規(guī)則、業(yè)務(wù)術(shù)語、統(tǒng)計(jì)口徑、信息分類等。如某商業(yè)商業(yè)銀行審計(jì)系統(tǒng)中的企業(yè)基本信息(企業(yè)名稱、客戶類型、企業(yè)隸屬、企業(yè)類型、行業(yè)類型、主營(yíng)業(yè)務(wù)、經(jīng)濟(jì)類型等)、財(cái)務(wù)報(bào)表數(shù)據(jù)(報(bào)表月份、客戶名稱、報(bào)表種類、幣種等)、小額擔(dān)保貸款貼息統(tǒng)計(jì)(借據(jù)號(hào)、合同號(hào)、小額擔(dān)保貸款類型、客戶姓名、貸款金額、期限年、期限月、貸款發(fā)放日等)等。
考慮到保證系統(tǒng)的執(zhí)行效率。元數(shù)據(jù)管理主要為數(shù)據(jù)集市的形成提供基礎(chǔ)數(shù)據(jù)映射分析,并且在以后的維護(hù)中提供支持。
4.1.2 任務(wù)管理
在本文中,任務(wù)的劃分按照客戶審計(jì)目標(biāo)而定,一個(gè)任務(wù)即是一個(gè)審計(jì)業(yè)務(wù)數(shù)據(jù)的ETL過程,這是本文的重點(diǎn)。在一個(gè)數(shù)據(jù)集市的形成過程中,會(huì)涉及到很多的業(yè)務(wù)系統(tǒng),因此審計(jì)系統(tǒng)的數(shù)據(jù)集市由很多任務(wù)組成。本系統(tǒng)中任務(wù)分為兩種類型:基礎(chǔ)任務(wù)和業(yè)務(wù)任務(wù);A(chǔ)任務(wù)是指實(shí)現(xiàn)形成該審計(jì)系統(tǒng)數(shù)據(jù)集市所必須的所有數(shù)據(jù),比如審計(jì)系統(tǒng)中客戶的基本信息,賬戶信息,企業(yè)信息等,這些都是基礎(chǔ)數(shù)據(jù),無論哪個(gè)業(yè)務(wù)都必須采用的數(shù)據(jù),所以基礎(chǔ)任務(wù)也是每次ETL 過程所必須完成的任務(wù)。而業(yè)務(wù)任務(wù)則是可以選擇的,依據(jù)本次審計(jì)人員的要求而決定是否導(dǎo)入審計(jì)系統(tǒng)數(shù)據(jù)集市,比如信貸業(yè)務(wù),如果本次審計(jì)要求中不包括此業(yè)務(wù),那么本次ETL 任務(wù)便可不處理該業(yè)務(wù)數(shù)據(jù);A(chǔ)任務(wù)是形成數(shù)據(jù)集市的必選任務(wù),每天只需執(zhí)行一次。而業(yè)務(wù)任務(wù)則是根據(jù)每天的審計(jì)目標(biāo)而選擇的可選任務(wù)。
在此基礎(chǔ)上又引入了優(yōu)先級(jí)、執(zhí)行時(shí)間和任務(wù)號(hào)的概念。優(yōu)先級(jí)是在任務(wù)創(chuàng)建的同時(shí)就會(huì)確定的,優(yōu)先級(jí)有三等:重要,一般,不重要。執(zhí)行時(shí)間就是執(zhí)行任務(wù)的時(shí)間先后。任務(wù)號(hào)是若干任務(wù)執(zhí)行先后順序的依據(jù)。
在描述功能前,我們有必要先描述任務(wù)的生命周期。在本審計(jì)系統(tǒng)中,任務(wù)有五種狀態(tài):
新建,就緒,執(zhí)行,成功,失敗。狀態(tài)之間的轉(zhuǎn)換。
新建狀態(tài):創(chuàng)建一個(gè)任務(wù)即添加一個(gè)新的 ETL 任務(wù),任務(wù)的信息包括目標(biāo)子任務(wù)信息和任務(wù)的創(chuàng)建信息(包括創(chuàng)建者和創(chuàng)建時(shí)間等等)。
就緒狀態(tài):任務(wù)在被調(diào)度后,初始化其狀態(tài)為就緒,等待執(zhí)行。
執(zhí)行狀態(tài):任務(wù)占用系統(tǒng)資源,同一時(shí)刻,處于“執(zhí)行”狀態(tài)的只有一個(gè)任務(wù),另外的任務(wù)處于“就緒”狀態(tài)。
成功狀態(tài):任務(wù)執(zhí)行完畢,并且執(zhí)行過程中沒有發(fā)生異常,或者發(fā)生異常后又重新執(zhí)行完畢。
失敗狀態(tài):任務(wù)執(zhí)行過程中發(fā)生異常,非正常結(jié)束。
任務(wù)狀態(tài)之間的轉(zhuǎn)換主要包括以下幾種:
創(chuàng)建新任務(wù):創(chuàng)建一個(gè)新的任務(wù),即確定一個(gè)檢測(cè)計(jì)劃,初始化任務(wù)的數(shù)據(jù)源和元數(shù)據(jù)等信息。
調(diào)度:準(zhǔn)備執(zhí)行任務(wù),將其置為“就緒狀態(tài)”,隨時(shí)可以分派執(zhí)行,由于同步機(jī)制的限制,系統(tǒng)在同一時(shí)刻只能執(zhí)行一個(gè)任務(wù)。
分派:選擇任務(wù)并執(zhí)行,進(jìn)入執(zhí)行狀態(tài)。
出現(xiàn)異常:任務(wù)在執(zhí)行過程中,發(fā)生可恢復(fù)或者不可恢復(fù)的異常,中止執(zhí)行,將其置為“失敗”狀態(tài)。
重置:解決異常后,重置失敗的任務(wù),等待重新執(zhí)行。
執(zhí)行完成:任務(wù)執(zhí)行過程中沒有出現(xiàn)異常情況,順利執(zhí)行完畢。
任務(wù)管理模塊包括的功能主要有任務(wù)初始化、任務(wù)調(diào)度和任務(wù)執(zhí)行。
任務(wù)初始化主要是創(chuàng)建任務(wù),用戶根據(jù)本次審計(jì)目標(biāo)的要求來建立一個(gè) ETL 任務(wù),包含任務(wù)信息和任務(wù)的創(chuàng)建信息。任務(wù)信息是指選擇符合本次審計(jì)目標(biāo)的業(yè)務(wù)任務(wù),基礎(chǔ)任務(wù)不用選擇,因?yàn)槭潜剡x的,在執(zhí)行ETL 的時(shí)候,會(huì)首先執(zhí)行基礎(chǔ)任務(wù)。
任務(wù)調(diào)度模塊是貫穿整個(gè)數(shù)據(jù)集市形成過程的,在此過程中監(jiān)聽事件,并能夠根據(jù)事件啟用相應(yīng)的任務(wù)。在此模塊啟動(dòng)后,根據(jù)任務(wù)號(hào)順序執(zhí)行,關(guān)于任務(wù)的任務(wù)號(hào)確定問題,本系統(tǒng)中采用一個(gè)較為簡(jiǎn)單的原則來解決:在任務(wù)創(chuàng)建的同時(shí)已經(jīng)確定了任務(wù)的優(yōu)先級(jí),結(jié)合任務(wù)的執(zhí)行時(shí)間,先按照?qǐng)?zhí)行時(shí)間先后確定任務(wù)號(hào),如果執(zhí)行時(shí)間相同,再按照任務(wù)的重要性確定任務(wù)號(hào),如果重要性也相同,則對(duì)二者(或者更多)隨機(jī)確定任務(wù)號(hào)。如果任務(wù)B的任務(wù)號(hào)是排在任務(wù)A 的任務(wù)號(hào)的下一位,則成任務(wù)B 是任務(wù)A 的后續(xù)任務(wù)。順序執(zhí)行任務(wù)的同時(shí)要監(jiān)聽觸發(fā)事件,此模塊監(jiān)聽的事件可分為主要有兩種:①任務(wù)結(jié)束。在一個(gè)任務(wù)執(zhí)行時(shí),任務(wù)調(diào)度模塊會(huì)實(shí)時(shí)監(jiān)控這個(gè)任務(wù)的狀態(tài),當(dāng)一個(gè)任務(wù)執(zhí)行完畢后,將此任務(wù)的狀態(tài)置為完成,并將其后序任務(wù)狀態(tài)置為準(zhǔn)備。而當(dāng)錯(cuò)誤發(fā)生后,首先將其狀態(tài)置為異常,然后調(diào)用異常處理模塊,處理好現(xiàn)場(chǎng),并將該子任務(wù)的狀態(tài)置為“失敗”。并將錯(cuò)誤記錄到日志中,順序執(zhí)行下一個(gè)任務(wù)。②時(shí)間到達(dá)。對(duì)于一些任務(wù),用戶希望它們定時(shí)執(zhí)行,所以任務(wù)調(diào)度模塊必須實(shí)時(shí)比較它們的啟動(dòng)時(shí)間和系統(tǒng)時(shí)間,一旦二者一致,就執(zhí)行此任務(wù)。任務(wù)調(diào)度模塊一直執(zhí)行到任務(wù)完成后關(guān)閉系統(tǒng)時(shí)才隨系統(tǒng)一起停止運(yùn)行。
任務(wù)執(zhí)行即是開始 ETL 處理過程。任務(wù)的執(zhí)行方式分為兩種:手動(dòng)和定時(shí),手動(dòng)方式隨時(shí)可以執(zhí)行,定時(shí)方式則是在設(shè)定的時(shí)間自動(dòng)啟動(dòng)。具有管理員權(quán)限的用戶隨時(shí)可以執(zhí)行任務(wù)。定時(shí)任務(wù)則要在系統(tǒng)內(nèi)設(shè)置定時(shí)執(zhí)行任務(wù)的時(shí)間,可以根據(jù)任務(wù)需求設(shè)置幾種頻率:
每月,每周,每天等。每天到零點(diǎn)時(shí)刻,系統(tǒng)就會(huì)添加所有在這一天內(nèi)要執(zhí)行的定時(shí)任務(wù)到隊(duì)列中,然后計(jì)算出到達(dá)下一個(gè)設(shè)定的執(zhí)行時(shí)間的時(shí)間差,讓線程休眠相同時(shí)間,醒來后再執(zhí)行。同一個(gè)任務(wù)可以多次重復(fù)執(zhí)行。如果在執(zhí)行任務(wù)過程中新添加了一個(gè)任務(wù),系統(tǒng)會(huì)根據(jù)此任務(wù)的任務(wù)號(hào)插入到隊(duì)列中。每完成一個(gè)任務(wù),系統(tǒng)就從執(zhí)行隊(duì)列中選取一個(gè)優(yōu)先級(jí)最高的執(zhí)行。
4.1.3 異常處理
任何系統(tǒng)都會(huì)出現(xiàn)異常情況,所以異常處理模塊必不可少。在本模型中,異常處理模塊主要應(yīng)對(duì)任務(wù)執(zhí)行異常情況,比如數(shù)據(jù)出現(xiàn)亂碼,從而致使數(shù)據(jù)轉(zhuǎn)化任務(wù)出錯(cuò);正在執(zhí)行抽取或?qū)肴蝿?wù)時(shí),網(wǎng)絡(luò)斷開,等等。
在出現(xiàn)錯(cuò)誤后,本模塊會(huì)將該任務(wù)的狀態(tài)置為“異常”,然后調(diào)用相應(yīng)的處理程序。對(duì)于一些任務(wù)執(zhí)行過程中發(fā)生的錯(cuò)誤,只需要重新執(zhí)行該任務(wù)便可,比如網(wǎng)絡(luò)或電源斷開;而對(duì)于一些錯(cuò)誤的處理則比較麻煩,比如抽取數(shù)據(jù)的時(shí)候一個(gè)表發(fā)生錯(cuò)誤,并且ETL 過程已經(jīng)執(zhí)行完畢后發(fā)現(xiàn)的,這種情況下,重新執(zhí)行一遍ETL 過程勢(shì)必要花費(fèi)大量的時(shí)間,無論是用戶還是數(shù)據(jù)源系統(tǒng)都是不允許的,因此我們可以利用前面所述基礎(chǔ)任務(wù)和業(yè)務(wù)任務(wù)的劃分,根據(jù)任務(wù)號(hào)單獨(dú)執(zhí)行出錯(cuò)的任務(wù),這種做法就大大節(jié)省了時(shí)間,從而提高了錯(cuò)誤恢復(fù)的效率。
4.1.4 系統(tǒng)日志
系統(tǒng)日志模塊也是 ETL 過程中必不可少的一個(gè)模塊。它的作用在于記錄每一個(gè)任務(wù)完成情況,以及系統(tǒng)啟動(dòng)時(shí)間和完成時(shí)間等詳細(xì)信息,以便技術(shù)人員在查看以往的記錄的時(shí)候有據(jù)可依,并且也可以從中查看一些異常情況,分析問題,解決系統(tǒng)無法自動(dòng)解決的問題。
日志模塊對(duì)于管理員的一些操作也要做詳細(xì)的記錄,比如某天某個(gè)管理員沒有按照要求擅自啟動(dòng)了ETL 系統(tǒng),導(dǎo)致了錯(cuò)誤的發(fā)生,或者在發(fā)生異常后,管理員做出了一些解決措施;蛘哂泄芾韱T利用職權(quán)竊取數(shù)據(jù),這些都將被記錄下來,為以后的責(zé)任的追究和工作表現(xiàn)提供證據(jù)。
4.2 ETL 過程
此模塊是 ETL 的主要實(shí)現(xiàn)過程,包含三個(gè)階段:數(shù)據(jù)抽取、清洗和轉(zhuǎn)換、轉(zhuǎn)載。
在數(shù)據(jù)抽取階段,我們根據(jù)用戶提供的數(shù)據(jù)源方式分為以下幾種處理方式:①抽數(shù)。針對(duì)此種數(shù)據(jù)源,我們?cè)跀?shù)據(jù)源接口表中定義好了數(shù)據(jù)源的地址、端口號(hào)、用戶名和密碼,以及抽取時(shí)間后,即可定時(shí)調(diào)用任務(wù)抽取數(shù)據(jù)。②送數(shù)。由于數(shù)據(jù)源保密性要求、時(shí)間上的不合適或者網(wǎng)絡(luò)隔絕等條件的限制,ETL 系統(tǒng)只能等待數(shù)據(jù)源送數(shù)過來,或者以備份文件,或者以文本文件的形式送達(dá)。這時(shí),我們可以監(jiān)聽送數(shù)事件,當(dāng)查看到特定目錄中出現(xiàn)數(shù)據(jù)的時(shí)候,便啟動(dòng)往ODS 導(dǎo)數(shù)任務(wù)。在抽取任務(wù)中,我們也必須描述清楚數(shù)據(jù)的增長(zhǎng)方式:
增量或者全量。增量抽取往往適用于交易信息,這類數(shù)據(jù)的特點(diǎn)是每天的操作不會(huì)對(duì)以前的信息造成影響;全量則適用于客戶信息、票據(jù)信息等可能被更改的數(shù)據(jù),這些信息在各個(gè)抽取任務(wù)中都會(huì)有所體現(xiàn)。
在清洗和轉(zhuǎn)化操作階段,我們根據(jù)處理的源數(shù)據(jù)的規(guī)模大小和相關(guān)性將幾個(gè)處理過程作為一個(gè)子任務(wù),這樣做的好處是方便實(shí)時(shí)查看進(jìn)度和減少任務(wù)失敗時(shí)重新執(zhí)行的時(shí)間損失,同時(shí)也最大化地利用了數(shù)據(jù)庫(kù)的緩存池。這樣的一個(gè)任務(wù)提交時(shí),比每個(gè)處理過程執(zhí)行完畢后就提交節(jié)省很多時(shí)間,而每個(gè)任務(wù)完成后再提交則有可能導(dǎo)致數(shù)據(jù)庫(kù)緩存池溢出錯(cuò)誤,從而導(dǎo)致任務(wù)提交失敗。即使沒有出現(xiàn)錯(cuò)誤,實(shí)踐證明提交一個(gè)任務(wù)比子任務(wù)需要更多的時(shí)間。
在裝載階段,我們采用成熟的商業(yè)工具即可,因?yàn)檫@類工具具有穩(wěn)定性和安全性,并且在此階段,沒有太多可以優(yōu)化的地方。只是在裝載前我們會(huì)停去掉表的索引,在導(dǎo)完數(shù)據(jù)后再統(tǒng)一建立,這么做的好處是提高導(dǎo)入速度。
裝載完畢后,對(duì)存在于 ODS 中的歷史數(shù)據(jù),我們也需要定時(shí)的清理,以減少整個(gè)ETL系統(tǒng)負(fù)擔(dān)。針對(duì)不同的數(shù)據(jù),清理的要求也不同,有的數(shù)據(jù)需要保留一天,以便同以后的數(shù)據(jù)對(duì)比,有的數(shù)據(jù)則可以即時(shí)清理掉。在本模型中,我們可以設(shè)置表數(shù)據(jù)的清理范圍和時(shí)間,用戶只需根據(jù)具體要求設(shè)置好執(zhí)行時(shí)間,則系統(tǒng)會(huì)在指定時(shí)間清理指定數(shù)據(jù)。
5.模型的應(yīng)用
我們將此模型應(yīng)用到某商業(yè)銀行的非現(xiàn)場(chǎng)審計(jì)系統(tǒng)中,針對(duì)審計(jì)系統(tǒng)的特點(diǎn)對(duì)各個(gè)模塊就行了本地化。系統(tǒng)實(shí)際運(yùn)行情況表明,該系統(tǒng)具有很好的效率,可靠性比較強(qiáng),同時(shí)具有一定的容錯(cuò)性,能很好的滿足用戶的需求。
6.總結(jié)
本文針對(duì)商業(yè)銀行系統(tǒng)復(fù)雜的數(shù)據(jù)存儲(chǔ)環(huán)境設(shè)計(jì)了基于業(yè)務(wù)的 ETL 模型,該模型將商業(yè)工具和編程實(shí)現(xiàn)結(jié)合起來,可以靈活地實(shí)現(xiàn)用戶要求,同時(shí)保持了很高的效率。本模型在任務(wù)管理模塊將業(yè)務(wù)劃分為任務(wù),既可以按照傳統(tǒng)ETL 流程處理數(shù)據(jù),也可以在發(fā)生錯(cuò)誤后按照任務(wù)的任務(wù)號(hào)單獨(dú)完成目標(biāo)數(shù)據(jù)庫(kù)中出錯(cuò)部分,這種靈活的處理方式大大節(jié)省了時(shí)間。異常處理模塊和系統(tǒng)日志模塊為系統(tǒng)的安全性、健壯性提供了保障,歷史數(shù)據(jù)的定時(shí)清理機(jī)制也保證了此ETL 系統(tǒng)可以高效的完成任務(wù)。本碩士論文來源于中國(guó)碩士論文網(wǎng),參考文獻(xiàn):http://www.lunwenad.com/wzlb-3.html,轉(zhuǎn)載敬請(qǐng)保留鏈接,謝謝。
本系統(tǒng)也還存在一些不足的地方,比如對(duì)于語義異構(gòu)問題沒有有效提出有效的方法,希望將來能夠改進(jìn)。
【小研非現(xiàn)場(chǎng)審計(jì)系統(tǒng)業(yè)務(wù)的ETL】相關(guān)文章:
利用非現(xiàn)場(chǎng)審計(jì)系統(tǒng)進(jìn)行分析性復(fù)核03-23
非現(xiàn)場(chǎng)審計(jì)的實(shí)現(xiàn)方法研究03-24
論國(guó)有貿(mào)易銀行非現(xiàn)場(chǎng)計(jì)算機(jī)審計(jì)03-24
非審計(jì)服務(wù)與審計(jì)質(zhì)量03-22
非鑒證業(yè)務(wù)對(duì)審計(jì)獨(dú)立性的影響03-21
淺談國(guó)有商業(yè)銀行非現(xiàn)場(chǎng)計(jì)算機(jī)審計(jì)04-01
小研多變量系統(tǒng)的解耦與控制03-01
非接觸測(cè)距系統(tǒng)03-07