一種基于數據加工中心的數據流式處理方法
描述[0001]本發明涉及大數據處理描述,特別是一種基于數據加工中心的數據流式處理方法。背景[0002]無論用海量數據還是大數據來表征這個時代,數據規模龐大、增長迅速、類型繁 多、結構各異已成為無法回避的現實問題。如何把繁雜的大數據變成我們能應付的、有效的 “小”數據,即針對特定問題而構建一個千凈、完備的數據集,這一過程變得尤為重要。[0003]大數據治理和分析是在大數據處理過程中非常棘手的問題,如何做到處理的及時 性、靈活性和準確性尤為重要。目前在互聯網行業中通常采用犧牲靈活型和準確性(甚至允 許丟失部分數據)的方式來換取數據處理的及時性,但是在某些行業中,數據處理的準確性 是非常重要的,同時又要確保其及時性和穩定性。針對這種需求就生出的內存池,共享內存 以及管道等技術拼裝出數據加工中心,數據處理規則可以在數據加工中心中靈活配置,數 據流在加工中心“流”過后,加工中心就會根據配置業務規則提供相應的組件對數據進行實 時處理,經過加工中心處理后的數據可以通過統一源管理對外提供數據。[0004]傳統的數據處理中心,數據處理步驟過程中數據落地,數據處理如排序,剔重,過 濾等等功能固化,增加特性化數據處理難,功能可擴展性差,數據處理流向無法靈活控制。 目前許多的大數據應用平臺不能夠靈活的配置各種數據源之間的互通,只能單一的從一種 數據源同步到另外一種數據源。同時大多數的大數據應用平臺不能夠支持流式處理,即在 一個數據加工治理流程中需要多次的對數據進行讀寫,這樣不僅使得機器的10負載過高, 而且整個數據加工和治理的速度將大打折扣,在很多時候都不能滿足數據的及時性要求。 也有一些大數據應用平臺不能夠支持很多種數據的加工方法,也不能夠靈活的配置加工方 法,只能夠單一的滿足一些業務要求。[0005]阿里大數據應用平臺是阿里公司旗下產品的數據管理與分析平臺,其靈活的配置 任意數據源互通,具備統一的數據交換協議,可插件化開發數據處理功能,具有功能全面的 流式計算集群。該應用平臺處理來自云梯和飛天以及HBase和OceanBase等系統數據,但 是就該平臺而言目前在系統處理中應用相對獨立,沒有將數據流串聯起來。[0006]相關術語:ETL: ETL是Extract-Transform-Load的縮寫,中文名稱為數據提取、轉換和加載。是 構建數據倉庫的重要一環,用戶從數據源抽取出所需的數據,經過數據清洗,最終按照預 先定義好的數據倉庫模型,將數據加載到數據倉庫中去。[0007]流式處理:流式處理利用管道模式使海量數據在生產線中流動,加工組件實現對 數據清洗,轉化,拆分,入庫等操作。[0008]數據加工中心:一套完備的數據處理中心,可以對海量數據排重,維度替換,加密去隱私化,數據分類,聚類等等。內容[0009]本發明要解決的技術問題為:通過利用大數據平臺采用數據流式處理,提高大數 據處理速度,擴大可支持的數據加工方法種類范圍,同時在大數據處理過程中能夠靈活的 配置各種數據源之間的互通。[0010]本發明采取的技術手段具體為:一種基于數據加工中心的數據流式處理方法,所 述數據加工中心中預定義有包括數據校驗、排序、聚合和分組的加工方法步驟,以及兩個不 同加工方法步驟之間的連接關系;數據加工中心還設置有用于連接數據源的數據源接入端 口、用于連接用戶界面的數據加工方法及流程定義接入端口、目標數據輸出端口以及用于 連接流程監控單元的加工流程監控接口;基于上述數據加工中心的數據流式處理方法包括以下步驟:1)數據獲取:通過數據源接入端口獲取數據源;數據源接入端口連接的數據源類型包 括傳統 oracle、db2、mysql 數據庫,MPP 數據庫 Greenplum、teradata,以及 hdfs、HBASE、 HIVE數據庫;2)流式處理配置:為已獲取的數據配置“管道”節點,利用共享內存存儲已獲取到的數 據;3)數據加工方法配置:根據用戶通過數據加工方法及流程定義接入端口配置的數據加 工方法及數據加工流程,選擇和配置相應的加工方法及多個加工方法的流程排序;為已保 存在共享內存中的數據配置“轉換計算”節點,各“轉換計算”節點分別對應一種加工方法; 同時在相鄰“轉換計算”節點之間配置“管道”節點,使得數據通過管道在依次連接的轉換 計算節點之間流轉同時被處理;4)目標數據源的獲得:將步驟3)中最后一個轉換計算節點輸出的數據通過目標數據 輸出端口輸出至目標數據源中。[〇〇11] 步驟1)中,本發明支持多種數據源的數據獲取。數據獲取,即在加工配置系統中 配置“抽取”節點,如數據源為DB2,則配置“DB2抽取”,同時配置抽取的詳細規則,如抽取的 表名規則等。本發明對數據源中數據的獲取為現有技術。步驟2)利用共享內存對數據進 行存儲,可使得數據從數據源如DB2中抽取出來后不會落地。經過步驟3)后,數據即已根 據用戶定義的加工方法進行加工,并得到了相應的目標數據源,此時如果還要將數據同步 到其他的數據源中,可以配置“裝載”節點,如要將加工完成的數據同步到HDFS中,則在步 驟4中的“管道”節點后面配置“HDFS裝載”節點,來完成數據同步。[0012]本發明在應用時,用戶可通過可視化的用戶界面配置數據加工方法和定義數據加 工流程,如果缺少想要的數據加工方法,可以以插件的方式添加組件,也就是添加加工方 法。用戶通過對不同加工方法的組合得到想到的加工流程。數據加工中心將用戶定義的加 工方法和流程保存起來,生成加工計劃,并對其中的加工任務進行解析。在進行流式處理加 工時,首先要從數據源中采集相關數據,數據源可以是不同類型的數據庫也可以是文件,然 后根據加工任務的解析結果,對所獲取的數據源提供的數據進行逐步加工。[0013]本發明的流式數據加工處理方法中僅存在唯一一次讀取數據源中數據的操作,后 續便以共享內存的方式儲存數據,以便讓數據流向一個或者是多個不同的數據加工方法。 將加工完成的數據寫入到目標數據源中,也是整個數據加工流程中的唯一一次寫入操作。[0014]數據在加工過程中,用戶可以通過流程監控單元實現實時的監控流程,流程監控單元可將獲取到的監控信息輸出至可視化的用戶界面中,例如當前運行到了哪個加工方 法,運行了多長時間等等。[0015]有益效果本發明通過利用流式處理方式,采集不同源的數據到加工中心,將任意數據源數據互 通,并對數據做各種各樣的加工或處理,保證整個過程只讀取和寫入一次數據,提高了數據 處理的速度。且本發明可以支持非常豐富的加工方法,包括數據校驗,數據清洗,庫外計算, 對結構化數據中的某些字段做空值,長度,類型等等校驗,對數據進行排序,剔重,過濾等, 對數據進行分組和聚合等,這些方法全部都可以由用戶通過用戶界面靈活的配置或定制。 同時本發明的加工中心設置有用于連接流程監控單元的加工流程監控接口,能夠很直觀的 監控整個數據加工流程,方便統一管控。附圖說明[0016]圖1所示為本發明數據流式加工系統原理示意圖;圖2所示為本發明的數據處理流程示意圖;圖3所示為本發明的數據流式處理流程示意圖。實施[0017]以下結合附圖和具體實施例進一步說明。[0018]如圖1所示,本發明的一種基于數據加工中心的數據流式處理方法,所述數據加 工中心中預定義有包括數據校驗、排序、聚合和分組的加工方法步驟,以及兩個不同加工方 法步驟之間的連接關系;數據加工中心還設置有用于連接數據源的數據源接入端口、用于 連接用戶界面的數據加工方法及流程定義接入端口、目標數據輸出端口以及用于連接流程 監控單兀的加工流程監控接口;結合圖1至圖3,基于上述數據加工中心的數據流式處理方法包括以下步驟:1)數據獲取:通過數據源接入端口獲取數據源;數據源接入端口連接的數據源類型包 括傳統 oracle、db2、mysql 數據庫,MPP 數據庫 Greenplum、teradata,以及 hdfs、HBASE、 HIVE數據庫;2)流式處理配置:為已獲取的數據配置“管道”節點,利用共享內存存儲已獲取到的數 據;3)數據加工方法配置:根據用戶通過數據加工方法及流程定義接入端口配置的數據加 工方法及數據加工流程,選擇和配置相應的加工方法及多個加工方法的流程排序;為已保 存在共享內存中的數據配置“轉換計算”節點,各“轉換計算”節點分別對應一種加工方法; 同時在相鄰“轉換計算”節點之間配置“管道”節點,使得數據通過管道在依次連接的轉換 計算節點之間流轉同時被處理;4)目標數據源的獲得:將步驟3)中最后一個轉換計算節點輸出的數據通過目標數據 輸出端口輸出至目標數據源中。[〇〇19]步驟1)中,本發明支持多種數據源的數據獲取。數據獲取即在加工配置系統中配置“抽取”節點,如數據源為DB2,則配置“DB2抽取”,同時配置抽取的詳細規則,如抽取的表 名規則等。本發明對數據源中數據的獲取為現有技術。步驟2)利用共享內存對數據進行存儲,可使得數據從數據源如DB2中抽取出來后不會落地。經過步驟3)后,數據即已根據 用戶定義的加工方法進行加工,并得到了相應的目標數據源,此時如果還要將數據同步到 其他的數據源中,可以配置“裝載”節點,如要將加工完成的數據同步到HDFS中,則在步驟 4中的“管道”節點后面配置“HDFS裝載”節點,來完成數據同步。[0020]本發明在應用時,用戶可通過可視化的用戶界面配置數據加工方法和定義數據加 工流程,如圖1所示實施例中的數據校驗、排序、聚合和分組等現有的或自行通過現有軟件 技術定義數據加工方法。如果缺少想要的數據加工方法,可以以插件的方式添加組件,也就 是添加加工方法。用戶通過對不同加工方法的組合得到想到的加工流程。數據加工中心將 用戶定義的加工方法和流程保存起來,生成加工計劃,并對其中的加工任務進行解析。在進 行流式處理加工時,首先要從數據源中采集相關數據,數據源可以是不同類型的數據庫也 可以是文件,然后根據加工任務的解析結果,對所獲取的數據源提供的數據進行逐步加工。[0021]參考圖3,本發明的流式數據加工處理方法中僅存在唯一一次讀取數據源中數據 的操作,后續便以共享內存的方式儲存數據,以便讓數據流向一個或者是多個不同的數據 加工方法。將加工完成的數據寫入到目標數據源中,也是整個數據加工流程中的唯一一次 寫入操作。[0022]數據在加工過程中,用戶可以通過流程監控單元實現實時的監控流程,流程監控 單元可將獲取到的監控信息輸出至可視化的用戶界面中,例如當前運行到了哪個加工方 法,運行了多長時間等等。實施例[0023]如將本發明應用于某電信公司省級經分系統,要求對GPRS流量接口數據從MPP數 據庫(GP)同步到Hadoop中,并且對MSISDN (手機號碼)字段做隱私化處理,并且做空值校 驗,同時對CALL_DUR(通話時長)字段做運算(將字段值加一)。[0024]對上述數據處理任務的要求,可以在數據加工中心通過如下步驟來完成:配置數據加工流程為:表掃描6GP數據源抽取d!管道流d!轉換計算d!管道6HDFS裝載,該流程也是一個數據流;在數據加工中心中配置數據加工方法,即在以上流程的“轉換計算”中配置,對手機號 碼字段做隱私化和空值校驗方法,對通話時長字段做運算;數據加工中心按照已經配置的加工方法和管道流向進行方法的解析和實施。[0025]上述步驟從GP數據抽取到HDFS裝載流程中配置了管道,也是實現“流式處理”的 關鍵。在整個數據流式處理的過程中,流程監控單元可以監控整個數據流的運行狀態。[0026]本發明通過利用流式處理方式,采集不同源的數據到加工中心,將任意數據源數 據互通,并對數據做各種各樣的加工或處理,保證整個過程只讀取和寫入一次數據,提高了 數據處理的速度。且本發明可以支持非常豐富的加工方法,包括數據校驗,數據清洗,庫外 計算,對結構化數據中的某些字段做空值,長度,類型等等校驗,對數據進行排序,剔重,過 濾等,對數據進行分組和聚合等,這些方法全部都可以由用戶通過用戶界面靈活的配置或 定制。同時本發明的加工中心設置有用于連接流程監控單元的加工流程監控接口,能夠很 直觀的監控整個數據加工流程,方便統一管控,簡化加工的繁雜性,對一批海量的數據進行 清洗或分組聚合等等操作都可以交給一個數據加工中心,從數據加工中心流出的數據即是用戶想要的數據。提示:由于編輯困難導致圖片無法顯示及全文的完整、準確性或存在缺失!本文由海天精工整理發表文章均來自網絡僅供學習參考,轉載請注明!
- 相關文章
- 發表留言
-
◎歡迎參與討論,請在這里發表您的看法、交流您的觀點。
主站蜘蛛池模板:
惠州市|
聂荣县|
通辽市|
海丰县|
中阳县|
商丘市|
黑河市|
克拉玛依市|
湟源县|
烟台市|
阆中市|
长武县|
额尔古纳市|
招远市|
巢湖市|
夏津县|
万盛区|
天津市|
五台县|
四子王旗|
奉贤区|
南丰县|
隆安县|
丹寨县|
万全县|
隆林|
龙胜|
南召县|
察隅县|
乾安县|
平果县|
梓潼县|
鱼台县|
梁平县|
宿迁市|
锡林浩特市|
四会市|
巢湖市|
新津县|
宿松县|
本溪|