欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)處理方法、節(jié)點和提取、轉換和加載etl系統(tǒng)的制作方法

文檔序號:6369741閱讀:204來源:國知局
專利名稱:數(shù)據(jù)處理方法、節(jié)點和提取、轉換和加載etl系統(tǒng)的制作方法
技術領域
本發(fā)明涉及信息技木,尤其涉及ー種數(shù)據(jù)處理方法、節(jié)點和提取、轉換和加載ETL系統(tǒng)。
背景技術
在信息和通信系統(tǒng)中,經(jīng)常需要將數(shù)據(jù)倒到文件系統(tǒng)、文本傳輸協(xié)議(FileTransfer Protocol, FTP)或者網(wǎng)絡文件系統(tǒng)(Network File System, NFS)中,由網(wǎng)絡中各節(jié)點進行數(shù)據(jù)提取、加載和轉換(Extract Load Transform, ETL)處理?,F(xiàn)有技術中,采用前置節(jié)點將數(shù)據(jù)讀取并轉發(fā)到各處理節(jié)點上,再由各處理節(jié)點對前置節(jié)點讀取的數(shù)據(jù)進行ETL處理,然而,采用這種方法,前置節(jié)點作為入口節(jié)點,存在 1/0性能瓶頸,無法處理海量數(shù)據(jù)或處理海量數(shù)據(jù)存在難題。

發(fā)明內(nèi)容
本發(fā)明實施例提供ー種數(shù)據(jù)處理方法、節(jié)點和提取、轉換和加載ETL系統(tǒng),提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。一方面,本發(fā)明實施例提供ー種數(shù)據(jù)處理方法,包括前置節(jié)點從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對應的多個文件的文件名和存儲路徑;所述前置節(jié)點將所述多個文件的文件名和存儲路徑均衡地分發(fā)給網(wǎng)絡中的多個提取、轉換和加載ETL處理節(jié)點中的各ETL處理節(jié)點,以使所述各ETL處理節(jié)點根據(jù)收到的所述存儲路徑從所述源數(shù)據(jù)源中獲取與收到的所述文件名對應的文件中的待處理數(shù)據(jù)。本發(fā)明實施例還提供ー種數(shù)據(jù)處理方法,包括提取、轉換和加載ETL處理節(jié)點接收前置節(jié)點發(fā)送的待處理數(shù)據(jù)對應的至少ー個文件的文件名和存儲路徑;所述ETL處理節(jié)點根據(jù)所述存儲路徑,從源數(shù)據(jù)源中獲取與所述文件名對應的文件中的待處理數(shù)據(jù);所述ETL處理節(jié)點根據(jù)轉發(fā)規(guī)則確定對所述待處理數(shù)據(jù)進行提取、轉換和/或加載的目標處理節(jié)點,若所述目標處理節(jié)點為所述ETL處理節(jié)點本身,則所述ETL處理節(jié)點對所述待處理數(shù)據(jù)進行提取、轉換和/或加載,若所述目標處理處理節(jié)點為網(wǎng)絡中的其他ETL處理節(jié)點,則所述ETL處理節(jié)點將所述待處理數(shù)據(jù)發(fā)送至對應的目標處理節(jié)點進行提取、轉換和/或加載。另ー方面,本發(fā)明實施例提供ー種前置節(jié)點,包括獲取模塊,用于從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對應的多個文件的文件名和存儲路徑;文件名轉發(fā)模塊,用于將所述多個文件的文件名和存儲路徑均衡地分發(fā)給網(wǎng)絡中的多個提取、轉換和加載ETL處理節(jié)點中的各ETL處理節(jié)點,以使所述各ETL處理節(jié)點根據(jù)收到的所述存儲路徑從所述源數(shù)據(jù)源中獲取與收到的所述文件名對應的文件中的待處理數(shù)據(jù)。本發(fā)明實施例還提供ー種提取、轉換和加載ETL處理節(jié)點,包括接收模塊,用于接收前置節(jié)點發(fā)送的待處理數(shù)據(jù)對應的至少ー個文件的文件名和存儲路徑;獲取模塊,用于根據(jù)所述存儲路徑,從源數(shù)據(jù)源中獲取與所述文件名對應的文件中的待處理數(shù)據(jù);處理模塊,用于根據(jù)轉發(fā)規(guī)則確定對所述待處理數(shù)據(jù)進行提取、轉換和/或加載的目標處理節(jié)點,若所述目標處理節(jié)點為所述ETL處理節(jié)點本身,則對所述待處理數(shù)據(jù)進行提取、轉換和/或加載,若所述目標處理處理節(jié)點為網(wǎng)絡中的其他ETL處理節(jié)點,則將所述待處理數(shù)據(jù)發(fā)送至對應的目標處理節(jié)點進行提取、轉換和/或加載。 再一方面,本發(fā)明實施例還提供ー種提取、轉換和加載ETL系統(tǒng),包括前置節(jié)點和多個ETL處理節(jié)點;所述前置節(jié)點,用于從源數(shù)據(jù)源中獲取待處理數(shù)據(jù)對應的多個文件的文件名和存儲路徑;將所述多個文件的文件名和存儲路徑均衡地分發(fā)給網(wǎng)絡中的多個提取、轉換和加載ETL處理節(jié)點中的各ETL處理節(jié)點;所述ETL處理節(jié)點用于接收前置節(jié)點發(fā)送的待處理數(shù)據(jù)對應的至少ー個文件的文件名和存儲路徑;根據(jù)所述存儲路徑,從源數(shù)據(jù)源中獲取與所述文件名對應的文件中的待處理數(shù)據(jù);根據(jù)轉發(fā)規(guī)則確定對所述待處理數(shù)據(jù)進行提取、轉換和/或加載的目標處理節(jié)點,若所述目標處理節(jié)點為所述ETL處理節(jié)點本身,則對所述待處理數(shù)據(jù)進行提取、轉換和/或加載,若所述目標處理處理節(jié)點為網(wǎng)絡中的其他ETL處理節(jié)點,則將所述待處理數(shù)據(jù)發(fā)送至對應的目標處理節(jié)點進行提取、轉換和/或加載。本發(fā)明實施例提供的數(shù)據(jù)處理方法、節(jié)點和ETL系統(tǒng),通過前置節(jié)點在源數(shù)據(jù)源上讀取待處理數(shù)據(jù)對應的多個文件的文件名和文件存儲路徑,將這些文件名和文件存儲路徑均衡地發(fā)送到網(wǎng)絡中的多個ETL處理節(jié)點上;ETL處理節(jié)點根據(jù)文件名和文件存儲路徑從數(shù)據(jù)源上獲取待存儲數(shù)據(jù)后,根據(jù)轉發(fā)規(guī)則確定對待處理數(shù)據(jù)進行ETL處理的目標處理節(jié)點,如果目標處理節(jié)點為該ETL處理節(jié)點本身,則該ETL處理節(jié)點對待處理數(shù)據(jù)進行ETL處理,如果目標處理節(jié)點為網(wǎng)絡中的其他ETL處理節(jié)點,則該ETL處理節(jié)點將待處理數(shù)據(jù)發(fā)送至對應的目標處理節(jié)點進行ETL處理;可見,利用文件名輪詢和數(shù)據(jù)輪詢進行多級負荷分擔方法,將數(shù)據(jù)負荷分擔到各ETL處理節(jié)點,從而提高ETL系統(tǒng)的處理海量數(shù)據(jù)的能力。


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