快速批量处理树形结点的方法及系统的制作方法
【专利摘要】本发明适用于数据库结构【技术领域】,提供了一种快速批量处理树形结点的方法:待处理结点信息的获取:接收用户输入的待处理结点信息;子孙结点的查找:查找出祖先结点中包含所述待处理结点信息的所有结点,作为待处理结点的子结点;所述祖先结点作为每一结点的字段属性信息,用于表征各结点所直接和间接隶属的结点。本发明利用祖先结点的概念,可快速定位到所要查找的子孙结点,然后利用待处理结点的祖先结点修改后的内容,直接删除、移动其子孙结点的祖先结点的内容,以达到快速高效处理结点的目的。
【专利说明】快速批量处理树形结点的方法及系统
【技术领域】
[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日
【发明者】魏育辉, 戴丛磊, 王福楠, 王铁岩 申请人:深圳市八零年代网络科技有限公司