[发明专利]一种函数处理方法、装置以及相关设备有效
申请号: | 201810517954.8 | 申请日: | 2018-05-25 |
公开(公告)号: | CN108845843B | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 王进;刘芳 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F8/41 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 函数 处理 方法 装置 以及 相关 设备 | ||
1.一种函数处理方法,其特征在于,包括:
获取第一版本程序,并获取与所述第一版本程序相关联的第二版本程序;
获取所述第一版本程序中所有函数对应的信息摘要值,并获取所述第二版本程序中所有函数对应的信息摘要值;信息摘要值用于唯一标识对应的函数;所述第一版本程序中的所有函数是指所述第一版本程序中发生变化的文件中包括的所有函数,所述第二版本程序中的所有函数是指所述第二版本程序中发生变化的文件中包括的所有函数;所述第一版本程序中发生变化的文件是根据第一文件概要信息确定的,所述第二版本程序中发生变化的文件是根据第二文件概要信息确定的,所述第一文件概要信息和所述第二文件概要信息均用于记录所述第一版本程序和所述第二版本程序之间文件的变化情况;
在所述第一版本程序和所述第二版本程序中获取除了相同函数对以外的函数,作为目标函数集合;所述相同函数对中的所述第一版本程序的函数和所述第二版本程序的函数具有相同的信息摘要值;
根据所述目标函数集合中各函数对应的所述信息摘要值,识别所述目标函数集合中各函数的变化类型;所述变化类型包括函数新增类型、函数删除类型和函数修改类型。
2.根据权利要求1所述的方法,其特征在于,所述第一版本程序的创建时间戳大于所述第二版本程序的创建时间戳;
所述获取所述第一版本程序中所有函数对应的信息摘要值,并获取所述第二版本程序中所有函数对应的信息摘要值,包括:
分别拉取所述第一版本程序的多个第一文件概要信息,以及所述第二版本程序的多个第二文件概要信息;
将属于修改类型、新增类型的第一文件概要信息对应的第一文件,组合为第一文件集合;
将属于修改类型、删除类型的第二文件概要信息对应的第二文件,组合为第二文件集合;
分别计算所述第一文件集合中所有函数对应的信息摘要值、所述第二文件集合中所有函数对应的信息摘要值。
3.根据权利要求2所述的方法,其特征在于,所述分别计算所述第一文件集合中所有函数对应的信息摘要值、所述第二文件集合中所有函数对应的信息摘要值,包括:
对所述第一文件集合中所有函数进行编译处理和翻译处理,得到所述第一文件集合中所有函数的位置信息;
对所述第二文件集合中所有函数进行编译处理和翻译处理,得到所述第二文件集合中所有函数的位置信息;
根据所述第一文件集合中所有函数的位置信息,查找每个函数所包含的内容字符串,并根据每个函数所包含的内容字符串分别计算所述第一文件集合中各函数对应的信息摘要值;
根据所述第二文件集合中所有函数的位置信息,查找每个函数所包含的内容字符串,并根据每个函数所包含的内容字符串分别计算所述第二文件集合中各函数对应的信息摘要值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一文件集合中所有函数的位置信息,查找每个函数所包含的内容字符串,并根据每个函数所包含的内容字符串分别计算所述第一文件集合中各函数对应的信息摘要值,包括:
根据所述第一文件 集合中的函数的位置信息中的函数起始坐标、函数结束坐标,查找所述函数所包含的内容字符串,并将所述内容字符串转换为内容字节码;
填充所述内容字节码,得到满足位长倍数条件的待计算内容字节码,并将所述待计算内容字节码划分为多个字节码小组;
获取多个链接变量,将所述多个链接变量和所述多个字节码小组分别进行非线性函数计算,得到多个分组散列值,并将所述多个分组散列值进行级联,得到所述函数对应的信息摘要值。
5.根据权利要求2所述的方法,其特征在于,所述目标函数集合包括第一目标函数子集合和第二目标函数子集合;
所述在所述第一版本程序和所述第二版本程序中获取除了相同函数对以外的函数,作为目标函数集合,包括:
将在所述第一版本程序的函数和所述第二版本程序的函数中,具有相同的信息摘要值所对应的函数对,作为相同函数对;
将所述第一文件集合中不属于所述相同函数对的函数,作为所述第一目标函数子集合;
将所述第二文件集合中不属于所述相同函数对的函数,作为所述第二目标函数子集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810517954.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:复用视图的方法及装置
- 下一篇:一种状态转换方法及装置