專利名稱:數(shù)據(jù)處理方法、節(jié)點(diǎn)和提取、轉(zhuǎn)換和加載etl系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息技木,尤其涉及ー種數(shù)據(jù)處理方法、節(jié)點(diǎn)和提取、轉(zhuǎn)換和加載ETL系統(tǒng)。
背景技術(shù):
在信息和通信系統(tǒng)中,經(jīng)常需要將數(shù)據(jù)倒到文件系統(tǒng)、文本傳輸協(xié)議(FileTransfer Protocol, FTP)或者網(wǎng)絡(luò)文件系統(tǒng)(Network File System, NFS)中,由網(wǎng)絡(luò)中各節(jié)點(diǎn)進(jìn)行數(shù)據(jù)提取、加載和轉(zhuǎn)換(Extract Load Transform, ETL)處理?,F(xiàn)有技術(shù)中,采用前置節(jié)點(diǎn)將數(shù)據(jù)讀取并轉(zhuǎn)發(fā)到各處理節(jié)點(diǎn)上,再由各處理節(jié)點(diǎn)對(duì)前置節(jié)點(diǎn)讀取的數(shù)據(jù)進(jìn)行ETL處理,然而,采用這種方法,前置節(jié)點(diǎn)作為入口節(jié)點(diǎn),存在 1/0性能瓶頸,無(wú)法處理海量數(shù)據(jù)或處理海量數(shù)據(jù)存在難題。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供ー種數(shù)據(jù)處理方法、節(jié)點(diǎn)和提取、轉(zhuǎn)換和加載ETL系統(tǒng),提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。一方面,本發(fā)明實(shí)施例提供ー種數(shù)據(jù)處理方法,包括前置節(jié)點(diǎn)從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑;所述前置節(jié)點(diǎn)將所述多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn),以使所述各ETL處理節(jié)點(diǎn)根據(jù)收到的所述存儲(chǔ)路徑從所述源數(shù)據(jù)源中獲取與收到的所述文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù)。本發(fā)明實(shí)施例還提供ー種數(shù)據(jù)處理方法,包括提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn)接收前置節(jié)點(diǎn)發(fā)送的待處理數(shù)據(jù)對(duì)應(yīng)的至少ー個(gè)文件的文件名和存儲(chǔ)路徑;所述ETL處理節(jié)點(diǎn)根據(jù)所述存儲(chǔ)路徑,從源數(shù)據(jù)源中獲取與所述文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù);所述ETL處理節(jié)點(diǎn)根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn),若所述目標(biāo)處理節(jié)點(diǎn)為所述ETL處理節(jié)點(diǎn)本身,則所述ETL處理節(jié)點(diǎn)對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載,若所述目標(biāo)處理處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則所述ETL處理節(jié)點(diǎn)將所述待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)換和/或加載。另ー方面,本發(fā)明實(shí)施例提供ー種前置節(jié)點(diǎn),包括獲取模塊,用于從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑;文件名轉(zhuǎn)發(fā)模塊,用于將所述多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn),以使所述各ETL處理節(jié)點(diǎn)根據(jù)收到的所述存儲(chǔ)路徑從所述源數(shù)據(jù)源中獲取與收到的所述文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù)。本發(fā)明實(shí)施例還提供ー種提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn),包括接收模塊,用于接收前置節(jié)點(diǎn)發(fā)送的待處理數(shù)據(jù)對(duì)應(yīng)的至少ー個(gè)文件的文件名和存儲(chǔ)路徑;獲取模塊,用于根據(jù)所述存儲(chǔ)路徑,從源數(shù)據(jù)源中獲取與所述文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù);處理模塊,用于根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn),若所述目標(biāo)處理節(jié)點(diǎn)為所述ETL處理節(jié)點(diǎn)本身,則對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載,若所述目標(biāo)處理處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則將所述待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)換和/或加載。 再一方面,本發(fā)明實(shí)施例還提供ー種提取、轉(zhuǎn)換和加載ETL系統(tǒng),包括前置節(jié)點(diǎn)和多個(gè)ETL處理節(jié)點(diǎn);所述前置節(jié)點(diǎn),用于從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑;將所述多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn);所述ETL處理節(jié)點(diǎn)用于接收前置節(jié)點(diǎn)發(fā)送的待處理數(shù)據(jù)對(duì)應(yīng)的至少ー個(gè)文件的文件名和存儲(chǔ)路徑;根據(jù)所述存儲(chǔ)路徑,從源數(shù)據(jù)源中獲取與所述文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù);根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn),若所述目標(biāo)處理節(jié)點(diǎn)為所述ETL處理節(jié)點(diǎn)本身,則對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載,若所述目標(biāo)處理處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則將所述待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)換和/或加載。本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法、節(jié)點(diǎn)和ETL系統(tǒng),通過(guò)前置節(jié)點(diǎn)在源數(shù)據(jù)源上讀取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和文件存儲(chǔ)路徑,將這些文件名和文件存儲(chǔ)路徑均衡地發(fā)送到網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)上;ETL處理節(jié)點(diǎn)根據(jù)文件名和文件存儲(chǔ)路徑從數(shù)據(jù)源上獲取待存儲(chǔ)數(shù)據(jù)后,根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理的目標(biāo)處理節(jié)點(diǎn),如果目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理,如果目標(biāo)處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行ETL處理;可見(jiàn),利用文件名輪詢和數(shù)據(jù)輪詢進(jìn)行多級(jí)負(fù)荷分擔(dān)方法,將數(shù)據(jù)負(fù)荷分擔(dān)到各ETL處理節(jié)點(diǎn),從而提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明提供的數(shù)據(jù)處理方法一個(gè)實(shí)施例的流程圖;圖2為本發(fā)明提供的數(shù)據(jù)處理方法又一個(gè)實(shí)施例的流程圖;圖3為本發(fā)明提供的數(shù)據(jù)處理方法另ー個(gè)實(shí)施例的流程圖;圖4為本發(fā)明提供的前置節(jié)點(diǎn)ー個(gè)實(shí)施例的結(jié)構(gòu)示意圖5為本發(fā)明提供的前置節(jié)點(diǎn)又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖6為本發(fā)明提供的ETL處理節(jié)點(diǎn)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖7為本發(fā)明提供的ETL處理節(jié)點(diǎn)又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖8為本發(fā)明提供的ETL系統(tǒng)ー個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖9為本發(fā)明提供的ETL系統(tǒng)又ー個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。 圖I為本發(fā)明提供的數(shù)據(jù)處理方法一個(gè)實(shí)施例的流程圖,如圖I所示,該方法包括S101、前置節(jié)點(diǎn)從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑;S102、前置節(jié)點(diǎn)將多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)ETL(Extract、Transform、Load,提取、轉(zhuǎn)換和加載)處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn),以使各ETL處理節(jié)點(diǎn)根據(jù)收到的存儲(chǔ)路徑從源數(shù)據(jù)源中獲取與收到的文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù)。其中,前置節(jié)點(diǎn)可以是網(wǎng)絡(luò)中的負(fù)載平衡(Load Balance)等類型的節(jié)點(diǎn)設(shè)備,在一種實(shí)現(xiàn)方式下,其物理產(chǎn)品形態(tài)可以是通用交換路由器(Universal Switching Router,USR)等等;以及,ETL處理節(jié)點(diǎn)可以是網(wǎng)絡(luò)中的用于進(jìn)行ETL處理的物理機(jī)或虛擬機(jī),在一種實(shí)現(xiàn)方式下,其物理產(chǎn)品形態(tài)也可以是USR;源數(shù)據(jù)源可以是各種網(wǎng)絡(luò)設(shè)備,例如網(wǎng)關(guān)通用無(wú)線分組服務(wù)(General Packet Radio Service, GPRS)支持節(jié)點(diǎn)(Gateway GPRSSupport Node, GGSN),也可以是文本傳輸協(xié)議(File Transfer Protocol, FTP)服務(wù)器(Server)或網(wǎng)絡(luò)文件系統(tǒng)(Network File System, N FS)服務(wù)器等。目標(biāo)數(shù)據(jù)源也可以是與源數(shù)據(jù)源相類似的各種網(wǎng)絡(luò)設(shè)備,例如數(shù)據(jù)倉(cāng)庫(kù)/數(shù)據(jù)庫(kù)、NFS服務(wù)器、FTP服務(wù)器。將源數(shù)據(jù)源中存儲(chǔ)的待處理數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和加載(ExtractionTransformation Loading, ETL)處理的過(guò)程,是將源數(shù)據(jù)源中存儲(chǔ)的數(shù)據(jù)按照某一規(guī)則進(jìn)行處理后加載到目標(biāo)數(shù)據(jù)源中。具體可以對(duì)待處理數(shù)據(jù)進(jìn)行過(guò)濾,去除掉不關(guān)注或者不需要的數(shù)據(jù),并將處理后的數(shù)據(jù)進(jìn)一歩轉(zhuǎn)換為所需要的存儲(chǔ)格式,將轉(zhuǎn)換后的數(shù)據(jù)按照一定的規(guī)則進(jìn)行整合,并加載到目標(biāo)數(shù)據(jù)源(可以數(shù)據(jù)倉(cāng)庫(kù)或數(shù)據(jù)庫(kù)等)中,作為后續(xù)分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。例如可以對(duì)源數(shù)據(jù)源中存儲(chǔ)的成千上萬(wàn)條的用戶上網(wǎng)記錄(即待處理數(shù)據(jù)),按照用戶進(jìn)行統(tǒng)計(jì),將同一用戶的所有上網(wǎng)記錄進(jìn)行數(shù)據(jù)整合和匯總;還可以將源數(shù)據(jù)源中存儲(chǔ)的成千上萬(wàn)條的上網(wǎng)記錄,按照網(wǎng)站進(jìn)行統(tǒng)計(jì),將同一網(wǎng)站的所有用戶訪問(wèn)記錄進(jìn)行數(shù)據(jù)整合和匯總等。本發(fā)明實(shí)施例中,前置節(jié)點(diǎn)可以從源數(shù)據(jù)源中(例如FTP服務(wù)器或者NFS服務(wù)器)獲取待處理數(shù)據(jù)對(duì)應(yīng)的文件的文件名和存儲(chǔ)路徑??蛇x的,前置節(jié)點(diǎn)可以在源數(shù)據(jù)源中一次性獲取待處理的數(shù)據(jù)對(duì)應(yīng)的文件的文件名和存儲(chǔ)路徑所構(gòu)成的文件名列表,該文件名列表中可以包括待處理數(shù)據(jù)對(duì)應(yīng)的所有文件的文件名和存儲(chǔ)路徑。可以理解的是,前置節(jié)點(diǎn)也可以分多次從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對(duì)應(yīng)的所有文件的文件名和存儲(chǔ)路徑。前置節(jié)點(diǎn)獲取待處理數(shù)據(jù)對(duì)應(yīng)的文件的文件名和存儲(chǔ)路徑后,可以按照ETL處理節(jié)點(diǎn)的數(shù)量,以輪詢的方式將所述多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn)。例如待處理數(shù)據(jù)對(duì)應(yīng)的1000文件,則前置節(jié)點(diǎn)可以向網(wǎng)絡(luò)中的10個(gè)ETL處理節(jié)點(diǎn)中的每個(gè)處理節(jié)點(diǎn)發(fā)送100個(gè)文件對(duì)應(yīng)的文件名和存儲(chǔ)路徑??蛇x的,前置節(jié)點(diǎn)可以以輪詢的方式將待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑均衡地發(fā)送給ETL處理節(jié)點(diǎn)中的各處理節(jié)點(diǎn)。例如前置節(jié)點(diǎn)可以根據(jù)網(wǎng)絡(luò)中各處理節(jié)點(diǎn)的序號(hào),依次向各處理節(jié)點(diǎn)發(fā)送文件名和存儲(chǔ)路徑。可以理解的是,前置節(jié)點(diǎn)也可以同時(shí)向網(wǎng)絡(luò)中的各處理節(jié)點(diǎn)發(fā)送文件名和存儲(chǔ)路徑。以上僅提供了前置節(jié)點(diǎn)從數(shù)據(jù)源上獲取待處理數(shù)據(jù)對(duì)應(yīng)的文件的文件名和存儲(chǔ)路徑,以及向網(wǎng)絡(luò)中的各處理節(jié)點(diǎn)發(fā)送文件名和存儲(chǔ)路徑幾種可行的實(shí)施方式,但 并不以此作為本發(fā)明實(shí)施例的限制。本實(shí)施例提供的數(shù)據(jù)處理方法,通過(guò)前置節(jié)點(diǎn)在源數(shù)據(jù)源上讀取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑,將這些文件名和存儲(chǔ)路徑均衡地分發(fā)到網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)上。各ETL處理節(jié)點(diǎn)根據(jù)文件名和存儲(chǔ)路徑從源數(shù)據(jù)源上獲取待存儲(chǔ)數(shù)據(jù)后,根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理的目標(biāo)處理節(jié)點(diǎn),如果目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理,如果目標(biāo)處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)發(fā)送至目標(biāo)處理節(jié)點(diǎn)進(jìn)行ETL處理;可見(jiàn),利用文件名輪詢和數(shù)據(jù)輪詢進(jìn)行多級(jí)負(fù)荷分擔(dān)方法,將數(shù)據(jù)負(fù)荷分擔(dān)到各ETL處理節(jié)點(diǎn),從而提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。圖2為本發(fā)明提供的數(shù)據(jù)處理方法又一個(gè)實(shí)施例的流程圖,如圖2所示,該方法包括S20UETL (Extract、Transform、Load,提取、轉(zhuǎn)換和加載)處理節(jié)點(diǎn)接收前置節(jié)點(diǎn)發(fā)送的待處理數(shù)據(jù)對(duì)應(yīng)的至少ー個(gè)文件的文件名和存儲(chǔ)路徑。S202、ETL處理節(jié)點(diǎn)根據(jù)存儲(chǔ)路徑,從源數(shù)據(jù)源中獲取與文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù)。S203、ETL處理節(jié)點(diǎn)根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn),若目標(biāo)處理節(jié)點(diǎn)為ETL處理節(jié)點(diǎn)本身,則ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載,若目標(biāo)處理處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)換和/或加載。在一種實(shí)現(xiàn)方式下,所述轉(zhuǎn)發(fā)規(guī)則包括從所述待處理數(shù)據(jù)中提取以下一種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息,以及根據(jù)從所述待處理數(shù)據(jù)中提取的信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希計(jì)算以確定所述目標(biāo)處理節(jié)點(diǎn)。相應(yīng)的,步驟S203中的根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn),包括所述ETL處理節(jié)點(diǎn)根據(jù)所述轉(zhuǎn)發(fā)規(guī)則,從所述待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息;
所述ETL處理節(jié)點(diǎn)根據(jù)網(wǎng)絡(luò)中的所述ETL處理節(jié)點(diǎn)的個(gè)數(shù),對(duì)提取的以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息進(jìn)行哈希計(jì)算,以確定對(duì)包含以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息的待處理數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn)。其中,前置節(jié)點(diǎn)向網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn)發(fā)送至少ー個(gè)文件的文件名和存儲(chǔ)路徑的過(guò)程,可參見(jiàn)前述實(shí)施例中的相關(guān)描述,在此不再贅述。本實(shí)施例中涉及的ETL處理節(jié)點(diǎn),可以是網(wǎng)絡(luò)中的任一 ETL處理節(jié)點(diǎn)。從前述實(shí)施例中的描述可以看出,網(wǎng)絡(luò)中的每個(gè)ETL處理節(jié)點(diǎn),能夠接收到前置節(jié)點(diǎn)發(fā)送的待處理數(shù)據(jù)對(duì)應(yīng)的一部分文件的文件名和存儲(chǔ)路徑。ETL處理節(jié)點(diǎn)接收到文件名和存儲(chǔ)路徑后,可以根據(jù)存儲(chǔ)路徑獲知存儲(chǔ)待處理數(shù)據(jù)的源數(shù)據(jù)源的位置以及源數(shù)據(jù)源中存儲(chǔ)待處理數(shù)據(jù)的具體位置,因此,ETL處理節(jié)點(diǎn)可以根據(jù)存儲(chǔ)路徑,從源數(shù)據(jù)源中的相應(yīng)位置,根據(jù)文件名讀取對(duì)應(yīng)的文件,并且可以對(duì)讀取的文件進(jìn)行解析得到待處理數(shù)據(jù)。
ETL處理節(jié)點(diǎn)從源數(shù)據(jù)源中獲取文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù)之后,可以根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn)。其中,網(wǎng)絡(luò)中各ETL處理節(jié)點(diǎn)用于確定目標(biāo)處理節(jié)點(diǎn)的轉(zhuǎn)發(fā)規(guī)則相同,可以實(shí)現(xiàn)同一類待處理數(shù)據(jù)(比如包含同一個(gè)用戶的所有信息(例如一個(gè)用戶訪問(wèn)的所有網(wǎng)站信息)的待處理數(shù)據(jù),或者,包含同一個(gè)網(wǎng)站的所有信息(例如一個(gè)網(wǎng)站所有的訪問(wèn)用戶信息)的待處理數(shù)據(jù))由ー個(gè)ETL處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)發(fā)和/或加載處理??蛇x的,前置節(jié)點(diǎn)可以預(yù)先配置轉(zhuǎn)發(fā)規(guī)則,井向網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn)下發(fā)設(shè)定的轉(zhuǎn)發(fā)規(guī)則,前置節(jié)點(diǎn)向網(wǎng)絡(luò)中各ETL處理節(jié)點(diǎn)下發(fā)的轉(zhuǎn)發(fā)規(guī)則可以是相同的。該轉(zhuǎn)發(fā)規(guī)則用于各ETL處理節(jié)點(diǎn)確定對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)發(fā)和/或加載的目標(biāo)處理節(jié)點(diǎn),以使目標(biāo)處理節(jié)點(diǎn)為ETL處理節(jié)點(diǎn)本身時(shí),通過(guò)該ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載;目標(biāo)處理處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)二次轉(zhuǎn)發(fā)給對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和/或加載?;蛘撸€可以在網(wǎng)絡(luò)中的任一 ETL處理節(jié)點(diǎn)或其他節(jié)點(diǎn)上預(yù)先設(shè)定轉(zhuǎn)發(fā)規(guī)則配置模塊,并在該轉(zhuǎn)發(fā)規(guī)則配置模塊中配置轉(zhuǎn)發(fā)規(guī)則,ETL處理節(jié)點(diǎn)可以從轉(zhuǎn)發(fā)規(guī)則配置模塊上獲取轉(zhuǎn)發(fā)規(guī)則。或者,各ETL處理節(jié)點(diǎn)還可以通過(guò)人機(jī)交互接ロ接收用戶配置的轉(zhuǎn)發(fā)規(guī)則??蛇x的,轉(zhuǎn)發(fā)規(guī)則可以包括從待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息,以及根據(jù)從待處理數(shù)據(jù)中提取的信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希計(jì)算以確定目標(biāo)處理節(jié)點(diǎn)。其中,用戶信息可以是用戶的各種標(biāo)識(shí)信息,例如用戶名、賬號(hào)信息,或者可以為手機(jī)號(hào)碼、使用3G上網(wǎng)卡的無(wú)線業(yè)務(wù)號(hào)碼或固定寬帶的固話號(hào)碼等能夠識(shí)別用戶身份的標(biāo)識(shí)等;網(wǎng)站信息可以是網(wǎng)站的各種標(biāo)識(shí)信息,例如域名,URL(Uniform Resoure Locator統(tǒng)ー資源定位器)等;網(wǎng)站服務(wù)器的主機(jī)信息可以是網(wǎng)站中服務(wù)器的主機(jī)名,IP地址等信息;用戶終端信息可以是用戶訪問(wèn)網(wǎng)站使用的終端,例如手機(jī)的國(guó)際移動(dòng)設(shè)備身份碼(International Mobile Equipment Identity, IME丄ノ 目ノ窗、。舉例來(lái)說(shuō),轉(zhuǎn)發(fā)規(guī)則可以為從待處理數(shù)據(jù)中提取用戶信息,根據(jù)提取的用戶信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希(Hash)計(jì)算,確定目標(biāo)處理節(jié)點(diǎn)。通過(guò)哈希計(jì)算可以實(shí)現(xiàn)將包含同一個(gè)用戶的所有信息(例如一個(gè)用戶訪問(wèn)的所有網(wǎng)站信息)的待處理數(shù)據(jù)由網(wǎng)絡(luò)中的同一個(gè)ETL處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)換和/或加載處理。舉例來(lái)說(shuō),轉(zhuǎn)發(fā)規(guī)則還可以為從待處理數(shù)據(jù)中提取網(wǎng)站信息,根據(jù)提取的網(wǎng)站信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希計(jì)算,確定目標(biāo)處理節(jié)點(diǎn)。通過(guò)哈希計(jì)算可以實(shí)現(xiàn)將包含同一個(gè)網(wǎng)站的所有信息(例如一個(gè)網(wǎng)站所有的訪問(wèn)用戶信息)的待處理數(shù)據(jù)由網(wǎng)絡(luò)中的同一個(gè)ETL處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)換和/或加載處理。以上僅以具體的例子對(duì)轉(zhuǎn)發(fā)規(guī)則包含的內(nèi)容進(jìn)行說(shuō)明,但并不以此作為本發(fā)明實(shí)施例的限制。ETL處理節(jié)點(diǎn)根據(jù)存儲(chǔ)路徑,從源數(shù)據(jù)源中獲取與文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù)之后,可以根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn)。如果所確定的進(jìn)行目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)可以對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載處理,例如可以將同一用戶的所有網(wǎng)站訪問(wèn)記錄進(jìn)行統(tǒng)計(jì),濾除不關(guān)注或不需要的數(shù)據(jù),最終生成該用戶的訪問(wèn)記錄等。如果所確定的目標(biāo)處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)可以將待處理數(shù)據(jù)轉(zhuǎn)發(fā)給目標(biāo)處理節(jié)點(diǎn),由該目標(biāo)處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載處理??梢岳斫獾氖牵揈TL處理節(jié)點(diǎn)作為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn)所確定的目標(biāo)處理節(jié)點(diǎn),也可能接收到網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn)轉(zhuǎn)發(fā)的待處理數(shù)據(jù),在這種情況下,該ETL處理節(jié)點(diǎn)對(duì)其他ETL處理節(jié)點(diǎn)轉(zhuǎn)發(fā)的待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載處理。需要說(shuō)明的是,本發(fā)明實(shí)施例涉及的ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行的提取、轉(zhuǎn)換和/或加載處理,其中的提取(Extract)操作是指ETL處理節(jié)點(diǎn)在待處理數(shù)據(jù)中提取待進(jìn)行轉(zhuǎn)換和/或加載的數(shù)據(jù)的過(guò)程。這屬于現(xiàn)有技術(shù),本發(fā)明實(shí)施例對(duì)此不作贅述;而ETL處理節(jié)點(diǎn)所執(zhí)行的該提取(Extract)操作與ETL節(jié)點(diǎn)根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn)過(guò)程中所執(zhí)行的提取操作有所不同,ETL節(jié)點(diǎn)根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn)過(guò)程中所執(zhí)行的提取具體為根據(jù)轉(zhuǎn)發(fā)規(guī)則,從待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息;轉(zhuǎn)換(Transform)操作可以是將數(shù)據(jù)轉(zhuǎn)換為所需要的存儲(chǔ)格式等操作;加載(Load)操作可以是將經(jīng)過(guò)提取和/或轉(zhuǎn)換的數(shù)據(jù)加載到目標(biāo)數(shù)據(jù)源的過(guò)程。作為幾種可行的實(shí)施方式,對(duì)于網(wǎng)絡(luò)中的任一 ETL處理節(jié)點(diǎn),可以對(duì)待處理數(shù)據(jù)進(jìn)行提取后直接進(jìn)行加載操作,將經(jīng)過(guò)提取的待處理數(shù)據(jù)加載到目標(biāo)數(shù)據(jù)庫(kù)中;或者,還直接對(duì)待處理數(shù)據(jù)進(jìn)行轉(zhuǎn)換后加載到目標(biāo)數(shù)據(jù)庫(kù)中;或者,還可以依次對(duì)待處理數(shù)據(jù)進(jìn)行提取和轉(zhuǎn)換后再加載到目標(biāo)數(shù)據(jù)庫(kù)中。本實(shí)施例提供的數(shù)據(jù)處理方法,通過(guò)前置節(jié)點(diǎn)在源數(shù)據(jù)源上讀取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑,將這些文件名和存儲(chǔ)路徑均衡地分發(fā)到網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)上。各ETL處理節(jié)點(diǎn)根據(jù)文件名和存儲(chǔ)路徑從源數(shù)據(jù)源上獲取待存儲(chǔ)數(shù)據(jù)后,根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理的目標(biāo)處理節(jié)點(diǎn),如果目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理,如果目標(biāo)處理節(jié)點(diǎn)為 網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)發(fā)送至目標(biāo)處理節(jié)點(diǎn)進(jìn)行ETL處理;可見(jiàn),利用文件名輪詢和數(shù)據(jù)輪詢進(jìn)行多級(jí)負(fù)荷分擔(dān)方法,將數(shù)據(jù)負(fù)荷分擔(dān)到各ETL處理節(jié)點(diǎn)(ETL處理節(jié)點(diǎn)的數(shù)量可以線性擴(kuò)展),從而提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。圖3為本發(fā)明提供的數(shù)據(jù)處理方法另ー個(gè)實(shí)施例的流程圖,如圖3所示,本發(fā)明實(shí)施例以GGSN數(shù)據(jù)上存儲(chǔ)I億個(gè)REC_TYPE_FL0W格式文件,每個(gè)文件I萬(wàn)條記錄,所有記錄中共有100萬(wàn)個(gè)用戶,2000萬(wàn)網(wǎng)站為例,對(duì)本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法進(jìn)行說(shuō)明。該方法包括S301、前置節(jié)點(diǎn)從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑。GGSN數(shù)據(jù)源目前存儲(chǔ)I億個(gè)REC_TYPE_FL0W格式的文件,每個(gè)文件I萬(wàn)條記錄,所有記錄中,總共有100萬(wàn)個(gè)用戶,2000萬(wàn)網(wǎng)站。本實(shí)施例中,待處理數(shù)據(jù)對(duì)應(yīng)的文件的文件名為REC_TYPE_FL0W[文件生成時(shí)間].csv。 可選的,前置節(jié)點(diǎn)可以通過(guò)FTP的文件列表命令(ListFile),一次性從GGSN中獲取到待處理數(shù)據(jù)對(duì)應(yīng)的I億個(gè)文件的文件名和存儲(chǔ)路徑。S302、前置節(jié)點(diǎn)將多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中多個(gè)ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn)。本實(shí)施例中,可選的,前置節(jié)點(diǎn)可以將I億個(gè)文件的文件名和存儲(chǔ)路徑,按照網(wǎng)絡(luò)中處理節(jié)點(diǎn)的個(gè)數(shù),以輪詢方式發(fā)送到各ETL處理節(jié)點(diǎn)上,在本實(shí)例中,網(wǎng)絡(luò)中存在100個(gè)ETL處理節(jié)點(diǎn),則每個(gè)ETL處理節(jié)點(diǎn)可以接收到前置節(jié)點(diǎn)發(fā)送的100萬(wàn)個(gè)文件的文件名和存儲(chǔ)路徑。(需要說(shuō)明的是,ETL處理節(jié)點(diǎn)個(gè)數(shù)如果增加,則每個(gè)ETL處理節(jié)點(diǎn)接收到的文件的文件名和存儲(chǔ)路徑將線性減少。)S303、ETL處理節(jié)點(diǎn)根據(jù)存儲(chǔ)路徑,從源數(shù)據(jù)源中獲取文件名對(duì)應(yīng)的文件中的待處
理數(shù)據(jù)。每個(gè)ETL處理節(jié)點(diǎn)接收到前置節(jié)點(diǎn)發(fā)送的文件的文件名和存儲(chǔ)路徑后,可以根據(jù)文件名和存儲(chǔ)路徑(例如=FTP的地址),|FTP服務(wù)器上獲取文件名對(duì)應(yīng)的文件。進(jìn)ー步的,由于GGSN上的文件以REC_TYPE_FL0W格式存儲(chǔ),因此,ETL處理節(jié)點(diǎn)可以以REC_TYPE_FL0W格式對(duì)獲取到的文件進(jìn)行解析,得到待處理數(shù)據(jù)。S304、ETL處理節(jié)點(diǎn)根據(jù)轉(zhuǎn)發(fā)規(guī)則,從待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息。其中,轉(zhuǎn)發(fā)規(guī)則可以由前置節(jié)點(diǎn)預(yù)先配置并下發(fā)給網(wǎng)絡(luò)中的各ETL處理節(jié)點(diǎn);或者,網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)還可以通過(guò)人機(jī)交互接ロ接收用戶配置的轉(zhuǎn)發(fā)規(guī)則。S305、ETL處理節(jié)點(diǎn)根據(jù)網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù),對(duì)提取的以下一種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息進(jìn)行哈希計(jì)算,以確定對(duì)包含以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息的待處理數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和/或加載的處理節(jié)點(diǎn)。若目標(biāo)處理節(jié)點(diǎn)為該ETL節(jié)點(diǎn)本身,則執(zhí)行S306,若目標(biāo)處理處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則執(zhí)行S307。舉例來(lái)說(shuō),假設(shè)轉(zhuǎn)發(fā)規(guī)則為提取待處理數(shù)據(jù)中的用戶信息,則ETL處理節(jié)點(diǎn)可以根據(jù)提取的用戶信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希(Hash)計(jì)算(也可以采用現(xiàn)有的其他計(jì)算方法,并不以此作為對(duì)本發(fā)明實(shí)施例的限制),以確定對(duì)該用戶信息進(jìn)行提取、轉(zhuǎn)發(fā)和/或加載的目標(biāo)處理節(jié)點(diǎn)。如果目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)可以對(duì)該用戶信息進(jìn)行提取、轉(zhuǎn)發(fā)和/或加載操作;如果目標(biāo)節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)可以將該待處理數(shù)據(jù)轉(zhuǎn)發(fā)到對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)發(fā)和/或加載。其中,轉(zhuǎn)發(fā)方式可以通過(guò)用戶數(shù)據(jù)包協(xié)議(UserDatagramProtocol,UDP)接ロ,也可以通過(guò)N FS接ロ。通過(guò)轉(zhuǎn)發(fā)規(guī)則,可以實(shí)現(xiàn)將包含某一用戶的用戶信息的待處理數(shù)據(jù)由網(wǎng)絡(luò)中的另ー個(gè)ETL處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)發(fā)和/或加載處理。舉例來(lái)說(shuō),假設(shè)轉(zhuǎn)發(fā)規(guī)則為提取待處理數(shù)據(jù)中的網(wǎng)站信息,則ETL處理節(jié)點(diǎn)可以根據(jù)提取的網(wǎng)站信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希計(jì)算,確定對(duì)該網(wǎng)站信息進(jìn)行提取、轉(zhuǎn)發(fā)和/或加載的目標(biāo)處理節(jié)點(diǎn)。如果目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)可以對(duì)該網(wǎng)站信息進(jìn)行提取、轉(zhuǎn)發(fā)和/或加載操作;如果目標(biāo)節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)可以將該待處理數(shù)據(jù)轉(zhuǎn)發(fā)到對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)發(fā)和/或加載。通過(guò)轉(zhuǎn)發(fā)規(guī)則,可以實(shí)現(xiàn)將包含某一網(wǎng)站的網(wǎng)站信息的待處理數(shù)據(jù)由網(wǎng)絡(luò)中的ー個(gè)ETL處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)發(fā)和/或加載處理。 假設(shè)在本實(shí)例中,網(wǎng)絡(luò)中存在100個(gè)處理節(jié)點(diǎn),則每個(gè)處理節(jié)點(diǎn)分到I萬(wàn)個(gè)用戶的REC_TYPE_FL0ff 記錄和 20 萬(wàn)網(wǎng)站的 REC_TYPE_FL0W 記錄。S306、ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載。之后執(zhí)行S309。S307、ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)。S308、目標(biāo)處理節(jié)點(diǎn)對(duì)接收到的待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載。每個(gè)ETL處理節(jié)點(diǎn)接收到待處理數(shù)據(jù)后,可以對(duì)待處理數(shù)據(jù)進(jìn)行過(guò)濾、轉(zhuǎn)換和聚合等處理,每個(gè)處理節(jié)點(diǎn)存在I萬(wàn)條用戶記錄和20萬(wàn)條網(wǎng)站記錄,收斂比為1050萬(wàn)條記錄*2/10000億條記錄=0. 0021%。無(wú)論網(wǎng)絡(luò)中處理節(jié)點(diǎn)數(shù)是否增加,收斂比不變。最后100個(gè)處理節(jié)點(diǎn)處理完的2100萬(wàn)條記錄導(dǎo)入目標(biāo)數(shù)據(jù)源中,這樣的話,目標(biāo)數(shù)據(jù)源中不需要進(jìn)ー步做聚合操作。本實(shí)施例提供的數(shù)據(jù)處理方法,通過(guò)前置節(jié)點(diǎn)在源數(shù)據(jù)源上讀取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和文件存儲(chǔ)路徑,將這些文件名和文件存儲(chǔ)路徑均衡地發(fā)送到網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)上;ETL處理節(jié)點(diǎn)根據(jù)文件名和文件存儲(chǔ)路徑從數(shù)據(jù)源上獲取待存儲(chǔ)數(shù)據(jù)后,根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理的目標(biāo)處理節(jié)點(diǎn),如果目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理,如果目標(biāo)處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)發(fā)送至目標(biāo)處理節(jié)點(diǎn)進(jìn)行ETL處理;可見(jiàn),一方面,利用文件名輪詢和數(shù)據(jù)輪詢進(jìn)行多級(jí)負(fù)荷分擔(dān)方法,將數(shù)據(jù)負(fù)荷分擔(dān)到各ETL處理節(jié)點(diǎn)(ETL處理節(jié)點(diǎn)的數(shù)量可以線性擴(kuò)展),從而提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。另ー方面,利用各ETL處理節(jié)點(diǎn)的數(shù)據(jù)二次轉(zhuǎn)發(fā)方法,可以實(shí)現(xiàn)將同一類待處理數(shù)據(jù)(比如包含同一個(gè)用戶的所有信息(例如一個(gè)用戶訪問(wèn)的所有網(wǎng)站信息)的待處理數(shù)據(jù),或者,包含同一個(gè)網(wǎng)站的所有信息(例如一個(gè)網(wǎng)站所有的訪問(wèn)用戶信息)的待處理數(shù)據(jù))分擔(dān)到同一個(gè)ETL處理節(jié)點(diǎn)進(jìn)行ETL處理,提高元數(shù)據(jù)的收斂比,降低系統(tǒng)開(kāi)銷。圖4為本發(fā)明提供的前置節(jié)點(diǎn)ー個(gè)實(shí)施例的結(jié)構(gòu)示意圖,如圖4所示,該前置節(jié)點(diǎn)包括獲取模塊11和文件名轉(zhuǎn)發(fā)模塊12 ;獲取模塊11,用于從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑;文件名轉(zhuǎn)發(fā)模塊12,用于將多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn),以使各ETL處理節(jié)點(diǎn)根據(jù)收到的存儲(chǔ)路徑從源數(shù)據(jù)源中獲取與收到的文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù)??梢?jiàn),本實(shí)施例提供的前置節(jié)點(diǎn),在源數(shù)據(jù)源上讀取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑,將這些文件名和存儲(chǔ)路徑均衡地分發(fā)到網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)上。各ETL處理節(jié)點(diǎn)根據(jù)文件名和存儲(chǔ)路徑從源數(shù)據(jù)源上獲取待存儲(chǔ)數(shù)據(jù)后,根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理的目標(biāo)處理節(jié)點(diǎn),如果目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行 ETL處理,如果目標(biāo)處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)發(fā)送至目標(biāo)處理節(jié)點(diǎn)進(jìn)行ETL處理;可見(jiàn),利用文件名輪詢和數(shù)據(jù)輪詢進(jìn)行多級(jí)負(fù)荷分擔(dān)方法,將數(shù)據(jù)負(fù)荷分擔(dān)到各ETL處理節(jié)點(diǎn)(ETL處理節(jié)點(diǎn)的數(shù)量可以線性擴(kuò)展),從而提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。圖5為本發(fā)明提供的前置節(jié)點(diǎn)又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,如圖5所示,可選的,文件名轉(zhuǎn)發(fā)模塊12可以具體用于按照ETL處理節(jié)點(diǎn)的數(shù)量,以輪詢的方式將多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn)。進(jìn)ー步的,該前置節(jié)點(diǎn)還可以包括轉(zhuǎn)發(fā)規(guī)則配置模塊13,用于向網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn)分別發(fā)送設(shè)定的轉(zhuǎn)發(fā)規(guī)則,以使ETL處理節(jié)點(diǎn)根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn)??蛇x的,轉(zhuǎn)發(fā)規(guī)則配置模塊13配置的轉(zhuǎn)發(fā)規(guī)則包括從待處理數(shù)據(jù)中提取以下一種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息,以及根據(jù)從待處理數(shù)據(jù)中提取的前述信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希計(jì)算以確定目標(biāo)處理節(jié)點(diǎn)。本發(fā)明實(shí)施例提供的前置節(jié)點(diǎn),為本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法的執(zhí)行設(shè)備,其執(zhí)行數(shù)據(jù)處理方法的詳細(xì)步驟可參見(jiàn)本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法實(shí)施例,在此不再贅述。本實(shí)施例提供的前置節(jié)點(diǎn),在源數(shù)據(jù)源上讀取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑,將這些文件名和存儲(chǔ)路徑均衡地分發(fā)到網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)上。各ETL處理節(jié)點(diǎn)根據(jù)文件名和存儲(chǔ)路徑從源數(shù)據(jù)源上獲取待存儲(chǔ)數(shù)據(jù)后,根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理的目標(biāo)處理節(jié)點(diǎn),如果目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理,如果目標(biāo)處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)發(fā)送至目標(biāo)處理節(jié)點(diǎn)進(jìn)行ETL處理;可見(jiàn),利用文件名輪詢和數(shù)據(jù)輪詢進(jìn)行多級(jí)負(fù)荷分擔(dān)方法,將數(shù)據(jù)負(fù)荷分擔(dān)到各ETL處理節(jié)點(diǎn)(ETL處理節(jié)點(diǎn)的數(shù)量可以線性擴(kuò)展),從而提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。圖6為本發(fā)明提供的ETL處理節(jié)點(diǎn)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,如圖6所示,該前置節(jié)點(diǎn)包括接收模塊21、獲取模塊22和處理模塊23 ;接收模塊21,用于接收前置節(jié)點(diǎn)發(fā)送的待處理數(shù)據(jù)對(duì)應(yīng)的至少ー個(gè)文件的文件名和存儲(chǔ)路徑;獲取模塊22,用于根據(jù)存儲(chǔ)路徑,從源數(shù)據(jù)源中獲取與文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù);處理模塊23,用于根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn),若目標(biāo)處理節(jié)點(diǎn)為ETL處理節(jié)點(diǎn)本身,則對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載,若目標(biāo)處理處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則將待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)換和/或加載。本實(shí)施例提供的ETL處理節(jié)點(diǎn),通過(guò)前置節(jié)點(diǎn)在源數(shù)據(jù)源上讀取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑,將這些文件名和存儲(chǔ)路徑均衡地分發(fā)到網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)上。各ETL處理節(jié)點(diǎn)根據(jù)文件名和存儲(chǔ)路徑從源數(shù)據(jù)源上獲取待存儲(chǔ)數(shù)據(jù)后,根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理的目標(biāo)處理節(jié)點(diǎn),如果目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理,如果目標(biāo)處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)發(fā)送至目標(biāo)處理節(jié)點(diǎn)進(jìn)行ETL處理;可見(jiàn),利用文件名輪詢和數(shù)據(jù)輪詢進(jìn)行多級(jí)負(fù)荷分擔(dān)方法,將數(shù)據(jù)負(fù)荷分擔(dān)到各ETL處理節(jié)點(diǎn)(ETL處理節(jié)點(diǎn)的數(shù)量可以線性擴(kuò)展),從而提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。
圖7為本發(fā)明提供的處理節(jié)點(diǎn)又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,如圖7所示,可選的,接收模塊21還可以用于接收前置節(jié)點(diǎn)發(fā)送的轉(zhuǎn)發(fā)規(guī)則,或者,通過(guò)人機(jī)交互接ロ接收用戶配置的轉(zhuǎn)發(fā)規(guī)則。優(yōu)選的,轉(zhuǎn)發(fā)規(guī)則可以包括從待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息,以及根據(jù)從待處理數(shù)據(jù)中提取的前述信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希計(jì)算以確定目標(biāo)處理節(jié)點(diǎn)。在一種實(shí)現(xiàn)方式下,處理模塊23可以包括計(jì)算單元231、ETL単元232和轉(zhuǎn)發(fā)單元 233 ;計(jì)算單元231,用于根據(jù)轉(zhuǎn)發(fā)規(guī)則,從待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息;并根據(jù)網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù),對(duì)提取的以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息進(jìn)行哈希計(jì)算,以確定對(duì)包含以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息的待處理數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn);ETL單元232,用于若計(jì)算單元確定的目標(biāo)處理節(jié)點(diǎn)為ETL處理節(jié)點(diǎn)本身,對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載;應(yīng)當(dāng)理解的是,ETL単元的功能參考現(xiàn)有技術(shù),本發(fā)明實(shí)施例對(duì)此不再贅述。轉(zhuǎn)發(fā)單元233,用于若計(jì)算單元確定的目標(biāo)處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),將待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和/或加載。可選的,ETL単元232還可以用于接收其他ETL處理節(jié)點(diǎn)發(fā)送來(lái)的待處理數(shù)據(jù),并對(duì)其他ETL處理節(jié)點(diǎn)發(fā)送來(lái)的待處理數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和/或加載。本發(fā)明實(shí)施例提供的ETL處理節(jié)點(diǎn),為本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法的執(zhí)行設(shè)備,其執(zhí)行數(shù)據(jù)處理方法的詳細(xì)步驟可參見(jiàn)本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法實(shí)施例,在此不再贅述。本實(shí)施例提供的ETL處理節(jié)點(diǎn),通過(guò)前置節(jié)點(diǎn)在源數(shù)據(jù)源上讀取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑,將這些文件名和存儲(chǔ)路徑均衡地分發(fā)到網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)上。各ETL處理節(jié)點(diǎn)根據(jù)文件名和存儲(chǔ)路徑從源數(shù)據(jù)源上獲取待存儲(chǔ)數(shù)據(jù)后,根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理的目標(biāo)處理節(jié)點(diǎn),如果目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理,如果目標(biāo)處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)發(fā)送至目標(biāo)處理節(jié)點(diǎn)進(jìn)行ETL處理;可見(jiàn),利用文件名輪詢和數(shù)據(jù)輪詢進(jìn)行多級(jí)負(fù)荷分擔(dān)方法,將數(shù)據(jù)負(fù)荷分擔(dān)到各ETL處理節(jié)點(diǎn)(ETL處理節(jié)點(diǎn)的數(shù)量可以線性擴(kuò)展),從而提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。圖8為本發(fā)明提供的ETL系統(tǒng)ー個(gè)實(shí)施例的結(jié)構(gòu)示意圖,如圖8所示,該ETL系統(tǒng)包括前置節(jié)點(diǎn)2和多個(gè)的ETL處理節(jié)點(diǎn)3 ;前置節(jié)點(diǎn)2,用于從源數(shù)據(jù)源I中獲取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑;將多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)提取、轉(zhuǎn)換和加載 ETL處理節(jié)點(diǎn)3中的各ETL處理節(jié)點(diǎn)3 ;ETL處理節(jié)點(diǎn)3用于接收前置節(jié)點(diǎn)2發(fā)送的待處理數(shù)據(jù)對(duì)應(yīng)的至少ー個(gè)文件的文件名和存儲(chǔ)路徑;根據(jù)存儲(chǔ)路徑,從源數(shù)據(jù)源中獲取與文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù);根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn),若目標(biāo)處理節(jié)點(diǎn)為ETL處理節(jié)點(diǎn)3本身,則對(duì)待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載,若目標(biāo)處理處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn)3,則將待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)換和/或加載??蛇x的,該系統(tǒng)還可以包括源數(shù)據(jù)源1,用于存儲(chǔ)包含待處理數(shù)據(jù)的文件以及待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑。目標(biāo)數(shù)據(jù)源4,用于存儲(chǔ)ETL處理節(jié)點(diǎn)3對(duì)待處理數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和加載ETL后的數(shù)據(jù)。應(yīng)當(dāng)理解的是,ETL處理節(jié)點(diǎn)3將完成過(guò)濾、轉(zhuǎn)換和/或聚合的數(shù)據(jù)加載導(dǎo)入到目標(biāo)數(shù)據(jù)源4中。其中,前置節(jié)點(diǎn)可以是網(wǎng)絡(luò)中的負(fù)載平衡(Load Balance)等類型的節(jié)點(diǎn)設(shè)備,在一種實(shí)現(xiàn)方式下,其物理產(chǎn)品形態(tài)可以是通用交換路由器(Universal Switching Router,USR)等等;以及,ETL處理節(jié)點(diǎn)可以是網(wǎng)絡(luò)中的用于進(jìn)行ETL處理的物理機(jī)或虛擬機(jī),在一種實(shí)現(xiàn)方式下,其物理產(chǎn)品形態(tài)也可以是USR;源數(shù)據(jù)源可以是各種網(wǎng)絡(luò)設(shè)備,例如網(wǎng)關(guān)通用無(wú)線分組服務(wù)(General Packet Radio Service, GPRS)支持節(jié)點(diǎn)(GatewayGPRSSupport Node,GGSN),也可以是文本傳輸協(xié)議(FiIe Transfer ProtocoI,FTP)服務(wù)器(Server)或網(wǎng)絡(luò)文件系統(tǒng)(Network File System,NFS)服務(wù)器等。目標(biāo)數(shù)據(jù)源也可以是與源數(shù)據(jù)源相類似的各種網(wǎng)絡(luò)設(shè)備,例如數(shù)據(jù)倉(cāng)庫(kù)/數(shù)據(jù)庫(kù)、NFS服務(wù)器、FTP服務(wù)器。圖9為本發(fā)明提供的數(shù)據(jù)處理系統(tǒng)又ー個(gè)實(shí)施例的結(jié)構(gòu)示意圖,如圖9所示,本發(fā)明實(shí)施例提供的數(shù)據(jù)處理系統(tǒng),其中包括的前置節(jié)點(diǎn)和處理節(jié)點(diǎn)的具體結(jié)構(gòu)可以分別參見(jiàn)本發(fā)明提供的前置節(jié)點(diǎn)實(shí)施例和處理節(jié)點(diǎn)實(shí)施例,其中源數(shù)據(jù)源、前置節(jié)點(diǎn)、處理節(jié)點(diǎn)以及目標(biāo)數(shù)據(jù)源之間的交互過(guò)程,具體可參見(jiàn)本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法,在此不再贅述。綜上所述,一方面,本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法、節(jié)點(diǎn)和ETL系統(tǒng),具有處理海量數(shù)據(jù)的能力通過(guò)前置節(jié)點(diǎn)在源數(shù)據(jù)源上讀取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑,將這些文件名和存儲(chǔ)路徑均衡地分發(fā)到網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)上,ETL處理節(jié)點(diǎn)根據(jù)文件名和存儲(chǔ)路徑從源數(shù)據(jù)源上獲取待存儲(chǔ)數(shù)據(jù)后,根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理的目標(biāo)處理節(jié)點(diǎn),如果目標(biāo)處理節(jié)點(diǎn)為該ETL處理節(jié)點(diǎn)本身,則該ETL處理節(jié)點(diǎn)對(duì)待處理數(shù)據(jù)進(jìn)行ETL處理,如果目標(biāo)處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則該ETL處理節(jié)點(diǎn)將待處理數(shù)據(jù)發(fā)送至目標(biāo)處理節(jié)點(diǎn)進(jìn)行ETL處理可見(jiàn),利用文件名輪詢和數(shù)據(jù)輪詢進(jìn)行多級(jí)負(fù)荷分擔(dān)方法,將數(shù)據(jù)負(fù)荷分擔(dān)到各ETL處理節(jié)點(diǎn)(ETL處理節(jié)點(diǎn)的數(shù)量可以線性擴(kuò)展),從而提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力;另ー方面,本發(fā)明實(shí)施例的數(shù)據(jù)處理方法、節(jié)點(diǎn)和ETL系統(tǒng)具有線性擴(kuò)展能力相對(duì)于現(xiàn)有的ETL技術(shù)在處理海量數(shù)據(jù)時(shí),其線性可擴(kuò)展能力受限其E (extract)的單點(diǎn)處理瓶頸,數(shù)據(jù)轉(zhuǎn)發(fā)過(guò)程無(wú)法做到真正的負(fù)載均衡,一旦數(shù)據(jù)量増大,其處理過(guò)程將陡增的情況,而本發(fā)明實(shí)施例中,通過(guò)文件名轉(zhuǎn)發(fā)的處理方式,即前置節(jié)點(diǎn)只轉(zhuǎn)發(fā)文件名,其負(fù)載壓力大大降低,換言之,降低了 ETL系統(tǒng)的前置節(jié)點(diǎn)的瓶頸;而且處理節(jié)點(diǎn)通過(guò)ニ級(jí)轉(zhuǎn)發(fā)的方式將待處理數(shù)據(jù)轉(zhuǎn)發(fā)給對(duì)應(yīng)目標(biāo)處理節(jié)點(diǎn),使其可以通過(guò)擴(kuò)展ETL處理節(jié)點(diǎn)數(shù)的方式,擴(kuò)展ETL處理節(jié)點(diǎn)的處理能力,從整個(gè)系統(tǒng)的角度看,整個(gè)ETL系統(tǒng)具備了線性可擴(kuò)展的能力,能有效利用了線性擴(kuò)展后的硬件設(shè)施;再一方面,本發(fā)明實(shí)施例的數(shù)據(jù)處理方法、節(jié)點(diǎn)和ETL系統(tǒng)提高了處理節(jié)點(diǎn)處理 性能相對(duì)于現(xiàn)有的ETL技術(shù)在處理聚合、排序等需要操作時(shí),將同一類元數(shù)據(jù)(比如同一用戶的數(shù)據(jù))無(wú)法負(fù)荷分擔(dān)到各處理節(jié)點(diǎn),往往需要在目標(biāo)數(shù)據(jù)源在做一次匯聚,浪費(fèi)了系統(tǒng)的處理性能并增加存儲(chǔ)成本的情況,而本發(fā)明實(shí)施例中,ETL處理節(jié)點(diǎn)由于具備將待處理數(shù)據(jù)轉(zhuǎn)發(fā)給對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)的ニ級(jí)轉(zhuǎn)發(fā)功能,經(jīng)過(guò)聚合后的數(shù)據(jù)的收斂比不會(huì)隨著節(jié)點(diǎn)數(shù)的増加而增加,從而不需要處理節(jié)點(diǎn)在進(jìn)行二次匯聚來(lái)降低收斂比,使每個(gè)ETL處理節(jié)點(diǎn)的處理性能得到提升。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說(shuō)明的是以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
權(quán)利要求
1.ー種數(shù)據(jù)處理方法,其特征在于,包括 前置節(jié)點(diǎn)從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑; 所述前置節(jié)點(diǎn)將所述多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn),以使所述各ETL處理節(jié)點(diǎn)根據(jù)收到的所述存儲(chǔ)路徑從所述源數(shù)據(jù)源中獲取與收到的所述文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述前置節(jié)點(diǎn)將所述多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn),具體為 所述前置節(jié)點(diǎn)按照ETL處理節(jié)點(diǎn)的數(shù)量,以輪詢的方式將所述多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn)。
3.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,還包括 所述前置節(jié)點(diǎn)向網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn)分別發(fā)送設(shè)定的轉(zhuǎn)發(fā)規(guī)則,以使所述ETL處理節(jié)點(diǎn)根據(jù)所述轉(zhuǎn)發(fā)規(guī)則確定對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述轉(zhuǎn)發(fā)規(guī)則包括從所述待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息,以及根據(jù)從所述待處理數(shù)據(jù)中提取的信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希計(jì)算以確定所述目標(biāo)處理節(jié)點(diǎn)。
5.ー種數(shù)據(jù)處理方法,其特征在于,包括 提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn)接收前置節(jié)點(diǎn)發(fā)送的待處理數(shù)據(jù)對(duì)應(yīng)的至少ー個(gè)文件的文件名和存儲(chǔ)路徑; 所述ETL處理節(jié)點(diǎn)根據(jù)所述存儲(chǔ)路徑,從源數(shù)據(jù)源中獲取與所述文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù); 所述ETL處理節(jié)點(diǎn)根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn),若所述目標(biāo)處理節(jié)點(diǎn)為所述ETL處理節(jié)點(diǎn)本身,則所述ETL處理節(jié)點(diǎn)對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載,若所述目標(biāo)處理處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則所述ETL處理節(jié)點(diǎn)將所述待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)換和/或加載。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述ETL處理節(jié)點(diǎn)根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn)之前,還包括 接收所述前置節(jié)點(diǎn)發(fā)送的所述轉(zhuǎn)發(fā)規(guī)則; 或者,通過(guò)人機(jī)交互接ロ接收用戶配置的所述轉(zhuǎn)發(fā)規(guī)則。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述轉(zhuǎn)發(fā)規(guī)則包括從所述待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息,以及根據(jù)從所述待處理數(shù)據(jù)中提取的信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希計(jì)算以確定所述目標(biāo)處理節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述ETL處理節(jié)點(diǎn)根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn),包括 所述ETL處理節(jié)點(diǎn)根據(jù)所述轉(zhuǎn)發(fā)規(guī)則,從所述待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息;所述ETL處理節(jié)點(diǎn)根據(jù)網(wǎng)絡(luò)中的所述ETL處理節(jié)點(diǎn)的個(gè)數(shù),對(duì)提取的以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息進(jìn)行哈希計(jì)算,以確定對(duì)包含以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息的待處理數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn)。
9.根據(jù)權(quán)利要求5-8任一項(xiàng)所述的方法,其特征在于,所述方法還包括 所述ETL處理節(jié)點(diǎn)接收其他ETL處理節(jié)點(diǎn)發(fā)送來(lái)的待處理數(shù)據(jù),并對(duì)其他ETL處理節(jié)點(diǎn)發(fā)送來(lái)的待處理數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和/或加載。
10.ー種前置節(jié)點(diǎn),其特征在于,包括 獲取模塊,用于從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑; 文件名轉(zhuǎn)發(fā)模塊,用于將所述多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn),以使所述各ETL處理節(jié)點(diǎn)根據(jù)收到的所述存儲(chǔ)路徑從所述源數(shù)據(jù)源中獲取與收到的所述文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的前置節(jié)點(diǎn),其特征在于,所述文件名轉(zhuǎn)發(fā)模塊具體用于按照ETL處理節(jié)點(diǎn)的數(shù)量,以輪詢的方式將所述多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn)。
12.根據(jù)權(quán)利要求10或11所述的前置節(jié)點(diǎn),其特征在于,還包括 轉(zhuǎn)發(fā)規(guī)則配置模塊,用于向網(wǎng)絡(luò)中的多個(gè)ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn)分別發(fā)送設(shè)定的轉(zhuǎn)發(fā)規(guī)則,以使所述ETL處理節(jié)點(diǎn)根據(jù)所述轉(zhuǎn)發(fā)規(guī)則確定對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn)。
13.根據(jù)權(quán)利要求12所述的前置節(jié)點(diǎn),其特征在于,所述轉(zhuǎn)發(fā)規(guī)則配置模塊配置的所述轉(zhuǎn)發(fā)規(guī)則包括從所述待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息,以及根據(jù)從所述待處理數(shù)據(jù)中提取的信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希計(jì)算以確定所述目標(biāo)處理節(jié)點(diǎn)。
14.一種提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn),其特征在于,包括 接收模塊,用于接收前置節(jié)點(diǎn)發(fā)送的待處理數(shù)據(jù)對(duì)應(yīng)的至少ー個(gè)文件的文件名和存儲(chǔ)路徑; 獲取模塊,用于根據(jù)所述存儲(chǔ)路徑,從源數(shù)據(jù)源中獲取與所述文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù); 處理模塊,用于根據(jù)轉(zhuǎn)發(fā)規(guī)則確定對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn),若所述目標(biāo)處理節(jié)點(diǎn)為所述ETL處理節(jié)點(diǎn)本身,則對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載,若所述目標(biāo)處理處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),則將所述待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行提取、轉(zhuǎn)換和/或加載。
15.根據(jù)權(quán)利要求14所述的ETL處理節(jié)點(diǎn),其特征在于,所述接收模塊還用于接收所述前置節(jié)點(diǎn)發(fā)送的所述轉(zhuǎn)發(fā)規(guī)則,或者,通過(guò)人機(jī)交互接ロ接收用戶配置的所述轉(zhuǎn)發(fā)規(guī)則。
16.根據(jù)權(quán)利要求14或15所述的ETL處理節(jié)點(diǎn),其特征在于,所述轉(zhuǎn)發(fā)規(guī)則包括從所述待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息,以及根據(jù)從所述待處理數(shù)據(jù)中提取的信息和網(wǎng)絡(luò)中的ETL處理節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行哈希計(jì)算以確定所述目標(biāo)處理節(jié)點(diǎn)。
17.根據(jù)權(quán)利要求16所述的ETL處理節(jié)點(diǎn),其特征在于,所述處理模塊包括計(jì)算單元,用于根據(jù)所述轉(zhuǎn)發(fā)規(guī)則,從所述待處理數(shù)據(jù)中提取以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息;并根據(jù)網(wǎng)絡(luò)中的所述ETL處理節(jié)點(diǎn)的個(gè)數(shù),對(duì)提取的以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息進(jìn)行哈希計(jì)算,以確定對(duì)包含以下ー種或任意組合信息用戶信息、網(wǎng)站信息、網(wǎng)站服務(wù)器的主機(jī)信息和用戶終端信息的待處理數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和/或加載的目標(biāo)處理節(jié)點(diǎn); 提取、轉(zhuǎn)換和加載ETL単元,用于若所述計(jì)算単元確定的目標(biāo)處理節(jié)點(diǎn)為所述ETL處理節(jié)點(diǎn)本身,對(duì)所述待處理數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和/或加載; 轉(zhuǎn)發(fā)單元,用于若所述計(jì)算単元確定的目標(biāo)處理節(jié)點(diǎn)為網(wǎng)絡(luò)中的其他ETL處理節(jié)點(diǎn),將所述待處理數(shù)據(jù)發(fā)送至對(duì)應(yīng)的目標(biāo)處理節(jié)點(diǎn)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和/或加載。
18.根據(jù)權(quán)利要求17所述的ETL處理節(jié)點(diǎn),其特征在于,所述ETL單元還用于接收其他ETL處理節(jié)點(diǎn)發(fā)送來(lái)的待處理數(shù)據(jù),并對(duì)其他ETL處理節(jié)點(diǎn)發(fā)送來(lái)的待處理數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和/或加載。
19.ー種提取、轉(zhuǎn)換和加載ETL系統(tǒng),其特征在于,包括如權(quán)利要求10-13任一項(xiàng)所述前置節(jié)點(diǎn)和多個(gè)如權(quán)利要求14-18任一項(xiàng)所述的ETL處理節(jié)點(diǎn)。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于,還包括 源數(shù)據(jù)源,用于存儲(chǔ)包含待處理數(shù)據(jù)的文件以及所述待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑。
21.根據(jù)權(quán)利要求19或20所述的系統(tǒng),其特征在于,還包括 目標(biāo)數(shù)據(jù)源,用于存儲(chǔ)所述ETL處理節(jié)點(diǎn)對(duì)所述待處理數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)換和加載ETL后的數(shù)據(jù)。
全文摘要
本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法、節(jié)點(diǎn)和提取、轉(zhuǎn)換和加載ETL系統(tǒng)。一種方法包括前置節(jié)點(diǎn)從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對(duì)應(yīng)的多個(gè)文件的文件名和存儲(chǔ)路徑;所述前置節(jié)點(diǎn)將所述多個(gè)文件的文件名和存儲(chǔ)路徑均衡地分發(fā)給網(wǎng)絡(luò)中的多個(gè)提取、轉(zhuǎn)換和加載ETL處理節(jié)點(diǎn)中的各ETL處理節(jié)點(diǎn),以使所述各ETL處理節(jié)點(diǎn)根據(jù)收到的所述存儲(chǔ)路徑從所述源數(shù)據(jù)源中獲取與收到的所述文件名對(duì)應(yīng)的文件中的待處理數(shù)據(jù)。本發(fā)明實(shí)施例,提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。
文檔編號(hào)G06F17/30GK102693297SQ20121015185
公開(kāi)日2012年9月26日 申請(qǐng)日期2012年5月16日 優(yōu)先權(quán)日2012年5月16日
發(fā)明者威蒙, 安庫(kù), 邱恒 申請(qǐng)人:華為技術(shù)有限公司