本申请涉及ota(over-the-air,汽车远程升级技术),特别是涉及一种车端软件远程升级方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
1、汽车远程升级技术(全称over-the-air,简称ota)是指通过移动通信网络(2g/3g/4g或wifi)对汽车的零部件终端上固件、数据及应用进行远程管理的技术。简单来说ota技术实现分三步:首先将更新软件上传到ota中心,然后ota中心无线传输更新软件到车辆端,最后车辆端自动更新软件。
2、传统的车端软件升级,通常在开发者本地开发,编译链接并生成可以烧录或者运行的可执行程序文件。编译链接后的软件包通常需要链接本地或者第三方的包,因而即使源代码很小,但是编译完成后的可执行软件包通常会远远大于源代码,比如我们写的一个ecu程序,源码可能只有10几k,但是经过编译后软件包大小可能会有几m,大小扩大了几十倍。软件包的大小直接影响着车端软件升级对网络流量和带宽的消耗。在车辆ota升级的过程中,流量的开销是一笔很大的成本,往往需要整车厂承担,而且在车辆行驶中下载大的升级包将直接影响车辆同云端正常的业务通讯,因而车辆在行驶时往往会限制升级包的下载,最终用户不得不让车辆停下来进行升级包的下载和更新。
3、目前的车端软件下载时间长,且受到车辆运行状态的限制,导致升级效率不高。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高车端软件ota升级效率的新鲜度的车端软件远程升级方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种车端软件远程升级方法,应用于汽车ota系统中的车端,车端中配置有待更新软件和车端编译器,汽车ota系统还包括云端,云端用于存储升级待更新软件的源代码,包括:
3、在待更新软件满足更新条件的情况下,访问云端,获取源代码;
4、调用车端编译器,对源代码进行编译,得到用于升级待更新软件的升级软件包;
5、在满足刷写条件的情况下,运行升级软件包,以对待更新软件进行升级。
6、在其中一个实施例中,云端中配置有与车端编译器对应的云端编译器;在待更新软件满足更新条件的情况下,访问云端,获取源代码,包括:
7、接收云端下发的版本信息;版本信息是云端获取到源代码的情况下,向车端下发的;源代码是云端根据已测试软件程序获取的;已测试软件程序是云端获取到待测试软件程序的情况下,对待测试软件程序进行仿真测试和实车测试得到的;待测试软件是远端调用云端编译器,对初始源代码进行编译得到的;初始源代码是云端从软件开发端获取的;软件开发端用于向云端上传初始源代码,以及与初始源代码对应的版本信息;
8、识别待更新软件的车端软件版本,在车端软件版本与版本信息不匹配的情况下,根据版本信息,从云端中下载源代码。
9、在其中一个实施例中,在待更新软件满足更新条件的情况下,访问云端,获取源代码之后,还包括:
10、将源代码存储至车端代码库;
11、将车端编译器与云端编译器进行同步;
12、在车端编译器与云端编译器同步完成后,从车端代码库中获取源代码,执行调用车端编译器,对源代码进行编译,得到用于升级待更新软件的升级软件包的步骤。
13、在其中一个实施例中,方法还包括:
14、按照预设同步周期,将车端编译器与云端编译器进行同步。
15、在其中一个实施例中,将车端编译器与云端编译器进行同步,包括:
16、获取车端编译器的车端编译环境信息,以及获取云端编译器的云端编译环境信息;
17、在车端编译环境信息与云端编译环境信息不匹配的情况下,根据云端编译环境信息,将车端编译器与云端编译器进行同步。
18、在其中一个实施例中,调用车端编译器,对源代码进行编译,得到用于升级待更新软件的升级软件包之后,还包括:
19、确定待更新软件对应的车载控制器;
20、将升级软件包存储至车端软件库,发送刷写信息至车载控制器;刷写信息用于指示车载控制器在满足刷写条件的情况下,从车端软件库中获取升级软件包,并根据升级软件包对待更新软件进行升级。
21、第二方面,本申请还提供了一种车端软件远程升级装置,应用于汽车ota系统中的车端,车端中配置有待更新软件和车端编译器,汽车ota系统还包括云端,云端用于存储升级待更新软件的源代码,包括:
22、获取模块,用于在待更新软件满足更新条件的情况下,访问云端,获取源代码;
23、编译模块,用于调用车端编译器,对源代码进行编译,得到用于升级待更新软件的升级软件包;
24、升级模块,用于在满足刷写条件的情况下,运行升级软件包,以对待更新软件进行升级。
25、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
26、在待更新软件满足更新条件的情况下,访问云端,获取源代码;
27、调用车端编译器,对源代码进行编译,得到用于升级待更新软件的升级软件包;
28、在满足刷写条件的情况下,运行升级软件包,以对待更新软件进行升级。
29、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
30、在待更新软件满足更新条件的情况下,访问云端,获取源代码;
31、调用车端编译器,对源代码进行编译,得到用于升级待更新软件的升级软件包;
32、在满足刷写条件的情况下,运行升级软件包,以对待更新软件进行升级。
33、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
34、在待更新软件满足更新条件的情况下,访问云端,获取源代码;
35、调用车端编译器,对源代码进行编译,得到用于升级待更新软件的升级软件包;
36、在满足刷写条件的情况下,运行升级软件包,以对待更新软件进行升级。
37、上述车端软件远程升级方法、装置、计算机设备、存储介质和计算机程序产品,应用于汽车ota系统中的车端,车端中配置有待更新软件和车端编译器,汽车ota系统还包括云端,云端用于存储升级待更新软件的源代码。在待更新软件满足更新条件的情况下,访问云端,获取源代码;调用车端编译器,对源代码进行编译,得到用于升级待更新软件的升级软件包;在满足刷写条件的情况下,运行升级软件包,以对待更新软件进行升级。在车端部署编译环境,直接将源码更新到车端,在车端编译生成软件包,避免从云端下载传输大容量的软件包,从而降低车云之间的网络传输流量,降低ota升级的流量成本,提高车端软件ota升级的效率。
1.一种车端软件远程升级方法,其特征在于,应用于汽车ota系统中的车端,所述车端中配置有待更新软件和车端编译器,所述汽车ota系统还包括云端,所述云端用于存储升级所述待更新软件的源代码,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述云端中配置有与车端编译器对应的云端编译器;所述在所述待更新软件满足更新条件的情况下,访问所述云端,获取所述源代码,包括:
3.根据权利要求1所述的方法,其特征在于,所述在所述待更新软件满足更新条件的情况下,访问所述云端,获取所述源代码之后,还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求3或4所述的方法,其特征在于,所述将所述车端编译器与所述云端编译器进行同步,包括:
6.根据权利要求1所述的方法,其特征在于,所述调用所述车端编译器,对所述源代码进行编译,得到用于升级所述待更新软件的升级软件包之后,还包括:
7.一种车端软件远程升级装置,其特征在于,应用于汽车ota系统中的车端,所述车端中配置有待更新软件和车端编译器,所述汽车ota系统还包括云端,所述云端用于存储升级所述待更新软件的源代码,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。