一种软件接口的适配方法、装置及其系统制造方法及图纸

技术编号:32892057 阅读:56 留言:0更新日期:2022-04-07 11:39
本申请实施例公开了一种软件接口的适配方法、装置及其系统,用于软件技术领域。本申请实施例方法包括:获取源接口和目的接口对应的函数适配规则,所述函数适配规则包括源接口对应的函数集与目的接口对应的函数集的映射关系;对所述源接口对应的源文件进行语法分析,将所述源接口对应的源文件转换为中间代码;根据所述函数适配规则和所述中间代码对所述源接口对应的源文件进行修改,用于提高软件接口适配效率。适配效率。适配效率。

【技术实现步骤摘要】
一种软件接口的适配方法、装置及其系统


[0001]本申请实施例涉及软件
,尤其涉及一种软件接口的适配方法、装置及其系统。

技术介绍

[0002]在软件版本更新的过程中,通常会针对软件中的部分模块进行更新替换,若软件模块更新变动较大时,通常会造成其软件接口与其他软件模块不兼容,因此需要对源代码进行大量的修改和调试工作,解决其与其他软件模块的适配问题。
[0003]通常,对源代码进行修改的常用方法是软件开发人员进行手动修改,具体的,软件开发人员根据软件构建时的报错信息来检测源代码中错误的调用接口,然后结合脚本在源码中进行基于正则匹配的扫描检测,得到需要修改的检测点,最后对得到的检测点进行手动修改和调试工作,完成对源代码的更新。
[0004]基于脚本对源代码中的修改点进行检测精确度不高,难以准确定位代码的修改点,需要大量的人力进行反复的查找,修改和测试操作,浪费人力资源且效率低下,同时软件适配的质量难以保障,增加了代码的安全隐患;因此,如何对源码进行更精确的检测和修改,更有效的完成软件接口与其他软件模块的适配,成为亟需解决的问题。

技术实现思路

[0005]本申请实施例提供了一种软件接口的适配方法、装置及其系统,用于根据函数适配规则自动修改源节点的源代码,使得软件版本更新后的软件接口能自动适配其他软件模块,提高接口文档转换效率。
[0006]本申请实施例的第一方面提供一种软件接口的适配方法,包括:
[0007]当软件系统版本更新后,为了使得软件接口与其他软件模块兼容,就需要对软件接口的源文件进行修改,适配系统可以首先建立源接口和目的接口之间的函数适配规则,该函数适配规则包括源接口的函数集与目的接口的函数集的映射关系,然后适配系统再对源接口的源文件进行语法分析,将其转换为中间代码,再根据函数适配规则匹配中间代码中的修改点,并且对修改点的内容进行修改,使得源接口转换为目的接口。
[0008]利用函数适配规则对源接口的源文件进行修改,可以根据源接口的函数集与目的接口的函数集的映射关系,自动匹配修改点并且完成修改点内容的修改,这样无需人工通过脚本重复的查找、修改源接口的代码,提高了对源接口对应的源文件修改的准确性,可靠性和高效性。
[0009]基于第一方面,本申请实施例还提供了第一方面的第一种实施方式:
[0010]在对源接口对应的源文件进行修改之前,首先要建立其需要修改的源接口与需要得到的目的接口的映射关系,并且需要根据该映射关系来建立函数适配规则,具体的,先获取源接口和目的接口各自的源文件,然后对源接口和目的接口的源文件都分别进行语法分析,这样就可以得到源接口对应的第一函数集,和目的接口对应的第二函数集,然后根据第
一函数集中的函数签名和第二函数集的函数签名,建立函数与函数的对应关系,示例性的,可以将第一函数集和第二函数集中,函数名称相同的两个函数进行关联,最后,得到第一函数集和第二函数集的函数映射关系。
[0011]根据第一函数集中包括的多个函数签名和第二函数集中包括的多个函数签名,将第一函数集中的多个函数与第二函数集中的多个函数进行关联,得到第一函数集和第二函数集的函数映射关系,这样就可以根据函数来确定分组确定源接口与目的接口的不同,更加精准的查找到源接口对应源文件中需要修改的修改点。
[0012]基于第一方面至第一方面的第一种实施方式,本申请实施例还提供了第一方面的第二种实施方式:
[0013]函数适配规则中还包括源接口对应头文件信息和目的接口对应头文件信息的映射关系;接口头文件信息中一般包括函数声明,类结构声明等,用于对接口进行声明;源接口对应的头文件信息与目的接口对应的头文件信息的映射关系用于修改源接口的源文件;具体的,系统先获取源接口对应的第一头文件信息和目的接口对应的第二头文件信息;然后根据第一头文件信息中的接口声明和目的接口中的接口声明,得到该映射关系。
[0014]根据第一头文件信息中包括的接口声明和第二头文件信息中包括的接口声明,可以得到第一头文件信息和第二头文件信息的函数映射关系,这样就可以更加有效的确定源接口对应头文件与目的接口对应头文件的不同,精准的查找到源接口对应源文件中需要修改的修改点。
[0015]基于第一方面的第一种实施方式至第一方面的第二种实施方式,本申请实施例还提供了第一方面的第三种实施方式:
[0016]源接口与目的接口对应的函数适配规则反应了源接口与目的接口中各函数集之间的对应关系,那么就可以根据该函数适配规则中的函数签名来确定源接口对应的中间代码中待修改的函数调用语句;然后在函数适配规则中查找待修改的函数调用语句对应的目的接口中的函数调用语句,再根据该目的接口的函数签名,对源接口的函数调用语句进行修改。
[0017]根据函数适配规则可以自动的扫描源接口对应的中间代码,精准的找出中间代码中待修改的数据类型,再根据函数适配规则中该待修改的数据类型对应的目的接口中的目标数据类型,对其进行修改,从而最终实现对源码修改,提高了源接口文档的转换效率,无需人工重复查找修改,提高软件接口适配质量。
[0018]基于第一方面的第二种实施方式至第一方面的第三种实施方式,本申请实施例还提供了第一方面的第四种实施方式:
[0019]同理,可以根据根据源接口对应的头文件信息与目的接口对应的头文件信息的映射关系,确定源接口对应的第一头文件信息的待修改信息;然后根据函数适配规则中该待修改信息对应的目的接口的目标头文件信息,来对第一头文件信息中的待修改信息进行修改。
[0020]本申请第二方面提供了一种软件接口的适配装置,包括:
[0021]获取单元,用于获取源接口和目的接口对应的函数适配规则;所述函数适配规则包括源接口对应的函数集与目的接口对应的函数集的映射关系;
[0022]转换单元,用于对所述源接口对应的源文件进行语法分析,将所述源接口对应的
源文件转换为中间代码;
[0023]处理单元,用于根据所述函数适配规则和所述中间代码对所述源接口对应的源文件进行修改。
[0024]基于第二方面,本申请实施例还提供了第二方面的第一种实施方式:
[0025]所述获取单元,还用于获取所述源接口和所述目的接口对应的源文件;
[0026]所述转换单元,还用于对所述源接口的源文件和所述目的接口的源文件进行语法分析,获取所述源文件对应的第一函数集和所述目的接口对应的第二函数集;
[0027]所述处理单元,还用于根据所述第一函数集的函数签名和所述第二函数集的函数签名,得到所述第一函数集和所述第二函数集的所述函数映射关系。
[0028]基于第二方面至第二方面的第一种实施方式,本申请实施例还提供了第二方面的第二种实施方式:
[0029]所述函数适配规则还包括所述源接口对应的头文件信息与所述目的接口对应的头文件信息的映射关系;
[0030]所述获取单元,还用于获取所述源接口对应的第一头文件信息和所述目的接口对应的第二头文本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件接口的适配方法,其特征在于,所述方法包括:获取源接口和目的接口对应的函数适配规则,所述函数适配规则包括源接口对应的函数集与目的接口对应的函数集的映射关系;对所述源接口对应的源文件进行语法分析,将所述源接口对应的源文件转换为中间代码;根据所述函数适配规则和所述中间代码对所述源接口对应的源文件进行修改。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述源接口和所述目的接口对应的源文件;对所述源接口的源文件和所述目的接口的源文件进行语法分析,获取所述源文件对应的第一函数集和所述目的接口对应的第二函数集;根据所述第一函数集的函数签名和所述第二函数集的函数签名,得到所述第一函数集和所述第二函数集的所述函数映射关系。3.根据权利要求1或2所述的方法,其特征在于,所述函数适配规则还包括所述源接口对应的头文件信息与所述目的接口对应的头文件信息的映射关系,所述方法还包括:获取所述源接口对应的第一头文件信息和所述目的接口对应的第二头文件信息;根据所述第一头文件信息中的接口声明和所述第二头文件信息中的接口声明,得到所述源接口对应的头文件信息与所述目的接口对应的头文件信息的映射关系。4.根据权利要求2至3任一项所述的方法,其特征在于,所述根据所述函数适配规则和所述中间代码对所述源接口对应的源文件进行修改,包括:根据所述源接口对应的函数集与目的接口对应的函数集的映射关系,确定所述中间代码中待修改的函数调用语句;根据所述函数适配规则,对所述待修改的函数调用语句进行修改。5.根据权利要求3至4任一项所述的方法,其特征在于,所述方法还包括:根据所述源接口对应的头文件信息与所述目的接口对应的头文件信息的映射关系,确定所述第一头文件信息的待修改信息;根据所述函数适配规则,对所述第一头文件信息中的待修改信息进行修改。6.一种软件接口的适配装置,其特征在于,所述包括:获取单元,用于获取源接口和目的接口对应的函数适配规则;所述函数适配规则包括源接口对应的函数集与目的接口对应的函数集的映射关系;转换单元,用于对所述源接口对应的源文件进行语法分析,将所述源接口对应的源文件转换为中间代码;处理单元,用于根据所述函数适配规则和所述中间代码对所述源接口对应的...

【专利技术属性】
技术研发人员:苏梓鑫乐永年
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1