新四季網

數據關聯查詢方法和數據關聯查詢裝置的製作方法

2023-12-07 06:24:11 2

專利名稱:數據關聯查詢方法和數據關聯查詢裝置的製作方法
技術領域:
本發明涉及報表分析領域,具體而言,涉及數據關聯查詢方法和數據關聯查詢裝置。
背景技術:
在報表分析領域中,對事實表與維表進行關聯後查詢出結果並展現到報表當中, 是非常典型的應用。以ERP(Enterprise Resource Planning,企業資源計劃)軟體產品和關係型資料庫為例,單據表可認為是事實表,數據量通常很大;基礎檔案表可認為是維度表,數據量視檔案類型的不同有大有小。單據表中存儲有基礎檔案表的主鍵作為外鍵,可以用比較簡單的SQL把單據表存儲的業務信息(如單據號、單據日期、數量、金額等)以及相關基礎檔案的主鍵查出來,但報表中要求不能把主鍵展現給用戶,而應展現基礎檔案中有業務意義的信息,如編碼、名稱等。
使用單據表連接基礎檔案表的方式,理論上可以解決這一問題,但在大數據量環境下會出現效率瓶頸。例如,在關聯銷售單據表和存貨檔案表時,兩者都可能有十萬行量級以上的數據,現要求從單據表取出符合特定條件的一萬行數據,並帶出相關聯的存貨名稱, 假如通過表連接的方式,則需要對銷售單據和存貨檔案兩張大表進行連接,再分別取出所需的欄位。如圖1所示,兩個大數據的表連接通過SQL進行查詢,得到大量的關聯數據。
而在實際情況中,需要關聯的遠不止存貨一個檔案,很可能還要關聯客戶、部門、 人員等等其它檔案。對這麼多大數據的表做多表聯查,勢必影響到系統運行的效率。除了關聯的廣度外,還有關聯的深度帶來的影響一可能用戶需要在單據關聯存貨檔案之後,還要將存貨檔案關聯存貨分類檔案,以便獲取存貨分類的名稱來顯示在報表上,這同樣增加了多表關聯SQL的複雜度及其執行開銷。
現有技術中,對事實表與維表進行關聯的方案主要有以下三種
方案一國內ERP軟體常用此方案——在數據模型設計部分,要求用戶通過數據字典或元數據等方式,把最終要取數的欄位全部指定完成;然後在格式設計過程中,將設計好的數據模型插入到報表當中某個區域,瀏覽報表時將數據模型轉化為多表聯查SQL,直接到資料庫執行查詢。另有一些支持異步報表的產品,在查詢後會將查詢結果物化到資料庫或數據倉庫。
方案二 國內報表廠商常用此方案——在報表格式設計過程中,指定各單元格或區域單元的取數公式,利用這些公式來取到所需的欄位值。公式的執行根據其語法解析器的定義而定,有的公式是轉化為SQL執行,有的公式可能會到緩存中加載數據。
方案三國外BI (Business Intelligence,商業智能)廠商常用此方案一在數據模型設計部分建立語義層,語義層包括待查詢的數據表及其連接關係,但不含查詢欄位;然後在格式設計過程中,在語義層中選擇欄位或欄位表達式,拖入報表並最終展現。執行時根據欄位描述,調用SQL及函數執行器予以執行。
上述方案一和方案三,在解決前述應用問題時,仍需以多表聯查的SQL作為主要實現方案,難以解決多張維表在廣度和深度關聯欄位過程中給系統運行效率帶來的壓力。 方案二雖然考慮到了採用SQL+緩存公式聯合作戰的方式,但由於單元公式的方案難以滿足數據層的建模需求,因此給用戶在數據模型復用性和操作交互技術方面都帶來不便和困擾。此外,上述方案對於關聯欄位的自由擴展性也存在約束,也有相關方案雖然考慮到了可關聯的擴展欄位的查詢,但最終仍局限於通過SQL來查詢原始數據+擴展數據的方案,沒有解決大數據聯查引起的性能問題。
因此,為了解決以上技術問題,需要一種數據關聯查詢技術,能夠高效關聯事實表和維度表並快速查詢出所需數據,在提高查詢效率的同時能不影響系統的運行效率。發明內容
基於上述背景技術的考慮,本發明所要解決的一個技術問題是提供一種數據關聯查詢裝置,本發明所要解決的又一個技術問題是提供一種數據關聯查詢方法,避免大數據量的兩個數據表在關聯查詢時給系統帶來的壓力,並且可保證關聯欄位的可擴展性和查詢的可復用性。
有鑑於此,根據本發明的一個方面,提供了一種數據關聯查詢裝置,包括數據獲取單元,用於獲取事實表的基礎欄位,基於所述基礎欄位選擇維表上的欄位作為關聯所述事實表和所述維表的關聯欄位,其中,所述基礎欄位和所述關聯欄位為待查詢欄位,將所述基礎欄位及其所屬數據表發送至SQL執行單元;SQL執行單元,基於所述基礎欄位及其所屬數據表,採用SQL語句執行查詢操作,得到結果集;緩存取數公式構造單元,從所述結果集中獲取與所述關聯欄位對應的主鍵值,結合所述關聯欄位所在的數據路徑構造緩存取數公式;緩存執行單元,根據所述緩存取數公式獲取所述關聯欄位的取值,將所述關聯欄位的取值和所述結果集進行組合得到最終查詢結果。在該技術方案中,同時支持SQL查詢和緩存公式查詢,避免了大數據量事實表和維度表的關聯查詢給系統帶來的致命壓力,提高了查詢效率。
以上技術方案中,優選地,所述數據關聯查詢裝置,還包括數據字典建立單元,用於建立數據字典樹,提供給所述數據獲取單元,在所述數據字典樹中選擇所述待查詢欄位。 在該技術方案中,建立數據字典樹使得資料庫中數據的展現更加直觀,方便用戶根據自己的需求選擇所需的展現內容;另外,用戶可以根據自身業務情況,自己建立數據字典樹,自主地設置基礎欄位和關聯欄位,基礎欄位直接通過SQL查詢,關聯欄位則通過緩存取數公式進行查詢,亦即實現了對某種業務屬性採用何種查詢方式可以由用戶自己定製,更加方便和人性化。
以上技術方案中,優選地,所述數據字典建立單元還用於為選中的基礎欄位構造子樹,所述基礎欄位包括主鍵,所述主鍵對應所述關聯欄位,在所述子樹中選擇所述關聯欄位。在該技術方案中,數據字典樹不僅支持用戶選擇基礎欄位,而且同時支持用戶選擇子樹中的關聯欄位,保證了關聯欄位的可擴展性,豐富了報表的展現內容。
以上技術方案中,優選地,所述數據關聯查詢裝置,還包括報表生成單元,將所述基礎欄位和所述關聯欄位插入報表中,作為報表的待展現欄位,在所述報表中展現與所述待展現欄位相對應的所述最終查詢結果。在該技術方案中,對用戶而言只需選擇所需的查詢內容,便可以將所選擇查詢內容的結果直接通過報表展現出來,直觀並且方便快捷。
以上技術方案中,優選地,所述數據關聯查詢裝置,還包括緩存單元,用於根據所述緩存取數公式中的主鍵值查找到所屬數據表的其他業務屬性;所述緩存取數公式構造單元包括計算子單元,利用樹節點算法計算出所選取的關聯欄位在所述數據字典中的路徑, 根據所述路徑上的節點形成數組或字符分隔串,得到具有所述關聯欄位的主鍵值的所述緩存取數公式。在該技術方案中,通過建立緩存取數公式,保證了查詢關聯欄位的可重複性, 使用戶在查詢關聯欄位的內容時,可以直接根據所構建的緩存取數公式進行查詢,大大地提高了查詢效率,同時降低了硬體設備的負荷。
根據本發明的另一個方面,還提供了一種數據關聯查詢方法,包括步驟202,獲取事實表的基礎欄位,基於所述基礎欄位選擇維表上的欄位作為關聯所述事實表和所述維表的關聯欄位,其中,所述基礎欄位和所述關聯欄位為待查詢欄位;步驟204,基於所述基礎欄位及其所屬數據表,採用SQL語句執行查詢操作,得到結果集;步驟206,從所述結果集中獲取與所述關聯欄位對應的主鍵值,結合所述關聯欄位所在的數據路徑構造緩存取數公式,根據所述緩存取數公式獲取所述關聯欄位的取值,將所述關聯欄位的取值和所述結果集進行組合得到最終查詢結果。在該技術方案中,同時支持SQL查詢和緩存公式查詢,避免了大數據量事實表和維度表的關聯查詢給系統帶來的致命壓力,提高了查詢效率。
以上技術方案中,優選地,所述步驟202還包括建立數據字典樹,在所述數據字典樹中選擇所述待查詢欄位。在該技術方案中,建立數據字典樹使得資料庫中數據的展現更加直觀,方便用戶根據自己的需求選擇所需的展現內容;另外,用戶可以根據自身業務情況,自己建立數據字典樹,自主地設置基礎欄位和關聯欄位,基礎欄位直接通過SQL查詢, 關聯欄位則通過緩存取數公式進行查詢,亦即實現了對某種業務屬性採用何種查詢方式可以由用戶自己定製,更加方便和人性化。
以上技術方案中,優選地,所述步驟202還包括為選中的基礎欄位構造子樹,所述基礎欄位包括主鍵,所述主鍵對應所述關聯欄位,在所述子樹中選擇所述關聯欄位。在該技術方案中,數據字典樹不僅支持用戶選擇基礎欄位,而且同時支持用戶選擇子樹中的關聯欄位,保證了關聯欄位的可擴展性,豐富了報表的展現內容。
以上技術方案中,優選地,還包括將所述基礎欄位和所述關聯欄位插入報表中,作為報表的待展現欄位,將在所述報表中展現與所述待展現欄位相對應的所述最終查詢結果。在該技術方案中,對用戶而言只需選擇所需的查詢內容,便可以將所選擇查詢內容的結果直接通過報表展現出來,方便快捷。
以上技術方案中,優選地,所述緩存取數公式的形成方法包括利用樹節點算法計算出所選取的關聯欄位在所述數據字典中的路徑;根據所述路徑上的節點形成數組或字符分隔串,得到具有所述關聯欄位的主鍵值的所述緩存取公式。在該技術方案中,通過建立緩存取數公式,保證了查詢關聯欄位的可重複性,使用戶在查詢關聯欄位的內容時,可以直接根據所構建的緩存取數公式進行查詢,大大地提高了查詢效率,同時降低了硬體設備的負荷。
通過以上技術方案,可以實現同時支持SQL查詢和緩存公式查詢,將兩者結合應用,避免了大數據量事實表和維度表的關聯查詢給系統帶來的致命壓力,提高了查詢效率; 對某種業務屬性採用何種查詢方式可以由用戶自己定製,更加方便和人性化;通過建立數據字典保證了關聯欄位的可擴展性和查詢的可復用性。


圖1示出了相關技術中的事實表與維度表進行連接查詢的示意圖2示出了根據本發明的實施例的在建立的數據字典樹中選擇待查詢欄位的截圖3示出了根據本發明的實施例的保存用戶的選擇結果的截圖4示出了根據本發明的實施例的操作者所設計的報表的截圖5示出了根據本發明實施例的由基礎欄位和所查單據的主鍵構成的混合樹的截圖6示出了根據本發明實施例的在所查詢單據的主鍵下的子樹中選擇關聯欄位的截圖7示出了根據本發明實施例的數據關聯查詢裝置的框圖8示出了根據本發明實施例的數據關聯查詢方法的流程圖9示出了根據本發明又一實施例的數據關聯查詢方法的流程圖IOA示出了根據本發明實施例的數據字典中選擇待查欄位界面的截圖IOB示出了根據本發明實施例的待展現欄位插入報表所形成的報表格式界面的截圖IOC示出了根據本發明實施例的將選擇的關聯欄位插入報表所形成的報表格式界面的截圖;以及
圖IOD示出了根據本發明實施例的在報表中根據待查詢欄位展現出查詢結果的截圖。
具體實施方式
為了能夠更清楚地理解本發明的上述目的、特徵和優點,下面結合附圖和具體實施方式
對本發明進行進一步的詳細描述。
在下面的描述中闡述了很多具體細節以便於充分理解本發明,但是,本發明還可以採用其他不同於在此描述的其他方式來實施,因此,本發明並不限於下面公開的具體實施例的限制。
下面首先對根據本發明的數據關聯查詢裝置所述涉及的一些硬體模塊作簡單介紹
數據字典建立單元,如圖2,負責數據字典初始化、訪問與樹形展現。數據字典通常指對資料庫的物理結構或對象(如表、視圖、欄位、主外鍵、欄位數據類型、欄位精度等)進行封裝後生成的一個邏輯層,能夠體現「表、欄位以及表間關聯關係」。數據字典維護了資料庫對象的顯示信息以及表間關聯關係等,使得操作者更容易訪問資料庫的結構信息。比如, 提供一個數據字典建模工具,把資料庫設計文檔(或物理表、欄位)的信息導入,將一張表存為數據字典主表的一行記錄(可同時為該表指定一個分類),其下屬欄位存為子表中對應的多行記錄,在樹形展現時,左側按照分類歸集數據表,右側將選中表及其欄位構造成一棵子樹,對於欄位中的外鍵欄位,通過表名檢索和加載的方式,進一步可展開該外鍵所對應物理表的子樹(通常是檔案表,例如圖2所示的客戶、部門,通過展開後會得到客戶檔案、部門檔案的子樹),如此可以層層展開下去。
數據模型模塊,如圖3所示,負責數據模型的設計、持久化、訪問與結果瀏覽。數據模型可以包含很多內容,從與本發明技術方案相關的角度出發,可以將數據模型做一簡化, 假定其只保存操作者選定的數據表、表間連接關係以及待查詢欄位。
報表生成單元,負責報表格式設計、持久化、訪問與結果展現。報表格式也可以包含很多內容,從與本發明技術方案相關的角度出發,將格式也做一簡化,假定其只保存操作者選定的數據模型ID、報表基本格式以及待展現欄位,將待展現欄位拖進表格中可以得到例如圖4所示的報表。
緩存單元,負責高速緩存初始化、維護與檢索。要求能通過表的主鍵快速找到表的其它常用業務屬性。比如,可以採用前臺文件來存儲對象化的哈希結構(哈希結構以主鍵為鍵、業務屬性為值),也可以採用前臺資料庫來緩存相關表(主鍵列上建索引)。當系統查找某一主鍵對應的屬性時,如通過哈希結構的鍵或主鍵索引欄位可以命中則高速返回結果,如不能命中則發起資料庫查詢,返回結果並更新緩存內容及版本。
緩存取數公式構造單元中的計算子單元,用於計算使用者所選取的關聯欄位的路徑,這只需要利用最基本的樹節點算法,從給定節點層層向上找父節點,一直持續到根節點,並將此路徑上的節點形成數組或字符分隔串(如客戶.客戶基本分類.客戶分類基本名稱)即可。這一路徑將用於構造緩存取數公式(詳見下述緩存取數公式構造單元)。
SQL執行單元,能夠在資料庫執行簡單SQL並返回結果集。用於執行僅僅來自業務單據表自身欄位的查詢(也就是基礎欄位),而不做與維度表(檔案表)關聯欄位的查詢。
緩存取數公式構造單元,所謂緩存取數公式,是指通過PK (主鍵)帶出其它業務屬性的公式,類似於name- > cvs (客戶,客戶名稱,客戶基本信息主鍵,『0001』),可代表在客戶檔案這個緩存裡,由客戶主鍵0001帶出該客戶的名稱;另外可將多個公式用分號分隔寫成一個長公式,前面公式的返回值可用作後面公式的輸入參數。相關的公式執行,可直接結合上述緩存單元(其特點就是根據Hi值可快速返回相關屬性值)獲得結果。
將上述硬體模塊結合圖7對根據本發明的數據關聯查詢裝置進行詳細說明,圖7 示出了根據本發明實施例的數據關聯查詢裝置的框圖。
根據本發明的一個方面,提供了一種數據關聯查詢裝置100,如圖4所示,包括數據獲取單元102,用於獲取事實表的基礎欄位,基於基礎欄位選擇維表上的欄位作為關聯事實表和維表的關聯欄位,其中,基礎欄位和關聯欄位為待查詢欄位,將基礎欄位及其所屬數據表發送至SQL執行單元104 ;SQL執行單元104,基於基礎欄位及其所屬數據表,採用SQL 語句執行查詢操作,得到結果集;緩存取數公式構造單元106,從結果集中獲取與關聯欄位對應的主鍵值,結合關聯欄位所在的數據路徑構造緩存取數公式;緩存執行單元108,根據緩存取數公式獲取關聯欄位的取值,將關聯欄位的取值和結果集進行組合得到最終查詢結果。在該技術方案中,同時支持SQL查詢和緩存公式查詢,避免了大數據量事實表和維度表的關聯查詢給系統帶來的致命壓力,提高了查詢效率。
以上技術方案中,數據關聯查詢裝置100還包括數據字典建立單元108,用於建立數據字典樹,提供給數據獲取單元102,在數據字典樹中選擇待查詢欄位。在該技術方案中,建立數據字典樹使得資料庫中數據的展現更加直觀,方便用戶根據自己的需求選擇所需的展現內容;另外,用戶可以根據自身業務情況,自己建立數據字典樹,自主地設置基礎欄位和關聯欄位,基礎欄位直接通過SQL查詢,關聯欄位則通過緩存取數公式進行查詢,亦即實現了對某種業務屬性採用何種查詢方式可以由用戶自己定製,更加方便和人性化。
使用者在數據字典樹裡,選擇事實表的欄位作為基礎欄位,這些欄位可以是單據自帶的業務屬性,也可以是主外鍵冊。如圖2所示,銷售訂單頭是查詢的單據,單據號是業務屬性,客戶、部門就是冊。選擇結束後完成了待查詢欄位的選擇。
以上技術方案中,數據字典建立單元108還用於為選中的基礎欄位構造子樹,基礎欄位包括主鍵,主鍵對應關聯欄位,在子樹中選擇關聯欄位。在該技術方案中,數據字典樹不僅支持用戶選擇基礎欄位,而且同時支持用戶選擇子樹中的關聯欄位,保證了關聯欄位的可擴展性,豐富了報表的展現內容。繼續以圖2為例,可以為主鍵部門建立子樹。
以上技術方案中,數據關聯查詢裝置100,還包括報表生成單元110,將基礎欄位和關聯欄位插入報表中,作為報表的待展現欄位,在報表中展現與待展現欄位相對應的最終查詢結果。在該技術方案中,對用戶而言只需選擇所需的查詢內容,便可以將所選擇查詢內容的結果直接通過報表展現出來,方便快捷。
以上技術方案中,數據關聯查詢裝置100,還包括緩存單元112,用於根據緩存取數公式中的主鍵值查找到所屬數據表的其他業務屬性;緩存取數公式構造單元106包括計算子單元1062,利用樹節點算法計算出所選取的關聯欄位在數據字典中的路徑,根據路徑上的節點形成數組或字符分隔串,得到具有關聯欄位的主鍵值的緩存取數公式。在該技術方案中,通過建立緩存取數公式,保證了查詢關聯欄位的可重複性,使用戶在查詢關聯欄位的內容時,可以直接根據所構建的緩存取數公式進行查詢,大大地提高了查詢效率,同時降低了硬體設備的負荷。
圖8示出了根據本發明實施例的數據關聯查詢方法的流程圖。
根據本發明的另一個方面,還提供了一種數據關聯查詢方法,如圖8所示,包括 步驟202,獲取事實表的基礎欄位,基於基礎欄位選擇維表上的欄位作為關聯事實表和維表的關聯欄位,其中,基礎欄位和關聯欄位為待查詢欄位;步驟204,基於基礎欄位及其所屬數據表,採用SQL語句執行查詢操作,得到結果集;步驟206,從結果集中獲取與關聯欄位對應的主鍵值,結合關聯欄位所在的數據路徑構造緩存取數公式,根據緩存取數公式獲取關聯欄位的取值,將關聯欄位的取值和結果集進行組合得到最終查詢結果。在該技術方案中, 同時支持SQL查詢和緩存公式查詢,避免了大數據量事實表和維度表的關聯查詢給系統帶來的致命壓力,提高了查詢效率。
以上技術方案中,步驟202還包括建立數據字典樹,在數據字典樹中選擇待查詢欄位。在該技術方案中,建立數據字典樹使得資料庫中數據的展現更加直觀,方便用戶根據自己的需求選擇所需的展現內容;另外,用戶可以根據自身業務情況,自己建立數據字典樹,自主地設置基礎欄位和關聯欄位,基礎欄位直接通過SQL查詢,關聯欄位則通過緩存取數公式進行查詢,亦即實現了對某種業務屬性採用何種查詢方式可以由用戶自己定製,更加方便和人性化。
以上技術方案中,步驟202還包括為選中的基礎欄位構造子樹,基礎欄位包括主鍵,主鍵對應關聯欄位,在子樹中選擇關聯欄位。在該技術方案中,數據字典樹不僅支持用戶選擇基礎欄位,而且同時支持用戶選擇子樹中的關聯欄位,保證了關聯欄位的可擴展性, 豐富了報表的展現內容。
以上技術方案中,數據關聯查詢方法還包括將基礎欄位和關聯欄位插入報表中, 作為報表的待展現欄位,將在報表中展現與待展現欄位相對應的最終查詢結果。在該技術方案中,對用戶而言只需選擇所需的查詢內容,便可以將所選擇查詢內容的結果直接通過報表展現出來,方便快捷。
以上技術方案中,緩存取數公式的形成方法包括利用樹節點算法計算出所選取的關聯欄位在數據字典中的路徑;根據路徑上的節點形成數組或字符分隔串,得到具有關聯欄位的主鍵值的緩存取公式。在該技術方案中,通過建立緩存取數公式,保證了查詢關聯欄位的可重複性,使用戶在查詢關聯欄位的內容時,可以直接根據所構建的緩存取數公式進行查詢,大大地提高了查詢效率,同時降低了硬體設備的負荷。
圖9示出了根據本發明實施例的數據關聯查詢方法的流程圖。
如圖9,步驟402,用戶根據自身業務需要,建立初始的數據字典樹。
步驟404,將數據字典樹的結構展現開發給用戶,用戶可以在數據字典樹裡,選擇事實表的欄位作為基礎欄位,這些欄位可以是單據自帶的業務屬性,也可以是主外鍵。以圖 2為例,銷售訂單頭是查詢的單據,單據號是業務屬性,客戶、部門就是主鍵。
步驟406,當用戶基礎欄位的選擇時,把相關的數據模型持久化到資料庫裡。
步驟408,在用戶在混合樹(如圖5所示)裡選擇基礎欄位作為報表的待展現欄位後,可以將選擇的待展現欄位(即待查詢欄位)拖入報表某區域,完成報表格式設計(如圖 4所示)。其中,數據字典的混合樹由基礎欄位和所查單據的主鍵構成,其中主外鍵欄位可向下展開。根據數據字典樹形展現的特點,可保證其中主外鍵類型的基礎欄位是可展開的。
步驟410,當用戶完成上述報表格式設計時,把相關的格式模型持久化到資料庫裡。
步驟412,用戶在主鍵展開的子樹中選擇關聯欄位,如圖6所示,用戶在「客戶」該主鍵中選擇了 「客戶基本分類名稱」作為關聯事實表和維度表的關聯欄位。由於本發明對於基礎欄位和關聯欄位將採用完全不同的技術手段來取數,因此,關聯欄位被拖入報表後應予以記錄其類型。對於關聯欄位,調用緩存取數公式構造單元中的計算子單元計算出該欄位的路徑,同樣予以記錄。
步驟414,用戶瀏覽報表,觸發查詢的執行動作。
步驟416,基於基本欄位及其所屬數據表,採用SQL語句執行查詢操作,得到結果集,從結果集中獲取與關聯欄位對應的主鍵值,結合關聯欄位所在的數據路徑構造出一個根據主鍵獲取關聯欄位值的緩存取數公式,例如類似於,主鍵值1- > cvs (客戶,客戶基本分類主鍵,客戶基本信息主鍵,客戶主鍵值);name- > cvs (客戶基本分類,客戶基本分類名稱,客戶基本分類主鍵,主鍵值1)。
步驟418,根據緩存取數公式獲取關聯欄位的取值,通過高速緩存獲得相關關聯欄位的取值,從而避免了多表的大數據聯查,提高了查詢的效率。
步驟420,將關聯欄位取值拼入查詢結果集中,送報表進行展現,可以得到如圖 IOD所示的展現結果。
從上述流程中可以知道,根據本發明的技術方案在優化關聯查詢執行效率的前提下,獲得查詢結果用於報表輸出;並且使用者甚至可定製哪些欄位走SQL取數(基本欄位走 SQL取數),哪些欄位走緩存取數(關聯欄位走緩存取數);充分支持了關聯欄位的可擴展性,並確保了數據模型(利用設計的數據字典選擇待查詢欄位的數據模型,可以根據用戶的需要進行設計)的可復用性。
下面結合實踐結果來說明本發明實施例中的數據關聯查詢方法的實際效果
操作者可以在如圖IOA所示的數據字典中選擇基礎欄位,在圖IOA中用戶選擇了單據號、客戶、單據日期和部門。然後將選擇的基礎欄位插入報表中,可以得到如圖IOB所示的報表格式。操作者繼續選擇關聯欄位,如圖IOC所示,用戶在客戶對應的子樹中選擇了客戶基本分類名稱作為關聯欄位,並將該關聯欄位也拖入報表中,得到如圖IOC中所示的報表格式。執行查詢動作,展現待查詢欄位的結果,得到如圖IOD所示的結果集。
以上結合附圖詳細說明了根據本發明的技術方案,根據本發明的技術方案,可以實現同時支持SQL查詢和緩存公式查詢,將兩者結合應用,避免了大數據量事實表和維度表的關聯查詢給系統帶來的致命壓力,提高了查詢效率;對某種業務屬性採用何種查詢方式可以由用戶自己定製,更加方便和人性化,提高了實踐應用中的靈活性;通過建立數據字典保證了關聯欄位的可擴展性和查詢的可復用性。
以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種數據關聯查詢裝置,其特徵在於,包括數據獲取單元,用於獲取事實表的基礎欄位,基於所述基礎欄位選擇維表上的欄位作為關聯所述事實表和所述維表的關聯欄位,其中,所述基礎欄位和所述關聯欄位為待查詢欄位,將所述基礎欄位及其所屬數據表發送至SQL執行單元;SQL執行單元,基於所述基礎欄位及其所屬數據表,採用SQL語句執行查詢操作,得到結果集;緩存取數公式構造單元,從所述結果集中獲取與所述關聯欄位對應的主鍵值,結合所述關聯欄位所在的數據路徑構造緩存取數公式;緩存執行單元,根據所述緩存取數公式獲取所述關聯欄位的取值,將所述關聯欄位的取值和所述結果集進行組合得到最終查詢結果。
2.根據權利要求1所述的數據關聯查詢裝置,其特徵在於,還包括數據字典建立單元,用於建立數據字典樹,提供給所述數據獲取單元,在所述數據字典樹中選擇所述待查詢欄位。
3.根據權利要求2所述的數據關聯查詢裝置,其特徵在於,所述數據字典建立單元還用於為選中的基礎欄位構造子樹,所述基礎欄位包括主鍵,所述主鍵對應所述關聯欄位,在所述子樹中選擇所述關聯欄位。
4.根據權利要求3所述的數據關聯查詢裝置,其特徵在於,還包括報表生成單元,將所述基礎欄位和所述關聯欄位插入報表中,作為報表的待展現欄位, 將在所述報表中展現與所述待展現欄位相對應的所述最終查詢結果。
5.根據權利要求2至4中任一項所述的數據關聯查詢裝置,其特徵在於,還包括緩存單元,用於根據所述緩存取數公式中的主鍵值查找到所屬數據表的其他業務屬性;所述緩存取數公式構造單元包括計算子單元,利用樹節點算法計算出所選取的關聯欄位在所述數據字典中的路徑,根據所述路徑上的節點形成數組或字符分隔串,得到具有所述關聯欄位的主鍵值的所述緩存取公式。
6.一種數據關聯查詢方法,其特徵在於,包括步驟202,獲取事實表的基礎欄位,基於所述基礎欄位選擇維表上的欄位作為關聯所述事實表和所述維表的關聯欄位,其中,所述基礎欄位和所述關聯欄位為待查詢欄位;步驟204,基於所述基礎欄位及其所屬數據表,採用SQL語句執行查詢操作,得到結果集;步驟206,從所述結果集中獲取與所述關聯欄位對應的主鍵值,結合所述關聯欄位所在的數據路徑構造緩存取數公式,根據所述緩存取數公式獲取所述關聯欄位的取值,將所述關聯欄位的取值和所述結果集進行組合得到最終查詢結果。
7.根據權利要求6所述的數據關聯查詢方法,其特徵在於,所述步驟202還包括 建立數據字典樹,在所述數據字典樹中選擇所述待查詢欄位。
8.根據權利要求7所述的數據關聯查詢方法,其特徵在於,所述步驟202還包括 為選中的基礎欄位構造子樹,所述基礎欄位包括主鍵,所述主鍵對應所述關聯欄位,在所述子樹中選擇所述關聯欄位。
9.根據權利要求8所述的數據關聯查詢方法,其特徵在於,將所述基礎欄位和所述關聯欄位插入報表中,作為報表的待展現欄位,將在所述報表中展現與所述待展現欄位相對應的所述最終查詢結果。
10.根據權利要求7至9中任一項所述的數據關聯查詢方法,其特徵在於,所述緩存取數公式的形成方法包括利用樹節點算法計算出所選取的關聯欄位在所述數據字典中的路徑; 根據所述路徑上的節點形成數組或字符分隔串,得到具有所述關聯欄位的主鍵值的所述緩存取公式。
全文摘要
本發明提供了一種數據關聯查詢裝置和數據關聯查詢方法,其中數據關聯查詢裝置包括數據獲取單元,用於獲取事實表的基礎欄位,基於基礎欄位選擇維表上的欄位作為關聯事實表和維表的關聯欄位;SQL執行單元,基於基礎欄位及其所屬數據表,採用SQL語句執行查詢操作,得到結果集;緩存取數公式構造單元,從結果集中獲取與關聯欄位對應的主鍵值,結合關聯欄位所在的數據路徑構造緩存取數公式;緩存執行單元,根據緩存取數公式獲取關聯欄位的取值,將關聯欄位的取值和結果集進行組合得到最終查詢結果。能夠高效關聯事實表和維度表並執行出結果,避免了大數據量事實表和維度表的關聯查詢給系統帶來的致命壓力,提高了效率。
文檔編號G06F17/30GK102521416SQ20111044889
公開日2012年6月27日 申請日期2011年12月28日 優先權日2011年12月28日
發明者劉麗, 朱俊彬 申請人:用友軟體股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀