快速批量處理樹形結點的方法及系統的制作方法
【專利摘要】本發明適用于數據庫結構【技術領域】,提供了一種快速批量處理樹形結點的方法:待處理結點信息的獲取:接收用戶輸入的待處理結點信息;子孫結點的查找:查找出祖先結點中包含所述待處理結點信息的所有結點,作為待處理結點的子結點;所述祖先結點作為每一結點的字段屬性信息,用于表征各結點所直接和間接隸屬的結點。本發明利用祖先結點的概念,可快速定位到所要查找的子孫結點,然后利用待處理結點的祖先結點修改后的內容,直接刪除、移動其子孫結點的祖先結點的內容,以達到快速高效處理結點的目的。
【專利說明】快速批量處理樹形結點的方法及系統
【技術領域】
[0001] 本發明屬于數據庫結構【技術領域】,尤其涉及一種高效快速地批量處理樹形結點的 方法及系統。
【背景技術】
[0002] 樹形結構用途廣泛,不可避免地需要對樹形結點進行查找、移動、刪除等處理操 作。如果按照數據庫規范來設計的話,對于批量查找、刪除、移動結點時,對所要查找結點 可以很快地查詢到,進而進行相關的刪除或者移動(更新)操作。但是如果要查找某結點 的所有子孫結點時,這種設計在性能上就很難滿足,通常要用遞歸才能完成,但遞歸的速度 慢,效率低,從而也影響到批量處理(更新)操作的效率。
【發明內容】
[0003] 本發明所要解決的第一個技術問題在于提供一種快速批量處理樹形結點的方法, 旨在提高批量處理樹形結點的效率。
[0004] 本發明是這樣實現的,一種快速批量處理樹形結點的方法,包括下述步驟:
[0005] 待處理結點信息的獲取:接收用戶輸入的待處理結點信息;
[0006] 子孫結點的查找:查找出祖先結點中包含所述待處理結點信息的所有結點,作為 待處理結點的子孫結點;所述祖先結點作為每一結點的字段屬性信息,用于表征各結點所 直接和間接隸屬的結點。
[0007] 進一步地,在子孫結點的查找步驟之后,所述方法還包括下述步驟:子孫結點的刪 除:將查找到的待處理結點的子孫結點予以刪除。
[0008] 進一步地,在子孫結點的查找步驟之后,所述方法還包括下述步驟:
[0009] 待處理結點的移動:將待處理結點i的父結點修改為目標結點j,并將待處理結點 i的祖先結點修改為待處理結點i在根節點A至目標結點j形成的結點鏈路上、所直接和間 接隸屬的所有結點;其中,父節點為某一結點所直接隸屬的上一級結點;
[0010] 子孫結點的移動:將待處理結點i的所有子孫結點的祖先結點位于待處理結點i 之前的部分,替換為與待處理結點i修改后的祖先結點相一致。
[0011] 本發明所要解決的第二個技術問題在于提供一種快速批量處理樹形結點的系統, 包括:
[0012] 待處理結點信息獲取模塊,用于接收用戶輸入的待處理結點信息;
[0013] 子孫結點查找模塊,用于查找出祖先結點中包含所述待處理結點信息的所有結 點,作為待處理結點的子孫結點;所述祖先結點作為每一結點的字段屬性信息,用于表征各 結點所直接和間接隸屬的結點。
[0014] 進一步地,所述系統還包括:子孫結點刪除模塊,用于將查找到的待處理結點的子 孫結點予以刪除。
[0015] 進一步地,所述系統還包括:
[0016] 待處理結點移動模塊,用于將待處理結點i的父結點修改為目標結點j,并將待處 理結點i的祖先結點修改為待處理結點i在根節點A至目標結點j形成的結點鏈路上、所 直接和間接隸屬的所有結點;其中,父節點為某一結點所直接隸屬的上一級結點;
[0017] 子孫結點移動模塊,用于將待處理結點i的所有子孫結點的祖先結點位于待處理 結點i之前的部分,替換為與待處理結點i修改后的祖先結點相一致。
[0018] 本發明與現有技術相比,有益效果在于:本發明利用祖先結點的概念,可快速定位 到所要查找的子孫結點,然后利用待處理結點的祖先結點修改后的內容,直接刪除或移動 其子孫結點的祖先結點的內容,以達到快速高效處理結點的目的。
【專利附圖】
【附圖說明】
[0019] 圖1是本發明提供的快速批量處理樹形結點的方法的實現流程圖;
[0020] 圖2是本發明實施例提供的一種樹形結點的示意圖;
[0021] 圖3是對圖2所示樹形結點的進行子結點刪除后的結構示意圖;
[0022] 圖4是對圖2所示樹形結點的進行結點移動后的結構示意圖;
[0023] 圖5是本發明提供的快速批量處理樹形結點的系統的結構原理圖。
【具體實施方式】
[0024] 為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并 不用于限定本發明。
[0025] 本發明中,首先添加一個字段用于存放所有結點的祖先結點,利用該祖先結點可 快速定位到所要查找的子孫結點,然后再根據需要進行后續刪除、移動等處理。
[0026] 圖1示出了本發明提供的批量處理樹形結點的方法的實現流程,詳述如下。
[0027] 步驟S101為待處理結點信息獲取的步驟,S卩,接收用戶輸入的待處理結點信息。
[0028] 本發明中,父節點為某一結點所直接隸屬的上一級結點,祖先結點為某一結點所 直接和間接隸屬的所有結點,而待處理結點i表示從結點i及其所有子孫結點都將被處理。 以圖2中的樹形結點為例,其存儲結構如下表一所示:
[0029] 表一
[0030]
【權利要求】
1. 一種快速批量處理樹形結點的方法,其特征在于,包括下述步驟: 待處理結點信息的獲取:接收用戶輸入的待處理結點信息; 子孫結點的查找:查找出祖先結點中包含所述待處理結點信息的所有結點,作為待處 理結點的子孫結點;所述祖先結點作為每一結點的字段屬性信息,用于表征各結點所直接 和間接隸屬的結點。
2. 如權利要求1所述的方法,其特征在于,在子孫結點的查找步驟之后,所述方法還包 括下述步驟: 子孫結點的刪除:將查找到的待處理結點的子孫結點予以刪除。
3. 如權利要求1所述的方法,其特征在于,在子孫結點的查找步驟之后,所述方法還包 括下述步驟: 待處理結點的移動:將待處理結點i的父結點修改為目標結點j,并將待處理結點i的 祖先結點修改為待處理結點i在根節點A至目標結點j形成的結點鏈路上、所直接和間接 隸屬的所有結點;其中,父節點為某一結點所直接隸屬的上一級結點; 子孫結點的移動:將待處理結點i的所有子孫結點的祖先結點位于待處理結點i之前 的部分,替換為與待處理結點i修改后的祖先結點相一致。
4. 一種快速批量處理樹形結點的系統,其特征在于,包括: 待處理結點信息獲取模塊,用于接收用戶輸入的待處理結點信息; 子孫結點查找模塊,用于查找出祖先結點中包含所述待處理結點信息的所有結點,作 為待處理結點的子孫結點;所述祖先結點作為每一結點的字段屬性信息,用于表征各結點 所直接和間接隸屬的結點。
5. 如權利要求4所述的系統,其特征在于,所述系統還包括: 子孫結點刪除模塊,用于將查找到的待處理結點的子孫結點予以刪除。
6. 如權利要求4所述的系統,其特征在于,所述系統還包括: 待處理結點移動模塊,用于將待處理結點i的父結點修改為目標結點j,并將待處理結 點i的祖先結點修改為待處理結點i在根節點A至目標結點j形成的結點鏈路上、所直接 和間接隸屬的所有結點;其中,父節點為某一結點所直接隸屬的上一級結點; 子孫結點移動模塊,用于將待處理結點i的所有子孫結點的祖先結點位于待處理結點 i之前的部分,替換為與待處理結點i修改后的祖先結點相一致。
【文檔編號】G06F17/30GK104281686SQ201410530710
【公開日】2015年1月14日 申請日期:2014年10月10日 優先權日:2014年10月10日
【發明者】魏育輝, 戴叢磊, 王福楠, 王鐵巖 申請人:深圳市八零年代網絡科技有限公司