管理數據攝取的制作方法
【專利說明】管理數據攝取
[0001]相關申請的交叉引用
[0002]不適用
[0003]背景
[0004]1.背景和相關技術
[0005]計算機系統及相關技術影響社會的許多方面。的確,計算機系統處理信息的能力已轉變了人們生活和工作的方式。現在,計算機系統通常執行在計算機系統出現以前人工執行的許多任務(例如,文字處理、日程安排、帳目管理等)。最近,計算機系統彼此耦合并耦合到其他電子設備以形成計算機系統及其他電子設備可在其上傳輸電子數據的有線和無線計算機網絡。因此,許多計算任務的執行被分布在多個不同的計算機系統和/或多個不同的計算環境中。
[0006]向計算機系統提供的數據可來自任何數目的不同源,諸如例如用戶輸入、文件、數據庫、應用、傳感器等。在一些環境中,計算機系統從各種不同的域和/或垂直信息(vert i ca I)接收(潛在地大量的)數據。數據還可被以各種不同的格式來接收。
[0007]向計算機系統提供的數據通常以提取、變換和加載(ETL)技術來訪問。ETL指的是從數據源提取數據、將該數據變換成符合操作需求、并將該數據加載到最終目標的過程。ETL系統可用于集成來自多個不同的源的數據,諸如例如來自不同的供應商的數據、被主存在不同的計算機系統上的數據等等。
[0008]ETL本質上是提取并隨后存儲的過程。在實現ETL解決方案之前,用戶先定義要將什么數據(例如,數據子集)從數據源中提取出以及將如何存儲所提取的數據的模式。在ETL過程期間,定義的數據(例如,數據子集)被提取、被變換成該模式(即,模式被用于進行寫)的形式并被加載到數據存儲中。為了訪問來自數據源的不同數據,用戶必須重新定義將提取什么數據。為了改變數據如何被存儲,用戶必須定義新的模式。
[0009]ETL是有利地,因為它允許用戶以期望格式訪問數據的期望部分。然而,由于數據需要演變,因此ETL可能是麻煩的。所提取的數據和/或數據存儲的每一次改變都導致ELT過程必須被重啟。
[0010]簡要概述
[0011]本發明涉及用于管理數據攝取的方法、系統和計算機程序產品。本發明的各方面包括攝取采用一個(例如,行)數據格式的數據,并將所攝取的數據格式化成公共格式以供存儲。數據被攝取并格式化,而無需預先知道提取邏輯或存儲模式。
[0012]提供該概述以便以簡化形式介紹概念的選集,所述概念在以下詳細描述中被進一步描述。本概述并非旨在標識出要求保護的主題的關鍵特征或必要特征,亦非旨在用作輔助確定要求保護的主題的范圍。
[0013]本發明的附加特征和優點將在以下描述中敘述,并且其一部分根據本描述將是顯而易見的,或者可通過對本發明的實踐來獲知。本發明的特征和優點可通過在所附權利要求書中特別指出的工具和組合來實現和獲得。本發明的這些以及其它特征、優點和特征將根據以下描述和所附權利要求而變得更顯而易見,或者可通過如此后闡述的對本發明的實踐而獲知。
[0014]附圖簡述
[0015]為了描述可獲得本發明的上述和其它優點和特征的方式,將通過參考附圖中示出的本發明的具體實現來對以上簡要描述的本發明進行更具體描述。可以理解,這些附圖僅描述本發明的一些實現,從而不被認為是對其范圍的限制,本發明將通過使用附圖用附加特征和細節來描述和說明,在附圖中:
[0016]圖1示出促成管理數據攝取的示例計算機體系結構。
[0017]圖2示出用于管理數據攝取的示例方法的流程圖。
[0018]詳細描述
[0019]本發明涉及用于管理數據攝取的方法、系統和計算機程序產品。本發明的各方面包括攝取采用一個(例如,行)數據格式的數據,并將所攝取的數據格式化成公共格式以供存儲。數據被攝取并格式化,而無需預先知道提取邏輯和存儲模式。
[0020]本發明的各實現可包括或利用專用或通用計算機,該專用或通用計算機包括諸如舉例而言一個或多個處理器和系統存儲器的計算機硬件,如以下更詳細討論的。本發明范圍內的各實現還包括用于承載或存儲計算機可執行指令和/或數據結構的物理和其它計算機可讀介質。這樣的計算機可讀介質可以是可由通用或專用計算機系統訪問的任何可用介質。存儲計算機可執行指令的計算機可讀介質是計算機存儲介質(設備)。承載計算機可執行指令的計算機可讀介質是傳輸介質。'由此,作為示例而非限制,本發明的各實現可包括至少兩種顯著不同種類的計算機可讀介質:計算機存儲介質(設備)和傳輸介質。
[0021]計算機存儲介質(設備)包括RAM、R0M、EEPR0M、CD_R0M、固態驅動器(“SSD”)(如基于RAM)、閃存、相變存儲器(“PCM”)、其他類型的存儲器、其他光盤存儲、磁盤存儲或其他磁存儲設備、或可用于存儲計算機可執行指令或數據結構形式的所需程序代碼裝置且可由通用或專用計算機訪問的任何其他介質。
[0022]“網絡”被定義為使得電子數據能夠在計算機系統和/或模塊和/或其它電子設備之間傳輸的一個或多個數據鏈路。當信息通過網絡或另一個通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計算機時,該計算機將該連接適當地視為傳輸介質。傳輸介質可以包括可以用來攜帶所需要的以計算機可執行的指令或數據結構的形式存在的程序代碼裝置并可以被通用或專用計算機訪問的網絡和/或數據鏈路。上述的組合應當也被包括在計算機可讀介質的范圍內。
[0023]此外,在到達各種計算機系統組件之后,計算機可執行指令或數據結構形式的程序代碼裝置可從傳輸介質自動傳輸到計算機存儲介質(設備)(或反之亦然)。例如,通過網絡或數據鏈接接收到的計算機可執行指令或數據結構可被緩存在網絡接口模塊(例如,“NIC”)內的RAM中,然后最終被傳輸到計算機系統RAM和/或計算機系統處的較不易失性的計算機存儲介質(設備)。因而,應當理解,計算機存儲介質(設備)可被包括在還利用(甚至主要利用)傳輸介質的計算機系統組件中。
[0024]計算機可執行指令例如包括,當在處理器處執行時使通用計算機、專用計算機、或專用處理設備執行某一功能或某組功能的指令和數據。計算機可執行指令可以是例如二進制代碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管用結構特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權利要求書中定義的主題不必限于上述特征或動作。相反,上述特征和動作是作為實現權利要求的示例形式而公開的。
[0025]本領域的技術人員將理解,本發明可以在具有許多類型的計算機系統配置的網絡計算環境中實踐,這些計算機系統配置包括個人計算機、臺式計算機、膝上型計算機、消息處理器、手持式設備、多處理器系統、基于微處理器的或可編程消費電子設備、網絡PC、小型計算機、大型計算機、移動電話、PDA、平板、尋呼機、路由器、交換機等等。本發明也可在其中通過網絡鏈接(或者通過硬連線數據鏈路、無線數據鏈路,或者通過硬連線和無線數據鏈路的組合)的本地和遠程計算機系統兩者都執行任務的分布式系統環境中實施。在分布式系統環境中,程序模塊可以位于本地和遠程存儲器存儲設備二者中。
[0026]本發明還可以在云計算環境中實現。在該描述和下面的權利要求書中,“云計算”被定義為用于允許對可配置計算資源的共享池的按需網絡訪問的模型。例如,云計算可被用于市場,以便提供對可配置計算資源的共享池的普遍存在且方便的按需訪問。可配置計算資源的共享池可經由虛擬化而被快速地供應,并可利用低管理努力或服務提供商干預來發布,并隨后因此被縮放。
[0027]云計算模型可由各種特性組成,諸如按需自服務、廣泛網絡訪問、資源池、快速靈活性、測定的服務等。云計算模型還可形成各種服務模型,諸如例如軟件即服務(SaaS)、平臺即服務(PaaS)以及基礎結構即服務(IaaS)。云計算模型還可以使用不同的部署模型來部署,諸如私有云、社區云、公共云和混合云等。在本說明書和權利要求中,“云計算環境”是在其中部署了云計算的環境。
[0028]圖1示出了促成管理數據攝取的示例計算機體系結構100。參考圖1,計算機體系結構100包括信道101、格式化器102、EAV存儲103、豐富服務104、數據源106、107和108、數據消費者141和應用142。信道101、格式化器102、EAV存儲103、豐富服務104、數據源106、107和108、數據消費者141和應用142中的每一者可通過諸如例如局域網(“LAN” )、廣域網(“WAN” )和甚至因特網之類的網絡(或作為網絡的一部分)彼此連接。因此,信道101、格式化器102、EAV存儲103、豐富服務104、數據源106、107和108、數據消費者141和應用142中的每一者以及任何其它連接的計算機系統及其組件都可以創建消息相關數據并通過網絡交換與