一种数据处理方法、装置、车辆和存储介质与流程

未命名 10-10 阅读:195 评论:0


1.本技术实施例涉及智能汽车技术领域,尤其涉及一种数据处理方法、装置、车辆和存储介质。


背景技术:

2.一款量产控制器(electronic control unit,ecu)在实车上测试前,需要先把控制器放到硬件在环(hardware in loop,hil)设备中进行测试,以验证其性能是否达标,这个测试阶段就叫:hil测试。
3.而数据分发服务(data distribution service,dds),是新一代分布式实时通信中间件协议。dds最重要的特性是以数据为中心,dds的数据共享以主题为单元,应用程序能够通过主题判断其所包含的数据类型,而不必依赖其他的上下文信息。同时,dds能够按照用户定义的方式自动地进行存储、发布或订阅数据,使应用程序能够像访问本地数据一样去写入或者读取数据。
4.因此,亟需一种可以支持dds协议的hil测试方案,以确定控制器的性能是否达标。


技术实现要素:

5.本技术实施例提供了一种数据处理方法、装置、车辆和存储介质,能够支持dds协议的hil测试方案,以确定控制器的性能是否达标。
6.第一方面,本技术实施例提供了一种数据处理方法,该方法包括:将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器,以使控制器基于第一测试数据进行硬件在环仿真,生成至少一个仿真结果数据;接收控制器发送的至少一个仿真结果数据;统计测试用例中的第一期望数据与第一仿真结果数据的差异,以确定控制器的性能是否达标,第一仿真结果为至少一个仿真结果数据中与第一期望数据对应的仿真结果数据。
7.可选地,将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器之前,该方法还包括:建立第一数据分发服务信号的主题对应的第一发布线程;将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器,包括:通过第一发布线程将第一测试数据发送至控制器。
8.可选地,建立第一数据分发服务信号的主题对应的第一发布线程,包括:针对测试用例中的每个数据分发服务信号,建立至少一个发布线程,每个发布线程对应不同的主题,至少一个发布线程包括第一发布线程;建立至少一个发布线程包括:从测试用例中读取一个数据分发服务信号;确定是否已建立与一个数据分发服务信号的主题对应的发布线程;若未建立,则建立一个数据分发服务信号的主题对应的发布线程;若已建立,则从测试用例中读取下一个数据分发服务信号。
9.可选地,通过第一发布线程将第一测试数据发送至控制器之前,该方法还包括:从测试用例中读取一行发送数据,一行发送数据包括多个数据分发服务信号,多个数据分发服务信号包括第一数据分发服务信号;将每个数据分发服务信号中的测试数据设置到对应
主题的发布线程,以将多个数据分发服务信号中的测试数据分别设置到至少一个发布线程,至少一个发布线程包括第一发布线程;通过第一发布线程将第一测试数据发送至控制器,包括:通过每个发布线程将对应的发布线程包括的至少一个测试数据发送给控制器,其中,第一发布线程包括的至少一个测试数据包括第一测试数据。
10.可选地,接收控制器发送的至少一个仿真结果数据之前,该方法还包括:针对测试用例中的每个期望数据,建立至少一个订阅线程,每个订阅线程对应不同的主题;建立至少一个订阅线程包括:从测试用例中读取一个期望数据;确定是否已建立与一个期望数据的主题对应的订阅线程;若未建立,则建立一个期望数据的主题对应的订阅线程;若已建立,则从测试用例中读取下一个期望数据;接收控制器发送的至少一个仿真结果数据,包括:通过与目标仿真结果数据的目标主题对应的订阅线程接收目标仿真结果数据,以接收至少一个仿真结果数据,目标仿真结果数据为至少一个仿真结果数据中的任一个。
11.可选地,统计测试用例中的第一期望数据与第一仿真结果数据的差异,包括:从测试用例中读取一行接收数据,一行接收数据包括多个期望数据,多个期望数据包括第一期望数据;统计目标期望数据与目标仿真结果数据的差异,目标期望数据为多个期望数据中的任一个,且目标期望数据的主题为目标主题。
12.可选地,通过与目标仿真结果数据的目标主题对应的订阅线程接收目标仿真结果数据之后,该方法还包括:将目标仿真结果数据存储到对应的目标主题的寄存器中;统计目标期望数据与目标仿真结果数据的差异之前,该方法还包括:从目标主题对应的寄存器中获取目标仿真结果数据,目标仿真结果数据为目标主题的寄存器中的多个仿真结果数据中的接收时间在发送时间之后且与目标期望数据对应的仿真结果数据,发送时间为第一测试数据的发送时间。
13.第二方面,本技术实施例提供了一种数据处理装置,该装置包括:发送模块,接收模块和统计模块;该发送模块,将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器,以使控制器基于第一测试数据进行硬件在环仿真,生成至少一个仿真结果数据;该接收模块,用于接收控制器发送的至少一个仿真结果数据;该统计模块,用于统计测试用例中的第一期望数据与第一仿真结果数据的差异,以确定控制器的性能是否达标,第一仿真结果为至少一个仿真结果数据中与第一期望数据对应的仿真结果数据。
14.可选地,本技术实施例提供的数据处理装置,该装置还包括:建立模块,该建立模块,用于在将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器之前,建立第一数据分发服务信号的主题对应的第一发布线程;该发送模块,具体用于通过第一发布线程将第一测试数据发送至控制器。
15.可选地,该建立模块,具体用于针对测试用例中的每个数据分发服务信号,建立至少一个发布线程,每个发布线程对应不同的主题,至少一个发布线程包括第一发布线程;建立至少一个发布线程包括:从测试用例中读取一个数据分发服务信号;确定是否已建立与一个数据分发服务信号的主题对应的发布线程;若未建立,则建立一个数据分发服务信号的主题对应的发布线程;若已建立,则从测试用例中读取下一个数据分发服务信号。
16.可选地,本技术实施例提供的数据处理装置,该装置还包括:读取模块和设置模块,该读取模块,用于在通过第一发布线程将第一测试数据发送至控制器之前,从测试用例中读取一行发送数据,一行发送数据包括多个数据分发服务信号,多个数据分发服务信号
包括第一数据分发服务信号;该设置模块,用于将每个数据分发服务信号中的测试数据设置到对应主题的发布线程,以将多个数据分发服务信号中的测试数据分别设置到至少一个发布线程,至少一个发布线程包括第一发布线程;该发送模块,具体用于通过每个发布线程将对应的发布线程包括的至少一个测试数据发送给控制器,其中,第一发布线程包括的至少一个测试数据包括第一测试数据。
17.可选地,该建立模块,还用于在接收控制器发送的至少一个仿真结果数据之前,针对测试用例中的每个期望数据,建立至少一个订阅线程,每个订阅线程对应不同的主题;建立至少一个订阅线程包括:从测试用例中读取一个期望数据;确定是否已建立与一个期望数据的主题对应的订阅线程;若未建立,则建立一个期望数据的主题对应的订阅线程;若已建立,则从测试用例中读取下一个期望数据;该接收模块,具体用于通过与目标仿真结果数据的目标主题对应的订阅线程接收目标仿真结果数据,以接收至少一个仿真结果数据,目标仿真结果数据为至少一个仿真结果数据中的任一个。
18.可选地,该读取模块,具体用于从测试用例中读取一行接收数据,一行接收数据包括多个期望数据,多个期望数据包括第一期望数据;该统计模块,具体用于统计目标期望数据与目标仿真结果数据的差异,目标期望数据为多个期望数据中的任一个,且目标期望数据的主题为目标主题。
19.可选地,本技术实施例提供的数据处理装置,该装置还包括:存储模块,该存储模块,用于在通过与目标仿真结果数据的目标主题对应的订阅线程接收目标仿真结果数据之后,将目标仿真结果数据存储到对应的目标主题的寄存器中;该读取模块,还用于在统计目标期望数据与目标仿真结果数据的差异之前,从目标主题对应的寄存器中获取目标仿真结果数据,目标仿真结果数据为目标主题的寄存器中的多个仿真结果数据中的接收时间在发送时间之后且与目标期望数据对应的仿真结果数据,发送时间为第一测试数据的发送时间。
20.第三方面,本技术实施例提供了一种车辆,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面提供的任一种方法的步骤。
21.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面提供的任一种方法的步骤。
22.本技术实施例提供的技术方案中,将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器,以使控制器基于第一测试数据进行硬件在环仿真,生成至少一个仿真结果数据;接收控制器发送的至少一个仿真结果数据;统计测试用例中的第一期望数据与第一仿真结果数据的差异,以确定控制器的性能是否达标,第一仿真结果为至少一个仿真结果数据中与第一期望数据对应的仿真结果数据。第一发布线程将第一数据分发服务信号中的第一测试数据发送至控制器,控制器基于第一测试数据进行硬件在环仿真生成至少一个第一仿真结果数据,每个第一仿真结果数据与基于第一数据分发服务信号得到预测的期望数据进行比对,根据多个比对结果(每个第一仿真结果数据与期望数据的差异)确定该控制器的性能是否达标,由此提供了一种支持数据分发服务协议的硬件在环仿真测试方案,以对控制器的性能进行测试。
附图说明
23.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术实施例的实施例,并与说明书一起用于解释本技术实施例的原理。
24.为了更清楚地说明本技术实施例实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
25.图1为本技术实施例提供的一种硬件在环仿真系统的结构示意图;
26.图2为本技术实施例提供的一种数据处理方法的流程示意图;
27.图3为本技术实施例提供的另一种数据处理方法的流程示意图;
28.图4为本技术实施例提供的又一种数据处理方法的流程示意图;
29.图5为本技术实施例提供的又一种数据处理方法的流程示意图;
30.图6为本技术实施例提供的又一种数据处理方法的流程示意图;
31.图7为本技术实施例提供的又一种数据处理方法的流程示意图;
32.图8为本技术实施例提供的又一种数据处理方法的流程示意图;
33.图9为本技术实施例提供的一种数据处理装置的结构示意图;
34.图10为本技术实施例提供的一种车辆的硬件结构示意图。
具体实施方式
35.为了能够更清楚地理解本技术实施例的上述目的、特征和优点,下面将对本技术实施例的方案进行进一步描述。需要说明的是,在不冲突的情况下,本技术实施例的实施例及实施例中的特征可以相互组合。
36.在下面的描述中阐述了很多具体细节以便于充分理解本技术实施例,但本技术实施例还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本技术实施例的一部分实施例,而不是全部的实施例。
37.图1为本技术实施例示出的一种可能的硬件在环仿真系统,本技术的数据处理方法可以用于该系统,以实现支持dds协议的硬件在环仿真。如图1所示,该系统包括:测试上位机110(也可以称为场景搭建软件)、ecu 120和hil测试设备130。其中,测试上位机110,用来设计各种各样的工况,比如为自动巡航控制器设计交通流,为车道保持辅助控制器设计不同曲率的转弯车道,也就是说为被测ecu 120设计不同的应用场景。测试上位机110中包括:测试用例111、测试用例驱动软件112和dds仿真环境113。其中,测试用例111保存了用于测试ecu 120各个性能的测试用例,测试用例驱动软件112,用于获取并执行测试用例,dds仿真环境113,用于仿真dds writer或者dds reader,来发布或订阅ecu 120的dds数据,具体地,本技术实施例中,仿真的dds writer用来向ecu 120发布dds发送信号中的测试数据,仿真的dds reader用来从ecu 120接收仿真结果数据。ecu 120,为该硬件在环仿真系统中的被测对象;hil测试设备130主要包括:实时仿真平台(用于跑实时操作系统的cpu,是硬件在环设备的核心),程控电源(用于模拟车上电源),io(输入输出)和通讯板卡(用于与ecu 120做信号交互),信号调理板卡(io板卡的信号规格不一定与ecu 120的完全一样,要做调理),故障注入板卡等等。
38.硬件在环(hardware in loop.hil)仿真,又称半实物仿真,是将需要仿真的部分
系统硬件(如ecu)直接放到仿真回路中的仿真系统(如包括图1所示的试上位机110、ecu 120和hil测试设备130)。在硬件在环仿真中,由hil设备提供的整车动力系统模型或部件模型运行在实时系统中,与实际控制器(ecu)进行连接。实时系统能够反映部件模型中的动态变化,为控制器测试提供接近实车的测试结果。影响硬件在环仿真的两个关键因素:一个是车辆或部件仿真模型的建立;另一个是控制器输入输出信号的模拟。本技术实施例中,第一测试数据即为控制器的输入信号,第一仿真结果数据即为控制器根据第一测试数据得到的输出信号,第一期望数据为控制器基于第一测试数据预期的输出信号,因此根据第一期望数据与第一仿真结果数据差异,可以确定控制器的性能是否达标。
39.下面结合附图,通过具体的实施例对本技术实施例提供的数据处理方法进行详细地说明。
40.如图2所示,本技术实施例中提供一种数据处理方法,该方法可以包括下述的步骤201至步骤203。
41.201、将测试用例中的第一dds信号中的第一测试数据发送至控制器。
42.其中,将测试用例中的第一dds信号中的第一测试数据发送至控制器,以使控制器基于第一测试数据进行硬件在环仿真,生成至少一个仿真结果数据。
43.需要说明的是,测试用例中存储有dds发送信号和dds接收信号,dds发送信号中至少包括测试数据,dds接收信号中至少包括期望数据。此处的第一dds信号指示的是测试用例中存储的dds发送信号,下述所有步骤的具体描述中的第一dds发送信号即为第一dds信号。
44.可以理解,dds发送信号,包括dds发送信号的唯一标识(如名称信息),主题等,具体还可以包括其他的有效信息,本技术实施例不做限定,可以将第一dds发送信号中的第一测试数据通过第一dds发送信号的主题对应的第一发布线程发送至控制器,还可以将第一dds发送信号中的第一测试数据、唯一标识以及主题等有效信息通过第一dds发送信号的主题对应的第一发布线程发送至控制器。
45.可以理解,第一测试数据可以包括:用于测试控制器需要的信息,该测试数据可以是数字、字符、字符串等任意形式,本技术实施例不做具体限定。
46.202、接收控制器发送的至少一个仿真结果数据。
47.可以理解,控制器接收到第一dds发送信号中的测试数据,基于该测试数据控制器对其进行处理后得到第一仿真结果数据。
48.203、统计测试用例中的第一期望数据与第一仿真结果数据的差异。
49.其中,统计测试用例中的第一期望数据与第一仿真结果数据的差异,以确定控制器的性能是否达标,第一仿真结果为至少一个仿真结果数据中与第一期望数据对应的仿真结果数据。
50.可以理解,第一期望数据即为测试用例中存储的第一dds接收信号中的期望数据。
51.可以理解,期望数据是根据dds发送信号得到的,可以预先基于dds发送信号中的测试数据处理得到相关的期望数据,如果仿真结果数据与期望数据相同,说明该次测试通过;具体的,可以是根据一个第一仿真结果数据与第一期望数据的差异确定控制器的待测试性能达标,也可以是根据统计的多次第一仿真结果数据与第一期望数据的差异,综合考虑确定控制器的待测试性能达标,具体依据实际测试用例确定,本技术实施例不做限定。
52.示例性地,通过测试用例中设置的多个dds发送信号对控制器进行测试,得到相应的处理结果(仿真结果数据),每个仿真结果数据与对应的期望数据相同或者不同,统计测试结果,根据预设值确定控制器是否达标,如:预设值为95%,那么99%的仿真结果数据与期望数据相同,说明该控制器合格;94%的仿真结果数据与期望数据相同,则说明该控制器不合格。
53.本技术实施例中,将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器,以使控制器基于第一测试数据进行硬件在环仿真,生成至少一个仿真结果数据;接收控制器发送的至少一个仿真结果数据;统计测试用例中的第一期望数据与第一仿真结果数据的差异,以确定控制器的性能是否达标,第一仿真结果为至少一个仿真结果数据中与第一期望数据对应的仿真结果数据。第一发布线程将第一数据分发服务信号中的第一测试数据发送至控制器,控制器基于第一测试数据进行硬件在环仿真生成至少一个第一仿真结果数据,每个第一仿真结果数据与基于第一数据分发服务信号得到预测的期望数据进行比对,根据多个比对结果(每个第一仿真结果数据与期望数据的差异)确定该控制器的性能是否达标,由此提供了一种支持数据分发服务协议的硬件在环仿真测试方案,以对控制器的性能进行测试。
54.可选地,结合图2,如图3所示,上述步骤201之前,本技术实施例中提供的数据处理方法,还包括下述步骤204,上述步骤201,具体可以通过下述步骤201a实现。
55.204、建立第一dds信号的主题对应的第一发布线程。
56.可以理解,根据第一dds发送信号提前建立第一发布线程,对于与第一发布线程相同主题的dds发送信号都由第一发布线程发送至控制器。在需要发送dds发送信号时再建立对应的发布线程,每个需要发送的dds发送信号都需要建立一个发布线程,由此会因为建立的线程太多导致内存压力大,处理器卡顿等问题。
57.201a、通过第一发布线程将第一测试数据发送至控制器。
58.可以理解,发布线程可以将测试用例中的dds发送信号中的测试数据设置到发布线程并将其发送给控制器。
59.可以理解,第一发布线程是针对第一dds发送信号建立的发布线程,第一发布线程和第一dds发送信号的主题相同;该第一发布线程可以是预先建立的线程,也可以是在需要发送第一dds发送信号再去建立,具体的,本技术实施例不做限定。
60.本技术实施例中,通过第一dds发送信号提前建立第一发布线程,与第一发布线程相同主题的dds信号都由第一发布线程发送至控制器。由此,解决了因为线程过多导致的内存压力过大,以及处理器卡顿的问题。
61.可选地,结合图3,如图4所示,上述步骤204还可以通过下述步骤204a实现。
62.204a、针对测试用例中的每个dds信号,建立至少一个发布线程,每个发布线程对应不同的主题,至少一个发布线程包括第一发布线程。
63.上述建立至少一个发布线程包括下述步骤s11至步骤s14。
64.s11、从测试用例中读取一个dds信号。
65.s12、确定是否已建立与一个dds信号的主题对应的发布线程。
66.可以理解,相同主题的dds发送信号使用同一发布线程设置测试数据和发送数据至控制器。
67.s13、若未建立,则建立一个dds信号的主题对应的发布线程。
68.s14、若已建立,则从测试用例中读取下一个dds信号。
69.可以理解,每个dds信号即为测试用例中的每个dds发送信号。
70.可以理解,提前针对不同主题建立对应的发布线程,相较于在需要发送dds发送信号时再建立对应的发布线程,每个需要发送的dds发送信号都需要建立一个发布线程,由此,会因为线程太多导致内存压力过大,处理器卡顿等问题。
71.可选地,将建立的发布线程记录到发布线程列表中,以使得在读取到一个dds发送信号时,从发布线程列中确定是否有与该dds发送信号主题相同的发布线程,如果有,则由该主题发布线程发送,否则,无需发送。
72.本技术实施例中,通过给测试用例中的所有dds发送信号提前建立发布线程,主题相同的dds发送信号只建立一个与其主题对应的发布线程,解决了因为建立的线程太多导致的内存压力过大,或者处理器卡顿等问题。
73.可选地,结合图2,如图5所示,上述步骤201之前,本技术实施例中提供的数据处理方法,还包括下述步骤205和步骤206,上述步骤201,具体可以通过下述步骤201b实现。
74.205、从测试用例中读取一行发送数据。
75.其中,一行发送数据包括多个dds信号,多个dds信号包括第一dds信号。
76.可以理解,多个dds信号即为测试用例中的多个dds发送信号。
77.可以理解,测试用例中一行可以包括多个dds发送信号,其中,上述第一dds发送信号包括在一行的多个dds发送信号中。
78.可以理解,测试用例可以是一个excel文件,也可以是一个文本文件,还可以是word文件,还可以是其他可行的文件,具体文件类型本技术实施例不做限定。
79.206、将每个dds信号中的测试数据设置到对应主题的发布线程。
80.其中,将每个dds信号中的测试数据设置到对应主题的发布线程,以将多个dds信号中的测试数据分别设置到至少一个发布线程,至少一个发布线程包括第一发布线程。
81.可以理解,一行中的多个dds发送信号中属于同一个主题的,由同一个主题发布线程负责发送给控制器,多个dds发送信号可以每设置一个测试数据,对应的主题发布线程就将该dds发送信号发送给控制器,也可以是将一行中多个相同主题的dds发送信号的测试数据设置完成后,再将同一主题的dds发送信号由该主题对应的发布线程发送给控制器。
82.示例性地,读取的一行dds发送信号中包含主题一的dds发送信号两个,分别为:dds1,dds2,将dds1的测试数据设置到主题一对应的发布线程后发送至控制器,将dds2的测试数据设置到主题一对应的发布线程后发送至控制器;还可以是将dds1和dds2的测试数据都设置到主题一的发布线程后再发送至控制器。
83.201b、通过每个发布线程将对应的发布线程包括的至少一个测试数据发送给控制器。
84.其中,第一发布线程包括的至少一个测试数据包括第一测试数据。
85.可以理解,一行中的多个dds发送信号属于同一主题,因此将属于同一主题的dds发送信号的测试数据设置完成后,再由第一发布线程发送给控制器。
86.可以理解,读取的一行数据中包含多个不同主题的dds发送信号,对应的多个主题发布线程可以将测试数据设置完成后逐一发送,也可以同时发送。
87.本技术实施例中,读取测试用例中的一行发送数据,一行发送数据中包括多个dds发送信号,可以将多个主题相同的dds发送信号的测试数据设置到对应主题的发布线程后再发送至控制器,由此,将属于同一主题的多个dds发送信号一次发送,提升了传输效率,使得测试效率更高。
88.可选地,结合图5,如图6所示,上述步骤201之前,本技术实施例中提供的数据处理方法,还包括下述步骤207,上述步骤202,具体可以通过下述步骤202a实现。
89.207、针对测试用例中的每个期望数据,建立至少一个订阅线程,每个订阅线程对应不同的主题。
90.上述建立至少一个订阅线程包括下述步骤s21至步骤s24。
91.s21、从所述测试用例中读取一个期望数据。
92.s22、确定是否已建立与一个期望数据的主题对应的订阅线程。
93.可以理解,相同主题的dds接收信号使用同一订阅线程接收基于dds发送信号进行硬件在环仿真后得到的仿真结果数据。
94.s23、若未建立,则建立一个期望数据的主题对应的订阅线程。
95.s24、若已建立,则从测试用例中读取下一个期望数据。
96.202a、通过与目标仿真结果数据的目标主题对应的订阅线程接收目标仿真结果数据。
97.其中,通过与目标仿真结果数据的目标主题对应的订阅线程接收目标仿真结果数据,以接收至少一个仿真结果数据,目标仿真结果数据为至少一个仿真结果数据中的任一个。
98.可以理解,每个期望数据即为测试用例中包括的每个dds接收信号中包含的期望数据。
99.可以理解,对于每一个通过硬件在环仿真后得到的仿真结果数据,都由与该仿真结果数据的主题相同的订阅线程接收该仿真结果数据。
100.可选地,将建立的订阅线程记录到订阅线程列表中,以使得在接收到控制器返回的仿真结果数据时,从订阅线程列表中确定该仿真结果数据对应的主题是否在订阅线程列表中,如果在订阅线程列表中,则由该对应主题的订阅线程接收该仿真结果数据,如果不在订阅线程列表中,则无需接收。
101.本技术实施例中,相较于需要接收消息时再建立对应的订阅线程,有可能会漏接消息,通过提前建立多个针对不同主题的订阅线程,确保每条经过硬件在环仿真得到的仿真结果数据都不漏接,而且根据主题建立订阅线程,建立的线程数量相较于每个仿真结果数据都建立一个订阅线程的线程数量少,也减少了内存压力。
102.可选地,上述步骤203,具体可以通过下述步骤203a和步骤203b实现。
103.203a、从测试用例中读取一行接收数据。
104.其中,一行接收数据包括多个期望数据,多个期望数据包括第一期望数据。
105.203b、统计目标期望数据与目标仿真结果数据的差异。
106.其中,目标期望数据为多个期望数据中的任一个,且目标期望数据的主题为目标主题。
107.可选地,结合图6,如图7所示,上述步骤202a之后,本技术实施例中提供的数据处
理方法,还包括下述步骤202b,上述步骤203b之前,本技术实施例中提供的数据处理方法,还包括下述步骤203c。
108.202b、将目标仿真结果数据存储到对应的目标主题的寄存器中。
109.可以理解,每个主题对应的订阅线程一直处于工作状态,订阅线程接收到经过硬件在环仿真得到的仿真结果数据后,将该仿真结果数据存储到与该仿真结果数据的主题对应的寄存器中,对于每个接收到的仿真结果数据都将其存储到与其主题相同的寄存器中。
110.可以理解,订阅线程在接收到仿真结果数据时,可以将该仿真结果数据的唯一标识,接收时间等有效信息与该仿真结果数据一起存储,具体存储的信息本技术实施例不做具体限定。
111.203c、从目标主题对应的寄存器中获取目标仿真结果数据。
112.其中,目标仿真结果数据为目标主题的寄存器中的多个仿真结果数据中的接收时间在发送时间之后且与目标期望数据对应的仿真结果数据,发送时间为第一测试数据的发送时间。
113.可以理解,目标主题的寄存器中存储有多个仿真结果数据,遍历目标主题的寄存器中的仿真结果数据,查找到仿真结果数据的唯一标识与目标dds接收信号中的唯一标识相同,即可确定该仿真结果数据与目标dds接收信号中的期望数据有对应关系。
114.可以理解,对于测试用例中读取的一行接收数据中的多个dds接收信号,每个dds接收信号都从与该dds接收信号主题相同的寄存器中获取对应的仿真结果数据。
115.可以理解,测试用例中的dds接收信号有唯一标识,订阅线程接收到的控制器发布的dds信号中也有唯一标识,当测试用例中的dds接收信号有唯一标识与订阅线程接收到的控制器发布的dds信号中也有唯一标识相同时,即说明该dds接收信号中的期望数据与控制器发布的dds信号中的仿真结果数据有对应关系。
116.可以理解,目标仿真结果数据是基于第一dds发送信号中的第一测试数据经过硬件在环仿真后得到的,所以目标仿真结果数据的接收时间一定在第一测试数据的发送时间之后。
117.可以理解,目标主题的寄存器中存储有多个仿真结果数据,每次查找都要进行遍历直到查找到对应的仿真结果数据,当目标主题的寄存器中存储的仿真结果数据数量很多时,遍历的时间会较长,为了减少遍历时间,可以筛除掉第一测试数据的发送时间之前的接收到的仿真结果数据,从第一测试数据的发送时间后接收到的仿真结果数据中查找目标仿真结果数据。
118.示例性的,获取到测试用例中第一行dds发送信号并将测试数据设置到对应的主题发布线程,将由对应的主题发布线程发送至控制器的时间确定为第一发送时间,对应主题的订阅线程将第一发送时间之后的仿真数据存储到对应主题的寄存器中;获取到测试用例中第二行dds发送信号并将测试数据设置到对应的主题发布线程,将由对应的主题发布线程发送至控制器的时间确定为第二发送时间,对应主题的订阅线程将第二发送时间之后的仿真数据存储到对应主题的寄存器中;即:订阅线程将接收到的对应时间在该行dds发送信号发送后,接收到的仿真数据存储到对应主题的寄存器中。
119.本技术实施例中,订阅线程将接收到的仿真结果数据存储到与仿真结果数据主题对应的寄存器,对于测试用例中的dds接收信号从与该dds接收信号主题相同的寄存器中查
找对应的仿真结果数据,通过统计查找到的仿真结果数据与测试用例中的dds接收信号中的目标期望数据的差异,确定硬件在环仿真系统中的控制器是否达标,订阅线程通过将接收到的仿真结果数据都存储到对应主题的寄存器,确保了接收到的消息(仿真结果数据)不遗漏。
120.可选地,将从测试用例中获取到一行发送数据后,第一个对应主题发布线程将测试数据发送至控制器的时间确定为第一发送时间,订阅线程将接收到的仿真结果数据和对应的接收时间存储到对应的目标主题寄存器,从目标主题的寄存器中,遍历接收时间在第一发送时间之后的仿真结果数据,得到目标仿真结果数据;或者,从目标主题的寄存器中,遍历接收时间在第一发送时间之后的预设时间内的仿真结果数据,得到目标仿真结果数据。由此,在遍历寄存器的仿真结果数据确定目标仿真结果数据的过程中,减少了需要遍历的仿真结果数据的个数,进而减少了遍历时间,提升了测试效率。
121.本技术实施例中,通过将目标主题的寄存器中的多个仿真结果数据中的接收时间在发送时间之后且与期望数据对应的仿真结果数据确定为目标仿真结果数据,可以筛除掉第一测试数据的发送时间之前的接收到的仿真结果数据,从第一测试数据的发送时间后接收到的仿真结果数据中查找目标仿真结果数据。由此,在遍历寄存器的仿真结果数据确定目标仿真结果数据的过程中,减少了需要遍历的仿真结果数据的个数,进而减少了遍历时间,提升了测试效率。
122.示例性地,如图8所示,下述步骤801至步骤823为一种可选地数据处理方法的具体实现流程。
123.801、读取测试用例。
124.802、获取一个dds信号。
125.如果是dds发送信号执行步骤803,如果是dds接收信号执行步骤808。
126.803、dds发送信号。
127.804、已存在与dds发送信号主题相同的发布线程。
128.如果存在执行步骤805,否则执行步骤806。
129.805、最后一个dds信号。
130.如果是最后一个dds信号执行步骤813,否则执行步骤802。
131.806、建立与dds发送信号主题相同的发布线程。
132.807、将发布线程添加到发布线程列表。
133.808、dds接收信号。
134.809、已存在与dds接收信号主题相同的订阅线程。
135.如果存在执行步骤810,否则执行步骤811。
136.810、最后一个dds信号。
137.如果是执行步骤813,否则执行步骤802。
138.811、建立与dds接收信号主题相同的订阅线程。
139.812、将订阅线程添加到订阅线程列表。
140.813、执行用例。
141.814、订阅线程列表中的线程持续监听,监听到发布仿真结果数据。
142.815、将仿真结果数据保存到与对应主题的寄存器中。
143.816、读取一行dds发送信号。
144.817、主题相同的dds发送信号由对应的发布线程设置完全部测试数据并发送。
145.818、发送完成。
146.是则执行步骤819,否则执行步骤817。
147.819、读取一行dds接收信号中的期望数据。
148.820、从与dds接收信号主题相同的寄存器中遍历与dds接收信号名称相同的仿真结果数据。
149.821、每对相同名称的期望数据和仿真结果数据比较。
150.822、是否末行。
151.是则执行步骤823,否则执行步骤816。
152.823、用例执行结束。
153.本技术实施例还提供一种数据处理装置,图9为本技术实施例提供的一种数据处理装置的结构示意图,如图9所示,该装置包括:发送模块901,接收模块902和统计模块903;该发送模块901,将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器,以使控制器基于第一测试数据进行硬件在环仿真,生成至少一个仿真结果数据;该接收模块902,用于接收控制器发送的至少一个仿真结果数据;该统计模块903,用于统计测试用例中的第一期望数据与第一仿真结果数据的差异,以确定控制器的性能是否达标,第一仿真结果为至少一个仿真结果数据中与第一期望数据对应的仿真结果数据。
154.可选地,本技术实施例提供的数据处理装置,该装置还包括:建立模块904,该建立模块904,用于在将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器之前,建立第一数据分发服务信号的主题对应的第一发布线程;该发送模块901,具体用于通过第一发布线程将第一测试数据发送至控制器。
155.可选地,该建立模块904,具体用于针对测试用例中的每个数据分发服务信号,建立至少一个发布线程,每个发布线程对应不同的主题,至少一个发布线程包括第一发布线程;建立至少一个发布线程包括:从测试用例中读取一个数据分发服务信号;确定是否已建立与一个数据分发服务信号的主题对应的发布线程;若未建立,则建立一个数据分发服务信号的主题对应的发布线程;若已建立,则从测试用例中读取下一个数据分发服务信号。
156.可选地,本技术实施例提供的数据处理装置,该装置还包括:读取模块905和设置模块906,该读取模块905,用于在通过第一发布线程将第一测试数据发送至控制器之前,从测试用例中读取一行发送数据,一行发送数据包括多个数据分发服务信号,多个数据分发服务信号包括第一数据分发服务信号;该设置模块906,用于将每个数据分发服务信号中的测试数据设置到对应主题的发布线程,以将多个数据分发服务信号中的测试数据分别设置到至少一个发布线程,至少一个发布线程包括第一发布线程;该发送模块901,具体用于通过每个发布线程将对应的发布线程包括的至少一个测试数据发送给控制器,其中,第一发布线程包括的至少一个测试数据包括第一测试数据。
157.可选地,该建立模块904,还用于在接收控制器发送的至少一个仿真结果数据之前,针对测试用例中的每个期望数据,建立至少一个订阅线程,每个订阅线程对应不同的主题;建立至少一个订阅线程包括:从测试用例中读取一个期望数据;确定是否已建立与一个期望数据的主题对应的订阅线程;若未建立,则建立一个期望数据的主题对应的订阅线程;
若已建立,则从测试用例中读取下一个期望数据;该接收模块902,具体用于通过与目标仿真结果数据的目标主题对应的订阅线程接收目标仿真结果数据,以接收至少一个仿真结果数据,目标仿真结果数据为至少一个仿真结果数据中的任一个。
158.可选地,该读取模块905,具体用于从测试用例中读取一行接收数据,一行接收数据包括多个期望数据,多个期望数据包括第一期望数据;该统计模块903,具体用于统计目标期望数据与目标仿真结果数据的差异,目标期望数据为多个期望数据中的任一个,且目标期望数据的主题为目标主题。
159.可选地,本技术实施例提供的数据处理装置,该装置还包括:存储模块907,该存储模块907,用于在通过与目标仿真结果数据的目标主题对应的订阅线程接收目标仿真结果数据之后,将目标仿真结果数据存储到对应的目标主题的寄存器中;该读取模块905,还用于在统计目标期望数据与目标仿真结果数据的差异之前,从目标主题对应的寄存器中获取目标仿真结果数据,目标仿真结果数据为目标主题的寄存器中的多个仿真结果数据中的接收时间在发送时间之后且与目标期望数据对应的仿真结果数据,发送时间为第一测试数据的发送时间。
160.需要说明的是:如图9所示,数据处理装置900中一定包括的模块用实线框示意,如发送模块901,接收模块902和统计模块903;数据处理装置900中可以包括也可以不包括的模块用虚线框示意,如建立模块904,读取模块905,设置模块906和存储模块907。
161.需要说明的是,上述数据处理装置可以为本技术上述方法实施例中的车辆,也可以是该车辆中能够实现该装置实施例功能的功能模块和/或功能实体,本技术实施例不做限定。
162.本实施例中各种实现方式具有的有益效果具体可以参见上述数据处理方法实施例中相应实现方式所具有的有益效果,为避免重复,此处不再赘述。
163.本技术实施例还提供一种车辆,如图10所示,该车辆可以包括:处理器1001,存储器1002以及存储在存储器1002上并可在处理器1001上运行的程序或指令,该程序或指令被处理器1001执行时可以实现上述方法实施例提供的数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
164.本技术实施例提供一种可读存储介质,该可读存储介质上存储程序或指令,该程序或指令被处理器执行时实现上述方法实施例提供的数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
165.本技术实施例还提供一种计算机程序产品,其中,该计算机程序产品包括计算机程序或指令,当该计算机程序产品在处理器上运行时,使得处理器执行该计算机程序或指令,实现上述方法实施例提供的数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
166.本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
167.应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
168.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置,服务器和方
法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
169.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
170.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
171.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
172.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。

技术特征:
1.一种数据处理方法,其特征在于,所述方法包括:将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器,以使所述控制器基于所述第一测试数据进行硬件在环仿真,生成至少一个仿真结果数据;接收所述控制器发送的所述至少一个仿真结果数据;统计所述测试用例中的第一期望数据与第一仿真结果数据的差异,以确定所述控制器的性能是否达标,所述第一仿真结果为所述至少一个仿真结果数据中与所述第一期望数据对应的仿真结果数据。2.根据权利要求1所述的方法,其特征在于,所述将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器之前,所述方法还包括:建立所述第一数据分发服务信号的主题对应的第一发布线程;所述将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器,包括:通过所述第一发布线程将所述第一测试数据发送至控制器。3.根据权利要求2所述的方法,其特征在于,所述建立所述第一数据分发服务信号的主题对应的第一发布线程,包括:针对所述测试用例中的每个数据分发服务信号,建立至少一个发布线程,每个发布线程对应不同的主题,所述至少一个发布线程包括所述第一发布线程;所述建立至少一个发布线程包括:从所述测试用例中读取一个数据分发服务信号;确定是否已建立与所述一个数据分发服务信号的主题对应的发布线程;若未建立,则建立所述一个数据分发服务信号的主题对应的发布线程;若已建立,则从所述测试用例中读取下一个数据分发服务信号。4.根据权利要求2所述的方法,其特征在于,所述通过所述第一发布线程将所述第一测试数据发送至控制器之前,所述方法还包括:从测试用例中读取一行发送数据,所述一行发送数据包括多个数据分发服务信号,所述多个数据分发服务信号包括所述第一数据分发服务信号;将每个数据分发服务信号中的测试数据设置到对应主题的发布线程,以将所述多个数据分发服务信号中的测试数据分别设置到至少一个发布线程,所述至少一个发布线程包括所述第一发布线程;所述通过所述第一发布线程将所述第一测试数据发送至控制器,包括:通过每个发布线程将对应的发布线程包括的至少一个测试数据发送给所述控制器,其中,所述第一发布线程包括的至少一个测试数据包括所述第一测试数据。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述接收所述控制器发送的所述至少一个仿真结果数据之前,所述方法还包括:针对所述测试用例中的每个期望数据,建立至少一个订阅线程,每个订阅线程对应不同的主题;所述建立至少一个订阅线程包括:从所述测试用例中读取一个期望数据;确定是否已建立与所述一个期望数据的主题对应的订阅线程;若未建立,则建立所述一个期望数据的主题对应的订阅线程;
若已建立,则从所述测试用例中读取下一个期望数据;所述接收所述控制器发送的所述至少一个仿真结果数据,包括:通过与目标仿真结果数据的目标主题对应的订阅线程接收所述目标仿真结果数据,以接收所述至少一个仿真结果数据,所述目标仿真结果数据为所述至少一个仿真结果数据中的任一个。6.根据权利要求5所述的方法,其特征在于,所述统计所述测试用例中的第一期望数据与第一仿真结果数据的差异,包括:从所述测试用例中读取一行接收数据,所述一行接收数据包括多个期望数据,所述多个期望数据包括所述第一期望数据;统计目标期望数据与所述目标仿真结果数据的差异,所述目标期望数据为所述多个期望数据中的任一个,且所述目标期望数据的主题为所述目标主题。7.根据权利要求6所述的方法,其特征在于,所述通过与目标仿真结果数据的目标主题对应的订阅线程接收所述目标仿真结果数据之后,所述方法还包括:将所述目标仿真结果数据存储到对应的所述目标主题的寄存器中;所述统计目标期望数据与所述目标仿真结果数据的差异之前,所述方法还包括:从所述目标主题对应的寄存器中获取所述目标仿真结果数据,所述目标仿真结果数据为所述目标主题的寄存器中的多个仿真结果数据中的接收时间在发送时间之后且与所述目标期望数据对应的仿真结果数据,所述发送时间为所述第一测试数据的发送时间。8.一种数据处理装置,其特征在于,所述装置包括:发送模块,接收模块和统计模块;所述发送模块,将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器,以使所述控制器基于所述第一测试数据进行硬件在环仿真,生成至少一个仿真结果数据;所述接收模块,用于接收所述控制器发送的所述至少一个仿真结果数据;所述统计模块,用于统计所述测试用例中的第一期望数据与第一仿真结果数据的差异,以确定所述控制器的性能是否达标,所述第一仿真结果为所述至少一个仿真结果数据中与所述第一期望数据对应的仿真结果数据。9.一种车辆,其特征在于,所述车辆包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法的步骤。

技术总结
本申请实施例涉及智能汽车技术领域,尤其涉及一种数据处理方法、装置、车辆和存储介质。该方法包括:将测试用例中的第一数据分发服务信号中的第一测试数据发送至控制器,以使控制器基于第一测试数据进行硬件在环仿真,生成至少一个仿真结果数据;接收控制器发送的至少一个仿真结果数据;统计测试用例中的第一期望数据与第一仿真结果数据的差异,以确定控制器的性能是否达标,第一仿真结果为至少一个仿真结果数据中与第一期望数据对应的仿真结果数据。该方法提供了一种支持DDS协议的硬件在环仿真测试方案,以对控制器的性能进行测试。以对控制器的性能进行测试。以对控制器的性能进行测试。


技术研发人员:刘希
受保护的技术使用者:北京罗克维尔斯科技有限公司
技术研发日:2022.03.23
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐