无人驾驶汽车车载终端升级方法、装置、设备及存储介质与流程

文档序号:16325705发布日期:2018-12-19 05:54阅读:221来源:国知局
无人驾驶汽车车载终端升级方法、装置、设备及存储介质与流程

本发明涉及通信技术领域,尤其涉及一种无人驾驶汽车车载终端升级方法、装置、设备及存储介质。

背景技术

无人驾驶汽车是一种依靠车内以计算机系统为主的智能设备来实现无人驾驶的汽车,集自动控制、体系结构、人工智能、视觉计算等众多技术于一体,是计算机科学、模式识别和智能控制技术高度发展的产物,也是衡量一个国家科研实力和工业水平的一个重要标志,在国防和国民经济领域具有广阔的应用前景。无人驾驶车辆作为未来汽车的发展方向,已经被世界各国广泛地研究。

现有技术中无人驾驶汽车上的车载终端安装有应用程序,当需要对车载终端应用程序进行升级时,通常需要技术人员手动获取升级包并拷贝到无人驾驶汽车上对车载终端应用程序升级,其升级过程较为繁琐,升级效率较低,并且很难进行版本管理,其安全性和可靠性较差。



技术实现要素:

本发明提供一种无人驾驶汽车车载终端升级方法、装置、设备及存储介质,以简化无人驾驶汽车车载终端应用程序的升级操作,提高升级效率,提高升级过程的安全性和可靠性。

本发明的第一方面是提供一种无人驾驶汽车车载终端升级方法,包括:

服务器获取车载终端应用程序的最新版本;

所述服务器根据所述最新版本以及所述服务器中预存的基础版本获取差分包;

所述服务器将所述差分包发送给无人驾驶汽车,以使所述无人驾驶汽车根据所述差分包和所述无人驾驶汽车本地预存的基础版本对所述车载终端应用程序进行升级。

本发明的第二方面是提供一种无人驾驶汽车车载终端升级方法,包括:

无人驾驶汽车接收服务器发送的差分包,所述差分包为所述服务器在获取车载终端应用程序的最新版本后根据所述最新版本以及所述服务器中预存的基础版本获得;

所述无人驾驶汽车根据所述差分包和所述无人驾驶汽车本地预存的基础版本对所述车载终端应用程序进行升级。

本发明的第三方面是提供一种无人驾驶汽车车载终端升级装置,包括:

获取模块,用于获取车载终端应用程序的最新版本;

处理模块,用于根据所述最新版本以及所述服务器中预存的基础版本获取差分包;

通信模块,用于将所述差分包发送给无人驾驶汽车,以使所述无人驾驶汽车根据所述差分包和所述无人驾驶汽车本地预存的基础版本对所述车载终端应用程序进行升级。

本发明的第四方面是提供一种无人驾驶汽车车载终端升级装置,包括:

通信模块,用于接收服务器发送的差分包,所述差分包为所述服务器在获取车载终端应用程序的最新版本后根据所述最新版本以及所述服务器中预存的基础版本获得;

处理模块,用于根据所述差分包和所述无人驾驶汽车本地预存的基础版本对所述车载终端应用程序进行升级。

本发明的第五方面是提供一种服务器,包括:存储器、处理器、以及计算机程序;

其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。

本发明的第六方面是提供一种无人驾驶汽车,包括:存储器、处理器、以及计算机程序;

其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第二方面所述的方法。

本发明的第七方面是提供一种计算机可读存储介质,其上存储有计算机程序;

所述计算机程序被处理器执行时实现如第一方面所述的方法。

本发明的第八方面是提供一种计算机可读存储介质,其上存储有计算机程序;

所述计算机程序被处理器执行时实现如第二方面所述的方法。

本发明提供的无人驾驶汽车车载终端升级方法、装置、设备及存储介质,通过服务器获取车载终端应用程序的最新版本,并根据最新版本以及服务器中预存的基础版本获取差分包;然后差分包发送给无人驾驶汽车,以使无人驾驶汽车根据差分包和无人驾驶汽车本地预存的基础版本对车载终端应用程序进行升级。本发明的方法简化了无人驾驶汽车车载终端应用程序的升级操作,提高了升级效率,便于版本管理,同时提高了升级过程的安全性和可靠性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的无人驾驶汽车车载终端升级方法流程图;

图2为本发明另一实施例提供的无人驾驶汽车车载终端升级方法流程图;

图3为本发明另一实施例提供的无人驾驶汽车车载终端升级方法流程图;

图4为本发明实施例提供的无人驾驶汽车车载终端升级装置的结构图;

图5为本发明另一实施例提供的无人驾驶汽车车载终端升级装置的结构图;

图6为本发明实施例提供的服务器的结构图;

图7为本发明实施例提供的无人驾驶汽车的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的无人驾驶汽车车载终端升级方法,可以适用于无人驾驶汽车系统,其中所述无人驾驶汽车系统包括服务器和至少一辆无人驾驶汽车,无人驾驶汽车与服务器通信连接,无人驾驶汽车上的车载终端安装有应用程序,由服务器向无人驾驶汽车推送升级包,以使无人驾驶汽车安装升级包对车载终端的应用程序进行升级。其中服务器可以为云服务器,例如ota(over-the-airtechnology,空中下载技术)云端服务器,当然也可为其他服务器,此处不再赘述。下面结合具体的实施例对无人驾驶汽车车载终端升级过程进行详细的描述。

图1为本发明实施例提供的无人驾驶汽车车载终端升级方法流程图。本实施例提供了一种无人驾驶汽车车载终端升级方法,执行主体为服务器,该方法具体步骤如下:

s101、服务器获取车载终端应用程序的最新版本。

在本实施例中,服务器可以首先获取无人驾驶汽车上安装了哪些车载终端应用程序,并获取各应用程序的当前版本,并向各车载终端应用程序的产出库查询是否有版本更新,如果有则获取车载终端应用程序的最新版本。

更具体的,所述服务器获取车载终端应用程序的最新版本,可包括:

s1011、所述服务器通过轮询各车载终端应用程序的产出库,查找存在版本更新的车载终端应用程序;

s1012、所述服务器从该存在版本更新的车载终端应用程序的产出库中获取对应的最新版本。

在本实施例中,服务器可轮询各车载终端应用程序的产出库,依次判断各车载终端应用程序是否存在版本更新,如果有版本更新,则从该产出库中获取最新版本。

s102、所述服务器根据所述最新版本以及所述服务器中预存的基础版本获取差分包。

在本实施例中,对于车载终端应用程序的升级可采用差异更新,也即只更新差异化的部分,以达到用最小的下载量实现更新需求。现有的差异更新通常在上一版本的基础上进行差异更新,而对于无人驾驶汽车的测试阶段,相比于正式运营阶段,版本更新会非常频繁,可能一天内会进行很多次,而在不同的版本之间来回差分较为麻烦,比如从版本1到版本5,需要经历1>2>3>4>5这样的过程。因此在无人驾驶汽车本地预存基础(base)版本,其中基础版本可以为该车载终端应用程序的初始版本(也即版本1.0.0.0),当然也可为任一中间版本。而服务器则同样将该基础版本存储下来,并根据最新版本和基础版本获取差分包,该差分包为从基础版本到最新版本的差分包,以使无人驾驶汽车根据该差分包和基础版本进行差异更新。

更具体的,所述服务器根据所述最新版本以及所述服务器中预存的基础版本获取差分包,可包括:

s1021、所述服务器比对所述最新版本与所述服务器中预存的基础版本;

s1022、所述服务器根据比对结果,对于新增文件进行拷贝、和/或对删除文件进行删除、和/或对差异文件进行bsdiff操作获取补丁文件,从而得到所述差分包。

在本实施例中,服务器通过比对最新版本和预存的基础版本,获取两版本间的区别。根据比对结果,对于最新版本较基础版本新增的文件可直接进行拷贝新增文件;而对于最新版本较基础版本删除的文件可直接进行删除,也即生成删除指令,标识哪些文件需要删除;对于最新版本与基础版本间的差异文件,也即同一文件但存在修改,则通过bsdiff算法获取补丁(patch)文件。根据上述操作,获得最后的差分包。

s103、所述服务器将所述差分包发送给无人驾驶汽车,以使所述无人驾驶汽车根据所述差分包和所述无人驾驶汽车本地预存的基础版本对所述车载终端应用程序进行升级。

在本实施例中,服务器在获取到差分包后,将差分包发送给无人驾驶汽车,无人驾驶汽车根据差分包和其本地预存的基础版本进行差异更新,根据差异包中的新增文件增加到基础版本中,对删除文件进行删除,对差异文件则根据补丁文件安装补丁,从而使得车载终端应用程序由基础版本升级到最新版本。

本实施例提供的无人驾驶汽车车载终端升级方法,通过服务器获取车载终端应用程序的最新版本,并根据最新版本以及服务器中预存的基础版本获取差分包;然后差分包发送给无人驾驶汽车,以使无人驾驶汽车根据差分包和无人驾驶汽车本地预存的基础版本对车载终端应用程序进行升级。本实施例的方法简化了无人驾驶汽车车载终端应用程序的升级操作,提高了升级效率,便于版本管理,同时提高了升级过程的安全性和可靠性。

在上述实施例的基础上,如图2所示,s101之后,s102之前,还可包括:

s201、所述服务器查询所述无人驾驶汽车本地预存的基础版本的版本信息;

s202、所述服务器根据查询到的所述基础版本的版本信息获取所述基础版本。

在本实施例中,在服务器获取车载终端应用程序的最新版本后,且获取差分包前,还可由服务器查询无人驾驶汽车本地预存的基础版本的版本信息,避免服务器预存的基础版本与无人驾驶汽车本地预存的基础版本不同,使得差分包无效。当然若服务器预存的基础版本与无人驾驶汽车本地预存的基础版本不同,服务器则根据版本信息获取与无人驾驶汽车本地预存的基础版本相同的版本,然后再基于新获取的基础版本获取差分包。

进一步的,所述服务器若未查询到所述无人驾驶汽车本地预存的基础版本的版本信息,则根据所述车载终端应用程序的最新版本生成全量包,并将所述全量包发送给所述无人驾驶汽车,以使所述无人驾驶汽车根据所述全量包对所述车载终端应用程序进行升级。

在本实施例中,若服务器在查询所述无人驾驶汽车本地预存的基础版本的版本信息时,未查询到无人驾驶汽车本地预存的基础版本的版本信息,说明无人驾驶汽车本地预存的基础版本丢失或损坏,则向无人驾驶汽车推送全量包,以使无人驾驶汽车根据全量包对车载终端应用程序进行升级。

此外,若无人驾驶汽车接收到差分包后,发现其本地未预存基础版本或者本地预存的基础版本损坏,则可向服务器发送全量包请求,服务器根据接收到的全量包请求反馈全量包。

图3为本发明实施例提供的无人驾驶汽车车载终端升级方法流程图。本实施例提供了一种无人驾驶汽车车载终端升级方法,执行主体为无人驾驶汽车,该方法具体步骤如下:

s301、无人驾驶汽车接收服务器发送的差分包,所述差分包为所述服务器在获取车载终端应用程序的最新版本后根据所述最新版本以及所述服务器中预存的基础版本获得。

在本实施例中,服务器获取车载终端应用程序的最新版本后,可根据最新版本以及服务器中预存的基础版本获取差分包,该差分包为从基础版本到最新版本的差分包,并将差分包发送给无人驾驶汽车。

s302、所述无人驾驶汽车根据所述差分包和所述无人驾驶汽车本地预存的基础版本对所述车载终端应用程序进行升级。

在本实施例中,无人驾驶汽车在接收到差分包后,根据差分包和其本地预存的基础版本进行差异更新,根据差异包中的新增文件增加到基础版本中,对删除文件进行删除,对差异文件则根据补丁文件安装补丁,从而使得车载终端应用程序由基础版本升级到最新版本。

本实施例提供的无人驾驶汽车车载终端升级方法与上述服务器侧的无人驾驶汽车车载终端升级方法相对应,此处不再赘述。

本实施例提供的无人驾驶汽车车载终端升级方法,通过服务器获取车载终端应用程序的最新版本,并根据最新版本以及服务器中预存的基础版本获取差分包;然后差分包发送给无人驾驶汽车,以使无人驾驶汽车根据差分包和无人驾驶汽车本地预存的基础版本对车载终端应用程序进行升级。本实施例的方法简化了无人驾驶汽车车载终端应用程序的升级操作,提高了升级效率,便于版本管理,同时提高了升级过程的安全性和可靠性。

在上述实施例的基础上,所述方法还可包括:

所述无人驾驶汽车接收所述服务器对于所述无人驾驶汽车本地预存的基础版本的版本信息的查询指令;

所述无人驾驶汽车根据所述查询指令向所述服务器反馈所述基础版本的版本信息。

在本实施例中,在服务器获取车载终端应用程序的最新版本后,且获取差分包前,还可由服务器查询无人驾驶汽车本地预存的基础版本的版本信息,也即由服务器向无人驾驶汽车发送无人驾驶汽车本地预存的基础版本的版本信息的查询指令,并由无人驾驶汽车反馈所述基础版本的版本信息,以避免服务器预存的基础版本与无人驾驶汽车本地预存的基础版本不同,使得差分包无效。当然若服务器预存的基础版本与无人驾驶汽车本地预存的基础版本不同,服务器则根据版本信息获取与无人驾驶汽车本地预存的基础版本相同的版本,然后再基于新获取的基础版本获取差分包。

进一步的,所述方法还可包括:

所述无人驾驶汽车若判断所述无人驾驶汽车本地未预存所述基础版本或者所述无人驾驶汽车本地预存的所述基础版本损坏,则向所述服务器发送全量包请求;

所述无人驾驶汽车接收所述服务器反馈的全量包,其中所述全量包由所述服务器根据所述车载终端应用程序的最新版本生成;

所述无人驾驶汽车根据所述全量包对所述车载终端应用程序进行升级。

在本实施例中,若无人驾驶汽车接收到差分包后,发现其本地未预存基础版本或者本地预存的基础版本损坏,则此时即使有差分包也无法进行差异更新,因此可向服务器发送全量包请求,服务器根据接收到的全量包请求反馈全量包。当然,无人驾驶汽车也可仅向服务器请求基础版本,然后再采用上述s301和s302的步骤进行升级。

图4为本发明实施例提供的无人驾驶汽车车载终端升级装置的结构图。该无人驾驶汽车车载终端升级装置40具体可以是上述实施例中的服务器。本实施例提供的无人驾驶汽车车载终端升级装置40可以执行服务器侧的无人驾驶汽车车载终端升级方法实施例提供的处理流程,如图4所示,所述无人驾驶汽车车载终端升级装置40包括获取模块41、处理模块42以及通信模块43。

其中,获取模块41,用于获取车载终端应用程序的最新版本;

处理模块42,用于根据所述最新版本以及所述服务器中预存的基础版本获取差分包;

通信模块43,用于将所述差分包发送给无人驾驶汽车,以使所述无人驾驶汽车根据所述差分包和所述无人驾驶汽车本地预存的基础版本对所述车载终端应用程序进行升级。

进一步的,所述获取模块41具体用于:

通过轮询各车载终端应用程序的产出库,查找存在版本更新的车载终端应用程序;

从该存在版本更新的车载终端应用程序的产出库中获取对应的最新版本。

进一步的,所述处理模块42具体用于:

比对所述最新版本与所述服务器中预存的基础版本;

根据比对结果,对于新增文件进行拷贝、和/或对删除文件进行删除、和/或对差异文件进行bsdiff操作获取补丁文件,从而得到所述差分包。

进一步的,所述通信模块43还用于:

查询所述无人驾驶汽车本地预存的基础版本的版本信息;

根据查询到的所述基础版本的版本信息获取所述基础版本。

进一步的,所述处理模块42还用于:

若未查询到所述无人驾驶汽车本地预存的基础版本的版本信息,则根据所述车载终端应用程序的最新版本生成全量包,并将所述全量包发送给所述无人驾驶汽车,以使所述无人驾驶汽车根据所述全量包对所述车载终端应用程序进行升级。

本实施例提供的无人驾驶汽车车载终端升级装置可以具体用于执行上述图1和图2所提供的方法实施例,具体功能此处不再赘述。

本实施例提供的无人驾驶汽车车载终端升级装置,通过服务器获取车载终端应用程序的最新版本,并根据最新版本以及服务器中预存的基础版本获取差分包;然后差分包发送给无人驾驶汽车,以使无人驾驶汽车根据差分包和无人驾驶汽车本地预存的基础版本对车载终端应用程序进行升级。本实施例简化了无人驾驶汽车车载终端应用程序的升级操作,提高了升级效率,便于版本管理,同时提高了升级过程的安全性和可靠性。

图5为本发明实施例提供的无人驾驶汽车车载终端升级装置的结构图。该无人驾驶汽车车载终端升级装置50具体可以是上述实施例中的无人驾驶汽车。本实施例提供的无人驾驶汽车车载终端升级装置50可以执行无人驾驶汽车侧的无人驾驶汽车车载终端升级方法实施例提供的处理流程,如图5所示,所述无人驾驶汽车车载终端升级装置50包括通信模块51以及处理模块52。

其中,通信模块51,用于接收服务器发送的差分包,所述差分包为所述服务器在获取车载终端应用程序的最新版本后根据所述最新版本以及所述服务器中预存的基础版本获得;

处理模块52,用于根据所述差分包和所述无人驾驶汽车本地预存的基础版本对所述车载终端应用程序进行升级。

进一步的,所述通信模块51还用于:

接收所述服务器对于所述无人驾驶汽车本地预存的基础版本的版本信息的查询指令;

根据所述查询指令向所述服务器反馈所述基础版本的版本信息。

进一步的,所述处理模块52还用于,判断所述无人驾驶汽车本地是否预存所述基础版本或者所述无人驾驶汽车本地预存的所述基础版本是否损坏;

所述通信模块51还用于,若判断所述无人驾驶汽车本地未预存所述基础版本或者所述无人驾驶汽车本地预存的所述基础版本损坏,则向所述服务器发送全量包请求;

所述通信模块51还用于,接收所述服务器反馈的全量包,其中所述全量包由所述服务器根据所述车载终端应用程序的最新版本生成;

所述处理模块52还用于,根据所述全量包对所述车载终端应用程序进行升级。

本实施例提供的无人驾驶汽车车载终端升级装置可以具体用于执行上述图3所提供的方法实施例,具体功能此处不再赘述。

本实施例提供的无人驾驶汽车车载终端升级装置,通过服务器获取车载终端应用程序的最新版本,并根据最新版本以及服务器中预存的基础版本获取差分包;然后差分包发送给无人驾驶汽车,以使无人驾驶汽车根据差分包和无人驾驶汽车本地预存的基础版本对车载终端应用程序进行升级。本实施例简化了无人驾驶汽车车载终端应用程序的升级操作,提高了升级效率,便于版本管理,同时提高了升级过程的安全性和可靠性。

图6为本发明另一实施例提供的服务器的结构图。如图6所示,本实施例提供一种服务器,所述服务器包括:处理器61;存储器62;以及计算机程序。

其中,所述计算机程序存储在所述存储器62中,并被配置为由所述处理器61执行以实现如图1和图2所提供的服务器侧的无人驾驶汽车车载终端升级方法实施例提供的处理流程,具体功能此处不再赘述。

更具体的,所述服务器还包括接收器63和发送器64,接收器63和发送器64、处理器61和存储器62通过总线连接。

图7为本发明另一实施例提供的无人驾驶汽车的结构图。如图7所示,本实施例提供一种无人驾驶汽车,所述无人驾驶汽车包括:处理器71;存储器72;以及计算机程序。

其中,所述计算机程序存储在所述存储器72中,并被配置为由所述处理器71执行以实现如图3所提供的无人驾驶汽车侧的无人驾驶汽车车载终端升级方法实施例提供的处理流程,具体功能此处不再赘述。

更具体的,所述无人驾驶汽车还包括接收器73和发送器74,接收器73和发送器74、处理器71和存储器72通过总线连接。

本发明另一实施例提供一种计算机可读存储介质,其上存储有计算机程序;

所述计算机程序被处理器执行时实现如图1-3所示的服务器侧的无人驾驶汽车车载终端升级方法,具体功能此处不再赘述。

本发明另一实施例提供一种计算机可读存储介质,其上存储有计算机程序;

所述计算机程序被处理器执行时实现如图4所示的无人驾驶汽车侧的无人驾驶汽车车载终端升级方法,具体功能此处不再赘述。

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

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

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

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1