接口定义校准方法、装置及电子设备与流程

摘要: 本技术涉及汽车软件开发与软件验证,尤其涉及一种接口定义校准方法、装置及电子设备。背景技术:1、随着汽车智能化、网联化、共享化的趋势发展,面向服务的软件架构(se...
接口定义校准方法、装置及电子设备与流程

本技术涉及汽车软件开发与软件验证,尤其涉及一种接口定义校准方法、装置及电子设备。

背景技术:

1、随着汽车智能化、网联化、共享化的趋势发展,面向服务的软件架构(service-oriented architecture,soa)通过标准化的服务接口、松耦合的服务机制以及可组合扩展的服务特性,已成为汽车软件服务开发的重要技术基础。soa服务设计工具链系统为用户提供了服务的定义、服务的方法的定义、方法的参数定义、应用的创建以及应用部署等功能,并支持对服务、应用进行版本管理。

2、车端服务通常在该工具链系统中进行定义,而实际的服务开发代码则存储于代码仓库中,代码仓库中同时维护了对应分支的服务定义数据。现有技术通常基于汽车开放系统架构标准(autosar),在代码仓库中以可扩展标记语言(autosar extensible markuplanguage,arxml)文件维护各车型的服务接口定义。

3、然而,实际开发过程中,由于不同车型、不同开发阶段的服务版本可能存在差异,代码仓库中的arxml文件与平台服务定义之间通常仍依赖人工核对,难以及时发现服务、方法、参数及数据类型层面的版本偏差,一方面,导致无效开发、服务代码的延迟交付,另一方面,人工核对的方式校验效率较低,且难以保障服务接口定义的一致性。

技术实现思路

1、本技术提供的实施例的目的之一在于提供一种接口定义校准方法、装置及电子设备,实现服务接口定义的系统性校准,提高接口版本一致性校验的效率和准确性,从而提升服务代码的交付效率。

2、第一方面,本技术实施例提供一种接口定义标准方法,主要包括:

3、确定目标车型部署下的基准应用版本;

4、获取代码仓库中与基准应用版本对应的服务接口定义文件;

5、对服务接口定义文件进行结构化解析,得到第一服务数据集;

6、从平台系统中查询基准应用版本对应的服务定义数据,得到第二服务数据集;

7、分别从服务维度、方法维度、参数维度以及数据类型维度对第一服务数据集与第二服务数据集进行比对,得到比对结果;

8、根据比对结果,输出第一服务数据集的校准结果。

9、在一种可能的实现方式中,获取代码仓库中与基准应用版本对应的服务接口定义文件,包括:

10、根据基准应用版本的项目标识及分支信息,从代码仓库中下载服务接口定义文件。

11、在一种可能的实现方式中,对服务接口定义文件进行结构化解析,得到第一服务数据集,包括:

12、按照元模型规范对服务接口定义文件进行结构化解析,得到第一服务数据、第一方法数据、第一参数数据及第一参数数据类型;

13、将第一服务数据、第一方法数据、第一参数数据及第一参数数据类型确定为第一服务数据集。

14、在一种可能的实现方式中,从平台系统中查询基准应用版本对应的服务定义数据,得到第二服务数据集,包括:

15、根据基准应用版本对应的应用标识,从平台系统的数据库中查询应用版本下的第二服务数据、服务下的第二方法数据、方法下的第二参数数据以及第二参数数据类型;

16、将第二服务数据、第二方法数据、第二参数数据以及第二参数数据类型转化为与第一服务数据集相同的数据结构,得到第二服务数据集。

17、在一种可能的实现方式中,分别从服务维度、方法维度、参数维度以及数据类型维度对第一服务数据集与第二服务数据集进行比对,得到比对结果,包括:

18、从服务维度,比对服务数据中的服务标识和/或服务名称的一致性;

19、从方法维度,比对方法数据中的方法名称和/或方法类型的一致性;

20、从参数维度,比对参数数据中的参数数量、参数名称和/或参数类型的一致性;

21、从数据类型维度,比对参数数据类型中的数据类型名称、数据类型类别和/或数据类型成员的一致性。

22、在一种可能的实现方式中,从数据类型维度,比对参数数据类型中的数据类型名称、数据类型类别和/或数据类型成员的一致性,包括:

23、判断参数数据类型的数据类型类别,数据类型类别包括基础数据类型、数组类型和结构体类型中的一种或多种;

24、在数据类型类别为基础数据类型的情况下,直接判定数据类型维度的比对通过;

25、在数据类型类别为数组类型的情况下,比对数组类型的一致性,并在数组类型的元素类型不为基础数据类型时,递归执行从数据类型维度的比对;

26、在数据类型类别为结构体类型的情况下,比对结构体类型及其成员数据类型的一致性。

27、在一种可能的实现方式中,根据比对结果,输出第一服务数据集的校准结果,包括:

28、根据比对结果中差异数据的性质,将差异划分为设计错误类型和配置警告类型;

29、生成包含差异类型、差异详情及所属服务信息的校准结果。

30、在一种可能的实现方式中,根据比对结果中差异数据的性质,将差异划分为设计错误类型和配置警告类型,包括:

31、在第一服务数据集中存在目标接口数据而第二服务数据集中不存在对应接口数据的情况下,若目标接口数据的接口名称符合预设命名规则,则确定差异为配置警告类型;若目标接口数据的接口名称不符合预设命名规则,则确定差异为设计错误类型。

32、第二方面,本技术实施例提供一种接口定义标准装置,包括:

33、获取模块,确定目标车型部署下的基准应用版本;获取代码仓库中与基准应用版本对应的服务接口定义文件;

34、处理模块,对服务接口定义文件进行结构化解析,得到第一服务数据集;从平台系统中查询基准应用版本对应的服务定义数据,得到第二服务数据集;

35、对比模块,分别从服务维度、方法维度、参数维度以及数据类型维度对第一服务数据集与第二服务数据集进行比对,得到比对结果;

36、生成模块,根据比对结果,输出第一服务数据集的校准结果。

37、第三方面,本技术实施例提供一种电子设备,包括:存储器,处理器;

38、存储器存储计算机执行指令;

39、处理器执行存储器存储的计算机执行指令,使得处理器执行上述提供的方法。

40、第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述提供的方法。

41、本技术实施例提供的一种接口定义校准方法、装置及电子设备,通过确定目标车型部署下的基准应用版本,获取与该基准应用版本对应的服务接口定义文件并进行结构化解析,得到第一服务数据集,同时通过查询平台系统中对应的服务定义数据得到第二服务数据集,并分别从服务维度、方法维度、参数维度以及数据类型维度对第一服务数据集和第二服务数据集进行比对,得到针对第一服务数据集的校准结果。从而,实现了全面识别车端服务接口定义与平台服务定义之间在服务、方法、参数及复杂数据类型层面的差异情况,进而提升接口定义一致性校验的效率与准确性,提升了服务代理的交付效率。