[发明专利]文件循环引用检测方法、装置以及存储介质在审
申请号: | 202010542283.8 | 申请日: | 2020-06-15 |
公开(公告)号: | CN113805887A | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 赵国永;李俊杰;刘言;韩雨晴 | 申请(专利权)人: | 中国电信股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/35 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 方亮 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 循环 引用 检测 方法 装置 以及 存储 介质 | ||
本公开提供了一种文件循环引用检测方法、装置以及存储介质,涉及计算机技术领域,其中的方法包括:对多个目标文件进行解析,获取文件引用信息;根据文件引用信息获取文件集合以及文件集合中各个文件之间的引用关系;根据文件集合以及引用关系建立文件引用关系矩阵;基于文件引用关系矩阵判断是否出现文件循环引用。本公开的方法、装置以及存储介质,可以自动并快速、直观地输出检测结果,检测结果准确,能够减少遍历次数,提高检测效率,可以减少查找文件循环引所花费的时间,提高工作效率。
技术领域
本公开涉及计算机技术领域,尤其涉及一种文件循环引用检测方法、装置以及存储介质。
背景技术
在编写例如YANG模型等多种模型时,模型文件经常会被引用,模型建立规则规定模型文件只能被单向引用。随着模型文件的数量越来越多,在建模时会出现模型文件循环引用的问题。目前,现有的文件循环引用检验方法主要通过遍历各模型文件或靠人工进行检验,效率低、易出错。
发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种文件循环引用检测方法、装置以及存储介质。
根据本公开的第一方面,提供一种文件循环引用检测方法,包括:对多个目标文件进行解析,获取文件引用信息;根据所述文件引用信息获取文件集合以及所述文件集合中各个文件之间的引用关系;其中,所述文件集合中的文件包括:引用其他文件的文件和被引用的文件;根据所述文件集合以及所述引用关系建立文件引用关系矩阵;其中,所述文件引用关系矩阵的行数和列数都为所述文件集合中的文件数量,所述文件引用关系矩阵的元素用于表征两个文件之间的引用关系;基于所述文件引用关系矩阵判断是否出现文件循环引用。
可选地,所述根据所述文件集合以及所述引用关系建立文件引用关系矩阵包括:获取所述文件集合中的各个文件的编号,生成编号序列;基于所述引用关系和所述编号序列建立所述文件引用关系矩阵;其中,所述文件引用关系矩阵的行号序列和列号序列分别与所述编号序列相对应。
可选地,所述基于所述文件引用关系矩阵判断是否出现文件循环引用包括:获取位于所述文件引用关系矩阵的对角线一侧的半矩阵;遍历所述半矩阵,获取所述半矩阵中表征第一文件被第二文件引用的目标元素;获取与所述目标元素相对于所述对角线对称的转置元素;如果所述转置元素表征所述第二文件被所述第一文件引用,则确定所述第一文件和所述第二文件之间出现循环引用。
可选地,所述基于所述文件引用关系矩阵判断是否出现文件循环引用包括:围绕所述文件引用关系矩阵的对角线将所述文件引用关系矩阵旋转45度;在所述文件引用关系矩阵中获取相对于所述对角线对称的两个元素;如果所述两个元素都表征两个文件之间具有引用关系,则确定此两个文件之间出现循环引用。
可选地,获取出现循环引用的全部文件的集合以及文件之间的循序引用信息;基于所述集合和所述循环引用信息生成校验报告。
可选地,所述对多个目标文件进行解析,获取文件引用信息包括:遍历所述多个目标文件,解析各个目标文件中的文件引用段落,用以获取与各个目标文件相对应的所述文件引用信息。
可选地,所述根据所述文件引用信息获取文件集合以及所述文件集合中各个文件之间的引用关系;其中,所述文件集合中的文件包括:引用其他文件的文件和被引用的文件包括:根据与各个目标文件相对应的文件引用信息,获取全部引用其他文件的文件和被引用的文件;根据所述全部引用其他文件的文件和被引用的文件生成所述文件集合。
可选地,所述文件引用关系矩阵的元素为A[i][j];其中,i,j为文件的编号;如果A[i][j]为1,则表征第i个文件引用了第j个文件。
可选地,所述目标文件包括:YANG文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电信股份有限公司,未经中国电信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010542283.8/2.html,转载请声明来源钻瓜专利网。