專利名稱:一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理方法及其系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種在關系型數(shù)據(jù)上以多維的方式處理數(shù)據(jù)的方法,更具體的說,涉及一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理方法。
背景技術:
隨著計算機技術的逐漸發(fā)展,數(shù)據(jù)逐漸增多,人們越來越關注數(shù)據(jù)的可讀性、直觀性,同時也關注數(shù)據(jù)展示的自由性和及時性。
聯(lián)機分析處理是數(shù)據(jù)倉庫所能提供的一種基本的數(shù)據(jù)分析服務,而數(shù)據(jù)立方體是實現(xiàn)聯(lián)機分析處理的主要手段。如何高效處理數(shù)據(jù)立方體中所包含的大規(guī)模數(shù)據(jù)是數(shù)據(jù)倉庫研究和應用領域的一個關鍵問題。
在傳統(tǒng)的數(shù)據(jù)展示中,數(shù)據(jù)往往是以二維的方式表示,非常不直觀、不可讀;并且一個數(shù)據(jù)的展示,是由一段固定的代碼支撐的,用戶往往必須等待專業(yè)的技術人員添加新的代碼支持,才可以看到新的內(nèi)容,非常的不自由、不及時。發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題是,克服現(xiàn)有技術的缺點,提供一種直接在關系型數(shù)據(jù)庫上虛擬的表示多維數(shù)據(jù)立方體結構使數(shù)據(jù)展示直觀、自由、及時的基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理方法。
本發(fā)明的另一目的是提供一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理系統(tǒng)。
為了解決以上技術問題,本發(fā)明提供一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理方法,包含虛擬數(shù)據(jù)立方體的定義階段和虛擬數(shù)據(jù)立方體的使用階段,其中,虛擬數(shù)據(jù)立方體的定義階段包含如下步驟a、創(chuàng)建一個虛擬數(shù)據(jù)立方體結構,并設置數(shù)據(jù)庫連接;b、根據(jù)步驟(a)中設置的數(shù)據(jù)庫連接加載數(shù)據(jù)庫結構,以圖形化的方式顯示,并保持當前數(shù)據(jù)庫的邏輯結構;C、基于邏輯結構,定義數(shù)據(jù)的維度、測度及維度測度之間的關系、測度引用維度的集合關系;d、保存虛擬數(shù)據(jù)立方體結構到數(shù)據(jù)庫或者文件中,如果需要修改,執(zhí)行步驟(e),如果不需要修改,則完成虛擬立方體的定義;e、加載已經(jīng)定義好的虛擬數(shù)據(jù)立方體,執(zhí)行步驟c和步驟d,完成虛擬數(shù)據(jù)立方體的修改;虛擬數(shù)據(jù)立方體的使用階段包含如下步驟I、選擇需要查看的虛擬數(shù)據(jù)立方體,加載信息,以列表的形式顯示;II、選擇關注的至少一個維度置于查詢區(qū)的行或列上,選擇關注的至少一個測度置于查詢區(qū)的同一行或列上;III、請求查詢數(shù)據(jù),獲得維度和測度信息,根據(jù)虛擬數(shù)據(jù)立方體定義得到相應維度和測度的表結構對應關系,自動對比虛擬數(shù)據(jù)立方體的結構,得到相應的數(shù)據(jù)查詢語句,將相應數(shù)據(jù)查詢語句提交到數(shù)據(jù)庫執(zhí)行,得到數(shù)據(jù)庫返回的查詢結果集; IV、將步驟III中得到的查詢結果集以行列的多維方式顯示。
本發(fā)明進一步限定的技術方案是虛擬數(shù)據(jù)立方體的定義階段的步驟b中讀取數(shù)據(jù)庫結構后,對數(shù)據(jù)結構進行修改,修改內(nèi)容包括表名、字段名及主外鍵關系。
進一步的虛擬數(shù)據(jù)立方體的定義階段的步驟c后,基于定義的維度和測度,定義維度和測度的國際化,支持的國際化語言為英文、西班牙文和法文。
進一步的虛擬數(shù)據(jù)立方體的使用階段的步驟IV后,對顯示數(shù)據(jù)進行鉆取,展開維度,重復步驟III、IV,所述數(shù)據(jù)鉆取的層數(shù)由維度本身的層數(shù)決定。
進一步的步驟III中自動得到相應的數(shù)據(jù)查詢語句過程中支持多種數(shù)據(jù)庫對應的數(shù)據(jù)庫語言,所述數(shù)據(jù)庫包括 ql server、oracle、mysql、db2、sybase IQfPsybase ASE0
本發(fā)明公開的另一技術方案為一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理系統(tǒng), 所述系統(tǒng)包括后臺數(shù)據(jù)庫和前臺展示模塊,還包括虛擬數(shù)據(jù)立方體模塊,所述虛擬數(shù)據(jù)立方體模塊設置于所述后臺數(shù)據(jù)庫和前臺展示模塊之間,包括定義單元和使用單元,其中,所述定義單元包括創(chuàng)建組件,用于創(chuàng)建一個虛擬數(shù)據(jù)庫立方體結構,并設置數(shù)據(jù)連接; 加載組件1,用于加載已經(jīng)設置連接的數(shù)據(jù)庫,并在前臺展示模塊中以圖形化的方式顯示;定義組件,用于基于已經(jīng)加載的數(shù)據(jù)庫的邏輯結構,定義數(shù)據(jù)的維度、測度及維度測度之間的關系、測度引用維度的集合關系;存儲組件,用于存儲已經(jīng)定義好的虛擬數(shù)據(jù)立方體結構; 所述使用單元包括加載組件2,用于選擇需要查看的虛擬數(shù)據(jù)立方體,加載所述虛擬數(shù)據(jù)立方體信息,以列表形式顯示;配置組件,用于選擇關注的至少一個維度置于查詢區(qū)的行或列上,選擇關注的至少一個測度置于查詢區(qū)的同一行或列上;處理組件,用于處理前臺展示模塊的查詢請求,自動對比虛擬數(shù)據(jù)立方體結構,得到相應的數(shù)據(jù)查詢語句,將相應數(shù)據(jù)查詢語句提交到后臺數(shù)據(jù)庫執(zhí)行,得到數(shù)據(jù)庫返回的查詢結果集;展示組件,用于將得到的查詢結果集處理為以行列多維方式提交到前臺展示模塊進行展不。
本發(fā)明進一步限定的技術方案是所述定義單元還包括修改組件,用于對已經(jīng)定義的數(shù)據(jù)立方體結構進行修改,修改內(nèi)容包括表名、字段名及主外鍵關系。
進一步的所述定義單元還包括國際化組件,用于定義維度和測度的國際化,所述國際化組件支持國際化語言為英文、西班牙文和法文。
進一步的所述使用單元還包括鉆取組件,用于對維度的展開,所述鉆取組件鉆取的層數(shù)由維度本身的層數(shù)決定。
本發(fā)明的有益效果是本發(fā)明的方法和系統(tǒng)應用在關系型數(shù)據(jù)庫上,虛擬的表示多維數(shù)據(jù)立方體結構,并且能夠實現(xiàn)與真實多維數(shù)據(jù)立方體相同功能特點;本發(fā)明可以基于任意操作系統(tǒng)、任意數(shù)據(jù)庫形成虛擬數(shù)據(jù)立方體,允許用戶以自由的數(shù)據(jù)組合查看自己關注的數(shù)據(jù),應用范圍廣,不受硬件的制約;本發(fā)明使用國際化組件,便于系統(tǒng)的推廣和商業(yè)應用;本發(fā)明展示數(shù)據(jù)直觀、自由、及時,虛擬數(shù)據(jù)立方體結構的定義、修改和使用都界面話,操作簡便,便于使用,并且處理數(shù)據(jù)速度高效、精確,提高了工作效率,節(jié)約人力成本;同時,本發(fā)明的數(shù)據(jù)方式通用性強,廣泛的應用于零售行業(yè)、電信行業(yè)等。
圖1為本發(fā)明方法的虛擬數(shù)據(jù)立方體的定義階段的流程圖; 圖2為本發(fā)明方法的虛擬數(shù)據(jù)立方體的使用階段的流程圖3為本發(fā)明系統(tǒng)的虛擬數(shù)據(jù)立方體模塊的結構示意圖。
具體實施例方式實施例1
本實施例提供一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理系統(tǒng),所述系統(tǒng)包括后臺數(shù)據(jù)庫、前臺展示模塊和虛擬數(shù)據(jù)立方體模塊。所述虛擬數(shù)據(jù)立方體模塊設置于所述后臺數(shù)據(jù)庫和前臺展示模塊之間,其結構示意圖如圖3所示,包括定義單元和使用單元,其中,所述定義單元包括
創(chuàng)建組件,用于創(chuàng)建一個虛擬數(shù)據(jù)庫立方體結構,并設置數(shù)據(jù)連接。加載組件1,用于加載已經(jīng)設置連接的數(shù)據(jù)庫,并在前臺展示模塊中以圖形化的方式顯不。定義組件,用于基于已經(jīng)加載的數(shù)據(jù)庫的邏輯結構,定義數(shù)據(jù)的維度、測度及維度測度之間的關系、測度引用維度的集合關系。修改組件,用于對已經(jīng)定義的數(shù)據(jù)立方體結構進行修改,修改內(nèi)容包括表名、字段名及主外鍵關系。存儲組件,用于存儲已經(jīng)定義好的虛擬數(shù)據(jù)立方體結構。國際化組件,用于定義維度和測度的國際化,所述國際化組件支持國際化語言為英文、西班牙文和法文。所述使用單元包括
加載組件2,用于選擇需要查看的虛擬數(shù)據(jù)立方體,加載所述虛擬數(shù)據(jù)立方體信息,以列表形式顯示。配置組件,用于選擇關注的至少一個維度置于查詢區(qū)的行或列上,選擇關注的至少一個測度置于查詢區(qū)的同一行或列上。處理組件,用于處理前臺展示模塊的查詢請求,自動對比虛擬數(shù)據(jù)立方體結構,得到相應的數(shù)據(jù)查詢語句,將相應數(shù)據(jù)查詢語句提交到后臺數(shù)據(jù)庫執(zhí)行,得到數(shù)據(jù)庫返回的查詢結果集。展示組件,用于將得到的查詢結果集處理為以行列多維方式提交到前臺展示模塊進行展示。鉆取組件,用于對維度的展開,所述鉆取組件鉆取的層數(shù)由維度本身的層數(shù)決定。一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理系統(tǒng)的使用方法包含虛擬數(shù)據(jù)立方體的定義階段和虛擬數(shù)據(jù)立方體的使用階段,其中,虛擬數(shù)據(jù)立方體的定義階段如圖1所示, 包含如下步驟
a、創(chuàng)建一個虛擬數(shù)據(jù)立方體結構,并設置數(shù)據(jù)庫連接,所述虛擬數(shù)據(jù)立方體結構只是一個概念上的定義,具體的內(nèi)容在后面的步驟將逐步定義,并且所述虛擬數(shù)據(jù)立方體結構可以連接任意類型的關系型數(shù)據(jù)庫,所述數(shù)據(jù)庫包括ql server, oracle, mysql、db2、 sybase IQffIsybase ASE0b、根據(jù)步驟(a)中設置的數(shù)據(jù)庫連接加載數(shù)據(jù)庫結構,包括表結構、表間關系、主外鍵關系,以圖形化的方式顯示,并保持當前數(shù)據(jù)庫的邏輯結構,由此可以讓用戶能夠方便的瀏覽數(shù)據(jù)庫結構并進行界面化操作。C、根據(jù)系統(tǒng)讀取的數(shù)據(jù)庫結構,用戶可以自己進行一定程度的修改,包括修改表名、字段名、主外鍵關系等。修改完成后,用戶可以選擇保存當前數(shù)據(jù)庫的邏輯結構,系統(tǒng)將把該結構獨立保存。該結構是原始數(shù)據(jù)庫結構的一個邏輯結構表達,而不影響原始的數(shù)據(jù)庫結構。系統(tǒng)可以將數(shù)據(jù)庫的真實結構保存為邏輯結構是虛擬數(shù)據(jù)立方體和原始的數(shù)據(jù)庫結構解耦,有利于數(shù)據(jù)的維護和獨立。d、基于邏輯結構,定義數(shù)據(jù)的維度,包括維度的名稱、維度與數(shù)據(jù)庫表字段的對應關系、維度的屬性、維度的級別劃分;定義數(shù)據(jù)的測度,包括測度的名稱、測度的類型、測度的自定義計算公司、測度是否可以聚集;維度測度定義完畢后,用戶可以定義維度測度之間的關系,測度引用維度的集合關系。定義的維度和測度都只是一個純粹的定義,并沒有真實的數(shù)據(jù)庫表來保存相應的維度測度數(shù)據(jù)。定義中說明了維度測度與邏輯表結構之間的對應關系,包括關聯(lián)的表和字段。e、基于定義的維度和測度,定義維度和測度的國際化,用戶可以基于定義的維度測度,定義維度測度的國際化,包括可以將維度名稱、維度屬性名稱、維度層次名稱、測度名稱翻譯為各種不同的語言,具體的文字需要用戶自己輸入,支持的國際化語言為英文、西班牙文和法文。f、保存虛擬數(shù)據(jù)立方體結構到數(shù)據(jù)庫或者文件中,如果需要修改,執(zhí)行步驟(g), 如果不需要修改,則完成虛擬立方體的定義,用戶可以選擇保存當前數(shù)據(jù)庫的邏輯結構,系統(tǒng)將把該結構獨立保存。該結構是原始數(shù)據(jù)庫結構的一個邏輯結構表達,而不影響原始的數(shù)據(jù)庫結構。用戶可以保存虛擬數(shù)據(jù)立方體結構的定義,該結構可以保存到數(shù)據(jù)庫中,也可以保存到文件中,可以被再次打開修改。g、加載已經(jīng)定義好的虛擬數(shù)據(jù)立方體,執(zhí)行步驟C、步驟d、步驟e和步驟f,完成虛擬數(shù)據(jù)立方體的修改。虛擬數(shù)據(jù)立方體的使用階段包含如下步驟
I、選擇需要查看的虛擬數(shù)據(jù)立方體,系統(tǒng)將自動加載用戶選擇的虛擬數(shù)據(jù)立方體信息,包括維度集合、測度集合,并以列表的形式顯示。II、用戶選擇自己關注的維度,拖拽到數(shù)據(jù)查詢區(qū)的行或者列上;用戶可以拖拽多個維度;用戶選擇自己關注的測度,拖拽到數(shù)據(jù)查詢區(qū)的行或者列上;用戶可以拖拽多個測度,但所有的測度必須統(tǒng)一在行或者列上。與傳統(tǒng)的定制查詢,例如通過寫固定的查詢邏輯代碼不同,用戶可以根據(jù)自己的需要,通過拖拽的方式隨意定制自己想要看到的查詢數(shù)據(jù)。
III、請求查詢數(shù)據(jù),系統(tǒng)將根據(jù)用戶選擇的維度和測度,進行數(shù)據(jù)查詢,獲得維度和測度信息,根據(jù)虛擬數(shù)據(jù)立方體定義得到相應維度和測度的表結構對應關系,自動對比虛擬數(shù)據(jù)立方體的結構,得到相應的數(shù)據(jù)查詢語句,將相應數(shù)據(jù)查詢語句提交到數(shù)據(jù)庫執(zhí)行,得到數(shù)據(jù)庫返回的查詢結果集;自動得到相應的數(shù)據(jù)查詢語句過程中支持多種數(shù)據(jù)庫對應的數(shù)據(jù)庫語言,所述數(shù)據(jù)庫包括ql server、oracle、mysql、db2、sybase IQ禾口 sybase ASE。IV、將步驟III中得到的查詢結果集以行列的多維方式顯示。V、對顯示數(shù)據(jù)進行鉆取,展開維度,重復步驟III、IV,所述數(shù)據(jù)鉆取的層數(shù)由維度本身的層數(shù)決定。除上述實施例外,本發(fā)明還可以有其他實施方式。凡采用等同替換或等效變換形成的技術方案,均落在本發(fā)明要求的保護范圍。
權利要求
1. 一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理方法,其特征在于,包含虛擬數(shù)據(jù)立方體的定義階段和虛擬數(shù)據(jù)立方體的使用階段,其中,虛擬數(shù)據(jù)立方體的定義階段包含如下步驟a、創(chuàng)建一個虛擬數(shù)據(jù)立方體結構,并設置數(shù)據(jù)庫連接;b、根據(jù)步驟(a)中設置的數(shù)據(jù)庫連接加載數(shù)據(jù)庫結構,以圖形化的方式顯示,并保持當前數(shù)據(jù)庫的邏輯結構;C、基于邏輯結構,定義數(shù)據(jù)的維度、測度及維度測度之間的關系、測度引用維度的集合關系;d、保存虛擬數(shù)據(jù)立方體結構到數(shù)據(jù)庫或者文件中,如果需要修改,執(zhí)行步驟(e),如果不需要修改,則完成虛擬立方體的定義;e、加載已經(jīng)定義好的虛擬數(shù)據(jù)立方體,執(zhí)行步驟c和步驟d,完成虛擬數(shù)據(jù)立方體的修改;虛擬數(shù)據(jù)立方體的使用階段包含如下步驟1.選擇需要查看的虛擬數(shù)據(jù)立方體,加載信息,以列表的形式顯示;II、選擇關注的至少一個維度置于查詢區(qū)的行或列上,選擇關注的至少一個測度置于查詢區(qū)的同一行或列上;III、請求查詢數(shù)據(jù),獲得維度和測度信息,根據(jù)虛擬數(shù)據(jù)立方體定義得到相應維度和測度的表結構對應關系,自動對比虛擬數(shù)據(jù)立方體的結構,得到相應的數(shù)據(jù)查詢語句,將相應數(shù)據(jù)查詢語句提交到數(shù)據(jù)庫執(zhí)行,得到數(shù)據(jù)庫返回的查詢結果集;IV、將步驟III中得到的查詢結果集以行列的多維方式顯示。
2.根據(jù)權利要求1所述的一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理方法,其特征在于,虛擬數(shù)據(jù)立方體的定義階段的步驟b中讀取數(shù)據(jù)庫結構后,對數(shù)據(jù)結構進行修改,修改內(nèi)容包括表名、字段名及主外鍵關系。
3.根據(jù)權利要求1所述的一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理方法,其特征在于,虛擬數(shù)據(jù)立方體的定義階段的步驟C后,基于定義的維度和測度,定義維度和測度的國際化,支持的國際化語言為英文、西班牙文和法文。
4.根據(jù)權利要求1所述的一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理方法,其特征在于,虛擬數(shù)據(jù)立方體的使用階段的步驟IV后,對顯示數(shù)據(jù)進行鉆取,展開維度,重復步驟III、 IV,所述數(shù)據(jù)鉆取的層數(shù)由維度本身的層數(shù)決定。
5.根據(jù)權利要求1所述的一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理方法,其特征在于,步驟III中自動得到相應的數(shù)據(jù)查詢語句過程中支持多種數(shù)據(jù)庫對應的數(shù)據(jù)庫語言,所述數(shù)據(jù)庫包括 ql server、oracle、mysql、db2、sybase IQffIsybase ASE0
6.一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理系統(tǒng),所述系統(tǒng)包括后臺數(shù)據(jù)庫和前臺展示模塊,其特征在于,還包括虛擬數(shù)據(jù)立方體模塊,所述虛擬數(shù)據(jù)立方體模塊設置于所述后臺數(shù)據(jù)庫和前臺展示模塊之間,包括定義單元和使用單元,其中,所述定義單元包括創(chuàng)建組件,用于創(chuàng)建一個虛擬數(shù)據(jù)庫立方體結構,并設置數(shù)據(jù)連接; 加載組件1,用于加載已經(jīng)設置連接的數(shù)據(jù)庫,并在前臺展示模塊中以圖形化的方式顯示;定義組件,用于基于已經(jīng)加載的數(shù)據(jù)庫的邏輯結構,定義數(shù)據(jù)的維度、測度及維度測度之間的關系、測度引用維度的集合關系;存儲組件,用于存儲已經(jīng)定義好的虛擬數(shù)據(jù)立方體結構;所述使用單元包括加載組件2,用于選擇需要查看的虛擬數(shù)據(jù)立方體,加載所述虛擬數(shù)據(jù)立方體信息,以列表形式顯示;配置組件,用于選擇關注的至少一個維度置于查詢區(qū)的行或列上,選擇關注的至少一個測度置于查詢區(qū)的同一行或列上;處理組件,用于處理前臺展示模塊的查詢請求,自動對比虛擬數(shù)據(jù)立方體結構,得到相應的數(shù)據(jù)查詢語句,將相應數(shù)據(jù)查詢語句提交到后臺數(shù)據(jù)庫執(zhí)行,得到數(shù)據(jù)庫返回的查詢結果集;展示組件,用于將得到的查詢結果集處理為以行列多維方式提交到前臺展示模塊進行展不。
7.根據(jù)權利要求6所述的一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理系統(tǒng),其特征在于,所述定義單元還包括修改組件,用于對已經(jīng)定義的數(shù)據(jù)立方體結構進行修改,修改內(nèi)容包括表名、字段名及主外鍵關系。
8.根據(jù)權利要求6所述的一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理系統(tǒng),其特征在于,所述定義單元還包括國際化組件,用于定義維度和測度的國際化,所述國際化組件支持國際化語言為英文、西班牙文和法文。
9.根據(jù)權利要求6所述的一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理系統(tǒng),其特征在于,所述使用單元還包括鉆取組件,用于對維度的展開,所述鉆取組件鉆取的層數(shù)由維度本身的層數(shù)決定。
全文摘要
本發(fā)明公開了一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理方法,包含虛擬數(shù)據(jù)立方體的定義階段和虛擬數(shù)據(jù)立方體的使用階段,其中,虛擬數(shù)據(jù)立方體的定義階段包含a、創(chuàng)建一個虛擬數(shù)據(jù)立方體結構;b、加載數(shù)據(jù)庫結構,以圖形化的方式顯示;c、定義數(shù)據(jù)的結構關系;d、保存數(shù)據(jù)結構。虛擬數(shù)據(jù)立方體的使用階段包含如下步驟Ⅰ、加載信息;Ⅱ、設置維度和測度;Ⅲ、請求查詢數(shù)據(jù),并返回結果集;Ⅳ、以行列的多維方式顯示。同時,本發(fā)明還公布的一種基于虛擬數(shù)據(jù)立方體的多維數(shù)據(jù)處理系統(tǒng)。本發(fā)明的方法直接在關系型數(shù)據(jù)庫上虛擬的表示多維數(shù)據(jù)立方體結構使數(shù)據(jù)展示直觀、自由、及時。
文檔編號G06F17/30GK102521417SQ20111045746
公開日2012年6月27日 申請日期2011年12月30日 優(yōu)先權日2011年12月30日
發(fā)明者朱海斌, 袁紅崗 申請人:南京柏梭信息科技有限公司