[发明专利]依赖树生成方法、装置、设备及存储介质有效
申请号: | 201910371029.3 | 申请日: | 2019-05-06 |
公开(公告)号: | CN110245279B | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 朱凯迪 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F16/951 | 分类号: | G06F16/951;G06F16/901 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许振新;朱文杰 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 依赖 生成 方法 装置 设备 存储 介质 | ||
本申请实施例提供了一种依赖树生成方法、装置、设备及存储介质,涉及计算机技术领域。该方法包括:对已安装的目标项目中各个目录进行遍历,确定各个目录对应的目录路径以及依赖信息;基于各个目录对应的目录路径以及依赖信息确定与各个目录对应的依赖;基于与各个目录对应的依赖确定与各个目录对应的树节点;基于所述树节点生成与该目标项目对应的依赖树。本申请实施例的技术方案能够准确地确定目标项目的依赖信息,并且便于检索依赖信息。
技术领域
本申请涉及计算机技术领域,尤其涉及一种依赖树生成方法、依赖树生成装置、依赖树生成设备以及计算机可读存储介质。
背景技术
随着互联网技术的飞速发展,越来越多的业务项目在网络上展开。业务项目中通常会包含多个依赖包,如何确定业务项目的依赖包的依赖信息成为了关注的焦点。
在一种技术方案中,在业务项目中安装依赖包时,根据业务项目中的项目描述文件例如package.json文件来确定业务项目的依赖包的依赖信息。然而,由于各个业务项目安装依赖的方式不同,例如有的项目采用扁平式即flatten式安装,通过这种方案得到业务项目的依赖包的依赖信息与实际安装的依赖包的依赖信息存在差别,难以准确地确定业务项目的依赖包的依赖信息。
发明内容
本申请实施例的目的是提供一种依赖树生成方法、依赖树生成装置、依赖树生成设备以及计算机可读存储介质,以解决难以准确地确定业务项目的依赖包的依赖信息的问题。
为解决上述技术问题,本申请实施例是这样实现的:
根据本申请实施例的第一方面,提供了一种依赖树生成方法,包括:对已安装的目标项目中各个目录进行遍历,确定各个目录对应的目录路径以及依赖信息;基于所述目录路径以及所述依赖信息确定与各个目录对应的依赖;基于与各个目录对应的依赖确定与各个目录对应的树节点;基于所述树节点生成与所述目标项目对应的依赖树。
在本申请的一些实施例中,基于上述方案,基于所述目录路径以及所述依赖信息确定与各个目录对应的依赖,包括:在遍历当前目录的子目录时,基于所述目录路径以及所述依赖信息确定所述当前目录对应的依赖是否直接依赖于所述子目录对应的依赖;若直接依赖于所述子目录对应的依赖,则确定所述子目录对应的依赖为直接依赖;若未直接依赖于所述子目录对应的依赖,则确定所述子目录对应的依赖为被提升依赖。
在本申请的一些实施例中,基于上述方案,基于所述目录路径以及所述依赖信息确定所述当前目录对应的依赖是否直接依赖于所述子目录对应的依赖,包括:若所述子目录对应的依赖存在于所述当前目录对应的目录路径并且存在于对应的依赖信息中,则确定所述当前目录对应的依赖直接依赖于所述子目录对应的依赖;若所述子目录对应的依赖存在于所述当前目录对应的目录路径但是不存在于对应的依赖信息中,则确定所述当前目录对应的依赖未直接依赖于所述子目录对应的依赖。
在本申请的一些实施例中,基于上述方案,所述方法还包括:将所述被提升依赖加入到回溯池中,以供后续回溯使用。
在本申请的一些实施例中,基于上述方案,所述方法还包括:若确定所述子目录对应的依赖为直接依赖,则向上回溯确定是否存在与所述依赖对应的被提升依赖;若存在,则将所述被提升依赖的唯一标识作为所述子目录对应的依赖的依赖信息。
在本申请的一些实施例中,基于上述方案,基于所述目录路径以及所述依赖信息确定与各个目录对应的依赖,包括:在对当前目录的子目录的遍历完成之后,确定所述当前目录下是否存在已提升依赖,所述已提升依赖表示存在于所述依赖信息中但是不存在于所述当前目录的目录路径中的依赖;若确定所述当前目录下存在已提升依赖,则遍历所述已提升依赖;向上回溯确定是否存在与所述已提升依赖对应的被提升依赖;若存在与所述已提升依赖对应的被提升依赖,则将所述被提升依赖的唯一标识作为对应的所述已提升依赖的依赖信息。
在本申请的一些实施例中,基于上述方案,所述方法还包括:若不存在与所述已提升依赖对应的被提升依赖,则将所述已提升依赖标识为遗失的依赖。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910371029.3/2.html,转载请声明来源钻瓜专利网。