元數據自動化系統的制作方法
【專利說明】元數據自動化系統發明領域
[0001]發明的實施例總體上涉及計算機數據庫,并且更加特別地,有利于對數據結構的管理,包括其定義和創建、修改、轉換和填充(populat1n)。
【背景技術】
[0002]信息的自動處理對商業而言已經是極大的好處,因為在決策路徑的每個點上這都大大提高了決策制定者的有效性和效率。每個企業,無論是政府、商用業務還是非盈利組織,都有管理信息的運營的必要性。
[0003]例如,在商用業務的情況下,該信息用于治療病人、獲得客戶、輸入訂單、運送產品、向客戶開賬單、收集發票、向員工和供應商付款、訂購產品、審計存貨并且保存雇員、用戶和供應商之間的交易記錄。
[0004]在正常的事件的過程中,根據每個組織的內部的運營模型,利用軟件、計算機硬件、以及數字網絡來獲取、處理、和整合信息。不幸的是,信息的自動處理充滿許多性能不佳的問題,這些問題阻止了可用的、及時的、并且成本有效的數據集成、標準化、以及報告。
[0005]之前的一個方法專注于構建企業數據倉庫以從整個組織中收集整合的和標準化的數據。一般的企業數據倉庫要求來自許多源的運營數據被提取、轉換、并且加載到第三范式的運營數據存儲數據庫中,其被再一次提取、轉換、并且加載到星形和雪花數據倉儲(vault)數據庫中。數據倉儲數據庫然后可以被加載到數據集市中,每個專用于特定的部門或功能。
[0006]企業數據倉庫構造和運作處理中的每個數據庫都必須被設計、維護、并且填充有定制提取轉換加載(ETL)功能。此外,在組織能夠生成報告并且開始從企業數據倉庫中實現收益之前,開發和使用中的所有階段都必須以某種形式被完成。
[0007]盡管企業數據倉庫實現了針對整個組織集中管理的標準化數據,但是這產生非常高的成本。實現全面的企業數據倉庫所要求的資源可能對于除了極少數之外的所有的都是難以負擔的,因為貨幣成本可能是天文數字。甚至當貨幣、資源不是限制因素時,用于建立和實現企業數據倉庫的時間通常也是以年來度量的。
[0008]企業數據倉庫的另一個缺點起源于企業數據倉庫對決策支持應用的專注,其強調摘要信息。這些系統的固有缺點是與客戶的標識有關的交易細節丟失。當被應用到諸如客戶數據分析等的應用時,企業數據倉庫顯示出缺點。客戶數據分析是將數據與客戶的動作、事件、交易、狀態等相關聯的決策支持分析。摘要信息通常丟失與客戶標識有關的細節層面的信息,限制了在這些應用中的企業數據倉庫方法的有用性。
[0009]其它方法專注于直接從組織運營數據來創建部門集中的數據集市。部門集中的數據集市僅需要包含與單個部門相關的數據。由于這點,部門集中的數據集市可能小得多。
[0010]由于較小的規模,部門集中的數據集市在時間和金錢方面通常花費較少的資源來建立;然而,這些益處也產生過高的成本。部門集中的數據集市不是集中管理的,并且在質量或數據格式方面不具有一致的標準。
[0011]當部門集中的數據集市被創建時,不一致的標準阻止跨組織的集成。此外,由于每個部門集中的數據集市都是在沒有貫穿性的計劃的情況下被創建的,因此,要具有數據集市針對每個部門所投資的資源的總量會極大地高于創建單個的計劃周詳的企業數據倉庫。用于維護不一致的部門集中的數據集市的資源也會大大高于維護單個企業數據倉庫。
[0012]當前,沒有用于解決提供可用的、及時的、并且成本有效的數據集成、標準化、以及報告的問題的全面的解決方案。在工業中一直以來都感受到這樣的需求。
[0013]之前的發展沒有教導或提出任何解決方案來克服上文中所描述的所有的限制,并且因此,本領域技術人員長期沒有得到用于克服這些限制的解決方案。
【發明內容】
[0014]所要求保護的發明針對利用模式定義語言的方法、制品、以及系統,所述模式定義語言具有用于定義鏈接到實體的特性的元數據并且使所述特性在模塊中分組在一起。可以預期,利用模式定義語言來生成針對其間具有鏈接的模塊和實體的并且基于所述特性的物理表。該物理表可以填入符合元數據的數據。
[0015]還可以預期,可以引用模式定義語言以定位物理表并且確定針對模塊或實體的物理表是否包括所選擇的特性。同樣地,僅在物理表包括所選擇的特性的情況下,可以引用模式定義語言來定位物理表并且確定物理表是否包括后續選擇的特性。
[0016]還可以預期,如果特性與所選擇的特性被分組在同一個模塊內,則可以根據模式定義語言來確定單跳(one-hop)鏈接。還可以預期,可以基于臨床模式是否和與實體相關聯的特性相匹配,將實體分類到相匹配的隊列或不相匹配的隊列中。
[0017]還可以預期,如果與模塊相關聯的特性被包括在報告數據定義中,則報告數據定義可以引用模式定義語言以包括該模塊。還可以預期,物理表可以分別包括與模塊和實體相關聯的長度數據和非長度數據。
【附圖說明】
[0018]為了便于可以獲得并詳細理解本發明的上述特征、優點和目標的方式,可以參照附圖中示出的本發明的實施例來得到上文簡要概述的本發明的更特別的描述。
[0019]然而,應當注意的是,附圖僅僅示出了該發明的典型的實施例,并且因此不被認為限制本發明的范圍,因為本發明可以承認其它同樣有效的實施例。在附圖內,相同的附圖標記想要指代相同或相對應的部件,并且其中:
[0020]圖1呈現了根據本發明的實施例的示例性分布式計算機系統。
[0021]圖2呈現了根據本發明的實施例的數據處理系統的示例性框圖。
[0022]圖3呈現了根據本發明的實施例的示例性元數據表。
[0023]圖4呈現了根據本發明的實施例的示例性模式定義模型。
[0024]圖5呈現了根據本發明的實施例的示例性模式定義模型表。
[0025]圖6呈現了根據本發明的實施例的示例性物理模式表。
[0026]圖7呈現了根據本發明的實施例的用于實現和填充運營數據存儲的示例性控制流程。
[0027]圖8呈現了根據本發明的實施例的用于生成提取轉換加載功能的示例性控制流程。
[0028]圖9呈現了根據本發明的實施例的用于過濾隊列的示例性控制流程。
[0029]圖10呈現了如在商業智能工具中所實現的過濾器的屏幕截圖。
[0030]圖11呈現了根據本發明的實施例的用于利用模式來過濾隊列的示例性控制流程。
[0031]圖12呈現了如在商業智能工具中所實現的過濾器的屏幕截圖。
[0032]圖13呈現了根據本發明的實施例的用于生成報告的示例性控制流程。
[0033]圖14呈現了如在商業智能工具中實現的報告數據定義的屏幕截圖。
[0034]圖15呈現了根據本發明的實施例的用于分析報告的控制流程。
【具體實施方式】
[0035]在本發明的實施例的以下的描述中,參照了作為本發明的一部分的附圖,并且在附圖中,以示例的方式示出了其中可以實現本發明的示例性實施例。應當理解的是,可以利用其它實施例并且可以做出結構上的改變,而不偏離本發明的范圍。
[0036]以足夠的細節描述了以下的實施例,以使本領域技術人員能夠做出和使用本發明。應當理解的是,基于本公開,其它實施例將會顯而易見,并且可以做出系統、過程、或者機械改變,而不偏離本發明的范圍。
[0037]在以下的說明書中,給出了大量具體的細節以提供對發明的充分理解;然而,顯而易見的是,可以沒有這些具體細節的情況下實踐本發明。為了避免使本發明難以理解,沒有詳細地公開一些公知的電路、系統配置、和過程步驟。
[0038]此外,為了對本發明的說明、描述、和理解的清楚和方便,公開并且描述多個實施例的地方有一些公共的特征,相似和相同的特征彼此通常用相同的附圖標記來描述。實施例已經被編號為第一實施例、第二實施例等,這是為了描述方便而不是要具有任何其它意義或者提供對本發明的限制。
[0039]出于說明的目的,本文中所使用的術語“元數據”被定義為關于數據的數據。本文中所使用的術語“系統”表示或指代根據在其中使用該術語的上下文的本發明的方法和裝置。
[0040]本發明的實施例提供了這樣一種技術,其應用唯一的模式定義語言并且在構建、生成和填入數據庫或數據存儲中利用模式定義語言;自動地生成提取-轉換-加載功能;啟用參考模式定義語言從數據或數據存儲中拉取數據的商業智能工具。如在本文中所使用的,商業智能工具一般是指被配置為報告、分析、和呈現數據的軟件應用。數據可以存儲在數據倉庫、數據庫、數據存儲、數據集市、或其組合中。
[0041]根據一個方面,模式定義語言可以以呈現由模式定義語言定義的特性、實體和模塊的關系的模式定義模型來實現或由模式定義模型來表示。模式定義語言定義了運營數據存儲的物理表的結構和框架。模式定義語言可以包括用于將模式定義模型映射到物理數據的一個或多個物理實體的關系和位置。因此,模式定義語言定義并且可以被用于訪問包含物理數據的特定集合的物理數據的字段。
[0042]有利地,本發明的實施例提供了這樣的技術,其用于提供較高抽象層次的模式定義語言,并且提供用于與模式定義語言相接以使得商業智能工具能夠以較低的成本、以及更短的時間幀來利用運行數據存儲的平臺。模式定義語言使得商業智能工具能夠在較高的抽象層次操作,因此當底層數據庫演進時,工具不再需要被改變。當利用本發明的模式定義語言時,數據庫演進是容易的并且是不被中斷的
[0043]有利地,通過提供涉及在之前的步驟中所選擇的特性類型的選項,利用模式定義語言來訪問和查詢物理表的商業智能工具向用戶提供直觀的體驗。模式定義語言還可以被用于向物理表提供簡單的結構,實現對運營數據存儲進行建模和設計的簡單并且高效的解決方案。此外,利用模式定義語言允許提取、轉換、和加載功能的自動化,以基于模式定義語言結構和被包含在模式定義模型內的元數據來快速地填充運營數據存儲。
[0044]在下文中,參照了本發明的實施例和具體的示例;然而,應當理解的是,本發明不限于所描述的具體的實施例或示例。相反,以下的特征和元素的任何組合,無論是否與不同的實施例有關,都被預期為實現和實施本發明。此外,盡管本發明的實施例與其它可能的解決方案和/或現有技術相比可能取得優點,但無論特定的優點是否由給定的實施例實現都不會限制本發明。因此,以下的方面、特征、實施例和優點僅僅是說明性的,并且不被認為是所附權利要求的元素或限制,除非在權利要求中明確記載。同樣地,對“本發明”的引用將不被解釋為對在本文中所公開的任何創造性的主題的概括,并且不應該被解釋為所附權利要求的元素或限制,除非在權利要求中明確記載。
[0045]當所附權利要求中的任何一項被解讀為覆蓋純軟件和/或固件實現時,至少一個示例中的元素的至少一個由此明確地被定義為包括存儲了該軟件和/或固件的有形的計算機可讀介質。
[0046]本發明的一個實施例被實現為利用計算機系統來使用的程序產品。程序產品的程序定義了實施例(包括在本文中所描述的方法)的功能,并且可以被包括在各種計算機可讀存儲介質上。計算機可讀存儲介質在本文中被定義為制品。示例性的計算機可讀存儲介質包括但不限于:(i)其上永久地存儲有信息的不可寫的存儲介質(例如,計算機內的只讀存儲器設備,例如可以由CD-ROM驅動器讀取的CD-ROM盤其上存儲有可改變的信息的可寫存儲介質(例如,盤式驅動器內的軟盤或硬盤驅動器)。當承載著指導本發明的功能的計算機可讀指令時,這樣的計算機可讀存儲介質是本發明的實施例。其它介質包括可以通過其來將信息傳遞到計算機(例如,通過計算機或電話網絡,包括無線通信網絡)的通信介質。后來的實施例具體地包括將信息傳輸到互聯網和其它網絡或者從互聯網和其它網絡傳輸信息。當承載著指導本發明的功能的計算機可讀指令時,這樣的通信介質是本發明的實施例。寬泛地,計算機可讀存儲介質和通信介質在本文中都被稱為計算機可讀介質。
[0047]一般而言,被執行以實現本發明的實施例的例程可以是操作系統的一部分或者是具體的應用、部件、程序、模塊、對象、或者指令的序列。本發明的計算機程序一般包括將由本機計算機轉換成機器可讀的格式并且因此轉化成可執行指令的大量指令。同樣,程序包括或者本地地駐留在程序中、或者在存儲器中或存儲設備上找到的變量和數據結構。此外,在下文中所描述的各種程序可以基于在本發明的具體的實施例中實現它們所針對的應用而被標識;然而,應當認識到,以下任何特定的程序術語都僅僅出于方便而使用,并且因此本發明不應當限于唯一地在由這樣的術語標識和/或暗示的任何特定的應用中使用。
[0048]現在參考圖1,其中示出了根據本發明的實施例的示例性分布式計算機系統100。一般地,分布式計算機系統100被不出為分布式環境并且包括計算機系統102和多個網絡設備104。計算機系統102可以表示任何類型的計算機、計算機系統或其它可編程的電子設備,包括客戶端計算機、服務器計算機、便攜式計算機、嵌入式計算機、基于PC的服務器、微型計算機、中型計算機、大型計算機、適用于支持本發明的方法、裝置、和制品的其它計算機。
[0049]示例性地,計算機系統102包括網絡系統。然而,計算機系統102還可以包括獨立設備。在任何情況下,應當理解的是,圖1僅僅是計算機系統100的一個配置。本發明的實施例可以應用于任何相當的配置,無論計算機系統102是復雜的多用戶裝置、單用戶工作站、還是本身不具有非易失性存儲的網絡設備。
[0050]還可以在其中任務由通過通信網絡鏈接的遠程處理設備執行的分布式計算環境中實現本發明的實施例。在分布式計算環境中,程序模塊可以位于本地和遠程的存儲器存儲設備兩者中。就這一點而言,計算機系統102和/或網絡設備104中的一個或多個可以是幾乎不執行處理的瘦客戶端。
[0051]計算機系統102可以包括多個操作者和外部系統,例如由可操作地連接到直接存取存儲設備108的大容量存儲接口 106、由可操作地連接到顯示器112的視頻接口 110、以及由可操作地連接到多個網絡設備104的網絡接口 114所示出。顯示器112可以是用于輸出可查看的信息的任何視頻輸出設備。
[0052]計算機系統102被示出為包括經由總線118從主存儲器120中獲取指令和數據的至少一個處理器116。處理器116可以是適用于支持本發明的方法的任何處理器。
[0053]主存儲器120是足夠大來保存必要的程序和數據結構的任何存儲器。主存儲器120可以是包括隨機存取存儲器、非易失性或備份存儲器(例如,可編程或閃速存儲器、只讀存儲器等)在內的存儲器設備中的一個或組合。此外,存儲器120可以被認為包括物理地位于計算機系統102的其它位置的存儲器(例如,被用作虛擬存儲器或被存儲在大容量存儲設備(例如,直接訪問存儲設備108)上的任何存儲容量)或者經由總線118耦合到計算機系統102的另一個計算機上的存儲器。
[0054]存儲器120被示出為配置有操作系統122。操作系統122是用于管理計算機系統102的操作的軟件。
[0055]存儲器120還包括訪問層122、模式定義語言126、過濾器128、報告數據定義130、一個或多個應用132、以及多個商業智能工具134。應用132、商業智能工具134以及訪問層124是包括在各種時間駐留在計算機系統102的各種存儲器和存儲設備中的多個指令的軟件產品。當