本技术涉及车辆控制,尤其涉及汽车网关,具体涉及一种数据传输方法、装置、设备及存储介质。
背景技术:
1、随着汽车智能化的快速发展,汽车控制器局域网络(controller area network,can)中的电子控制单元(electronic control unit,ecu)越来越多。为了满足整车通信数据量和通信速率的需求,部分ecu在支持can协议的同时,也支持可变速率的can(can withflexibledata-rate,canfd)协议。
2、在部分ecu仅支持can协议,部分ecu可以支持can协议和canfd协议的情况下,通用的can网关路由方式,一般是通过应用程序(application,app)层基于协议标准进行处理后再进行发送。这种路由方式容易占用较多计算资源,效率较低。
技术实现思路
1、本技术提供一种数据传输方法、装置、设备及存储介质,以至少改善网关执行路由逻辑时占用计算资源较多且效率较低的技术问题。本技术的技术方案如下:
2、根据本技术涉及的第一方面,提供一种数据传输方法,包括:从第一网段接收第一报文;第一报文包括第一报文对应的第一报文标识和待传输的业务数据;
3、当预设路由表中存在第一网段和第一报文标识的对应关系时,对业务数据的数据长度、第一报文的协议类型和第一目标ecu的协议类型进行校验,并当校验通过时向第一目标ecu传输业务数据;预设路由表包括多个网段和多个报文标识的对应关系,以及多个报文标识和多个目标ecu的对应关系;第一目标ecu用于表示预设路由表中与第一报文标识存在对应关系的目标ecu。
4、根据上述技术手段,本技术可以在网关中配置预设路由表,通过查询预设路由表准确且高效地获取路由信息,从而提高网关执行路由处理逻辑的效率,并有效地降低计算资源占用。并且,本技术可以在获取路由信息后,对业务数据的数据长度、第一报文的协议类型和第一目标ecu的协议类型进行校验,可以在高效地实现数据路由的同时,保证数据传输的稳定性,避免第一目标ecu不支持第一报文的协议类型导致的数据传输错误问题。
5、在一种可能的实施方式中,预设路由表还包括各目标ecu的协议类型;对业务数据的数据长度、第一报文的协议类型和第一目标ecu的协议类型进行校验的方法,具体包括:
6、解析第一报文标识确定第一报文的协议类型,并从预设路由表中读取第一目标ecu的协议类型;
7、当第一报文的协议类型为can协议时,确定校验通过;
8、当第一报文的协议类型为canfd协议、且第一目标ecu的协议类型为canfd协议时,确定校验通过;
9、当第一报文的协议类型为canfd协议、且第一目标ecu的协议类型为can协议时,解析第一报文确定业务数据的数据长度,并当数据长度大于预设长度阈值时确定校验不通过,或者当数据长度小于或等于预设长度阈值时确定校验通过。
10、根据上述技术手段,本技术可以准确地确定将业务数据传输至目标ecu后,是否会造成第一目标ecu的总线读取错误,从而可以有效地支持将业务数据传输至第一目标ecu,并避免对第一目标ecu的总线造成破坏。
11、在一种可能的实施方式中,向第一目标ecu传输业务数据的方法,具体包括:
12、确定第一目标ecu对应的消息缓冲区的工作状态;
13、当消息缓冲区对应的工作状态为空闲时,将携带有业务数据的传输配置信息添加在消息缓冲区内,以向第一目标ecu发送业务数据。
14、根据上述技术手段,本技术可以在第一报文和第一目标ecu的报文类型一致或者不一致时,将需要传输的业务数据直接写入第一目标ecu对应的消息缓冲区,以实现路由发送,改善通用技术中在报文类型不一致时路由效率较低的问题,提高数据传输效率。
15、在一种可能的实施方式中,预设路由表还包括各目标ecu的协议数据单元标识;该数据传输方法,还包括:
16、当消息缓冲区对应的工作状态为繁忙时,在重传缓冲区内添加传输配置信息和第一目标ecu的协议数据单元标识的对应关系,以重新向第一目标ecu发送业务数据。
17、根据上述技术手段,本技术可以在第一目标ecu对应的消息缓冲区繁忙时,将发送失败的信息添加在重传缓冲区内,以支持重传业务数据,提升网关执行路由逻辑时的稳定性和准确性。
18、在一种可能的实施方式中,预设路由表还包括各目标ecu的邮箱标识;重新向第一目标ecu发送业务数据的方法,具体包括:
19、更新信息缓冲区的当前存储位置,并在当前存储位置内添加第一目标ecu的邮箱标识;
20、当信息缓冲区的当前读取位置与当前存储位置不一致时,基于第一目标ecu的邮箱标识从重传缓冲区内读取传输配置信息,并向第一目标ecu传输业务数据,以及更新当前读取位置。
21、根据上述技术手段,本技术可以通过确定信息缓冲区的当前读取位置和当前存储位置是否一致,重新传输存储在重传缓冲区内的传输配置信息,以提升网关执行路由逻辑时的稳定性和准确性。
22、在一种可能的实施方式中,在重传缓冲区内添加传输配置信息和第一目标ecu的协议数据单元标识的对应关系之前,该数据传输方法还包括:
23、对第一目标ecu的协议数据单元标识、第一目标ecu的邮箱标识和业务数据的长度进行校验,得到校验结果;校验结果用于表示允许在重传缓冲区内添加传输配置信息和第一目标ecu的对应关系,或者不允许在重传缓冲区内添加传输配置信息和第一目标ecu的对应关系。
24、根据上述技术手段,本技术可以通过设置长度校验机制,避免网关可能面临的信息配置异常情况,提升网关执行路由逻辑时的稳定性和准确性。
25、根据本技术提供的第二方面,提供一种数据传输装置,包括:接收单元和处理单元;
26、接收单元,用于从第一网段接收第一报文;第一报文包括第一报文对应的第一报文标识和待传输的业务数据;
27、处理单元,用于当预设路由表中存在第一网段和第一报文标识的对应关系时,对业务数据的数据长度、第一报文的协议类型和第一目标ecu的协议类型进行校验,并当校验通过时向第一目标ecu传输业务数据;预设路由表包括多个网段和多个报文标识的对应关系,以及多个报文标识和多个目标ecu的对应关系;第一目标ecu用于表示预设路由表中与第一报文标识存在对应关系的目标ecu。
28、在一种可能的实施方式中,预设路由表还包括各目标ecu的协议类型;处理单元,具体用于:
29、解析第一报文标识确定第一报文的协议类型,并从预设路由表中读取第一目标ecu的协议类型;
30、当第一报文的协议类型为can协议时,确定校验通过;
31、当第一报文的协议类型为canfd协议、且第一目标ecu的协议类型为canfd协议时,确定校验通过;
32、当第一报文的协议类型为canfd协议、且第一目标ecu的协议类型为can协议时,解析第一报文确定业务数据的数据长度,并当数据长度大于预设长度阈值时确定校验不通过,或者当数据长度小于或等于预设长度阈值时确定校验通过。
33、在一种可能的实施方式中,处理单元,具体用于:
34、确定第一目标ecu对应的消息缓冲区的工作状态;
35、当消息缓冲区对应的工作状态为空闲时,将携带有业务数据的传输配置信息添加在消息缓冲区内,以向第一目标ecu发送业务数据。
36、在一种可能的实施方式中,预设路由表还包括各目标ecu的协议数据单元标识;
37、处理单元,还用于当消息缓冲区对应的工作状态为繁忙时,在重传缓冲区内添加传输配置信息和第一目标ecu的协议数据单元标识的对应关系,以重新向第一目标ecu发送业务数据。
38、在一种可能的实施方式中,预设路由表还包括各目标ecu的邮箱标识;处理单元,具体用于:
39、更新信息缓冲区的当前存储位置,并在当前存储位置内添加第一目标ecu的邮箱标识;
40、当信息缓冲区的当前读取位置与当前存储位置不一致时,基于第一目标ecu的邮箱标识从重传缓冲区内读取传输配置信息,并向第一目标ecu传输业务数据,以及更新当前读取位置。
41、在一种可能的实施方式中,处理单元,还用于对第一目标ecu的协议数据单元标识、第一目标ecu的邮箱标识和业务数据的长度进行校验,得到校验结果;校验结果用于表示允许在重传缓冲区内添加传输配置信息和第一目标ecu的对应关系,或者不允许在重传缓冲区内添加传输配置信息和第一目标ecu的对应关系。
42、根据本技术提供的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现上述第一方面及其任一种可能的实施方式的方法。
43、根据本技术提供的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面中及其任一种可能的实施方式的方法。
44、根据本技术提供的第五方面,提供一种计算机程序产品,计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面及其任一种可能的实施方式的方法。
45、由此,本技术的上述技术特征具有以下有益效果:
46、(1)本技术可以在网关中配置预设路由表,通过查询预设路由表准确且高效地获取路由信息,从而提高网关执行路由处理逻辑的效率,并有效地降低计算资源占用。并且,本技术可以在获取路由信息后,对业务数据的数据长度、第一报文的协议类型和第一目标ecu的协议类型进行校验,可以在高效地实现数据路由的同时,保证数据传输的稳定性,避免第一目标ecu不支持第一报文的协议类型导致的数据传输错误问题。
47、(2)本技术可以准确地确定将业务数据传输至目标ecu后,是否会造成第一目标ecu的总线读取错误,从而可以有效地支持将业务数据传输至第一目标ecu,并避免对第一目标ecu的总线造成破坏。
48、(3)本技术可以在第一报文和第一目标ecu的报文类型一致或者不一致时,将需要传输的业务数据直接写入第一目标ecu对应的消息缓冲区,以实现路由发送,改善通用技术中在报文类型不一致时路由效率较低的问题,提高数据传输效率。
49、(4)本技术可以在第一目标ecu对应的消息缓冲区繁忙时,将发送失败的信息添加在重传缓冲区内,以支持重传业务数据,提升网关执行路由逻辑时的稳定性和准确性。
50、(5)本技术可以通过确定信息缓冲区的当前读取位置和当前存储位置是否一致,重新传输存储在重传缓冲区内的传输配置信息,以提升网关执行路由逻辑时的稳定性和准确性。
51、(6)本技术可以通过设置长度校验机制,避免网关可能面临的信息配置异常情况,提升网关执行路由逻辑时的稳定性和准确性。
52、需要说明的是,第二方面至第五方面中的任一种实现方式所带来的技术效果可参见第一方面中对应实现方式所带来的技术效果,此处不再赘述。
53、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。