-
公开(公告)号:CN112988217B
公开(公告)日:2023-11-17
申请号:CN202110278117.6
申请日:2021-03-10
Applicant: 北京大学
Abstract: 本发明公布了一种用于快速全网代码溯源检测的代码库设计方法,通过项目发现、数据提取、数据存储、代码信息映射构建和数据更新过程,针对全网使用Git开源项目内的Git对象进行高效存储而得到代码库,并实现代码库的高效更新;包括:采用按Git对象分类型分块存储的存储模式;构建代码文件到代码文件信息之间的关系映射,对代码文件的全网信息进行快速检索;对构建的超大规模的代码库采用高效更新方式,基于Libgit2函数库提出定制化的git fetch协议,以构建的超大规模的代码库为后端,高效获得远程仓库的新增的Git对象数据。采用本发明方法生成的代码库可定期高效地更新,并支持对代码在文件粒度上的快速全网溯源检测,检测效率高。
-
公开(公告)号:CN112988217A
公开(公告)日:2021-06-18
申请号:CN202110278117.6
申请日:2021-03-10
Applicant: 北京大学
Abstract: 本发明公布了一种用于快速全网代码溯源检测的代码库设计方法,通过项目发现、数据提取、数据存储、代码信息映射构建和数据更新过程,针对全网使用Git开源项目内的Git对象进行高效存储而得到代码库,并实现代码库的高效更新;包括:采用按Git对象分类型分块存储的存储模式;构建代码文件到代码文件信息之间的关系映射,对代码文件的全网信息进行快速检索;对构建的超大规模的代码库采用高效更新方式,基于Libgit2函数库提出定制化的git fetch协议,以构建的超大规模的代码库为后端,高效获得远程仓库的新增的Git对象数据。采用本发明方法生成的代码库可定期高效地更新,并支持对代码在文件粒度上的快速全网溯源检测,检测效率高。
-