專利名稱:數據管理裝置和數據管理方法
技術領域:
本發(fā)明涉及計算機技術領域,具體而言,涉及一種數據管理裝置和一種數據管理方法。
背景技術:
目前,在應用數據庫進行對于樹形存儲結構(存在上下級層次關系的存儲結構) 的數據進行存儲和查詢時,通常多采用下級存儲上級id (identity,身份表示號碼)的存儲方法,具體為為每一級分別分配id標識,下級記錄中直接記錄上級的id。例如,圖1為企業(yè)組織結構的一種常見的樹形結構圖,“本部”為最高級組織,分配有id標識“1”;“本部”
下設各級分銷機構和代理公司,分別分配有id標識“2 14......”。下面的表1所示即為
各級組織與其相應上級的對應關系。表1是某“本部”各下級組織節(jié)點存儲結構
idrialr上級組織 idrisl
1wrnnull根節(jié)點
2北方大區(qū)i上級組織id記錄本部的id
3南方大區(qū)1上級組織id記錄本部的id
4西部大區(qū)1上級組織id記錄本部的id
5國際大區(qū)1上級組織id記錄本部的id
6山東一級代理 2上級組織id記錄北方大區(qū)的id~
7北京一級代理 2上級組織id記錄北方大區(qū)的id~
8深圳一級代理 3上級組織id記錄南方大區(qū)的id~
9新疆一級代理 4上級組織id記錄西部大區(qū)的id~
10香港一級代理 5上級組織id記錄國際大區(qū)的id~ tl 濟南二級代理 6 上級組織id記錄山東一級的id~
12青島二級代理 6上級組織id記錄山東一級的id~
13峻山三級代理 12上級組織id記錄青島二級的id~14四方三級代理 12上級組織ID記錄青島二級的ID~在應用如表1所示的數據庫存儲結構時,由于僅存儲上下級一個階次的關系,對于查找某一級的直接上級或直接下級時,是非常有效的。但對于想查詢某一級的所有上級或所有下級時,效率就會非常低下。例如查找某一級的所有下級時,只能通過找到其直接下級,然后再通過下級再找其直接下級,循環(huán)往復,直至再沒有任何一個下級為止。然后,還要組合所有的查詢結果,從而得到所有下級的信息。總結來看,這種方式會造成大量查詢,效率低下,代碼復雜性也會大大增加。后來,又出現了對于此類問題的改進方案,增加一個冗余的路徑字段記錄某一級的所有上級ID,如表2。表2是某“本部”各下級組織節(jié)點增加路徑存儲結構
"id組織上級組織IDPath描述^
~ NULLΓ;
~~2北方大區(qū)iHil
南方大區(qū) m
西部大區(qū) Γ;
~國際大區(qū)i
~~6山東一級代理21 ;2 ;6 ;
~北京一級代理21 ;2 ;7 ;
~8深圳一級代理31 ;3 ;8 ;
~~9新疆一級代理41 ;4 ;9 ;
~ θ香港一級代理51 ;5 ;10 ;
"Tl濟南二級代理61 ;2 ;6 ;11
" 2青島二級代理61 ;2 ;6 ;12
~Τ3峻山三級代理121 ;2 ;6 ;12 ;13
~~14四方三級代理121 ;2 ;6 ;12 ;14 在應用如表2所示的數據庫存儲結構時,解決了想查詢某一級的所有上級的 問題,可以一次查出結果;同理,再增加一個路徑字段記錄某一級的所有下級ID,可以解決想查詢某一級的所有下級的問題。但是只能得到所有的上級或下級,對于查詢任意級次的上級或下級則無能為力,如查詢某個父項下第幾級(級次不固定)的問題,具體如查詢北方大區(qū)(2級單位)下三級代理(4級)且4級以下的不需要查詢,則無能為力了。因此,需要一種新的技術方案,來管理存在上下級關系的數據,保證可以高速地、 一次性地為用戶提供任意級次的數據信息,提高用戶數據查詢的效率。
發(fā)明內容
本發(fā)明所要解決的技術方案在于,提供一種新的技術方案,來管理存在上下級關系的數據,保證可以高速地、一次性地為用戶提供任意級次的數據信息,提高用戶數據查詢的效率。有鑒于此,本發(fā)明提供一種數據管理裝置,包括獲取模塊,從預存儲的樹形結構數據中,取得所有組合的具有上下級關系的兩級數據;記錄模塊,對所述所有組合的兩級數據中的父項數據、父項級次、子項數據和子項級次作為對照關系信息,進行記錄;查詢模塊, 根據已記錄的所述對照關系信息設置查詢條件,以查詢出所需的一個或多個級次的數據。 通過該技術方案,可以在查詢條件中指定級次、指定數據節(jié)點(樹形結構中),可輕易查詢出任何級次、任何節(jié)點之上或之下的數據。在上述技術方案中,優(yōu)選地,還包括存儲模塊,將所述對照關系信息進行存儲; 所述查詢模塊根據已存儲的所述對照關系信息,設置所述查詢條件,并從已存儲的所述對照關系信息中,查詢出所述所需的一個或多個級次的數據。通過該技術方案,將對照關系信息存儲后,能夠保證一次整理好對照關系信息,實現多次查詢。在上述技術方案中,優(yōu)選地,還包括更新模塊,在所述樹形結構樹中的數據被修改或刪除時,從已存儲的所有對照關系信息中,找到被修改或刪除的數據所對應的對照關系信息,并進行修改或刪除。通過該技術方案,即時更新對照關系信息,能夠保證用戶所獲取數據的準確性。在上述技術方案中,優(yōu)選地,還包括校驗模塊,判斷所述對照關系信息是否與所述樹形結構中對應的兩級數據以及上下級關系相匹配,并僅在判斷結果為是時,允許所述存儲模塊存儲所述對照關系信息。通過該技術方案,保證了所存儲的對照關系信息的準確性。在上述技術方案中,優(yōu)選地,所述記錄模塊還在所述對照關系信息中添加預定類型的一種或多種信息。通過該技術方案,支持對對照關系信息進行擴展,以及進一步增加描述內容等信息。本發(fā)明還提供一種數據管理方法,包括步驟302,從預存儲的樹形結構數據中, 取得所有組合的具有上下級關系的兩級數據;步驟304,對所述所有組合的兩級數據中的父項數據、父項級次、子項數據和子項級次作為對照關系信息,進行記錄;步驟306,根據已記錄的所述對照關系信息設置查詢條件,以查詢出所需的一個或多個級次的數據。通過該技術方案,可以在查詢條件中指定級次、指定數據節(jié)點(樹形結構中),可輕易查詢出任何級次、任何節(jié)點之上或之下的數據。在上述技術方案中,優(yōu)選地,在所述步驟306之前,還包括步驟305,將所述對照關系信息進行存儲;所述步驟306具體包括根據已存儲的所述對照關系信息,設置所述查詢條件,并從已存儲的所述對照關系信息中,查詢出所述所需的一個或多個級次的數據。 通過該技術方案,將對照關系信息存儲后,能夠保證一次整理好對照關系信息,實現多次查詢。在上述技術方案中,優(yōu)選地,還包括在所述樹形結構樹中的數據被修改或刪除時,從已存儲的所有對照關系信息中,找到被修改或刪除的數據所對應的對照關系信息,并進行修改或刪除。通過該技術方案,即時更新對照關系信息,能夠保證用戶所獲取數據的準確性。在上述技術方案中,優(yōu)選地,在所述步驟305之前,還包括判斷所述對照關系信息是否與所述樹形結構中對應的兩級數據以及上下級關系相匹配,并僅在判斷結果為是時,進入所述步驟305。通過該技術方案,保證了所存儲的對照關系信息的準確性。在上述技術方案中,優(yōu)選地,所述步驟304還包括在所述對照關系信息中添加預定類型的一種或多種信息。通過該技術方案,支持對對照關系信息進行擴展,以及進一步增加描述內容等信息。通過以上技術方案,可以實現一種數據管理裝置和一種數據管理方法,來管理存在上下級關系的數據,保證可以高速地、一次性地為用戶提供任意級次的數據信息,提高用戶數據查詢的效率。
圖1是樹形存儲結構的數據示意圖;圖2是根據本發(fā)明的一個實施例的數據管理裝置的框圖;圖3是根據本發(fā)明的一個實施例的數據管理方法的流程圖;圖4是根據本發(fā)明的一個實施例的數據管理裝置的框圖。
具體實施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結合附圖和具體實施方式
對本發(fā)明進行進一步的詳細描述。在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明并不限于下面公開的具體實施例的限制。圖2是根據本發(fā)明的一個實施例的數據管理裝置的框圖。如圖2所示,本發(fā)明提供一種數據管理裝置200,包括獲取模塊202,從預存儲的樹形結構數據中,取得所有組合的具有上下級關系的兩級數據;記錄模塊204,對所述所有組合的兩級數據中的父項數據、父項級次、子項數據和子項級次作為對照關系信息,進行記錄;查詢模塊206,根據已記錄的所述對照關系信息設置查詢條件,以查詢出所需的一個或多個級次的數據。通過該技術方案,可以在查詢條件中指定級次、指定數據節(jié)點(樹形結構中),可輕易查詢出任何級次、任何節(jié)點之上或之下的數據。在上述技術方案中,還包括存儲模塊208,將所述對照關系信息進行存儲;所述查詢模塊206根據已存儲的所述對照關系信息,設置所述查詢條件,并從已存儲的所述對照關系信息中,查詢出所述所需的一個或多個級次的數據。通過該技術方案,將對照關系信息存儲后,能夠保證一次整理好對照關系信息,實現多次查詢。在上述技術方案中,還包括更新模塊210,在所述樹形結構樹中的數據被修改或刪除時,從已存儲的所有對照關系信息中,找到被修改或刪除的數據所對應的對照關系信息,并進行修改或刪除。通過該技術方案,即時更新對照關系信息,能夠保證用戶所獲取數據的準確性。在上述技術方案中,還包括校驗模塊212,判斷所述對照關系信息是否與所述樹形結構中對應的兩級數據以及上下級關系相匹配,并僅在判斷結果為是時,允許所述存儲模塊208存儲所述對照關系信息。通過該技術方案,保證了所存儲的對照關系信息的準確性。在上述技術方案中,所述記錄模塊204還在所述對照關系信息中添加預定類型的一種或多種信息。通過該技術方案,支持對對照關系信息進行擴展,以及進一步增加描述內
各等信息 。圖3是根據本發(fā)明的一個實施例的數據管理方法的流程圖。如圖3所示,本發(fā)明還提供一種數據管理方法,包括步驟302,從預存儲的樹形結構數據中,取得所有組合的具有上下級關系的兩級數據;步驟304,對所述所有組合的兩級數據中的父項數據、父項級次、子項數據和子項級次作為對照關系信息,進行記錄;步驟 306,根據已記錄的所述對照關系信息設置查詢條件,以查詢出所需的一個或多個級次的數據。通過該技術方案,可以在查詢條件中指定級次、指定數據節(jié)點(樹形結構中),可輕易查詢出任何級次、任何節(jié)點之上或之下的數據。在上述技術方案中,在所述步驟306之前,還包括步驟305,將所述對照關系信息進行存儲;所述步驟306具體包括根據已存儲的所述對照關系信息,設置所述查詢條件, 并從已存儲的所述對照關系信息中,查詢出所述所需的一個或多個級次的數據。通過該技術方案,將對照關系信息存儲后,能夠保證一次整理好對照關系信息,實現多次查詢。在上述技術方案中,還包括在所述樹形結構樹中的數據被修改或刪除時,從已存儲的所有對照關系信息中,找到被修改或刪除的數據所對應的對照關系信息,并進行修改或刪除。通過該技術方案,即時更新對照關系信息,能夠保證用戶所獲取數據的準確性。在上述技術方案中,在所述步驟305之前,還包括判斷所述對照關系信息是否與所述樹形結構中對應的兩級數據以及上下級關系相匹配,并僅在判斷結果為是時,進入所述步驟305。通過該技術方案,保證了所存儲的對照關系信息的準確性。在上述技術方案中,所述步驟304還包括在所述對照關系信息中添加預定類型的一種或多種信息。通過該技術方案,支持對對照關系信息進行擴展,以及進一步增加描述內容等信息。通過以下的實施例,詳細說明本發(fā)明的技術方案。本實施例中提供一種基于樹形結構的全階的數據管理方法,能夠簡化對于采用樹形結構存儲的數據的查詢過程,并滿足對于上下級全階的、任意級次的查詢要求。本實施例中的數據管理方法通過增加父項、子項對照表,記錄父項、子項的關系, 以及父項、子項的級次。通過父項、子項的關系,以及父項、子項對應的級次,可以查詢任意級次的上級或下級。對圖1所示的樹形結構數據,處理得到表3。
表3是某“本部”父項、子項對照表存儲結構
權利要求
1.一種數據管理裝置,其特征在于,包括獲取模塊,從預存儲的樹形結構數據中,取得所有組合的具有上下級關系的兩級數據;記錄模塊,對所述所有組合的兩級數據中的父項數據、父項級次、子項數據和子項級次作為對照關系信息,進行記錄;查詢模塊,根據已記錄的所述對照關系信息設置查詢條件,以查詢出所需的一個或多個級次的數據。
2.根據權利要求1所述的數據管理裝置,其特征在于,還包括 存儲模塊,將所述對照關系信息進行存儲;所述查詢模塊根據已存儲的所述對照關系信息,設置所述查詢條件,并從已存儲的所述對照關系信息中,查詢出所述所需的一個或多個級次的數據。
3.根據權利要求2所述的數據管理裝置,其特征在于,還包括更新模塊,在所述樹形結構樹中的數據被修改或刪除時,從已存儲的所有對照關系信息中,找到被修改或刪除的數據所對應的對照關系信息,并進行修改或刪除。
4.根據權利要求2所述的數據管理裝置,其特征在于,還包括校驗模塊,判斷所述對照關系信息是否與所述樹形結構中對應的兩級數據以及上下級關系相匹配,并僅在判斷結果為是時,允許所述存儲模塊存儲所述對照關系信息。
5.根據權利要求1至4中任一項所述的數據管理裝置,其特征在于,所述記錄模塊還在所述對照關系信息中添加預定類型的一種或多種信息。
6.一種數據管理方法,其特征在于,包括步驟302,從預存儲的樹形結構數據中,取得所有組合的具有上下級關系的兩級數據; 步驟304,對所述所有組合的兩級數據中的父項數據、父項級次、子項數據和子項級次作為對照關系信息,進行記錄;步驟306,根據已記錄的所述對照關系信息設置查詢條件,以查詢出所需的一個或多個級次的數據。
7.根據權利要求6所述的數據管理方法,其特征在于,在所述步驟306之前,還包括 步驟305,將所述對照關系信息進行存儲;所述步驟306具體包括根據已存儲的所述對照關系信息,設置所述查詢條件,并從已存儲的所述對照關系信息中,查詢出所述所需的一個或多個級次的數據。
8.根據權利要求7所述的數據管理方法,其特征在于,還包括在所述樹形結構樹中的數據被修改或刪除時,從已存儲的所有對照關系信息中,找到被修改或刪除的數據所對應的對照關系信息,并進行修改或刪除。
9.根據權利要求7所述的數據管理方法,其特征在于,在所述步驟305之前,還包括 判斷所述對照關系信息是否與所述樹形結構中對應的兩級數據以及上下級關系相匹配,并僅在判斷結果為是時,進入所述步驟305。
10.根據權利要求6至9中任一項所述的數據管理方法,其特征在于,所述步驟304還包括在所述對照關系信息中添加預定類型的一種或多種信息。
全文摘要
本發(fā)明提供一種數據管理裝置和一種數據管理方法,其中,數據管理裝置包括獲取模塊,從預存儲的樹形結構數據中,取得所有組合的具有上下級關系的兩級數據;記錄模塊,對所述所有組合的兩級數據中的父項數據、父項級次、子項數據和子項級次作為對照關系信息,進行記錄;查詢模塊,根據已記錄的所述對照關系信息設置查詢條件,以查詢出所需的一個或多個級次的數據。通過本發(fā)明,可以在查詢條件中指定級次、指定數據節(jié)點(樹形結構中),可輕易查詢出任何級次、任何節(jié)點之上或之下的數據。
文檔編號G06F17/30GK102360359SQ20111029557
公開日2012年2月22日 申請日期2011年9月29日 優(yōu)先權日2011年9月29日
發(fā)明者申波 申請人:用友軟件股份有限公司