一種分布式etl一體機(jī)系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種分布式ETL一體機(jī)系統(tǒng),由分布式ETL一體機(jī)硬件系統(tǒng)、集群智勇管理引擎、ETL業(yè)務(wù)邏輯、ETL任務(wù)開發(fā)、數(shù)據(jù)引擎和數(shù)據(jù)存儲(chǔ)、CS模式數(shù)據(jù)傳輸以及相關(guān)系統(tǒng)管理模塊構(gòu)成。該一種分布式ETL一體機(jī)系統(tǒng)與現(xiàn)有技術(shù)相比,可以并行高速抽取大數(shù)據(jù)量的離線數(shù)據(jù)和流數(shù)據(jù),經(jīng)過分布式ETL一體機(jī)的數(shù)據(jù)處理,輸出至大數(shù)據(jù)系統(tǒng),完成ETL處理過程,實(shí)用性強(qiáng),適用范圍廣泛,具有很高的技術(shù)價(jià)值。
【專利說明】一種分布式ETL —體機(jī)系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,具體地說是一種實(shí)用性強(qiáng)、分布式ETL—體機(jī)系統(tǒng)。
【背景技術(shù)】
[0002]人類社會(huì)當(dāng)前已經(jīng)全面進(jìn)入信息時(shí)代,信息時(shí)代產(chǎn)生的數(shù)據(jù)逐年呈現(xiàn)指數(shù)級(jí)別地增長,由于傳統(tǒng)技術(shù)的限制,大量的數(shù)據(jù)沉睡在存儲(chǔ)介質(zhì)中。近幾年來,隨著Had00p、Spark等大數(shù)據(jù)處理技術(shù)的發(fā)展,數(shù)據(jù)已經(jīng)引起人們重視,成為與水、石油同等重要的戰(zhàn)略資源。當(dāng)前大量數(shù)據(jù)主要存儲(chǔ)在傳統(tǒng)的SQL數(shù)據(jù)庫中,與大數(shù)據(jù)技術(shù)使用的NoSQL數(shù)據(jù)庫有很大的不同,同時(shí)由于數(shù)據(jù)的多樣性特點(diǎn),使用大數(shù)據(jù)平臺(tái)處理數(shù)據(jù)前,需要把數(shù)據(jù)導(dǎo)入大數(shù)據(jù)平臺(tái)自己的存儲(chǔ)系統(tǒng),且在導(dǎo)入時(shí)一般需要進(jìn)行ETL處理,完成各類數(shù)據(jù)的抽取,清洗,裝載等過程。
[0003]傳統(tǒng)ETL系統(tǒng)主要運(yùn)行的單機(jī)上,也有分布式ETL處理,但主要是面向多任務(wù)場(chǎng)景。這些傳統(tǒng)的ETL系統(tǒng)功能已經(jīng)發(fā)展的較為完善,但是在應(yīng)對(duì)大數(shù)據(jù)量的場(chǎng)景時(shí),在處理速度上難以滿足處理需求,功能對(duì)接上存在很多偏差。
[0004]隨著大數(shù)據(jù)時(shí)代的即將到來,數(shù)據(jù)會(huì)進(jìn)一步膨脹,面向大數(shù)據(jù)平臺(tái)的ETL處理需求將越來越多,數(shù)據(jù)量越來越大,處理時(shí)效要求越來越迫切,最終會(huì)導(dǎo)致傳統(tǒng)的ETL處理方式難堪重負(fù)。所以,專為大數(shù)據(jù)設(shè)計(jì)的,高效能數(shù)據(jù)處理,大吞吐量,功能完備的ETL處理一體化平臺(tái)將成為大數(shù)據(jù)時(shí)代的一種新的需求。
[0005]基于此,現(xiàn)提供一種面向大數(shù)據(jù)的分布式ETL —體機(jī)系統(tǒng)設(shè)計(jì),以滿足大數(shù)據(jù)時(shí)代的ETL處理需求。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種實(shí)用性強(qiáng)、分布式ETL—體機(jī)系統(tǒng)。
[0007]—種分布式ETL —體機(jī)系統(tǒng),其具體實(shí)現(xiàn)過程為:
設(shè)置分布式ETL —體機(jī)硬件系統(tǒng),該硬件系統(tǒng)包括服務(wù)器集群,使用多臺(tái)適合大數(shù)據(jù)傳輸和存儲(chǔ)處理的服務(wù)器,構(gòu)建高效能的ETL處理硬件平臺(tái);上述硬件系統(tǒng)的集群使用主-從式結(jié)構(gòu),即整個(gè)集群包括一個(gè)主節(jié)點(diǎn)、若干從節(jié)點(diǎn);
設(shè)置集群智能管理引擎作為硬件層和ETL業(yè)務(wù)系統(tǒng)中間的接口,為ETL業(yè)務(wù)提供所有的支撐服務(wù),該集群智能管理引擎還作為硬件集群的上層管理者,統(tǒng)一管理集群的內(nèi)存、硬盤、網(wǎng)絡(luò)硬件資源,同時(shí)負(fù)責(zé)節(jié)點(diǎn)擴(kuò)展、雙機(jī)熱備、備用主節(jié)點(diǎn)選擇、集群監(jiān)控的功能;
在主節(jié)點(diǎn)內(nèi)設(shè)置分布式ETL管理中心,該分布式ETL管理中心由主節(jié)點(diǎn)執(zhí)行ETL任務(wù)的協(xié)同、負(fù)載均衡,數(shù)據(jù)引擎管理,任務(wù)管理;并配合集群智能管理引擎完成相關(guān)數(shù)據(jù)的同
I K
少;
設(shè)置ETL業(yè)務(wù)邏輯,即通過各節(jié)點(diǎn)接收分布式ETL管理中心分配的任務(wù),協(xié)同完成任務(wù)的ETL業(yè)務(wù)處理,該業(yè)務(wù)處理包括數(shù)據(jù)抽取,數(shù)據(jù)清洗、轉(zhuǎn)換,數(shù)據(jù)裝載,數(shù)據(jù)回流,系統(tǒng)分析,質(zhì)量管理ETL系統(tǒng)功能;
設(shè)置ETL任務(wù)管理,提供圖形化任務(wù)設(shè)計(jì),即使用可視化的ETL任務(wù)設(shè)計(jì),設(shè)計(jì)的元數(shù)據(jù)存儲(chǔ)在任務(wù)元數(shù)據(jù)庫中;
設(shè)置數(shù)據(jù)引擎,管理各類數(shù)據(jù)源連接驅(qū)動(dòng)?’為ETL系統(tǒng)本身的各類元數(shù)據(jù)存儲(chǔ)提供數(shù)據(jù)庫統(tǒng)一存儲(chǔ)接口 ;完成分布式數(shù)據(jù)存儲(chǔ)統(tǒng)一管理;
設(shè)置數(shù)據(jù)存儲(chǔ),提供業(yè)務(wù)數(shù)據(jù)存儲(chǔ)、用戶數(shù)據(jù)緩存功能,該數(shù)據(jù)存儲(chǔ)使用分布式內(nèi)存存儲(chǔ)和高速硬盤存儲(chǔ);
設(shè)置主從Client-Server數(shù)據(jù)傳輸,在數(shù)據(jù)源端使用Client獲得源數(shù)據(jù),然后連接分布式ETL系統(tǒng)的Server端口,完成數(shù)據(jù)匯聚收集;
設(shè)置配置管理模塊,即提供可交互的WEB UI界面,對(duì)集群進(jìn)行統(tǒng)一配置管理和用戶管理;
設(shè)置日志模塊,該日志模塊將集群生成的各類日志,匯入日志模塊進(jìn)行統(tǒng)一管理,并提供日志的統(tǒng)計(jì)分析。
[0008]所述硬件系統(tǒng)的集群在從節(jié)點(diǎn)中選擇一個(gè)節(jié)點(diǎn)作為備用主節(jié)點(diǎn),該備用主節(jié)點(diǎn)及時(shí)同步主節(jié)點(diǎn)的各類管理配置信息,進(jìn)行熱備;當(dāng)主節(jié)點(diǎn)出現(xiàn)故障脫離集群后,備用主節(jié)點(diǎn)切換為主節(jié)點(diǎn)角色,接替主節(jié)點(diǎn)管理整個(gè)集群的ETL任務(wù),同時(shí)從剩余從節(jié)點(diǎn)中選擇一個(gè)節(jié)點(diǎn)作為備用主節(jié)點(diǎn);
所述集群各節(jié)點(diǎn)配置8G以上的大容量內(nèi)存,直接在內(nèi)存中進(jìn)行ETL業(yè)務(wù)過程和數(shù)據(jù)存儲(chǔ);同時(shí)配備500G以上的大容量高速硬盤,作為數(shù)據(jù)緩存池,以適應(yīng)超大量數(shù)據(jù)的存儲(chǔ);集群內(nèi)部使用萬兆級(jí)以上鏈路進(jìn)行連接,保證內(nèi)部數(shù)據(jù)交換速度,同時(shí)各節(jié)點(diǎn)配置多條網(wǎng)絡(luò)鏈路,由主節(jié)點(diǎn)統(tǒng)一管理,可并行匯聚同一數(shù)據(jù)源的數(shù)據(jù);
所述集群智能管理引擎為上層ETL節(jié)點(diǎn)提供以下服務(wù):提供資源調(diào)度策略;提供分布式通信與協(xié)調(diào)接口 ;集群資源監(jiān)控。
[0009]所述分布式ETL管理中心通過主節(jié)點(diǎn)執(zhí)行實(shí)現(xiàn)其功能,其功能及實(shí)現(xiàn)過程包括: ETL任務(wù)調(diào)度,對(duì)各個(gè)用戶提交的任務(wù),按照預(yù)定策略進(jìn)行統(tǒng)一調(diào)度執(zhí)行;
ETL任務(wù)計(jì)劃,對(duì)將要執(zhí)行的任務(wù),根據(jù)數(shù)據(jù)分布特點(diǎn),各節(jié)點(diǎn)狀態(tài)信息,進(jìn)行合理的任務(wù)分解和數(shù)據(jù)分割,然后分配給各節(jié)點(diǎn)執(zhí)行;
ETL任務(wù)管理監(jiān)控,監(jiān)控任務(wù)運(yùn)行過程,匯總?cè)蝿?wù)信息給用戶;
負(fù)載均衡,根據(jù)任務(wù)監(jiān)控信息和當(dāng)前集群各節(jié)點(diǎn)資源狀態(tài),動(dòng)態(tài)調(diào)整任務(wù)分配;
錯(cuò)誤處理與故障恢復(fù),出現(xiàn)任務(wù)運(yùn)行錯(cuò)誤和節(jié)點(diǎn)故障時(shí),重新分配任務(wù);
數(shù)據(jù)引擎管理,內(nèi)置各類數(shù)據(jù)源引擎,并添加新的數(shù)據(jù)引擎,存儲(chǔ)在數(shù)據(jù)引擎庫中,由管理中心統(tǒng)一管理各類數(shù)據(jù)源驅(qū)動(dòng)引擎;
歷史任務(wù)記錄與管理。
[0010]所述ETL業(yè)務(wù)邏輯負(fù)責(zé)ETL業(yè)務(wù)處理,主要完成ETL的所有過程,即E邏輯抽取的過程、T邏輯轉(zhuǎn)換的過程、L邏輯加載的過程,同時(shí)負(fù)責(zé)數(shù)據(jù)回流,系統(tǒng)分析,數(shù)據(jù)質(zhì)量管理;上述E邏輯負(fù)責(zé)數(shù)據(jù)抽取過程,該硬件系統(tǒng)完成離線數(shù)據(jù)的全量或增量抽取,流數(shù)據(jù)實(shí)時(shí)抽取。
[0011]所述ETL任務(wù)管理使用可視化的ETL任務(wù)設(shè)計(jì),設(shè)計(jì)的元數(shù)據(jù)存儲(chǔ)在任務(wù)元數(shù)據(jù)庫中,為了方便多人開發(fā),提供協(xié)同開發(fā)功能,并使用版本控制對(duì)版本迭代進(jìn)行管理。
[0012]所述數(shù)據(jù)存儲(chǔ)為整個(gè)ETL系統(tǒng)的關(guān)鍵,其存儲(chǔ)的內(nèi)容分成兩部分:業(yè)務(wù)數(shù)據(jù)庫和用戶數(shù)據(jù)庫,其中業(yè)務(wù)數(shù)據(jù)庫存儲(chǔ)系統(tǒng)應(yīng)用過程中自身產(chǎn)生的數(shù)據(jù),包括系統(tǒng)配置數(shù)據(jù)、任務(wù)元數(shù)據(jù)、轉(zhuǎn)換函數(shù)、數(shù)據(jù)引擎,外部數(shù)據(jù)源抽取的Schema數(shù)據(jù)也存儲(chǔ)在業(yè)務(wù)數(shù)據(jù)庫中;用戶數(shù)據(jù)庫存儲(chǔ)ETL處理的對(duì)象和目的,該用戶數(shù)據(jù)庫使用內(nèi)存作為數(shù)據(jù)存儲(chǔ)介質(zhì),通過使用分布式內(nèi)存存儲(chǔ)系統(tǒng);使用高速硬盤作為處理大量離線數(shù)據(jù)時(shí)的緩沖池,當(dāng)內(nèi)存不足時(shí),使用硬盤作為外部緩存。
[0013]本發(fā)明的一種分布式ETL—體機(jī)系統(tǒng),具有以下優(yōu)點(diǎn):
該發(fā)明的一種分布式ETL —體機(jī)系統(tǒng)該使用高速網(wǎng)絡(luò)連接內(nèi)部集群和外部源數(shù)據(jù)設(shè)備,集成各類數(shù)據(jù)引擎,可連接多樣數(shù)據(jù)源,具有完備的ETL處理邏輯和高速數(shù)據(jù)傳輸能力,實(shí)用性強(qiáng),適用范圍廣泛,易于推廣。
【專利附圖】
【附圖說明】
[0014]附圖1為本發(fā)明的分布式ETL—體機(jī)構(gòu)架系統(tǒng)。
[0015]附圖2為本發(fā)明的一體機(jī)系統(tǒng)詳細(xì)架構(gòu)圖。
[0016]附圖3為本發(fā)明的一體機(jī)系統(tǒng)集群架構(gòu)圖。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
[0018]本發(fā)明提供一種分布式ETL—體機(jī)系統(tǒng),使用為大數(shù)據(jù)場(chǎng)景下ETL業(yè)務(wù)定制的高效能服務(wù)器集群,配合以處理大數(shù)據(jù)量為目標(biāo)設(shè)計(jì)的分布式ETL系統(tǒng),構(gòu)成高效的適用于大數(shù)據(jù)場(chǎng)景的ETL —體機(jī)系統(tǒng);該一體機(jī)系統(tǒng)硬件上使用高速網(wǎng)絡(luò)連接內(nèi)部集群和外部源數(shù)據(jù)設(shè)備,集成各類數(shù)據(jù)引擎,可以并行高速抽取大數(shù)據(jù)量的離線數(shù)據(jù)和流數(shù)據(jù),經(jīng)過分布式ETL —體機(jī)的數(shù)據(jù)處理,輸出至大數(shù)據(jù)系統(tǒng),完成ETL處理過程。如附圖1、圖2、圖3所示,其具體實(shí)現(xiàn)過程為:
設(shè)置分布式ETL —體機(jī)硬件系統(tǒng),該硬件系統(tǒng)包括服務(wù)器集群,使用多臺(tái)適合大數(shù)據(jù)傳輸和存儲(chǔ)處理的服務(wù)器,構(gòu)建高效能的ETL處理硬件平臺(tái);上述硬件系統(tǒng)的集群使用主-從式結(jié)構(gòu),即整個(gè)集群包括一個(gè)主節(jié)點(diǎn)、若干從節(jié)點(diǎn);
設(shè)置集群智能管理引擎作為硬件層和ETL業(yè)務(wù)系統(tǒng)中間的接口,為ETL業(yè)務(wù)提供所有的支撐服務(wù),該集群智能管理引擎還作為硬件集群的上層管理者,統(tǒng)一管理集群的內(nèi)存、硬盤、網(wǎng)絡(luò)硬件資源,同時(shí)負(fù)責(zé)節(jié)點(diǎn)擴(kuò)展、雙機(jī)熱備、備用主節(jié)點(diǎn)選擇、集群監(jiān)控的功能;
在主節(jié)點(diǎn)內(nèi)設(shè)置分布式ETL管理中心,該分布式ETL管理中心由主節(jié)點(diǎn)執(zhí)行ETL任務(wù)的協(xié)同、負(fù)載均衡,數(shù)據(jù)引擎管理,任務(wù)管理;并配合集群智能管理引擎完成相關(guān)數(shù)據(jù)的同
I K
少;
設(shè)置ETL業(yè)務(wù)邏輯,即通過各節(jié)點(diǎn)接收分布式ETL管理中心分配的任務(wù),協(xié)同完成任務(wù)的ETL業(yè)務(wù)處理,該業(yè)務(wù)處理包括數(shù)據(jù)抽取,數(shù)據(jù)清洗、轉(zhuǎn)換,數(shù)據(jù)裝載,數(shù)據(jù)回流,系統(tǒng)分析,質(zhì)量管理ETL系統(tǒng)功能;
設(shè)置ETL任務(wù)管理,提供圖形化任務(wù)設(shè)計(jì),即使用可視化的ETL任務(wù)設(shè)計(jì),設(shè)計(jì)的元數(shù)據(jù)存儲(chǔ)在任務(wù)元數(shù)據(jù)庫中;
設(shè)置數(shù)據(jù)引擎,管理各類數(shù)據(jù)源連接驅(qū)動(dòng);為ETL系統(tǒng)本身的各類元數(shù)據(jù)存儲(chǔ)提供數(shù)據(jù)庫統(tǒng)一存儲(chǔ)接口 ;完成分布式數(shù)據(jù)存儲(chǔ)統(tǒng)一管理;
設(shè)置數(shù)據(jù)存儲(chǔ),提供業(yè)務(wù)數(shù)據(jù)存儲(chǔ)、用戶數(shù)據(jù)緩存功能,該數(shù)據(jù)存儲(chǔ)使用分布式內(nèi)存存儲(chǔ)和高速硬盤存儲(chǔ);
設(shè)置主從Client-Server數(shù)據(jù)傳輸,在數(shù)據(jù)源端使用Client獲得源數(shù)據(jù),然后連接分布式ETL系統(tǒng)的Server端口,完成數(shù)據(jù)匯聚收集;
設(shè)置配置管理模塊,即提供可交互的WEB UI界面,對(duì)集群進(jìn)行統(tǒng)一配置管理和用戶管理;
設(shè)置日志模塊,該日志模塊將集群生成的各類日志,匯入日志模塊進(jìn)行統(tǒng)一管理,并提供日志的統(tǒng)計(jì)分析。
[0019]針對(duì)上述步驟,下面進(jìn)行詳細(xì)描述:
一、分布式ETL —體機(jī)硬件集群的設(shè)置。
[0020]分布式ETL —體機(jī)硬件集群架構(gòu)如附圖3所示,集群使用主-從式(Master-Slave)結(jié)構(gòu),整個(gè)集群由一個(gè)主節(jié)點(diǎn),多個(gè)從節(jié)點(diǎn)構(gòu)成,同時(shí)在從節(jié)點(diǎn)中選擇一個(gè)節(jié)點(diǎn)作為備用主節(jié)點(diǎn),即時(shí)同步主節(jié)點(diǎn)的各類管理配置信息,進(jìn)行熱備。當(dāng)主節(jié)點(diǎn)出現(xiàn)故障脫離集群后,備用主節(jié)點(diǎn)切換為主節(jié)點(diǎn)角色,接替主節(jié)點(diǎn)管理整個(gè)集群的ETL任務(wù),同時(shí)從剩余從節(jié)點(diǎn)中選擇一個(gè)節(jié)點(diǎn)作為備用主節(jié)點(diǎn)。
[0021 ] 針對(duì)ETL業(yè)務(wù)特點(diǎn),集群各節(jié)點(diǎn)配置大容量內(nèi)存,可以直接在內(nèi)存中完成ETL業(yè)務(wù)過程和數(shù)據(jù)存儲(chǔ)。同時(shí)配備大容量高速硬盤,作為數(shù)據(jù)緩存池,以適應(yīng)超大量數(shù)據(jù)的存儲(chǔ),也可以在特別情況下起到數(shù)據(jù)中心的作用。集群內(nèi)部使用萬兆級(jí)以上鏈路進(jìn)行連接,保證內(nèi)部數(shù)據(jù)交換速度,同時(shí)各節(jié)點(diǎn)配置多條網(wǎng)絡(luò)鏈路,由主節(jié)點(diǎn)統(tǒng)一管理,可并行匯聚同一數(shù)據(jù)源的數(shù)據(jù)。
[0022]二、集群智能管理引擎的設(shè)置。
[0023]集群智能管理引擎作為硬件集群的上層管理者,統(tǒng)一管理集群的內(nèi)存、硬盤、網(wǎng)絡(luò)等硬件資源,同時(shí)負(fù)責(zé)節(jié)點(diǎn)擴(kuò)展,雙機(jī)熱備,備用主節(jié)點(diǎn)選擇等功能。
[0024]集群智能管理引擎還為上層提供支撐服務(wù):1、提供資源調(diào)度策略,如公平調(diào)度、能力調(diào)度、延遲調(diào)度、主資源公平調(diào)度等策略。2、提供分布式通信與協(xié)調(diào)接口,如選舉算法、序列化、遠(yuǎn)程調(diào)用、Gossip服務(wù)、Zookeeper服務(wù)等。3、集群資源監(jiān)控。
[0025]總體來說,集群智能管理引擎作為硬件層和ETL業(yè)務(wù)系統(tǒng)中間的接口,為ETL業(yè)務(wù)提供所有的支撐服務(wù)。
[0026]三、分布式ETL管理中心的設(shè)置。
[0027]分布式ETL管理中心是整個(gè)系統(tǒng)的管理核心,由主節(jié)點(diǎn)執(zhí)行該角色的功能。主要實(shí)施內(nèi)容有:
I)ETL任務(wù)調(diào)度。對(duì)各個(gè)用戶提交的任務(wù),按照預(yù)定策略進(jìn)行統(tǒng)一調(diào)度執(zhí)行。
[0028]2) ETL任務(wù)計(jì)劃。對(duì)將要執(zhí)行的任務(wù),根據(jù)數(shù)據(jù)分布特點(diǎn),各節(jié)點(diǎn)狀態(tài)等信息,進(jìn)行合理的任務(wù)分解和數(shù)據(jù)分割,然后分配給各節(jié)點(diǎn)執(zhí)行。
[0029]3) ETL任務(wù)管理監(jiān)控。監(jiān)控任務(wù)運(yùn)行過程,匯總?cè)蝿?wù)信息給用戶。
[0030]4)負(fù)載均衡。根據(jù)任務(wù)監(jiān)控信息和當(dāng)前集群各節(jié)點(diǎn)資源狀態(tài),動(dòng)態(tài)調(diào)整任務(wù)分配。
[0031]5)錯(cuò)誤處理與故障恢復(fù)。出現(xiàn)任務(wù)運(yùn)行錯(cuò)誤和節(jié)點(diǎn)故障時(shí),重新分配任務(wù)。
[0032]6)數(shù)據(jù)引擎管理。內(nèi)置各類數(shù)據(jù)源引擎,并可以添加新的數(shù)據(jù)引擎,存儲(chǔ)在數(shù)據(jù)引擎庫中,由管理中心統(tǒng)一管理各類數(shù)據(jù)源驅(qū)動(dòng)引擎。
[0033]7)歷史任務(wù)記錄與管理。
[0034]四、ETL業(yè)務(wù)邏輯的設(shè)置。
[0035]ETL業(yè)務(wù)邏輯負(fù)責(zé)ETL業(yè)務(wù)處理,主要完成ETL的所有過程,即抽取(E邏輯)、轉(zhuǎn)換(T邏輯)、加載(L邏輯),同時(shí)負(fù)責(zé)數(shù)據(jù)回流,系統(tǒng)分析,數(shù)據(jù)質(zhì)量管理等內(nèi)容。
[0036]E邏輯負(fù)責(zé)數(shù)據(jù)抽取過程,一體機(jī)可完成離線數(shù)據(jù)的全量或增量抽取,流數(shù)據(jù)實(shí)時(shí)抽取。另外,可以抽取源數(shù)據(jù)的Schema,存入外部元數(shù)據(jù)庫,并可進(jìn)行編輯修改。
[0037]ETL業(yè)務(wù)邏輯分布在各個(gè)子節(jié)點(diǎn),由分布式ETL管理中心進(jìn)行統(tǒng)一啟動(dòng)管理。
[0038]五、ETL任務(wù)管理的設(shè)置。
[0039]ETL任務(wù)管理使用可視化的ETL任務(wù)設(shè)計(jì),設(shè)計(jì)的元數(shù)據(jù)存儲(chǔ)在任務(wù)元數(shù)據(jù)庫中,為了方便多人開發(fā),提供協(xié)同開發(fā)功能,并使用版本控制對(duì)版本迭代進(jìn)行管理。
[0040]六、數(shù)據(jù)存儲(chǔ)的設(shè)置。
[0041]數(shù)據(jù)存儲(chǔ)是ETL系統(tǒng)的關(guān)鍵。本一體機(jī)系統(tǒng)的數(shù)據(jù)存儲(chǔ)分為兩部分:業(yè)務(wù)數(shù)據(jù)和用戶數(shù)據(jù)。
[0042]I)業(yè)務(wù)數(shù)據(jù):主要是系統(tǒng)應(yīng)用過程中自身的數(shù)據(jù),有系統(tǒng)配置數(shù)據(jù)、任務(wù)元數(shù)據(jù)、轉(zhuǎn)換函數(shù)、數(shù)據(jù)引擎,另外外部數(shù)據(jù)源抽取的Schema數(shù)據(jù)也存儲(chǔ)在業(yè)務(wù)數(shù)據(jù)庫中。
[0043]業(yè)務(wù)數(shù)據(jù)可使用傳統(tǒng)數(shù)據(jù)庫進(jìn)行存儲(chǔ),方便利用傳統(tǒng)數(shù)據(jù)庫強(qiáng)大的管理功能。
[0044]2)用戶數(shù)據(jù):ETL處理的對(duì)象和目的就是用戶數(shù)據(jù)??紤]到ETL系統(tǒng)是數(shù)據(jù)流轉(zhuǎn)處理中心而不是存儲(chǔ)中心,主要使用內(nèi)存作為數(shù)據(jù)存儲(chǔ)介質(zhì),通過使用分布式內(nèi)存存儲(chǔ)系統(tǒng),可以達(dá)到內(nèi)存級(jí)別的數(shù)據(jù)讀取速度。
[0045]另外,內(nèi)存存儲(chǔ)容量小,成本高,不能完全取代硬盤角色,本系統(tǒng)同時(shí)使用高速大容量硬盤,作為處理大量離線數(shù)據(jù)時(shí)的緩沖池,當(dāng)內(nèi)存不足時(shí),使用硬盤作為外部緩存。
[0046]七、Client-Server數(shù)據(jù)傳輸?shù)脑O(shè)置。
[0047]一般來說,本系統(tǒng)可以通過數(shù)據(jù)引擎直接連接數(shù)據(jù)源進(jìn)行數(shù)據(jù)抽取過程。但是會(huì)存在某些數(shù)據(jù)源不能直接連接,或者在數(shù)據(jù)源端數(shù)據(jù)導(dǎo)出更容易和高效。本系統(tǒng)可以在數(shù)據(jù)源端安裝Client進(jìn)行數(shù)據(jù)獲得后通過自身數(shù)據(jù)快速傳輸方式發(fā)送給一體機(jī)系統(tǒng)的Server端。Server端配置在一體機(jī)集群的一臺(tái)子節(jié)點(diǎn)上,由其獲得數(shù)據(jù)并分發(fā)給其它節(jié)點(diǎn)進(jìn)行下一步ETL處理。
[0048]八、集群配置管理與日志管理。
[0049]提供方便用戶操作的Web UI,進(jìn)行集群的配置管理和日志管理集群配置管理主要有配置導(dǎo)入導(dǎo)出,用戶管理,配置HA等。
[0050]日志管理模塊使用Syslog協(xié)議,完成日志生成、日志入庫,日志統(tǒng)計(jì)分析等。
[0051]上述【具體實(shí)施方式】僅是本發(fā)明的具體個(gè)案,本發(fā)明的專利保護(hù)范圍包括但不限于上述【具體實(shí)施方式】,任何符合本發(fā)明的一種分布式ETL —體機(jī)系統(tǒng)的權(quán)利要求書的且任何所述【技術(shù)領(lǐng)域】的普通技術(shù)人員對(duì)其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。
【權(quán)利要求】
1.一種分布式ETL—體機(jī)系統(tǒng),其特征在于,其具體實(shí)現(xiàn)過程為: 設(shè)置分布式ETL —體機(jī)硬件系統(tǒng),該硬件系統(tǒng)包括服務(wù)器集群,使用多臺(tái)適合大數(shù)據(jù)傳輸和存儲(chǔ)處理的服務(wù)器,構(gòu)建高效能的ETL處理硬件平臺(tái);上述硬件系統(tǒng)的集群使用主-從式結(jié)構(gòu),即整個(gè)集群包括一個(gè)主節(jié)點(diǎn)、若干從節(jié)點(diǎn); 設(shè)置集群智能管理引擎作為硬件層和ETL業(yè)務(wù)系統(tǒng)中間的接口,為ETL業(yè)務(wù)提供所有的支撐服務(wù),該集群智能管理引擎還作為硬件集群的上層管理者,統(tǒng)一管理集群的內(nèi)存、硬盤、網(wǎng)絡(luò)硬件資源,同時(shí)負(fù)責(zé)節(jié)點(diǎn)擴(kuò)展、雙機(jī)熱備、備用主節(jié)點(diǎn)選擇、集群監(jiān)控的功能; 在主節(jié)點(diǎn)內(nèi)設(shè)置分布式ETL管理中心,該分布式ETL管理中心由主節(jié)點(diǎn)執(zhí)行ETL任務(wù)的協(xié)同、負(fù)載均衡,數(shù)據(jù)引擎管理,任務(wù)管理;并配合集群智能管理引擎完成相關(guān)數(shù)據(jù)的同I K少; 設(shè)置ETL業(yè)務(wù)邏輯,即通過各節(jié)點(diǎn)接收分布式ETL管理中心分配的任務(wù),協(xié)同完成任務(wù)的ETL業(yè)務(wù)處理,該業(yè)務(wù)處理包括數(shù)據(jù)抽取,數(shù)據(jù)清洗、轉(zhuǎn)換,數(shù)據(jù)裝載,數(shù)據(jù)回流,系統(tǒng)分析,質(zhì)量管理ETL系統(tǒng)功能; 設(shè)置ETL任務(wù)管理,提供圖形化任務(wù)設(shè)計(jì),即使用可視化的ETL任務(wù)設(shè)計(jì),設(shè)計(jì)的元數(shù)據(jù)存儲(chǔ)在任務(wù)元數(shù)據(jù)庫中; 設(shè)置數(shù)據(jù)引擎,管理各類數(shù)據(jù)源連接驅(qū)動(dòng)?’為ETL系統(tǒng)本身的各類元數(shù)據(jù)存儲(chǔ)提供數(shù)據(jù)庫統(tǒng)一存儲(chǔ)接口 ;完成分布式數(shù)據(jù)存儲(chǔ)統(tǒng)一管理; 設(shè)置數(shù)據(jù)存儲(chǔ),提供業(yè)務(wù)數(shù)據(jù)存儲(chǔ)、用戶數(shù)據(jù)緩存功能,該數(shù)據(jù)存儲(chǔ)使用分布式內(nèi)存存儲(chǔ)和高速硬盤存儲(chǔ); 設(shè)置主從Client-Server數(shù)據(jù)傳輸,在數(shù)據(jù)源端使用Client獲得源數(shù)據(jù),然后連接分布式ETL系統(tǒng)的Server端口,完成數(shù)據(jù)匯聚收集; 設(shè)置配置管理模塊,即提供可交互的WEB UI界面,對(duì)集群進(jìn)行統(tǒng)一配置管理和用戶管理; 設(shè)置日志模塊,該日志模塊將集群生成的各類日志,匯入日志模塊進(jìn)行統(tǒng)一管理,并提供日志的統(tǒng)計(jì)分析。
2.根據(jù)權(quán)利要求1所述的一種分布式ETL—體機(jī)系統(tǒng),其特征在于,所述硬件系統(tǒng)的集群在從節(jié)點(diǎn)中選擇一個(gè)節(jié)點(diǎn)作為備用主節(jié)點(diǎn),該備用主節(jié)點(diǎn)及時(shí)同步主節(jié)點(diǎn)的各類管理配置信息,進(jìn)行熱備;當(dāng)主節(jié)點(diǎn)出現(xiàn)故障脫離集群后,備用主節(jié)點(diǎn)切換為主節(jié)點(diǎn)角色,接替主節(jié)點(diǎn)管理整個(gè)集群的ETL任務(wù),同時(shí)從剩余從節(jié)點(diǎn)中選擇一個(gè)節(jié)點(diǎn)作為備用主節(jié)點(diǎn); 所述集群各節(jié)點(diǎn)配置大容量內(nèi)存,直接在內(nèi)存中進(jìn)行ETL業(yè)務(wù)過程和數(shù)據(jù)存儲(chǔ);同時(shí)配備大容量高速硬盤,作為數(shù)據(jù)緩存池,以適應(yīng)超大量數(shù)據(jù)的存儲(chǔ);集群內(nèi)部使用萬兆級(jí)以上鏈路進(jìn)行連接,保證內(nèi)部數(shù)據(jù)交換速度,同時(shí)各節(jié)點(diǎn)配置多條網(wǎng)絡(luò)鏈路,由主節(jié)點(diǎn)統(tǒng)一管理,可并行匯聚同一數(shù)據(jù)源的數(shù)據(jù); 所述集群智能管理引擎為上層ETL節(jié)點(diǎn)提供以下服務(wù):提供資源調(diào)度策略;提供分布式通信與協(xié)調(diào)接口 ;集群資源監(jiān)控。
3.根據(jù)權(quán)利要求1所述的一種分布式ETL—體機(jī)系統(tǒng),其特征在于,所述分布式ETL管理中心通過主節(jié)點(diǎn)執(zhí)行實(shí)現(xiàn)其功能,其功能及實(shí)現(xiàn)過程包括: ETL任務(wù)調(diào)度,對(duì)各個(gè)用戶提交的任務(wù),按照預(yù)定策略進(jìn)行統(tǒng)一調(diào)度執(zhí)行; ETL任務(wù)計(jì)劃,對(duì)將要執(zhí)行的任務(wù),根據(jù)數(shù)據(jù)分布特點(diǎn),各節(jié)點(diǎn)狀態(tài)信息,進(jìn)行合理的任務(wù)分解和數(shù)據(jù)分割,然后分配給各節(jié)點(diǎn)執(zhí)行; ETL任務(wù)管理監(jiān)控,監(jiān)控任務(wù)運(yùn)行過程,匯總?cè)蝿?wù)信息給用戶; 負(fù)載均衡,根據(jù)任務(wù)監(jiān)控信息和當(dāng)前集群各節(jié)點(diǎn)資源狀態(tài),動(dòng)態(tài)調(diào)整任務(wù)分配; 錯(cuò)誤處理與故障恢復(fù),出現(xiàn)任務(wù)運(yùn)行錯(cuò)誤和節(jié)點(diǎn)故障時(shí),重新分配任務(wù); 數(shù)據(jù)引擎管理,內(nèi)置各類數(shù)據(jù)源引擎,并添加新的數(shù)據(jù)引擎,存儲(chǔ)在數(shù)據(jù)引擎庫中,由管理中心統(tǒng)一管理各類數(shù)據(jù)源驅(qū)動(dòng)引擎; 歷史任務(wù)記錄與管理。
4.根據(jù)權(quán)利要求1所述的一種分布式ETL—體機(jī)系統(tǒng),其特征在于,所述ETL業(yè)務(wù)邏輯負(fù)責(zé)ETL業(yè)務(wù)處理,主要完成ETL的所有過程,即E邏輯抽取的過程、T邏輯轉(zhuǎn)換的過程、L邏輯加載的過程,同時(shí)負(fù)責(zé)數(shù)據(jù)回流,系統(tǒng)分析,數(shù)據(jù)質(zhì)量管理;上述E邏輯負(fù)責(zé)數(shù)據(jù)抽取過程,該硬件系統(tǒng)完成離線數(shù)據(jù)的全量或增量抽取,流數(shù)據(jù)實(shí)時(shí)抽取。
5.根據(jù)權(quán)利要求1所述的一種分布式ETL—體機(jī)系統(tǒng),其特征在于,所述ETL任務(wù)管理使用可視化的ETL任務(wù)設(shè)計(jì),設(shè)計(jì)的元數(shù)據(jù)存儲(chǔ)在任務(wù)元數(shù)據(jù)庫中,為了方便多人開發(fā),提供協(xié)同開發(fā)功能,并使用版本控制對(duì)版本迭代進(jìn)行管理。
6.根據(jù)權(quán)利要求1所述的一種分布式ETL—體機(jī)系統(tǒng),其特征在于,所述數(shù)據(jù)存儲(chǔ)為整個(gè)ETL系統(tǒng)的關(guān)鍵,其存儲(chǔ)的內(nèi)容分成兩部分:業(yè)務(wù)數(shù)據(jù)庫和用戶數(shù)據(jù)庫,其中業(yè)務(wù)數(shù)據(jù)庫存儲(chǔ)系統(tǒng)應(yīng)用過程中自身產(chǎn)生的數(shù)據(jù),包括系統(tǒng)配置數(shù)據(jù)、任務(wù)元數(shù)據(jù)、轉(zhuǎn)換函數(shù)、數(shù)據(jù)引擎,外部數(shù)據(jù)源抽取的Schema數(shù)據(jù)也存儲(chǔ)在業(yè)務(wù)數(shù)據(jù)庫中;用戶數(shù)據(jù)庫存儲(chǔ)ETL處理的對(duì)象和目的,該用戶數(shù)據(jù)庫使用內(nèi)存作為數(shù)據(jù)存儲(chǔ)介質(zhì),通過使用分布式內(nèi)存存儲(chǔ)系統(tǒng);使用高速硬盤作為處理大量離線數(shù)據(jù)時(shí)的緩沖池,當(dāng)內(nèi)存不足時(shí),使用硬盤作為外部緩存。
【文檔編號(hào)】G06F17/30GK104391989SQ201410774178
【公開日】2015年3月4日 申請(qǐng)日期:2014年12月16日 優(yōu)先權(quán)日:2014年12月16日
【發(fā)明者】劉偉, 辛國茂, 金洪殿, 亓開元, 房體盈, 曹連超, 盧軍佐 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司