CN112514354B - 一种车辆软件升级的方法及相关系统 - Google Patents
一种车辆软件升级的方法及相关系统 Download PDFInfo
- Publication number
- CN112514354B CN112514354B CN202080004261.4A CN202080004261A CN112514354B CN 112514354 B CN112514354 B CN 112514354B CN 202080004261 A CN202080004261 A CN 202080004261A CN 112514354 B CN112514354 B CN 112514354B
- Authority
- CN
- China
- Prior art keywords
- upgraded
- target vehicle
- vehicle
- information
- cloud server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种车辆软件升级的方法及相关系统,用于在不获取车辆位置前提下进行车辆待升级软件版本的查询、下载、升级提醒等控制策略,主要思路是:当车辆需进行软件升级时,车辆会确定自身当前所处位置,并判断车辆是否处于各服务地点的救援范围(各服务地点位置与救援范围可由云服务器下发或车辆存储),之后车辆将包含判断结果及车辆当前安装的软件待升级版本的信息发送至云服务器,由云服务器基于获取到的信息确定给车辆推送待升级软件版本对应的安装包类型,车辆再根据获取到的安装包类型确定如何进行升级。相对传统的软件升级方式,车辆的实时位置不会被泄露,同时云服务器会根据判断结果差异性返回安装包类型,具备灵活性。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种车辆软件升级的方法及相关系统。
背景技术
目前车辆(如,汽车)软件化程度越来越高,随之车辆中的软件代码量也越来越大,由于软件具备在硬件不改变的情况下多次更新的特点(如,修复软件缺陷、添加功能特性等),因此对车辆进行软件升级的需求也越来越大。常见的软件升级方法是通过近端升级,比如用户将车辆开去4S店进行软件升级。但随着智能化汽车的出现,远程升级(Over theAir,OTA,也可称为空中下载)变的越来越普及,其服务范围也变的越来越广,比如由早期OTA只限于对车辆中控娱乐系统进行升级,逐步变为可升级整车各个电子控制单元(Electronic Control Unit,ECU)的相关部件。
通过OTA对车辆进行升级的方式对时间、地点没有限制,即具备随时随地升级的特点,从而极大地方便了车企对车辆进行管理(如,解决当前软件版本缺陷、增加新功能等),但由于OTA随时随地可进行升级的特点,使得对车辆进行OTA升级时车辆的位置不确定,为了便于车辆发生OTA升级失败导致车辆不可用的情况下能及时进行救援,目前部分车企所采取的方式是通过车企的云服务器向车辆下发软件可升级版本的同时,获取车辆的实时位置信息。这种获取车辆实时位置信息的OTA升级方式增加了用户隐私泄露的风险。
发明内容
本申请实施例提供了一种车辆软件升级的方法及相关系统,用于车辆根据自身所处位置判断该车辆是否位于救援范围内,据此决定是否进行软件版本的升级,相对传统OTA的升级方式,车辆的实时位置信息不会被泄露,从而保护了用户隐私。
基于此,本申请实施例的第一方面提供一种车辆的软件升级方法,该方法包括:
首先,车辆会获取服务地点的救援范围以及该车辆当前所处位置,该服务地点具体可以是具备向软件升级失败的该车辆或其他车辆提供救援服务的一个或多个实体平台(也可称为具备救援能力),如各个4s店和/或各个车辆维修点等。以服务地点为4s店为例,本申请所述的服务地点的救援范围是指各个4s店提供救援服务所能覆盖的区域的集合。之后,车辆还将根据自身所处位置判断车辆自身是否处于上述各个服务地点组成的救援范围之内,若车辆根据车辆当前所处位置确定车辆位于救援范围内,则车辆将该车辆待升级软件的信息向云服务器发送,该待升级软件的信息用于指示云服务器根据待升级软件的信息查找待升级软件的待升级安装包,随后车辆接收该云服务器发送的待升级安装包,并根据该待升级安装包进行版本升级。
在本申请上述实施方式中,当车辆需进行版本升级时,车辆会先获取各个服务地点的救援范围,同时车辆会确定自身当前所处位置,并判断车辆是否处于各服务地点的救援范围(各服务地点的救援范围可由云服务器下发,或车辆自身存储),若车辆位于上述救援范围内,则车辆将向云服务器发送该车辆的待升级软件的信息,由云服务器基于上述信息确定给车辆推送何种待升级软件版本对应的安装包类型,车辆再根据获取到的安装包类型确定如何进行升级。相对传统OTA的软件升级方式,车辆的实时位置信息不会被泄露。
结合本申请实施例第一方面,在本申请实施例第一方面的第一种实现方式中,车辆向云服务器发送车辆的待升级软件的信息具体可以是:向云服务器发送该车辆的待升级软件的信息和指示该车辆位于上述各个服务地点的救援范围的第一信息,该第一信息就用于指示云服务器根据该第一信息选择差分版本类型的待升级安装包。
在本申请上述实施方式中,车辆除了向云服务器发送车辆的待升级软件的信息之外,还会向云服务器发送第一信息,使得云服务器可以根据该第一信息向车辆发送差分版本类型的安装包,这是因为差分版本的优势在于数据量小,从而减少云服务器向车辆发送的数据量,但是缺点是升级失败率会比全量版本高一些,由于此时车辆已处于救援范围内,即使升级失败也可及时得到救援,但可大大减少下载量,提高了用户使用体验。
结合本申请实施例第一方面,在本申请实施例第一方面的第二种实现方式中,当车辆的当前所处位置不位于上述服务地点的救援范围,该车辆除了会向云服务器发送该车辆的待升级软件的信息之外,还会向该云服务器发送指示该车辆不位于救援范围的第二信息,该待升级软件的信息就用于指示云服务器根据待升级软件的信息查找待升级软件的待升级安装包,该第二信息就用于指示云服务器根据该第二信息选择全量版本类型的待升级安装包。
在本申请上述实施方式中,当车辆不在服务地点的救援范围内时,此时车辆除了向云服务器发送车辆的待升级软件的信息之外,还会向云服务器发送第二信息,使得云服务器可以根据该第二信息向车辆发送全量版本类型的待升级安装包,这是因为全量版本的升级失败率低一些,但是数据量大,占据内存,下载慢。由于此时车辆不在救援范围内,为降低升级失败的概率,此时选择由云服务器向车辆发送全量版本的待升级安装包,以降低升级失败的概率。
结合本申请实施例第一方面,在本申请实施例第一方面的第三种实现方式中,当车辆的当前所处位置不位于上述服务地点的救援范围,此时云服务器可以不立刻向车辆发送待升级软件的全量版本类型的待升级安装包,车辆可以先确定一个预设时长(可称为第一预设时长),车辆在该预设时长内周期性判断车辆是否进入救援范围内,若车辆在该第一预设时长内重新进入救援范围,那么云服务器依然向该车辆推送全量版本类型的待升级安装包,若车辆在该预设时长内已驶入救援范围内,则车辆向云服务器发送车辆的待升级软件的信息和指示车辆在该预设时长内已进入救援范围的第三信息,待升级软件的信息用于指示云服务器根据待升级软件的信息查找待升级软件的待升级安装包,第三信息用于指示云服务器根据第三信息选择差分版本类型的待升级安装包,之后车辆接收由云服务器发送的待升级安装包,并根据该待升级安装包进行版本升级。
在本申请上述实施方式中,详细阐述了当车辆不在救援范围内时,可以给车辆一个缓冲时间(即预设时长),若车辆在该预设时长内重新驶入救援范围,则车辆向云服务器发送指示车辆在该预设时长内已进入救援范围的第三信息,以使云服务器根据该第三信息向车辆发送差分版本类型的待升级安装包,这种方式提高了用户使用体验,考虑到了实际的应用场景。
结合本申请实施例第一方面的第三种实现方式,在本申请实施例第一方面的第四种实现方式中,在车辆在第一预设时长内周期性判断所述车辆是否驶入所述救援范围之前,车辆还可以先获取通知消息,所述通知消息用于指示所述车辆在所述预设时长内周期性判断所述车辆是否已驶入所述救援范围内,所述通知消息可以由所述车辆生成,也可以由所述云服务器发送,具体此处不做限定。
在本申请上述实施方式中,详细阐述了一种判断车辆是否在预设时长内重新进入救援范围的具体实现方式,具备可实现性。
结合本申请实施例第一方面的第三种实现方式至第四种实现方式,在本申请实施例第一方面的第五种实现方式中,判断车辆是否在第一预设时长内重新进入救援范围还可以是车辆获取提醒消息,该提醒消息用于提醒车辆在第一预设时长内驶入服务地点的救援范围,该提醒消息可以是由车辆生成,也可以是由云服务器发送,具体此处不做限定。
在本申请上述实施方式中,详细阐述了另一种判断车辆是否在预设时长内重新进入救援范围的具体实现方式,具备选择性。
结合本申请实施例第一方面、第一方面的第一种实现方式至第五种实现方式,在本申请实施例第一方面的第六种实现方式中,车辆获取服务地点的救援范围的方式可以是:云服务器内存储有预设区域(如,中国区域、美国区域等)内所有具备向该车辆提供救援能力的服务地点的救援范围。当车辆向云服务器发送请求消息时,响应于该请求消息,云服务器向该车辆发送该预设区域内的所有服务地点的救援范围。
结合本申请实施例第一方面、第一方面的第一种实现方式至第六种实现方式,在本申请实施例第一方面的第七种实现方式中,车辆获取服务地点的救援范围的方式还可以是:预设区域内所有具备向该车辆提供救援能力的服务地点的救援范围已事先由云服务器发送至车辆,当该预设区域内的服务地点的具体数量或救援范围有变化时,云服务器就会将更新后的上述信息发送至车辆。当车辆需要进行软件升级时,车辆直接从自身的存储设备中获取预设区域内所有服务地点的救援范围。
在本申请上述实施方式中,具体阐述了两种不同的车辆获取服务地点的救援范围的方式,具备灵活性。
结合本申请实施例第一方面、第一方面的第一种实现方式至第七种实现方式,在本申请实施例第一方面的第八种实现方式中,车辆获取服务地点的救援范围可以有多种形式,其中一种实现方式可以是:由服务地点的位置和服务地点的最大救援距离共同确定该服务地点的救援范围,此时则可以由车辆获取服务地点的位置和所述服务地点的最大救援距离,并根据服务地点的位置和服务地点的最大救援距离确定服务地点的救援范围。
在本申请上述实施方式中,阐述了一种车辆获取服务地点的救援范围的方式,具备可操作性。
结合本申请实施例第一方面、第一方面的第一种实现方式至第八种实现方式,在本申请实施例第一方面的第九种实现方式中,车辆根据待升级安装包进行版本升级的方式可以是:车辆首先判断自身的整车状态是否满足升级条件,如,车辆是否挂P档、是否处于静止状态(车辆若处于行驶状态则不满足升级条件)、剩余电量是否达到预设阈值等,若确定车辆满足升级条件,则该车辆会输出待升级的提醒安装信息,例如,该提醒安装信息可以是语音播报(如,通过车载扬声器向用户播报“软件升级版本已下载,请及时安装”)、振动提醒、响铃提醒等,具体此处对提醒安装信息的具体形式不做限定,该提醒安装信息用于指示向车辆输入指令,如,当用户听到播报的提醒安装信息,那么用户就可向车辆输入对应的指令,最后,车辆就可根据输入的指令对待升级安装包进行版本升级。
在本申请上述实施方式中,阐述了车辆根据待升级安装包进行版本升级的具体实现方式,具备可实现性。
本申请实施例第二方面还提供了一种车辆软件升级的方法,该方法包括:首先,云服务器获取车辆发送的请求消息,该请求消息用于指示云服务器向该车辆发送服务地点的救援范围,服务地点为具备向软件升级失败的该车辆或其他车辆提供救援服务的一个或多个实体平台,之后,云服务器向车辆发送服务地点的救援范围,以使车辆根据该车辆当前所处位置判断车辆是否位于所述救援范围内,若云服务器接收到车辆发送的该车辆的待升级软件的信息,待升级软件的信息由该车辆在该车辆的当前所处位置位于救援范围时发送,待升级软件的信息用于指示云服务器根据该待升级软件的信息查找该待升级软件的待升级安装包,最后,云服务器查找到该待升级安装包,并将待升级安装包向车辆发送,以使该车辆根据该待升级安装包进行升级。
在本申请上述实施方式中,当车辆需进行版本升级时,车辆会向云服务器发送请求消息,云服务器据此向车辆发送各个服务地点的救援范围,同时车辆会确定自身当前所处位置,并判断车辆是否处于各服务地点的救援范围,若车辆位于上述救援范围内,则车辆将向云服务器发送该车辆的待升级软件的信息,由云服务器基于上述信息确定给车辆推送何种待升级软件版本对应的安装包类型,车辆再根据获取到的安装包类型确定如何进行升级,相对传统OTA的软件升级方式,车辆的实时位置信息不会被泄露。
结合本申请实施例第二方面,在本申请实施例第二方面的第一种实现方式中,云服务器接收车辆发送的车辆的待升级软件的信息具体可以是:接收车辆发送的该车辆的待升级软件的信息和指示该车辆位于所述救援范围的第一信息,该第一信息用于指示云服务器根据第一信息选择差分版本类型的待升级安装包。
在本申请上述实施方式中,云服务器除了接收车辆发送的待升级软件的信息之外,还会接收车辆发送的第一信息,使得云服务器可以根据该第一信息向车辆发送差分版本类型的安装包,这是因为差分版本的优势在于数据量小,从而减少云服务器向车辆发送的数据量,但是缺点是升级失败率会比全量版本高一些,由于此时车辆已处于救援范围内,即使升级失败也可及时得到救援,但可大大减少下载量,提高了用户使用体验。
结合本申请实施例第二方面,在本申请实施例第二方面的第二种实现方式中,当车辆的当前所处位置不位于上述服务地点的救援范围,云服务器接收该车辆发送的该车辆的待升级软件的信息和指示该车辆不位于所述救援范围的第二信息,该待升级软件的信息由该车辆在该车辆不位于所述救援范围时发送,待升级软件的信息用于指示云服务器根据待升级软件的信息查找待升级软件的待升级安装包,第二信息用于指示云服务器根据第二信息选择全量版本类型的待升级安装包。
在本申请上述实施方式中,当车辆不在服务地点的救援范围内时,此时云服务器除了接收车辆发送的该车辆的待升级软件的信息之外,还会接收该车辆发送的第二信息,使得云服务器可以根据该第二信息向车辆发送全量版本类型的待升级安装包,这是因为全量版本的升级失败率低一些,但是数据量大,占据内存,下载慢。由于此时车辆不在救援范围内,为降低升级失败的概率,此时选择由云服务器向车辆发送全量版本的待升级安装包,以降低升级失败的概率。
结合本申请实施例第二方面,在本申请实施例第二方面的第三种实现方式中,当车辆的当前所处位置不位于上述服务地点的救援范围,此时云服务器可以不立刻向车辆发送待升级软件的全量版本类型的待升级安装包,车辆可以先确定一个预设时长(可称为第一预设时长),车辆在该预设时长内周期性判断车辆是否进入救援范围内,若车辆在该第一预设时长内重新进入救援范围,那么云服务器依然向该车辆推送全量版本类型的待升级安装包,若车辆在该预设时长内已驶入救援范围内,则云服务器接收该车辆发送的该车辆的待升级软件的信息和指示该车辆在上述预设时长内已进入所述救援范围的第三信息,待升级软件的信息由该车辆在预设时长内进入所述救援范围时发送,待升级软件的信息用于指示云服务器根据待升级软件的信息查找待升级软件的待升级安装包,第三信息用于指示云服务器根据第三信息选择差分版本类型的待升级安装包。
在本申请上述实施方式中,详细阐述了当车辆不在救援范围内时,可以给车辆一个缓冲时间(即预设时长),若车辆在该预设时长内重新驶入救援范围,则云服务器接收车辆发送的指示车辆在该预设时长内已进入救援范围的第三信息,云服务器再根据该第三信息向车辆发送差分版本类型的待升级安装包,这种方式提高了用户使用体验,考虑到了实际的应用场景。
结合本申请实施例第二方面的第三种实现方式,在本申请实施例第二方面的第四种实现方式中,在云服务器接收车辆发送的该车辆的待升级软件的信息和指示该车辆在预设时长内已进入所述救援范围的第三信息之前,云服务器还可以先向车辆发送通知消息或提醒消息,该通知消息用于指示车辆在预设时长内周期性判断车辆是否已驶入救援范围内,提醒消息则用于指示车辆在预设时长内驶入救援范围内。
在本申请上述实施方式中,阐述了当车辆不在救援范围内,云服务器会向车辆发送通知消息或提醒消息,以使车辆在预设时长内进入救援范围,这种发送通知消息或提醒消息的方式提高了车辆在预设时长内进入救援范围的成功率。
结合本申请实施例第二方面、第二方面的第一种实现方式至第四种实现方式,在本申请实施例第二方面的第五种实现方式中,云服务器向车辆发送服务地点的救援范围具体可以是:向车辆发送服务地点的位置和服务地点的最大救援距离,由该车辆根据接收到的服务地点的位置和服务地点的最大救援距离确定服务地点的救援范围;或,云服务器直接从获取服务地点的位置和服务地点的最大救援距离,由云服务器根据服务地点的位置和服务地点的最大救援距离确定好服务地点的救援范围之后,再将各个服务地点的救援范围向车辆发送。
在本申请上述实施方式中,阐述了几种确定服务地点的救援范围的方式,具备灵活性。
本申请实施例第三方面提供了一种控制系统,该控制系统应用于车辆,其具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请实施例第四方面提供了一种云服务器,该云服务器具有实现上述第二方面或第二方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请实施例第五方面还提供了一种控制系统,该控制系统应用于车辆,可以包括:存储器、处理器,该存储器和该处理器耦合;其中,存储器用于存储程序和指令;处理器用于调用该存储器中存储的指令执行本申请实施例第一方面以及第一方面中任意一种可能实现方式中的方法。
本申请实施例第六方面还提供了一种云服务器,可以包括:存储器、处理器,该存储器和该处理器耦合;其中,存储器用于存储程序和指令;处理器用于调用该存储器中存储的指令执行本申请实施例第二方面以及第二方面中任意一种可能实现方式中的方法。
本申请实施例第七方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面以及第一方面任意一种可能实现方式的方法,或,使得计算机可以执行上述第二方面以及第二方面任意一种可能实现方式的方法。
本申请实施例第八方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面以及第一方面任意一种可能实现方式的方法,或,使得计算机可以执行上述第二方面以及第二方面任意一种可能实现方式的方法。
附图说明
图1为目前已有的OTA升级方式的一个示意图;
图2为本申请实施例车辆软件升级的控制方法的一个示意图;
图3为本申请实施例服务地点的位置及服务地点的救援范围的一个示意图;
图4为本申请实施例车辆根据车辆当前所处位置判断车辆是否处于救援范围内的一个示意图;
图5为本申请实施例车辆软件升级的方法的另一示意图;
图6为本申请实施例车辆软件升级的方法的另一示意图;
图7为本申请实施例中应用于车辆中的控制系统的一个示意图;
图8为本申请实施例中云服务器的一个示意图;
图9为本申请实施例中相关设备的一个示意图。
具体实施方式
本申请实施例提供了一种车辆软件升级的方法及相关系统,用于车辆根据自身所处位置判断该车辆是否位于救援范围内,据此决定是否进行软件版本的升级,相对传统OTA的升级方式,车辆的实时位置信息不会被泄露,从而保护了用户隐私,同时云服务器会根据判断结果差异性返回安装包类型,判断结果包括车辆在救援范围内和车辆不在救援范围内两种情况,如,车辆不在救援范围内,则向车辆下发待升级软件的全量版本类型的待升级安装包;车辆在救援范围内,则向车辆下发待升级软件的差分版本类型的待升级安装包,具备灵活性。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
在介绍本申请实施例之前,首先对目前已有的OTA升级方式进行介绍,请参阅图1,目前的OTA升级方式主要包括如下步骤:101、版本查询,即车辆向云服务器发送车辆当前的软件版本、整车状态、自身实时位置等信息;102、版本确定,即云服务器根据预设的策略判断该车辆是否有待升级的软件版本,判断的依据主要就是参考车辆当前的软件版本、云服务器具备的软件版本、整车状态、车辆实时位置等信息;103、版本下载,即若云服务器确定具备该车辆对应的软件升级版本,那么云服务器将向车辆下发该待升级软件版本的安装包,版本下载阶段一般无差异化处理,也就是说,云服务器直接根据当前车辆的软件版本查询是否有待升级的目标版本,若有,云服务器就直接将目标版本对应的安装包下发给车辆;104、升级提醒:车辆下载完该安装包,会根据整车状态判断当前是否满足升级条件(如,车辆是否处于静止状态、车辆档位是否满足、中控是否点亮、剩余电量是否满足等),若满足,则车辆会输出升级提醒信息,用于提醒用户根据该安装包进行版本升级,版本升级的过程就是指车辆完成新版本替换旧版本的操作;105、上报结果,若车辆升级成功,则向云服务器上报升级成功的结果,若车辆升级失败,则向云服务器上报升级失败的结果,以便于云服务器根据不同的上报结果进行统计处理。
由上述可知,当前已有的OTA升级方式会获取车辆的实时位置,这增加了用户隐私泄露的风险,基于此,本申请实施例首先提供了一种车辆软件升级的方法,用于在不获取车辆实时位置的前提下提供一种新的OTA升级方式(如,包括软件的版本查询、版本下载、升级提醒等),具体请参阅图2:
201、车辆获取服务地点的救援范围。
首先,车辆会获取服务地点的救援范围,该服务地点具体可以是具备向软件升级失败的该车辆或其他车辆提供救援服务的一个或多个实体平台(也可称为具备救援能力),如各个4s店和/或各个车辆维修点等。以服务地点为4s店为例,本申请所述的服务地点的位置是指一个或多个4s店所处位置的集合,服务地点的救援范围是指各个4s店提供救援服务所能覆盖的区域的集合。以图3为例进行说明,假设车辆当前处于位置R,车辆按照预设方式分别获取到服务地点1、服务地点2、服务地点3所处位置为位置a、位置b、位置c,并获取到服务地点1、服务地点2、服务地点3的救援范围为范围A、范围B、范围C。那么位置a、位置b、位置c就都称为服务地点的位置,范围A、范围B、范围C共同构成的区域就称为本申请所述的救援范围。
需要说明的是,在本申请的一些实施方式中,服务地点的救援范围可以有多种体现形式,包括但不限于如下几种情况:1)由服务地点的位置和服务地点的最大救援距离共同确定该服务地点的救援范围,以图3为例,若服务地点1的最大救援距离为40公里,那么以服务地点1所处位置a以及半径为40公里所构成的圆形区域,就是服务地点1的救援范围;2)各个服务地点的救援范围以地理位置确定,依然以图3为例,若服务地点1位于深圳市宝安区,服务地点2位于深圳市罗湖区,那么就确定服务地点1的救援范围在宝安区的整个区域,服务地点2的救援范围在罗湖区的整个区域。假设服务地点的救援范围是上述第一种情况,那么车辆获取服务地点的救援范围就需要获取服务地点的位置和服务地点的最大救援距离。
还需要说明的是,在本申请的一些实施方式中,车辆获取服务地点的救援范围的执行步骤可以有多种触发方式,包括但不限于如下几种:1)车辆向云服务器发送一个请求消息,该请求消息就用于指示云服务器向车辆发送服务地点的救援范围,该请求消息可以是由车辆接收到用户输入的指令触发,如,用户认为车辆需要进行软件升级了,那么用户向该车辆输入对应的指令,该指令就用于触发车辆向对应的云服务器发送上述请求消息;2)用户觉得车辆该进行软件升级了,向车辆输入一个指令,该指令就用于触发车辆从车辆的存储设备获取服务地点的救援范围。
在本申请实施例中,车辆获取服务地点的位置及服务地点的救援范围的方式(即图3所述的预设方式)可以包括但不限于如下几种:
a、云服务器向车辆发送服务地点的救援范围。
在本申请的一些实施方式中,云服务器内存储有预设区域(如,中国区域、美国区域等)内所有具备向该车辆提供救援能力的服务地点的救援范围。例如,当车辆向云服务器发送请求消息时,响应于该请求消息,云服务器向该车辆发送该预设区域内的所有服务地点的救援范围。
举例示意:假设中国区域共有1000个4s店/维修点可提供救援服务,那么云服务器内就存储有这1000个4s店/维修点的详细位置信息以及这1000个4s店/维修点的救援范围,当车辆(前提是车辆处于中国区域)向云服务器发送请求消息时,云服务器接收到该请求消息,就会向该车辆发送这1000个4s店/维修点的详细位置信息以及这1000个4s店/维修点的救援范围。在一些实施方式中,也可以直接就向车辆发送这1000个4s店/维修点的救援范围,而不发送具体的详细位置信息。
考虑到实际应用场景中,由于每个服务地点的救援范围一般不会超过一个行政区域,因此,在本申请的一些实施方式中,还可以是车辆先确定自身所处市区(如,深圳市),然后车辆向云服务器发送通知,该通知用于指示云服务器向车辆发送属于深圳市区域的服务地点的位置(即从上述属于中国区域的所有服务地点中确定出属于深圳区域的服务地点,并将确定出的各个服务地点的位置及对应的救援范围发送至车辆),也可以是车辆在向云服务器发送请求消息时就将上述通知所携带的信息携带在请求消息中,具体此处不做限定。
依然以上述例子示意:假设中国区域共有1000个4s店/维修点可提供救援服务,那么云服务器内就存储有这1000个4s店/维修点的详细位置信息以及这1000个4s店/维修点的救援范围,当车辆向云服务器发送请求消息时,车辆同时也会根据自身安装的应用(如,百度地图、高德地图等、全球定位系统等)确定自身所处市区为武汉市,并将“车辆处于武汉市”这个信息携带在请求消息中一并发送至云服务器,云服务器据此从这1000个4s店/维修点确定出属于武汉市的4s店/维修点有15个,那么云服务器就将属于武汉市的这15个4s店/维修点的详细位置信息以及这15个4s店/维修点的救援范围发送给该车辆。
b、车辆从自身服务地点的救援范围。
与上述“a”方式类似,不同的地方在于,“b”方式是预设区域内所有具备向该车辆提供救援能力的服务地点的救援范围已事先由云服务器发送至车辆,当该预设区域内的服务地点的具体数量有变化时,云服务器就会将更新后的上述信息发送至车辆。当车辆接收到用户向车辆输入的指令时,响应于该指令,车辆直接从自身的存储设备中获取预设区域内所有服务地点的救援范围。类似的,在一些实施方式中,车辆中可以存储有各个服务地点的详细位置信息,这些详细位置信息可由第三方的应用(如,高德地图、百度地图等)向车辆提供。
依然以上述例子示意:假设中国区域共有1000个4s店/维修点可提供救援服务,那么云服务器内就存储有这1000个4s店/维修点的详细位置信息以及这1000个4s店/维修点的救援范围,并将这1000个4s店/维修点的详细位置信息以及这1000个4s店/维修点的救援范围在需要进行软件升级之前就发送给车辆,若这些4s店/维修点的位置有变化,或数量有增减(如,增加了25个4s店/维修点、减少了10个4s店/维修点等),这些更新的信息也会随时发送至车辆,以使得车辆保持数据的准确性。当车辆接收用户输入的指令要求对当前安装的软件待升级版本进行升级时的指令时,那么此时车辆就不需要云服务器临时发送这1000个4s店/维修点的详细位置信息以及这1000个4s店/维修点的救援范围,车辆只需从自身的存储设备中获取即可。
类似地,考虑到实际应用场景中,由于每个服务地点的救援范围一般不会超过一个行政区域,因此,在本申请的一些实施方式中,也可以是车辆先确定自身所处市区(如,深圳市),然后在从自身存储设备中获取属于当前市区的服务地点的救援范围。
在本申请的一些实施方式中,还可以是当车辆向云服务器发送请求消息时,响应于该请求消息,车辆可以通过自身安装的定位应用(如,百度地图、高德地图等、全球定位系统等)获取到当前实时位置,然后从自身存储设备中获取自身为中心方圆一定距离内(如,方圆100公里内,该距离不能小于单个服务地点能提供救援的最远距离)的所有服务地点的位置信息以及这些服务地点的救援范围。
依然以上述例子示意:假设中国区域共有1000个4s店/维修点可提供救援服务,那么云服务器内就存储有这1000个4s店/维修点的详细位置信息以及这1000个4s店/维修点的救援范围,并将这1000个4s店/维修点的详细位置信息以及这1000个4s店/维修点的救援范围在需要进行软件升级之前就发送给车辆。当车辆向云服务器发送请求消息时,此时车辆也会通过自身安装的百度地图获取到当前实时位置为“武汉市光谷广场”,假设这1000个4s店/维修点的救援范围最远的为60公里,那么车辆就可从自身存储设备中确定出以“武汉市光谷广场”为中心方圆70公里(直径可以预设,不小于60公里即可)的4s店/维修点有3个,那么车辆就将这3个4s店/维修点的详细位置信息确定为服务地点的位置,并获取这3个4s店/维修点的救援范围。
202、车辆获取自身当前所处位置。
车辆还将获取自身当前所处位置,需要说明的明,步骤201和步骤202之间没有先后顺序,可以先执行步骤201,也可以先执行步骤202,也可以同时执行步骤201和步骤202,此处不做限定。
203、车辆根据车辆当前所处位置判断车辆是否处于救援范围内。
车辆根据上述方式获取到各个服务地点的救援范围之后,车辆还将根据自身所处位置判断车辆自身是否处于上述各个服务地点组成的救援范围之内。在本申请实施方式中,车辆判断自身是否处于各个服务地点组成的救援范围的方式可以包括但不限于如下几种方式,下面以救援范围由服务地点的位置和服务地点能提供的最远救援距离共同确定为例进行说明:
a、若各个服务地点的救援能力没有差异。
在这种情况下,每个服务地点的救援范围都相同,即每个服务地点能提供的最远救援距离都是一样的(如,各个服务地点能提供的最远救援距离均为50公里),那么此时只需要判断该车辆与各个服务地点之间的距离是否存在小于50公里的情况,若是,则确定该车辆处于服务地点的救援范围内。
b、若各个服务地点的救援能力有差异。
在这种情况下,每个服务地点的救援范围不完全相同,例如,有的服务地点能提供的最远救援距离是70公里,有的服务地点能提供的最远救援距离是40公里,此时可以按照图4所述的方式进行判断:步骤1,车辆将通过上述方式确定得到的各个服务地点与车辆之间距离按照从近到远的方式进行排列;步骤2,从列表中确定与车辆距离最近的服务地点(可称为服务地点S);步骤3,首先判断该服务地点S与车辆之间的距离是否超过列表中各服务地点能提供的最远救援距离的最大值,如,假设列表中共有5个服务地点,这5个服务地点分别能提供的最远救援为80公里、70公里、60公里、50公里和40公里,那么最远救援距离的最大值就为80公里。若确定该服务地点S与车辆之间的距离超过各服务地点能提供的最远救援距离的最大值(如,服务地点S与车辆之间的距离为90公里),那么说明该服务地点S不在上述所述的救援范围内,若确定该服务地点S与车辆之间的距离没有超过各服务地点能提供的最远救援距离的最大值(如,服务地点S与车辆之间的距离为65公里),则执行步骤4;步骤4,车辆进一步判断该车辆与服务地点S之间的距离是否在服务地点S能提供的最远救援距离内,若确定该车辆与服务地点S之间的距离在服务地点S能提供的最远救援距离(假设为70公里)内,则确定该车辆在上述所述的救援范围内,若确定该车辆与服务地点S之间的距离不在服务地点S能提供的最远救援距离(假设为60公里)内,则执行步骤5;步骤5,车辆从列表中删除该服务地点S,之后再重新回到步骤2中从列表中确定出与该车辆距离最近的新的服务地点S。
需要说明的是,在本申请的一些实施方式中,步骤2-5可以只执行一次就得出判断结果(即判断结果为车辆在救援范围内或不在救援范围内),也可以设置可执行次数的最大值(如,3次),即车辆第一次由步骤1执行到步骤5时确定车辆不在当前服务地点S1的救援范围内(此为第1次执行),则再次从列表中选择新的服务地点S2执行步骤2-5(此为第2次执行),若此时确定车辆在当前服务地点S2的救援范围内,则判断结果就为车辆位于救援范围内,之后不执行步骤2-5;若此时确定车辆依然不在当前服务地点S2的救援范围内,则再次从列表中选择新的服务地点S3执行步骤2-5(此为第3次执行),若此时确定车辆不在当前服务地点S3的救援范围内,则判断结果就为车辆不在救援范围内;若此时确定车辆位于当前服务地点S3的救援范围内,则判断结果就为车辆位于救援范围内。
还需要说明的是,图4对应的实施方式仅是判断车辆是否处于各个服务区组成的救援范围的方式之一,在本申请的一些实施方式中,可以省略步骤3,即直接判断车辆与最近的服务地点直接的距离是否位于该服务地点的最远救援距离内。具体此处对判断的具体方式不做限定。
204、车辆向云服务器发送车辆的待升级软件的信息。
若车辆根据车辆当前所处位置确定车辆位于救援范围内,则车辆将该车辆待升级软件的信息向云服务器发送,该待升级软件的信息用于指示云服务器根据待升级软件的信息查找待升级软件的待升级安装包。
需要说明的是,在本申请的一些实施方式中,待升级软件的信息可以包括车辆当前已安装的软件版本的相关信息,如,车辆当前安装版本的类型、版本号、上次更新时间等;该待升级软件的信息也可以包括即将升级的软件版本的相关信息,如,车辆要升级的软件版本号、当前安装的软件版本号等信息,只要云服务器能够根据车辆发送的这些相关信息能确定出车辆待升级软件的待升级安装包的信息都可以,具体此处对待升级软件的信息不做限定。
需要说明的是,在本申请的一些实施方式中,若车辆位于服务地点的救援范围内,车辆除了向云服务器发送该车辆的待升级软件的信息之外,还可以向云服务器发送指示该车辆位于所述救援范围的第一信息,第一信息用于指示云服务器根据第一信息选择差分版本类型的所述待升级安装包。
205、云服务器向车辆发送查找到的待升级软件的待升级安装包。
云服务器接收到车辆发送的上述待升级软件的信息之后,云服务器根据上述信息查找是否有该待升级软件版本的即待升级安装包(可简称为安装包),若有,那么就向该车辆发送该安装包;若没有,则云服务器可向车辆发送通知信息,该通知信息可以是用于告知该车辆当前待升级软件暂时没有更新的升级版本,也可以是用于告知该车辆对应的升级版本即将推出的时间,具体此处对通知信息包括的具体内容不做限定。
需要说明的是,在本申请的一些实施方式中,若车辆处于救援范围内,此时云服务器可以优先给车辆发送差分版本对应的待升级安装包,若云服务器上对应的软件升级版本没有差分版本的话,则云服务器给车辆发送全量版本对应的待升级安装包。
206、车辆根据待升级安装包进行升级。
车辆获取到该待升级软件的待升级安装包之后,就可以根据该待升级安装包进行版本升级。车辆根据该待升级安装包进行升级的方式可以是:车辆首先判断自身的整车状态是否满足升级条件,如,车辆是否挂P档、是否处于静止状态(车辆若处于行驶状态则不满足升级条件)、剩余电量是否达到预设阈值等,若确定车辆满足升级条件,则该车辆会输出待升级的提醒安装信息,例如,该提醒安装信息可以是语音播报(如,通过车载扬声器向用户播报“软件升级版本已下载,请及时安装”)、振动提醒、响铃提醒等,具体此处对提醒安装信息的具体形式不做限定,该提醒安装信息用于指示向车辆输入指令,如,当用户听到播报的提醒安装信息,那么用户就可向车辆输入对应的指令,最后,车辆就可根据输入的指令对该待升级安装包进行升级。
需要说明的是,在本申请的一些实施方式中,若判断结果为车辆不在救援范围内,车辆除了向云服务器发送该车辆的待升级软件的信息之外,还可以向云服务器发送指示该车辆不位于救援范围的第二信息,该待升级软件的信息用于指示云服务器根据待升级软件的信息查找待升级软件的待升级安装包,第二信息用于指示云服务器根据第二信息选择全量版本类型的待升级安装包,云服务器查找到该待升级软件的全量版本后,云服务器向车辆发送该全量版本对应的待升级安装包,之后车辆根据该全量版本对应的待升级安装包进行升级,类似地,车辆根据该全量版本对应的待升级安装包进行升级的方式与步骤205类似,此处不予赘述。在本申请上述实施方式中,云服务器会根据判断结果灵活的选择发送给车辆的待升级软件的安装包类型,若车辆处于救援范围内,则云服务器下发差分版本对应的待升级安装包,差分版本的优势在于:数据量小,从而减少云服务器向车辆发送的数据量,但是缺点是升级失败率会比全量版本高一些,由于此时车辆已处于救援范围内,即使升级失败也可及时得到救援,但可大大减少下载量。若车辆不在救援范围内,则云服务器下发全量版本对应的待升级安装包,全量版本的升级失败率低一些,但是数据量大,占据内存,下载慢。由于此时车辆不在救援范围内,为降低升级失败的概率,此时选择由云服务器向车辆发送全量版本对应的待升级安装包。而目前的下发待升级软件的待升级安装包的方式是只向车辆发送全量版本或只向车辆发送差分版本,本申请上述实施例则具备灵活性。
还需要说明的是,在本申请的一些实施方式中,若判断结果为车辆不在救援范围内,云服务器可以不立刻向车辆发送全量版本对应的待升级安装包,车辆还可以确定一个预设时长(可称为第一预设时长),若车辆在该第一预设时长内重新进入救援范围,那么云服务器依然向该车辆推送差分版本对应的待升级安装包,如何判断车辆是否在第一预设时长内重新进入救援范围可通过但不限于如下方式:
a、车辆获取通知消息,该通知消息用于指示车辆在第一预设时长内周期性周期性(如,预设周期T1,T1小于第一预设时长)判断该车辆是否已驶入服务地点的救援范围,该通知消息可由车辆生成,也可由云服务器发送,具体此处不做限定。若车辆根据该通知消息确定车辆在第一预设时长内已驶入救援范围内,则车辆向云服务器发送车辆的待升级软件的信息和指示车辆在该第一预设时长内已进入救援范围的第三信息,待升级软件的信息用于指示云服务器根据待升级软件的信息查找待升级软件的待升级安装包,第三信息用于指示云服务器根据第三信息选择差分版本类型的待升级安装包,之后云服务器向车辆发送该差分版本类型的待升级安装包,最后车辆再根据该待升级安装包进行升级。
b、车辆获取提醒消息,该提醒消息用于提醒车辆在第一预设时长内驶入服务地点的救援范围,与上述通知消息类似,该提醒消息可由车辆生成,也可由云服务器发送,具体此处不做限定。若车辆根据提醒消息确定该车辆在第一预设时长内已驶入救援范围,则该车辆向云服务器发送车辆的待升级软件的信息和指示车辆在该第一预设时长内已进入救援范围的第三信息,待升级软件的信息用于指示云服务器根据待升级软件的信息查找待升级软件的待升级安装包,第三信息用于指示云服务器根据第三信息选择差分版本类型的待升级安装包,之后云服务器向车辆发送该差分版本类型的待升级安装包,最后车辆再根据该待升级安装包进行升级。
需要说明的是,若该车辆在第一预设时长内依然未进入救援范围,则说明该车辆大概率处于偏远地区,此时车辆向云服务器发送车辆的待升级软件的信息和指示车辆在该第一预设时长内未进入救援范围的第四信息,待升级软件的信息用于指示云服务器根据待升级软件的信息查找待升级软件的待升级安装包,第四信息用于指示云服务器根据第四信息选择全量版本类型的待升级安装包,之后云服务器向车辆发送该全量版本类型的待升级安装包,最后车辆再根据该待升级安装包进行升级。需要注意的是,在本申请上述实施方式中,该第一预设时长、预设周期T1可在车辆出厂时就预置,也可以是在上一次软件版本安装时更新,也可以是云服务器单独推送给车辆,具体此处不做限定。
在本申请上述实施方式中,当车辆需进行版本升级时,车辆会先获取各个服务地点的救援范围,同时车辆会确定自身当前所处位置,并判断车辆是否处于各服务地点的救援范围(各服务地点的救援范围可由云服务器下发,或车辆自身存储),若车辆位于上述救援范围内,则车辆将向云服务器发送该车辆的待升级软件的信息,由云服务器基于上述信息确定给车辆推送何种待升级软件版本对应的安装包类型,车辆再根据获取到的安装包类型确定如何进行升级。相对传统OTA的软件升级方式,车辆的实时位置信息不会被泄露。
需要说明的是,在本申请上述实施方式中,车辆根据待升级安装包进行升级的操作一般是在车辆获取到对应的安装包类型就及时进行,具体地,车辆可确定一个升级时长(该升级时长可在车辆出厂时就预置,也可以是在上一次软件版本安装时更新,也可以是云服务器单独推送给车辆,具体此处不做限定),触发该升级时长开始计时的第一事件可以是“车辆确定判断结果为在救援范围内”也可以是“车辆确定在第一预设时长内重新进入救援范围内”,具体此处不做限定。这样做的目的是以防车辆行驶出服务地点的救援范围,若车辆不在救援范围内进行软件升级并升级失败的话,会导致救援成本增加。例如,当车辆根据上述步骤203确定了判断结果为该车辆处于救援范围内,此时触发车辆(如,车辆的计时模块)开始计时,若一开始设置的升级时长为1小时,在车辆满足升级条件的前提下,车辆输出的提醒安装信息还可以用于指示在1小时内输入指令(如,语音提醒用户“软件升级版本已下载,请在1小时内安装”),这样可增加用户向车辆输入指令的概率,使得车辆在升级时长内进行升级的概率大大提升。
还需要说明的是,在本申请的一些实施方式中,若车辆在获取到云服务器发送的待升级安装包后并未在给定的升级时长内进行升级,车辆很可能已经行驶出救援范围,那么车辆在执行根据待升级安装包进行升级的步骤之前,还需要根据各个服务地点的位置及所述车辆当前所处位置再次判断车辆是否位于救援范围内,若此次判断结果为车辆处于救援范围内,那么车辆可按照上述方式进行升级的操作;若此次判断结果为车辆不在救援范围内,那么此时车辆可确定一个预设时长(可称为第二预设时长),触发该第二预设时长开始计时的事件可以是“升级时长已达到但车辆还未进行软件升级”,在该第二预设时长内,车辆周期性(如,预设周期T2,T2小于第二预设时长)判断车辆是否驶入救援范围内,或者,车辆接收云服务器发送的提醒通知,该提醒通知用于指示车辆在第二预设时长内尽快驶入救援范围,具体此处不做限定。若在该第二预设时长内,确定车辆重新进入了救援范围内,那么车辆可按照上述方式进行升级的操作;若车辆在该第二预设时长内依然未进入救援范围,说明该车辆大概率是处于偏远地区,此时进行版本升级若升级失败的话将会导致救援成本增加,此时车辆可输出提醒安装信息,该提醒安装信息用于指示用户慎重升级(如,通过车载扬声器向用户播报“车辆不在救援范围内,升级请慎重”)。
需要注意的是,与升级时长类似,该第二预设时长、预设周期T2、提醒通知均可在车辆出厂时就预置,也可以是在上一次软件版本安装时更新,也可以是云服务器单独推送给车辆,具体此处不做限定。
需要说明的是,在本申请的一些实施方式中,车辆也可以将安装结果的相关信息(如,当前升级的是哪个版本、是否升级成功、升级时间等信息)上报给云服务器。
需要说明的是,在上述实施方式中,云服务器获取车辆当前已安装的软件版本的相关信息是与车辆得到的判断结果(即车辆位于救援范围内,或,车辆不在救援范围内)一并发送给云服务器的,在本申请的一些实施方式中,还可以是车辆单独先向云服务器发送软件升级请求,该软件升级请求中包含有车辆当前已安装的软件版本的相关信息,并且该软件升级请求可代替上述所述的请求消息,用于触发云服务器向车辆发送服务地点的救援范围。具体请参阅图5:
501、车辆向云服务器发送软件升级请求。
首先,车辆向云服务器发送软件升级请求,该软件升级请求中包括车辆当前已安装的软件版本的相关信息,该软件升级请求可由车辆接收到用户输入的指令触发,如,用户认为车辆需要进行软件升级了,那么用户向该车辆输入对应的指令,该指令就用于触发车辆向对应的云服务器发送软件升级请求;该软件升级请求也可以是当前车辆使用的软件版本达到预设周期时自动向云服务器发送,如,假设当前车辆的软件版本是2019年6月15日安装的,若预设周期设置为6个月,那么在2019年12月16日车辆会自动向云服务器发送软件升级请求,具体本申请对如何触发车辆向云服务器发送软件升级请求不做限定。
502、云服务器根据软件升级请求确定软件升级版本。
云服务器获取到车辆发送的软件升级请求后,由于该软件升级请求包括有车辆当前安装的软件版本的相关信息,云服务器根据该软件升级请求查找是否有该软件版本对应的升级版本,若有,那么就可确定对应的软件升级版本为待发送给车辆的目标版本;若没有,则云服务器可向车辆发送通知信息,该通知信息可以是用于告知该车辆当前软件版本暂时没有更新的升级版本,也可以是用于告知该车辆当前软件版本对应的升级版本即将推出的时间,具体此处对通知信息包括的具体内容不做限定。
503、车辆获取服务地点的救援范围。
若云服务器确定有对应的升级版本,云服务器可向车辆发送确认消息,该确认消息用于指示云服务器有车辆需要的升级版本,之后车辆将获取服务地点的救援范围。
类似地,在本申请一些实施方式中,车辆获取服务地点的救援范围的方式(即图3所述的预设方式)可以包括但不限于如下几种:a、云服务器向车辆发送服务地点的救援范围;b、车辆从自身获取服务地点的救援范围。具体的获取方式如上述图2对应的实施例中所述,具体此处不予赘述。
504、车辆根据车辆当前所处位置判断车辆是否处于救援范围内。
步骤504与上述图2对应的实施例的步骤203类似,此处不予赘述。
505、车辆将判断结果发送至云服务器。
之后,车辆会将该判断结果发送至服务器。
506、云服务器根据该判断结果确定待升级软件的待升级安装包。
云服务器获取到车辆发送的判断结果后,会根据该判断结果确定待升级软件的待升级安装包。待升级安装包包括有差分版本对应的待升级安装包、全量版本对应的待升级安装包。
507、若判断结果为车辆位于救援范围内,则云服务器向车辆发送差分版本对应的待升级安装包。
若判断结果为车辆位于救援范围内,则云服务器向车辆发送差分版本对应的待升级安装包。
508、车辆根据差分版本对应的待升级安装包进行升级。
车辆获取到该差分版本对应的待升级安装包之后,就可以根据该差分版本对应的待升级安装包进行升级。车辆根据该差分版本对应的待升级安装包进行升级的方式可以是:车辆首先判断自身的整车状态是否满足升级条件,如,车辆是否挂P档、是否处于静止状态(车辆若处于行驶状态则不满足升级条件)、剩余电量是否达到预设阈值等,若确定车辆满足升级条件,则该车辆会输出待升级的提醒安装信息,例如,该提醒安装信息可以是语音播报(如,通过车载扬声器向用户播报“软件升级版本已下载,请及时安装”)、振动提醒、响铃提醒等,具体此处对提醒安装信息的具体形式不做限定,该提醒安装信息用于指示向车辆输入指令,如,当用户听到播报的提醒安装信息,那么用户就可向车辆输入对应的指令,最后,车辆就可根据输入的指令对该差分版本对应的待升级安装包进行升级。
需要说明的是,在本申请的一些实施方式中,若判断结果为车辆不在救援范围内,则车辆与服务器之间的处理方式如上述图2对应的实施例处理的方式类似,此处不予赘述。
基于上述图2、图5所述的实施方式,示例性地,对本申请实施例的一种车辆软件升级的方法进行更具体的阐述,请参阅图6。需要说明的是,图6所述的车辆软件升级的方法仅是对上述实施方式的其中一种示意,在本申请的一些实施方式中,可以包括更多或更少的步骤,步骤与步骤之间的顺序也可视实际情况有所调整,具体此处不做限定。
步骤1:车辆向云服务器发送软件升级请求,由此触发对应的云服务器执行步骤2。
步骤2:云服务器将能为该车辆提供救援能力的服务地点(如,对应该车辆的4S店/维修点等)的位置以及每个服务地点的能提供的救援服务的救援范围下发给该车辆,云服务器还可以给车辆发送一些可选信息,如,各个服务地点中最远的救援距离、车辆不在救援范围内时的最长等待时间(即上述实施例中所述的第一预设时长)以及在该最长等待时间内的查询的预设周期T1、车辆再次不在救援范围内时的最长等待时间(即上述实施例中所述的第二预设时长)以及在该最长等待时间内的查询的预设周期T2等信息,这些可选信息可以在车辆出厂时预设,也可以通过后续版本更新时刷新,也可以在每次软件升级之前单独推送给车辆,此处不做限定。
步骤3:当车端获取到云服务器发送的各个服务地点的位置以及每个服务地点能提供救援服务的救援范围之后,将根据这些信息以及车辆当前所处的位置判断车辆当前是否处于救援范围内,车辆判断自身是否处于救援范围内的方式可以根据如图4所述的方式进行,具体此处不予赘述。
步骤4:车辆将判断结果以及其他辅助信息(如,车辆当前运行版本等)上报给云服务器。若云服务器接收到的判断结果是车辆处于救援范围内,那么执行步骤8,若云服务器接收到的判断结果是车辆不在救援范围内,则执行步骤6。
步骤5:云服务器根据车辆发送的其他辅助信息判断当前是否有适合该车辆升级的软件版本。即判断升级版本是全量版本,还是差分版本,还是两者都有。若当前云服务器上没有适合该车辆的升级版本,则直接结束,或通知车辆在预设时长后(如,2周后)再查询,或通知车辆该软件升级版本即将推出的时间等,此处不做限定。需要说明的是,在本申请的一些实施方式中,步骤5可以在步骤2-4之前执行,也可以在步骤2-4之后执行,具体此处对步骤5的执行顺序不做限定。
步骤6:若云服务器接收到的判断结果是车辆不在救援范围内,则触发云服务器开始计时(如,触发云服务器启动定时器开始计时),使得云服务器进一步判断等待车辆进入救援范围内时长是否超过第一预设时长,若没有超时,则执行步骤7,在执行步骤7之前,车辆还可以先提醒用户“有待升级软件需要下载,请行驶到救援范围内”(即述实施例所述的提醒消息),若超时,则执行步骤9。
步骤7:云服务器通知车辆等待时长T1后再次进行车辆是否处在救援范围内的判断(即回到步骤3中重新判断),并将此次的判断结果再次向云服务器发送。T1可以是在步骤3中由云服务器下发给车辆,也可以是在该步骤7中下发给车辆,具体此处不予赘述。
步骤8:若云服务器接收到的判断结果是车辆处于救援范围内,则云服务器向车辆发送软件升级版本的差分版本对应的待升级安装包。
步骤9:若云服务器接收到的判断结果是车辆不在救援范围内,则云服务器向车辆发送全量版本对应的待升级安装包。
步骤10:车辆判断整车状态是否适合进行升级提醒,即判断车辆是否满足升级条件(如,车辆是否处于行驶状态、档位是否满足等),若适合进行升级提醒则执行步骤11,若不适合执行升级提醒则执行步骤16。
步骤11:车辆再次根据与步骤3类似的方式判断车辆是否依然在救援范围内,在一些实施方式中,车辆还可将判断结果发送至云服务器,具体此处不予赘述。若判断结果为车辆依然在救援范围内,则执行步骤14;若判断结果为车辆不在救援范围内,则执行步骤12。
步骤12:若此次判断结果是车辆不在救援范围内,则触发车辆开始计时(如,触发车辆启动定时器开始计时),使得车辆进一步判断等待车辆进入救援范围内时长是否超过第二预设时长,若没有超时,则执行步骤15,若超时,则执行步骤16。在本申请的一些实施方式中,车辆也可以将判断结果发送给云服务器,若云服务器接收到的此次判断结果是车辆不在救援范围内,则触发云服务器开始计时(如,触发云服务器启动定时器开始计时),使得云服务器进一步判断等待车辆进入救援范围内时长是否超过第二预设时长,若没有超时,则执行步骤15,在执行步骤15之前,可以先提醒用户“有软件升级版本需要安装,请行驶到救援范围内”,若超时,则执行步骤16。
步骤13:车辆输出提醒安装信息,该提醒安装信息用于提醒用户有新的软件升级版本需要安装。
步骤14:车辆根据用户输入的指令进行安装,并在安装结束后将结果上报至云服务器。
步骤15:周期性判断车辆状态是否满足安装提醒的要求,或者事件触发判断车辆是否满足安装提醒要求(比如用户挂P档)。
步骤16:此时车辆输出的提醒安装信息,用于提醒用户慎重安装。
在本申请上述实施方式中,对一种车辆OTA的控制方法进行了更为详细的阐述,需要说明的是,图6所述的车辆软件升级的方法仅是对上述实施方式的其中一种示意,在本申请的一些实施方式中,可以包括更多或更少的步骤,步骤与步骤之间的顺序也可视实际情况有所调整,具体此处不做限定。
本申请实施例可以根据上述车辆软件升级的方法的示例对车辆以及云服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
例如,图7示出了一种应用于车辆的控制系统,该控制系统可以包括:第一获取模块701、第二获取模块702、发送模块703、接收模块704以及安装模块705,其中,第一获取模块701,用于获取服务地点的救援范围,所述服务地点为具备向软件升级失败的车辆提供救援服务的一个或多个实体平台;第二获取模块702,用于获取所述目标车辆的当前所处位置;发送模块703,用于当所述目标车辆的当前所处位置位于所述救援范围,向云服务器发送所述目标车辆的待升级软件的信息,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包;接收模块704,用于接收所述云服务器查找到的所述待升级安装包;安装模块705,用于根据所述待升级安装包进行升级。
在一种可能的设计中,该发送模块703具体用于:向所述云服务器发送所述目标车辆的待升级软件的信息和指示所述目标车辆位于所述救援范围的第一信息,所述第一信息用于指示所述云服务器根据所述第一信息选择差分版本类型的所述待升级安装包。
在一种可能的设计中,该发送模块703具体还用于:当所述目标车辆的当前所处位置不位于所述救援范围,向所述云服务器发送所述目标车辆的待升级软件的信息和指示所述目标车辆不位于所述救援范围的第二信息,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第二信息用于指示所述云服务器根据所述第二信息选择全量版本类型的所述待升级安装包。
在一种可能的设计中,发送模块703具体还用于:当所述目标车辆的当前所处位置不位于所述救援范围,在预设时长内周期性判断所述目标车辆是否驶入所述救援范围,或,获取提醒消息,所述提醒消息用于提醒所述目标车辆在所述预设时长内进入所述救援范围;在所述预设时长内进入所述救援范围;向所述云服务器发送所述目标车辆的待升级软件的信息和指示所述车辆在所述预设时长内已进入所述救援范围的第三信息,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第三信息用于指示所述云服务器根据所述第三信息选择差分版本类型的所述待升级安装包。
在一种可能的设计中,第二获取模块702还用于:获取通知消息,所述通知消息用于指示所述目标车辆在所述预设时长内周期性判断所述目标车辆是否进入所述救援范围,所述通知消息由所述目标车辆生成或从所述云服务器接收。
在一种可能的设计中,发送模块703具体还用于:生成所述提醒消息;或,接收所述云服务器发送的所述提醒消息。
在一种可能的设计中,第一获取模块701具体用于:向所述云服务器发送请求消息,所述请求消息用于指示所述云服务器向所述目标车辆发送所述服务地点的救援范围;接收所述云服务器发送的所述服务地点的救援范围。
在一种可能的设计中,第一获取模块701具体还用于:从所述目标车辆的存储设备获取所述服务地点的救援范围。
在一种可能的设计中,第一获取模块701具体还用于:获取所述服务地点的位置和所述服务地点的最大救援距离;根据所述服务地点的位置和所述服务地点的最大救援距离确定所述服务地点的救援范围。
在一种可能的设计中,安装模块705具体用于:当所述目标车辆满足升级条件,输出提醒安装信息,所述提醒安装信息用于指示向所述目标车辆输入指令;根据所述指令对所述待升级安装包进行升级。
需要说明的是,控制系统中各模块/单元之间的信息交互、执行过程等内容,与本申请中图2、图4、图5、图6中对应的各个方法实施例基于同一构思,即图7对应的实施例中的控制系统具体的功能以及结构用于实现前述图2、图4、图5、图6中由车辆进行处理的步骤,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种云服务器,该云服务器可以包括:获取模块801、第一发送模块802、接收模块803、第二发送模块804,其中,获取模块801,用于获取目标车辆发送的请求消息,所述请求消息用于指示所述云服务器向所述目标车辆发送服务地点的救援范围,所述服务地点为具备向软件升级失败的车辆提供救援服务的一个或多个实体平台;第一发送模块802,用于向所述目标车辆发送所述服务地点的救援范围,以使所述目标车辆判断所述目标车辆的当前所处位置是否位于所述救援范围;接收模块803,用于接收所述目标车辆发送的所述目标车辆的待升级软件的信息,所述待升级软件的信息由所述目标车辆在所述目标车辆的当前所述位置位于所述救援范围时发送,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包;第二发送模块804,用于查找到所述待升级安装包,并将所述待升级安装包向所述目标车辆发送,以使所述目标车辆根据所述待升级安装包进行升级。
在一种可能的设计中,接收模块803具体用于:接收所述目标车辆发送的所述目标车辆的待升级软件的信息和指示所述目标车辆位于所述救援范围的第一信息,所述第一信息用于指示所述云服务器根据所述第一信息选择差分版本类型的所述待升级安装包。
在一种可能的设计中,接收模块803具体还用于:接收所述目标车辆发送的所述目标车辆的待升级软件的信息和指示所述目标车辆不位于所述救援范围的第二信息,所述待升级软件的信息由所述目标车辆在所述目标车辆不位于所述救援范围时发送,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第二信息用于指示所述云服务器根据所述第二信息选择全量版本类型的所述待升级安装包。
在一种可能的设计中,接收模块803具体还用于:接收所述目标车辆发送的所述目标车辆的待升级软件的信息和指示所述车辆在所述预设时长内已进入所述救援范围的第三信息,所述待升级软件的信息由所述目标车辆在预设时长内进入所述救援范围时发送,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第三信息用于指示所述云服务器根据所述第三信息选择差分版本类型的所述待升级安装包。
在一种可能的设计中,第一发送模块802还用于:向所述目标车辆发送通知消息或提醒消息,所述通知消息用于指示所述目标车辆在所述预设时长内周期性判断所述目标车辆是否进入所述救援范围,所述提醒消息用于指示所述目标车辆在所述预设时长内进入所述救援范围。
在一种可能的设计中,第一发送模块802具体还用于:向所述目标车辆发送所述服务地点的位置和所述服务地点的最大救援距离,以使所述目标车辆根据所述服务地点的位置和所述服务地点的最大救援距离确定所述服务地点的救援范围;或,获取所述服务地点的位置和所述服务地点的最大救援距离;根据所述服务地点的位置和所述服务地点的最大救援距离确定所述服务地点的救援范围,并将所述服务地点的救援范围向所述目标车辆发送。
需要说明的是,云服务器中各模块/单元之间的信息交互、执行过程等内容,与本申请中图2、图4、图5、图6中对应的各个方法实施例基于同一构思,即图8对应的实施例中的云服务器具体的功能以及结构用于实现前述图2、图4、图5、图6中由云服务器进行处理的步骤,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了一种相关设备,该设备可以是车辆中的控制系统,也可以是云服务器,请参阅图9,图9是本申请实施例提供的相关设备一种结构示意图,当该设备为车辆中的控制系统时,则该设备900上可以部署有图7对应实施例中所描述的控制系统的对应模块,用于实现图7对应实施例中控制系统的功能,当该设备为云服务器时,则该设备900上可以部署有图8对应实施例中所描述的云服务器的对应模块,用于实现图8对应实施例中云服务器的功能。
具体的,该设备900由一个或多个服务器实现,设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对该设备(如控制系统,或云服务器)中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在设备900上执行存储介质930中的一系列指令操作。
设备900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
需要说明的是,在本申请实施例中,若该设备900作为车辆的控制系统,则中央处理器922,用于执行图2、图4、图5以及图6中对应实施例中的由车辆执行的步骤。例如,中央处理器922,用于:向云服务器发送软件升级请求,并获取服务地点的救援范围,该服务地点为具备向软件升级失败的车辆提供救援服务的一个或多个实体平台;之后,该中央处理器922根据该车辆当前所处位置判断该车辆是否位于救援范围内,并将判断结果发送至云服务器,以使云服务器根据判断结果确定待升级软件对应的安装包类型,该待升级软件由云服务器根据软件升级请求确定;若判断结果为车辆位于救援范围内,则中央处理器922获取云服务器发送待升级软件的差分版本对应的待升级安装包,最后根据该差分版本对应的待升级安装包进行版本升级。
还需要说明的是,在本申请实施例中,若该设备900作为云服务器,则中央处理器922,用于执行图2、图4、图5以及图6中对应实施例中的由云服务器执行的步骤。例如,中央处理器922,用于:获取车辆发送的软件升级请求,并根据软件升级请求确定软件升级版本;之后,中央处理器922向车辆发送服务地点的救援范围,以使车辆根据车辆当前所处位置判断车辆是否位于救援范围内,服务地点为具备向软件升级失败的车辆提供救援服务的一个或多个实体平台;随后中央处理器922获取车辆发送的判断结果,并根据判断结果确定待升级软件对应的安装包类型;若判断结果为车辆位于救援范围内,则中央处理器922向车辆发送待升级软件的差分版本对应的待升级安装包,以使车辆根据该差分版本对应的待升级安装包进行版本升级。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (35)
1.一种车辆软件升级的方法,其特征在于,包括:
目标车辆获取服务地点的救援范围,所述服务地点为具备向软件升级失败的车辆提供救援服务的一个或多个实体平台;
所述目标车辆获取所述目标车辆的当前所处位置;
当所述目标车辆的当前所处位置位于所述救援范围,所述目标车辆向云服务器发送所述目标车辆的待升级软件的信息,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包;
所述目标车辆接收所述云服务器查找到的所述待升级安装包;
所述目标车辆根据所述待升级安装包进行升级,并在升级失败的情况下,获取所述救援范围对应的服务地点提供的救援服务。
2.根据权利要求1所述的方法,其特征在于,所述目标车辆向云服务器发送所述目标车辆的待升级软件的信息包括:
所述目标车辆向所述云服务器发送所述目标车辆的待升级软件的信息和指示所述目标车辆位于所述救援范围的第一信息,所述第一信息用于指示所述云服务器根据所述第一信息选择差分版本类型的所述待升级安装包。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述目标车辆的当前所处位置不位于所述救援范围,所述目标车辆向所述云服务器发送所述目标车辆的待升级软件的信息和指示所述目标车辆不位于所述救援范围的第二信息,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第二信息用于指示所述云服务器根据所述第二信息选择全量版本类型的所述待升级安装包。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述目标车辆的当前所处位置不位于所述救援范围,所述目标车辆在预设时长内周期性判断所述目标车辆是否驶入所述救援范围,或,所述目标车辆获取提醒消息,所述提醒消息用于提醒所述目标车辆在所述预设时长内进入所述救援范围;
所述目标车辆在所述预设时长内进入所述救援范围;
所述目标车辆向所述云服务器发送所述目标车辆的待升级软件的信息和指示所述目标车辆在所述预设时长内已进入所述救援范围的第三信息,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第三信息用于指示所述云服务器根据所述第三信息选择差分版本类型的所述待升级安装包。
5.根据权利要求4所述的方法,其特征在于,在所述目标车辆在预设时长内周期性判断所述目标车辆是否驶入所述救援范围之前,所述方法还包括:
所述目标车辆获取通知消息,所述通知消息用于指示所述目标车辆在所述预设时长内周期性判断所述目标车辆是否进入所述救援范围,所述通知消息由所述目标车辆生成或从所述云服务器接收。
6.根据权利要求4所述的方法,其特征在于,所述目标车辆获取提醒消息包括:
所述目标车辆生成所述提醒消息;
或,
所述目标车辆接收所述云服务器发送的所述提醒消息。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述目标车辆获取服务地点的救援范围包括:
所述目标车辆向所述云服务器发送请求消息,所述请求消息用于指示所述云服务器向所述目标车辆发送所述服务地点的救援范围;
所述目标车辆接收所述云服务器发送的所述服务地点的救援范围。
8.根据权利要求1-6中任一项所述的方法,其特征在于,所述目标车辆获取服务地点的救援范围包括:
所述目标车辆从所述目标车辆的存储设备获取所述服务地点的救援范围;
或,
所述目标车辆接收第三方应用发送的所述服务地点的救援范围。
9.根据权利要求1-6中任一项所述的方法,其特征在于,所述目标车辆获取服务地点的救援范围包括:
所述目标车辆获取所述服务地点的位置和所述服务地点的最大救援距离;
所述目标车辆根据所述服务地点的位置和所述服务地点的最大救援距离确定所述服务地点的救援范围。
10.根据权利要求1-6中任一项所述的方法,其特征在于,所述目标车辆根据所述待升级安装包进行升级包括:
当所述目标车辆满足升级条件,所述目标车辆输出提醒安装信息,所述提醒安装信息用于指示向所述目标车辆输入指令;
所述目标车辆根据所述指令对所述待升级安装包进行升级。
11.一种车辆软件升级的方法,其特征在于,包括:
云服务器获取目标车辆发送的请求消息,所述请求消息用于指示所述云服务器向所述目标车辆发送服务地点的救援范围,所述服务地点为具备向软件升级失败的车辆提供救援服务的一个或多个实体平台;
所述云服务器向所述目标车辆发送所述服务地点的救援范围,以使所述目标车辆判断所述目标车辆的当前所处位置是否位于所述救援范围;
所述云服务器接收所述目标车辆发送的所述目标车辆的待升级软件的信息,所述待升级软件的信息由所述目标车辆在所述目标车辆的当前所处位置位于所述救援范围时发送,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包;
所述云服务器查找到所述待升级安装包,并将所述待升级安装包向所述目标车辆发送,以使所述目标车辆根据所述待升级安装包进行升级,并使得所述目标车辆在升级失败的情况下,获取所述救援范围对应的服务地点提供的救援服务。
12.根据权利要求11所述的方法,其特征在于,所述云服务器接收所述目标车辆发送的所述目标车辆的待升级软件的信息包括:
所述云服务器接收所述目标车辆发送的所述目标车辆的待升级软件的信息和指示所述目标车辆位于所述救援范围的第一信息,所述第一信息用于指示所述云服务器根据所述第一信息选择差分版本类型的所述待升级安装包。
13.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述云服务器接收所述目标车辆发送的所述目标车辆的待升级软件的信息和指示所述目标车辆不位于所述救援范围的第二信息,所述待升级软件的信息由所述目标车辆在所述目标车辆不位于所述救援范围时发送,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第二信息用于指示所述云服务器根据所述第二信息选择全量版本类型的所述待升级安装包。
14.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述云服务器接收所述目标车辆发送的所述目标车辆的待升级软件的信息和指示所述目标车辆在预设时长内已进入所述救援范围的第三信息,所述待升级软件的信息由所述目标车辆在预设时长内进入所述救援范围时发送,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第三信息用于指示所述云服务器根据所述第三信息选择差分版本类型的所述待升级安装包。
15.根据权利要求14所述的方法,其特征在于,在所述云服务器接收所述目标车辆发送的所述目标车辆的待升级软件的信息和指示所述车辆在所述预设时长内已进入所述救援范围的第三信息之前,所述方法还包括:
所述云服务器向所述目标车辆发送通知消息或提醒消息,所述通知消息用于指示所述目标车辆在所述预设时长内周期性判断所述目标车辆是否进入所述救援范围,所述提醒消息用于指示所述目标车辆在所述预设时长内进入所述救援范围。
16.根据权利要求11-15中任一项所述的方法,其特征在于,所述云服务器向所述目标车辆发送所述服务地点的救援范围包括:
所述云服务器向所述目标车辆发送所述服务地点的位置和所述服务地点的最大救援距离,以使所述目标车辆根据所述服务地点的位置和所述服务地点的最大救援距离确定所述服务地点的救援范围;
或,
所述云服务器获取所述服务地点的位置和所述服务地点的最大救援距离;
所述云服务器根据所述服务地点的位置和所述服务地点的最大救援距离确定所述服务地点的救援范围,并将所述服务地点的救援范围向所述目标车辆发送。
17.一种控制系统,应用于车辆,其特征在于,包括:
第一获取模块,用于获取服务地点的救援范围,所述服务地点为具备向软件升级失败的车辆提供救援服务的一个或多个实体平台;
第二获取模块,用于获取目标车辆的当前所处位置;
发送模块,用于当所述目标车辆的当前所处位置位于所述救援范围,向云服务器发送所述目标车辆的待升级软件的信息,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包;
接收模块,用于接收所述云服务器查找到的所述待升级安装包;
安装模块,用于根据所述待升级安装包进行升级,并在升级失败的情况下,获取所述救援范围对应的服务地点提供的救援服务。
18.根据权利要求17所述的系统,其特征在于,所述发送模块具体用于:
向所述云服务器发送所述目标车辆的待升级软件的信息和指示所述目标车辆位于所述救援范围的第一信息,所述第一信息用于指示所述云服务器根据所述第一信息选择差分版本类型的所述待升级安装包。
19.根据权利要求17所述的系统,其特征在于,所述发送模块还用于:
当所述目标车辆的当前所处位置不位于所述救援范围,向所述云服务器发送所述目标车辆的待升级软件的信息和指示所述目标车辆不位于所述救援范围的第二信息,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第二信息用于指示所述云服务器根据所述第二信息选择全量版本类型的所述待升级安装包。
20.根据权利要求17所述的系统,其特征在于,所述发送模块还用于:
当所述目标车辆的当前所处位置不位于所述救援范围,在预设时长内周期性判断所述目标车辆是否驶入所述救援范围,或,获取提醒消息,所述提醒消息用于提醒所述目标车辆在所述预设时长内进入所述救援范围;
在所述预设时长内进入所述救援范围;
向所述云服务器发送所述目标车辆的待升级软件的信息和指示所述目标车辆在所述预设时长内已进入所述救援范围的第三信息,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第三信息用于指示所述云服务器根据所述第三信息选择差分版本类型的所述待升级安装包。
21.根据权利要求20所述的系统,其特征在于,所述第二获取模块还用于:
获取通知消息,所述通知消息用于指示所述目标车辆在所述预设时长内周期性判断所述目标车辆是否进入所述救援范围,所述通知消息由所述目标车辆生成或从所述云服务器接收。
22.根据权利要求20所述的系统,其特征在于,所述发送模块具体还用于:
生成所述提醒消息;
或,
接收所述云服务器发送的所述提醒消息。
23.根据权利要求17-22中任一项所述的系统,其特征在于,所述第一获取模块具体用于:
向所述云服务器发送请求消息,所述请求消息用于指示所述云服务器向所述目标车辆发送所述服务地点的救援范围;
接收所述云服务器发送的所述服务地点的救援范围。
24.根据权利要求17-22中任一项所述的系统,其特征在于,所述第一获取模块具体还用于:
从所述目标车辆的存储设备获取所述服务地点的救援范围;
或,
接收第三方应用发送的所述服务地点的救援范围。
25.根据权利要求17-22中任一项所述的系统,其特征在于,所述第一获取模块具体还用于:
获取所述服务地点的位置和所述服务地点的最大救援距离;
根据所述服务地点的位置和所述服务地点的最大救援距离确定所述服务地点的救援范围。
26.根据权利要求17-22中任一项所述的系统,其特征在于,所述安装模块具体用于:
当所述目标车辆满足升级条件,输出提醒安装信息,所述提醒安装信息用于指示向所述目标车辆输入指令;
根据所述指令对所述待升级安装包进行升级。
27.一种云服务器,其特征在于,包括:
获取模块,用于获取目标车辆发送的请求消息,所述请求消息用于指示所述云服务器向所述目标车辆发送服务地点的救援范围,所述服务地点为具备向软件升级失败的车辆提供救援服务的一个或多个实体平台;
第一发送模块,用于向所述目标车辆发送所述服务地点的救援范围,以使所述目标车辆判断所述目标车辆的当前所处位置是否位于所述救援范围;
接收模块,用于接收所述目标车辆发送的所述目标车辆的待升级软件的信息,所述待升级软件的信息由所述目标车辆在所述目标车辆的当前所处位置位于所述救援范围时发送,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包;
第二发送模块,用于查找到所述待升级安装包,并将所述待升级安装包向所述目标车辆发送,以使所述目标车辆根据所述待升级安装包进行升级,并使得所述目标车辆在升级失败的情况下,获取所述救援范围对应的服务地点提供的救援服务。
28.根据权利要求27所述的云服务器,其特征在于,所述接收模块具体用于:
接收所述目标车辆发送的所述目标车辆的待升级软件的信息和指示所述目标车辆位于所述救援范围的第一信息,所述第一信息用于指示所述云服务器根据所述第一信息选择差分版本类型的所述待升级安装包。
29.根据权利要求27所述的云服务器,其特征在于,所述接收模块还用于:
接收所述目标车辆发送的所述目标车辆的待升级软件的信息和指示所述目标车辆不位于所述救援范围的第二信息,所述待升级软件的信息由所述目标车辆在所述目标车辆不位于所述救援范围时发送,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第二信息用于指示所述云服务器根据所述第二信息选择全量版本类型的所述待升级安装包。
30.根据权利要求27所述的云服务器,其特征在于,所述接收模块还用于:
接收所述目标车辆发送的所述目标车辆的待升级软件的信息和指示所述目标车辆在预设时长内已进入所述救援范围的第三信息,所述待升级软件的信息由所述目标车辆在预设时长内进入所述救援范围时发送,所述待升级软件的信息用于指示所述云服务器根据所述待升级软件的信息查找所述待升级软件的待升级安装包,所述第三信息用于指示所述云服务器根据所述第三信息选择差分版本类型的所述待升级安装包。
31.根据权利要求30所述的云服务器,其特征在于,所述第一发送模块还用于:
向所述目标车辆发送通知消息或提醒消息,所述通知消息用于指示所述目标车辆在所述预设时长内周期性判断所述目标车辆是否进入所述救援范围,所述提醒消息用于指示所述目标车辆在所述预设时长内进入所述救援范围。
32.根据权利要求27-31中任一项所述的云服务器,其特征在于,所述第一发送模块具体还用于:
向所述目标车辆发送所述服务地点的位置和所述服务地点的最大救援距离,以使所述目标车辆根据所述服务地点的位置和所述服务地点的最大救援距离确定所述服务地点的救援范围;
或,
获取所述服务地点的位置和所述服务地点的最大救援距离;
根据所述服务地点的位置和所述服务地点的最大救援距离确定所述服务地点的救援范围,并将所述服务地点的救援范围向所述目标车辆发送。
33.一种控制系统,该控制系统应用于车辆,包括处理器和存储器,所述处理器与所述存储器耦合,其特征在于:
所述存储器,用于存储程序;
所述处理器,用于执行所述存储器中的程序,使得所述车辆执行如权利要求1-10中任一项所述的方法。
34.一种云服务器,包括处理器和存储器,所述处理器与所述存储器耦合,其特征在于:
所述存储器,用于存储程序;
所述处理器,用于执行所述存储器中的程序,使得所述车辆执行如权利要求11-16中任一项所述的方法。
35.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-16中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/080146 WO2021184284A1 (zh) | 2020-03-19 | 2020-03-19 | 一种车辆软件升级的方法及相关系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112514354A CN112514354A (zh) | 2021-03-16 |
CN112514354B true CN112514354B (zh) | 2021-10-26 |
Family
ID=74953163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080004261.4A Active CN112514354B (zh) | 2020-03-19 | 2020-03-19 | 一种车辆软件升级的方法及相关系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230021129A1 (zh) |
EP (1) | EP4116817A4 (zh) |
JP (1) | JP7459284B2 (zh) |
CN (1) | CN112514354B (zh) |
WO (1) | WO2021184284A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113243002A (zh) * | 2021-03-17 | 2021-08-10 | 华为技术有限公司 | 空中升级方法、装置、系统、存储介质及程序 |
CN113094073B (zh) * | 2021-04-29 | 2024-03-12 | 芜湖雄狮汽车科技有限公司 | 车辆远程升级方法、装置及服务器 |
CN114637987B (zh) * | 2022-05-18 | 2022-08-12 | 广州万协通信息技术有限公司 | 基于平台验证的安全芯片固件下载方法及系统 |
CN114827108B (zh) * | 2022-06-22 | 2022-11-04 | 小米汽车科技有限公司 | 车辆升级方法、装置、存储介质、芯片及车辆 |
CN116016175B (zh) * | 2022-12-30 | 2024-06-18 | 北京百度网讯科技有限公司 | 自动驾驶运营车辆的空中下载技术ota升级方法及其装置 |
WO2024152148A1 (zh) * | 2023-01-16 | 2024-07-25 | 华为技术有限公司 | 一种设备救援方法及相关设备 |
CN116707819B (zh) * | 2023-06-01 | 2024-03-15 | 红石阳光(北京)科技股份有限公司 | 一种车辆ota升级安全机制的构建方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109298881A (zh) * | 2018-08-30 | 2019-02-01 | 百度在线网络技术(北京)有限公司 | 自动打包数据方法、装置、设备及计算机可读存储介质 |
CN109429172A (zh) * | 2017-09-01 | 2019-03-05 | 通用汽车环球科技运作有限责任公司 | 基于位置的车辆无线通信 |
DE102018220976A1 (de) * | 2017-12-05 | 2019-06-06 | Jaguar Land Rover Limited | Konfigurieren eines fahrzeugsoftware-updates |
CN110162323A (zh) * | 2019-05-28 | 2019-08-23 | 广州小鹏汽车科技有限公司 | 车载系统升级方法、装置、存储介质及车辆 |
CN110187900A (zh) * | 2018-02-22 | 2019-08-30 | 福特全球技术公司 | 根据所获悉的车辆使用进行的智能空中下载更新 |
CN110457057A (zh) * | 2019-08-07 | 2019-11-15 | 广州小鹏汽车科技有限公司 | 车载系统升级提醒方法、装置和车辆 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9443358B2 (en) * | 1995-06-07 | 2016-09-13 | Automotive Vehicular Sciences LLC | Vehicle software upgrade techniques |
JP2010282385A (ja) * | 2009-06-04 | 2010-12-16 | Fujitsu Ten Ltd | 情報処理システム |
CN103841155B (zh) * | 2012-11-26 | 2015-12-23 | 腾讯科技(深圳)有限公司 | 一种软件下载方法和软件下载装置 |
CN103853574B (zh) * | 2012-12-06 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 一种软件升级的方法及系统 |
US9442716B2 (en) * | 2013-09-24 | 2016-09-13 | GM Global Technology Operations LLC | Methods and apparatus for adjusting a variable rate of requesting software data from a vehicle |
US9715378B2 (en) * | 2013-12-18 | 2017-07-25 | International Business Machines Corporation | Automated software update scheduling |
US9411572B2 (en) * | 2014-06-09 | 2016-08-09 | Paypal, Inc. | Systems and methods for location-based application installation |
JP2016218932A (ja) * | 2015-05-26 | 2016-12-22 | 京セラ株式会社 | ソフトウェア更新装置およびソフトウェア更新システム |
CN104980915B (zh) * | 2015-06-10 | 2019-03-08 | 新华三技术有限公司 | 车辆lte-fi设备内置cpe模块固件升级的方法及装置 |
CN105208112A (zh) * | 2015-08-28 | 2015-12-30 | 安徽江淮汽车股份有限公司 | 一种汽车控制器软件远程升级方法及车联网系统 |
US11782691B2 (en) * | 2016-02-19 | 2023-10-10 | Ford Global Technologies, Llc | Method and apparatus for over the air updates |
CN105897480A (zh) * | 2016-05-11 | 2016-08-24 | 北京奇虎科技有限公司 | 车载终端及其固件功能完善方法 |
US20180024826A1 (en) * | 2016-07-19 | 2018-01-25 | Ford Global Technologies, Llc | Vehicle region-specific software updates distribution |
US20180107473A1 (en) * | 2016-10-13 | 2018-04-19 | GM Global Technology Operations LLC | Determining whether to install a vehicle system update in a vehicle |
CN107493186A (zh) * | 2016-12-23 | 2017-12-19 | 宝沃汽车(中国)有限公司 | 车辆的远程升级系统及其控制方法 |
CN107402847B (zh) * | 2017-07-28 | 2020-05-19 | 安徽江淮汽车集团股份有限公司 | 一种整车控制器软件的远程升级方法及系统 |
US10552147B2 (en) * | 2017-10-02 | 2020-02-04 | Red Bend Ltd. | Over the air updates using drones |
US20190163461A1 (en) * | 2017-11-29 | 2019-05-30 | Nutanix, Inc. | Upgrade managers for differential upgrade of distributed computing systems |
US11074347B2 (en) * | 2019-03-11 | 2021-07-27 | Itron, Inc. | System subset version and authentication for remotely connected devices |
KR102680838B1 (ko) * | 2019-06-17 | 2024-07-04 | 현대자동차주식회사 | 차량의 소프트웨어 업데이트 방법 및 시스템 |
CN110430237A (zh) * | 2019-07-02 | 2019-11-08 | 北京梧桐车联科技有限责任公司 | 一种信息处理方法、装置、交通工具及存储介质 |
CN110471680A (zh) * | 2019-07-23 | 2019-11-19 | 武汉格罗夫氢能汽车有限公司 | 用于氢能汽车控制器软件升级及失败回滚的控制方法 |
CN110750279A (zh) * | 2019-09-26 | 2020-02-04 | 广州小鹏汽车科技有限公司 | 一种车载系统升级方法、系统、车辆及存储介质 |
US11494173B2 (en) * | 2019-12-23 | 2022-11-08 | Gm Cruise Holdings Llc | Vehicle software deployment system |
-
2020
- 2020-03-19 CN CN202080004261.4A patent/CN112514354B/zh active Active
- 2020-03-19 JP JP2022556594A patent/JP7459284B2/ja active Active
- 2020-03-19 WO PCT/CN2020/080146 patent/WO2021184284A1/zh unknown
- 2020-03-19 EP EP20925338.4A patent/EP4116817A4/en active Pending
-
2022
- 2022-09-19 US US17/947,394 patent/US20230021129A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109429172A (zh) * | 2017-09-01 | 2019-03-05 | 通用汽车环球科技运作有限责任公司 | 基于位置的车辆无线通信 |
DE102018220976A1 (de) * | 2017-12-05 | 2019-06-06 | Jaguar Land Rover Limited | Konfigurieren eines fahrzeugsoftware-updates |
CN110187900A (zh) * | 2018-02-22 | 2019-08-30 | 福特全球技术公司 | 根据所获悉的车辆使用进行的智能空中下载更新 |
CN109298881A (zh) * | 2018-08-30 | 2019-02-01 | 百度在线网络技术(北京)有限公司 | 自动打包数据方法、装置、设备及计算机可读存储介质 |
CN110162323A (zh) * | 2019-05-28 | 2019-08-23 | 广州小鹏汽车科技有限公司 | 车载系统升级方法、装置、存储介质及车辆 |
CN110457057A (zh) * | 2019-08-07 | 2019-11-15 | 广州小鹏汽车科技有限公司 | 车载系统升级提醒方法、装置和车辆 |
Also Published As
Publication number | Publication date |
---|---|
CN112514354A (zh) | 2021-03-16 |
US20230021129A1 (en) | 2023-01-19 |
JP7459284B2 (ja) | 2024-04-01 |
JP2023517387A (ja) | 2023-04-25 |
WO2021184284A1 (zh) | 2021-09-23 |
EP4116817A1 (en) | 2023-01-11 |
EP4116817A4 (en) | 2023-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112514354B (zh) | 一种车辆软件升级的方法及相关系统 | |
US20050038598A1 (en) | Vehicle tracking telematics system | |
JP3125746U (ja) | 車両間の情報伝送装置 | |
US7412313B2 (en) | Maintenance assistance for a vehicle | |
CN110162323A (zh) | 车载系统升级方法、装置、存储介质及车辆 | |
KR101704567B1 (ko) | 차량 연동 앱 관리 방법, 장치 및 시스템 | |
US8600579B2 (en) | Vehicular communication system | |
US20170242679A1 (en) | Method and apparatus for over the air updates | |
CN107733963B (zh) | 车辆紧急求援方法、求援终端及系统 | |
CN105791387A (zh) | 车辆控制更新方法和系统 | |
US20130012179A1 (en) | Enhanced smartphone in-vehicle accommodation | |
WO2004080034A2 (en) | Opt-in pinging and tracking for gps mobile telephones | |
CN107179922A (zh) | 车辆询问更新的空中触发 | |
US20180074813A1 (en) | Installing vehicle updates | |
US9148743B2 (en) | Wirelessly provisioning a vehicle telematics unit | |
US10553111B2 (en) | Traffic information update method and apparatus | |
US20150319511A1 (en) | Status-assisted communications with a vehicle | |
CN110766967B (zh) | 寻车方法、装置以及车辆设备 | |
US9691192B2 (en) | Method and apparatus for recall notification handling | |
CN113391084A (zh) | 车辆限速监控方法、装置、车载终端及计算机存储介质 | |
US8732405B2 (en) | Method of reducing response time for delivery of vehicle telematics services | |
CN111366167A (zh) | 导航方法、车载终端及计算机可读存储介质 | |
CN111629333A (zh) | 一种车载语音通信方法、装置、电子设备及存储介质 | |
US20140279019A1 (en) | Electronic glovebox for a vehicle | |
US20150072668A1 (en) | Managing wireless voice and data communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |