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