本发明涉及数据处理,具体涉及一种数据共享方法、装置及系统。
背景技术:
1、在汽车、新能源车等车辆中,整车的电子电气架构越来越复杂,从电子控制单元(electronic control unit,ecu)的数量、数据带宽、cpu和gpu的处理能力,相比于之前都有一个数量级的变化。其中ecu由微处理器、存储器、输入/输出接口、模数转换器等集成电路组成。
2、在ecu开发过程中,通常要进行硬件在环测试(hardware-in-the-loop,hil)。硬件在环测试系统中,可模拟受控对象的运行状态,通过i/o接口与被测的ecu连接,对被测ecu进行全方面的、系统性的测试。硬件在环测试已经成为ecu开发流程中非常重要的一环,减少了实车路试的次数,缩短开发时间和降低成本的同时提高了ecu的软件质量,降低汽车厂的风险。
3、在现有的hil测试系统中,会利用hil测试系统中具有数据存储、处理能力的装置(例如实时机,或称工控机,real-time parameter controls,rtpc)与i/o卡执行测试任务完成对ecu等被测件的测试,测试过程中需要在rtpc与i/o卡之间,甚至rtpc之间、i/o卡之间进行数据共享。
技术实现思路
1、本发明的目的是提供了一种数据共享方法、装置及系统,对级联结构下的多个装置的目标存储器进行数据同步,为装置间的数据同步提供了可靠的依据,同时,在数据同步过程中,加入了操作请求的信息校验,由此能够及时发现操作请求中的数据在传输过程是否出现错误,也就是说,能够确定目标数据是否被准确的同步到各装置的目标存储器中,以尽可能的保证有需要的装置能够读取到准确的目标数据,有助于提升测试效果和测试效率。
2、为实现上述目的,本发明提供了一种数据共享方法,应用于系统包含的多个装置中的任意一个当前装置,所述多个装置依次级联,每个所述装置均设置有目标存储器;所述方法包括:操作请求自所述多个装置中级联的首个装置依次传输至最后一个装置的第一传输过程中,将待执行的操作指令写入到所述操作请求中,并将根据所述操作请求中的至少部分信息生成的待校验信息写入到所述操作请求中;所述操作指令用于将目标数据写入所述目标存储器,以供所述目标存储器对应的所述装置读取;在第一传输过程之后的所述操作请求自所述最后一个装置依次传输至所述首个装置的第二传输过程中,执行所述操作请求中的所有操作指令;所述操作请求中的待校验信息用于:在所述第二传输过程中,由包含所述首个装置的至少一个所述装置对所述操作请求中的待校验信息进行校验确定所述操作请求是否发生传输错误。
3、本发明还提供了一种装置,用于执行上述的数据共享方法。
4、本发明还提供了一种数据共享方法,应用于包含多个装置的系统,所述多个装置依次级联,每个装置均设置有目标存储器;所述方法包括:所述多个装置中级联的首个装置将操作请求自所述首个装置依次传输至所述多个装置中级联的最后一个装置,其中,对于每个所述装置,所述装置在需要共享目标数据时将待执行的操作指令写入到操作请求中,以及多个装置中的至少一个装置将根据所述操作请求中的至少部分信息生成的待校验信息写入到所述操作请求中,所述操作指令用于将所述目标数据写入所述目标存储器,以供所述目标存储器对应的装置读取;所述最后一个装置将所述操作请求自所述最后一个装置依次传输至所述首个装置,其中对于每个所述装置,所述装置在所述操作请求未发生传输错误时执行所述操作请求中的所有操作指令,包含所述首个装置的至少一个装置对所述操作请求中的待校验信息进行校验确定所述操作请求是否发生传输错误。
5、本发明还提供了一种系统,包括多个装置,所述多个装置依次级联,每个装置均设置有目标存储器,所述多个装置中的至少一个装置为第一目标装置;所述装置用于在操作请求自所述多个装置中级联的首个装置依次传输至最后一个装置的第一传输过程中,将待执行的操作指令写入到操作请求中,所述操作指令用于将目标数据写入所述目标存储器,以供所述目标存储器对应的装置读取;所述第一目标装置用于在所述第一传输过程中,将根据所述操作请求中的至少部分信息生成的待校验信息写入到所述操作请求中;所述装置还用于在所述第一传输过程之后所述操作请求自所述最后一个装置依次传输至所述首个装置的第二传输过程中,执行所述操作请求中的所有操作指令;包含所述首个装置的至少一个所述装置用于在所述第二传输过程中,对所述操作请求中的待校验信息进行校验确定所述操作请求是否发生传输错误。
6、本发明还提供了一种系统,包括:多个用于执行上述的数据共享方法的装置,或者上述的装置。
7、在一个实施例中,所述将根据所述操作请求中的至少部分信息生成的待校验信息写入到所述操作请求中,包括:根据所述操作请求中被所述当前装置写入所述操作请求的数据生成所述待校验信息,并将所述待校验信息加入到所述操作请求中。
8、在一个实施例中,所述将根据所述操作请求中的至少部分信息生成的待校验信息写入到所述操作请求中,包括:根据所述操作请求中已被写入的数据生成所述待校验信息,并将所述待校验信息加入到所述操作请求中。
9、在一个实施例中,在将根据所述操作请求中的至少部分信息生成的待校验信息写入到所述操作请求中之前,还包括:确定所述当前装置为第一目标装置;其中,所述多个装置中的各装置均为所述第一目标装置,或者所述多个装置中级联的最后一个装置为所述第一目标装置。
10、在一个实施例中,所述方法还包括:在所述第二传输过程中,对所述操作请求中的待校验信息进行校验确定所述操作请求是否发生传输错误。
11、在一个实施例中,所述操作请求中还包括表征轮次的标识信息;所述将待执行的操作指令写入到操作请求中,包括:若所述操作请求的标识信息与上一轮次的所述操作请求的标识信息相同,则在所述操作请求中重复写入上一轮次的操作指令;若所述操作请求的标识信息与上一轮次的所述操作请求的标识信息不相同,则在所述操作请求中写入新的操作指令。
12、在一个实施例中,所述当前装置为所述首个装置,所述方法还包括:在确定所述操作请求未发生传输错误时,生成下一轮次的所述操作请求进行传输;在确定所述操作请求发生传输错误时,重新生成本轮次的所述操作请求并再次进行传输。
13、在一个实施例中,对所述操作请求中的待校验信息进行校验,确定本轮的所述操作请求是否发生传输错误,包括:针对所述操作请求中的每个待校验信息,基于与生成所述待校验信息相同位置的所述至少部分信息,生成与所述待校验信息对应的参照校验信息;在所述操作请求中全部的所述待校验信息均与对应的所述参照校验信息相同时,确定所述操作请求未发生传输错误;在所述操作请求中任一所述待校验信息与对应的所述参照校验信息不相同时,确定所述操作请求发生传输错误。
14、在一个实施例中,所述系统为hil系统,所述多个装置中至少一个装置为工控机、至少一个装置为连接到i/o单元的控制模块,所述i/o单元用于直接或间接连接到被测件;所述目标数据包括以下至少之一:所述工控机产生的需发送至所述被测件的下发信息;需经控制模块发送至所述工控机的上报信息。