[发明专利]依赖树生成方法、装置、设备及存储介质有效
申请号: | 201910371029.3 | 申请日: | 2019-05-06 |
公开(公告)号: | CN110245279B | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 朱凯迪 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F16/951 | 分类号: | G06F16/951;G06F16/901 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许振新;朱文杰 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 依赖 生成 方法 装置 设备 存储 介质 | ||
1.一种依赖树生成方法,其特征在于,包括:
对已安装的目标项目中各个目录进行遍历,确定各个目录对应的目录路径以及依赖信息,所述依赖信息为所述目标项目对应的元数据文件中对依赖包进行描述的信息;
基于所述目录路径以及所述依赖信息确定与各个目录对应的依赖,所述各个目录对应的依赖包括直接依赖和/或间接依赖,所述直接依赖为存在于所述目录对应的目录路径并且存在于对应的依赖信息中的依赖,所述间接依赖为存在于所述目录对应的目录路径与存在于对应的依赖信息中的任意一种的依赖;
基于与各个目录对应的依赖确定与各个目录对应的树节点;
基于所述树节点生成与所述目标项目对应的依赖树。
2.根据权利要求1所述的依赖树生成方法,其特征在于,基于所述目录路径以及所述依赖信息确定与各个目录对应的依赖,包括:
在遍历当前目录的子目录时,基于所述目录路径以及所述依赖信息确定所述当前目录对应的依赖是否直接依赖于所述子目录对应的依赖;
若直接依赖于所述子目录对应的依赖,则确定所述子目录对应的依赖为直接依赖;
若未直接依赖于所述子目录对应的依赖,则确定所述子目录对应的依赖为被提升依赖。
3.根据权利要求2所述的依赖树生成方法,其特征在于,基于所述目录路径以及所述依赖信息确定所述当前目录对应的依赖是否直接依赖于所述子目录对应的依赖,包括:
若所述子目录对应的依赖存在于所述当前目录对应的目录路径并且存在于对应的依赖信息中,则确定所述当前目录对应的依赖直接依赖于所述子目录对应的依赖;
若所述子目录对应的依赖存在于所述当前目录对应的目录路径但是不存在于对应的依赖信息中,则确定所述当前目录对应的依赖未直接依赖于所述子目录对应的依赖。
4.根据权利要求2所述的依赖树生成方法,其特征在于,所述方法还包括:
将所述被提升依赖加入到回溯池中,以供后续回溯使用。
5.根据权利要求4所述的依赖树生成方法,其特征在于,所述方法还包括:
若确定所述子目录对应的依赖为直接依赖,则向上回溯确定是否存在与所述依赖对应的被提升依赖;
若存在,则将所述被提升依赖的唯一标识作为所述子目录对应的依赖的依赖信息。
6.根据权利要求1所述的依赖树生成方法,其特征在于,基于所述目录路径以及所述依赖信息确定与各个目录对应的依赖,包括:
在对当前目录的子目录的遍历完成之后,确定所述当前目录下是否存在已提升依赖,所述已提升依赖表示存在于所述依赖信息中但是不存在于所述当前目录的目录路径中的依赖;
若确定所述当前目录下存在已提升依赖,则遍历所述已提升依赖;
向上回溯确定是否存在与所述已提升依赖对应的被提升依赖;
若存在与所述已提升依赖对应的被提升依赖,则将所述被提升依赖的唯一标识作为对应的所述已提升依赖的依赖信息。
7.根据权利要求6所述的依赖树生成方法,其特征在于,所述方法还包括:
若不存在与所述已提升依赖对应的被提升依赖,则将所述已提升依赖标识为遗失的依赖。
8.根据权利要求1所述的依赖树生成方法,其特征在于,基于与各个目录对应的依赖确定与各个目录对应的树节点,包括:
获取与各个目录对应的依赖的依赖信息;
将所述依赖的依赖信息加入到所述依赖对应的树节点的节点信息中。
9.根据权利要求1至8中任一项所述的依赖树生成方法,其特征在于,所述方法还包括:
在确定所述目录对应的依赖时,生成所述目录对应的依赖的唯一标识。
10.根据权利要求9所述的依赖树生成方法,其特征在于,确定各个目录对应的依赖信息,包括:
在对当前目录进行遍历时,从所述当前目录的元数据文件中提取与所述当前目录对应的依赖信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910371029.3/1.html,转载请声明来源钻瓜专利网。