数据传输方法、装置、设备及系统与流程

    专利2026-09-22  19


    本技术涉及汽车,尤其涉及汽车软件升级,具体涉及一种数据传输方法、装置、设备及系统。


    背景技术:

    1、空中下载技术(over-the-air technology,ota)是通过相关通信接口实现车载软件远程管理,ota为车载软件升级提供了通道,其价值是将新软件远程刷写到车辆控制器中。

    2、软件定义汽车逐渐成为业内共识,汽车软件存在两个趋势:第一、整车厂交付的汽车将不再是一个功能固化的产品,而是一个持续更新的智能设备,在整个生命周期内,需要持续支持软件迭代升级;第二、随着软件量的增加,软件bug将成为潜在风险,ota可以有效解决软件故障,通过软件升级降低开发周期短带来的软件风险问题,完成软件漏洞的修复,减少软件问题导致的召回。

    3、而在车端从云端完成升级包的下载后,往往需要耗费大量的时间将升级包传输至各个需要更新的控制器,实现升级包的更新。在车端部署升级包的过程中,随着部署时间的增加,将会导致车辆的油耗和电耗都随之增加,且存在由于升级包部署时间过长,导致车辆发生亏电的情况。


    技术实现思路

    1、本技术的目的之一在于提供数据传输方法、装置、设备及系统,用于减少软件包的部署时长,提高软件包数据的传输效率。

    2、为了实现上述目的,本技术采用的技术方案如下:

    3、根据本技术涉及的第一方面,提供一种数据传输方法,应用于微控制单元(microcontroller unit,mcu),包括:主控节点mcu接收ota客户端发送的部署开始信号,部署开始信号用于指示ota客户端完成对软件包的下载,以及目标子控节点的可用存储空间大于软件包的大小,目标子控节点与电子控制器单元(electronic control unit,ecu)连接,软件包用于更新ecu的功能模块。进一步的,主控节点mcu确定主控节点mcu的多个空闲缓冲区,合并多个空闲缓冲区,得到目标缓冲区;并向ota客户端发送第一应答消息,第一应答消息用于指示ota客户端根据目标缓冲区对软件包进行拆分,拆分后的软件包包括多个数据模块,多个数据块中的每个数据块所需的存储空间,均小于或等于目标缓冲区的存储空间。进一步的,主控节点mcu接收ota客户端发送的目标数据块,并向目标子控节点转发目标数据块,直至多个数据块完成转发,目标数据块为多个数据块中的任意一个数据块。

    4、根据上述技术手段,在本技术提供的数据传输方法中,通过确定mcu的空闲缓冲区,确定当前mcu可用的缓冲区大小,合并得到可用存储空间最大的目标缓冲区,在通知ota客户端后,以使得ota客户端根据可用缓冲区大小,调整每次发送数据块的大小,以减小在软件包传输过程中的传输次数,从而实现加快数据传输的速度,提高数据传输的效率,进而随着传输效率的提高,减小了软件包的部署时长,降低了车辆因ota升级导致亏电的风险。

    5、在一种可能的实施方式中,主控节点mcu在接收空中下载ota客户端发送的部署开始信号之后,上述数据传输方法还包括:主控节点mcu向目标子控节点转发部署开始信号,以使得目标子控节点所在的目标网关设备为软件包传输配置带宽资源;并接收目标子控节点发送的第二应答消息,第二应答消息用于指示目标网关设备已完成带宽资源的配置。

    6、在一种可能的实施方式中,主控节点mcu基于控制器局域网(controller areanetwork,can)总线传输协议指定的预设数据格式对目标数据块进行处理,得到处理后的待传输数据;并基于目标网关设备配置的带宽资源,向目标子控节点发送待传输数据。

    7、根据上述技术手段,本技术提供的数据传输方法中,通过对can总线带宽的调整,能够使得传输的数据更快更高效,避免了出现can总线上数据出现堵塞,同时也会使得数据传输稳定性也会增加,降低了传输时可能出现的数据丢帧、错误帧等情况的发生,也降低了数据发送过程中的时延。

    8、在一种可能的实施方式中,主控节点mcu通过通讯中间件接收ota客户端发送的目标数据块,ota客户端与通讯中间件之间通过本地套接字socket服务通信连接。

    9、根据上述技术手段,本技术提供的数据传输方法中,ota客户端数据按照指定的格式封装加密后,通过本地socket服务或私有协议直连通讯中间件,取消与中间链路多个软件模块之间的数据传输通道。这样一来,软件包中间传输环节的减少,以使得通讯链路更短更高效。

    10、在一种可能的实施方式中,主控节点mcu响应于ota客户端发送的部署完成信号,根据预设缓冲区,对目标缓冲区进行划分处理,得到多个空闲缓冲区,部署完成信号用于指示目标子控节点已完成软件包的写入。

    11、根据上述技术手段,本技术提供的数据传输方法中,在完成软件包的部署之后,主控节点mcu基于预先设置的缓冲区,重新划分,恢复至传输软件包之前的状态,以保障主控节点mcu在面对高并发业务时能够正常运行。

    12、在一种可能的实施方式中,主控节点mcu向目标子控节点发送部署完成信号,以使得目标网关设备取消为软件包传输配置的带宽资源。

    13、根据上述技术手段,本技术提供的数据传输方法中,在完成软件包的部署之后,设置有目标子控节点的目标网关设备,恢复至传输软件包之前的状态,避免带宽资源闲置,保障带宽资源的利用率。

    14、根据本技术提供的第二方面,提供一种数据传输方法,应用于ota客户端,包括ota客户端向主控节点mcu发送部署开始信号,部署开始信号用于指示ota客户端完成对软件包的下载,以及目标子控节点的可用存储空间大于软件包的大小,目标子控节点与ecu连接,软件包用于更新ecu的功能模块。ota客户端接收主控节点mcu发送的第一应答消息,第一应答消息用于指ota客户端根据目标缓冲区对软件包进行拆分,目标缓冲区为主控节点mcu合并主控节点mcu的多个空闲缓冲区得到的。进一步的,ota客户端根据目标缓冲区,对软件包拆分,得到多个数据块,多个数据块中的每个数据块所需的存储空间,均小于或等于目标缓冲区的存储空间。进一步的,ota客户端通过主控节点mcu向目标子控节点发送目标数据块,目标数据块为多个数据块中的任意一个数据块,直至多个数据块完成转发。进一步的,ota客户端向主控节点mcu发送部署完成信号,以使得主控节点mcu根据预设缓冲区对目标缓冲区进行划分处理,得到多个空闲缓冲区,部署完成信号用于指示目标子控节点已完成软件包的写入。

    15、根据本技术提供的第三方面,提供一种数据传输系统,包括ota客户端、主控节点mcu、子控节点以及ecu,ota客户端以及主控节点mcu部署于车辆的车机,子控节点部署于网关设备,网关设备连接多个ecu,车机与网关设备通过can总线连接。ota客户端用于向主控节点微控制单元mcu发送部署开始信号,部署开始信号用于指示ota客户端完成对软件包的下载,以及目标子控节点的可用存储空间大于软件包的大小,目标子控节点通过所部署的目标网关设备与目标ecu连接,软件包用于更新目标ecu的功能模块。主控节点mcu用于确定主控节点mcu的多个空闲缓冲区,合并多个空闲缓冲区,得到目标缓冲区。主控节点mcu还用于向ota客户端发送第一应答消息,第一应答消息用于指示ota客户端根据目标缓冲区大小对软件包进行拆分,拆分后的软件包包括多个数据块,多个数据块中的每个数据块所需的存储空间,均小于或等于目标缓冲区的存储空间。ota客户端用于根据可用目标缓冲区,对软件包进行拆分,得到多个数据块。ota客户端还用于向主控节点mcu发送目标数据块,目标数据块为多个数据块中的任意一个数据块。主控节点mcu还用于向目标子控节点转发目标数据块,直至多个数据块完成转发。

    16、在一种可能的实施方式中,在主控节点mcu用于接收到ota客户端发送的部署开始信号后,向目标子控节点转发部署开始信号,以使得目标网关设备为软件包传输配置带宽资源。目标子控节点用于向主控节点mcu发送第二应答消息,第二应答消息用于指示目标网关设备已完成带宽资源的配置。

    17、根据本技术提供的第四方面,提供一种数据传输装置,部署于主控节点mcu,数据传输装置包括接收单元、确定单元、处理单元以及发送单元。接收单元,用于接收ota客户端发送的部署开始信号,部署开始信号用于指示ota客户端完成对软件包的下载,以及目标子控节点的可用存储空间大于软件包的大小,目标子控节点与ecu连接,软件包用于更新ecu的功能模块。确定单元,用于确定主控节点mcu的多个空闲缓冲区。处理单元,用于合并多个空闲缓冲区,得到目标缓冲区。发送单元,用于向ota客户端发送第一应答消息,第一应用消息用于指示ota客户端根据目标缓冲区对软件包进行拆分,拆分后的软件包包括多个数据块,多个数据块中的每个数据块所需的存储空间,均小于或等于目标缓冲区的存储空间。接收单元,还用于接收ota客户端发送的目标数据块,目标数据块为多个数据块中的任意一个数据块。发送单元,还用于向目标子控节点转发目标数据块,直至多个数据块完成转发。

    18、在一种可能的实施方式中,发送单元,还用于向目标子控节点转发部署开始信号,以使得目标子控节点所在的目标网关设备为软件包传输配置带宽资源。接收单元,还用于接收目标子控节点发送的第二应答消息,第二应答消息用于指示目标网关设备已完成带宽资源的配置。

    19、在一种可能的实施方式中,处理单元,还用于基于can总线传输协议指定的预设数据格式对数据块进行处理,得到处理后的待传输数据。发送单元,还用于基于目标网关设备配置的带宽资源,向目标子控节点发送待传输数据。

    20、在一种可能的实施方式中,接收单元,还用于通过通讯中间件接收ota客户端发送的数据块,ota客户端与通讯中间件之间通过本地socket服务通信连接。

    21、在一种可能的实施方式中,处理单元,还用于响应于ota客户端发送的部署完成信号,根据预设缓冲区,对目标缓冲区进行划分处理,得到多个空闲缓冲区,部署完成信号用于指示目标子控节点已完成软件包的写入。

    22、在一种可能的实施方式中,发送单元,还用于向目标子控节点发送部署完成信号,以使得目标网关设备取消为软件包传输配置的带宽资源。

    23、根据本技术提供的第五方面,提供一种数据传输装置,部署于ota客户端,包括发送单元、接收单元以及处理单元。发送单元,用于向主控节点微控制单元mcu发送部署开始信号,部署开始信号用于指示ota客户端完成对软件包的下载,以及目标子控节点的可用存储空间大于软件包的大小,目标子控节点与电子控制单元ecu连接,软件包用于更新ecu的功能模块。接收单元,用于接收主控节点mcu发送的第一应答消息,第一应答消息用于指ota客户端根据目标缓冲区对软件包进行拆分,目标缓冲区为主控节点mcu合并主控节点mcu的多个空闲缓冲区得到的。处理单元,用于根据目标缓冲区,对软件包拆分,得到多个数据块,多个数据块中的每个数据块所需的存储空间,均小于或等于目标缓冲区的存储空间。发送单元,还用于通过主控节点mcu向目标子控节点发送目标数据块,目标数据块为多个数据块中的任意一个数据块,直至多个数据块完成转发。发送单元,还用于向主控节点mcu发送部署完成信号,以使得主控节点mcu根据预设缓冲区对目标缓冲区进行划分处理,得到多个空闲缓冲区,部署完成信号用于指示目标子控节点已完成软件包的写入。

    24、根据本技术提供的第六方面,提供一种主控节点mcu,部署于车辆。主控节点mcu包括存储器和处理器,存储器和处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当处理器执行计算机指令时,主控节点mcu执行上述第一方面及其任一种可能的实施方式提供的数据传输方法。

    25、根据本技术提供的第七方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在主控节点mcu上运行时,使得主控节点mcu执行上述第一方面及其任一种可能的实施方式提供的数据传输方法。

    26、根据本技术提供的第八方面,提供一种车辆,包括上述第四方面提供的主控节点mcu。

    27、根据本技术提供的第九方面,提供一种计算机程序产品,计算机程序产品包括计算机指令,当计算机指令在在主控节点mcu上运行时,使得主控节点mcu执行上述第一方面及其任一种可能的实施方式提供的数据传输方法。

    28、由此,本技术的上述技术特征具有以下有益效果:

    29、(1)本技术提供的数据传输方法中,通过确定mcu的空闲缓冲区,确定当前mcu可用的缓冲区大小,合并得到可用存储空间最大的目标缓冲区,缓冲区的增大意味着发送的软件数据量会增大,这也减少了软件包发送和应答的交互次数,同时也会减少一些软件传输环节的延时时间。在通知ota客户端后,以使得ota客户端根据可用缓冲区大小,调整每次发送数据块的大小,减小在软件包传输过程中的传输次数,从而实现加快数据传输的速度,提高数据传输的效率,进而随着传输效率的提高,减少了软件包的部署时长,降低了车辆因ota升级导致亏电的风险。

    30、(2)本技术提供的数据传输方法中,通过对can总线带宽的调整,能够使得传输的数据更快更高效,避免了出现can总线上数据出现堵塞,同时也会使得数据传输稳定性也会增加,降低了传输时可能出现的数据丢帧、错误帧等情况的发生,也降低了数据发送过程中的时延。

    31、(3)本技术提供的数据传输方法中,ota客户端数据按照指定的格式封装加密后,通过本地socket服务或私有协议直连通讯中间件,取消与中间链路多个软件模块之间的数据传输通道。这样一来,软件包中间传输环节的减少,以使得通讯链路更短更高效。

    32、需要说明的是,第二方面至第九方面中的任一种实现方式所带来的技术效果可参见第一方面中对应实现方式所带来的技术效果,此处不再赘述。

    33、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。


    技术特征:

    1.一种数据传输方法,其特征在于,应用于主控节点微控制单元mcu,所述方法包括:

    2.根据权利要求1所述的数据传输方法,其特征在于,在所述接收空中下载ota客户端发送的部署开始信号之后,所述方法还包括:

    3.根据权利要求2所述的数据传输方法,其特征在于,向所述目标子控节点转发所述目标数据块,包括:

    4.根据权利要求1所述的数据传输方法,其特征在于,所述接收所述ota客户端发送的目标数据块,包括:

    5.根据权利要求1-4中任意一项所述的数据传输方法,其特征在于,所述方法还包括:

    6.根据权利要求5所述的数据传输方法,其特征在于,所述方法还包括:

    7.一种数据传输方法,其特征在于,应用于空中下载ota客户端,所述方法包括:

    8.一种数据传输系统,其特征在于,包括空中下载ota客户端、主控节点微控制单元mcu、子控节点以及电子控制器单元ecu,所述ota客户端以及所述主控节点mcu部署于车辆的车机,所述子控节点部署于网关设备,所述网关设备连接多个ecu,所述车机与所述网关设备通过控制器局域网can总线连接;

    9.根据权利要求8所述的数据传输系统,其特征在于,在所述主控节点mcu用于接收到所述ota客户端发送的所述部署开始信号后,向所述目标子控节点转发所述部署开始信号,以使得目标网关设备为所述软件包传输配置带宽资源;

    10.一种数据传输装置,其特征在于,部署于主控节点微控制单元mcu,所述数据传输装置包括接收单元、确定单元、处理单元以及发送单元;

    11.一种数据传输装置,其特征在于,部署于空中下载ota客户端,所述数据传输装置包括发送单元、接收单元以及处理单元;

    12.一种微控制单元mcu,其特征在于,部署于车辆,包括存储器和处理器;

    13.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在微控制单元mcu上运行时,使得所述mcu执行如权利要求1-6中任意一项所述的数据传输方法。

    14.一种车辆,其特征在于,包括如权利要求12所述的微控制单元mcu。


    技术总结
    本申请涉及一种数据传输方法、装置、设备及系统,涉及汽车技术领域。该方法应用于主控节点MCU,包括:主控节点MCU接收OTA客户端发送的部署开始信号。进一步的,主控节点MCU确定主控节点MCU的多个空闲缓冲区,合并多个空闲缓冲区,得到目标缓冲区;并向OTA客户端发送第一应答消息,第一应答消息用于指示OTA客户端根据目标缓冲区对软件包进行拆分,拆分后的软件包包括多个数据模块,多个数据块中的每个数据块所需的存储空间,均小于或等于目标缓冲区的存储空间。进一步的,主控节点MCU接收OTA客户端发送的目标数据块,并向目标子控节点转发目标数据块,直至多个数据块完成转发。由此,实现减少软件包的部署时长,提高软件包数据的传输效率。

    技术研发人员:刘继阳,黄正瑜
    受保护的技术使用者:重庆长安汽车股份有限公司
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-102145.html

    最新回复(0)