專利名稱:一種商業智能系統的制作方法
技術領域:
本發明涉及商業智能技術處理領域,特別是涉及一種商業智能系統。
技術背景商業智能,又稱商務智能,英文為Business Intelligence,簡寫為BI。 商業智能通常被理解為將企業中現有的數據轉化為知識,幫助企業做出 明智的業務經營決策的工具。所述的數據包括來自企業業務系統的訂單、 庫存、交易賬目、客戶和供應商等來自企業所處行業和竟爭對手的數據 以及來自企業所處的其他外部環境中的各種數據。可以認為,商業智能 是對商業信息的搜集、管理和分析過程, 一般由數據倉庫(Data Warehouse, DW )、聯機分析處理(On畫Line Analytical Processing, OLAP, 也稱為多維分析)、用戶查詢和報表(Query&Reports)等部分組成。商業 智能的關鍵是從許多來自不同的企業運作系統的數據中提取出有用的數 據并進行清理,以保證數據的正確性,然后經過抽取(Extraction )、轉換 (Transformation)和裝載(Load),即ETL過程,合并到一個企業級的 數據倉庫里,從而得到企業數據的一個全局視圖,在此基礎上利用合適 的查詢和分析工具、數據挖掘工具、OLAP工具等對其進行分析和處理, 這時信息變為輔助決策的知識,最后將知識呈現給管理者,為管理者的 決策過程提供支持。在現有的BI系統中,存在有多個不同類型的XML接口配置和結構 定義文件,這些文件在開發時,與業務層面關聯不大,無法明確表示用 戶對系統的特定需求,需要開發人員手動寫入,不具有靈活性;并且, 在連接BI系統中不同的數據庫時,需要對相應的XML文檔重新編寫, 并對數據庫連接重新調試,資源開銷過大;再者,對于BI系統的不同部 分,對應XML文檔的類型亦不同,因而通用性和可移;f直性差。以現有的 元^f莫型到XML文檔的映射生成過程為例,在初始化才莫^反建立時,由于系統中XML文檔有著較為嚴格的數據結構,本身具備最基本的原子屬性, 所以不能隨意地擴充內容,所支持的結構定義靈活性過低;并且,對應 每一次任務的建立只能執行一條規則,若預置模板中包含了所有的映射 轉換邏輯,那么當擴展用戶的模板時,就只能通過覆蓋整個模板來修改 用戶的轉換行為。發明內容本發明所要解決的技術問題是提供一種商業智能系統,用以提高商 業智能系統的靈活性、通用性和可移植性。為了解決上述問題,本發明公開了一種商業智能系統,包括報表生成 展現子系統、多維分析子系統和ETL數據轉換子系統,所述商業智能系 統還包括建模單元,用于依據報表生成展現子系統、多維分析子系統和ETL 數據轉換子系統的接口配置參數,建立對應的PIM模型;映射單元,用于針對某個子系統的執行請求,調用所述PIM模型按 照相應的轉換規則生成對應子系統的配置文件。優選的,所述映射單元包括模板映射子單元,用于針對報表生成展現子系統,通過XML文件生 成器讀取所述PIM模型,生成所述報表生成展現子系統的配置文件。 優選的,所述映射單元還包括多參數映射子單元,用于針對多維分析子系統,讀取所述PIM模型 中的通用參數、涉及XML文件結構定義的參數和具體數據信息,生成所 述多維分析子系統的配置文件。優選的,所述映射單元還包括XSLT映射子單元,用于針對ETL數據轉換子系統,依據所述ETL 數據轉換子系統的接口配置文件和PIM模型創建XSLT轉換模板,并按 照所述模板轉換生成所述ETL數據轉換子系統的配置文件。優選的,所述PIM模型在Rational Rose系統中建立。優選的,所述PIM模型由UML語言創建。優選的,所述建模單元還包括優先級設定子單元,用于根據通用參數、結構定義參數和實際數據類型參數設定優先級;模板填充子單元,用于在PIM模型建立時,依據所述優先級由高到 低將相應參數依次讀入PIM才莫型的XML文件中。與現有技術相比,本發明具有以下優點本發明通過建立PIM模型,實現面向用戶的圖形化操作,然后根據 PIM模型,針對各個BI子系統的模型分別采用模板映射、多參數映射和 Xslt映射進行轉換,得到各接口配置文件,統一在業務層面配置各個接口 和系統結構的XML文件,從而提高現有商業智能系統的靈活性、通用性; 并且,在各個子系統中所建立的映射庫可以進行不同平臺的移植,實現 較好的可移植性。
圖1是本發明的一種商業智能系統實施例的結構框圖。
具體實施方式
為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合 附圖和具體實施方式
對本發明作進 一 步詳細的說明。本發明可用于眾多通用或專用的計算系統環境或配置中。例如個 人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處 理器系統、包括以上任何系統或設備的分布式計算環境等等。本發明可以在由計算機執行的計算機可執行指令的 一般上下文中描 述,例如程序模塊。 一般地,程序模塊包括執行特定任務或實現特定抽 象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布 式計算環境中實踐本發明,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊 可以位于包括存儲設備在內的本地和遠程計算才幾存儲介質中。在實際中,BI系統一般由報表生成展現子系統、多維分析子系統和 ETL數據轉換子系統組成。具體地,報表生成展現子系統通常由商業智能插件BIRT實現。BIRT 具有報表系統的核心功能特征,如報表版面設計、支持數據庫訪問和簡 單控制腳本等。它有兩個組件 一個是基于Eclipse的報表設計器(report designer ), 一個是可以添加到應用月艮務器的運4亍組件(runtime component )。 BIRT同時還提供一個圖形報表制作引擎。 一般的報表制作 過程為第一步、建立數據源,數據源即數據的來源或提供者,如XML數據 源、jdbc數據源等。第二步、建立數據集,數據集即數據集合,它必須與數據源關聯, 可以理解為查詢的結果。第三步、建立報表參數,也就是頁面需要傳遞的參數,或者為,查 詢參數的表現形式,使用它可以構建更靈活的報表。第四步、設計界面,最常用的是數據表,數據表有頁眉、詳細內容 和頁腳,數據集中的數據當然一般放在詳細內容中的。第五步、綁定參數。如運行參數frameset,以frameset的形式顯示凈艮表。這個界面包含一些frame, 如頁面導航,報表主體在其中的一個frame中顯示;run,報表以一個單獨的html頁面或pdf顯示,由于這種形式沒有 frmaeset,因此使用者必須自己提供相應的參數,如報表參數,頁號等。通過以上步驟即可制作形成報表。可以理解的是,報表以及報表項, 報表可視為是針對一組數據集的表現形式,而報表項這是這個表現形式 的某個具體的單元。它們之間的關系,與窗體和控件的關系非常類似。 報表、數據集、數據源三者間的關系為數據源——數據集——^艮表。運 行報表即可獲得報表的展示。例如,BIRT的GUI設計凈艮表,生成一個后綴名為.rptdesign的XML 文件,該文件描述了報表的數據源,報表結構等信息。BIRT運行時則解 析這個XML文件,返回一個可視的報表(如一個JSP頁面)。多維分析子系統的主要功能為OLAP ( Online Analytical Processing, 聯機分析處理),用于對存儲在數據庫或數據倉庫中的數據提供分析。OLAP工具能快速提供復雜數據庫查詢的答案,并幫助用戶分析多維數 據中的各維情況。通常OLAP應用于數據倉庫中的數據處理過程,即所 謂的"數據挖掘"(Data Mining )。 OLAP的主要組成部件是OLAP服務 器,它位于客戶機和數據庫管理系統(DBMS)之間。OLAP服務器清楚 數據如何被組織成數據庫,并具有關于數據分析的特定功能。例如,OLAP 軟件獲取關系數據庫的一個映像后,重新構建一個多維數據,然后便可 重新對此查詢。 一種典型的多維分析過程為根據多維數據庫的數據結 構定義相應的schema文件(schema是XML文件的一種類型,是OLAP 模型的邏輯表示,還可用作模型中所有元素的容器);MDX(多維表達式, 是一種語法,支持多維對象與數據的定義和操作)基于schema文件,在 界面上以圖形化或文本形式輸入進行查詢;OLAP服務器通過JDBC( Java Data Base Connectivity, Java凄t據庫連4妄,是一種Java API,可以為多種 關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成) 與多維數據庫進行連接,根據查詢數據實現查詢功能,向界面返回最終 結果。
ETL數據轉換子系統的核心功能是數據抽取、清洗和轉換,它是構 建數據倉庫的重要環節。數據的抽取是從各個不同的數據源抽取到 ODS(OperationalDataStore,操作型數據存儲)中,這個過程也可以做一些 數據的清洗和轉換),在抽取的過程中需要挑選不同的抽取方法,盡可能 的提高ETL的運行效率。 一般情況下,數據倉庫分為ODS、 DW兩部分。 通常的做法是從業務系統到ODS做清洗,將臟數據和不完整數據過濾掉, 在從ODS到DW的過程中轉換,進行一些業務規則的計算和聚合。因而, 數據清洗的任務是過濾那些不符合要求的數據,將過濾的結果交給業務 主管部門,確認是否過濾掉還是由業務單位修正之后再進行抽取。不符 合要求的數據主要是有不完整的數據、錯誤的數據、重復的數據三大類。 數據轉換的任務主要進行不一致的數據轉換、數據粒度的轉換,以及一 些商務規則的計算。
以KETTLE實現ETL轉換的過程為例,用戶通過spoon設計ETL轉 換過程(transformation),以XML文件形式存儲于Kettle資源庫中,在transformation XML格式的文件中〈connection〉標簽下是為用戶預留需要 用戶自行配置的主要內容,包括連接數據庫的名稱,域名地址,類型, 介入方法,端口,用戶名以及為表^t據所預留的空間屬性等等;<step> 標簽下的內容為XML規定完成某一任務的具體實現,包含需要用戶自行 配置的連接數據庫名稱和查詢語句。Pan (transformation引擎,是后臺執 行程序)基于所述Kettle資源庫執行數據轉換。Chef模塊創建任務(Job ), 通過允許每個轉換,任務和腳本等,Kitchen允許批量使用由Chef設計的 任務(例如使用一個時間調度器),也是一個后臺運行的程序,Spoon和 Kitchen分別通過JDBC連4妄到源數據庫和目標數據庫。
本發明實施例的核心構思之一基于以上BI子系統實現,主要在于, 通過建立PIM模型,實現面向用戶的圖形化操作,然后根據PIM模型, 針對各個BI子系統的模型分別采用模板映射、多參數映射和Xslt映射進 行轉換,得到各接口配置文件,即統一在業務層面配置各個接口和系統 結構的XML文件,從而提高現有商業智能系統的靈活性、通用性;并且, 在各個子系統中所建立的映射庫可以進行不同平臺的移植,實現較好的 可移植性。
參考圖1,示出了本發明的一種商業智能系統實施例的結構框圖,可 以包括
報表生成展現子系統101; 多維分析子系統102; ETLit據轉換子系統103;
建模單元104,用于依據報表生成展現子系統、多維分析子系統和 ETL數據轉換子系統的接口配置參數,建立對應的PIM模型;
映射單元105,用于針對某個子系統的執行請求,調用所述PIM模 型按照相應的轉換規則生成對應子系統的配置文件。
優選的,所述映射單元可以包括以下子單元
模板映射子單元,用于針對報表生成展現子系統,通過XML文件生 成器讀取所述PIM模型,生成所述報表生成展現子系統的配置文件;
和/或,多參數映射子單元,用于針對多維分析子系統,讀取所述PIM模型中的通用參數、涉及XML文件結構定義的參數和具體數據信息,生 成所述多維分析子系統的配置文件;
和/或,XSLT映射子單元,用于針對ETL數據轉換子系統,依據所 述ETL數據轉換子系統的接口配置文件和PIM模型創建XSLT轉換模板, 并按照所述模板轉換生成所述ETL數據轉換子系統的配置文件。
在實際中,所述PIM ( Platform-Independent Model ,平臺無關模型) 模型可以在Rational Rose系統中采用UML ( Unified Modeling Language, 統一建才莫語言)語言建立,Rational Rose是一種面向對象的統一建才莫語 言軟件設計工具,用于可視化建模和公司級水平軟件應用的組件構造。 本發明的PIM模型面向用戶層面設置,可以理解的是,本發明映射單元 的處理過程,類似于基于MDA ( Model Driven Architecture,才莫型驅動架 構)處理從PIM到PSM ( Platform Specific Model,平臺相關模型)的變 換的過程,公知的是,PIM到PSM的變換是基于特定平臺特性的。因此, 在建模過程中使用UML來描述平臺的特性,如將一個邏輯的組件模型變 換到已有的業務組件才莫型(比如J2EE平臺的EJB)就是一種PIM到PSM的 變換。在MDA的實際應用中,變換工具可以根據不同的變換規則將一個 PIM變換到多個不同的PSM,對于每種特定的技術平臺都會生成獨立的 PSM,并在這些PSM之間生成橋接器,在這些PSM之間建立4關系。
基于上述原理,本發明可以由用戶采用MDA方法進4亍PIM模型建 立,建立的依據為商業智能系統中各個子系統的相關接口配置參數,例 如,報表生成展現子系統的.rptdesign文件、多維分析子系統的Schema 文件、和ETL數據轉換子系統的transformation文件。為解決實際中參數 類型不同的問題,在本實施例中,所述建模單元還可以包括以下子單元
優先級設定子單元,用于根據通用參數、結構定義參數和實際數據 類型參數設定優先級;
模板填充子單元,用于在PIM模型建立時,依據所述優先級由高到 低將相應參數依次讀入PIM模型的XML文件中。
其中,所述通用參數可以為數據庫名,表名,連接端口等;結構定 義參數具體可以為涉及到XML文件結構定義的參數,如Schema文件的dimension 、 hierarchy、 level 、 measure參凄t等;實際H才居類型可以為歹寸描 述、各種維度、屬性的參數描述等。當然,上述參數僅僅是作為示例, 本發明對此并不需要進行限定。
根據得到的相關接口配置參數,結合PIM建模生成的特定XML文 件,則可以進行多模板轉換規則的建立及實現數據的匹配轉換。例如 才巴.rptdesign、 schema、 transformation文^牛進^f亍功能細分,確定要4丸4亍的 獨立轉換任務,然后根據每個獨立的轉換任務進行轉換規則的建立。具 體可以為
在報表生成展現子系統中,根據用戶建立的PIM模型由模型轉換工 具直接生成.rptdesign文件,優選的,所述模型轉換工具可以為一個XML 文件生成器,它讀取用戶建立的模型,轉換成可運行代碼,即.rptdesign 文件。采用這個方法則可以減少現有技術中采用Birt插件的圖形界面接 口 (GUI)進行報表設計的步驟。更為優選的是,為簡化模型轉換工具的 設計,可以對用戶設計報表的功能和靈活度作一定限制。例如,先從BIRT 定制生成的各種類報表的一般化.rptdesign文件作為模板,此時該文件只 包括最后要生成的報表文件的概要特征,如包括幾張表,幾張圖,什么 類型的圖等等。然后,這些模板將反應在建模語言里,即用戶只能使用 模板的模型來建立報表。從而,模型轉換的過程簡化為,將用戶建立的 模型中包含的生成.rptdesign文件所需要的關鍵信息填入模板文件的過 程。填好的模板文件即為完整的.rptdesign文件,可以由BIRT運行時直 接處理。
在多維分析子系統中,根據用戶建立的PIM模型讀取相關通用參數, 確定Schema文件的名稱屬性和Cube,Table名;由模型解析出Dimension、 Hierarchy、 Level及measure的層次結構,確定Schema文件結構;在此 基礎上針對Schema文件所需其它參數讀入具體數據信息,完成Schema 文件編寫。即通過預先設置特定模板即可實現查詢。
在ETL數據轉換子系統中,可以4巴.rptdesign、 schema、 transformation 文件進行功能細分,確定要執行的獨立轉換任務,根據每個獨立的轉換 任務進行映射規則的建立。具體地,可以創建一個用于描述數據的轉換過程的樣式表,每個樣式表存儲為〈xsl:stylesheet〉元素,保存了將要執行 的數據進行轉換的一系列規則。表中的每一條規則都對應著在源XML文 檔的每個節點上進行操作所相關的模式,即為模板。模板可以理解為映 射規則,是行為和覆蓋的基本單元。
Xslt ( —種基于XML的語言,用于將一類XML文檔轉換成另 一種 XML文檔)轉換涉及源文件、含有模板規則的文件和目標文件。根據所 述ETL數據轉換子系統的接口配置參數的XML文件和PIM模型的XML 文件,建立Xslt轉換模板,其重點在于定義一系列的模板規則。具體地, 模板規則可以由xsl: template組件表示,并由match屬性制定對比樣式, 對比樣式決定來源樹中哪些節點要依次按照規則模板進行處理。即每當 XSLT所處理的源節點同規則的模式相匹配時,它就會將規則模板中所代 表的內容在結果樹中構造出來。
Xslt轉換模板以規則為定向的模板設計方式,使得各種組件類型在定 義其模板規則時,可以考慮或不考慮組件的層次結構,因此,相同組件 類型可以在不同結構層次重復使用,不需要重新改寫Xsl才莫板,只要把新 的模板規則填補上即可。對于每個要執行的獨立的轉換任務建立相應的 模板,將它們按照映射規則組織起來;這樣,當需要修改時,如果重新 利用 一個合適的單獨的模板越容易,則把它作為已經存在的轉換模板來 覆蓋也就越容易。
上述轉換的基本處理流程為首先,XML源文件被解析DOM樹存 放在內存中,接著對文件進行分析,每一個DOM樹中的節點都會與一個 模式相比較,當二者匹配時,就會按照模板中定義的規則進行轉換,否 則繼續往下匹配。如此循環,直至整個文件處理完畢,最終生成目標文 件。
以上對本發明所提供的一種商業智能系統進行了詳細介紹,本文中應
明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的 一般技術人員,依據本發明的思想,在具體實施方式
及應用范圍上均會 有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1. 一種商業智能系統,其特征在于,所述商業智能系統包括報表生成展現子系統、多維分析子系統和ETL數據轉換子系統,所述商業智能系統還包括建模單元,用于依據報表生成展現子系統、多維分析子系統和ETL數據轉換子系統的接口配置參數,建立對應的PIM模型;映射單元,用于針對某個子系統的執行請求,調用所述PIM模型按照相應的轉換規則生成對應子系統的配置文件。
2、 如權利要求l所述的系統,其特征在于,所述映射單元包括 模板映射子單元,用于針對報表生成展現子系統,通過XML文件生成器讀取所述PIM模型,生成所述報表生成展現子系統的配置文件。
3、 如權利要求2所述的系統,其特征在于,所述映射單元還包括 多參數映射子單元,用于針對多維分析子系統,讀取所述PIM模型中的通用參數、涉及XML文件結構定義的參數和具體數據信息,生成所 述多維分析子系統的配置文件。
4、 如權利要求3所述的系統,其特征在于,所述映射單元還包括 XSLT映射子單元,用于針對ETL數據轉換子系統,依據所述ETL數據轉換子系統的接口配置文件和PIM模型創建XSLT轉換模板,并按 照所述模板轉換生成所述ETL數據轉換子系統的配置文件。
5、 如權利要求1所述的系統,其特征在于,所述PIM模型在Rational Rose系統中建立。
6、 如^5L利要求5所述的系統,其特征在于,所述PIM才莫型由UML 語言創建。
7、 如權利要求5所述的系統,其特征在于,所述建模單元還包括 優先級設定子單元,用于根據通用參數、結構定義參數和實際數據類型參數設定優先級;模板填充子單元,用于在PIM模型建立時,依據所述優先級由高到 低將相應參數依次讀入PIM模型的XML文件中。
全文摘要
本發明提供了一種商業智能系統,所述商業智能系統包括報表生成展現子系統、多維分析子系統和ETL數據轉換子系統,所述商業智能系統還包括建模單元,用于依據報表生成展現子系統、多維分析子系統和ETL數據轉換子系統的接口配置參數,建立對應的PIM模型;映射單元,用于針對某個子系統的執行請求,調用所述PIM模型按照相應的轉換規則生成對應子系統的配置文件。本發明可以提高商業智能系統的靈活性、通用性和可移植性。
文檔編號G06F17/30GK101271475SQ20081010331
公開日2008年9月24日 申請日期2008年4月2日 優先權日2008年4月2日
發明者梅 宋, 宋美娜, 毅 滿, 莉 王, 馬文靜 申請人:北京郵電大學