動態構建多維模型定義的裝置和方法
2023-10-05 14:20:39 1
動態構建多維模型定義的裝置和方法
【專利摘要】本發明提供了一種動態構建多維模型定義的裝置,包括:客戶端,用於通過封裝MDX、Schema和數據源信息,發送請求,並獲取查詢及分析結果;OLAP伺服器,用於基於發送的請求,進行動態修改、多維計算、多維聚合和存儲處理,將得到的查詢及分析結果返回。本發明還提供了一種動態構建多維模型定義的方法。通過本發明的技術方案,可以在現有的模型構建方式基礎上,充分利用單對象類型完成多對象類型的模型構建,建立多對象類型參與的模型的通用、統一構建思路。
【專利說明】動態構建多維模型定義的裝置和方法
【技術領域】
[0001]本發明涉及計算機【技術領域】,具體地,涉及一種動態構建多維模型定義的裝置和一種動態構建多維模型定義的方法。
[0002]
【背景技術】
[0003]通常情況下,在一次聯機分析處理的過程中,需要向後臺伺服器傳遞執行的多維查詢語句(MDX),多維模型定義(後面用Schema簡稱)及數據源信息,後臺伺服器在執行時無法改變Schema定義。
[0004]因此,需要一種新的模型構建技術,可以在現有的模型構建方式基礎上,充分利用單對象類型完成多對象類型的模型構建,建立多對象類型參與的模型的通用、統一構建思路。
[0005]
【發明內容】
[0006]本發明正是基於上述問題,提出了一種新的模型構建技術,可以在現有的模型構建方式基礎上,充分利用單對象類型完成多對象類型的模型構建,建立多對象類型參與的模型的通用、統一構建思路。
[0007]有鑑於此,本發明提出了一種動態構建多維模型定義的裝置,包括:客戶端,用於通過封裝MDX、Schema和數據源信息,發送請求,並獲取查詢及分析結果;0LAP伺服器,用於基於發送的請求,進行動態修改、多維計算、多維聚合和存儲處理,將得到的查詢及分析結果返回。在該技術方案中,可以使應用於企業的多維分析更加靈活,可擴展性更高,使多維模型更加簡化,降低建模的複雜度,簡化報表開發人員的工作等。
[0008]在上述技術方案中,優選地,所述客戶端,具體包括:請求發送模塊,用於通過封裝MDX、Schema和數據源信息,發送請求;結果獲取模塊,用於獲取查詢及分析結果。在該技術方案中,可以使多維模型定義相對簡化、固定,根據報表需求,在查詢分析中,把需求通過上下文形式進行傳遞。
[0009]在上述技術方案中,優選地,所述OLAP伺服器,具體包括:規則處理層,用於基於發送的請求,對Schema進行動態修改;多維計算層,用於基於動態修改的結果,進行多維計算;多維聚合層,用於基於多維計算的結果,進行多維聚合;存儲層,用於基於多維聚合得到的查詢及分析結果,進行存儲,並返回。在該技術方案中,通過對Schema進行動態修改,可以在相對穩定的多維模型基礎上應對靈活多變的報表需求,需要根據上下文及報表請求信息,動態地修改多維模型定義進行查詢分析。
[0010]在上述技術方案中,優選地,所述規則處理層對Schema進行動態修改的操作,進一步包括:解析發送的請求,獲取Schema的XML文件;通過上下文信息,為解析所得XML文件增加或修改元素節點,實現對Schema的修改。在該技術方案中,可以使用戶不改變多維模型的情況下,通過上下文信息選擇模型並改變執行結果,增加了多維分析的靈活性和可擴展性。
[0011 ] 在上述技術方案中,優選地,所述客戶端封裝的Schema,作為參數傳遞到後臺伺服器時是以XML形式存在的。
[0012]根據本發明的又一個方面,還提出了一種動態構建多維模型定義的方法,包括:步驟202:通過封裝MDX、Schema和數據源信息,發送請求,並獲取查詢及分析結果;步驟204:基於發送的請求,進行動態修改、多維計算、多維聚合和存儲處理,將得到的查詢及分析結果返回。在該技術方案中,可以使應用於企業的多維分析更加靈活,可擴展性更高,使多維模型更加簡化,降低建模的複雜度,簡化報表開發人員的工作等。
[0013]在上述技術方案中,優選地,所述步驟202,具體包括:步驟302:通過封裝MDX、Schema和數據源信息,發送請求;步驟304:獲取查詢及分析結果。在該技術方案中,可以使多維模型定義相對簡化、固定,根據報表需求,在查詢分析中,把需求通過上下文形式進行傳遞。
[0014]在上述技術方案中,優選地,所述步驟204,具體包括:步驟402:基於發送的請求,對Schema進行動態修改;步驟404:基於動態修改的結果,進行多維計算;步驟406:基於多維計算的結果,進行多維聚合;步驟408:基於多維聚合得到的查詢及分析結果,進行存儲,並返回。在該技術方案中,通過對Schema進行動態修改,可以在相對穩定的多維模型基礎上應對靈活多變的報表需求,需要根據上下文及報表請求信息,動態地修改多維模型定義進行查詢分析。
[0015]在上述技術方案中,優選地,所述步驟402對Schema進行動態修改的操作,進一步包括:解析發送的請求,獲取Schema的XML文件;通過上下文信息,為解析所得XML文件增加或修改元素節點,實現對Schema的修改。在該技術方案中,可以使用戶不改變多維模型的情況下,通過上下文信息選擇模型並改變執行結果,增加了多維分析的靈活性和可擴展性。
[0016]在上述技術方案中,優選地,所述步驟202封裝的Schema,作為參數傳遞到步驟204時是以XML形式存在的。
[0017]通過以上技術方案,可以在現有的模型構建方式基礎上,充分利用單對象類型完成多對象類型的模型構建,建立多對象類型參與的模型的通用、統一構建思路。
[0018]
【專利附圖】
【附圖說明】
[0019]圖1示出了根據本發明的實施例的動態構建多維模型定義的裝置的框圖;
圖2示出了根據本發明的實施例的動態構建多維模型定義的方法的流程圖;
圖3示出了根據本發明的實施例的客戶端的流程圖;
圖4示出了根據本發明的實施例的OLAP伺服器的流程圖;
圖5示出了對於傳統的多維分析的流程圖;
圖6示出了根據本發明的實施例的多維分析的流程圖。
[0020]
【具體實施方式】
[0021]為了能夠更清楚地理解本發明的上述目的、特徵和優點,下面結合附圖和【具體實施方式】對本發明進行進一步的詳細描述。需要說明的是,在不衝突的情況下,本申請的實施例及實施例中的特徵可以相互組合。
[0022]在下面的描述中闡述了很多具體細節以便於充分理解本發明,但是,本發明還可以採用其他不同於在此描述的其他方式來實施,因此,本發明的保護範圍並不受下面公開的具體實施例的限制。
[0023]圖1示出了根據本發明的實施例的動態構建多維模型定義的裝置的框圖。
[0024]如圖1所示,根據本發明的實施例的動態構建多維模型定義的裝置100,包括:客戶端102,用於通過封裝MDX、Schema和數據源信息,發送請求,並獲取查詢及分析結果;OLAP伺服器104,用於基於發送的請求,進行動態修改、多維計算、多維聚合和存儲處理,將得到的查詢及分析結果返回。在該技術方案中,可以使應用於企業的多維分析更加靈活,可擴展性更高,使多維模型更加簡化,降低建模的複雜度,簡化報表開發人員的工作等。
[0025]在上述技術方案中,優選地,客戶端102,具體包括:請求發送模塊1022,用於通過封裝MDX、Schema和數據源信息,發送請求;結果獲取模塊1024,用於獲取查詢及分析結果。在該技術方案中,可以使多維模型定義相對簡化、固定,根據報表需求,在查詢分析中,把需求通過上下文形式進行傳遞。
[0026]在上述技術方案中,優選地,OLAP伺服器104,具體包括:規則處理層1042,用於基於發送的請求,對Schema進行動態修改;多維計算層1044,用於基於動態修改的結果,進行多維計算;多維聚合層1046,用於基於多維計算的結果,進行多維聚合;存儲層1048,用於基於多維聚合得到的查詢及分析結果,進行存儲,並返回。在該技術方案中,通過對Schema進行動態修改,可以在相對穩定的多維模型基礎上應對靈活多變的報表需求,需要根據上下文及報表請求信息,動態地修改多維模型定義進行查詢分析。
[0027]在上述技術方案中,優選地,規則處理層1042對Schema進行動態修改的操作,進一步包括:解析發送的請求,獲取Schema的XML文件;通過上下文信息,為解析所得XML文件增加或修改元素節點,實現對Schema的修改。在該技術方案中,可以使用戶不改變多維模型的情況下,通過上下文信息選擇模型並改變執行結果,增加了多維分析的靈活性和可擴展性。
[0028]在上述技術方案中,優選地,客戶端102封裝的Schema,作為參數傳遞到後臺伺服器時是以XML形式存在的。
[0029]圖2示出了根據本發明的實施例的動態構建多維模型定義的方法的流程圖。
[0030]如圖2所示,根據本發明的實施例的動態構建多維模型定義的方法,包括:步驟202:通過封裝MDX、Schema和數據源信息,發送請求,並獲取查詢及分析結果;步驟204:基於發送的請求,進行動態修改、多維計算、多維聚合和存儲處理,將得到的查詢及分析結果返回。在該技術方案中,可以使應用於企業的多維分析更加靈活,可擴展性更高,使多維模型更加簡化,降低建模的複雜度,簡化報表開發人員的工作等。
[0031]在上述技術方案中,優選地,如圖3所示,步驟202,具體包括:步驟302:通過封裝MDX、Schema和數據源信息,發送請求;步驟304:獲取查詢及分析結果。在該技術方案中,可以使多維模型定義相對簡化、固定,根據報表需求,在查詢分析中,把需求通過上下文形式進行傳遞。
[0032]在上述技術方案中,優選地,如圖4所示,步驟204,具體包括:步驟402:基於發送的請求,對Schema進行動態修改;步驟404:基於動態修改的結果,進行多維計算;步驟406:基於多維計算的結果,進行多維聚合;步驟408:基於多維聚合得到的查詢及分析結果,進行存儲,並返回。在該技術方案中,通過對Schema進行動態修改,可以在相對穩定的多維模型基礎上應對靈活多變的報表需求,需要根據上下文及報表請求信息,動態地修改多維模型定義進行查詢分析。
[0033]在上述技術方案中,優選地,步驟402對Schema進行動態修改的操作,進一步包括:解析發送的請求,獲取Schema的XML文件;通過上下文信息,為解析所得XML文件增加或修改元素節點,實現對Schema的修改。在該技術方案中,可以使用戶不改變多維模型的情況下,通過上下文信息選擇模型並改變執行結果,增加了多維分析的靈活性和可擴展性。
[0034]在上述技術方案中,優選地,步驟202封裝的Schema,作為參數傳遞到步驟204時是以XML形式存在的。
[0035]本發明的技術方案,具體提供了一種聯機分析處理系統中動態構建多維模型定義的方法及裝置,適用於聯機分析中多維模型已確定、但希望在執行時動態改變多維模型的場景。
[0036]本發明的技術方案,是一種在OLAP伺服器執行時,動態修改Schema的方法及裝置,可以使用戶不改變多維模型的情況下,通過上下文信息選擇模型並改變執行結果,增加了多維分析的靈活性和可擴展性。
[0037]多維模型是為了滿足用戶從多角度多層次進行數據查詢和分析的需要而建立起來的基於事實表和維表的數據模型。
[0038]建立多維模型的作用在於,通過數據倉庫可以根據不同的數據需求建立起各類多維模型,並組成數據集市開放給不同的用戶群體使用,也就是根據需求定製的各類數據商品擺放在數據集市中供不同的數據消費者進行採購。
[0039]為了在相對穩定的多維模型基礎上應對靈活多變的報表需求,需要根據上下文及報表請求信息,動態地修改多維模型定義進行查詢分析。
[0040]對於傳統的多維分析,它的流程如圖5所示。如圖5所示,客戶端通過封裝MDX、Schema和數據源信息,發送請求到OLAP伺服器,獲取查詢分析結果。
[0041]本發明技術方案對於上述過程的改進,如圖6所示。可以看出,改進後的OLAP伺服器結構增加了規則處理層,在這個模塊中,可以對Schema進行動態修改,比如根據上下文信息在定義中增加模型(立方體、指標等),以及增加對其他Schema引用的維度模型的處理(引用其他Schema中的維度模型,使多維模型更加簡化,模型間實現共享)。
[0042]具體的實現邏輯是,Schema作為參數傳遞到後臺伺服器時是以XML形式存在的,在規則處理層中,解析XML文件,通過上下文信息,為XML增加或修改元素節點,達到修改Schema的目的。
[0043]目前本發明技術方案已經在OLAP伺服器中取得實現。應用本發明技術方案可以使多維模型定義相對簡化、固定,根據報表需求,在查詢分析中,把需求通過上下文形式傳遞到後臺伺服器。
[0044]本發明技術方案使應用於企業的多維分析更加靈活,可擴展性更高,使多維模型更加簡化,降低建模的複雜度,簡化報表開發人員的工作等。
[0045]以上結合附圖詳細說明了本發明的技術方案,考慮到相關技術中沒有簡便的、統一的針對複雜類型模型構建的解決辦法。現有的模型構建無法完成有複雜類型參與的模型構建過程。因此,本發明提出了一種動態構建多維模型定義的裝置和一種動態構建多維模型定義的方法,可以在現有的模型構建方式基礎上,充分利用單對象類型完成多對象類型的模型構建,建立多對象類型參與的模型的通用、統一構建思路。
[0046]以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
【權利要求】
1.一種動態構建多維模型定義的裝置,其特徵在於,包括: 客戶端,用於通過封裝MDX、Schema和數據源信息,發送請求,並獲取查詢及分析結果;OLAP伺服器,用於基於發送的請求,進行動態修改、多維計算、多維聚合和存儲處理,將得到的查詢及分析結果返回。
2.根據權利要求1所述的動態構建多維模型定義的裝置,其特徵在於,所述客戶端,具體包括: 請求發送模塊,用於通過封裝MDX、Schema和數據源信息,發送請求; 結果獲取模塊,用於獲取查詢及分析結果。
3.根據權利要求1所述的動態構建多維模型定義的裝置,其特徵在於,所述OLAP伺服器,具體包括: 規則處理層,用於基於發送的請求,對Schema進行動態修改; 多維計算層,用於基於動態修改的結果,進行多維計算; 多維聚合層,用於基於多維計算的結果,進行多維聚合; 存儲層,用於基於多維聚合得到的查詢及分析結果,進行存儲,並返回。
4.根據權利要求3所述的動態構建多維模型定義的裝置,其特徵在於,所述規則處理層對Schema進行動態修改的操作,進一步包括: 解析發送的請求,獲取Schema的XML文件; 通過上下文信息,為解析所得XML文件增加或修改元素節點,實現對Schema的修改。
5.根據權利要求1-4中任一項所述的動態構建多維模型定義的裝置,其特徵在於,所述客戶端封裝的Schema,作為參數傳遞到後臺伺服器時是以XML形式存在的。
6.—種動態構建多維模型定義的方法,其特徵在於,包括: 步驟202:通過封裝MDX、Schema和數據源信息,發送請求,並獲取查詢及分析結果;步驟204:基於發送的請求,進行動態修改、多維計算、多維聚合和存儲處理,將得到的查詢及分析結果返回。
7.根據權利要求6所述的動態構建多維模型定義的方法,其特徵在於,所述步驟202,具體包括: 步驟302:通過封裝MDX、Schema和數據源信息,發送請求; 步驟304:獲取查詢及分析結果。
8.根據權利要求6所述的動態構建多維模型定義的方法,其特徵在於,所述步驟204,具體包括: 步驟402:基於發送的請求,對Schema進行動態修改; 步驟404:基於動態修改的結果,進行多維計算; 步驟406:基於多維計算的結果,進行多維聚合; 步驟408:基於多維聚合得到的查詢及分析結果,進行存儲,並返回。
9.根據權利要求8所述的動態構建多維模型定義的方法,其特徵在於,所述步驟402對Schema進行動態修改的操作,進一步包括: 解析發送的請求,獲取Schema的XML文件; 通過上下文信息,為解析所得XML文件增加或修改元素節點,實現對Schema的修改。
10.根據權利要求6-9中任一項所述的動態構建多維模型定義的方法,其特徵在於,所 述步驟202封裝的Schema,作為參數傳遞到步驟204時是以XML形式存在的。
【文檔編號】G06F17/30GK104391928SQ201410671337
【公開日】2015年3月4日 申請日期:2014年11月21日 優先權日:2014年11月21日
【發明者】霍琦 申請人:用友軟體股份有限公司