本發(fā)明屬于大數(shù)據(jù)處理的技術(shù)領(lǐng)域,具體地涉及一種異構(gòu)數(shù)據(jù)源的實(shí)時(shí)入庫系統(tǒng)及方法。
背景技術(shù):
現(xiàn)有技術(shù)中,例如,中國(guó)專利“一種異構(gòu)數(shù)據(jù)源高效數(shù)據(jù)同步方法”(專利申請(qǐng)?zhí)?015108101397),中國(guó)專利“異構(gòu)數(shù)據(jù)源實(shí)時(shí)同步系統(tǒng)及方法”(專利申請(qǐng)?zhí)?015102411686),均給出了兩個(gè)異構(gòu)的數(shù)據(jù)源之間相互同步數(shù)據(jù)的技術(shù)方案。
但是,現(xiàn)有技術(shù)方案只解決了數(shù)據(jù)庫系統(tǒng)兩兩之間相互交換數(shù)據(jù)的問題,沒有解決異構(gòu)系統(tǒng)之間的數(shù)據(jù)交換;數(shù)據(jù)同步都是單機(jī)系統(tǒng)行為,不是分布式系統(tǒng),無法支持海量數(shù)據(jù)同步。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)解決問題是:克服現(xiàn)有技術(shù)的不足,提供一種異構(gòu)數(shù)據(jù)源的實(shí)時(shí)入庫系統(tǒng),其能夠?qū)崿F(xiàn)異構(gòu)數(shù)據(jù)源的熱插拔,可以任意添加或者減少數(shù)據(jù)源的配置,根據(jù)配置數(shù)據(jù)自動(dòng)實(shí)時(shí)入庫,并且在分布式系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)了異構(gòu)系統(tǒng)之間的數(shù)據(jù)同步過程。
本發(fā)明的技術(shù)解決方案是:這種異構(gòu)數(shù)據(jù)源的實(shí)時(shí)入庫系統(tǒng),該系統(tǒng)包括:
數(shù)據(jù)采集模塊,其配置來對(duì)于每個(gè)經(jīng)過AES加密的數(shù)據(jù)源批次,啟動(dòng)多個(gè)子任務(wù)并行采集;并配置來使數(shù)據(jù)接入層支持任務(wù)的停啟、以及回溯和斷點(diǎn)續(xù)傳;
數(shù)據(jù)傳輸模塊,其配置為一個(gè)基于分布式架構(gòu)的定制化數(shù)據(jù)通道;
數(shù)據(jù)解析模塊,其配置為一個(gè)基于分布式架構(gòu)的流式計(jì)算集群,以便完成實(shí)時(shí)抽取、轉(zhuǎn)換、加載ETL過程;
數(shù)據(jù)存儲(chǔ)模塊,其配置為根據(jù)數(shù)據(jù)源名稱和時(shí)間標(biāo)識(shí),生成數(shù)據(jù)分區(qū),選擇存儲(chǔ)介質(zhì)的流向。
本發(fā)明通過數(shù)據(jù)采集模塊拉取數(shù)據(jù),通過數(shù)據(jù)傳輸模塊透?jìng)鲾?shù)據(jù),并記錄數(shù)據(jù)量,通過數(shù)據(jù)解析模塊根據(jù)配置文件中的內(nèi)容來解析數(shù)據(jù)源,通過數(shù)據(jù)存儲(chǔ)模塊把解析后的數(shù)據(jù)存儲(chǔ)到存儲(chǔ)介質(zhì)中,因此能夠?qū)崿F(xiàn)異構(gòu)數(shù)據(jù)源的熱插拔,可以任意添加或者減少數(shù)據(jù)源的配置,根據(jù)配置數(shù)據(jù)自動(dòng)實(shí)時(shí)入庫,并且在分布式系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)了異構(gòu)系統(tǒng)之間的數(shù)據(jù)同步過程。
還提供了一種異構(gòu)數(shù)據(jù)源的實(shí)時(shí)入庫方法,該方法包括以下步驟:
(1)對(duì)于每個(gè)經(jīng)過AES加密的數(shù)據(jù)源批次,啟動(dòng)多個(gè)子任務(wù)并行采集;并配置來使數(shù)據(jù)接入層支持任務(wù)的停啟、以及回溯和斷點(diǎn)續(xù)傳;
(2)通過一個(gè)基于分布式架構(gòu)的定制化數(shù)據(jù)通道進(jìn)行數(shù)據(jù)傳輸;
(3)通過一個(gè)基于分布式架構(gòu)的流式計(jì)算集群進(jìn)行數(shù)據(jù)的實(shí)時(shí)抽取、轉(zhuǎn)換、加載;
(4)根據(jù)數(shù)據(jù)源名稱和時(shí)間標(biāo)識(shí),生成數(shù)據(jù)分區(qū),選擇存儲(chǔ)介質(zhì)的流向。
附圖說明
圖1示出了根據(jù)本發(fā)明的異構(gòu)數(shù)據(jù)源的實(shí)時(shí)入庫系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
如圖1所示,這種異構(gòu)數(shù)據(jù)源的實(shí)時(shí)入庫系統(tǒng),該系統(tǒng)包括:
數(shù)據(jù)采集模塊,其配置來對(duì)于每個(gè)經(jīng)過AES(Advanced Encryption Standard,高級(jí)加密標(biāo)準(zhǔn),在密碼學(xué)中又稱Rijndael加密法,是美國(guó)聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn))加密的數(shù)據(jù)源批次,啟動(dòng)多個(gè)子任務(wù)并行采集;并配置來使數(shù)據(jù)接入層支持任務(wù)的停啟、以及回溯和斷點(diǎn)續(xù)傳;
數(shù)據(jù)傳輸模塊,其配置為一個(gè)基于分布式架構(gòu)的定制化數(shù)據(jù)通道;
數(shù)據(jù)解析模塊,其配置為一個(gè)基于分布式架構(gòu)的流式計(jì)算集群,以便完成實(shí)時(shí)抽取、轉(zhuǎn)換、加載ETL過程;ETL,是英文Extract-Transform-Load的縮寫,用來描述將數(shù)據(jù)從來源端經(jīng)過抽取(extract)、轉(zhuǎn)換(transform)、加載(load)至目的端的過程;
ETL 一詞較常用在數(shù)據(jù)倉庫,但其對(duì)象并不限于數(shù)據(jù)倉庫;
數(shù)據(jù)存儲(chǔ)模塊,其配置為根據(jù)數(shù)據(jù)源名稱和時(shí)間標(biāo)識(shí),生成數(shù)據(jù)分區(qū),選擇存儲(chǔ)介質(zhì)的流向。
本發(fā)明通過數(shù)據(jù)采集模塊拉取數(shù)據(jù),通過數(shù)據(jù)傳輸模塊透?jìng)鲾?shù)據(jù),并記錄數(shù)據(jù)量,通過數(shù)據(jù)解析模塊根據(jù)配置文件中的內(nèi)容來解析數(shù)據(jù)源,通過數(shù)據(jù)存儲(chǔ)模塊把解析后的數(shù)據(jù)存儲(chǔ)到存儲(chǔ)介質(zhì)中,因此能夠?qū)崿F(xiàn)異構(gòu)數(shù)據(jù)源的熱插拔,可以任意添加或者減少數(shù)據(jù)源的配置,根據(jù)配置數(shù)據(jù)自動(dòng)實(shí)時(shí)入庫,并且在分布式系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)了異構(gòu)系統(tǒng)之間的數(shù)據(jù)同步過程。
另外,所述數(shù)據(jù)傳輸模塊,其還配置來把數(shù)據(jù)接入層與數(shù)據(jù)解析模塊解耦,提供數(shù)據(jù)緩沖和數(shù)據(jù)歸檔。
另外,所述數(shù)據(jù)傳輸模塊的數(shù)據(jù)緩沖時(shí)間為一周,數(shù)據(jù)歸檔為永久存儲(chǔ),當(dāng)然也可以設(shè)置為其它時(shí)間。
另外,所述數(shù)據(jù)解析模塊,首先完成對(duì)數(shù)據(jù)的高級(jí)加密標(biāo)準(zhǔn)AES的解密;其次進(jìn)行與異構(gòu)數(shù)據(jù)源相匹配的解析算法,對(duì)數(shù)據(jù)做結(jié)構(gòu)化和歸一化處理,并清洗出異常數(shù)據(jù)。
另外,所述數(shù)據(jù)存儲(chǔ)模塊,其還配置為根據(jù)數(shù)據(jù)總量和延遲時(shí)間來判定分區(qū)數(shù)據(jù)是否結(jié)束,數(shù)據(jù)入庫之后對(duì)外提供在線分析和離線交互式查詢服務(wù)。
另外,所述存儲(chǔ)介質(zhì)為Hadoop分布式文件系統(tǒng)HDFS、開源數(shù)據(jù)庫HBASE或事務(wù)數(shù)據(jù)庫ES。
還提供了一種異構(gòu)數(shù)據(jù)源的實(shí)時(shí)入庫方法,該方法包括以下步驟:
(1)對(duì)于每個(gè)經(jīng)過AES加密的數(shù)據(jù)源批次,啟動(dòng)多個(gè)子任務(wù)并行采集;并配置來使數(shù)據(jù)接入層支持任務(wù)的停啟、以及回溯和斷點(diǎn)續(xù)傳;
(2)通過一個(gè)基于分布式架構(gòu)的定制化數(shù)據(jù)通道進(jìn)行數(shù)據(jù)傳輸;
(3)通過一個(gè)基于分布式架構(gòu)的流式計(jì)算集群進(jìn)行數(shù)據(jù)的實(shí)時(shí)抽取、轉(zhuǎn)換、加載;
(4)根據(jù)數(shù)據(jù)源名稱和時(shí)間標(biāo)識(shí),生成數(shù)據(jù)分區(qū),選擇存儲(chǔ)介質(zhì)的流向。
當(dāng)然,在步驟(1)之前,還需要配置數(shù)據(jù)源節(jié)點(diǎn),包括數(shù)據(jù)源的IP,端口,存儲(chǔ)結(jié)構(gòu),以及最大訪問速度。
另外,所述步驟(2)中,把數(shù)據(jù)接入層與數(shù)據(jù)解析模塊解耦,提供數(shù)據(jù)緩沖和數(shù)據(jù)歸檔。
另外,所述步驟(3)中,首先完成對(duì)數(shù)據(jù)的高級(jí)加密標(biāo)準(zhǔn)AES的解密;其次進(jìn)行與異構(gòu)數(shù)據(jù)源相匹配的解析算法,對(duì)數(shù)據(jù)做結(jié)構(gòu)化和歸一化處理,并清洗出異常數(shù)據(jù)。
另外,所述步驟(4)中,根據(jù)數(shù)據(jù)總量和延遲時(shí)間來判定分區(qū)數(shù)據(jù)是否結(jié)束,數(shù)據(jù)入庫之后對(duì)外提供在線分析和離線交互式查詢服務(wù)。
本發(fā)明的有益效果如下:
1.數(shù)據(jù)源的增減可配置化;
2.基于分布式的數(shù)據(jù)同步,效率更高;
3.異構(gòu)的數(shù)據(jù)系統(tǒng)之間數(shù)據(jù)同步,更具有數(shù)據(jù)交換的普遍意義;
以上所述,僅是本發(fā)明的較佳實(shí)施例,并非對(duì)本發(fā)明作任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化與修飾,均仍屬本發(fā)明技術(shù)方案的保護(hù)范圍。