本发明涉及ota(over-the-airtechnology空中下载技术)的车辆数据升级,具体涉及一种基于ota的车辆数据升级方法、装置及车载终端。
背景技术:
1、随着计算机控制、娱乐系统、通信网络技术的快速发展,车辆领域也融入多样化的娱乐设备和通信设备,搭载的电子控制单元功能越来越多,进而车辆数据信息也越来越复杂化。因此,ota远程升级技术可以不断拓展在车载终端或车载控制器或整车上,并对车辆的现有功能不断进行优化,提升用户体验。
2、相关技术中,基于车辆数据的整车数据升级分为线上升级和线下升级,线上升级一般通过云端与tbox通信,将升级包下发至车内的tbox或者网关,车载网关采用基于以太网的doip协议通过内核协议栈传输至网卡,网卡将升级包至各个ecu,各个ecu将依次升级。或,线下升级使用汽车售后专有工具通过obd口或usb口升级,当前整车升级普遍采用线上升级。
3、如图1所示,为线上升级示意图,当升级包到达车内网关后,ota程序按照doip协议组装升级包数据报文,将报文通过socket接口发送到内核tcp/ip协议栈再到网卡。但doip协议以传统tcp/ip协议栈为基础,报文的收发都有linux内核协议栈的参与,由于内核协议栈自身处理数据包存在中断处理、内存拷贝、上下文切换、局部性失效、内存管理问题等,当网络中大量数据包到来时,会产生频繁的硬件中断请求、内核态与用户态的不断切换、以及多次的内存拷贝,导致系统消耗变大,系统性能下降、刷写时间增加,整车升级效率低。
技术实现思路
1、因此,本发明要解决的技术问题在于克服现有技术中的基于线上升级由于内核协议栈自身处理数据问题导致系统消耗变大,系统性能下降、刷写时间增加,整车升级效率低的问题,从而提供一种基于ota的车辆数据升级方法、装置及车载终端。
2、根据第一方面,本发明实施例公开一种基于ota的车辆数据升级方法,用于第一车载终端,包括如下步骤:
3、获取车辆升级数据包;
4、基于预设协议,将所述车辆升级数据包加载成目标报文;
5、响应于ota升级指令启动,发送请求消息至第二车载终端,并启动第一dpdk指令;
6、基于所述第一dpdk指令,发送所述目标报文至第二车载终端。
7、结合第一方面,在第一方面的一种实施方式,所述第一dpdk指令通过所述第一车载终端的发送端口生成。
8、结合第一方面,在第一方面的一种实施方式,通过网卡发送所述目标报文至第二车载终端。
9、结合第一方面,在第一方面的一种实施方式,基于以太网tcp/ip协议栈,将所述请求消息发送至第二车载终端。
10、通过执行第一方面的上述实施方式,在第一车载终端以dpdk数据平面开发套件为基础进行二次开发将其集成在车载网关上,当有整车ota升级时,第一车载终端的车载网关通过ota程序调用dpdk套件直接对车内网卡进行操作,可以绕过linux内核协议栈处理数据包的方式传输的车辆升级数据包,从一定程度上解决第一车载终端刷写耗时和整车升级效率低的问题,减少车主等待升级的时间,增强用户体验。
11、根据第二方面,本发明实施例还公开一种基于ota的车辆数据升级方法,用于第二车载终端,包括如下步骤:
12、接收第一车载终端发送的请求消息;
13、向所述第一车载终端回复应答消息;
14、响应于ota升级指令启动,启动第二dpdk指令;
15、基于所述第二dpdk指令,接收所述第一车载终端发送的目标报文;
16、当验证所述目标报文校验正常后,按照所述目标报文执行升级动作。
17、结合第二方面,在第二方面的一种实施方式中,通过所述第二车载终端的接收端口启动所述第二dpdk指令。
18、通过执行第一方面的上述实施方式,在第二车载终端以dpdk数据平面开发套件为基础进行二次开发将其集成在车载网关上,当有整车ota升级时,第二车载终端通过ota程序调用dpdk套件直接对车内网卡进行操作,可以绕过linux内核协议栈处理数据包的方式传输的车辆升级数据包,从一定程度上解决第二车载终端刷写耗时的问题,减少车主等待升级的时间,增强用户体验。
19、根据第三方面,本发明实施例还公开一种基于ota的车辆数据升级装置,用于第一车载终端,包括如下模块:
20、获取模块,用于获取车辆升级数据包;
21、报文加载模块,用于基于预设协议,将所述车辆升级数据包加载成目标报文;
22、第一启动模块,用于响应于ota升级指令启动,发送请求消息至第二车载终端,并启动第一dpdk指令;
23、发送模块,用于基于所述第一dpdk指令,发送所述目标报文至第二车载终端。
24、根据第四方面,本发明实施例还公开一种基于ota的车辆数据升级装置,用于第二车载终端,包括如下模块:
25、第一接收模块,用于接收第一车载终端发送的请求消息;
26、消息回复模块,用于向所述第一车载终端回复应答消息;
27、第二启动模块,用于响应于ota升级指令启动,启动第二dpdk指令;
28、第二接收模块,用于基于所述第二dpdk指令,接收所述第一车载终端发送的目标报文;
29、报文验证模块,用于当验证所述目标报文校验正常后,按照所述目标报文执行升级动作。
30、根据第五方面,本发明实施例还公开一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面或第一方面任一实施方式或第二方面或第二方面任一实施方式中所述的基于ota的车辆数据升级方法。
31、根据第六方面,本发明实施例还公开一种车载终端,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或第一方面任一实施方式或或第二方面或第二方面任一实施方式中所述的基于ota的车辆数据升级方法。
1.一种基于ota的车辆数据升级方法,其特征在于,用于第一车载终端,包括如下步骤:
2.根据权利要求1所述的基于ota的车辆数据升级方法,其特征在于,所述第一dpdk指令通过所述第一车载终端的发送端口生成。
3.根据权利要求1所述的基于ota的车辆数据升级方法,其特征在于,通过网卡发送所述目标报文至第二车载终端。
4.根据权利要求1所述的基于ota的车辆数据升级方法,其特征在于,基于以太网tcp/ip协议栈,将所述请求消息发送至第二车载终端。
5.一种基于ota的车辆数据升级方法,其特征在于,用于第二车载终端,包括如下步骤:
6.根据权利要求5所述的基于ota的车辆数据升级方法,其特征在于,通过所述第二车载终端的接收端口启动所述第二dpdk指令。
7.一种基于ota的车辆数据升级装置,其特征在于,用于第一车载终端,包括如下模块:
8.一种基于ota的车辆数据升级装置,其特征在于,用于第二车载终端,包括如下模块:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1至6中任一项所述的基于ota的车辆数据升级方法。
10.一种车载终端,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至6中任一项所述的基于ota的车辆数据升级方法。