基于字节码确定修改功能点的方法、装置、设备及介质与流程

文档序号:29493013发布日期:2022-04-06 14:01阅读:来源:国知局

技术特征:
1.一种基于字节码确定修改功能点的方法,其特征在于,包括:获取当前部署版本包和最新版本包,确定所述最新版本包相对于所述当前部署版本包的修改结构体;根据所述当前部署版本包和最新版本包,执行方法体引用符号解析引擎,分别构建所述当前部署版本包和所述最新版本包中对应字节码的方法体指令模型;根据所述方法体指令模型,分别构建所述当前部署版本包和所述最新版本包的结构体影响分析图;根据所述结构体影响分析图和所述修改结构体,确定所述修改结构体中的修改功能点。2.根据权利要求1所述的方法,其特征在于,所述确定所述最新版本包相对于所述当前部署版本包的修改结构体,包括:分别遍历所述当前部署版本包和最新版本包,确定所述当前部署版本包以及所述最新版本包中各功能包的影响索引;根据所述当前部署版本包以及所述最新版本包中各功能包的影响索引,确定所述最新版本包相对于所述当前部署版本包的修改结构体。3.根据权利要求2所述的方法,其特征在于,所述根据所述当前部署版本包以及所述最新版本包中各功能包的影响索引,确定所述最新版本包相对于所述当前部署版本包的修改结构体,包括:以遍历的方式匹配所述最新版本包中各功能包的影响索引与所述当前部署版本包中各功能包的影响索引;在所述最新版本包中任一功能包的影响索引与所述当前部署版本包中所有功能包的影响索引不同的情况下,确定所述任一功能包为所述最新版本包相对于所述当前部署版本包的修改结构体。4.根据权利要求1所述的方法,其特征在于,所述根据所述当前部署版本包和最新版本包,执行方法体引用符号解析引擎,分别构建所述当前部署版本包和所述最新版本包中对应字节码的方法体指令模型,包括:分别遍历所述当前部署版本包和最新版本包,确定所述当前部署版本包和所述最新版本包中各功能包包含的字节码;基于所述当前部署版本包和所述最新版本包中各功能包包含的字节码,执行方法体引用符号解析引擎,生成所述字节码对应的动态链接;根据所述字节码和所述动态链接,分别构建所述当前部署版本包和所述最新版本包中对应字节码的方法体指令模型。5.根据权利要求4所述的方法,其特征在于,所述基于所述当前部署版本包和所述最新版本包中各功能包包含的字节码,执行方法体引用符号解析引擎,生成所述字节码对应的动态链接,包括:分别基于所述当前部署版本包中各功能包包含的字节码和所述最新版本包中各功能包包含的字节码提取方法描述表;根据所述方法描述表中包含的变量表、字节码结构总码元表和常量池,确定对应字节码的字节码结构信息体;将所述字节码结构信息体反汇编为字节指令码;
解析所述字节指令码,获取所述字节码对应的动态链接。6.根据权利要求4或5所述的方法,其特征在于,所述根据所述字节码和所述动态链接,分别构建所述当前部署版本包和所述最新版本包中对应字节码的方法体指令模型,包括:基于所述字节码提取方法描述表;根据所述动态链接和所述方法描述表中包含的变量表、方法签名、方法出口,分别构建所述当前部署版本包和所述最新版本包中对应字节码的方法体指令模型。7.根据权利要求1或4所述的方法,其特征在于,根据所述方法体指令模型,分别构建所述当前部署版本包和所述最新版本包的结构体影响分析图,包括:分别遍历所述当前部署版本包和最新版本包,确定所述当前部署版本包以及所述最新版本包中各功能包的影响索引、各功能包包含的字节码的影响索引;根据所述各功能包的影响索引、各功能包包含的字节码的影响索引和所述方法体指令模型,分别构建所述当前部署版本包和所述最新版本包的结构体影响分析图。8.根据权利要求7所述的方法,其特征在于,所述确定所述当前部署版本包以及所述最新版本包中各功能包的影响索引、各功能包包含的字节码的影响索引,包括:以遍历的方式分别提取所述当前部署版本包中各功能包包含的字节码,以及最新版本包中各功能包包含的字节码;基于摘要信息算法对所述字节码进行处理,确定所述字节码的散列码;根据所述字节码的散列码分别确定所述当前部署版本包以及所述最新版本包中各功能包的影响索引、各功能包包含的字节码的影响索引。9.根据权利要求8所述的方法,其特征在于,所述根据所述字节码的散列码分别确定所述当前部署版本包以及所述最新版本包中各功能包的影响索引、各功能包包含的字节码的影响索引,包括:对所述当前部署版本包中各功能包包含的字节码的散列码进行排序,并将排序后的散列码构成的集合确定为第一集合;对所述最新版本包中各功能包包含的字节码的散列码进行排序,并将排序后的散列码构成的集合确定为第二集合;基于摘要信息算法分别对所述第一集合和所述第二集合进行处理,确定所述第一集合的散列码和所述第二集合的散列码;将所述第一集合的散列码和所述第二集合的散列码分别确定为所述当前部署版本包中对应功能包的影响索引和所述最新版本包中对应功能包的影响索引;将所述字节码的散列码分别确定为所述当前部署版本包中对应功能包包含的对应字节码的影响索引和所述最新版本包中对应功能包包含的对应字节码的影响索引。10.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述结构体影响分析图和所述修改结构体,确定所述修改结构体中的修改功能点,包括:根据所述修改结构体在所述当前部署版本包中确定所述修改结构体包含的至少一个功能点,并将确定的至少一个功能点确定为第一功能点;根据所述修改结构体在所述最新部署版本包中确定所述修改结构体包含的至少一个功能点,并将确定的至少一个功能点确定为第二功能点;以遍历的方式匹配所述第一功能点和所述第二功能点,在所述第二功能点中的任一功
能点的前面或字节与所有第一功能点均不相同的情况下,确定所述第二功能点中的任一功能点为所述修改结构体中的修改功能点。11.一种基于字节码确定修改功能点的装置,其特征在于,包括:确定模块,用于获取当前部署版本包和最新版本包,确定所述最新版本包相对于所述当前部署版本包的修改结构体;构建模块,用于根据所述当前部署版本包和最新版本包,执行方法体引用符号解析引擎,分别构建所述当前部署版本包和所述最新版本包中对应字节码的方法体指令模型;所述构建模块,还用于根据所述方法体指令模型,分别构建所述当前部署版本包和所述最新版本包的结构体影响分析图;所述确定模块,还用于根据所述结构体影响分析图和所述修改结构体,确定所述修改结构体中的修改功能点。12.一种计算机设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-10任一项所述的基于字节码确定修改功能点的方法。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-10任一项所述的基于字节码确定修改功能点的方法。

技术总结
本申请公开一种基于字节码确定修改功能点的方法、装置、设备及介质,包括:获取当前部署版本包和最新版本包,确定最新版本包相对于当前部署版本包的修改结构体;根据当前部署版本包和最新版本包,执行方法体引用符号解析引擎,分别构建当前部署版本包和最新版本包中对应字节码的方法体指令模型;根据方法体指令模型,分别构建当前部署版本包和最新版本包的结构体影响分析图;根据结构体影响分析图和修改结构体,确定修改结构体中的修改功能点。基于上述方法可以快速、准确地确定出两个不同版本包中的修改功能点,从而可以避免在功能代码修改的情况下,对所有的功能点逐一进行测试,进而提高研发效率,节约研发资源。节约研发资源。节约研发资源。


技术研发人员:甘兵 廖瑞毅
受保护的技术使用者:数字广东网络建设有限公司
技术研发日:2021.12.23
技术公布日:2022/4/5
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1