專利名稱:樹型數(shù)據(jù)處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及樹型數(shù)據(jù)管理技術(shù)領(lǐng)域,尤其涉及一種采用集合嵌套的方式進(jìn)行的樹型數(shù)據(jù)處理方法及裝置。
背景技術(shù):
樹型數(shù)據(jù)是指每項(xiàng)數(shù)據(jù)只有一個(gè)父節(jié)點(diǎn)和零個(gè)或多個(gè)子節(jié)點(diǎn)(根節(jié)點(diǎn)除外)的數(shù)據(jù)集合?,F(xiàn)有的樹型數(shù)據(jù)大都通過關(guān)系數(shù)據(jù)庫進(jìn)行管理。但是,由于關(guān)系數(shù)據(jù)庫中的表沒有樹型關(guān)系,只能呈現(xiàn)簡(jiǎn)單的平面化數(shù)據(jù),而樹型數(shù)據(jù)具有父-子關(guān)系,因此,關(guān)系數(shù)據(jù)庫中的表不能很好的表示出樹型數(shù)據(jù)的樹型特性。
目前,對(duì)樹型數(shù)據(jù)的管理有鄰接表表示結(jié)構(gòu)和層次碼表示結(jié)構(gòu)兩種,其中如圖I所示,在鄰接表表示結(jié)構(gòu)中,數(shù)據(jù)中的每項(xiàng)包含了指向其父節(jié)點(diǎn)的指針。鄰接表表示法的優(yōu)勢(shì)在于其對(duì)數(shù)據(jù)的管理簡(jiǎn)單,可以很容易的查詢出樹型數(shù)據(jù)的直接子節(jié)點(diǎn)。但要查詢數(shù)據(jù)的單一路徑時(shí),則需要知道該數(shù)據(jù)所在的層次,另外,如果層次過深時(shí)自連接太多,則會(huì)嚴(yán)重影響性能;且刪除數(shù)據(jù)時(shí)也要特別小心,很容易造成孤立一棵子樹的局面。如圖2所示,其為層次碼表結(jié)構(gòu)的示意圖,層次碼也叫組別分類碼或群碼,是指將整個(gè)代碼按位分成若干段,按從左到右的次序各段子碼依次表示編碼對(duì)象的大、中、小等類另O,由此組成一個(gè)有層次及隸屬關(guān)系的代碼,這種代碼稱為層次碼。在用層次碼表示結(jié)構(gòu)管理屬性數(shù)據(jù)時(shí),數(shù)據(jù)節(jié)點(diǎn)的父子關(guān)系、度(所在層次)等由層次碼的結(jié)構(gòu)決定。其優(yōu)點(diǎn)是遍歷整棵樹很容易,但擴(kuò)展性極差。因?yàn)闃湫蛿?shù)據(jù)的最大長(zhǎng)度在設(shè)計(jì)時(shí)就已固定,其取決于層次碼儲(chǔ)存的最大長(zhǎng)度。比如,當(dāng)層次碼的最大長(zhǎng)度為256時(shí),如果每層用4位表示,則最多只能表示64層。因此,現(xiàn)有技術(shù)對(duì)樹型數(shù)據(jù)的管理由于受到樹型數(shù)據(jù)層次的限制而無法實(shí)現(xiàn)對(duì)樹型數(shù)據(jù)的高效管理,更無法實(shí)現(xiàn)海量樹型數(shù)據(jù)的高效管理。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種樹型數(shù)據(jù)處理方法及裝置,旨在實(shí)現(xiàn)對(duì)樹型數(shù)據(jù)
的高效管理。本發(fā)明提出一種樹型數(shù)據(jù)處理方法,包括以下步驟獲取樹型數(shù)據(jù)的父節(jié)點(diǎn)和子節(jié)點(diǎn);根據(jù)所述樹型數(shù)據(jù)中父節(jié)點(diǎn)與子節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,以集合方式展示所述樹型數(shù)據(jù);并從最外層集合的邊界的一側(cè)開始,依次對(duì)各集合的邊界點(diǎn)編號(hào),每個(gè)集合的邊界兩側(cè)的編號(hào)用于限定該集合的范圍。優(yōu)選地,所述根據(jù)樹型數(shù)據(jù)中父節(jié)點(diǎn)與子節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,以集合方式展示所述樹型數(shù)據(jù)的步驟包括
以位于最外層的父集合展示所述父節(jié)點(diǎn);根據(jù)所述子節(jié)點(diǎn)與所述父節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,將所述子節(jié)點(diǎn)以相應(yīng)的子集合嵌套于所述父集合中。優(yōu)選地,該方法還包括對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢、節(jié)點(diǎn)新增和/或節(jié)點(diǎn)刪除處理。優(yōu)選地,所述對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢處理包括對(duì)整個(gè)樹型數(shù)據(jù)結(jié)構(gòu)、所有葉子節(jié)點(diǎn)、單一路徑、節(jié)點(diǎn)深度和/或任意節(jié)點(diǎn)的直接子節(jié)點(diǎn)的查詢;所述葉子節(jié)點(diǎn)為最小集合展示的子節(jié)點(diǎn)。優(yōu)選地,所述對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)添加處理包括
在非葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)時(shí),查找當(dāng)前非葉子節(jié)點(diǎn);將所述當(dāng)前非葉子節(jié)點(diǎn)所在 的子集合的右邊界點(diǎn)的編號(hào)加2,在當(dāng)前非葉子節(jié)點(diǎn)所在的子集合中插入新增節(jié)點(diǎn)的子集合;依次更新所述當(dāng)前非葉子節(jié)點(diǎn)右側(cè)各子集合的左、右邊界點(diǎn)的編號(hào);在葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)時(shí),查找當(dāng)前葉子節(jié)點(diǎn);將所述當(dāng)前葉子節(jié)點(diǎn)所在的子集合的右邊界點(diǎn)的編號(hào)加2,在當(dāng)前葉子節(jié)點(diǎn)所在的子集合內(nèi)插入新增節(jié)點(diǎn)的子集合;依次更新所述當(dāng)前葉子節(jié)點(diǎn)右側(cè)各子集合的左、右邊界點(diǎn)的編號(hào)。優(yōu)選地,所述對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)刪除處理包括查找待刪除的當(dāng)前子節(jié)點(diǎn);刪除當(dāng)前子節(jié)點(diǎn),并將該當(dāng)前子節(jié)點(diǎn)右邊所有節(jié)點(diǎn)所在子集合的左、右邊界點(diǎn)的編號(hào)及父集合右邊界點(diǎn)的編號(hào)均減去該當(dāng)前子節(jié)點(diǎn)的寬度值。本發(fā)明還提出一種樹型數(shù)據(jù)處理裝置,包括獲取模塊,用于獲取樹型數(shù)據(jù)的父節(jié)點(diǎn)和子節(jié)點(diǎn);展示模塊,用戶根據(jù)所述樹型數(shù)據(jù)中父節(jié)點(diǎn)與子節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,以集合方式展示所述樹型數(shù)據(jù);并從最外層集合的邊界的一側(cè)開始,依次對(duì)各集合的邊界點(diǎn)編號(hào),每個(gè)集合的邊界兩側(cè)的編號(hào)用于限定該集合的范圍。優(yōu)選地,所述展示模塊包括父節(jié)點(diǎn)展示單元,用于以位于最外層的父集合展示所述父節(jié)點(diǎn);子節(jié)點(diǎn)展示單元,用于根據(jù)所述子節(jié)點(diǎn)與所述父節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,將所述子節(jié)點(diǎn)以相應(yīng)的子集合嵌套于所述父集合中;編號(hào)單元,用于從父集合的邊界的一側(cè)開始,依次對(duì)各集合的邊界點(diǎn)編號(hào),每個(gè)集合的邊界兩側(cè)的編號(hào)用于限定該集合的范圍。優(yōu)選地,該裝置還包括節(jié)點(diǎn)處理模塊,用于對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢、節(jié)點(diǎn)新增和/或節(jié)點(diǎn)刪除處理。優(yōu)選地,所述節(jié)點(diǎn)處理模還用于對(duì)整個(gè)樹型數(shù)據(jù)結(jié)構(gòu)、所有葉子節(jié)點(diǎn)、單一路徑、節(jié)點(diǎn)深度和/或任意節(jié)點(diǎn)的直接子節(jié)點(diǎn)的查詢;在非葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)時(shí),查找當(dāng)前非葉子節(jié)點(diǎn),將當(dāng)前非葉子節(jié)點(diǎn)所在的子集合的右邊界點(diǎn)的編號(hào)加2,在當(dāng)前非葉子節(jié)點(diǎn)所在的子集合中插入新增節(jié)點(diǎn)的子集合;依次更新所述當(dāng)前非葉子節(jié)點(diǎn)右側(cè)各子集合的左、右邊界點(diǎn)的編號(hào);在葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)時(shí),查找當(dāng)前葉子節(jié)點(diǎn),將所述當(dāng)前葉子節(jié)點(diǎn)所在的子集合的右邊界點(diǎn)的編號(hào)加2,在當(dāng)前葉子節(jié)點(diǎn)所在的子集合內(nèi)插入新增節(jié)點(diǎn)的子集合;依次更新所述當(dāng)前葉子節(jié)點(diǎn)右側(cè)各子集合的左、右邊界點(diǎn)的編號(hào);以及查找待刪除的當(dāng)前子節(jié)點(diǎn),刪除當(dāng)前子節(jié)點(diǎn),并將該當(dāng)前子節(jié)點(diǎn)右邊所有節(jié)點(diǎn)所在子集合的左、右邊界點(diǎn)的編號(hào)及父集合右邊界點(diǎn)的編號(hào)均減去該當(dāng)前子節(jié)點(diǎn)的寬度值。本發(fā)明提出的一種樹型數(shù)據(jù)處理方法及裝置,解決了現(xiàn)有技術(shù)中對(duì)樹型數(shù)據(jù)結(jié)構(gòu)管理的不足,使樹型數(shù)據(jù)的管理更高效,查詢性能更高,同時(shí)消除了樹型數(shù)據(jù)層次的限制,尤其適合海量樹型數(shù)據(jù)管理。如家族譜、基因譜及BOM物料清單等應(yīng)用場(chǎng)景。
圖I是現(xiàn)有技術(shù)中鄰接表表結(jié)構(gòu)示意圖;圖2是現(xiàn)有技術(shù)中層次碼表結(jié)構(gòu)示意圖;圖3是本發(fā)明樹型數(shù)據(jù)處理方法一實(shí)施例流程示意圖;
圖4是本發(fā)明樹型數(shù)據(jù)處理方法一實(shí)施例中一個(gè)實(shí)例的樹型數(shù)據(jù)的樹狀結(jié)構(gòu)示意圖;圖5是圖4所示的實(shí)例的樹型數(shù)據(jù)的集合嵌套結(jié)構(gòu)示意圖;圖6是本發(fā)明樹型數(shù)據(jù)處理方法一實(shí)施例中樹型數(shù)據(jù)的表結(jié)構(gòu)示意圖;圖7是本發(fā)明樹型數(shù)據(jù)處理方法一實(shí)施例中根據(jù)樹型數(shù)據(jù)中父節(jié)點(diǎn)與子節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,以集合方式展示樹型數(shù)據(jù)的流程示意圖;圖8是本發(fā)明樹型數(shù)據(jù)處理方法另一實(shí)施例流程示意圖;圖9是本發(fā)明樹型數(shù)據(jù)處理裝置一實(shí)施例結(jié)構(gòu)示意圖;圖10是本發(fā)明樹型數(shù)據(jù)處理裝置一實(shí)施例中展示模塊的結(jié)構(gòu)示意圖;圖11是本發(fā)明樹型數(shù)據(jù)處理裝置另一實(shí)施例結(jié)構(gòu)示意圖。為了使本發(fā)明的技術(shù)方案更加清楚、明了,下面將結(jié)合附圖作進(jìn)一步詳述。
具體實(shí)施例方式本發(fā)明實(shí)施例將整個(gè)樹型數(shù)據(jù)作為集合體,樹型數(shù)據(jù)中的父節(jié)點(diǎn)作為父集合,子節(jié)點(diǎn)作為父集合內(nèi)的子集合,子節(jié)點(diǎn)下的子節(jié)點(diǎn)作為子集合內(nèi)的更小的子集合,從而消除了樹型數(shù)據(jù)層次的限制,提高對(duì)樹型數(shù)據(jù)管理的高效性。如圖3所示,本發(fā)明一實(shí)施例提出一種樹型數(shù)據(jù)處理方法,包括步驟S101,獲取樹型數(shù)據(jù)的父節(jié)點(diǎn)和子節(jié)點(diǎn);如上所述,樹型數(shù)據(jù)具有父和子的關(guān)系,其包括父節(jié)點(diǎn)和若干子節(jié)點(diǎn),其中,子節(jié)點(diǎn)包括直屬父節(jié)點(diǎn)的子節(jié)點(diǎn)以及隸屬父節(jié)點(diǎn)的子節(jié)點(diǎn)下的子節(jié)點(diǎn),以此類推。如圖4所示,樹型數(shù)據(jù)包括父節(jié)點(diǎn)、子節(jié)點(diǎn)I、子節(jié)點(diǎn)2、子節(jié)點(diǎn)3、子節(jié)點(diǎn)4、子節(jié)點(diǎn)11及子節(jié)點(diǎn)12。其中,子節(jié)點(diǎn)I、子節(jié)點(diǎn)2、子節(jié)點(diǎn)3、子節(jié)點(diǎn)4為父節(jié)點(diǎn)的直屬子節(jié)點(diǎn),子節(jié)點(diǎn)21及子節(jié)點(diǎn)22為子節(jié)點(diǎn)2的直屬子節(jié)點(diǎn)。步驟S102,根據(jù)樹型數(shù)據(jù)中父節(jié)點(diǎn)與子節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,以集合方式展示樹型數(shù)據(jù);并從最外層集合的邊界的一側(cè)開始,依次對(duì)各集合的邊界點(diǎn)編號(hào),每個(gè)集合的邊界兩側(cè)的編號(hào)用于限定該集合范圍;本實(shí)施例不以現(xiàn)有技術(shù)中的點(diǎn)和線的樹狀結(jié)構(gòu)的思路來表示樹型數(shù)據(jù)的結(jié)構(gòu),而是以集合嵌套的方式來體現(xiàn)樹型數(shù)據(jù)內(nèi)的隸屬關(guān)系,樹型結(jié)構(gòu)中的父節(jié)點(diǎn)作為父集合,子節(jié)點(diǎn)作為父集合內(nèi)的子集合。如圖5所示,通過集合嵌套方式體現(xiàn)的樹型數(shù)據(jù)中,“父節(jié)點(diǎn)”為父集合,“子節(jié)點(diǎn)1”、“子節(jié)點(diǎn)2”、“子節(jié)點(diǎn)3”、“子節(jié)點(diǎn)4”為父集合的直屬子集合,作為子集合的“子節(jié)點(diǎn)2”還包括有兩個(gè)并列的子集合“子節(jié)點(diǎn)21”和“子節(jié)點(diǎn)22”。以此類推,整個(gè)樹型數(shù)據(jù)則成為一個(gè)嵌套的集合體。通過集合的方式,可以清晰的展示樹型數(shù)據(jù)之間的隸屬關(guān)系,而且可實(shí)現(xiàn)樹型數(shù)據(jù)以集合的圖示方式進(jìn)行外部展示,可以提高樹型數(shù)據(jù)的圖形展示效果,使用戶更直觀的了解樹型數(shù)據(jù)的內(nèi)部隸屬關(guān)系。同時(shí),本實(shí)施例還將樹型數(shù)據(jù)內(nèi)部的隸屬關(guān)系轉(zhuǎn)化為集合的邊界關(guān)系,可以通過對(duì)樹型數(shù)據(jù)的每一個(gè)集合的左右邊界點(diǎn)進(jìn)行編號(hào),以此通過每一個(gè)集合的左邊界點(diǎn)的編號(hào)(左值)和右邊界點(diǎn)的編號(hào)(右值)來標(biāo)識(shí)各個(gè)集合并限定各個(gè)集合的范圍。上述編號(hào)的順序可以從父集合的左側(cè)向右側(cè)編號(hào),也可以是從父集合的右側(cè)向左側(cè)編號(hào),本實(shí)施例的編 號(hào)順序?yàn)閺母讣系淖髠?cè)開始,從左往右依次對(duì)各集合的邊界點(diǎn)順序編號(hào),如圖5所示。通過對(duì)集合的編號(hào),可以更好的實(shí)現(xiàn)對(duì)樹型數(shù)據(jù)的高效管理,比如對(duì)樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢、新增及刪除等操作。如圖6所示,為本實(shí)施例以集合嵌套的方式表示的樹型數(shù)據(jù)的表結(jié)構(gòu)示意圖。如圖7所示,上述步驟S102中根據(jù)樹型數(shù)據(jù)中父節(jié)點(diǎn)與子節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,以集合方式展示樹型數(shù)據(jù)的步驟包括步驟S1021,以位于最外層的父集合展示父節(jié)點(diǎn);步驟S1022,根據(jù)子節(jié)點(diǎn)與父節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,將子節(jié)點(diǎn)以相應(yīng)的子集合嵌套于父集合中。本實(shí)施例解決了現(xiàn)有技術(shù)中對(duì)樹型數(shù)據(jù)結(jié)構(gòu)管理的不足,消除了樹型數(shù)據(jù)層次的限制,使樹型數(shù)據(jù)的管理更高效,展示更直觀,尤其適合海量樹型數(shù)據(jù)管理。如家族譜、基因譜及BOM物料清單等應(yīng)用場(chǎng)景。如圖8所示,本發(fā)明另一實(shí)施例提出一種樹型數(shù)據(jù)處理方法,在上述實(shí)施例的基礎(chǔ)上,在上述步驟S102之后還包括步驟S103,對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢、節(jié)點(diǎn)新增和/或節(jié)點(diǎn)刪除處理。其中,對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢處理的實(shí)施方式如下本實(shí)施例可以實(shí)現(xiàn)對(duì)樹型數(shù)據(jù)的整棵樹進(jìn)行查詢,還可以實(shí)現(xiàn)對(duì)所有葉子節(jié)點(diǎn)、單一路徑、節(jié)點(diǎn)深度以及任意節(jié)點(diǎn)的直接子節(jié)點(diǎn)進(jìn)行查詢。上述葉子節(jié)點(diǎn)為最小集合展示的子節(jié)點(diǎn)。對(duì)于樹型數(shù)據(jù)的整棵樹的查詢,可以通過自連接把父節(jié)點(diǎn)連接到子節(jié)點(diǎn)上來查詢整棵樹,因?yàn)樽庸?jié)點(diǎn)的左值總是在其父節(jié)點(diǎn)的左值和右值之間。上述對(duì)整棵樹的查詢方法對(duì)于層次較深的樹型數(shù)據(jù)都可以得到很好的適用,而不像鄰接表結(jié)構(gòu)表示法無法實(shí)現(xiàn)對(duì)深層次數(shù)據(jù)的查詢。對(duì)于所有葉子節(jié)點(diǎn)的查詢,使用本實(shí)施例嵌套集合的方法比鄰接表結(jié)構(gòu)的查詢方法簡(jiǎn)單很多。因?yàn)橥ㄟ^集合嵌套方式展示的葉子節(jié)點(diǎn)的左、右值是連續(xù)的,若需要查詢出葉子節(jié)點(diǎn)的位置,只要查找滿足rit = lft+Ι的節(jié)點(diǎn)上述式中rit指右邊界點(diǎn)的編號(hào)值,Ift指左邊界點(diǎn)的編號(hào)值。
對(duì)于節(jié)點(diǎn)單一路徑的查詢,在本實(shí)施例新的樹型數(shù)據(jù)結(jié)構(gòu)中,可以不用多個(gè)自連接即可以查詢出相應(yīng)節(jié)點(diǎn)的單一路徑。為了更好的標(biāo)識(shí)出節(jié)點(diǎn)在樹中所處的層次,可以對(duì)節(jié)點(diǎn)深度進(jìn)行查詢,為了獲取節(jié)點(diǎn)的深度時(shí),可以在先前整棵樹的查詢語句上增加COUNT函數(shù)和GROUP BY子句來實(shí)現(xiàn)。對(duì)于節(jié)點(diǎn)的直接子節(jié)點(diǎn)的查詢,可以在上述查詢語句上添加HAVING子句來實(shí)現(xiàn)。本實(shí)施例對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)新增處理的實(shí)施方式如下若需要在樹型數(shù)據(jù)的結(jié)構(gòu)中新增節(jié)點(diǎn),對(duì)于非葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)的情形,首先需要查找當(dāng)前非葉子節(jié)點(diǎn),將當(dāng)前非葉子節(jié)點(diǎn)所在的子集合的右值加2,然后在當(dāng)前非葉子節(jié)點(diǎn)所在的子集合中插入新增節(jié)點(diǎn)的子集合,并依次更新當(dāng)前非葉子節(jié)點(diǎn)右側(cè)各子集合的左、右邊界點(diǎn)的編號(hào),即左、右值。
以圖5所示的樹型數(shù)據(jù)為例,假設(shè)新增節(jié)點(diǎn)的當(dāng)前節(jié)點(diǎn)是“子節(jié)點(diǎn)2”,它的左值、右值分別是4,9,新節(jié)點(diǎn)是“子節(jié)點(diǎn)5”,則“子節(jié)點(diǎn)2”的右值變?yōu)?+2 = 11,新插入的子集合“子節(jié)點(diǎn)5”的左、右值分別為9、10 ;同時(shí)依次將子集合“子節(jié)點(diǎn)2”右邊的各個(gè)集合的左、右值進(jìn)行順序更新,即將“子節(jié)點(diǎn)3”、“子節(jié)點(diǎn)4”的左、右值及“父節(jié)點(diǎn)”的右值分別加2,依次更新為 12,13 ;14、15 ;16。對(duì)于葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)的情形,首先需要查找當(dāng)前葉子節(jié)點(diǎn),將當(dāng)前葉子節(jié)點(diǎn)所在的子集合的右邊界點(diǎn)的編號(hào)加2,在當(dāng)前葉子節(jié)點(diǎn)所在的子集合內(nèi)插入新增節(jié)點(diǎn)的子集合;并依次更新當(dāng)前葉子節(jié)點(diǎn)右側(cè)各集合的左、右邊界點(diǎn)的編號(hào),即左、右值。以圖5所示的樹型數(shù)據(jù)為例,假設(shè)需要在“子節(jié)點(diǎn)21”下增加新節(jié)點(diǎn)“子節(jié)點(diǎn)5”,“子節(jié)點(diǎn)21”的左、右值分別為5、6,則將“子節(jié)點(diǎn)21”的右值加2,變?yōu)?,然后,將新增的“子節(jié)點(diǎn)5”所在的子集合插入“子節(jié)點(diǎn)21”所在的子集合內(nèi),新插入的子集合“子節(jié)點(diǎn)5”的左、右值分別為6、7 ;同時(shí),依次將“子節(jié)點(diǎn)21”所在的子集合的右側(cè)各集合的左、右值進(jìn)行順序更新,即將“子節(jié)點(diǎn)22”的左右值、“子節(jié)點(diǎn)2”的右值、“子節(jié)點(diǎn)3”、“子節(jié)點(diǎn)4”的左、右值及“父節(jié)點(diǎn)”的右值分別加2,依次更新為9、10 ;11 ;12、13 ;14、15 ;16。本實(shí)施例對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)刪除處理的實(shí)施方式如下當(dāng)需要?jiǎng)h除子節(jié)點(diǎn)時(shí),首先查找待刪除的當(dāng)前子節(jié)點(diǎn);在刪除當(dāng)前子節(jié)點(diǎn)的同時(shí),需要將該當(dāng)前子節(jié)點(diǎn)右邊所有節(jié)點(diǎn)的左、右值和該父節(jié)點(diǎn)的右值都會(huì)減去該刪除的子節(jié)點(diǎn)的寬度值。需要說明的是,上述對(duì)節(jié)點(diǎn)的新增及刪除處理可以結(jié)合實(shí)施,如圖5所示,若需要?jiǎng)h除子節(jié)點(diǎn)2而保留該子節(jié)點(diǎn)2下的子節(jié)點(diǎn)21和子節(jié)點(diǎn)22,則需要將子節(jié)點(diǎn)21和子節(jié)點(diǎn)22新增到父集合中,然后將子節(jié)點(diǎn)2及其子集合進(jìn)行刪除處理。本實(shí)施例解決了現(xiàn)有技術(shù)中對(duì)樹型數(shù)據(jù)結(jié)構(gòu)管理的不足,使樹型數(shù)據(jù)的管理更高效,查詢性能更高,同時(shí)消除了樹型數(shù)據(jù)層次的限制,尤其適合海量樹型數(shù)據(jù)管理。如:家族譜、基因譜及BOM物料清單等應(yīng)用場(chǎng)景。如圖9所示,本發(fā)明一實(shí)施例提出一種樹型數(shù)據(jù)處理裝置,包括獲取模塊901及展示模塊902,其中獲取模塊901,用于獲取樹型數(shù)據(jù)的父節(jié)點(diǎn)和子節(jié)點(diǎn);展示模塊902,用戶根據(jù)樹型數(shù)據(jù)中父節(jié)點(diǎn)與子節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,以集合方式展示樹型數(shù)據(jù);并從最外層集合的邊界的一側(cè)開始,依次對(duì)各集合的邊界點(diǎn)編號(hào),每個(gè)集合的邊界兩側(cè)的編號(hào)用于限定該集合范圍。如上所述,樹型數(shù)據(jù)具有父和子的關(guān)系,其包括父節(jié)點(diǎn)和若干子節(jié)點(diǎn),其中,子節(jié)點(diǎn)包括直屬父節(jié)點(diǎn)的子節(jié)點(diǎn)以及隸屬父節(jié)點(diǎn)的子節(jié)點(diǎn)下的子節(jié)點(diǎn),以此類推。通過獲取模塊901獲取樹型數(shù)據(jù)的父節(jié)點(diǎn)和子節(jié)點(diǎn)。如圖4所示,為以樹狀結(jié)構(gòu)表示的某一樹型數(shù)據(jù),其中,“父節(jié)點(diǎn)”為父節(jié)點(diǎn),“子節(jié)點(diǎn)1”、“子節(jié)點(diǎn)2”、“子節(jié)點(diǎn)3”、“子節(jié)點(diǎn)4”為父節(jié)點(diǎn)的直屬子節(jié)點(diǎn),作為子節(jié)點(diǎn)的“子節(jié)點(diǎn)2”還包括有兩個(gè)子節(jié)點(diǎn)“子節(jié)點(diǎn)21”、“子節(jié)點(diǎn)22”。本實(shí)施例不以現(xiàn)有技術(shù)中的點(diǎn)和線的樹狀結(jié)構(gòu)的思路來表示樹型數(shù)據(jù)的結(jié)構(gòu),而是通過展示模塊902以集合嵌套的方式來體現(xiàn)樹型數(shù)據(jù)內(nèi)的隸屬關(guān)系,樹型數(shù)據(jù)的父節(jié)點(diǎn)為父集合,子節(jié)點(diǎn)為父集合內(nèi)的子集合。如圖5所示,通過集合嵌套方式體現(xiàn)的樹型數(shù)據(jù)中,“父節(jié)點(diǎn)”為父集合,“子節(jié)點(diǎn) 1”、“子節(jié)點(diǎn)2”、“子節(jié)點(diǎn)3”、“子節(jié)點(diǎn)4”為父集合的直屬子集合,作為子集合的“子節(jié)點(diǎn)2”還包括有兩個(gè)并列的子集合“子節(jié)點(diǎn)21”和“子節(jié)點(diǎn)22”。以此類推,整個(gè)樹型數(shù)據(jù)則成為一個(gè)嵌套的集合體。通過集合的方式,可以清晰的展示樹型數(shù)據(jù)之間的層次隸屬關(guān)系。而且通過可實(shí)現(xiàn)樹型數(shù)據(jù)以集合的圖示方式進(jìn)行外部展示,使用戶更直觀的了解樹型數(shù)據(jù)的內(nèi)部隸屬關(guān)系O同時(shí),本實(shí)施例還將樹型數(shù)據(jù)內(nèi)部的隸屬關(guān)系轉(zhuǎn)化為集合的邊界關(guān)系,可以通過對(duì)樹型數(shù)據(jù)的每一個(gè)集合的左右邊界點(diǎn)進(jìn)行編號(hào),以此通過每一個(gè)集合的左邊界點(diǎn)的編號(hào)(左值)和右邊界點(diǎn)的編號(hào)(右值)來標(biāo)識(shí)各個(gè)集合并限定各個(gè)集合的范圍。上述編號(hào)的順序可以從父集合的左側(cè)向右側(cè)編號(hào),也可以是從父集合的右側(cè)向左側(cè)編號(hào),本實(shí)施例的編號(hào)順序?yàn)閺母讣系淖髠?cè)開始,從左往右依次對(duì)各集合的邊界點(diǎn)順序編號(hào),如圖5所示。通過對(duì)集合的編號(hào),可以更好的實(shí)現(xiàn)對(duì)樹型數(shù)據(jù)的高效管理,比如對(duì)樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢、新增及刪除等操作。如圖6所示,為本實(shí)施例以集合嵌套的方式表示的樹型數(shù)據(jù)的表結(jié)構(gòu)示意圖。具體地,如圖10所示,展示模塊902包括父節(jié)點(diǎn)展示單元9021、子節(jié)點(diǎn)展示單元9022及編號(hào)單元9023,其中父節(jié)點(diǎn)展示單元9021,用于以位于最外層的父集合展示所述父節(jié)點(diǎn);子節(jié)點(diǎn)展示單元9022,用于根據(jù)子節(jié)點(diǎn)與所述父節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系將子節(jié)點(diǎn)以相應(yīng)的子集合于父集合中;編號(hào)單元9023,用于從父集合的邊界的一側(cè)開始,依次對(duì)各集合的邊界點(diǎn)編號(hào),每個(gè)集合的邊界兩側(cè)的編號(hào)用于限定該集合的范圍。如圖11所示,本發(fā)明另一實(shí)施例還提出一種樹型數(shù)據(jù)處理裝置,在上述實(shí)施例的基礎(chǔ)上還包括節(jié)點(diǎn)處理模塊903,用于對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢、節(jié)點(diǎn)新增和/或節(jié)點(diǎn)刪除處理。在本實(shí)施例中,節(jié)點(diǎn)處理模塊903對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢處理,可以實(shí)現(xiàn)對(duì)樹型數(shù)據(jù)的整棵樹進(jìn)行查詢,還可以實(shí)現(xiàn)對(duì)所有葉子節(jié)點(diǎn)、單一路徑、節(jié)點(diǎn)深度以及任意節(jié)點(diǎn)的直接子節(jié)點(diǎn)進(jìn)行查詢。上述葉子節(jié)點(diǎn)為最小集合展示的子節(jié)點(diǎn)。
對(duì)于樹型數(shù)據(jù)的整棵樹的查詢,可以通過自連接把父節(jié)點(diǎn)連接到子節(jié)點(diǎn)上來查詢整棵樹,因?yàn)樽庸?jié)點(diǎn)的左值總是在其父節(jié)點(diǎn)的左值和右值之間。上述對(duì)整棵樹的查詢方法對(duì)于層次較深的樹型數(shù)據(jù)都可以得到很好的適用,而不像鄰接表結(jié)構(gòu)表示法無法實(shí)現(xiàn)對(duì)深層次數(shù)據(jù)的查詢。對(duì)于所有葉子節(jié)點(diǎn)的查詢,使用本實(shí)施例嵌套集合的方法比鄰接表結(jié)構(gòu)的查詢方法簡(jiǎn)單很多。因?yàn)橥ㄟ^集合嵌套方式展示的葉子節(jié)點(diǎn)的左、右值是連續(xù)的,若需要查詢出葉子節(jié)點(diǎn)的位置,只要查找滿足rit = lft+Ι的節(jié)點(diǎn)上述式中rit指右邊界點(diǎn)的編號(hào)值,Ift指左邊界點(diǎn)的編號(hào)值。對(duì)于節(jié)點(diǎn)單一路徑的查詢,在本實(shí)施例新的樹型數(shù)據(jù)結(jié)構(gòu)中,可以不用多個(gè)自連接即可以查詢出相應(yīng)節(jié)點(diǎn)的單一路徑。
為了更好的標(biāo)識(shí)出節(jié)點(diǎn)在樹中所處的層次,可以對(duì)節(jié)點(diǎn)深度進(jìn)行查詢,為了獲取節(jié)點(diǎn)的深度時(shí),可以在先前整棵樹的查詢語句上增加COUNT函數(shù)和GROUP BY子句來實(shí)現(xiàn)。對(duì)于節(jié)點(diǎn)的直接子節(jié)點(diǎn)的查詢,可以在上述查詢語句上添加HAVING子句來實(shí)現(xiàn)。此外,根據(jù)需要,節(jié)點(diǎn)處理模塊903還可實(shí)現(xiàn)在樹型數(shù)據(jù)的結(jié)構(gòu)中新增節(jié)點(diǎn),具體處理方式如下對(duì)于非葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)的情形,首先查找當(dāng)前非葉子節(jié)點(diǎn),將當(dāng)前非葉子節(jié)點(diǎn)所在的子集合的右值加2,然后在當(dāng)前非葉子節(jié)點(diǎn)所在的子集合中插入新增節(jié)點(diǎn)的子集合,并依次更新當(dāng)前非葉子節(jié)點(diǎn)右側(cè)各子集合的左、右邊界點(diǎn)的編號(hào),即左、右值。以圖5所示的樹型數(shù)據(jù)為例,假設(shè)新增節(jié)點(diǎn)的當(dāng)前節(jié)點(diǎn)是“子節(jié)點(diǎn)2”,它的左值、右值分別是4,9,新節(jié)點(diǎn)是“子節(jié)點(diǎn)5”,則“子節(jié)點(diǎn)2”的右值變?yōu)?+2 = 11,新插入的子集合“子節(jié)點(diǎn)5”的左、右值分別為9、10 ;同時(shí)依次將子集合“子節(jié)點(diǎn)2”右邊的各個(gè)集合的左、右值進(jìn)行順序更新,即將“子節(jié)點(diǎn)3”、“子節(jié)點(diǎn)4”的左、右值及“父節(jié)點(diǎn)”的右值分別加2,依次更新為 12,13 ;14、15 ;16。對(duì)于葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)的情形,首先查找當(dāng)前葉子節(jié)點(diǎn),將當(dāng)前葉子節(jié)點(diǎn)所在的子集合的右邊界點(diǎn)的編號(hào)加2,在當(dāng)前葉子節(jié)點(diǎn)所在的子集合內(nèi)插入新增節(jié)點(diǎn)的子集合;并依次更新當(dāng)前葉子節(jié)點(diǎn)右側(cè)各集合的左、右邊界點(diǎn)的編號(hào),即左、右值。以圖5所示的樹型數(shù)據(jù)為例,假設(shè)需要在“子節(jié)點(diǎn)21”下增加新節(jié)點(diǎn)“子節(jié)點(diǎn)5”,“子節(jié)點(diǎn)21”的左、右值分別為5、6,則將“子節(jié)點(diǎn)21”的右值加2,變?yōu)?,然后,將新增的“子節(jié)點(diǎn)5”所在的子集合插入“子節(jié)點(diǎn)21”所在的子集合內(nèi),新插入的子集合“子節(jié)點(diǎn)5”的左、右值分別為6、7 ;同時(shí),依次將“子節(jié)點(diǎn)21”所在的子集合的右側(cè)各集合的左、右值進(jìn)行順序更新,即將“子節(jié)點(diǎn)22”的左右值、“子節(jié)點(diǎn)2”的右值、“子節(jié)點(diǎn)3”、“子節(jié)點(diǎn)4”的左、右值及“父節(jié)點(diǎn)”的右值分別加2,依次更新為9、10 ;11 ;12、13 ;14、15 ;16。此外,節(jié)點(diǎn)處理模塊903還可實(shí)現(xiàn)對(duì)子節(jié)點(diǎn)的刪除,當(dāng)需要?jiǎng)h除子節(jié)點(diǎn)時(shí),首先查找待刪除的當(dāng)前子節(jié)點(diǎn),在刪除當(dāng)前子節(jié)點(diǎn)的同時(shí),需要將該當(dāng)前子節(jié)點(diǎn)右邊所有節(jié)點(diǎn)的左、右值和該父節(jié)點(diǎn)的右值都會(huì)減去該刪除的子節(jié)點(diǎn)的寬度值。需要說明的是,上述對(duì)節(jié)點(diǎn)的新增及刪除處理可以結(jié)合實(shí)施,如圖5所示,若需要?jiǎng)h除子節(jié)點(diǎn)2而保留該子節(jié)點(diǎn)2下的子節(jié)點(diǎn)21和子節(jié)點(diǎn)22,則需要將子節(jié)點(diǎn)21和子節(jié)點(diǎn)22新增到父集合中,然后將子節(jié)點(diǎn)2及其子集合進(jìn)行刪除處理。本實(shí)施例樹型數(shù)據(jù)處理方法及裝置解決了現(xiàn)有技術(shù)中對(duì)樹型數(shù)據(jù)結(jié)構(gòu)管理的不足,使樹型數(shù)據(jù)的管理更高效,查詢性能更高,同時(shí)消除了樹型數(shù)據(jù)層次的限制,尤其適合海量樹型數(shù)據(jù)管理。如家族譜、基因譜及BOM物料清單等應(yīng)用場(chǎng)景。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或流程變換,或直接或間接運(yùn)用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種樹型數(shù)據(jù)處理方法,其特征在于,包括以下步驟 獲取樹型數(shù)據(jù)的父節(jié)點(diǎn)和子節(jié)點(diǎn); 根據(jù)所述樹型數(shù)據(jù)中父節(jié)點(diǎn)與子節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,以集合方式展示所述樹型數(shù)據(jù);并從最外層集合的邊界的一側(cè)開始,依次對(duì)各集合的邊界點(diǎn)編號(hào),每個(gè)集合的邊界兩側(cè)的編號(hào)用于限定該集合的范圍。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述根據(jù)樹型數(shù)據(jù)中父節(jié)點(diǎn)與子節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,以集合方式展示所述樹型數(shù)據(jù)的步驟包括 以位于最外層的父集合展示所述父節(jié)點(diǎn); 根據(jù)所述子節(jié)點(diǎn)與所述父節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,將所述子節(jié)點(diǎn)以相應(yīng)的子集合嵌套于所述父集合中。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,還包括對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢、節(jié)點(diǎn)新增和/或節(jié)點(diǎn)刪除處理。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢處理包括 對(duì)整個(gè)樹型數(shù)據(jù)結(jié)構(gòu)、所有葉子節(jié)點(diǎn)、單一路徑、節(jié)點(diǎn)深度和/或任意節(jié)點(diǎn)的直接子節(jié)點(diǎn)的查詢;所述葉子節(jié)點(diǎn)為最小集合展示的子節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)添加處理包括 在非葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)時(shí),查找當(dāng)前非葉子節(jié)點(diǎn);將所述當(dāng)前非葉子節(jié)點(diǎn)所在的子集合的右邊界點(diǎn)的編號(hào)加2,在當(dāng)前非葉子節(jié)點(diǎn)所在的子集合中插入新增節(jié)點(diǎn)的子集合;依次更新所述當(dāng)前非葉子節(jié)點(diǎn)右側(cè)各子集合的左、右邊界點(diǎn)的編號(hào); 在葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)時(shí),查找當(dāng)前葉子節(jié)點(diǎn);將所述當(dāng)前葉子節(jié)點(diǎn)所在的子集合的右邊界點(diǎn)的編號(hào)加2,在當(dāng)前葉子節(jié)點(diǎn)所在的子集合內(nèi)插入新增節(jié)點(diǎn)的子集合;依次更新所述當(dāng)前葉子節(jié)點(diǎn)右側(cè)各子集合的左、右邊界點(diǎn)的編號(hào)。
6.根據(jù)權(quán)利要求3、4或5所述的方法,其特征在于,所述對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)刪除處理包括 查找待刪除的當(dāng)前子節(jié)點(diǎn); 刪除當(dāng)前子節(jié)點(diǎn),并將該當(dāng)前子節(jié)點(diǎn)右邊所有節(jié)點(diǎn)所在子集合的左、右邊界點(diǎn)的編號(hào)及父集合右邊界點(diǎn)的編號(hào)均減去該當(dāng)前子節(jié)點(diǎn)的寬度值。
7.—種樹型數(shù)據(jù)處理裝置,其特征在于,包括 獲取模塊,用于獲取樹型數(shù)據(jù)的父節(jié)點(diǎn)和子節(jié)點(diǎn); 展示模塊,用戶根據(jù)所述樹型數(shù)據(jù)中父節(jié)點(diǎn)與子節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,以集合方式展示所述樹型數(shù)據(jù);并從最外層集合的邊界的一側(cè)開始,依次對(duì)各集合的邊界點(diǎn)編號(hào),每個(gè)集合的邊界兩側(cè)的編號(hào)用于限定該集合的范圍。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述展示模塊包括 父節(jié)點(diǎn)展示單元,用于以位于最外層的父集合展示所述父節(jié)點(diǎn); 子節(jié)點(diǎn)展示單元,用于根據(jù)所述子節(jié)點(diǎn)與所述父節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,將所述子節(jié)點(diǎn)以相應(yīng)的子集合嵌套于所述父集合中; 編號(hào)單元,用于從父集合的邊界的一側(cè)開始,依次對(duì)各集合的邊界點(diǎn)編號(hào),每個(gè)集合的邊界兩側(cè)的編號(hào)用于限定該集合的范圍。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,還包括 節(jié)點(diǎn)處理模塊,用于對(duì)集合內(nèi)的樹型數(shù)據(jù)進(jìn)行節(jié)點(diǎn)查詢、節(jié)點(diǎn)新增和/或節(jié)點(diǎn)刪除處理。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述節(jié)點(diǎn)處理模還用于對(duì)整個(gè)樹型數(shù)據(jù)結(jié)構(gòu)、所有葉子節(jié)點(diǎn)、單一路徑、節(jié)點(diǎn)深度和/或任意節(jié)點(diǎn)的直接子節(jié)點(diǎn)的查詢;在非葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)時(shí),查找當(dāng)前非葉子節(jié)點(diǎn),將當(dāng)前非葉子節(jié)點(diǎn)所在的子集合的右邊界點(diǎn)的編號(hào)加2,在當(dāng)前非葉子節(jié)點(diǎn)所在的子集合中插入新增節(jié)點(diǎn)的子集合;依次更新所述當(dāng)前非葉子節(jié)點(diǎn)右側(cè)各子集合的左、右邊界點(diǎn)的編號(hào);在葉子節(jié)點(diǎn)下新增節(jié)點(diǎn)時(shí),查找當(dāng)前葉子節(jié)點(diǎn),將所述當(dāng)前葉子節(jié)點(diǎn)所在的子集合的右邊界點(diǎn)的編號(hào)加2,在當(dāng)前葉子節(jié)點(diǎn)所在的子集合內(nèi)插入新增節(jié)點(diǎn)的子集合;依次更新所述當(dāng)前葉子節(jié)點(diǎn)右側(cè)各子集合的左、右邊界點(diǎn)的編號(hào);以及查找待刪除的當(dāng)前子節(jié)點(diǎn),刪除當(dāng)前子節(jié)點(diǎn),并將該當(dāng)前子節(jié)點(diǎn)右邊所有節(jié)點(diǎn)所在子集合的左、右邊界點(diǎn)的編號(hào)及父集合右邊界點(diǎn)的編號(hào)均減去該當(dāng)前子節(jié)點(diǎn)的寬度值。
全文摘要
本發(fā)明涉及一種樹型數(shù)據(jù)處理方法及裝置,其方法包括獲取樹型數(shù)據(jù)的父節(jié)點(diǎn)和子節(jié)點(diǎn);根據(jù)樹型數(shù)據(jù)中父節(jié)點(diǎn)與子節(jié)點(diǎn)之間及各子節(jié)點(diǎn)內(nèi)的隸屬關(guān)系,以集合方式展示樹型數(shù)據(jù)的結(jié)構(gòu);并從最外層集合的邊界的一側(cè)開始,依次對(duì)各集合的邊界點(diǎn)編號(hào),每個(gè)集合的邊界兩側(cè)的編號(hào)用于限定該集合的范圍。本發(fā)明解決了現(xiàn)有技術(shù)中對(duì)樹型數(shù)據(jù)結(jié)構(gòu)管理的不足,使樹型數(shù)據(jù)的管理更高效,查詢性能更高,同時(shí)消除了樹型數(shù)據(jù)層次的限制,尤其適合海量樹型數(shù)據(jù)管理。如家族譜、基因譜及BOM物料清單等應(yīng)用場(chǎng)景。
文檔編號(hào)G06F17/30GK102819536SQ201110296438
公開日2012年12月12日 申請(qǐng)日期2011年9月27日 優(yōu)先權(quán)日2011年9月27日
發(fā)明者陽榮 申請(qǐng)人:金蝶軟件(中國(guó))有限公司