[发明专利]处理具有树形结构的数据集合的方法和装置有效
申请号: | 201710903238.9 | 申请日: | 2017-09-29 |
公开(公告)号: | CN107798073B | 公开(公告)日: | 2020-07-24 |
发明(设计)人: | 马彦强 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/13 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 时林;毛威 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 具有 树形 结构 数据 集合 方法 装置 | ||
本申请提供了一种处理具有树形结构的数据集合的方法,包括:根据数据集合的树形结构确定至少两个堆栈,该数据集合中的数据存储于该至少两个堆栈,且该至少两个堆栈中任意两个堆栈的节点的交集为空集;扫描该至少两个堆栈,并处理该至少两个堆栈中的数据。根据本实施例提供的方法,处理器在遍历数据集合之前首先从数据集合中确定至少两个堆栈,从而使得处理器可以同时扫描多个堆栈,提高了遍历数据集合的效率。
技术领域
本申请涉及计算机领域,尤其涉及一种处理具有树形结构的数据集合的方法和装置。
背景技术
树形结构是数据之间的一种关联关系,即,多个数据之间存在“一对一”或者“一对多”的对应关系。例如,文件系统目录标准(filesystem hierarchy standard,FHS)采用树形结构的文件组织形式,根目录是所有目录与文件的源头,根目录包括若干子目录和/或文件,子目录还可能包括下一级子目录和/或文件,这些根目录、子目录以及文件的全部或部分构成了具有树形结构的数据集合。
数据集合中的数据具有层(layer)和栈(stack)的属性,其中,栈也可称为堆栈。例如,根目录的全部子目录(根目录的下一级目录)位于树形结构的同一层,根目录的全部孙目录(根目录的下下一级目录)位于树形结构的另一层;从根目录开始向下逐层进行线性扫描,一直扫描到不包含子目录的目录为止,得到一条目录链,该目录链称为栈,上述不包含子目录的目录称为栈顶。
当从具有树形结构的数据集合中查找所需的数据(即,目标数据)时,需要从根目录开始对所有的目录和文件进行遍历扫描,现有技术的扫描方法包括深度优先遍历算法和广度优先遍历算法,其中,该两种算法均是从根目录开始逐层扫描,遍历数据集合,不同的是,在扫描完一个目录后,深度优先遍历算法优先扫描其下一层目录,而广度优先遍历算法是优先扫描其同层数据。
在遍历数据量较小的数据集合的场景中,上述两种算法的性能尚可接受,然而,对于一些数据量较大的数据集合来说,使用上述两种算法遍历这些数据集合的效率远远不能满足需求,例如,对于一些包含数千万目录和文件的数据集合来说,使用上述两种算法遍历这些数据集合甚至会由于内存耗尽导致遍历失败。
发明内容
本申请提供了一种处理具有树形结构的数据集合的方法和装置,能够提高遍历具有树形结构的数据集合的效率。
第一方面,提供了一种处理具有树形结构的数据集合的方法,包括:根据数据集合的树形结构生成至少两个堆栈,该至少两个堆栈中任意两个堆栈的节点的交集为空集;扫描该至少两个堆栈,并处理该至少两个堆栈中的数据。
根据本实施例提供的方法,处理器在遍历数据集合的过程中根据数据集合的树形结构生成至少两个堆栈,从而使得处理器可以并行扫描该数据集合,提高了遍历数据集合的效率。处理器还可以删除内存中扫描完毕的堆栈,减小内存占用量,避免由于内存耗尽导致数据集合遍历失败的情况。
可选地,上述数据集合包括多个目录,上述根据数据集合的树形结构生成至少两个堆栈,包括:将多个目录中的至少两个目录作为至少两个栈底目录生成至少两个堆栈。
该至少两个目录可以是该多个目录中的任意目录,也可以是按照预定的规则挑选的至少两个目录,本申请对选择栈底目录的具体方式不作限定。
可选地,上述将多个目录中的至少两个目录作为至少两个栈底目录生成至少两个堆栈,包括:从多个目录中确定第一栈顶目录,第一栈顶目录为该多个目录在被扫描的过程中第一个未扫描到子目录的目录;根据第一栈顶目录和该多个目录的根目录确定第一堆栈,其中,根目录为第一堆栈的栈底目录,第一栈顶目录为第一堆栈的栈顶目录,第一堆栈属于所述至少两个堆栈;根据第一堆栈包括的目录之外的目录生成第二堆栈,第二堆栈属于上述至少两个堆栈,第二堆栈的栈底目录为第一堆栈包括的目录之外的目录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710903238.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于用户使用情况的精品资源图谱构建方法及装置
- 下一篇:信息处理方法及服务器