项目知识树的构建和检索方法技术

技术编号:24756493 阅读:29 留言:0更新日期:2020-07-04 09:14
本发明专利技术涉及一种项目知识树的构建和检索方法,包括:遍历项目所有文件夹和文件以构建项目目录树;对项目每一个文件的特征进行提取,每一个文件的特征包括所述文件的文件特征以及所述文件中每一个函数的函数特征;基于项目目录树和项目各个文件的特征使用多种Json对象数组构建描述所述项目的项目知识树;使用基于项目检索结构的检索模式或基于文件特征和函数特征的检索模式通过Solr全文检索引擎实现对项目知识树的检索。通过本发明专利技术,能够很快定位到与被测项目相同的文件、文件函数的片段,使得梳理关联关系更为清晰,项目知识库有更好的可读性。

Construction and retrieval method of project knowledge tree

【技术实现步骤摘要】
项目知识树的构建和检索方法
本专利技术涉及信息安全领域,尤其涉及一种项目知识树的构建和检索方法。
技术介绍
随着信息化的发展,软件的应用越来越广泛,软硬件公司使用到的开源项目也越来越多,随之带来的是license权限问题、安全问题、如何评定源代码占比问题等。为解决这些问题,就需要一个代码组成分析的系统,能够收集开源项目和版本信息、能够分析被测项目的代码组成、权限问题和安全问题。当拥有大量的源代码仓库(包含项目信息、版本信息、项目发布包),剩下的核心部分就是如何检测被测项目的组成。传统的文本文件逐个对比的效率在庞大的源代码仓库下检测是不现实的,这时一般会考虑对大量源代码仓库进行预处理,提取项目所有版本内文件特征到当前项目的特征文件,逐个项目匹配文件特征即可,这样的方案逐渐变得可行,但这里还有两个问题,(1)文件量大,检查效率还是不高;(2)文件多级特征提取的数据量倍数增长,关系型数据库难以存储这样关联关系,关联项目、版本、文件等信息变得复杂。现阶段本领域的软件已有的成果是美国Blackduck(黑鸭软件),但并没有公开核心技术预处本文档来自技高网...

【技术保护点】
1.一种项目知识树的构建和检索方法,其特征在于,所述方法包括:/n遍历项目所有文件夹和文件以构建项目目录树;/n对项目每一个文件的特征进行提取,每一个文件的特征包括所述文件的文件特征以及所述文件中每一个函数的函数特征;/n基于项目目录树和项目各个文件的特征使用多种Json对象数组构建描述所述项目的项目知识树;/n使用基于项目检索结构的检索模式或基于文件特征和函数特征的检索模式通过Solr全文检索引擎实现对项目知识树的检索;/n其中,Json即JavaScript Object Notation,是一种数据交换格式,是基于JavaScript的一个子集,采用完全独立于语言的文本格式。/n

【技术特征摘要】
1.一种项目知识树的构建和检索方法,其特征在于,所述方法包括:
遍历项目所有文件夹和文件以构建项目目录树;
对项目每一个文件的特征进行提取,每一个文件的特征包括所述文件的文件特征以及所述文件中每一个函数的函数特征;
基于项目目录树和项目各个文件的特征使用多种Json对象数组构建描述所述项目的项目知识树;
使用基于项目检索结构的检索模式或基于文件特征和函数特征的检索模式通过Solr全文检索引擎实现对项目知识树的检索;
其中,Json即JavaScriptObjectNotation,是一种数据交换格式,是基于JavaScript的一个子集,采用完全独立于语言的文本格式。


2.如权利要求1所述的项目知识树的构建和检索方法,其特征在于:
使用基于项目检索结构的检索模式通过Solr全文检索引擎实现对项目知识树的检索包括:
建立项目检索结构,所述项目检索结构是一种对项目、项目版本信息以及项目文件多级特征组合的存储结构,在所述项目检索结构中,字段id标识项目版本id,根据id进行项目版本的全部信息的查询,字段pid标识项目id,根据pid进行项目的全部信息的查询,proName标识项目名称,type标识文件类型,licenseType标识项目license类型,versionName标识版本名,downUrl标识项目远路径,proDescribe标识项目描述信息,versionDescribe标识版本描述信息,dirTree标识项目多级特征知识树;
基于项目检索结构通过Solr全文检索引擎实现对项目知识树的检索。


3.如权利要求1所述的项目知识树的构建和检索方法,其特征在于:
使用基于文件特征和函数特征的检索模式通过Solr全文检索引擎实现对项目知识树的检索包括:
采用单个文件的文件特征和/或函数特征通过Solr全文检索引擎实现对项目知识树的查询,以获取作为查询结果的包含单个文件的文件特征和...

【专利技术属性】
技术研发人员:闫卫杰张怀珠余徐勇
申请(专利权)人:北京关键科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1