掌桥专利:专业的专利平台
掌桥专利
首页

软件更新方法以及相关设备

文献发布时间:2023-06-19 11:11:32


软件更新方法以及相关设备

技术领域

本申请实施例涉及软件更新领域,尤其涉及软件更新方法以及相关设备。

背景技术

随着智能网联汽车的发展,汽车的软件化和联网化逐渐成为趋势,越来越多的汽车功能以软件的形式部署在汽车内部。软件的一个重要特点就是可以方便地加以配置或修改,以实现更多和更新的功能,汽车软件更新变得越来越频繁,而通过空中接口下载(overthe air,OTA)的方式来进行软件更新更加灵活和方便。

在现有技术中,汽车内部可以有多个电子控制单元(electronic control unit,ECU),当需要进行整车OTA软件更新时,由一个ECU担任主ECU,其他的ECU分别作为从ECU,在更新过程中,主ECU从OTA云服务器中接收更新文件并根据该更新文件控制各ECU进行车辆更新。

在更新过程中,主ECU的可用存储空间可能不足以接收更新文件,这时主ECU无法根据更新文件控制各ECU进行车辆更新,导致更新失败。

发明内容

本申请实施例提供了一种软件更新方法以及相关设备,使得在主ECU的可用存储空间不足时,继续进行车辆更新。

本申请实施例第一方面提供了一种软件更新方法,包括:

第一ECU向第二ECU发送查询请求,以通知第二ECU查询本地的可用资源,如可用存储空间或可接纳文件体积等,第二ECU属于从ECU,第一ECU收到第二ECU发送的查询结果后根据查询结果确第二ECU为存储空间能够存放更新文件的ECU,查询结果可以包括第二ECU的可用存储空间或可接纳文件体积等,第一ECU向第二ECU发送更新任务消息,以实现新旧主ECU的移交,即第一ECU做为旧的主ECU将控制更新功能移交给新的主ECU即第二ECU,且第二ECU的存储空间能够存放更新文件。

在软件更新过程中,如果主ECU的可用存储空间不足以接收更新文件,主ECU可以在从ECU中选择可用存储空间足够的从ECU担任新的主ECU,并由该新的主ECU接收更新文件并控制目标ECU进行软件更新。

基于本申请实施例第一方面,本申请实施例第一方面的第一种实施方式中,在第一ECU向第二ECU发送查询请求之前,第一ECU接收通过空中接口下载OTA云服务器发送的启动下载指令,第一ECU接收该启动下载指令后准备控制目标ECU进行软件更新,启动下载指令可以包括更新文件的文件体积,若启动下载指令包括更新文件的文件体积,第一ECU根据该文件体积判断第一ECU的可用存储空间能否存放更新文件,若不能存放更新文件,第一ECU向第二ECU发送查询请求。

本申请实施例中,提供了一种第一ECU向第二ECU发送查询请求的条件,提高了方案的可实现性。

基于本申请实施例第一方面或本申请实施例第一方面的第一种实施方式,本申请实施例第一方面的第二种实施方式中,在第一ECU接收到查询结果之后,且在第一ECU根据该查询结果确定第二ECU为存储空间能够存放更新文件的ECU之前,第一ECU可以向第二ECU发送迁移请求,第一ECU向第二ECU发送迁移请求之后,第一ECU判断是否接收到第二ECU发送的同意迁移消息,第一ECU接收到第二ECU发送的同意迁移消息后,可以确定回复该消息的ECU可以作为新的主ECU,即触发第一ECU向第二ECU发送更新任务消息的步骤。

本申请实施例中,第一ECU可以选择发送了同意迁移消息的ECU为新的主ECU,降低了主ECU移交失败的风险。

基于本申请实施例第一方面至本申请实施例第一方面的第二种实施方式中任意一种实施方式,本申请实施例第一方面的第三种实施方式中,更新任务消息可以包括更新版本号和/或更新策略信息。

本申请实施例中,提供了更新任务消息所包括的内容,提高了方案的可实现性。

基于本申请实施例第一方面至本申请实施例第一方面的第三种实施方式中任意一种实施方式,本申请实施例第一方面的第四种实施方式中,第一ECU向所述第二ECU发送更新任务消息之后,第一ECU判断是否接收到第二ECU发送的移交确认消息,第二ECU收到更新任务消息之后可以向第一ECU发送移交确认消息,即若第一ECU收到移交确认消息则表示第二ECU接收到了更新任务消息,则第一ECU可以停止控制更新功能,实现主ECU的移交。

本申请实施例中,第一ECU根据移交确认消息停止控制更新功能,第一ECU可以确定第二ECU接收到了更新任务消息,可以执行主ECU的功能,提供了第一ECU停止控制更新功能的条件,降低了主ECU移交失败的风险。

本申请实施例第二方面提供了一种软件更新方法,包括:

第二ECU接收第一ECU发送的查询请求后,第二ECU查询本地的可用资源,如可用存储空间或可接纳文件体积等,第二ECU的可用存储空间能够存放更新文件,第二ECU是从ECU中的一个,第二ECU查询本地的可用资源之后,向第一ECU发送查询结果,第二ECU接收更新任务消息和更新文件,实现新旧主ECU的移交,即第一ECU做为旧的主ECU将控制更新功能移交给新的主ECU即第二ECU,第二ECU作为新的主ECU根据更新文件对目标ECU进行更新。

在软件更新的过程中,如果主ECU的可用存储空间不足以接收更新文件,从ECU中可用存储空间足够的从ECU可以作为新的主ECU,并由该新的主ECU接收更新文件并控制目标ECU进行软件更新。

基于本申请实施例第二方面,本申请实施例第二方面的第一种实施方式中,第二ECU发送了查询结果之后,第二ECU接收第一ECU发送的更新任务消息之前,若第二ECU接收到第一ECU发送的迁移请求,且第二ECU同意进行主ECU的移交,则根据迁移请求向第一ECU发送同意迁移消息。

本申请实施例中,第二ECU可以选择是否同意进行主ECU的移交,降低了主ECU移交失败的风险。

基于本申请实施例第二方面或本申请实施例第二方面的第一种实施方式,本申请实施例第二方面的第二种实施方式中,更新任务消息可以包括更新版本号和/或更新策略信息。

本申请实施例中,提供了更新任务消息所包括的内容,提高了方案的可实现性。

基于本申请实施例第二方面至本申请实施例第二方面的第二种实施方式中任意一种实施方式,本申请实施例第二方面的第三种实施方式中,第二ECU接收到第一ECU发送的更新任务消息之后可以向第一ECU发送移交确认消息,以此来告知第一ECU,第二ECU接收到了更新任务消息,第一ECU可以停止控制更新功能。

本申请实施例中,提供了第一ECU停止控制更新功能的条件,降低了主ECU移交失败的风险。

本申请实施例第三方面提供了一种软件更新方法,包括:

主ECU向存储ECU发送查询请求,以通知存储ECU查询本地的可用资源,如可用存储空间或可接纳文件体积等,存储ECU属于从ECU,主ECU收到存储ECU发送的查询结果后根据查询结果确存储ECU为存储空间能够存放更新文件的ECU,查询结果可以包括存储ECU的可用存储空间或可接纳文件体积等,主ECU将更新文件下载至该存储ECU,主ECU可以根据存储ECU中的更新文件对待更新的目标ECU进行更新,以实现本次的软件更新。

在软件更新过程中,如果主ECU的可用存储空间不足以接收更新文件,主ECU可以在从ECU中选择可用存储空间足够的从ECU担任存储ECU,由该存储ECU存储更新文件,主ECU可以根据存储ECU内的该更新文件控制目标ECU进行软件更新。

基于本申请实施例第三方面,本申请实施例第三方面的第一种实施方式中,在主ECU向存储ECU发送查询请求之前,主ECU接收通过空中接口下载OTA云服务器发送的启动下载指令,主ECU接收该启动下载指令后准备控制目标ECU进行软件更新,启动下载指令可以包括更新文件的文件体积,若启动下载指令包括更新文件的文件体积,主ECU根据该文件体积判断主ECU的可用存储空间能否存放更新文件,若不能存放更新文件,主ECU向存储ECU发送查询请求。

本申请实施例中,提供了一种主ECU向存储ECU发送查询请求的条件,提高了方案的可实现性。

基于本申请实施例第三方面或本申请实施例第三方面的第一种实施方式,本申请实施例第三方面的第二种实施方式中,在主ECU接收到查询结果之后,且在主ECU根据该查询结果确定存储ECU为存储空间能够存放更新文件的ECU之前,主ECU可以向存储ECU发送资源借用请求,主ECU向存储ECU发送资源借用请求之后,主ECU判断是否接收到存储ECU发送的分配成功消息,分配成功消息可以包括所述存储ECU的资源状况信息,主ECU接收到存储ECU发送的分配成功消息后,可以确定回复该消息的ECU可以作为存储ECU存储更新文件,主ECU可以将更新文件下载至存储ECU。

本申请实施例中,主ECU可以选择发送了分配成功消息的ECU为存储ECU,提高了方案的可实现性。

基于本申请实施例第三方面的第二种实施方式,本申请实施例第三方面的第三种实施方式中,在主ECU根据查询结果确定存储ECU为存储空间能够存放更新文件的ECU之后,主ECU将更新文件下载至该存储ECU之前,若主ECU收到了存储ECU发送的资源状况信息主ECU记录该资源状况信息。

本申请实施例中,主ECU可以获知存储ECU的资源状况信息,主ECU可以根据该资源状况信息将更新文件下载至存储ECU,降低了下载失败的风险。

基于本申请实施例第三方面的第三种实施方式,本申请实施例第三方面的第四种实施方式中,资源状况信息可以包括所述下述信息中的一个或多个,如存储ECU的可用存储空间大小,存储ECU可用存储空间的分配地址,和/或存储ECU的分配令牌。

本申请实施例中,提供了资源状况信息所包括的具体信息,提高了方案的可实现性。

基于本申请实施例第三方面的第一种实施方式,本申请实施例第三方面的第五种实施方式中,主ECU将更新文件下载至存储ECU的过程可以包括,主ECU接收来自OTA云服务器的下载数据,然后向存储ECU发送该下载数据,更新文件包括两个及以上的下载数据,且下载数据的体积小于主ECU的可用存储空间大小。

本申请实施例中,提供了主ECU将更新文件下载至存储ECU的具体过程,提高了方案的可实现性。

基于本申请实施例第三方面的第五种实施方式,本申请实施例第三方面的第六种实施方式中,在主ECU接收到OTA云服务器发送的下载数据之后,且在主ECU根据存储ECU中存储的更新文件对目标ECU进行更新操作之前,主ECU还可以向所述存储ECU发送存放地址和/或存放令牌,以使得存储ECU根据存放地址和/或存放令牌存储下载数据。

基于本申请实施例第三方面的第五种或第六种实施方式,本申请实施例第三方面的第七种实施方式中,主ECU向所述存储ECU发送所述下载数据之后,主ECU判断是否接收到所述存储ECU发送的确认消息,存储ECU收到下载数据之后可以向主ECU上报确认消息,即若主ECU收到确认消息则表示存储ECU接收到了下载数据,确认消息可以包含所述存储ECU已接收的下载数据体积,主ECU根据该下载数据体积更新存放地址。

本申请实施例中,主ECU可以获知存储ECU是否成功接收下载数据,且可以根据下载书记体积更及时的更新存放地址。

基于本申请实施例第三方面的第五种、第六种或第七种实施方式,本申请实施例第三方面的第八种实施方式中,下载数据的形式可以为数据包或数据帧。

本申请实施例中,提供了下载数据的具体可选形式,提高了方案的可实现性。

本申请实施例第四方面提供了一种软件更新方法,包括:

存储ECU接收主ECU发送的查询请求后,存储ECU查询本地的可用资源,如可用存储空间或可接纳文件体积等,存储ECU的可用存储空间能够存放更新文件,存储ECU是从ECU中的一个,存储ECU查询本地的可用资源之后,向主ECU发送查询结果,存储ECU接收更新文件,以使得主ECU可以根据更新文件对目标ECU进行更新。

在软件更新过程中,如果主ECU的可用存储空间不足以接收更新文件,主ECU可以在从ECU中选择可用存储空间足够的从ECU担任存储ECU,由该存储ECU存储更新文件,从而主ECU可以根据存储ECU内的该更新文件控制目标ECU进行软件更新。

基于本申请实施例第四方面,本申请实施例第四方面的第一种实施方式中,在存储向主ECU发送查询结果之后,存储ECU接收更新文件之前,若存储ECU接收到主ECU发送的资源借用请求,且存储ECU同意将存储空间借用给主ECU存放更新文件,则存储ECU可以向主ECU发送分配成功消息,同时分配成功消息可以包括该存储ECU的资源状况信息。

本申请实施例中,存储ECU可以选择是否同意将存储空间借用给主ECU存放更新文件,降低了更新文件下载失败的风险。

基于本申请实施例第四方面的第一种实施方式,本申请实施例第四方面的第二种实施方式中,资源状况信息可以包括所述下述信息中的一个或多个,如存储ECU的可用存储空间大小,存储ECU的可用存储空间的分配地址,或存储ECU的分配令牌。

本申请实施例中,提供了资源状况信息所包括的具体信息,提高了方案的可实现性。

基于本申请实施例第四方面至本申请实施例第四方面的第二种实施方式中任意一种实施方式,本申请实施例第四方面的第三种实施方式中,存储ECU接收更新文件的过程可以为,存储ECU接收主ECU转发的下载数据,更新文件至少包括两个下载数据,且该下载数据来自OTA云服务器。

本申请实施例中,提供了存储ECU接收更新文件的具体过程,提高了方案的可实现性。

基于本申请实施例第四方面的第三种实施方式,本申请实施例第四方面的第四种实施方式中,存储ECU向主ECU上报了查询结果之后,若存储ECU接收到了主ECU发送的存放地址和/或存放令牌,存储ECU根据该存放地址和/或所述存放令牌存放下载数据,该下载数据属于更新文件。

本申请实施例中,提供了一种存储ECU存放更新文件的具体方式,提高了方案的可实现性。

基于本申请实施例第四方面的第三种或第四种实施方式,本申请实施例第四方面的第五种实施方式中,存储ECU接收到下载数据之后,可以向主ECU发送确认消息,以此告知主ECU存储ECU已接收到该下载数据,同时确认消息还可以包括存储ECU已接收的下载数据体积。

基于本申请实施例第四方面的第三种实施方式至第四方面的第五种实施方式中的任意一种实施方式,本申请实施例第四方面的第六种实施方式中,下载数据的形式可以为数据包或数据帧。

本申请实施例中,提供了下载数据的具体可选形式,提高了方案的可实现性。

本申请实施例第五方面提供了一种电子控制单元,该电子控制单元作为第一ECU执行前述第一方面的方法。

本申请实施例第六方面提供了一种电子控制单元,该电子控制单元作为第二ECU执行前述第二方面的方法。

本申请实施例第七方面提供了一种电子控制单元,该电子控制单元作为主ECU执行前述第三方面的方法。

本申请实施例第八方面提供了一种电子控制单元,该电子控制单元作为存储ECU执行前述第四方面的方法。

本申请实施例第九方面提供了一种电子控制单元,该电子控制单元作为第一ECU执行前述第一方面的方法。

本申请实施例第十方面提供了一种电子控制单元,该电子控制单元作为第二ECU执行前述第二方面的方法。

本申请实施例第十一方面提供了一种电子控制单元,该电子控制单元作为主ECU执行前述第三方面的方法。

本申请实施例第十二方面提供了一种电子控制单元,该电子控制单元作为存储ECU执行前述第四方面的方法。

本申请实施例第十三方面提供一种芯片系统,该芯片系统包括处理器,用于支持终端实现上述方面中所涉及的功能,例如,例如处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存终端设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

本申请实施例第十四方面提供了一种计算机存储介质,该计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行如前述第一方面至第四方面中任意一个方面的一个或多个方法。

本申请实施例第十五方面提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如前述第一方面至第四方面中任意一个方面的一个或多个方法。

本申请实施例第十六方面提供了一种系统,该系统执行前述第五方面和第六方面的方法。

本申请实施例第十七方面提供了一种系统,该系统执行前述第七方面和第八方面的方法。

附图说明

图1为本申请实施例中更新网络框架示意图;

图2为申请实施例中软件更新方法一个流程示意图;

图3为申请实施例中软件更新方法另一个流程示意图;

图4为申请实施例中软件更新方法另一个流程示意图;

图5为申请实施例中第一电子控制单元一个结构示意图;

图6为申请实施例中第二电子控制单元一个结构示意图;

图7为申请实施例中主电子控制单元一个结构示意图;

图8为申请实施例中存储电子控制单元一个结构示意图;

图9为申请实施例中主电子控制单元另一个结构示意图;

图10为申请实施例中存储电子控制单元另一个结构示意图;

图11为申请实施例中第一电子控制单元另一个结构示意图;

图12为申请实施例中第二电子控制单元另一个结构示意图;

图13为申请实施例中主电子控制单元另一个结构示意图;

图14为申请实施例中存储电子控制单元另一个结构示意图。

具体实施方式

本申请实施例提供了一种车辆更新方法以及相关设备,用于主ECU的可用存储空间不足以接收更新文件时,进行车辆更新。

请参阅图1,本申请实施例中网络框架包括:

OTA云服务器101,车内ECU102,其中车内ECU包括主ECU1021和从ECU1022至1024。

OTA云服务器101中包括对车辆软件进行更新的更新文件,待更新的目标ECU根据更新文件进行软件更新,一般为目标ECU安装更新文件从而实现软件更新。

车内ECU包括主ECU1021和从ECU1022至1024,主ECU1021可以是一个也可以是多个,一般为一个,主ECU可以控制目标ECU根据一定规则进行软件更新,从ECU1022至1024可以是一个也可以是多个,一般为多个,本网络框架示意图以三个为例进行说明。

主ECU和各从ECU连接,该连接可以是有线连接也可以是无线连接,具体此处不做限定。若为有线连接,主ECU和从ECU可以通过数据传输线进行数据传输,若为无线连接,主ECU和从ECU可以通过无线网络进行数据传输,该无线网络可以是公网无线网络也可以是专网无线网络,具体此处不做限定。

目标ECU为需要进行软件更新的车内ECU102,目标ECU可以是一个也可以是多个,可以是主ECU1021也可以是从ECU1022至1024,具体此处不做限定。

下面结合图1的网络框架示意图,对本申请实施例中软件更新方法进行描述:

结合图1的网络框架示意图,本申请实施例中,主ECU的可用存储空间不足以接收更新文件时,可以通过多种方式接收更新文件并进行车辆更新,下面对本申请实施例中软件更新方法分别进行说明:

一、主ECU在从ECU中选择可用存储空间足够的从ECU担任新的主ECU,并由该新的主ECU接收更新文件并控制各ECU进行车辆更新:

请参阅图2,申请实施例中软件更新方法一个实施例包括:

201、OTA云服务器向第一ECU发送启动下载指令;

本实施例中,当需要进行车辆软件更新时,OTA云服务器向第一ECU发送启动下载指令,第一ECU为主ECU,启动下载指令可以包括更新文件的文件体积,或更新文件的文件类型等更新文件信息,第一ECU包括集中控制模块(update master),集中控制模块可以控制多个ECU的更新,集中控制模块可以以软件的形式部署在第一ECU上。步骤201也可以是一个服务器向第一ECU发送指令,所述指令指示启动下载。可以直接指示,也可以通过直接在下载指令包括上述内容进行指示。

202、第一ECU确定第一ECU不能存放更新文件并执行步骤203;

具体可以是根据第一条件确定能否存放更新文件。第一条件可以是多种,例如是一个阈值,当更新文件的某些参数满足该阈值对应的条件(例如大于或小于该参数、大于等于或小于等于等),确定不能存放更新文件。例如可以根据可用资源对应的参数(例如文件大小、或包数量等)判断是否能够存放更新文件。可用资源包括可用存储空间或可接纳文件体积等信息,第一ECU根据更新文件信息,如根据更新文件体积判断该第一ECU的可用资源,如可用存储空间是否能够存放更新文件,或根据更新文件的文件类型(如:大型包,中型包或小型包)判断该第一ECU的可用资源是否能够存放更新文件,例如更新文件的文件类型为中型包,第一ECU的可接纳文件体积为大型包,即第一ECU的可用资源能够存放更新文件。这里的判断也可以是一个确定的过程,即步骤202可以为第一ECU确定第一ECU不能存放更新文件,在此之后执行步骤203。步骤202也可以是第一ECU直接确定第一ECU满足第一条件,若满足第一条件,直接执行步骤203。

若第一ECU的可用资源不能够存放更新文件,则执行步骤203,若能存放更新文件(或者如前所述,即不满足第一条件)则接收OTA云服务器发送的更新文件,控制目标ECU进行车辆更新。具体控制方式可以为,第一ECU根据更新任务消息控制目标ECU进行车辆更新,更新任务消息可以为更新任务的基本信息。在一个实施例中,OTA云服务器向第一ECU发送的启动下载指令中可以包括更新任务消息,第一ECU接收OTA云服务器发送的更新任务消息的时机也可以是,第一ECU接收到启动下载指令后,接收OTA云服务器发送的更新任务消息,第一ECU接收更新任务消息的具体时机此处不做限定。

更新任务消息可以包括更新版本号和/或更新策略信息,例如更新版本号为A1到A2,更新策略信息为首先更新第一目标ECU然后更新第二目标ECU,表示本次更新由版本A1更新为版本A2,更新步骤为首先更新第一目标ECU然后更新第二目标ECU,第一ECU根据更新任务消息控制目标ECU进行车辆更新的具体操作流程可以是,第一ECU根据更新版本号确定本次更新由版本A1更新为版本A2,第一ECU根据更新策略信息确定此次待更新的目标ECU包括第一目标ECU和第二目标ECU,第一ECU首先向第一目标ECU发送更新第一目标ECU所需的第一更新文件,然后向第二目标ECU发送更新第二目标ECU所需的第二更新文件,第一目标ECU根据第一更新文件进行更新,第二目标ECU根据第二更新文件进行更新,第一更新文件和第二更新文件属于更新文件,可以理解的是若其中一个待更新的目标ECU,如第二目标ECU是第一ECU,该情况下第二目标ECU即第一ECU可以直接获取本地的更新文件进行软件更新。更新版本号也可以只包含A2即直接指示更新到A2。或者可以给出最终的目标ECU依次更新。

203、第一ECU向第二ECU发送查询请求;

一个实施例中,第一ECU的可用存储空间不能存放更新文件时,如第一ECU的可用于存放更新文件的存储空间体积参数小于更新文件的体积参数,第一ECU向第二ECU发送查询请求,第二ECU是从ECU中的一个,以通知第二ECU查询本地的可用资源,如可用存储空间相关联的参数或可接纳文件体积参数等。应理解,步骤203的执行也可以有其它触发条件,例如第一ECU也根据自身状态值或其它某些条件向第二ECU发送查询请求,或直接向第二ECU发送查询请求。本申请实施例中称可用于存放更新文件的存储空间或存储介质的空间大小为可用存储空间。

204、第二ECU确定本地的可用资源;

从ECU收到第一ECU发送的请求后,查询本地的可用资源,本地的可用资源为该ECU的资源,一般情况下指可用于存放文件的存储介质的空间大小。查询的方法包括访问本地的操作系统或存储介质的软件接口等,具体确定方法此处不做限定,一般情况下可用资源可以为该ECU的本地可用内存或其它存储空间,可以理解的是,若该ECU有对应的硬盘或其它存储介质,可用存储空间也可以是该硬盘或其他存储介质的可用存储空间。

应理解,步骤204是一个可选的步骤,所述第二ECU可以通过其它方法确定可用资源。可以理解的是若从ECU部署于芯片或者系统上,可以由该芯片或系统确定第二ECU的可用资源。

205、从ECU向第一ECU发送查询结果;

查询结果包括第二ECU的可用资源信息,如可用存储空间信息或可接纳文件体积信息等。体积信息为文件所占字节数,具体实现形式可以是一个字段,例如默认以兆字节MB为单位,查询结果为标识1,就表示可存放1MB字节数的文件。应理解,本申请各个实施例中的“可用”均是一种可选方案,例如这里的查询结果可以是第二ECU的资源信息,上文中可用存储空间为一个预设的、指定的或者是特定的存储空间,该预设的、指定的或者是特定的存储空间可以是双方确认的,其它设备配置的;或者就是一个存储空间。

206、第一ECU向第二ECU发送迁移请求;

步骤206中的迁移请求可以是一个请求将主ECU从第一ECU切换到第二ECU的消息,该信息中可以包含相关的指令信息,指示第二ECU启动主ECU的功能,即接收更新文件并控制目标ECU进行更新。第一ECU根据查询结果选择可用资源能够存放更新文件的从ECU,向该从ECU发送迁移请求。

207、第二ECU向第一ECU发送同意迁移消息;

步骤207中的消息可以是一个响应迁移请求的消息,该信息中包含指示信息,指示从ECU能够作为新的主ECU,或者通过发送指示参数响应迁移请求。第二ECU接收到迁移请求后,如果该第二ECU的可用资源能够存放更新文件,如第二ECU的可用资源相关联的参数大于更新文件体积相关联的参数,且该ECU处理业务的能力达到作为主ECU的标准,如该ECU的处理器的运行速率大于某一预设速率,即该从ECU能够作为新的主ECU,则该从ECU向第一ECU发送同意迁移消息。

208、第一ECU确定第二ECU为存储空间能够存放更新文件的ECU;

作为一个替代方案,第一ECU可以直接确定第二ECU。本实施例中,第一ECU接收到第二ECU发送的同意迁移消息后,可以确定发送了同意迁移消息的ECU可以作为新的主ECU,如果有多个ECU向第一ECU发送了同意迁移消息,则第一ECU可以根据预设的规则从这些ECU中选择一个ECU作为第二ECU,具体的规则可以为:选择可用存储空间最大的从ECU作为第二ECU,或者是选择最早回复同意迁移消息的从ECU作为第二ECU,或者是某些参数符合条件的,例如ECU编号最小的ECU,或者是其他的规则,具体规则此处不做限定。

可以理解的是,若第二ECU向第一ECU上报了第二ECU的可用存储空间或其它存储空间信息,且启动下载指令中包括与更新文件的体积相关联的参数,则第一ECU可以根据第二ECU的与可用存储空间相关联的参数大于等于更新文件的体积参数,确定第二ECU为存储空间能够存放更新文件的ECU,可以理解的是,第一ECU确定第二ECU为存储空间能够存放更新文件的ECU的方法除了上述两种还有其他方法,具体此处不做限定,如:若第一ECU向第二ECU发送了更新文件的体积参数,则第二ECU可以根据与本地的可用存储空间相关联的参数大于等于更新文件的体积参数,向第一ECU上报第二ECU的存储空间能够存放更新文件的标识,第一ECU根据该标识确定第二ECU为存储空间能够存放更新文件的ECU。

需要说明的是,在实际应用中,步骤206至207也可以不执行,如果不执行步骤206和207,则第一ECU可以根据步骤205中收到信息确定第二ECU,即选择可用存储空间能够存放更新文件的ECU作为第二ECU,如果有多个ECU的可用存储空间都能够存放更新文件,则第一ECU可以根据预设的规则从这些ECU中选择一个ECU作为第二ECU,具体的规则可以为:选择可用存储空间最大的ECU作为第二ECU,或者是选择最早回复查询结果的ECU作为第二ECU,或者是其他的规则,具体规则此处不做限定。

209、第一ECU向第二ECU发送更新任务消息;

更新任务消息为更新任务的基本信息,可以包括更新版本号和/或更新策略信息,第一ECU确定第二ECU后,第一ECU向第二ECU发送更新任务消息,该更新任务消息的具体信息参阅步骤202,具体此处不再赘述。

210、第二ECU向第一ECU发送移交确认消息;

第二ECU收到第一ECU发送的更新任务消息后,向第一ECU发送移交确认消息,表示第二ECU已经接收到更新任务消息,可以实现主ECU的切换,即第二ECU作为新的主ECU,第二ECU执行主ECU的功能,如接收更新文件并控制目标ECU的更新,第一ECU执行步骤211。

可以理解的是,本实施例第一ECU可以默认第二ECU可以收到第一ECU发送的更新任务消息,即在实际应用中可以不执行步骤210。

可选的,步骤211、第一ECU停止控制更新功能;

第一ECU停止控制更新功能,控制更新功能包括接收OTA云服务器发送的更新文件并根据更新任务消息控制目标ECU进行更新。

第一ECU和第二ECU实现主ECU的切换。

212、第二ECU接收更新文件;

第二ECU作为新的主ECU接收OTA云服务器发送的更新文件,第二ECU的可用存储空间可以容纳更新文件。可选的,第一ECU和第二ECU实现主ECU的切换后,可以向OTA云服务器或车内业务网关上报移交消息,移交消息包括第二ECU的标示信息,如第二ECU的地址信息或编码信息等,具体标示信息此处不做限定,上报移交信息也可以是在主ECU的切换之前上报的。

在实际运行中上报移交消息的ECU可以是第一ECU也可以是第二ECU,具体上报移交消息的ECU此处不做限定,上报的时机可以是第一ECU收到第二ECU发送的移交确认消息后,也可以是第一ECU停止控制更新功能后,具体上报时机此处不做限定。

若ECU向OTA云服务器上报了移交消息,OTA云服务器根据移交消息确认第二ECU为新的主ECU,向第二ECU发送更新文件,若ECU向车内业务网关上报了移交消息,OTA云将更新文件发送至车内网关后,车内网关向第二ECU转发更新文件。

可以理解的是,本实施例中步骤209和210为新旧主ECU的切换过程,步骤212为接收更新文件的过程,两者没有先后时序关系。213、第二ECU对目标ECU进行更新。

第二ECU根据更新任务消息对目标ECU进行更新。参阅步骤202的,具体方式可以为,第二ECU根据更新版本号确定本次更新由版本A1更新为版本A2,第二ECU根据更新策略信息确定此次待更新的目标ECU包括第一目标ECU和第二目标ECU,第二ECU首先向第一目标ECU发送更新第一目标ECU所需的第一更新文件,然后向第二目标ECU发送更新第二目标ECU所需的第二更新文件,第一目标ECU根据第一更新文件进行更新,第二目标ECU根据第二更新文件进行更新,第一更新文件和第二更新文件属于更新文件。

二、主ECU在从ECU中选择可用存储空间足够的从ECU担任存储ECU,由该存储ECU存储更新文件,主ECU可以根据存储ECU内的该更新文件控制各ECU进行车辆更新:

根据主ECU是否需要利用从ECU的资源状况信息向存储ECU发送下载数据,可分为以下几种情况,下面分别进行描述:

(1)若主ECU不需要利用从ECU的资源状况信息,请参阅图3,申请实施例中软件更新方法另一个实施例包括:

301、OTA云服务器向主ECU发送启动下载指令;

302、主ECU确定主ECU不能存放更新文件并执行步骤303;

303、主ECU向存储ECU发送查询请求;

304、存储ECU查询本地的可用资源;

305、存储ECU向主ECU发送查询结果;

本实施例中,本实施例步骤301至305中主ECU执行前述图2所示实施例步骤201至205中第一ECU执行的步骤,存储ECU执行前述图2所示实施例步骤201至205中第二ECU执行的步骤,步骤301至305和前述图2所示实施例中的步骤201至205类似,此处不再赘述。

306、主ECU向存储ECU发送资源借用请求;

步骤206中的资源借用请求可以是一个请求将更新文件存放到存储ECU的消息,该信息中可以包含相关的指令信息,指示第二ECU准备接收并存放更新文件。主ECU根据查询结果选择可用资源能够够存放更新文件的存储ECU,向该存储ECU发送资源借用请求。

307、存储ECU向主ECU发送分配成功消息;

步骤307中的消息可以是一个响应资源借用请求的消息,该信息中包含指示信息,指示存储ECU能够存放完整的更新文件,或者通过发送指示参数响应资源借用请求。存储ECU接收到资源借用请求后,如果该存储ECU的可用资源能够存放更新文件,即该ECU能够作为存储ECU存储更新文件,则该ECU向主ECU发送分配成功消息。

308、主ECU确定存储ECU为存储空间能够存放更新文件的ECU;

本实施例中,主ECU接收到存储ECU发送的分配成功消息后,可以确定发送了该分配成功消息的ECU可以作为存储ECU存储更新文件,存储ECU可以是从ECU中的一个或多个,一般情况下为一个,如果有多个ECU向第一ECU发送了分配成功消息,则主ECU可以根据预设的规则从这些ECU中选择部分ECU作为存储ECU,具体的规则可以为:选择可用存储空间最大的ECU作为存储ECU,或者是选择最早回复分配成功消息的ECU作为存储ECU,或者是某些参数符合条件的,例如ECU编号最小的ECU,或者是其他的规则,具体规则此处不做限定。

可以理解的是,若存储ECU向主ECU上报了存储ECU的可用存储空间或其它存储空间信息,且启动下载指令中包括更新文件的体积相关联的参数,则主ECU可以根据存储ECU的与可用存储空间相关联的参数大于等于更新文件的体积参数,确定存储ECU为存储空间能够存放更新文件的ECU,可以理解的是,主ECU确定存储ECU为存储空间能够存放更新文件的ECU的方法除了上述两种还有其他方法,具体此处不做限定,如:若主ECU向存储ECU发送了更新文件的体积参数,则存储ECU可以根据与本地的可用存储空间相关联的参数大于等于更新文件的体积参数,向主ECU上报存储ECU的存储空间能够存放更新文件的标识,主ECU根据该标识确定存储ECU为存储空间能够存放更新文件的ECU。

需要说明的是,在实际应用中,步骤306至307也可以不执行,如果不执行步骤306和307,则主ECU可以根据步骤305中收到的查询结果确定存储ECU,即选择可用存储空间能够存放更新文件的ECU作为存储ECU,如果有多个ECU的可用存储空间都能够存放更新文件,则主ECU可以根据预设的规则从这些ECU中选择部分ECU作为存储ECU,具体的规则可以为:选择可用存储空间最大的ECU作为存储ECU,或者是选择最早回复查询结果的ECU作为存储ECU,或者是其他的规则,具体规则此处不做限定。

309、主ECU接收下载数据;

主ECU接收OTA云服务器发送的下载数据,本实施例中,由于主ECU可用资源无法存放完整的更新文件,所以该更新文件需要被分为至少两个下载数据,每个下载数据的体积小于主ECU的可用存储空间,该下载数据的形式可以为数据包或数据帧,或其他的数据形式,具体此处不做限定。

310、主ECU向存储ECU发送下载数据;

由于主ECU的可用存储空间不足以存放完整的更新文件,主ECU接收OTA云服务器发送的下载数据后,即部分更新文件后,主ECU将该下载数据转发给存储ECU。在本发明的各个实施例中,所述主ECU确定存储ECU,可以不是上述实施例中说明的主ECU可用资源无法存放完整的更新文件,也可能是其它目的,例如确定一个ECU作为备份ECU,主ECU可以根据ECU的参数或种类信息确定,一个存储ECU,在主ECU存储完整或部分更新文件的情况下,再在存储ECU做出备份,以达到备份的效果。

311、存储ECU存放下载数据;

存储ECU接收了主ECU发送的下载数据后,将下载数据存放在本地可用存储空间,具体存放方式可以为存储ECU查询本地可用存储空间的地址段,将下载数据存入该地址段。

作为一个可选的实施例,所述步骤312、存储ECU向主ECU发送确认消息;

存储ECU存放下载数据后向主ECU发送确认消息,指示存储ECU已存放下载数据,以便主ECU进行后续操作,可以理解的是主ECU可以默认存储ECU在一定时长后完成存放该下载数据,即存储ECU可以不向主ECU发送确认消息。

313、主ECU对目标ECU进行更新。

主ECU根据存储ECU内的更新文件对目标ECU进行更新,参阅前述图2所示实施例中的步骤202,具体实施方式可以为主ECU根据更新版本号确定本次更新由版本A1更新为版本A2,主ECU根据更新策略信息确定此次待更新的目标ECU包括第一目标ECU和第二目标ECU,主ECU向存储ECU发送第一转发指令,第一转发指令可以包括第一目标ECU的标识信息和第一更新文件的标识信息,存储ECU根据第一转发指令将第一更新文件发送至第一目标ECU,主ECU向存储ECU发送第二转发指令,第二转发指令可以包括第二目标ECU的标识信息和第二更新文件的标识信息,存储ECU根据第二转发指令将第二更新文件发送至第二目标ECU,主ECU向第一目标ECU发送第一更新指令,第一目标ECU收到第一更新指令后根据第一更新文件实现第一目标ECU的更新,具体实施方式可以是第一目标ECU安装第一更新文件,实现第一目标ECU的更新,主ECU向第二目标ECU发送第二更新指令,第二目标ECU收到第二更新指令后根据第二更新文件实现第二目标ECU的更新,具体实施方式可以是第二目标ECU安装第二更新文件,实现第二目标ECU的更新,第一更新文件和第二更新文件属于更新文件。

在实际运行中,若其中一个待更新的目标ECU,如第二目标ECU是存储ECU,该情况下第二目标ECU即存储ECU可以直接获取本地的更新文件进行软件更新。

可以理解的是主ECU控制目标ECU更新的方式,除了主ECU向目标ECU发送安装指令和向存储ECU发送转发指令进行控制,还可以为其他控制方式,具体此处不做限定,例如主ECU向目标ECU发送安装指令和更新文件,具体实施方式可以为主ECU从存储ECU中获取部分目标ECU进行软件更新需要的更新文件,并将该更新文件发送至对应的目标ECU,目标ECU根据安装指令和更新文件进行软件更新,若待更新的目标ECU为主ECU,则主ECU从存储ECU中获取需要的更新文件并进行软件更新,可以理解的是主ECU每次从存储ECU获取的更新文件的体积小于主ECU的可用存储空间。

(2)若主ECU需要利用从ECU的资源状况信息,请参阅图4,申请实施例中软件更新方法另一个实施例包括:

401、OTA云服务器向主ECU发送启动下载指令;

402、主ECU确定主ECU不能存放更新文件并执行步骤403;

403、主ECU向存储ECU发送查询请求;

404、存储ECU查询本地的可用存储空间;

405、存储ECU向主ECU发送查询结果;

406、主ECU向存储ECU发送资源借用请求;

本实施例中的步骤401至406与前述图3所示实施例中的步骤301至306类似,此处不再赘述。

407、存储ECU向主ECU发送分配成功消息;

步骤407中的消息可以是一个响应资源借用请求的消息,该信息中包含指示信息,指示存储ECU能够存放完整的更新文件,或者通过发送指示参数响应资源借用请求。存储ECU接收到资源借用请求后,如果该ECU的可用存储空间能够存放更新文件,即该ECU能够作为存储ECU存储更新文件,则该ECU向主ECU发送分配成功消息,分配成功消息中包括存储ECU的资源状况信息,资源状况信息可以包括可用存储空间,分配地址和/或分配令牌,分配地址可以为该从ECU的可分配地址段,也可以为其他含义,例如为该从ECU的可分配地址段的起始地址,具体此处不做限定,本实施例以分配地址为该从ECU的可分配地址段的起始地址为例进行说明,分配令牌可以为特定的代码或编码,具体此处不做限定。

408、主ECU确定存储ECU为存储空间能够存放更新文件的ECU;

本实施例中的步骤408与前述图3所示实施例中的步骤308类似,此处不再赘述。

409、主ECU存储资源状况信息;

主ECU记录资源状况信息,以便向存储ECU发送下载数据,资源状况信息可以包含于分配成功消息中,资源状况信息可以包括可用存储空间,分配地址和/或分配令牌,具体信息可以参阅步骤407。

410、主ECU接收下载数据;

本实施例中的步骤410与前述图3所示实施例中的步骤309类似,此处不再赘述。

411、主ECU向存储ECU发送存放地址和/或存放令牌;

主ECU向存储ECU发送存放地址,存放地址表示存储ECU存放主ECU发送的下载数据时的存放地址,存放地址可以为存储ECU存放主ECU发送的下载数据时的首字节存放地址,也可以为其他含义,例如为存储ECU存放主ECU发送的下载数据时的存放地址段,具体此处不做限定,本实施例以存放地址为存储ECU存放主ECU发送的下载数据时的首字节存放地址为例进行说明,主ECU向存储ECU第一次发送的存放地址可以和存储ECU向主ECU上报的分配地址相同。

主ECU向存储ECU发送存放令牌,存放令牌用于主ECU和存储ECU间的验证,若存放令牌和分配令牌相匹配,则通过验证,即存储ECU可以接收主ECU发送的下载数据,否则不通过验证,即存储ECU拒绝接收主ECU发送的下载数据。

若主ECU向存储ECU发送存放地址和存放令牌,发送存放地址的过程和发送存放令牌的过程两者没有时序关系。

412、主ECU向存储ECU发送下载数据;

本实施例中的步骤412与前述图3所示实施例中的步骤310类似,此处不再赘述。

413、存储ECU存放下载数据;

存储ECU接收了主ECU发送的下载数据后,将下载数据存放在本地可用存储空间。

若主ECU向存储ECU发送了存放令牌,则若存放令牌和分配令牌相匹配,即通过验证后,存储ECU存放下载数据。

若主ECU向存储ECU发送了存放地址,则存储ECU根据存放地址存放下载数据,参阅步骤411,存放地址为存储ECU存放主ECU发送的下载数据时的首字节存放地址,若存放地址为0x00,下载数据包括16个字节,则将下载数据存放在0x00至0x0F。

414、存储ECU向主ECU发送确认消息;

本实施例中的步骤414与前述图3所示实施例中的步骤312类似,此处不再赘述。

415、主ECU更新存放地址;

主ECU根据下载数据更新存放地址,参阅步骤407和步骤413,存放地址更新为0x0F的下一个字节即0x10。

可以理解的是更新文件包括多个下载数据,若更新文件包括5个下载数据,则步骤410至415需要循环执行5次。

本实施例中,步骤409至步骤415为存储ECU接收更新文件的具体实施方式,可以理解的是还可以有其他实施方式,具体此处不做限定,例如主ECU将存储ECU的相关信息向OTA云服务器上报,OTA云服务器根据该相关信息将更新文件发送至存储ECU,存储ECU保存该更新文件。

416、主ECU对目标ECU进行更新。

本实施例中的步骤416与前述图3所示实施例中的步骤313类似,此处不再赘述。

上面对本申请实施例中的软件更新方法进行了描述,下面对本申请实施例中的电子控制单元分别进行描述。

请参阅图5,本申请实施例中第一电子控制单元一个实施例包括:

发送单元501,用于向第二ECU发送查询请求,还用于向第二ECU发送更新任务消息,还用于向第二ECU发送迁移请求;

接收单元502,用于接收第二ECU发送的查询结果,还用于接收通过空中接口下载OTA云服务器发送的启动下载指令,还用于接收第二ECU发送的移交确认消息;

判断单元503,用于根据文件体积判断第一ECU的可用存储空间是否能够存放更新文件,还用于判断是否接收到第二ECU发送的同意迁移消息;

确定单元504,用于根据查询结果确定第二ECU为存储空间能够存放更新文件的ECU;

停止控制单元505,用于根据移交确认消息停止控制更新功能。

本实施例中,第一电子控制单元中各单元所执行的操作与前述图2所示实施例中描述的类似,此处不再赘述。

请参阅图6,本申请实施例中第二电子控制单元一个实施例包括:

更新单元601,用于根据更新文件对目标ECU进行更新;

接收单元602,用于接收第一ECU发送的查询请求,还用于接收更新文件,还用于接收第一ECU发送的迁移请求;

查询单元603,用于查询第二ECU的可用存储空间;

发送单元604,用于向第一ECU发送查询结果,还用于接收第一ECU发送的更新任务消息,还用于向第一ECU发送同意迁移消息,还用于向第一ECU发送移交确认消息。

本实施例中,第二电子控制单元中各单元所执行的操作与前述图2所示实施例中描述的类似,此处不再赘述。

请参阅图7,本申请实施例中主电子控制单元一个实施例包括:

发送单元701,用于向存储ECU发送查询请求,还用于向存储ECU发送资源借用请求;

接收单元702,用于接收存储ECU发送的查询结果,还用于接收通过空中接口下载OTA云服务器发送的启动下载指令,接收存储ECU发送的确认消息;

判断单元703,用于根据文件体积判断主ECU的可用存储空间是否能够存放更新文件,还用于判断是否接收到存储ECU发送的分配成功消息;

确定单元704,用于根据查询结果确定存储ECU为存储空间能够存放更新文件的ECU;

更新单元705,用于根据存储ECU中存储的更新文件对目标ECU进行更新;

下载控制单元706,用于将更新文件下载至存储ECU,具体用于接收OTA云服务器发送的下载数据,并向存储ECU发送该下载数据。

本实施例中,主电子控制单元中各单元所执行的操作与前述图3所示实施例中描述的类似,此处不再赘述。

请参阅图8,本申请实施例中存储电子控制单元一个实施例包括:

存放单元801,用于存放下载数据;

接收单元802,用于接收主ECU发送的查询请求,还用于接收更新文件,还用于接收主ECU发送的资源借用请求,具体用于接收主ECU发送的下载数据;

查询单元803,用于查询存储ECU的可用存储空间;

发送单元804,用于向主ECU发送查询结果,还用于向主ECU发送分配成功消息,还用于向主ECU发送确认消息。

本实施例中,存储电子控制单元中各单元所执行的操作与前述图3所示实施例中描述的类似,此处不再赘述。

请参阅图9,本申请实施例中主电子控制单元另一个实施例包括:

发送单元901,用于向存储ECU发送查询请求,还用于向存储ECU发送资源借用请求,还用于向存储ECU发送存放地址和/或存放令牌;

接收单元902,用于接收存储ECU发送的查询结果,还用于接收通过空中接口下载OTA云服务器发送的启动下载指令,接收存储ECU发送的确认消息;

判断单元903,用于根据文件体积判断主ECU的可用存储空间是否能够存放更新文件,还用于判断是否接收到存储ECU发送的分配成功消息;

确定单元904,用于根据查询结果确定存储ECU为存储空间能够存放更新文件的ECU;

更新单元905,用于根据存储ECU中存储的更新文件对目标ECU进行更新,还用于根据下载数据体积更新存放地址;

记录单元906,用于记录资源状况信息;

下载控制单元907,用于将更新文件下载至存储ECU,具体用于接收OTA云服务器发送的下载数据,并向存储ECU发送该下载数据。

本实施例中,主电子控制单元中各单元所执行的操作与前述图4所示实施例中描述的类似,此处不再赘述。

请参阅图10,本申请实施例中存储电子控制单元另一个实施例包括:

存放单元1001,用于根据存放地址和/或存放令牌存放下载数据;

接收单元1002,用于接收主ECU发送的查询请求,还用于接收更新文件,还用于接收主ECU发送的资源借用请求,具体用于接收主ECU发送的下载数据,还用于接收主ECU发送的存放地址和/或存放令牌;

查询单元1003,用于查询存储ECU的可用存储空间;

发送单元1004,用于向主ECU发送查询结果,还用于向主ECU发送分配成功消息,还用于向主ECU发送确认消息。

本实施例中,存储电子控制单元中各单元所执行的操作与前述图4所示实施例中描述的类似,此处不再赘述。

请参阅图11,本申请实施例中第一电子控制单元另一个结构示意图,该第一ECU1100可以包括一个或一个以上中央处理器(central processing units,CPU)1101和存储器1105,该存储器1105中存储有一个或一个以上的应用程序或数据。

其中,存储器1105可以是易失性存储或持久存储。存储在存储器1105的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1101可以设置为与存储器1105通信,在第一ECU1100上执行存储器1105中的一系列指令操作。

第一ECU1100还可以包括一个或一个以上电源1102,一个或一个以上有线或无线网络接口1103,一个或一个以上输入输出接口1104,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。

该中央处理器1101可以执行前述图2所示实施例中第一ECU所执行的操作,具体此处不再赘述。

请参阅图12,本申请实施例中第二电子控制单元另一个结构示意图,该第二ECU1200可以包括一个或一个以上中央处理器(central processing units,CPU)1201和存储器1205,该存储器1205中存储有一个或一个以上的应用程序或数据。

其中,存储器1205可以是易失性存储或持久存储。存储在存储器1205的程序可以包括一个或一个以上模块,每个模块可以包括对第二ECU中的一系列指令操作。更进一步地,中央处理器1201可以设置为与存储器1205通信,在第二ECU1200上执行存储器1205中的一系列指令操作。

第二ECU1200还可以包括一个或一个以上电源1202,一个或一个以上有线或无线网络接口1203,一个或一个以上输入输出接口1204,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。

该中央处理器1201可以执行前述图2所示实施例中第二ECU所执行的操作,具体此处不再赘述。

请参阅图13,本申请实施例中主电子控制单元另一个结构示意图,该主ECU1300可以包括一个或一个以上中央处理器(central processing units,CPU)1301和存储器1305,该存储器1305中存储有一个或一个以上的应用程序或数据。

其中,存储器1305可以是易失性存储或持久存储。存储在存储器1305的程序可以包括一个或一个以上模块,每个模块可以包括对主ECU中的一系列指令操作。更进一步地,中央处理器1301可以设置为与存储器1305通信,在主ECU1300上执行存储器1305中的一系列指令操作。

主ECU1300还可以包括一个或一个以上电源1302,一个或一个以上有线或无线网络接口1303,一个或一个以上输入输出接口1304,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。

该中央处理器1301可以执行前述图3或图4所示实施例中主ECU所执行的操作,具体此处不再赘述。

请参阅图14,本申请实施例中存储电子控制单元另一个结构示意图,该存储ECU1400可以包括一个或一个以上中央处理器(central processing units,CPU)1401和存储器1405,该存储器1405中存储有一个或一个以上的应用程序或数据。

其中,存储器1405可以是易失性存储或持久存储。存储在存储器1405的程序可以包括一个或一个以上模块,每个模块可以包括对存储ECU中的一系列指令操作。更进一步地,中央处理器1401可以设置为与存储器1405通信,在存储ECU1400上执行存储器1405中的一系列指令操作。

存储ECU1400还可以包括一个或一个以上电源1402,一个或一个以上有线或无线网络接口1403,一个或一个以上输入输出接口1404,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。

该中央处理器1401可以执行前述图3或图4所示实施例中存储ECU所执行的操作,具体此处不再赘述。

本申请提供了一种软件更新的装置,该装置可以应用于车辆或等设备中,该装置与存储器耦合,用于读取并执行所述存储器中存储的指令,使得该装置实现前述图2至4中任一实施方式中由ECU执行的方法的步骤。在一种可能的设计中,该装置为芯片或片上系统。

本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持ECU实现上述方面中所涉及的功能,例如,例如发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

在另一种可能的设计中,当该芯片系统为ECU等内的芯片时,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该ECU等内的芯片执行上述图2至4中任一项实施例中ECU执行的方法的步骤。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述软件更新的装置或车辆等内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。

本申请实施例还提供了一种软件更新的装置,该装置可以通过链路和服务器进行无线通信。该装置包括一个或多个处理器,一个或多个存储器,一个或多个收发器(每个收发器包括发射机Tx和接收机Rx),通过总线相连接。一个或多个收发器与一个或多个天线连接。一个或多个存储器中包括计算机程序代码。所述收发器可以实现上述接收单元或发送单元的功能,收发器也可以是分开的接收器和发送器。

本申请实施例还提供了一种系统,该系统执行如图5至图6所示的实施例中任意一个单元的功能。

本申请实施例还提供了一种系统,该系统执行如图7至图8所示的实施例中任意一个单元的功能。本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中包括指令,当上述指令在终端设备上运行时,使得该终端设备执行如图2至4中的相关方法步骤,以实现上述实施例中的方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在终端设备上运行时,使得该终端设备执行如图2至4中的相关方法步骤,以实现上述实施例中的方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-only memory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 软件更新方法以及相关设备
  • 机器人软件远程自动更新方法、系统及相关产品
技术分类

06120112837501