[发明专利]一种代码量统计方法及装置有效
申请号: | 201810467642.0 | 申请日: | 2018-05-14 |
公开(公告)号: | CN108681462B | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | 吕冬冬 | 申请(专利权)人: | 贝壳找房(北京)科技有限公司 |
主分类号: | G06F8/70 | 分类号: | G06F8/70;G06F8/77 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 统计 方法 装置 | ||
1.一种代码量统计方法,其特征在于,包括:
针对某一项目在预设时间范围内的代码量,采用分页的形式获取每页的代码提交数据,具体包括:
S1、根据页码变量判断当前页是否存在代码提交数据,若是,则执行步骤S2;其中,所述页码变量的初值为1;
S2、获取当前页的代码提交数据;
S3、判断当前页的代码提交数据是否是代码合并类数据,若是,则抛弃此数据;否则判断该页的代码提交数据是否超出了所述预设时间范围,若是,则退出循环,否则将该页的代码提交数据进行代码量统计,并将统计结果计入第一集合中,同时使得所述页码变量加1,然后重复执行S1~S3直至S1判断当前页不存在代码提交数据为止;
S4、计算第一集合中所有代码页的统计结果之和,以获取所述项目在所述预设时间范围内的代码量。
2.根据权利要求1所述的方法,其特征在于,所述S2获取当前页的代码提交数据,具体包括:
进行抓取请求参数拼装;其中,抓取请求参数包括:代码库地址、项目ID、token、每页数据大小和当前页的页码;
根据拼装后的抓取请求参数向代码库发送代码抓取请求,利用所述抓取请求参数对代码库进行HTTP请求调用,获取代码抓取结果;
将代码抓取结果转换成标准json结构进行保存。
3.根据权利要求1所述的方法,其特征在于,还包括:
S5、将S4获取的代码量结果,调用数据库存储方法,实现结果存储,其中,存储的内容至少包括:提交ID、作者名、作者邮箱、项目ID、提交注释、增加行数、删除行数、总行数和提交时间。
4.根据权利要求1所述的方法,其特征在于,若需要获取多个项目的代码量,则采用多线程的方式进行代码量的获取;
当待获取代码量的项目个数超过第一阈值时,采用第一阈值个数的线程池进行代码量的多线程获取;
当待获取代码量的项目个数小于或等于第一阈值时,根据项目个数采用项目个数的线程池进行代码量的多线程获取;
其中,所述第一阈值由脚本所在服务器的性能确定。
5.一种代码量统计装置,其特征在于,用于针对某一项目在预设时间范围内的代码量,采用分页的形式获取每页的代码提交数据,包括:
判断模块,用于根据页码变量判断当前页是否存在代码提交数据;其中,所述页码变量的初值为1;
获取模块,用于获取当前页的代码提交数据;
统计模块,用于判断当前页的代码提交数据是否是代码合并类数据,若是,则抛弃此数据;否则判断当前页的代码提交数据是否超出了所述预设时间范围,若是,则退出循环,否则将该页的代码提交数据进行代码量统计,并将统计结果计入第一集合中,同时使得所述页码变量加1,然后重复执行所述判断模块的判断过程、所述获取模块的获取过程以及所述统计模块的统计过程直至所述判断模块判断当前页不存在代码提交数据为止;
计算模块,用于计算第一集合中所有代码页统计结果之和,以获取所述项目在所述预设时间范围内的代码量。
6.根据权利要求5所述的装置,其特征在于,所述获取模块在获取当前页的代码提交数据时,具体用于:
进行抓取请求参数拼装;其中,抓取请求参数包括:代码库地址、项目ID、token、每页数据大小和当前页的页码;
根据拼装后的抓取请求参数向代码库发送代码抓取请求,利用所述抓取请求参数对代码库进行HTTP请求调用,获取代码抓取结果;
将代码抓取结果转换成标准json结构进行保存。
7.根据权利要求5所述的装置,其特征在于,还包括:存储模块;
所述存储模块,用于将所述计算模块获取的代码量结果,调用数据库存储方法,实现结果存储,其中,存储的内容至少包括:提交ID、作者名、作者邮箱、项目ID、提交注释、增加行数、删除行数、总行数、提交时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝壳找房(北京)科技有限公司,未经贝壳找房(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810467642.0/1.html,转载请声明来源钻瓜专利网。