[发明专利]代码功能的关联方法、装置及电子设备在审
申请号: | 201910687386.0 | 申请日: | 2019-07-26 |
公开(公告)号: | CN110413307A | 公开(公告)日: | 2019-11-05 |
发明(设计)人: | 严烨 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F8/70 | 分类号: | G06F8/70 |
代理公司: | 北京超成律师事务所 11646 | 代理人: | 王文红 |
地址: | 310000 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 功能信息 程序模块 代码功能 数据库 装置及电子设备 绑定存储 目标代码 查找 关联 查找结果 功能关联 关联功能 关联结果 获取目标 修改文件 自动查找 检索词 日志 申请 | ||
1.一种代码功能的关联方法,其特征在于,包括:
获取目标代码功能的功能信息;
在数据库中查找与所述功能信息对应的程序模块;其中,所述数据库中预先绑定存储有根据所述目标代码功能对应的代码日志和修改文件分别确定的所述功能信息和所述程序模块,所述程序模块包括函数或类;
以所述程序模块为检索词,在所述数据库中查找除所述功能信息之外的其他功能信息;
将查找到的所述其他功能信息对应的代码功能确定为所述目标代码功能关联的功能。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:提供用于功能关联查询的客户端,所述客户端包含功能ID查询通道、日志查询通道和功能关键词查询通道;
所述获取目标代码功能的功能信息的步骤包括:
通过所述客户端接收用户的功能查询请求;
如果所述功能查询请求来自所述功能ID查询通道,从所述功能查询请求中提取目标代码功能的功能ID,将提取的功能ID作为所述目标代码功能的功能信息;
如果所述功能查询请求来自所述日志查询通道,从所述功能查询请求中提取目标代码功能的代码日志,从所述代码日志中解析出所述目标代码功能的功能信息;
如果所述功能查询请求来自所述功能关键词查询通道,从所述功能查询请求中提取目标代码功能的功能关键词,将提取的功能关键词作为所述目标代码功能的功能信息。
3.根据权利要求2所述的方法,其特征在于,所述代码日志为预设格式;所述预设格式规定按照预设符号对所述代码日志中的功能信息进行标注;
从所述代码日志中解析出所述目标代码功能的功能信息的步骤包括:
从所述代码日志中提取所述预设符号标注的功能信息;
对所述代码日志中未标注的信息按照预设的分词算法提取功能信息;
将提取出的所有功能信息作为所述目标代码功能的功能信息。
4.根据权利要求1所述的方法,其特征在于,所述数据库按照以下方式建立:
收集提交信息;所述提交信息包括代码日志和所述代码日志对应的修改文件;
对于每次收集到的提交信息,均基于所述提交信息中的代码日志确定该提交信息对应的功能信息,并根据该提交信息中的修改文件确定该提交信息对应的程序模块,以及将该功能信息与该程序模块绑定保存至数据库中。
5.根据权利要求4所述的方法,其特征在于,基于所述提交信息中的代码日志确定该提交信息对应的功能信息的步骤,包括:
将该提交信息的代码日志中使用预设符号标注的信息作为该提交信息的功能信息;
对该提交信息中未使用所述预设符号标注的信息,按照预设的分词算法提取功能信息,或从未使用所述预设符号标注的信息中提取预设的功能ID。
6.根据权利要求4所述的方法,其特征在于,所述根据该提交信息中的修改文件确定该提交信息对应的程序模块的步骤,包括:
解析所述提交信息中的修改文件,得到所述修改文件的语法树信息;其中,所述语法树信息包括每个程序模块所在的行号和各个程序模块间的嵌套关系;
为所述嵌套关系中的各节点增添指向父节点的指针;
根据所述嵌套关系,以行号为主键,程序模块名为键值,建立每行代码所在行号的关联字典;
根据所述提交信息中的修改文件确定修改代码行号,并根据修改代码行号查询所述关联字典,得到该提交信息对应的程序模块。
7.根据权利要求6所述的方法,其特征在于,所述根据所述嵌套关系,以行号为主键,程序模块名为键值,建立每行代码所在行号的关联字典的步骤,包括:
获取每个程序模块的定义行的行号,以行号为主键,程序模块名为键值,建立每个程序模块的定义行的行号对应的关联字典;
根据所述嵌套关系和每个程序模块的定义行的行号对应的关联字典,建立每行代码所在行号的关联字典;其中,该关联字典包括:当前代码行的行号、当前代码行归属的程序模块名、当前代码行的父节点的行号和当前代码行父节点的程序模块名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910687386.0/1.html,转载请声明来源钻瓜专利网。