CN117850753B - 一种基于someip矩阵生成接口代码的方法、装置、设备及介质 - Google Patents
一种基于someip矩阵生成接口代码的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117850753B CN117850753B CN202410248576.3A CN202410248576A CN117850753B CN 117850753 B CN117850753 B CN 117850753B CN 202410248576 A CN202410248576 A CN 202410248576A CN 117850753 B CN117850753 B CN 117850753B
- Authority
- CN
- China
- Prior art keywords
- someip
- file
- service
- interface
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000004891 communication Methods 0.000 claims description 43
- 230000006399 behavior Effects 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Communication Control (AREA)
Abstract
本申请提供一种基于someip矩阵生成接口代码的方法、装置、设备及介质。其中方法包括:获取车载网络的someip矩阵文件;确定所述someip矩阵文件中包含生成接口代码所需的数据项;利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成接口描述fidl文件和服务部署fdepl文件;根据所述fidl文件和fdepl文件生成接口代码。可见,通过本申请能够根据someip矩阵文件自动生成someip接口代码文件,提高了someip接口的开发效率,缩短了开发周期。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种基于someip矩阵生成接口代码的方法、装置、设备及介质。
背景技术
随着近年来汽车电子化浪潮的快速发展,汽车内部电子电气元器件的数量和复杂度大幅提升,传统分布式架构已经不能满足汽车智能化时代的发展需求,所以车载网络转向域控制和集中控制的趋势越来越明显,车内通信架构将逐渐向以太网升级。与传统的车载网络不同,车载以太网可以提供带宽密集型应用所需的更高数据传输能力,同时其技术优势可以很好地满足汽车高可靠性、低电磁辐射、低功耗、带宽分配、低延迟、轻量化等方面的要求,将成为下一代汽车网络的关键技术。
Someip是一种基于tcp/ip的通信协议,目前广泛用于车载以太网各个ECU(Electronic Control Unit,电子控制单元)的通信。目前生成someip接口主要是通过软件工程师编写fidl文件(即接口描述文件)和fdepl文件(即服务部署文件)。在这个过程中,随着车载控制器越来越复杂,应用软件工程师需要手动配置的接口信息越来越多,开发周期也变得越来越长,使得开发效率低下。进一步人工配置难免会出现一些错误,增加调试时间。
发明内容
本申请的目的是提供一种基于someip矩阵生成接口代码的方法、装置、电子设备及存储介质,能够提高someip接口的开发效率,缩短开发周期。
第一方面,本申请实施例提供了 一种基于someip矩阵生成接口代码的方法,包括:
获取车载网络的someip矩阵文件;
确定所述someip矩阵文件中包含生成接口代码所需的数据项;
利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成接口描述fidl文件和服务部署fdepl文件;
根据所述fidl文件和fdepl文件生成接口代码。
在本申请的一些实施方式中,所述确定所述someip矩阵文件中包含生成接口代码所需的数据项,包括:
获取所述someip矩阵文件的表头信息;
校验服务定义表,确定所述表头信息中包括:服务名称、服务标识、接口类型、接口的方法/事件名称、接口的方法/事件标识、通信协议、输入参数、输出参数和事件类型的输出参数;
校验数据类型定义表,确定所述表头信息中包括:数据类型名称、数据类型、数组或字符串长度类型、数组或字符串最小长度、数组或字符串最大长度、结构体和联合体的数据成员位置、数据成员名称、数据成员类型和基础数据类型;
校验someip通信行为定义表,确定所述表头信息中包括:服务名称、服务标识、主版本号、子版本号、生命周期、客户端名称、服务端名称和传输协议。
在本申请的一些实施方式中,利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成fidl文件,包括:
S11、逐行遍历someip矩阵文件中的someip通信行为定义表,取出一条数据,若该数据为新的服务名称,在fidl文件中新增服务接口定义;
S12、遍历someip矩阵文件中的服务定义表,找到所述步骤S11中的服务名称,获取属于该服务名称对应服务接口下的方法、事件、字段,并添加到fidl文件中;
S13、遍历someip矩阵文件中的数据类型定义表,找到所述步骤S12中的服务接口下的方法、事件、字段的输入参数类型和输出参数类型,并添加到fidl文件中;
重复以上步骤,添加新的服务接口定义。
在本申请的一些实施方式中,利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成fdepl文件,包括:
S21、遍历someip矩阵文件中的someip通信行为定义表,取出一条数据,若该数据为新的服务名称,在fdepl文件中新增服务接口定义,找到服务标识并赋值给SomeIp服务标识;
S22、遍历someip矩阵文件中的服务定义表,找到所述步骤S21中的服务名称,获取属于该服务名称对应服务接口下的方法、事件、字段,并添加到fdepl文件中;
S23、遍历someip矩阵文件中的服务定义表,找到所述步骤S22中定义的方法对应的方法标识,并赋值给SomeIp方法标识,找到通信协议并赋值给SomeIp通信协议类型;
S24、遍历someip矩阵文件中的服务定义表,找到步骤S22中定义的事件对应的事件标识赋值给SomeIp事件标识, 找到组标识并赋值给SomeIp事件组的标识;
重复上述步骤,添加新的服务接口定义。
在本申请的一些实施方式中,所述根据所述fidl文件和fdepl文件生成接口代码,包括:
基于所述fidl文件,调用commonapi-core-generator工具生成commonapi 通用接口代码;
基于fdepl文件,调用commonapi-someip-generator工具生成someip 接口代码。
第二方面,本申请实施例提供了 一种基于someip矩阵生成接口代码的装置,包括:
获取模块,用于获取车载网络的someip矩阵文件;
校验模块,用于确定所述someip矩阵文件中包含生成接口代码所需的数据项;
转换模块,用于利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成接口描述fidl文件和服务部署fdepl文件;
生成模块,用于根据所述fidl文件和fdepl文件生成接口代码。
第三方面,本申请提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现如第一方面所述的方法。
第四方面,本申请实提供了一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如第一方面所述的方法。
相较于现有技术,本申请提供的基于someip矩阵生成接口代码的方法,通过获取车载网络的someip矩阵文件;确定所述someip矩阵文件中包含生成接口代码所需的数据项;利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成接口描述fidl文件和服务部署fdepl文件;根据所述fidl文件和fdepl文件生成接口代码。可见,通过本申请能够根据someip矩阵文件自动生成someip接口代码文件,提高了someip接口的开发效率,缩短了开发周期。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例所提供的一种基于someip矩阵生成接口代码的方法的流程图;
图2示出了本申请实施例中提供的someip矩阵文件的示意图;
图3示出了本申请实施例所提供的fidl文件示意图;
图4示出了本申请实施例所提供的fdepl文件示意图;
图5示出了本申请实施例所提供的someip接口生成工具的操作界面示意图;
图6示出了本申请实施例所提供的一种基于someip矩阵生成接口代码的装置的示意图;
图7示出了本申请实施例所提供的一种电子设备的示意图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
为了使本领域技术人员准确、清楚地理解本公开的技术方案,通过示例的方式对本公开技术方案进行详细描述。
请参考图1,图1是本申请实施例提供的一种基于someip矩阵生成接口代码的方法的流程图,包括以下步骤:
S101、获取车载网络的someip矩阵文件;
如图2所示为本申请实施例中所述的someip矩阵文件的示意图。
S102、确定所述someip矩阵文件中包含生成接口代码所需的数据项;
本实施例中,获取到someip矩阵文件后,首先校验someip矩阵文件的合法性,检查是否包含生成someip接口代码所需数据项。当someip矩阵文件不包含所需数据项时,校验结果为不合法,结束流程;当校验结果为合法时,继续进行后续步骤。
具体的,上述步骤S102可以实现如下:
获取所述someip矩阵文件的表头信息;例如获取图2所示someip矩阵文件的表头信息。
校验服务定义表,确定所述表头信息中包括:服务名称、服务标识、接口类型、接口的方法/事件名称、接口的方法/事件标识、通信协议、输入参数、输出参数和事件类型的输出参数;具体的,检查图2所示someip矩阵文件的表头信息是否包含Service Name(服务名称),Service ID(服务标识),RPC Type(接口类型),Method/Event Name(方法/事件名称),Method/Event ID(方法/事件标识), UDP/TCP(通信协议),Input Parameter(输入参数),Output Parameter(输出参数),Event/Notification Event Parameter(事件类型的输出参数)。
校验数据类型定义表,确定所述表头信息中包括:数据类型名称、数据类型、数组或字符串长度类型、数组或字符串最小长度、数组或字符串最大长度、结构体和联合体的数据成员位置、数据成员名称、数据成员类型和基础数据类型;具体的,检查图2所示someip矩阵文件的表头信息是否包含DataType Name(数据类型名称),DataType Category(数据类型),String/Array Length Type(数组或字符串长度类型),String/Array Length Min(数组或字符串最小长度),String/Array Length Max(数组或字符串最大长度),MemberPosition(数据成员位置,特指结构体和联合体),Member Name(数据成员名称),MemberDatatype Reference(数据成员的类型),Base Datatype(基础数据类型)。
校验someip通信行为定义表,确定所述表头信息中包括:服务名称、服务标识、主版本号、子版本号、生命周期、客户端名称、服务端名称和传输协议。具体的,检查图2所示someip矩阵文件的表头信息是否包含Service Name(服务名称),Service ID(服务标识),Major Version(主版本号),Minor Version(子版本号),TTL(生命周期),Client(客户端名称),Server(服务端名称),Transport Protocol(传输协议)。
S103、利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成接口描述fidl文件和服务部署fdepl文件;
所述生成fidl文件是根据someip矩阵文件对所需的接口和数据类型按照预先设定的语法规则进行定义,fidl文件内容包括但不限于:package(命名空间),interface(类名称),method(方法),broadcast(事件),attribute(属性),struct(结构体),array(数组),union(联合体)等类型的定义。
所述生成fdepl文件是根据someip矩阵文件对接口的属性进行赋值操作,包括但不限于SomeIpServiceID(SomeIp服务标识),SomeIpEventGroups(SomeIp事件组的标识),SomeIpMethodID(SomeIp方法标识), SomeIpArrayLengthWidth(数组长度的字节数),SomeIpStructLengthWidth(结构体长度的字节数),SomeIpReliable(SomeIp通信协议类型),SomeIpEventID(SomeIp事件标识)等属性。
也就是说,本步骤是从someip矩阵文件获取信息,基于设定的规则将获取的信息转换为fidl文件和fdepl文件。
具体的,上部步骤S103中利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成fidl文件,包括:
S11、逐行遍历someip矩阵文件中的someip通信行为定义表,取出一条数据,若该数据为新的Service Name(服务名称),在fidl文件中新增服务接口interface定义;
S12、遍历someip矩阵文件中的服务定义表,找到所述步骤S11中的Service Name(服务名称),获取属于该服务名称对应服务接口下的方法method、事件event、字段field,并添加到fidl文件中;
S13、遍历someip矩阵文件中的数据类型定义表,找到所述步骤S12中的服务接口下的method、事件event、字段field的输入参数类型和输出参数类型,并添加到fidl文件中;
重复以上步骤S11- S13,添加所有新的服务接口定义,如图3所示,基于someip矩阵文件利用预设的脚本提取信息生成fidl文件,fidl文件可以描述接口和数据结构。
具体的,上部步骤S103中利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成fdepl文件,包括:
S21、遍历someip矩阵文件中的someip通信行为定义表,取出一条数据,若该数据为新的Service Name(服务名称),在fdepl文件中新增服务接口定义,找到Service ID(服务标识)并赋值给SomeIpServiceID;
S22、遍历someip矩阵文件中的服务定义表,找到所述步骤S21中的Service Name,获取属于该服务名称对应服务接口下的method、event、field,并添加到fdepl文件中;
S23、遍历someip矩阵文件中的服务定义表,找到所述步骤S22中定义的method对应的方法标识,并赋值给SomeIpMethodID,找到UDP/TCP并赋值给SomeIpReliable;
S24、遍历someip矩阵文件中的服务定义表,找到步骤S22中定义的event对应的Event ID赋值给SomeIpEventID, 找到group ID(组标识)并赋值给SomeIpEventGroups;
重复上述步骤S21-S24,添加所有新的服务接口部署定义,如图4所示,基于someip矩阵文件利用预设的脚本提取信息生成fdepl文件,该fdepl文件可以描述服务部署信息。
S104、根据所述fidl文件和fdepl文件生成接口代码。
具体的,生成接口代码是根据fidl文件和fdepl文件按照预先设定的规则生成someip接口代码(C++)。
具体的,根据所述fidl文件和fdepl文件可以生成c++接口代码,上述步骤S104具体包括:
基于所述fidl文件,调用commonapi-core-generator工具生成commonapi 通用接口代码;
基于fdepl文件,调用commonapi-someip-generator工具生成someip 接口代码。
为了便于理解,本申请还提供了如图5所示的someip接口生成工具的操作界面示意图,该someip接口生成工具采用本申请提供的基于someip矩阵生成接口代码的方法。图5所示操作界面中,可以通过文件加载按钮来加载someip矩阵文件,通过一键生成按钮来生成someip接口代码。日志窗口中可以显示someip接口代码的生成过程以及其他信息。
本申请实施例提供的基于someip矩阵生成接口代码的方法,从someip矩阵文件提取信息,生成fidl文件(接口描述文件)和fdepl(服务部署文件)。其中接口描述文件包含命名空间、类名、函数名、函数的输入输出参数、数据类型定义等。服务部署文件包括数据的传输方向、接口的标识、通信协议、数据流序列化的定义等。利用预设定的脚本对所述fidl文件和fdepl文件进行处理,得到someip接口代码文件。可见,通过本申请能够根据someip矩阵文件自动生成someip接口代码文件,提高了someip接口的开发效率,缩短了开发周期。
在上述的实施例中,提供了一种基于someip矩阵生成接口代码的方法,与之相对应的,本申请还提供一种基于someip矩阵生成接口代码的装置10。本申请实施例提供的基于someip矩阵生成接口代码的装置可以实施上述基于someip矩阵生成接口代码的方法,该基于someip矩阵生成接口代码的装置可以通过软件、硬件或软硬结合的方式来实现。例如,该基于someip矩阵生成接口代码的装置可以包括集成的或分开的功能模块或单元来执行上述各方法中的对应步骤。请参考图6所示,包括:
获取模块101,用于获取车载网络的someip矩阵文件;
校验模块102,用于确定所述someip矩阵文件中包含生成接口代码所需的数据项;
转换模块103,用于利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成接口描述fidl文件和服务部署fdepl文件;
生成模块104,用于根据所述fidl文件和fdepl文件生成接口代码。
在本申请的一些实施方式中,所述校验模块,具体用于:
获取所述someip矩阵文件的表头信息;
校验服务定义表,确定所述表头信息中包括:服务名称、服务标识、接口类型、接口的方法/事件名称、接口的方法/事件标识、通信协议、输入参数、输出参数和事件类型的输出参数;
校验数据类型定义表,确定所述表头信息中包括:数据类型名称、数据类型、数组或字符串长度类型、数组或字符串最小长度、数组或字符串最大长度、结构体和联合体的数据成员位置、数据成员名称、数据成员类型和基础数据类型;
校验someip通信行为定义表,确定所述表头信息中包括:服务名称、服务标识、主版本号、子版本号、生命周期、客户端名称、服务端名称和传输协议。
在本申请的一些实施方式中,所述转换模块,具体用于:
S11、逐行遍历someip矩阵文件中的someip通信行为定义表,取出一条数据,若该数据为新的服务名称,在fidl文件中新增服务接口定义;
S12、遍历someip矩阵文件中的服务定义表,找到所述步骤S11中的服务名称,获取属于该服务名称对应服务接口下的方法、事件、字段,并添加到fidl文件中;
S13、遍历someip矩阵文件中的数据类型定义表,找到所述步骤S12中的服务接口下的方法、事件、字段的输入参数类型和输出参数类型,并添加到fidl文件中;
重复以上步骤,添加新的服务接口定义。
在本申请的一些实施方式中,所述转换模块,具体用于:
S21、遍历someip矩阵文件中的someip通信行为定义表,取出一条数据,若该数据为新的服务名称,在fdepl文件中新增服务接口定义,找到服务标识并赋值给SomeIp服务标识;
S22、遍历someip矩阵文件中的服务定义表,找到所述步骤S21中的服务名称,获取属于该服务名称对应服务接口下的方法、事件、字段,并添加到fdepl文件中;
S23、遍历someip矩阵文件中的服务定义表,找到所述步骤S22中定义的方法对应的方法标识,并赋值给SomeIp方法标识,找到通信协议并赋值给SomeIp通信协议类型;
S24、遍历someip矩阵文件中的服务定义表,找到步骤S22中定义的事件对应的事件标识赋值给SomeIp事件标识, 找到组标识并赋值给SomeIp事件组的标识;
重复上述步骤,添加新的服务接口定义。
在本申请的一些实施方式中,所述生成模块,具体用于:
基于所述fidl文件,调用commonapi-core-generator工具生成commonapi 通用接口代码;
基于fdepl文件,调用commonapi-someip-generator工具生成someip 接口代码。
本申请实施例提供的基于someip矩阵生成接口代码的装置与本申请实施例提供的基于someip矩阵生成接口代码的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的方法对应的电子设备,所述电子设备可以是用于客户端的电子设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行上述基于someip矩阵生成接口代码的方法。
请参考图7,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图7所示,所述电子设备20包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本申请前述任一实施方式所提供的基于someip矩阵生成接口代码的方法。
其中,存储器201可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线202可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述基于someip矩阵生成接口代码的方法可以应用于处理器200中,或者由处理器200实现。
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
本申请实施例提供的电子设备与本申请实施例提供的基于someip矩阵生成接口代码的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的基于someip矩阵生成接口代码的方法对应的计算机可读存储介质,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的基于someip矩阵生成接口代码的方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的基于someip矩阵生成接口代码的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。
Claims (5)
1.一种基于someip矩阵生成接口代码的方法,其特征在于,包括:
获取车载网络的someip矩阵文件;
确定所述someip矩阵文件中包含生成接口代码所需的数据项;
利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成接口描述fidl文件和服务部署fdepl文件;
根据所述fidl文件和fdepl文件生成接口代码;
所述确定所述someip矩阵文件中包含生成接口代码所需的数据项,包括:
获取所述someip矩阵文件的表头信息;
校验服务定义表,确定所述表头信息中包括:服务名称、服务标识、接口类型、接口的方法/事件名称、接口的方法/事件标识、通信协议、输入参数、输出参数和事件类型的输出参数;
校验数据类型定义表,确定所述表头信息中包括:数据类型名称、数据类型、数组或字符串长度类型、数组或字符串最小长度、数组或字符串最大长度、结构体和联合体的数据成员位置、数据成员名称、数据成员类型和基础数据类型;
校验someip通信行为定义表,确定所述表头信息中包括:服务名称、服务标识、主版本号、子版本号、生命周期、客户端名称、服务端名称和传输协议;
利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成fidl文件,包括:
S11、逐行遍历someip矩阵文件中的someip通信行为定义表,取出一条数据,若该数据为新的服务名称,在fidl文件中新增服务接口定义;
S12、遍历someip矩阵文件中的服务定义表,找到所述步骤S11中的服务名称,获取属于该服务名称对应服务接口下的方法、事件、字段,并添加到fidl文件中;
S13、遍历someip矩阵文件中的数据类型定义表,找到所述步骤S12中的服务接口下的方法、事件、字段的输入参数类型和输出参数类型,并添加到fidl文件中;
重复以上步骤,添加新的服务接口定义;
利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成fdepl文件,包括:
S21、遍历someip矩阵文件中的someip通信行为定义表,取出一条数据,若该数据为新的服务名称,在fdepl文件中新增服务接口定义,找到服务标识并赋值给SomeIp服务标识;
S22、遍历someip矩阵文件中的服务定义表,找到所述步骤S21中的服务名称,获取属于该服务名称对应服务接口下的方法、事件、字段,并添加到fdepl文件中;
S23、遍历someip矩阵文件中的服务定义表,找到所述步骤S22中定义的方法对应的方法标识,并赋值给SomeIp方法标识,找到通信协议并赋值给SomeIp通信协议类型;
S24、遍历someip矩阵文件中的服务定义表,找到步骤S22中定义的事件对应的事件标识赋值给SomeIp事件标识, 找到组标识并赋值给SomeIp事件组的标识;
重复上述步骤,添加新的服务接口定义。
2.根据权利要求1所述的方法,其特征在于,所述根据所述fidl文件和fdepl文件生成接口代码,包括:
基于所述fidl文件,调用commonapi-core-generator工具生成commonapi 通用接口代码;
基于fdepl文件,调用commonapi-someip-generator工具生成someip 接口代码。
3.一种基于someip矩阵生成接口代码的装置,其特征在于,包括:
获取模块,用于获取车载网络的someip矩阵文件;
校验模块,用于确定所述someip矩阵文件中包含生成接口代码所需的数据项;
转换模块,用于利用预设的脚本从所述生成接口代码所需的数据项中提取目标信息,并根据所述目标信息生成接口描述fidl文件和服务部署fdepl文件;
生成模块,用于根据所述fidl文件和fdepl文件生成接口代码;
所述校验模块,还用于:
获取所述someip矩阵文件的表头信息;
校验服务定义表,确定所述表头信息中包括:服务名称、服务标识、接口类型、接口的方法/事件名称、接口的方法/事件标识、通信协议、输入参数、输出参数和事件类型的输出参数;
校验数据类型定义表,确定所述表头信息中包括:数据类型名称、数据类型、数组或字符串长度类型、数组或字符串最小长度、数组或字符串最大长度、结构体和联合体的数据成员位置、数据成员名称、数据成员类型和基础数据类型;
校验someip通信行为定义表,确定所述表头信息中包括:服务名称、服务标识、主版本号、子版本号、生命周期、客户端名称、服务端名称和传输协议;
所述转换模块,还用于:
逐行遍历someip矩阵文件中的someip通信行为定义表,取出一条数据,若该数据为新的服务名称,在fidl文件中新增服务接口定义;
遍历someip矩阵文件中的服务定义表,找到所述服务名称,获取属于该服务名称对应服务接口下的方法、事件、字段,并添加到fidl文件中;
遍历someip矩阵文件中的数据类型定义表,找到所述服务接口下的方法、事件、字段的输入参数类型和输出参数类型,并添加到fidl文件中;
重复以上步骤,添加新的服务接口定义;
所述转换模块,还用于:
遍历someip矩阵文件中的someip通信行为定义表,取出一条数据,若该数据为新的服务名称,在fdepl文件中新增服务接口定义,找到服务标识并赋值给SomeIp服务标识;
遍历someip矩阵文件中的服务定义表,找到所述服务名称,获取属于该服务名称对应服务接口下的方法、事件、字段,并添加到fdepl文件中;
遍历someip矩阵文件中的服务定义表,找到定义的所述方法对应的方法标识,并赋值给SomeIp方法标识,找到通信协议并赋值给SomeIp通信协议类型;
遍历someip矩阵文件中的服务定义表,找到定义的所述事件对应的事件标识赋值给SomeIp事件标识, 找到组标识并赋值给SomeIp事件组的标识;
重复上述步骤,添加新的服务接口定义。
4.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时以实现如权利要求1至2任一项所述的方法。
5.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至2任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410248576.3A CN117850753B (zh) | 2024-03-05 | 2024-03-05 | 一种基于someip矩阵生成接口代码的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410248576.3A CN117850753B (zh) | 2024-03-05 | 2024-03-05 | 一种基于someip矩阵生成接口代码的方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117850753A CN117850753A (zh) | 2024-04-09 |
CN117850753B true CN117850753B (zh) | 2024-05-24 |
Family
ID=90529117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410248576.3A Active CN117850753B (zh) | 2024-03-05 | 2024-03-05 | 一种基于someip矩阵生成接口代码的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117850753B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118426876B (zh) * | 2024-07-05 | 2024-09-17 | 广州六环信息科技有限公司 | 应用程序接口生成装置、方法、存储介质和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553978A (zh) * | 2022-04-24 | 2022-05-27 | 深圳市城市交通规划设计研究中心股份有限公司 | 一种传感器报文数据处理方法、电子设备及存储介质 |
CN115129395A (zh) * | 2022-07-12 | 2022-09-30 | 北斗星通智联科技有限责任公司 | Someip代码生成方法、装置、计算机终端及存储介质 |
CN117234926A (zh) * | 2023-09-20 | 2023-12-15 | 重庆赛力斯新能源汽车设计院有限公司 | 基于autosar架构的软件组件接口检查方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7415726B2 (ja) * | 2020-03-26 | 2024-01-17 | 株式会社オートネットワーク技術研究所 | 車載情報処理装置、情報処理方法及びサーバプログラム |
-
2024
- 2024-03-05 CN CN202410248576.3A patent/CN117850753B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553978A (zh) * | 2022-04-24 | 2022-05-27 | 深圳市城市交通规划设计研究中心股份有限公司 | 一种传感器报文数据处理方法、电子设备及存储介质 |
CN115129395A (zh) * | 2022-07-12 | 2022-09-30 | 北斗星通智联科技有限责任公司 | Someip代码生成方法、装置、计算机终端及存储介质 |
CN117234926A (zh) * | 2023-09-20 | 2023-12-15 | 重庆赛力斯新能源汽车设计院有限公司 | 基于autosar架构的软件组件接口检查方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于SOME/IP的车载网络通信矩阵的设计;吴珍珍;《机电技术》;20230131(第1期);84-88 * |
Also Published As
Publication number | Publication date |
---|---|
CN117850753A (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117850753B (zh) | 一种基于someip矩阵生成接口代码的方法、装置、设备及介质 | |
CN110417766B (zh) | 一种协议解析的方法和装置 | |
WO2018184535A1 (zh) | 保险业务处理方法、装置、服务器和存储介质 | |
Gopu et al. | Service Oriented Architecture based connectivity of automotive ECUs | |
CN108363588B (zh) | 实现web与原生功能交互的方法、电子装置及可读存储介质 | |
CN113141405B (zh) | 服务访问方法、中间件系统、电子设备和存储介质 | |
CN111443920B (zh) | 一种框架迁移方法及装置 | |
CN112948272A (zh) | 基于生产环境的数据测试系统功能方法、装置及相关设备 | |
WO2020259551A1 (zh) | 一种网络连接故障处理方法及装置 | |
CN112035344A (zh) | 多场景测试方法、装置、设备和计算机可读存储介质 | |
CN113076153A (zh) | 一种接口调用方法和装置 | |
CN107977260B (zh) | 任务提交方法及装置 | |
CN114422618A (zh) | 基于云原生的iot平台协议适配方法、装置、设备及介质 | |
CN109062906A (zh) | 程序语言资源的翻译方法及装置 | |
CN112506681B (zh) | 参数调用方法、装置、电子设备及存储介质 | |
CN115348320B (zh) | 一种通信数据的转换方法、装置、及电子设备 | |
CN109842498B (zh) | 一种客户端配置方法、服务器、客户端及电子设备 | |
CN112506781B (zh) | 测试监控方法、装置、电子设备、存储介质及程序产品 | |
CN114925120A (zh) | 保险业务信息查询方法及相关设备 | |
CN112783903B (zh) | 生成更新日志的方法和装置 | |
CN112182083A (zh) | 文件生成方法、装置、设备及存储介质 | |
CN111786965A (zh) | Rpc报文的处理方法、装置、电子设备及可读存储介质 | |
US20230289354A1 (en) | Endpoint scan and profile generation | |
CN112650601B (zh) | 跨宿主打开小程序的方法、装置、设备、存储介质和程序 | |
EP4191407A1 (en) | Method and device for generating and registering ui service package and loading ui service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Building 1, 5th Floor, No. 116 Jiangbin East Avenue, Mawei District, Fuzhou City, Fujian Province, China Patentee after: FLAIRCOMM MICROELECTRONICS, Inc. Country or region after: China Address before: Building 1, 7th Floor, No.116 Jiangbin East Avenue, Mawei District, Fuzhou City, Fujian Province, China Patentee before: FLAIRCOMM MICROELECTRONICS, Inc. Country or region before: China |
|
CP03 | Change of name, title or address |