麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

數據處理方法、數據處理裝置及計算機可讀存儲介質的制作方法

文檔序號:6377962閱讀:190來源:國知局

專利名稱::數據處理方法、數據處理裝置及計算機可讀存儲介質的制作方法
技術領域
:本發明涉及數據歸檔(profling)。
背景技術
:存儲的數據集經常包括事先未知各種特性的數據。例如,數據集的值或一般值的范圍,在數據集內不同字段之間的關系,或在不同字段中的值之間的函數依賴性可能是未知的。數據歸檔會涉及到檢查數據集的源,以確定這些特性。數據歸檔系統的用途之一是收集有關數據集的信息,然后該信息用于設計集結區(stagingarea),以便在進一步處理之前裝載數據集。然后,基于在數據歸檔過程中收集的信息,在集結區中進行將數據集映射到希望的目標格式和位置所需的轉換。這種轉換可能是必要的,例如,使第三方數據與已有數據存儲器兼容,或者將數據從原來的計算機系統轉移到新的計算機系統。
發明內容一般而言,在一個方案中,本發明的特征是數據處理方法。接收記錄流,每個記錄包括一個或多個字段和對應值;在多個處理器之間分割所述記錄流;為每個記錄生成在各記錄中具有值的每個字段的字段值對,所述字段值對表示各記錄中的字段和用于所述字段的對應值;為每個處理器生成每個相異字段值對的調查元素,所述調查元素包括表示所述相異字段和所述相異值的字段值對的計數;基于用于各字段的所述調查元素計算所述記錄流中每個字段的統計數字;以及基于對應的統計數字為所述記錄流中的每個字段生成歸檔。本發明的方案可以包括一個或多個以下特征。生成在每個記錄中具有值的每個字段的所述字段值對的步驟包括確定記錄中的特定字段是否為條件字段;以及響應于確定所述特定字段為條件字段,確定所述特定字段是否具有值。記錄流的至少一個記錄包括可變數目的字段。基于所述統計數字確定格式規范。為至少一個字段計算直方圖或十分位數統計數字。基于所述記錄的順序特性計算用于所述記錄流的序列統計數字。一般而言,在另一個方案中,本發明的特征是數據處理裝置。該數據處理裝置包括接收模塊,用于接收記錄流,每個記錄包括一個或多個字段和對應值;分割模塊,用于在多個處理器之間分割所述記錄流;字段值對生成模塊,用于為每個記錄生成在各記錄中具有值的每個字段的字段值對,所述字段值對表示各記錄中的字段和用于所述字段的對應值;調查元素生成模塊,用于為每個處理器生成每個相異字段值對的調查元素,所述調查元素包括表示所述相異字段和所述相異值的字段值對的計數;計算模塊,用于基于用于各字段的所述調查元素計算所述記錄流中每個字段的統計數字;以及歸檔生成模塊,用于基于對應的統計數字為所述記錄流中的每個字段生成歸檔。本發明的方案可以包括一個或多個以下特征。字段值對生成模塊包括用于確定記錄中的特定字段是否為條件字段的模塊;以及用于響應于確定所述特定字段為條件字段,確定所述特定字段是否具有值的模塊。記錄流的至少一個記錄包括可變數目的字段。數據處理裝置還包括用于基于所述統計數字確定格式規范的模塊。數據處理裝置還包括用于計算至少一個字段的直方圖或十分位數統計數字的模塊。數據處理裝置還包括用于基于所述記錄的順序特性計算用于所述記錄流的序列統計數字的模塊。一般而言,在再一個方案中,本發明的特征是存儲用于數據處理的計算機程序的計算機可讀存儲介質,所述計算機程序包括用于使計算機系統執行以下操作的指令接收記錄流,每個記錄包括一個或多個字段和對應值;在多個處理器之間分割所述記錄流’為每個記錄生成在各記錄中具有值的每個字段的字段值對,所述字段值對表示各記錄中的字段和用于所述字段的對應值;為每個處理器生成每個相異字段值對的調查元素,所述調查元素包括表示所述相異字段和所述相異值的字段值對的計數;基于用于各字段的所述調查元素計算所述記錄流中每個字段的統計數字;以及基于對應的統計數字為所述記錄流中的每個字段生成歸檔。本發明的方案可以包括一個或多個以下特征。生成在每個記錄中具有值的每個字段的所述字段值對的步驟包括如下步驟確定記錄中的特定字段是否為條件字段;以及響應于確定所述特定字段為條件字段,確定所述特定字段是否具有值。記錄流的至少一個記錄包括可變數目的字段。計算機程序還配置為包括用于使計算機系統基于所述統計數字確定格式規范的指令。計算機程序還包括用于使計算機系統為至少一個字段計算直方圖或十分位數統計數字的指令。計算機程序還包括用于使計算機系統基于所述記錄的順序特性計算用于所述記錄流的序列統計數字的指令。本發明的各個方案在對用戶不熟悉的數據集進行歸檔時是很有用的。可以自動確定或協同用戶確定的信息可以用于轉存(populate)數據源的元數據,之后用于進一步的處理。本發明的其它特征和優點將從以下描述以及權利要求書中顯而易見。圖I為包括數據歸檔模塊的系統的方框圖。圖2為用于數據歸檔的元數據存儲器中對象的組織結構的方框圖。圖3為歸檔模塊的歸檔圖表。圖4為用于說明數據格式類型對象的層級樹形圖。圖5A-C為實施歸檔圖表的調查進行組件、調查分析組件以及采樣組件的子圖表的示意圖。圖6為上滾過程的流程圖。圖7為規范化過程的流程圖。圖8A-C例示了顯示歸檔結果的用戶界面屏幕的輸出。圖9為不范性的歸檔過程的流程圖。圖10為示范性的歸檔過程的流程圖。圖IlA-B為對來自兩對字段的記錄進行的匯合操作的兩個范例。圖12A-B為對來自兩對字段的調查記錄進行的調查匯合操作的兩個范例。圖13為用于對兩對字段進行單個調查匯合操作的擴展記錄的范例。圖14為用于產生擴展記錄的擴展組件。圖15A-C為用于進行匯合-字段分析的圖表。圖16為具有函數依賴性關系的字段的范例表格。圖17為用于進行函數依賴性分析的圖表。具體實施方式I概述參照圖1,數據處理系統10包括歸檔和處理子系統20,其用于處理來自數據源30的數據,更新數據存儲子系統40中的元數據存儲器112和數據存儲器124。然后,所存儲的元數據和數據對于使用接口子系統50的用戶是可訪問的。一般而言,數據源30包括多種獨立的數據源,每個數據源具有獨有的存儲格式和接口(例如,數據庫表格、電子數據表(spreadsheet)文件、平面文本文件或主機110使用的固有格式)。各獨立的數據源對于歸檔和處理子系統20可以是本地的,例如,位于相同的計算機系統(例如,文件102),或者對于歸檔和處理子系統20可以是遠端的,例如,位于通過局域或廣域數據網訪問的遠端計算機(例如,主機110)。數據存儲子系統40包括數據存儲器124和元數據存儲器112。元數據存儲器112包括與數據源30中的數據相關的信息和關于數據存儲器124中的數據的信息。這種信息可包括記錄格式和確定這些記錄中字段值的有效性的規范(有效性規范)。元數據存儲器112可以用于存儲關于待歸檔的數據源30中的數據集的初始信息,以及在歸檔過程中獲得的關于此數據集的信息,和從該數據集獲取的數據存儲器124中的數據集。數據存儲器124可以用于存儲已從數據源30讀取的、使用從數據歸檔過程中獲取的信息隨意轉換后的數據。歸檔和處理子系統20包括歸檔模塊100,其以離散工作元素例如單獨記錄為單位直接從數據源讀取數據,而不必在歸檔之前裝載(landing)數據的完整副本至存儲介質。一般地,一個記錄與一組數據字段相關聯,并且對于每個記錄,每個字段具有特定值(可能包括零值)。數據源中的記錄可以具有固定的記錄結構,即,每個記錄包括相同的字段。可替換地,記錄可以具有可變記錄結構,例如,包括可變長度矢量或條件字段。在可變記錄結構的情況下,處理記錄,不必在歸檔前存儲數據的“展平(flattened^S卩,固定的記錄結構)副本即可處理記錄。首先,當從數據源讀取數據時,歸檔模塊100—般利用關于數據源中的記錄的某些初始格式信息啟動。(注意,在某些情況下,甚至不知道數據源的記錄結構)。關于記錄的初始信息可包括表示相異值(例如,16位(=2字節))的位數;值(包括與記錄字段相關聯的值和與標志符或分隔符相關聯的值)的順序;以及由位表示的值的類型(例如,串、帶符號/不帶符號的整數)。此關于數據源的記錄的信息在元數據存儲器112所存儲的數據操縱語言(DML)文件中說明。歸檔模塊100可以使用預定義的DML文件,來自動說明來自各種通用數據系統格式(例如,SQL表格、XML文件、CSV文件)的數據,或使用從元數據存儲器112獲得的DML文件描述定制化的數據系統格式。部分地,可能不精確地,在歸檔模塊100初始讀取數據之前,歸檔和處理子系統20可以得到關于數據源的記錄的初始信息。例如,與數據源相關聯的副本簿(copybook)可以作為存儲的數據114得到,或者由用戶118通過用戶接口116輸入得到。這種已有信息由元數據輸入模塊115處理并存儲在元數據存儲器112中和/或用于定義訪問數據源時使用的DML文件。當歸檔模塊100從數據源讀取記錄時,其計算統計數字和反映數據集內容的其他描述性信息。然后,歸檔模塊100將這些統計數字和描述性信息以“歸檔”的形式寫入到元數據存儲器112中,然后,通過用戶接口116或其他任何可以訪問元數據存儲器112的模塊來檢查元數據存儲器112。歸檔中的統計數字優選包括每個字段中的值的直方圖、最大值、最小值及平均值,最小公共值和最大公共值的采樣。通過讀取數據源所獲得的統計數字可以用于各種用途。這些用途包括發現不熟悉數據集的內容、建立與數據集相關聯的元數據的集合、在購買或使用之前檢查第三方數據,以及對收集到的數據實施質量控制方案(scheme)。下面將詳細描述使用數據處理系統10執行這些任務的過程。元數據存儲器112能夠存儲與每個被歸檔的字段相關聯的有效性信息,例如將其作為對有效性信息編碼的有效性規范。可替換地,有效性信息可以存儲在外部存儲位置并由歸檔模塊100檢索(retrieved)。在將數據集歸檔前,有效性信息可以指定每個字段的有效數據類型。例如,如果一個字段是一個人的“頭銜”,默認有效值可以是“串”數據類型的任何值。用戶在將數據源歸檔前還可以提供有效值例如“Mr.”、“Mrs.”和“Dr.”,從而歸檔模塊100讀取的任何其他值都將被識別為無效。用戶還可使用從歸檔運行過程中獲得的信息來指定特定字段的有效值。例如,在將數據集歸檔后,用戶可能會發現作為公共值出現的“Ms.”和“Msr.”。用戶可以將“Ms.”添加為有效值,并將值“Msr.”映射到“Mrs.”作為數據清除選項。因此,有效性信息可包括有效值和映射信息,從而允許通過將映射信息映射到有效值來清除有效值。當通過連續的歸檔運行過程發現更多關于數據源的信息時,可以以迭代方式對數據源歸檔。歸檔模塊100也可以產生可執行代碼,以實施能夠訪問被歸檔的數據系統的其它模塊。例如,處理模塊120可包括歸檔模塊100產生的代碼。作為對數據源的訪問過程的一部分,這種代碼的一個范例可以將值“Msr.”映射到“Mrs.”。處理模塊120可以在與歸檔模塊100相同的運行時間環境中運行,且優選能與元數據存儲器112通信,以訪問與數據集相關聯的歸檔。處理模塊120可以讀取與歸檔模塊100相同的數據格式(例如,通過從元數據存儲器112獲得相同的DML文件)。處理模塊120在將輸入記錄存儲在數據存儲器124之前,可以使用數據集歸檔獲得驗證或清理這些輸入記錄的值。與歸檔模塊100相似,處理模塊120也以離散工作元素為單位直接從數據系統讀取數據。工作元素的這種“數據流”有利于對較大數據集進行數據歸檔,而不必在本地存儲器(例如,磁盤驅動器)上復制數據。將在下文詳細描述的此數據流模型還允許處理模塊進行復雜的數據轉換,而不需先將源數據復制至集結區,這就潛在地節省了存儲空間和時間。2元數據存儲器組織結構歸檔模塊100使用元數據存儲器112組織和存儲各種元數據,并將優選項和結果以數據對象的形式歸檔。參照圖2,元數據存儲器112可以存儲一組歸檔建立對象201(均用于與歸檔工作相關的信息)、一組數據集對象207(均用于與數據集相關的信息)、以及一組DML文件211(均描述特定的數據格式)。歸檔建立對象包含歸檔模塊100執行的歸檔運行過程的優選項。用戶118可以輸入用于建立新歸檔建立對象的信息或選擇預存儲的歸檔建立對象200。歸檔建立對象200包含對數據集對象206的參考204。數據集建立對象206包含數據集定位器202,用于使歸檔模塊100將待歸檔的數據定位在一個或多個在運行時間環境中可訪問的數據系統上。數據集定位器202—般是路徑/文件名、URL,或路徑/文件名和/或URL的列表,用于在多個位置上的數據集散布(spread)。數據集對象206可以選擇性地包含對一個或多個DML文件210的參考208。一個或多個DML文件210可以基于關于數據集中的數據格式的知識被預選擇,或可以由用戶在運行時間指定。歸檔模塊100能夠獲得數據集的初始部分,并基于默認的DML文件通過用戶接口116向用戶呈現對初始部分的解釋。然后,用戶可以基于解釋的交互視圖來修改默認的DML文件規范。如果數據集包括具有多種格式的數據,則需要參考一個以上的DML文件。數據集對象206包含對一組字段對象214的參考212。在待歸檔的數據集的記錄中,每個字段有一個字段對象。一旦由歸檔模塊100執行的歸檔運行過程完成,數據集對象206中就包含對應于已歸檔數據集的數據集歸檔216。數據集歸檔216包含與數據集相關的統計數字,例如記錄的總數和有效/無效記錄的總數。字段對象218可以選擇性地包含有效性信息220,歸檔模塊100可使用有效性信息220來確定對應字段的有效值,并指定用于清除無效值的規則(即,將無效值映射到有效值上)。字段對象218也包含歸檔模塊100在完成歸檔運行過程時存儲的字段歸檔222,字段歸檔222包含與對應字段相關的統計數字,例如相異值、零值以及有效/無效值的數量。字段歸檔222還可包括采樣值,例如最大值、最小值、最大公共值和最小公共值。一個完整的“歸檔”包括數據集歸檔216和所有被歸檔字段的字段歸檔。其他用于歸檔裝置(profiler)運行的用戶優選項可以被收集和存儲在歸檔建立對象200或數據集對象206中。例如,用戶可以選擇過濾表達式(filterexpression),該過濾表達式可用于限制字段或已歸檔的值的個數,包括對值的隨機采樣(例如,1%)歸檔。3運行時間環境歸檔模塊100在允許數據從數據源讀出并處理成離散工作元素流的運行時間環境中運行。歸檔模塊100和處理模塊120執行的計算通過有向(directed)圖表以數據流的形式表達,同時這些計算式中的分量與圖表的頂點(vertice)以及這些分量之間的數據流(其對應于圖表的鏈路(弧、邊緣))相關聯。實施這種基于圖表的計算的系統在U.S.專利5,966,072,“運行表達成圖表的計算”中有描述。按照此系統制成的圖表提供了這樣這些方法,即,獲取進/出由圖表分量表示的各進程的信息,在這些進程之間移動信息,以及定義這些進程的運行次序。此系統包括選擇進程間通信方法(例如,與圖表鏈路一致的通信路徑可以使用TCP/IP或UNIX字段套接字,或使用共享存儲器來在這些進程之間傳遞數據)的算法。運行時間環境也允許歸檔模塊100作為并行進程來運行。與上述相同類型的圖表表示(r印resentation)可以用于描述并行處理系統。作為討論,并行處理系統包括使用多個中央處理單元(CPU)的任意結構的計算機系統,或者本地的(即,多處理器系統例如SMP計算機),或本地分布式(例如,連接成群集的多處理器或MPP),或遠程的,或遠程分布式(例如,經LAN或WAN網連接的多處理器),或它們的任意組合。再者,這些圖表將由分量(圖表頂點)和流(圖表鏈路)組成。通過明確或暗含地復制圖表的元素(分量和流),可以表現系統中的并行度。使用用于輸入分量的鏈路輸入隊列來實施流控機制。此流控機制允許數據在圖表的分量之間流動,而不會被寫入非易失性本地存儲器例如通常較大但速率較慢的磁盤驅動器中。輸入隊列可以足夠小,以能夠將工作元素保存在一般來講比非易失性存儲器小和快速的易失性存儲器中。即使對于非常大的數據集,這也能潛在地節省存儲空間和時間。這些分量可以使用輸出緩沖器來代替輸入隊列,或在使用輸入隊列之外還使用輸出緩沖器。當兩個分量通過流連接時,只要下游分量持續使用工作元素,上游分量就發送工作元素至下游分量。如果下游分量滯后(fallsbehind),上游分量將填補(fillup)下游分量的輸入隊列,并停止工作,直到輸入隊列再次清除為止。可以使用不同程度的提取方式(abstraction)來指定計算圖表。因此,可以在另一個圖表中將包含分量和鏈路的“子圖表”表示為單個分量,該單個分量僅顯示那些連接至圖表剩余部分的鏈路。4圖表歸檔參照圖3,在一個優選實施例中,圖表歸檔裝置400進行用于歸檔模塊100的計算。輸入數據集組件402表示來自潛在的幾種類型的數據系統的數據。這些數據系統可以具有不同的物理介質類型(例如,磁、光、磁光)和/或不同的數據格式類型(例如,二進制、數據庫、電子數據表、ASCII串、CSV或XML)。輸入數據集組件402發送數據流到調查進行組件406中。調查進行組件406進行數據集的“調查”,在流入該調查進行組件的記錄中為每個獨有的字段/值對創建單獨的調查記錄。每個調查記錄包括用于該調查記錄的獨有字段/值對(pair)的出現次數的計數。調查進行組件406具有清除選項,該清除選項可以根據存儲在對應字段對象的有效性信息將一組無效值映射到有效值上。該清除選項也可以將記錄(具有包含無效值的字段)存儲在由無效記錄組件408表示的位置上。然后,例如想要確定無效值的源的用戶可以檢查這些無效記錄。在所示出的實施例中,從調查進行組件406流出的調查記錄被存儲在由調查文件組件410表示的文件中。在某些情況下,對調查記錄進行中間存儲可以增加多個圖表分量訪問調查記錄的效率。可替換地,調查記錄可以從調查進行組件406直接流到調查分析組件412,而不存儲在一個文件中。調查分析組件412創建每個字段的值的直方圖,并基于調查記錄對數據集進行其他分析。在所示出的實施例中,字段歸檔組件414表示字段歸檔的中間存儲位置。元數據裝載庫組件416將字段歸檔和其他歸檔結果裝載到元數據存儲器112中的對應對象中。用戶接口116允許用戶使用分析后的數據瀏覽,例如,查看字段中的直方圖或公共值。提供“往下深鉆(drill-down)”能力,例如,查看與直方圖中的條(bar)相關聯的特定記錄。用戶還可以基于歸檔結果通過用戶接口116更新優選項。采樣組件418存儲采樣記錄420的集合,采樣記錄420表示與用戶接口116上顯示的值相關聯(例如,與直方圖中的條相關聯)的記錄的采樣。階段(phase)虛線422表示圖表400中執行的兩個階段,即,在左側線的所有組件運行完成后,右側線的組件開始運行。因此,在調查分析組件412完成將結果存儲在字段歸檔組件414之后,采樣組件418運行。可替換地,可以從輸入數據集402中所記錄的位置檢索(retrieved)采樣記錄。歸檔模塊100可以由用戶118或自動調度程序初始化。一旦初始化歸檔模塊100,主腳本(masterscript)(未示出)從元數據存儲器112收集歸檔圖表400將使用的任何DML文件和參數。參數可以從對象例如歸檔建立對象200、數據集對象206以及字段對象218獲得。如果必要,主腳本可以基于所提供的、關于待歸檔的數據集的信息來創建新的DML文件。為方便起見,主腳本可以將參數編譯成工作文件。然后,主腳本可以使用來自工作文件的適當參數運行歸檔圖表400,并在歸檔圖表400運行完成前呈現出進程顯示,來跟蹤已經經過的時間和估計剩余時間。在歸檔圖表400運行時,基于寫入元數據存儲器112的數據(例如,工作元素)來計算所估計的剩余時間。4.I數據格式解釋利用一個輸入組件來實施歸檔模塊100中能解釋廣泛類型的數據系統的數據格式部分。該輸入組件配置為直接解釋一些數據格式,而不使用DML文件。例如,輸入組件可以從使用結構化查詢語言(SQL)(—種訪問和操縱數據庫的ANSI標準計算機語言)的數據系統讀取數據。不使用DML文件處理的其它數據格式例如是根據XML標準或使用逗號分隔值(CSV)格式化的文本文件。對于其它數據格式,輸入組件使用歸檔建立對象200中指定的DML文件。DML文件可以指定解釋和操縱數據集中的數據的各個方面。例如,DML文件可以指定數據集的以下方面類型對象-定義原始數據與原始數據所表示的值之間的對應關系。鍵指定符(keyspecifier)-定義在記錄之間的排序、分割和分組關系。表達式-定義使用來自常數、數據記錄字段或其它表達式結果的值進行的計算,以產生新的值。轉換函數-定義用于從O到多個輸入記錄產生一個或更多個輸出記錄的規則和其它邏輯的集合。包(packet)-提供將類型對象、轉換函數以及可以由組件使用而完成各種任務的變量進行分組的便利方式。類型對象是基本機構(mechanism),用于從數據系統中的原始數據讀取各工作元素(例如,各記錄)。運行時間環境允許以原始數據位的串(例如,安裝在文件系統中或在網絡連接上流動)訪問物理計算機可讀存儲介質(例如,磁、光或磁光介質)。輸入組件可以訪問DML文件以確定如何讀取和解釋原始數據,以產生工作元素流。參照圖4,類型對象502例如可以是基本類型504或復合類型506。基本類型對象504指定如何將位的串(給定長度的串)解釋成單個值。基本類型對象504包括長度說明,其指出待讀取和分析的原始數據位的個數。長度說明可以指示固定長度例如指定個數的字節、或可變長度(在數據末端指定分隔符(例如,特定字符或串)、或待讀取的字符的個數(潛在可變的長度)。空類型(voidtype)514表示其含義或內部結構不必解釋的數據塊(例如,壓縮數據,其不被解釋,直到解壓之后)。空類型514的長度用字節指定。數字類型516表示一個數字,并且如果該數字根據標準的或特定CPU固有的各種編碼被指定為整數524、實數526,或小數528,則會對其作出不同的解釋。串類型518用于使用指定的字符集解釋文本。日期類型520和日期時間類型522用于使用指定的字符集和其它格式化信息解釋日歷日期和/或時間。復合類型506是由多個子對象構成的對象,這些子對象本身可以是基本類型或復合類型。矢量類型508是包含相同類型(基本或復合類型)的對象序列的對象。在矢量中的子對象的個數(即,矢量長度)可以由DML文件中的常數或由允許用可變長度來歸檔矢量的規則(例如,指明矢量末端的分隔符)指明。記錄類型510是包含對象序列(其中每個對象可以是不同的基本類型或復合類型)的對象。該序列中的每個對象對應于與被命名的字段相關聯的值。使用記錄類型510,組件可以解釋原始數據塊,以提取一個記錄的所有字段的值。聯合(union)類型512是與記錄類型510相似的對象,不同之處在于對應于不同字段的對象可以將相同的原始數據位解釋成不同值。聯合類型512提供了對相同原始數據進行多種解釋的方式。DML文件還允許使用定制數據類型進行數據歸檔。用戶通過提供類型定義,可以用其它DML類型對象(基本或復合類型)定義一個定制類型對象。然后,歸檔模塊100可以使用定制類型對象來解釋不具有標準結構的數據。DML文件也允許使用條件結構進行數據歸檔。記錄可以基于與其它字段相關聯的值而僅包括一些字段。例如,如果字段“婚否”的值是“是”,記錄可以僅包括字段“配偶”。DML文件包括用于為給定記錄確定是否存在條件字段的規則。如果記錄中確實存在條件字段,可以用DML類型對象來解釋字段的值。圖表可以使用輸入組件有效地處理各種類型的記錄結構。輸入組件使用可變記錄結構例如條件記錄或可變長度矢量來解釋記錄的能力,使得圖表不必先將這種數據展平成固定長度的區段就能處理這種數據。圖表使用輸入組件可以進行的另一類型的處理是發現數據的各部分之間的關系(例如,不同的記錄、表格或文件中的數據)。圖表可以使用輸入組件內的規則來尋找在一個表格中的外鍵或字段與另一個表格中的主鍵或字段之間的關系,或對數據的各部分進行函數依賴性計算。4.2統計數字參照圖5A,實施調查進行組件406的一個實施例的子圖表600包括過濾組件602,其可以基于歸檔建立對象200a中存儲的過濾表達式使一部分輸入記錄通過。過濾表達式可以限制被歸檔的字段或值的個數。過濾表達式的一個范例是將歸檔限制到每個輸入記錄的單個字段(例如,“標題”)。過濾組件602的另一個可選的功能是運行上述的清除選項,發送無效記錄的采樣值到無效記錄組件408。從過濾組件602流出的記錄流入局部上滾序列統計數字組件604和循環分割組件612。在子圖表600中,歸檔圖表400(以及其它圖表和子圖表)在多個處理器和/或計算機上并行運行的能力,以及歸檔圖表400讀取多個位置上存儲的并行數據集的能力,通過組件的線厚度和組件之間的鏈路上的符號不明顯地表示。表示存儲位置的組件例如輸入數據集組件402的厚邊線表明其可選的為并行數據集。處理組件例如過濾組件602的厚邊線表明以多個分區可選地運行進程,每個分區在不同的處理器或計算機上運行。用戶可以通過用戶接口116表明是否以并行或串行方式可選地運行并行圖表組件。細邊線表明數據集或程序是串行的。局部上滾序列統計數字組件604計算與輸入記錄的順序特性相關的統計數字。例如,組件604可以對順序的記錄對(其字段值增加、減少或遞增I)的個數進行計數。在并行運行的情況下,為每個分區分別計算序列統計數字。上滾程序涉及從多個輸入元素(組件604執行的用于上滾程序的序列統計數字)合并信息,產生單個輸出元素來代替合并的輸入元素。集合鏈接符號606表示將來自并行組件的任意多個分區的數據流合并或“集合”到串行組件的單個數據流中。整體上滾序列統計數字將來自多個分區的“局部”序列統計數字合并到單個的“整體”序列統計數字集合(其表示來自所有分區的記錄)。所得到的序列統計數字可以存儲在臨時文件610中。圖6為用于執行上滾程序的程序700的范例的流程圖,包括局部上滾序列統計數字組件604和整體上滾序列統計數字組件608執行的上滾程序。程序700通過接收輸入元素(步驟702)開始。然后,程序700在步驟704更新正在編譯的信息,在步驟706確定是否還有元素需要編譯。如果還有要編輯的元素,程序700在步驟702接收下一個元素,繼而在步驟704更新信息。如果沒有要更新的元素,程序700在步驟708基于已編譯的上滾信息結束輸出元素。上滾程序可以用于將一組元素合并成單個元素,或確定一組元素的集聚(aggregate)屬性(例如,這些元素中的值的統計數字)。循環分割組件612從輸入數據集402的單個或多個分區中提取記錄,并在多個并行處理器和/或計算機(例如,用戶選擇的)之間重新分割記錄,以在這些處理器和/或計算機之間平衡工作負荷。交叉連接鏈路符號614表示數據流的重新分割(由鏈接的組件612執行)。標準化組件616提取記錄流,并送出包含字段/值對(其表示輸入記錄中每個字段的值)的調查元素流。(具有10個字段的輸入記錄產生10個調查元素的流)。每個值被轉換成規范的(即,根據預定的格式)、由人員可讀取的串表達方式。調查元素中還包括標志(flag),其指出值是否有效以及值是否為0(S卩,對應于預定的“O”值)。這些調查元素流入局部上滾字段/值組件,后者(為每個分區)提取相同字段相同值的出現率,并將其合并到一個調查元素(包括對出現次數的計數)中。規范化組件616的另一個輸出是對字段和值的總數的計數,對于所有分區,這些字段和值都被集合并合并到上滾總計數組件618中。這些總計數存儲在臨時文件620中,用于裝載到數據集歸檔216中。圖7為標準化組件執行的程序710的范例的流程圖,可以處理可能并不都具有相同字段的條件記錄,以產生包含字段/值對的調查元素流。程序710執行嵌套循環,該嵌套循環始于在步驟712得到新記錄。對于每個記錄,程序710在步驟714得到那個記錄中的字段,在步驟716確定那個字段是否是條件字段。如果該字段是有條件的,程序710在步驟718確定那個記錄的那個字段是否存在。如果該字段確實存在,則程序710在步驟720規范化那個字段的記錄的值,并產生對應的包含字段/值對的輸出元素。如果該字段不存在,則程序710在步驟722繼續確定是否有另一個字段或在步驟724確定是否有另一個記錄。如果該字段不是有條件的,則程序710在步驟720規范化那個字段的記錄的值(包括可能的O值)并繼續到下一個字段或記錄。字段/值分割組件624通過字段和值重新分割這些調查元素,從而在整體上滾字段/值組件626中執行的上滾程序能夠添加在不同分割中計算的出現率,以便為包含在已歸檔記錄內的每個獨有字段/值對產生單個調查元素中的總出現計數。整體上滾字段/值組件626在由調查文件組件410表示的潛在并行文件的潛在多個分區中,處理這些調查元素。圖5B為實施歸檔圖表400的調查分析組件412的子圖表630的示意圖。字段分割組件632從調查文件組件410讀取調查元素流,并基于字段根據散列值(hashvalue)重新分割這些調查元素,從而使具有相同字段(但具有不同的值)的調查記錄位于同一分區中。串、數字、日期分割組件634還根據調查元素中的值的類型分割這些調查元素。對于作為串(在上滾串組件636中)、作為數字(在上滾數字組件638中)或作為日期/日期時間(在上滾日期組件640中)的值,(使用上滾進程)計算不同的統計數字。例如,計算平均值和標準偏差對于數字而言是適當的,但不適用于串。從所有分區收集這些結果,并且直方圖/十分位數信息計算組件642將用于計算直方圖的信息(例如,每個字段的最大和最小值)提供給渲染區域(bucket)計算組件654,并將用于計算十分位數統計數字(例如,每個字段的值的個數)的信息提供給十分位數計算組件652。在直方圖/十分位數信息計算組件642(在階段虛線644上方)完成運行后,子圖表630的產生直方圖和十分位數統計數字(在階段虛線644下方)的組件運行。子圖表630通過以下步驟構建十分位數邊界的值(例如,大于值的10%、20%的值等等)的列表在每個分區(在歸類組件646中)內通過值對這些調查元素進行歸類;根據所歸類的值(在值分割組件648中)重新分割這些調查元素;并將這些調查元素合并成已歸類(串行)流,并流入十分位數計算組件652。十分位數計算組件652在每個字段中的值的總數的十分之一的組中,計數該字段的已歸類值,以尋找在十分位數邊界的值。子圖表630通過以下步驟構建每個字段的直方圖計算定義每個值的括弧(或“渲染區域”)的值;對落入相同渲染區域的每個分區的值進行計數(在局部上滾直方圖組件656中);對來自所有分區的每個渲染區域內的值進行計數(在整體上滾直方圖組件658中)。然后,合并字段歸檔部分組件660從臨時文件610將用于每個字段歸檔的所有信息,包括直方圖、十分位數統計數字以及序列統計數字,收集到字段歸檔組件414中。圖5C為實施歸檔圖表400的米樣組件418的子圖表662的不意圖。與子圖表600—樣,循環分割組件664從輸入數據集402的單個或多個分區提取記錄,并在多個并行處理器和/或計算機之間重新分割記錄,以在這些處理器和/或計算機之間平衡工作負荷。查找和選擇組件666使用來自字段歸檔組件414的信息,確定記錄是否對應于用戶接口116上顯示的值,該值可以由用戶選擇用于“往下深鉆”的查看。用戶接口116中顯示的每種類型的值對應于不同的“采樣類型”。如果記錄中的值對應于采樣類型,查找和選擇組件666計算隨機選擇數,該隨機選擇數確定該記錄是否被選擇用于表示采樣類型。例如,對于特定采樣類型的總共五個采樣記錄,如果選擇數是能夠看到的五個最大數之一(其為單個分區內的特定采樣類型),那么傳遞對應的記錄以及指明什么值可以對應于“往下深鉆”的瀏覽的信息作為輸出。采用這種方案,任何采樣類型的第一組五個記錄與具有所能看到的五個最大選擇數之一的任何其他記錄一樣,可以自動地傳遞到下一個組件。下一個組件是采樣類型分割組件668,其根據采樣類型重新分割記錄,從而歸類組件670可以使用每個采樣類型內的選擇數進行類別。然后,搜尋)組件672為每個采樣類型選擇具有最大選擇數(在所有分區之間)的五個記錄。然后,記錄/鏈接采樣組件674將這些采樣記錄寫入到采樣記錄文件420,并將這些記錄鏈接到字段歸檔組件414中的對應值。元數據裝載庫組件416將數據集歸檔從臨時文件組件620裝載到元數據存儲器112中的數據集歸檔216對象中,并將每個字段歸檔從字段歸檔組件414裝載到元數據存儲器112中的字段歸檔222對象中。然后,用戶接口116可以檢索數據集的歸檔結果,并在用戶接口116產生的屏幕上顯示給用戶118。用戶可以瀏覽歸檔結果,以觀看字段的直方圖或公共值。例如,可以提供“往下深鉆”的能力,以觀看與直方圖中的條相關聯的特定記錄。圖8A-C例示了顯示歸檔結果的用戶界面屏幕輸出。圖8A示出來自數據集歸檔216的結果。數據集的各種總數802作為整體示出,還示出了與已歸檔字段相關聯的屬性的概述804。圖8B-C示出來自示范性的字段歸檔222的結果。以各種形式顯示對例如最大公共值806以及最大公共無效值808的值的選擇,這些形式包括其自身作為人員可讀的串的值810、值的出現率的總計812、作為值的總數的百分比的出現率814以及條形統計圖表816。所顯示的值的直方圖818示出跨越值的范圍的多個渲染區域中每個渲染區域的條目,包括計數為O的渲染區域。還顯示了十分位數邊界820。5范例5.I數據發現圖9為程序900的范例的流程圖,用于將數據集歸檔,以便在將其用于另一個程序之前發現其內容。程序900可以自動(例如,由調度腳本)或手動(例如,由用戶在終端)進行。首先,程序900在902在在運行時間環境中可訪問的一個或多個數據系統上識別待歸檔的數據集。然后,程序900可以基于所提供的信息或已有的元數據,選擇性地在步驟904設置記錄格式并在步驟906設置有效性規則906。對于某些類型的數據,例如數據庫表格,可以使用默認記錄格式和有效性規則。然后,程序900在步驟908對數據集(或數據集的子集)運行歸檔。程序900可以基于初始歸檔的結果在步驟910精簡記錄格式,或在步驟912精簡有效性規則。如果任一歸檔選項發生改變,那么程序900在步驟914判定是否使用新的選項對該數據集運行另一歸檔,或者如果已經從(可能重復的)歸檔過程中獲得關于該數據集的足夠信息,則在步驟916處理該數據集。該過程將使用從歸檔過程中獲得的信息直接從一個或更多個數據系統讀取。5.2質量測試圖10為程序1000的范例的流程圖,用于將數據集歸檔,以在將其轉換并裝載到數據存儲器中之前測試其質量。進程1000可以自動或手動進行。測試數據集的質量的規則可以來自數據集的先前知識,和/或來自歸檔程序例如對相似的數據集(例如,作為待測試數據集的來自相同源的數據集)進行的程需900的結果。此程序1000例如可以為商業上使用,用以在輸入或處理數據之前,將從商業伙伴發送的定期的(例如每月)數據輸入進行歸檔。這將允許商業上檢測到“壞”數據(例如,無效值的比例高于閾值的數據),因此不會因難以取消的動作“污染”了已有的數據存儲器。首先,程序1000在步驟1002在運行時間環境中可訪問的一個或多個數據系統上識別待測試的數據集。然后,程序1000在步驟1004對數據集(或數據集的子集)運行歸檔,并在步驟1006基于歸檔結果進行質量測試。例如,可以將該數據集的特定公共值的出現比例與先前數據集(基于先前的歸檔運行)的該公共值的出現比例相比較,如果二者的比例相差超過10%,則質量測試失敗。此質量測試可以應用于一系列數據集中眾所周知的一直出現的值(在10%內)。程序1000在步驟1008確定質量測試的結果,如果失敗則在步驟1010產生標志(例如,用戶界面提示或登錄到日志文件)。如果質量測試通過,則程序1000直接從一個或多個數據系統讀取數據,并在步驟1012變換(可能使用來自歸檔的信息)并將其從數據集裝載到數據存儲器中。然后,例如通過在步驟1002識別另一個數據集重復該程序。5.3代碼產生歸檔模塊100可以產生可執行代碼,例如可以用于處理來自數據集的記錄流的圖表組件。所產生的組件可以對輸入(incoming)記錄進行過濾,只允許有效記錄流出,這類似于歸檔圖表400的清除選項。例如,用戶可以選擇歸檔選項,該歸檔選項指明一旦完成歸檔運行就應產生清除組件。用于實施該組件的代碼指向文件位置(由用戶指定)。然后,所產生的清除組件可以在與歸檔模塊100(其在歸檔運行期間使用存儲在元數據存儲器112的信息)相同的運行時間環境中運行。6匯合-字段分析歸檔模塊100可以選擇性地對一組或多組字段內的關系進行分析。例如,歸檔模塊100能夠在一對字段的兩個字段之間進行分析,這一對字段可以在相同或不同的數據集中。類似地,歸檔模塊能夠對多個字段對進行分析,例如分析一個數據集中的每個字段與一個數據集中的每個字段,或分析一個數據集中的每個字段與同一數據集中的每個其它字段。在不同數據集中的兩個字段的分析與這兩個數據集在這些字段上的匯合操作的特性有關,這一點將在下面詳細描述。在匯合-字段分析的第一種方式中,對兩個數據集(例如,文件或表格)進行匯合操作。在另一方式(將在下面的6.I節中描述)中,在調查進行組件406產生數據集的調查文件后,該調查文件中的信息可以用于在兩個不同的已歸檔數據集中的字段之間,或在相CN102982065A書明說13/21頁同的已歸檔數據集(或任何其它存在調查文件的數據集)的兩個不同部分中的字段之間進行匯合-字段分析。匯合-字段分析的結果包括關于這些字段之間的潛在關系的信息。發現三種類型的關系“通用域”關系,“匯合井(jointwell)”關系以及“外鍵”關系。如果匯合-字段分析的結果符合如下文所述的某種標準,一對字段則被分類為具有這三種類型的關系之一。匯合-字段分析包括編譯信息,該信息例如是使用這兩個字段作為鍵字段進行的匯合操作所產生的記錄個數。圖IlA-B為對來自兩個數據庫表格的記錄進行的匯合操作的兩個范例。表格A和表格B均具有標注為“字段I”和“字段2”的兩個字段和四個記錄。參照圖11A,匯合組件1100將來自表格A的記錄的鍵字段的值與來自表格B的記錄的鍵字段的值相比較。對于表格A,鍵字段是字段I;對于表格B,鍵字段是字段2。因此,匯合組件1100將來自表格A、字段I(Al)的值1102與來自表格B、字段I(BI)的值1104相比較。匯合組件1100從這些表格接收輸入記錄流1110,并基于鍵-字段值的比較結果產生用以形成的新的匯合表格,即表格C的匯合記錄流1112。匯合組件1100為這些輸入流的每對匹配的鍵-字段值,產生一個匯合記錄,該匯合記錄是具有匹配的鍵-字段值的記錄的串聯。在匯合輸出端口1114輸出的具有特定鍵-字段值的匯合記錄的個數是記錄個數分別與每個輸入的鍵-字段值的笛卡爾乘積(Cartesianproduct)。在所示出的范例中,所示出的輸入記錄流1110由它們各自的鍵字段的值標注,并且所示出的匯合記錄的輸出流1112由匹配值標注。由于在兩個輸入流中均出現兩個“X”值,在輸出流就有四個“X”值。對于表格A和表格B的輸入流,在一個輸入流中具有與在其它輸入流中的任何記錄都不匹配的鍵-字段值的記錄,分別在“拒絕”輸出端口1116A和1116B輸出。在所示出的范例中,“W”值出現在“拒絕”輸出端口1116A。歸檔模塊100編譯匯合和拒絕的值的統計數字,用于對兩個字段之間的關系進行分類。這些統計數字被概述在分布表1118中,該分布表1118對這兩個字段中的值的分布進行分類。“出現次數”表示在字段中值出現的次數。該表中的欄對應于第一字段(在此范例中來自表格A)的出現次數0、1以及N(其中N>1),該表中的行對應于第二字段(在此范例中來自表格B)的出現次數0、1以及N(其中N>1)。該表中的框包含與對應的分布圖形相關聯的計數“欄出現數”X“行出現數”。每個框包含兩個計數具有該分布圖形的相異值的個數,這些值的各匯合記錄的總數。在一些情況下,這些值在兩個字段都出現(即,具有分布圖形1X1、1XN、NX1或NXN),在另一些情況下,這些值僅在一個字段中出現(即,具有分布圖形1X0、0X1、NX0或0ΧΝ)。這些計數用逗號分開。分布表1118包含對應于匯合記錄1112和在端口1116A上的拒絕記錄的計數。在“拒絕”輸出端口1116A上的值“W”對應于分布圖形1X0的框中的計數“I,1”,分別表示單個值和單個記錄。由于值“X”在每個輸入流出現兩次,對于總的四個匯合記錄,值“X”對應于分布圖形NXN的框中的計數“1,4”。由于值“Y”在第一輸入流出現一次而在第二輸入流出現兩次,對于總的兩個匯合記錄,值“Y”對應于分布圖形IXN的框中的計數“1,2”。圖IlB為與圖IlA的范例類似的范例,但是具有不同的鍵字段對。對于表格A,鍵字段是字段I;對于表格B,鍵字段是字段2。因此,匯合組件將來自表格A、字段I(Al)的值1102與來自表格B、字段2(B2)的值1120相比較。此范例具有分布表1122,該分布表112216的計數對應于這些字段的輸入記錄流1124。與圖1lA中的范例類似,存在單個拒絕值“Z”,其對應于分布圖形OXI的框中的計數“1,I”。然而,在此范例中,存在兩個值“W”和“Y”,由于有兩個值和兩個匯合記錄,它們都具有分布圖形1X1,對應于分布圖形1X1的框中的計數“2,2”。值“X”對應于分布圖形NXl的框中的計數“1,2”,指明單個值和2個匯合記錄。從分布表的這些數字可以進行各種合計。其中某些合計包括在表格A和表格B中都出現的相異鍵-字段值的總數,在表格A中出現的相異鍵-字段值的總數,在表格B中出現的相異鍵-字段值的總數,以及在每個表格中的獨有值(即,在鍵字段值的單個記錄中僅出現一次的值)總數。基于這些合計的某些統計數字用于確定一對字段是否具有前述三種類型的關系之一。這些統計數字包括字段中具有相異或獨有值的總記錄的比例、具有特定分布圖形的總記錄的比例,以及每個字段的“相對值重疊”。相對值重疊是在一個字段出現、也在其它字段出現的相異值的比例。確定一對字段是否具有三種類型的關系(這些關系不一定是互斥的)之一的標準如下外鍵關系-這些字段的第一個字段具有較高的相對值重疊(例如,>99%),且第二個字段具有較高比例(例如,>99%)的唯一值。第二個字段是潛在的主鍵,且第二字段是潛在的主鍵的外鍵。匯合井關系-這些字段中至少一個字段的拒絕記錄具有較小的比例(例如,〈10%),且具有分布圖形NxN的各匯合記錄的比例較小(例如,〈1%)通用域關系-這些字段中至少一個字段具有較高的相對值重疊(例如,>95%)如果一對字段具有外鍵以及匯合井或通用域關系,則報告外鍵關系。如果一對字段具有匯合井與通用域關系,但不具有外鍵關系,則報告匯合井關系。6.1調查匯合參照圖12A,在實際對這些表格執行匯合操作的一個替換方案中,調查匯合組件1200分析來自表格A和表格B的字段,并通過對這些表格的調查數據執行“調查匯合”操作,來編譯分布表的統計數字。每個調查記錄具有字段/值對以及該值在該字段中的出現計數。由于對于給定的鍵字段,每個調查記錄具有獨有的字段/值對,則調查匯合組件1200的輸入流的值是獨有的。圖12A的范例對應于對鍵字段對A1、B1(圖1lA所示)的匯合操作。通過比較與該匯合操作中的鍵字段對應的調查記錄,由過濾組件1202選擇“字段Γ’(Α1)和由過濾組件1204選擇“字段I”(BI),調查匯合組件1200潛在地進行比匯合組件1100(其比較來自表格A和表格B的各記錄的鍵字段)的比較數目小得多的比較。圖12Β的范例對應于對鍵字段對Α1、Β2(圖1lB所示)的匯合操作,由過濾組件1206選擇“字段I”(Al)和由過濾組件1208選擇“字段2”(Β2)。所示出的所選調查記錄1210-1218由它們各自在字段/值對中的字段值和該值的出現計數來標注。如果調查匯合組件1200發現兩個輸入調查記錄1210-1218中的值之間的匹配,輸出記錄包含匹配值、基于這兩個計數的對應分布圖形,以及在該對鍵字段的匯合操作中將產生的記錄總數(其就是這兩個計數的乘積)。如果沒有發現該值的匹配,也輸出該值與對應的分布圖形和記錄總數(其是在單個輸入記錄中的單個計數)。在調查匯合組件1200的輸出記錄內的此信息足以編譯在匯合操作的分布表中的所有計數。在圖12Α的范例中,在輸出端出現的值“W”的分布圖形為1X0,共為I;在輸出端出現的值“X”的分布圖形為NXN,共為4;以及在輸出端出現的值“Y”的分布圖形為1XN,共為2。此信息對應于圖IlA的分布表1118中的信息。在圖12B的范例中,在輸出端出現的值“W”的分布圖形為1X1,共為I;在輸出端出現的值“X”的分布圖形為NX1,共為2;在輸出端出現的值“Y”的分布圖形為1X1,值為I;以及在輸出端出現的值“Z”的分布圖形為0X1,值為I。此信息對應于圖IIB的分布表1122中的信息。6.2擴展記錄用于在單個調查匯合操作中的多個字段對的匯合-字段分析包括基于調查記錄產生“擴展記錄”。在圖13所示的范例中,調查匯合組件1200比較用于兩對鍵字段Al、BI和Al、B2的匯合-字段分析的記錄,并結合圖12A-B所示的匯合-字段分析。通過連接被匯合的一對鍵字段的獨有標識符與在調查記錄中的值,并保持相同的出現計數作為該調查記錄,從該調查記錄產生擴展記錄。如果匯合-字段分析包括與多個其它字段匯合的一字段的結果,則為該字段的每個值產生多個擴展記錄。例如,調查記錄1210對應于兩個擴展記錄1301-1302,且值“W”分別與標識符“A1B1”和“A1B2”連接。調查匯合組件1200處理擴展記錄1301的方式與其將處理具有值“WA1B1”的調查記錄的方式相同。同樣,調查記錄1211對應于兩個擴展記錄1303-1304,以及調查記錄1212對應于兩個擴展記錄1305-1306。在圖13的匯合-字段分析中,字段BI僅與一個其它字段(Al)匯合,因此每個調查記錄1213-1214分別對應于單個擴展記錄1307-1308。同樣,字段B2僅與一個其它字段(Al)匯合,因此每個調查記錄1215-1218分別對應于單個擴展記錄1309-1312。每個擴展記錄包括基于與獨有的字段標識符連接的原始值的值。參照圖14,擴展組件1400基于匯合信息1401處理輸入調查記錄以產生擴展記錄,匯合信息1401指明在匯合-字段分析中哪些字段與哪些其它字段匯合。在此范例中,匯合信息1401指明來自表格Tl的調查數據的字段F1(具有四個調查記錄1402)正與四個其它字段匯合來自表格T2的調查數據的字段F1(具有兩個調查記錄1404),來自表格T2的調查數據的字段F2(具有兩個調查記錄1406),來自表格T3的調查數據的字段F1(具有兩個調查記錄1408),以及來自表格T3的調查數據的字段F2(具有兩個調查記錄1410)。流入擴展組件1400的調查記錄1412表示來自表格Tl(具有字段F1和值Vi,其中i=l,2,3,或4)的調查數據的四個調查記錄1402之一。對于輸入調查記錄1412,擴展組件1400產生四個擴展記錄1413-1416。對于字段(包括在不同表格中具有相同名字的字段),調查匯合組件1200使用獨有的標識符。擴展記錄1413具有值c(Tl,F1,T2,F1,Vi),值c是原始值Vi與被匯合的字段的標識符以及表格(或文件或其它數據源)的標識符的連接,其中從該表格(或文件或其它數據源)中產生字段的調查數據。表格包括標志符能夠區分具有相同名稱的字段。擴展記錄1415具有區別于擴展記錄1413的值c(Tl,F1,TZJnVi)的值c(Tl,F1,T3,F1,Vi),其中兩個表格T2和T3具有相同的字段名F1。可替換地,可以代替字段名,將獨有數字分配給每個字段并使用。6.3匯合-字段分析圖表圖15A-B為歸檔模塊100使用的圖表,以對在數據源30內的源(例如,表格或文件)中所選擇的字段進行任意的匯合-字段分析。用戶118選擇用于歸檔和匯合-字段分析的選項,包括執行不進行匯合-字段分析的歸檔的選項。用戶118選擇用于匯合-字段分析的字段對,包括互相成對的兩個指定字段、與每個其它字段成對的一個字段、或與每個其它字段成對的每個字段。用戶118選擇一選項,以允許在相同的表格或文件內的字段的成對,或僅允許在不同的表格或文件內的字段的成對。這些選項存儲在元數據存儲器112中。參照圖15A,對于匯合-字段分析選項中指定的字段的每個源(例如,表格或文件),圖表1500利用為這些指定字段準備的調查數據1510產生一文件。圖表1500對匯合-字段分析中所含的每個這樣的源運行一次。過濾組件1504從調查進行組件406產生的調查數據1502接收記錄,并準備用于匯合-字段分析的記錄。過濾組件1504丟掉該分析中不包括的字段的記錄(由存儲在元數據存儲器112的用戶選項確定)。過濾組件1504還丟掉無效值、零值、以及對數據源的內容的有意義的分析中不包括的其它值(例如眾所周知的數據標志)。調查數據組件1502中的值已經被規范化組件616在調查進行組件406中規范化。然而,這些規范化的值可能具有不應當用在值的邏輯比較中的部分(例如,具有引導或拖尾空間的串,或具有引導或拖尾零的數字)。用戶118可以選擇用于“字面地”或“邏輯地”比較這些值的選項。如果用戶118選擇“字面”比較,則調查記錄中的這些值以規范化的形式保留。如果用戶118選擇“邏輯”比較,則過濾組件1504根據規則(例如除去數字的引導和拖尾空間以及除去數字的引導和拖尾零)來轉換調查記錄中的值。值分割組件1506基于調查記錄中的值重新分割記錄。具有相同值的任何調查記錄被放入相同的分區。這允許匯合-字段分析跨過任意個數的分區并行運行。由于對于具有匹配值的輸入記錄,調查匯合組件1200只產生輸出記錄,在不同分區中的調查記錄(或它們產生的任何擴展記錄)不必互相比較。上滾邏輯值組件1508合并因過濾組件1504進行的轉換具有匹配的字段/值對的任意調查記錄。合并后的記錄具有出現計數,該出現計數是對所有合并記錄的計數的和。例如,如果字段、值、計數為“數量,01.00,5”的調查記錄被轉換為“數量,1,5”,且字段、值、計數為“數量,I.0,3”的調查記錄被轉換為“數量,1,3”,則上滾邏輯值組件1508將這兩個轉換后的記錄合并成字段、值、計數為“數量,1,8”的單個記錄。參照圖15B,對于如匯合-字段分析選項所指定的具有一個或多個待比較字段的每對源,即,源A和源B,圖表1512使用準備的調查數據A1514和準備的調查數據B1516(均由圖表1500準備)運行。兩個擴展組件1400從這些準備的調查數據組接收記錄以及匯合信息1515,該匯合信息1515指定將要與源B中的指定字段進行比較的源A中的指定字段。擴展記錄流入調查匯合組件1200,該調查匯合組件1200產生包含值、分布圖形、以及分布表中正在比較的字段的計數的記錄。局部上滾匯合統計數字組件1518編譯在每個分區內的這些記錄中的信息。然后,在各種分區中的記錄由整體上滾匯合統計數字組件1520收集和編譯,該整體上滾匯合統計數字組件1520輸出文件1522,其包含對被分析的所有數據源對中的字段的所有匯合-字段分析統計數字。匯合-字段分析的結果(包括在各種字段之間潛在地存在這三種類型的關系中的哪個)裝載到元數據存儲器112中,用于呈現給用戶118。例如,用戶118可以在用戶接口116上選擇用于具有潛在關系的一對字段的鏈路,并在用戶接口116上觀看頁面,該頁面具有詳細的分析結果(其包括來自分布表的該對字段的計數)。參照圖15C,當對相同源(源C)內的兩個字段進行匯合-字段分析時,圖表1524使用圖表1500準備的調查數據C1526運行。單個擴展組件1400從該組準備的調查數據C1526接收記錄以及匯合信息1528,該匯合信息1528指定待比較的源C中的指定字段。擴展記錄流入調查匯合組件1200的兩個端口,該調查匯合組件1200產生包含值、分布圖形、以及分布表中待比較字段的計數的記錄。在匯合-字段分析選項指明源C中的每個字段將要與源C(具有四個字段F1,F2,F3,F4)中的每個其它字段相比較的情況下,一種方式是匯合信息1528指定十二對字段(F1-F2,F1-F3,F1-F4,F2-F1,F2-F3,F2-F4,F3-F1,F3-F2,F3-F4,F4-F1,F4-F2,F4-F3)。然而,由于對于字段對F1-F3和F3-F1要進行相同的操作,一些操作被重復進行。因而,另一種方式是匯合信息僅指定六對獨有字段對F1-F2,F1-F3,F1-F4,F2-F3,F2-F4,F3-F4。在此情況下,通過將已分析的六對字段的分析結果中的字段次序顛倒,輸出文件1530的結果可以被擴大為包括其它六個字段對的結果。7函數依賴性分析歸檔模塊100能夠進行的另一種類型的分析是測試字段值之間的函數關系。所測試的字段可以來自具有一組字段的單個表格或來自“虛擬(virtual)表格”,該虛擬表格包括來自彼此相關的多個源(例如,通過使用公共鍵字段對這些字段的匯合操作而相關,這將在7.3節中詳細描述)的字段。在一對字段之間的一種類型的函數關系是“函數依賴性”,即,與記錄的一個字段相關聯的值可以由與記錄的另一個字段相關聯的值唯一地確定。例如,如果數據庫具有州(State)字段和郵政編碼(ZipCode)字段,郵政編碼字段的值(例如,90019)確定州字段的值(例如,CA)。郵政編碼字段的每個值映射到州字段的獨有值(即,“多對一”映射)。函數依賴性關系也可以存在于字段的子集(其中與記錄的一個字段相關聯的值可以由與記錄的另一個字段相關聯的值唯一地確定)之間。例如,郵政編碼字段的值可以由城市字段和街道字段的值唯一地確定。函數依賴性也可以是“近似的函數依賴性”,即與一個字段相關聯的某些(不必全部)值映射到另一個字段的獨有值,且具有未映射獨有值的例外值具有一定比例。例如,一些記錄可能具有未知的由特殊值00000表示的郵政編碼。在此情況下,郵政編碼字段的值00000可以映射到州字段的超過一個的值(例如CA,FL,以及TX)。也可能因具有不正確的值或其它錯誤的記錄而出現例外值。如果例外值的比例小于預定(例如,由用戶輸入的)閾值,則字段可以仍被確定為與另一個字段存在函數依賴性。參照圖16,示出范例表格1600,其具有將要測試函數依賴性或近似函數依賴性的記錄(行)和字段(欄)。姓(LastName)字段具有對應于十二個記錄(行1_12)的十二個值。其中十個值是獨有的,這些記錄中的兩個具有相同的重復值名g。國籍(Citizenship)字段具有兩個獨有值US出現十一次,CANADA出現一次。郵政編碼字段具有各種值,每個對應于州字段的三個值CA、FL以及TX的一個。除了對應于一個記錄(行10)中的FL和對應于另一個記錄(行12)中的TX的郵政編碼值00000,郵政編碼的每個值唯一地確定州的值。7.I函數依賴性分析圖表圖17為歸檔模塊100使用的圖表1700的范例,以對在數據源30內的一個或多個源(例如,在單個表格或文件中,或如7.3節所述的在多個表格和/或文件中)中所選擇的字段進行任意的函數依賴性分析。用戶118選擇用于歸檔和函數依賴性分析的選項,包括執行不進行函數依賴性分析的歸檔的選項。用戶118可以選則哪對字段或哪些字段對進行函數關系的測試。用戶118選擇數據源(例如,表格或文件)的特定字段,并選擇例如“全部到選擇”或“選擇到選擇”來確定測試哪些字段對,或選擇“全部到全部”,來測試數據源中的所有字段對。在決定字段與或不與另一個字段存在函數依賴性之前,用戶可以選擇確定函數依賴性程度的閾值。例如,用戶可以選擇確定允許多少例外值(作為記錄的比例)的閾值。這些選項存儲在元數據存儲器112中。對于將要分析的每對字段(fl,f2),圖表1700確定是否存在函數依賴性關系,如果存在,則將字段fl和字段f2之間的關系歸類為“fl確定f2”、“f2確定H”、“一對一”(在fl與f2之間存在一對一的映射),或“等同”(在每個記錄中fl基本具有與f2相同的值)。圖表1700讀取由在歸檔模塊100存儲的字段信息1702,以確定待分析的字段的獨有標識符。配對組件1704使用待測試的每對字段的一對獨有標識符產生字段對(fl,f2)的流。由于f2與f2之間的關系不必是對稱的,該對字段(fl,f2)是有序的對。因此該流中包括兩對字段(fl,f2)和(f2,fl)。字段對選擇組件1706通過選擇用戶為分析選擇的字段對,來限制流到圖表1700的其余部分的字段對。字段對選擇組件1706還基于各種優化法,進一步限制流到圖表1700的其余部分的字段對。例如,字段與其自身不成對,因為這樣的對通過定義被歸類到“等同”。因此,該流中不包括字段對(fl,fl),(f2,f2)···等。其它優化法可以從該流中去掉一個或多個字段對,這將在下面的7.2節中詳細描述。廣播組件1708將字段對的序列流廣播到(潛在地并行的)附加值組件1718的每個分區,由廣播鏈接符號1710表示。附加值組件1718的每個分區采用字段對(例如,(LastName,Citizenship),(Zip,State)…等)的流和字段/值對(例如,(LastName,name_a),(LastName,name_b),(LastName,name_c)···,(Citizenship,Canada)(Citizenship,US),(Citizenship,US)…等)的流作為輸入。為獲得字段/值對的流,過濾組件1712從輸入數據集402提取記錄,并基于過濾表達式選擇性地去掉部分記錄。從過濾組件1712流出的記錄流入循環分割組件1714。循環分割組件1714從輸入數據集402的分區提取記錄,并在多個并行處理器和/或計算機之間重新分割記錄,以在這些處理器和/或計算機之間平衡工作負荷。規范化組件1716(與前述規范化組件616類似)獲取記錄流,并發送出表示輸入記錄中每個字段的值的字段/值對的流。如上所述,每個值被轉換成規范化的人員可讀的串表示。附加值組件1718執行一序列匯合操作,以產生fl/f2/vl/v2四重(quadruples)流,其中fl和f2對應于在輸入端接收到的字段對之一,Vl和v2對應于與記錄中的這些字段成對的值。在表格1600的范例中,當姓字段對應于fl以及國籍字段對應于f2時,附加值組件1718產生十二個fl/f2/vl/v2四重流,包括(LastName/Citizenship/name_a/Canada),(LastName/Citizenship/name_b/US)…(LastName/Citizenship/name_k/US),(LastName/Citizenship/name_g/US)。對于(Zip,State)和已分析的任何其它字段對,附加值組件1718產生類似序列,即fl/f2/vl/v2四重流。附加值組件1718將fl/f2/vl/v2四重流輸出到“局部上滾fl/f2/vl/v2”組件1720,“局部上滾fl/f2/vl/v2”組件1720(對于每個分區)使用相同的字段和值fl、f2、vl、v2累加多個四重流,并將它們表示成單個四重流,其具有輸入流中四重流的出現次數的計數。“局部上滾fl/f2/vl/v2”組件1720的輸出流由具有計數(“累加的四重流”)的四重流組成。在“局部上滾fl/f2/vl/v2”組件1720中發生的累加位于每個分區內。因此一些具有相同的H、f2、vl、v2值的四重流不會被此組件1720累加。“fl/f2分割”組件1721重新分割累加的四重流,從而具有相同字段fl、f2的四重流在相同的分區中。“整體上滾n/f2/vl/v2”組件1722進一步累加重新分割后的四重流。“整體上滾fl/f2/vl/v2”組件1722的輸出流由唯一累加的四重流組成。在表格1600的范例中,當郵政編碼字段對應于fl且州字段對應于f2時,組件1720-1722的組合效果產生以下六個累加的四重流(Zip/State/90019/CA,4)、(Zip/State/90212/CA,2)、(Zip/State/33102/FL,3)、(Zip/State/00000/FL,I)、(Zip/State/77010/TX,I)、(Zip/State/00000/ΤΧ,I)。當州字段對應于Π且郵政編碼字段對應于f2時,組件1720-1722的組合效果產生以下六個累加的四重流(State/Zip/CA/90019,4)、(State/Zip/CA/90212,2)、(State/Zip/FL/33102,3)、(State/Zip/FL/00000,1)、(State/Zip/TX/77010,1)、(State/Zip/TX/00000,1)。為了準備測試一對字段之間的函數依賴性關系,“整體上滾n/f2/vl”組件1724合并所累加的、共同具有兩個字段H、f2和第一值vl的四重流。在生成輸出元素的過程中,此組件1724檢查伴隨vl值的所有v2值,并選擇最頻繁的v2與該vl值相關聯。共享最頻繁的v2的四重流的數量被計數為“好”,其余的四重流被計數為“例外”。如果對于給定的vl只有一個v2值,則具有該值的所累加的四流重是好的并且沒有例外值。如果最頻繁的v2值有一個“結(tie)”,則選擇第一個值。在表格1600的范例中,當郵政編碼字段對應于fl且州字段對應于f2時,組件1724產生(Zip/State/90019/CA,4好)、(Zip/State/90212/CA,2好)、(Zip/State/33102/FL,3好)、(Zip/State/00000/FL,I好,I例外)、(Zip/State/77010/TX,I好)。當州字段對應于fI且郵政編碼字段對應于f2時,組件1724產生(State/Zip/CA/90019,4好,2例外)、(State/Zip/FL/33102,3好,I例外)、(State/Zip/TX/77010,1好,I例外)。“整體上滾fl/f2”組件1726將每個獨有字段對fl、f2的好的計數和例外值相加。在表格1600的范例中,當郵政編碼字段對應于fl且州字段對應于f2時,組件1726產生(Zip/State,11好,I例外)。當州字段對應于fl且郵政編碼字段對應于f2時,組件1726產生(State/Zip,8好,4例外)。依賴性發現組件1728使用來自“整體上滾fl/f2”組件1726的所累加的同現統計數字(即,好的和例外的記錄的個數),確定一對字段是否具有“Π確定f2”的關系。如果例外值的比例(例外的個數/(好的個數+例外的個數))小于所選擇的用于確定允許多少例外值的閾值,則該對字段具有“fl確定f2”的關系。在表格1600的范例中,對于閾值10%,當郵政編碼字段對應于fI且州字段對應于f2時,例外值的比例是8.3%,并且郵政編碼字段的值確定州字段的值。當州字段對應于fl且郵政編碼字段對應于f2時,例外值的比例是33%,因此郵政編碼字段與州字段之間的關系并非一對一映射。可替換地,基于累加的值的數學屬性的值可以用于確定是否是字段Π確定字段f2(例如,字段Π的值給定的字段f2的值的條件熵,或數值的標準偏差)。7.2選擇字段對的優化可以采用各種優化法來加快函數依賴性分析的速度,例如在字段對選擇組件1706過濾字段對,或在過濾組件1712過濾記錄。一些優化法基于這樣的認識,即,上述的圖表1700發現的一些函數依賴性關系對于用戶來講并不像對其他人那樣有意義。對于一給定字段對,這些情況中的一些情況可以被字段對選擇組件1706基于歸檔模塊100提供的統計數字檢測到并過濾掉,這節省了計算資源。例如,如果第一字段Π的所有值都是獨有的(在單個記錄中每個值僅出現一次),則該字段fI的值確定第二字段f2的值,而與字段f2中出現的值無關。圖表1700可以使用在歸檔過程中獲得的調查數據,基于這些字段中的值的隨機(例如,統一概率分布)配對來計算由第一字段Π確定第二字段f2的概率。如果隨機配對將導致函數依賴性的概率較高(例如,>10%),則該字段對被字段對選擇組件1706過濾掉。在表格1600的范例中,除了當name_g值(在行7或行12中)中的一個與值Canada隨機配對以外,當姓字段對應于fl且國籍字段對應于f2時,姓與國籍的每個隨機配對將導致所有四重流被計數為好。即使當此隨機配對發生(概率為16.7%(12個配對中的2個)),例外比例僅是低于閾值的8.3%。因此,在此范例中,字段對選擇組件1706過濾該對字段(LastName,Citizenship)。另一個優化法基于歸檔模塊100從調查數據計算出的值的直方圖。字段對選擇組件1706過濾掉字段Π不能確定字段f2的字段對。在表格1600的范例中,州的最頻繁的值出現6次,而郵政編碼的最頻繁的值僅出現4次。因此,州的值不能確定郵政編碼的值,因為對于至少一半的值,在6個范圍內至少有2個例外,這導致至少16.7%的例外比例。因此,在此范例中,字段對選擇組件1706過濾掉該對(State,Zip)。對于數量眾多的記錄,圖表1700可以通過在處理所有記錄之前先處理小部分記錄采樣,以排除一些很有可能不具有函數相關性的字段對,來加快測試函數依賴性的速度。圖表1700可以使用過濾組件1712選擇部分記錄。可替換地,圖表1700可以使用規范化組件1716選擇部分字段/值對。可以基于各種標準對記錄或字段/值對采樣。圖表1700可以基于歸檔模塊100提供的統計數字采樣。例如,圖表1700可以基于第一字段fl(“決定因素(determiner)”)的最頻繁的值測試函數依賴性。如果得到的例外值個數高于閾值,則不必處理該決定因素的其余值。圖表1700也可以基于決定因素值的隨機采樣測試函數依賴性。如果在這些采樣值之間足夠數目的四重流被計數為好,則假定可以忽略在其它值之間發現實際數目的例外值的概率。其它采樣標準也可以使用。另一個可選的優化法是基于已知的函數庫測試字段之間預定的函數關系。此測試可以對記錄或四重流的值進行。7.3跨過多個源的函數依賴性分析在一種跨過多來源(例如,多個數據庫表格)的函數依賴性測試的方式中,歸檔模塊100產生包括來自所述多個源的字段的“虛擬表格(virtualtable)”。該虛擬表格可以例如,通過利用對這些源共用的鍵字段對這些源進行匯合操作而產生。在使用虛擬表格進行函數依賴性分析的范例中,第一數據源是機動車輛登記信息(機動車輛登記(MVR)數據庫)的數據庫,第二數據源是發出的交通罰單(交通罰單(TC)CN102982065A書明說21/21頁數據庫)的數據庫。MVR數據庫包括字段例如制造商、型號、顏色,并包括被指定為“主鍵”字段的執照字段。MVR數據庫的每個記錄具有獨有的執照字段值。TC數據庫包括字段例如姓名、日期、位置、違規記錄、機動車制造商、機動車型號、機動車顏色,并包括被指定為“外鍵”字段的機動車執照字段。機動車執照字段的每個值具有與MVR數據庫中的執照字段的值對應的記錄。TC數據庫可以具有機動車執照字段值相同的多個記錄。歸檔模塊100匯合來自MVR數據庫和TC數據庫的記錄,以形成虛擬表格(例如,如前面參考圖IlA所示的匯合組件1100所述的)。該虛擬表格的每個記錄具有來自兩個數據庫的每個字段,包括單個執照字段,其具有與來自MVR執照字段和TC機動車執照字段的匹配值。然而,記錄可以具有與來自TC數據庫的機動車顏色字段值不同的、來自MVR數據庫的顏色字段值。例如,MVR數據庫可以使用“BLU”代碼來表示藍色,而TC數據庫使用“BU”代碼來表示藍色。在此情況下,如果機動車在這兩個數據庫中具有相同的顏色,則顏色字段與機動車顏色字段將具有“一對一”的函數關系。可替換地,如果在登記和接收傳訊(citation)之間的時間機動車已被涂上不同的顏色,對于顏色字段與機動車顏色字段,記錄可以具有不同的值。由于匯合虛擬表格包括來自多個數據集中每個數據集的字段,歸檔模塊100可以發現這些數據集中的字段之間可能存在的各種關系中的任何關系。如上所述的相同的或相似的依賴性分析可以對匯合虛擬表格中的字段運行。上述方式可以利用在計算機上運行的軟件來實施。例如,該軟件可以形成在一個或多個已編程或可編程的計算機系統(它們可以是各種架構的,例如分布式、客戶/服務器、或網格)上運行的一個或多個計算機程序中的程序;其中,每個計算機系統包括至少一個處理器、至少一個數據存儲系統(例如,易失性和非易失性存儲器和或存儲元件)、至少一個輸入裝置或端口,以及至少一個輸出裝置或端口。該軟件可以形成更大的程序例如,提供與圖表的設計和配置相關的其它服務的程序的一個或多個模塊。該軟件可以設置在一般或專用目的的可編程計算機可讀的介質或裝置上,或經網絡傳遞(編碼成可傳播的信號)到將運行它的計算機。所有這些功能可以在專用目的的計算機上或使用專用目的的硬件例如協處理器實現。該軟件可以以分布方式實施,其中,軟件指定的不同的計算部分由不同的計算機進行。每個這種計算機程序優選存儲在或下載到一般或專用目的的可編程計算機可讀的存儲介質或裝置(例如,固態存儲器或介質,或磁或光介質),用于在該計算機系統讀取該存儲介質或裝置以運行這里描述的程序時,配置和操作計算機。本發明的系統也可以考慮作為配置有計算機程序的計算機可讀存儲介質來實施,其中,存儲介質被配置為使計算機系統以實現這里所述的功能的特定和預定義的方式操作。應當理解前面的描述意在示例性的說明而非限制本發明的范圍,本發明的范圍由所附的權利要求書的范圍來限定。其他實施例落在所附的權利要求書的范圍內。2權利要求1.一種數據處理方法,包括如下步驟接收記錄流,每個記錄包括一個或多個字段和對應值;在多個處理器之間分割所述記錄流;為每個記錄生成在各記錄中具有值的每個字段的字段值對,所述字段值對表示各記錄中的字段和用于所述字段的對應值;為每個處理器生成每個相異字段值對的調查元素,所述調查元素包括表示相異字段和相異值的字段值對的計數;基于用于各字段的所述調查元素計算所述記錄流中每個字段的統計數字;以及基于對應的統計數字為所述記錄流中的每個字段生成歸檔。2.如權利要求I所述的方法,其中,生成在每個記錄中具有值的每個字段的所述字段值對的步驟包括如下步驟確定記錄中的特定字段是否為條件字段;以及響應于確定所述特定字段為條件字段,確定所述特定字段是否具有值。3.如權利要求I所述的方法,其中,所述記錄流的至少一個記錄包括可變數目的字段。4.如權利要求I所述的方法,還包括如下步驟基于所述統計數字確定格式規范。5.如權利要求I所述的方法,還包括如下步驟計算至少一個字段的直方圖或十分位數統計數字。6.如權利要求I所述的方法,還包括如下步驟基于所述記錄的順序特性計算用于所述記錄流的序列統計數字。7.一種數據處理裝置,包括接收模塊,用于接收記錄流,每個記錄包括一個或多個字段和對應值;分割模塊,用于在多個處理器之間分割所述記錄流;字段值對生成模塊,用于為每個記錄生成在各記錄中具有值的每個字段的字段值對,所述字段值對表示各記錄中的字段和用于所述字段的對應值;調查元素生成模塊,用于為每個處理器生成每個相異字段值對的調查元素,所述調查元素包括表示所述相異字段和所述相異值的字段值對的計數;計算模塊,用于基于用于各字段的所述調查元素計算所述記錄流中每個字段的統計數字;以及歸檔生成模塊,用于基于對應的統計數字為所述記錄流中的每個字段生成歸檔。8.如權利要求7所述的裝置,其中,字段值對生成模塊包括用于確定記錄中的特定字段是否為條件字段的模塊;以及用于響應于確定所述特定字段為條件字段,確定所述特定字段是否具有值的模塊。9.如權利要求7所述的裝置,其中,所述記錄流的至少一個記錄包括可變數目的字段。10.如權利要求7所述的裝置,其中,所述數據處理裝置還包括用于基于所述統計數字確定格式規范的模塊。11.如權利要求7所述的裝置,其中,所述數據處理裝置還包括用于計算至少一個字段的直方圖或十分位數統計數字的模塊。12.如權利要求7所述的裝置,其中,所述數據處理裝置還包括用于基于所述記錄的順序特性計算用于所述記錄流的序列統計數字的模塊。13.一種存儲用于數據處理的計算機程序的計算機可讀存儲介質,所述計算機程序包括用于使計算機系統執行以下操作的指令接收記錄流,每個記錄包括一個或多個字段和對應值;在多個處理器之間分割所述記錄流;為每個記錄生成在各記錄中具有值的每個字段的字段值對,所述字段值對表示各記錄中的字段和用于所述字段的對應值;為每個處理器生成每個相異字段值對的調查元素,所述調查元素包括表示所述相異字段和所述相異值的字段值對的計數;基于用于各字段的所述調查元素計算所述記錄流中每個字段的統計數字;以及基于對應的統計數字為所述記錄流中的每個字段生成歸檔。14.如權利要求13所述的計算機可讀存儲介質,其中,生成在每個記錄中具有值的每個字段的所述字段值對的步驟還包括如下步驟確定記錄中的特定字段是否為條件字段;以及響應于確定所述特定字段為條件字段,確定所述特定字段是否具有值。15.如權利要求13所述的計算機可讀存儲介質,其中,所述記錄流的至少一個記錄包括可變數目的字段。16.如權利要求13所述的計算機可讀存儲介質,其中,所述計算機程序還配置為包括用于使計算機系統基于所述統計數字確定格式規范的指令。17.如權利要求13所述的計算機可讀存儲介質,其中,所述計算機程序還包括用于使計算機系統計算至少一個字段的直方圖或十分位數統計數字的指令。18.如權利要求13所述的計算機可讀存儲介質,其中,所述計算機程序還包括用于使計算機系統基于所述記錄的順序特性計算用于所述記錄流的序列統計數字的指令。全文摘要本發明提供一種數據處理方法、計算機系統及計算機可讀存儲介質,所述方法包括接收記錄流,每個記錄包括一個或多個字段和對應值;在多個處理器之間分割所述記錄流;為每個記錄生成在各記錄中具有值的每個字段的字段值對,所述字段值對表示各記錄中的字段和用于所述字段的對應值;為每個處理器生成每個相異字段值對的調查元素,所述調查元素包括表示所述相異字段和所述相異值的字段值對的計數;基于用于各字段的所述調查元素計算所述記錄流中每個字段的統計數字;以及基于對應的統計數字為所述記錄流中的每個字段生成歸檔。本發明可以自動確定或協同用戶確定的信息可以用于轉存數據源的元數據,之后用于進一步的處理。文檔編號G06F17/00GK102982065SQ20121036794公開日2013年3月20日申請日期2004年9月15日優先權日2003年9月15日發明者喬爾·古爾德,卡爾·范曼,保羅·貝申請人:起元科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 鸡东县| 通江县| 临汾市| 阿鲁科尔沁旗| 托里县| 湖州市| 铁力市| 曲麻莱县| 莆田市| 安图县| 方正县| 大足县| 普兰店市| 博湖县| 罗江县| 搜索| 新龙县| 南康市| 天水市| 上高县| 衡阳市| 科尔| 永平县| 行唐县| 九江市| 石阡县| 深泽县| 梅河口市| 仙居县| 宣恩县| 江油市| 甘洛县| 长阳| 加查县| 威宁| 山阳县| 靖宇县| 文成县| 沈丘县| 辉县市| 南华县|