国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      海量數據處理中多線程工作包并行的etl技術的制作方法

      文檔序號:6560333閱讀:260來源:國知局
      專利名稱:海量數據處理中多線程工作包并行的etl技術的制作方法
      技術領域
      本發(fā)明涉及電信運營商數據倉庫應用,尤其是海量數據處理中多線程工作包并行的ETL技術。
      背景技術
      ETL是對大量企業(yè)數據進行處理時采用的數據抽取(Extract)、轉換(Transform)和裝載(Load)技術。隨著企業(yè)數據量的劇增,ETL技術日益受到人們的重視。ETL產品的長足發(fā)展,是企業(yè)應用和技術發(fā)展共同推動的結果。
      ETL除了上述主要功能外,還要對自身處理進程進行調度和管理,另外一個重要因素就是擴展性,數據種類和來源隨時都可能增加,理想的ETL解決方案要快速適應這些變化,滿足用戶的擴展需求。
      第一代ETL工具,如CA InfoPump,Oracle SQL Loader,etc..沒有集成化的開發(fā)環(huán)境和元數據交換,數據的抽取、加載和轉化需要編寫大量的腳本程序,同時要靠手工和外部作業(yè)調度來完成整個ETL過程。
      第二代ETL工具,如Ardent(后被Informix收購,現在屬Ascential Software公司)Data Stage,Oracle Warehouse Builder,以及Sagent等產品只是將數據轉換引擎與元數據管理集成,并可利用內部的工作流定義自動化完成一般數據的抽取、轉換和加載工作,但是沒有數據倉庫全過程的元數據集成和交換能力,對數據質量管理和異常處理的能力不高。
      第三代數據倉庫構建產品也稱作為數據集成平臺,或是ETL集成環(huán)境,而不是簡單的單點工具,在這一類別里,Informatica PowerCenter,Ascential Software Data StageXE以及IBM Warehouse Manager(原稱Visual Warehouse)都是可選的數據集成平臺。
      但是以上這些ETL工具,在多線程并發(fā)、自身的調度、管理、數據質量審核與監(jiān)控以及系統(tǒng)的可擴展性上都尚有一些不足,不能完全滿足用戶對ETL技術的要求。
      線程是操作系統(tǒng)的一種新概念,它又被稱作輕量進程,是比傳統(tǒng)進程更小的可并發(fā)執(zhí)行的單位。C和C++采用單線程,.Java在兩方面支持多線程。一方面,Java環(huán)境本身就是多線程的。若干個系統(tǒng)線程運行負責必要的無用單元回收,,多線程是Java語言的一大特性,多線程就是同時存在N個執(zhí)行體,按幾條不同的執(zhí)行線索共同工作的情況。程序,進程,線程,可以從不同的角度去理解。程序就是一段靜態(tài)的代碼,可以理解成一組計算機命令的集合.進行就是這個程序一次動態(tài)過程。
      如已經在專利公開中的文件中也包括了上述內容CN200410095805.5數據處理方法和裝置,將數據庫從源計算機系統(tǒng)復制到目標計算機系統(tǒng)的方法,包括以下步驟1)接收來自于源計算機系統(tǒng)的日志項;2)檢查日志項,查看是否在動態(tài)索引中有一個輸入項,它給出與一數據庫項有關的處理信息,所述日志項與該數據庫有關;以及3)如果在動態(tài)表中存在輸入項,則按照相關的處理信息處理日志項;或者4)如果在動態(tài)索引中沒有輸入項,則在分配數據庫中尋找數據庫項的相關處理信息,建立輸入項并在動態(tài)索引中存儲,并且按照處理信息處理日志項。
      CN03822194.2用于處理數據處理系統(tǒng)中的線程的方法和裝置,包括檢測和一個用戶線程相關聯(lián)的、不被該用戶線程需要的內核線程;以及響應內核線程不被需要,半分離該內核線程,其中用于該線程的數據不改變堆棧。

      發(fā)明內容
      ETL對大量企業(yè)數據進行處理時采用的數據抽取(Extract)、轉換(Transform)和裝載(Load)的方法,在進行ETL設計時,我們引入了工作流的原理。工作流(WORK FLOW)就是自動運作的業(yè)務過程部分或整體,表現為參與者對文件、信息或任務按照規(guī)程采取行動,并令其在參與者之間傳遞。簡單地說,工作流就是一系列相互銜接、自動進行的業(yè)務活動或任務。我們可以將整個業(yè)務過程看作是一條河,其中流過的就是工作流。
      在工作流的運動過程中,根據處理過程和工作條件來調整工作流向。工作流遵循3R準則,即路由(ROUTER)、規(guī)則(RULES)和任務(ROLES)。
      路由定義對象及其傳送所通過的路徑。
      規(guī)則定義信息的路由及路由隸屬。規(guī)則包括流向控制條件與異常情況處理。
      任務定義工作流在面向某種狀態(tài)、某種事務或某一工作組的具體操作。
      經營分析系統(tǒng)的流程調度部分采用工作流的設計原理,對系統(tǒng)的后臺流程進行控制和管理。定義了以下對象任務、子任務、工作包——ROUTER;將調度對象分為任務、子任務、工作包三個級別,工作包是可調度的最小單位。每個工作包是各種具體操作的集合,工作包的功能由其中的具體操作完成。工作包有輸入數據結構和輸出數據結構,每個數據結構可具體定義數據項,工作包中各項操作是對輸入數據結構的數據項進行操作,輸出為輸出數據結構數據項。一個子任務中的工作包之間可以有關聯(lián),工作包可以有前置工作包和后續(xù)工作包。任務又包括了子任務的集合與關聯(lián)。
      任務與子任務對應關系、子任務與工作包對應關系、工作包與操作的對應關系、前置子任務、后續(xù)子任務、前置工作包、后續(xù)工作包——PULES;操作——ROLES。
      數據結構是對數據格式的定義,數據結構中包含對每個數據項的具體描述,包括數據項名、數據項類型、數據項序號。是工作包組成部分,每個工作包都有一個輸入數據結構和輸出數據結構,工作包的所有操作都是對輸入數據結構的數據項的操作,然后形成工作包輸出數據結構的數據項,對工作包的操作為對數據結構的轉換將輸入數據結構轉換為輸出數據結構。
      模型是描述ETL平臺流程調度所需數據模型及其之間的關系。與其相關的幾個概念任務、子任務、工作包、操作。
      1、配置數據結構,對每個數據項的具體描述,包括數據項名、數據項類型、數據項序號;2.配置任務,配置任務名稱和運行控制屬性;3.配置子任務4、配置工作包工作包的功能由其中的具體操作完成;操作是最小的處理單元,其作用是對輸入數據結構的數據項進行相應處理,生成輸出數據結構的數據項;工作包操作配置的每一步是配置工作包輸入數據結構和工作包輸出數據結構通過拖拉完成操作完成工作包操作配置。
      每個任務可以對應一個線程,通過多線程的并發(fā)運行,從而實現了多任務可以同時運行,同時每個任務中的子任務、工作包等可以根據預先設定的條件自行運行;通過對工作包信息點的監(jiān)控,可以方便地對數據質量及任務的運新情況進行監(jiān)控。
      預先設定的軟件完成設定的任務,如傳送、對比或各工作線程之一的任務,工作包信息點的監(jiān)控文件采用網絡監(jiān)控驅動模塊。由于后臺采用的面向對象的C++進行開發(fā),前臺采用JAVA進行開發(fā),所以該ETL工具還具備跨平臺的特性。
      綜上所述,本發(fā)明的ETL工具具有以下特點·支持多種UNIX平臺外,包括支持windows平臺。
      ·支持多種數據源和目的,包括多種數據庫及文件;·采用哈希算法,提高運行速度。本發(fā)明綜合利用現有技術提供速度的辦法除了程序自身外,還可以充分利用多CPU處理器特性,多線程并行處理,速度提高方面同樣非常明顯。字段數為26的文件處理速度在18000行/秒左右。
      ·插件體系,使擴展非常容易。
      ·提供了元數據管理接口。
      ·提供完善的數據審核功能


      圖1是本發(fā)明方法的定義結構和操作定義過程流程圖即數據模型,圖2是本發(fā)明方法的任務和子任務流程圖,圖3是本發(fā)明主界面構成4是本發(fā)明數據結構創(chuàng)建向導圖,整個分析系統(tǒng)的數據獲取任務以此圖示,圖5是本發(fā)明工作包內部流程圖具體實施方式
      本發(fā)明的實體說明見下表


      為了統(tǒng)一控制整個數據獲取與準備過程,達到自動流程調度的目的,將調度對象劃分為不同級別,針對某個數據源的整個數據獲取與準備過程稱為一個任務,其下再分為有序的子任務,子任務下再分為工作包,工作包中含各個具體的操作。某一數據源的抽取、清洗、轉換、裝載、分析數據生成等都可細化為每個具體的操作。總體流程調度針對不同調度對象的配置規(guī)則,完成自動調度。對于每個數據獲取子任務,需包含以下功能,如數據抽取、數據轉換、數據加載、分析數據生成等,這些功能并不完全是串行進行的,有些功能可以交叉進行,如在進行數據抽取或數據加載的同時可進行數據轉換工作。從處理效率上,我們盡量把功能相近的工作,組成一個工作包,將其合并在一起執(zhí)行。工作包是最小執(zhí)行單位。
      整個分析系統(tǒng)的數據獲取任務如圖4所示,圖中橫列的任務(通過進程控制)是可以調整執(zhí)行的先后順序的,并且可以進行并行;工作包也是可以進行調度,并可以并行運行的(通過線程控制)。這樣就實現了多進程與多線程的雙重并行,大大提高了ETL程序的執(zhí)行效率。
      任務內部流程指任務內部子任務的執(zhí)行順序及判斷邏輯,其流程圖2如示。
      不同的工作包內部流程不同,這里僅以文件轉換工作包為例說明如圖5所示。為了便于邏輯上區(qū)分,將調度對象分為任務、子任務、工作包三個級別。任務是一個邏輯上的概念,主要目的是區(qū)分不同業(yè)務數據處理過程。子任務是任務中某個功能階段的劃分,各個任務可以根據其執(zhí)行階段的不同細分為各個明確的子任務,子任務按運行方式可以分為實時運行子任務、定時運行子任務、手工觸發(fā)子任務。工作包是比子任務更小一級的調度對象,隸屬于子任務。工作包是可調度的最小單位,每個工作包是各種具體操作的集合,工作包的功能由其中的具體操作完成。工作包有輸入數據結構和輸出數據結構,每個數據結構可具體定義數據項,工作包中各項操作是對輸入數據結構的數據項進行操作,輸出為輸出數據結構數據項。一個子任務中的工作包之間可以有關聯(lián),工作包可以有前置工作包和后續(xù)工作包。
      數據結構是對數據格式的定義,數據結構中包含對每個數據項的具體描述,包括數據項名、數據項類型、數據項序號。雖然它不是直接可調度的對象,但卻是工作包必不可少的組成部分,每個工作包都有一個輸入數據結構和輸出數據結構,工作包的所有操作都是對輸入數據結構的數據項的操作,然后形成工作包輸出數據結構的數據項,工作包的工作過程可以理解為對數據結構的轉換將輸入數據結構轉換為輸出數據結構。
      人機界面完成數據準備與獲取平臺中流程的配置和后臺流程運行情況的前端展示。大致流程和界面分布如圖3所示各操作界面功能如下1.主界面大部分配置工作都在如上主界面中完成,在主界面中可以完成以下配置1)配置數據結構2)配置任務3)配置子任務4)配置工作包主界面的布局是上側為菜單和工具欄、左側為對象窗口、右側為配置窗口,配置窗口中分為以下幾部分左側為工具欄、中間為配置桌面、下面為工作包類型工具欄。
      1、配置數據結構數據結構是很重要的一種對象,數據結構中包含對每個數據項的具體描述,包括數據項名、數據項類型、數據項序號。支持從庫表或手工創(chuàng)建數據結構。
      2.配置任務任務是最高一級的調度對象,由于其只是為了便于邏輯上區(qū)分不同的處理過程,所以任務的屬性比較簡單,只需配置任務名稱和運行控制屬性。
      3.配置子任務子任務是任務中某個功能階段的劃分,各個任務可以根據其執(zhí)行階段的不同細分為各個明確的子任務,子任務可以有前置子任務和后續(xù)子任務。子任務根據觸發(fā)方式的不同,可以分為實時運行子任務、定時運行子任務、手工觸發(fā)子任務。
      如下界面配置子任務的運行方式4、配置工作包工作包是比子任務更小一級的調度對象,隸屬于子任務。工作包是可調度的最小單位,每個工作包是各種具體操作的集合,工作包的功能由其中的具體操作完成。
      根據工作包功能,可以分為以下幾種類型1)表抽取工作包從指定庫表中選擇指定的字段生成數據文件。
      2)FTP抽取工作包從遠程主機指定目錄中獲取數據文件到本地。
      3)文件轉換工作包對定分隔符的數據文件進行處理,生成新數據文件。
      4)表轉換工作包對庫表的數據進行處理,生成數據到指定庫表。
      5)文件裝載工作包對定分隔符的數據文件進行處理,裝載到指定庫表。
      6)存儲過程調用工作包調用指定的存儲過程。
      配置工作包主要包括配置工作包所包含的操作和工作包附加信息,工作包的具體處理過程由其所包含的操作完成。
      操作是最小的處理單元,其作用是對輸入數據結構的數據項進行相應處理,生成輸出數據結構的數據項。不同類型可配置的操作不同,以文件轉換工作包為例,可配置的操作如下
      a)字段映射 b)字段合并c)截取子串 d)去除兩端空格c)字段相加 f)字段相減g)字段相乘 h)字段相除i)字段替換 j)兩端填充工作包操作配置的每一步是配置工作包輸入數據結構和工作包輸出數據結構通過拖拉完成操作完成工作包操作配置。
      3.轉換規(guī)則配置轉換規(guī)則定義一套舊值與新值的對應關系,在配置字段轉換時可以選擇已定義的轉換規(guī)則作為轉換標準,字段轉換按配置的對應關系對輸入數據結構的指定數據項進行轉換,生成輸出數據結構的指定數據項。轉換規(guī)則配置界面如下4.填充規(guī)則配置填充規(guī)則定義字段兩填充時的規(guī)則,如填充位置、填充字符、填充長度,在配置字段填充時可以選擇已定義的填充規(guī)則作為字符填充標準,填充規(guī)則配置界面如下5.基元信息配置基元信息是工作包處理過程生成的基本信息單元,基元信息可分為一般基元信息、配置基元信息、性能基元信息、故障基元信息。基元信息配置界面如下不同類型的工作包可配置的基元信息不同,在配置工作時可以為工作包配置所需的基元信息,配置界面如下6.審核規(guī)則配置為了校驗工作包處理過程的準確性,可以對工作包處理過程進行審核,審核分為外部、工作包內部審核、工作包間審核。外部審核用于審核接收外部數據的工作包接受數據的準確性;工作包內部審核用于審核工作包處理過程的準確性;工作包間審核用于審核前后關聯(lián)工作包間數據傳送與接收的準確性。
      審核規(guī)則配置界面如下7.對象運行狀態(tài)監(jiān)控任務、子任務、工作包狀態(tài)分為運行、成功、失敗、初始化。工具提供如下界面實時反映各級調度對象狀態(tài),便于實時監(jiān)控,可實時停止或重新啟動各調度對象。
      工作包在運行過程會實時記錄的基元信息,通過前臺WEB界面反映各工作包的基元信息,以了解工作包運行過程中的具體信息。
      權利要求
      1.海量數據處理中多線程工作包并行的ETL方法,對大量企業(yè)數據進行處理時采用的數據抽取、轉換和裝載,其特征是設有一系列相互銜接、自動進行的業(yè)務活動或任務的工作流,工作流遵循路由、規(guī)則和任務或操作;其中路由定義對象及其傳送所通過的路徑;規(guī)則定義信息的路由及路由隸屬。規(guī)則包括流向控制條件與異常情況處理;任務或操作定義工作流在面向某種狀態(tài)、某種事務或某一工作組的具體操作;將調度對象分為任務、子任務、工作包三個級別,工作包是可調度的最小單位。每個工作包是各種具體操作的集合,工作包的功能由其中的具體操作完成;工作包有輸入數據結構和輸出數據結構,每個數據結構可具體定義數據項,工作包中各項操作是對輸入數據結構的數據項進行操作,輸出為輸出數據結構數據項;一個子任務中的工作包之間可以有關聯(lián),工作包可以有前置工作包和后續(xù)工作包,任務又包括了子任務的集合與關聯(lián);每個任務對應一個線程,通過多線程的并發(fā)運行,從而實現了多任務可以同時運行,同時每個任務中的子任務、工作包等可以根據預先設定的條件自行運行;數據結構中包含對每個數據項的具體描述,包括數據項名、數據項類型、數據項序號;每個工作包都有一個輸入數據結構和輸出數據結構,工作包的所有操作都是對輸入數據結構的數據項的操作,然后形成工作包輸出數據結構的數據項,對工作包的操作為對數據結構的轉換將輸入數據結構轉換為輸出數據結構。
      2.根據權利要求1所述的海量數據處理中多線程工作包并行的ETL方法,其特征是通過模型是描述ETL平臺流程調度所需數據模型及其之間的關系,其中通過1、)配置數據結構,對每個數據項的具體描述,包括數據項名、數據項類型、數據項序號;2.)配置任務,配置任務名稱和運行控制屬性;3.)配置子任務;4、)配置工作包工作包的功能由其中的具體操作完成;操作是最小的處理單元,對輸入數據結構的數據項進行相應處理,生成輸出數據結構的數據項;工作包操作配置的每一步是配置工作包輸入數據結構和工作包輸出數據結構通過拖拉完成操作完成工作包操作配置。
      3.根據權利要求1所述的海量數據處理中多線程工作包并行的ETL方法,其特征是將調度對象分為任務、子任務、工作包三個級別;用于區(qū)分不同業(yè)務數據處理過程;子任務是任務中某個功能階段的劃分,分為實時運行子任務、定時運行子任務、手工觸發(fā)子任務;工作包是比子任務更小一級的調度對象,隸屬于子任務,工作包是可調度的最小單位,每個工作包是各種具體操作的集合,工作包的功能由其中的具體操作完成;工作包有輸入數據結構和輸出數據結構,每個數據結構可具體定義數據項,工作包中各項操作是對輸入數據結構的數據項進行操作,輸出為輸出數據結構數據項。
      4.根據權利要求3所述的海量數據處理中多線程工作包并行的ETL方法,其特征是一個子任務中的工作包之間有關聯(lián),工作包有前置工作包和后續(xù)工作包。
      5.根據權利要求3所述的海量數據處理中多線程工作包并行的ETL方法,其特征是數據結構是對數據格式的定義,數據結構中包含對每個數據項的具體描述,包括數據項名、數據項類型、數據項序號,每個工作包都有一個輸入數據結構和輸出數據結構,工作包的所有操作都是對輸入數據結構的數據項的操作,然后形成工作包輸出數據結構的數據項,工作包的工作過程是對數據結構的轉換將輸入數據結構轉換為輸出數據結構。
      全文摘要
      海量數據處理中多線程工作包并行的ETL方法,對大量企業(yè)數據進行處理時采用的數據抽取、轉換和裝載,設有一系列相互銜接、自動進行的業(yè)務活動或任務的工作流,工作流遵循路由、規(guī)則和任務或操作;其中路由定義對象及其傳送所通過的路徑;規(guī)則定義信息的路由及路由隸屬;規(guī)則包括流向控制條件與異常情況處理;任務或操作定義工作流在面向某種狀態(tài)、某種事務或某一工作組的具體操作;將調度對象分為任務、子任務、工作包三個級別,工作包是可調度的最小單位。每個工作包是各種具體操作的集合,工作包的功能由其中的具體操作完成;工作包有輸入數據結構和輸出數據結構,每個數據結構可具體定義數據項。
      文檔編號G06Q10/00GK1897025SQ20061010655
      公開日2007年1月17日 申請日期2006年7月12日 優(yōu)先權日2006年4月27日
      發(fā)明者趙懿敏, 李捷, 曹小華, 郭景東, 沈曉軍, 魏凌, 陳松樂 申請人:南京聯(lián)創(chuàng)科技股份有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1