CN112256303A - 一种车载智能终端的固件更新方法及系统 - Google Patents
一种车载智能终端的固件更新方法及系统 Download PDFInfo
- Publication number
- CN112256303A CN112256303A CN202011142759.5A CN202011142759A CN112256303A CN 112256303 A CN112256303 A CN 112256303A CN 202011142759 A CN202011142759 A CN 202011142759A CN 112256303 A CN112256303 A CN 112256303A
- Authority
- CN
- China
- Prior art keywords
- firmware
- vehicle
- intelligent terminal
- router
- mounted intelligent
- 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.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种车载智能终端的固件更新方法及系统,应用于车载智能终端,所述方法包括:获取新固件文件的数据量是否大于车载智能终端中的剩余内存的结果;若是,获取目标路由器,将历史固件上传至目标路由器中,以使目标路由器将历史固件存储在缓存中;删除历史固件中除联网软件模块以外的软件代码,获取新固件文件,并根据所述新固件文件更新固件,其中,历史固件中包括单独封装的软件模块;对更新后的固件进行校验,判断固件是否校验成功;若否,向目标路由器发送更新失败的信息,并获取目标路由器中存储的历史固件,根据历史固件进行固件回滚。应用本发明实施例,可以用于将历史固件升级为数据量大于车载智能终端中的剩余内存的新固件。
Description
技术领域
本发明涉及车载智能终端控制技术领域,具体涉及一种车载智能终端的固件更新方法及系统。
背景技术
随着社会的进步,汽车越来越多的走入到人们的生活中。近年来随着5G技术以及软件技术的发展,汽车的智能化程度不断提高,汽车的各种功能也在不断的丰富。另外,汽车是一种使用周期比较长的商品,因此,在汽车使用周期内一般会面临多次的软件、固件的更新。常规的升级方法是将车辆召回,然后通过专用升级设备对汽车进行固件更新,或者通过拆机更换对应的配件实现升级,但是这种方式的升级效率较低,而且成本较高。
为了解决上述问题,现有技术中申请号为201910153307.8的发明专利公开了一种用于物联网设备的自动升级和回滚方法和装置。所述方法包括:在线获取升级包以将所述升级包下载至所述物联网设备的存储空间;在所述存储空间中将所述升级包恢复成升级所需的更新版本的同时保留回滚至原始版本所需的原始数据;以及在判断升级失败的情况下,至少基于保留的所述原始数据,在所述存储空间中将所述物联网设备的固件回滚至所述原始版本。该发明的OTA升级和回滚方案通过在准备更新版本的同时在设备上保留恢复原始版本所需的数据,能够有效地克服升级故障导致的新旧固件版本同时无法启动而使得设备失效的问题。但是,该方法中在将更新版本下载的同时还保留原始数据作为回滚的备份。因此,该方案中,需要为智能终端配备的FLASH的容量等于原始数据以及更新版本数据量之和。
为了降低对FLASH的要求,现有技术中申请号为202010015147.3的发明专利申请公开了提供一种存储系统镜像的方法,该方法包括将智能设备的系统镜像文件分割为多个块文件,将生成的所有块文件及清单文件打包到升级/恢复公共分区中,并将所述所有块文件部署到文件服务器上供所述智能设备下载。若升级所需空间大于可用空间,则按需临时删除部分块文件,安装成功后删除升级包,再从所述文件服务器重新下载临时删除的所述部分块文件。该方法通过系统镜像数据与系统升级数据共用升级/恢复公共分区,节省了备份所需的空间,增大了用户可使用的存储空间。同时,将系统镜像分块存储在服务器上,相当于增加了冗余备份,提升了还原系统固件功能的可靠性。该方案虽然将原始文件存在自身,更新文件较大时,删除原始文件中的块,但是更新失败时无法实现固件回滚。
因此,现有技术中无法在FLASH容量小于新固件与历史版本固件数据量在之和的前提下,在更新失败时实现固件回滚。
发明内容
本发明所要解决的技术问题在于如何在FLASH容量小于新固件与历史版本固件数据量在之和的前提下,在更新失败时实现固件回滚。
本发明通过以下技术手段实现解决上述技术问题的:
第一方面,本发明实施例提供了一种车载智能终端的固件更新方法,应用于车载智能终端,所述方法包括:
获取新固件文件的数据量是否大于车载智能终端中的剩余内存的结果;
若是,获取目标路由器,将历史固件上传至目标路由器中,以使目标路由器将历史固件存储在缓存中;
删除历史固件中除联网软件模块以外的软件代码,获取新固件文件,并根据所述新固件文件更新固件,其中,历史固件中包括单独封装的软件模块;
对更新后的固件进行校验,判断固件是否校验成功;
若否,向目标路由器发送更新失败的信息,并获取目标路由器中存储的历史固件,根据历史固件进行固件回滚。
可选的,在获取新固件文件的数据量是否大于车载智能终端中的剩余内存的结果之前,所述方法还包括:
向云服务器报送自身固件的当前版本信息,以使云服务器根据当前版本信息与新固件版本信息之间的差异确定是否升级当前版本,其中,所述新固件版本信息为针对该车载智能终端的版本信息。
可选的,所述获取目标路由器,将历史固件上传至目标路由器中,包括:
接收路由器信号,其中,所述路由器信号包括:被车载智能终端广播唤醒的路由器信号、被云服务器唤醒的路由器信号、正在进行数据收发的路由器信号;
从各个路由器信号中选择数据传输速度最高的路由器作为目标路由器,并记录目标路由器的标识信息;
判断是否获取当前车辆规划路径,若是,根据当前车辆的运行速度以及当前车辆规划路径在目标路由器辐射范围内的长度,确定数据交互时长;
根据历史固件对应的第一数据分片的数量、第一数据交互时长以及第一交互带宽确定出车载智能终端上传的第一数据分片的数量,其中,第一数据分片为车载智能终端预先对历史固件进行切分得到的;
车载智能终端脱离目标路由器的信号辐射范围之后,在已上传的第一数据分片的数量小于历史固件的总数据分片数量的情况下;返回执行所述接收路由器信号的步骤,直至历史固件上传完成。
可选的,在所述判断是否获取当前车辆规划路径步骤的判断结果为否的情况下,所述方法还包括:
按照顺序将未上传的第一数据分片发送至目标路由器,并记录目标路由器的标识信息;
车载智能终端脱离目标路由器的信号辐射范围之后,在已上传的第一数据分片的数量小于历史固件的总数据分片数量的情况下;返回执行所述接收路由器信号的步骤,直至历史固件上传完成。
可选的,所述获取目标路由器中存储的历史固件,包括:
获取当前时刻对应的目标路由器,将与车载智能终端连接过的目标路由器的标识信息发送至当前时刻对应的目标路由器;以使目标路由器获取第一数据分片并将第一数据分片发送至车载智能终端;
在车载智能终端脱离所述目标路由器的信号辐射范围之后,在接收的第一数据分片的数量小于新固件的总数据分片数量的情况下;返回执行所述获取当前时刻对应的目标路由器的步骤,并将已接收的第一数据分片的序号发送至目标路由器,直至新固件下载传完成。
可选的,所述获取新固件文件,包括:
接收路由器信号,其中,所述路由器信号包括:被车载智能终端广播唤醒的路由器信号、被云服务器唤醒的路由器信号、正在进行数据收发的路由器信号;
从各个路由器信号中选择数据传输速度最高的路由器作为目标路由器;
根据当前车辆的运行速度以及当前车辆规划路径在目标路由器辐射范围内的长度,确定数据交互时长;
根据新固件对应的第二数据分片的数量、第二数据交互时长以及第二交互带宽确定出车载智能终端上传的第二数据分片的数量,其中,第二数据分片为云服务器预先对新固件进行切分得到的;
车载智能终端脱离目标路由器的信号辐射范围之后,在接收的第二数据分片的数量小于新固件的总数据分片数量的情况下;返回执行所述接收路由器信号的步骤,直至新固件下载完成。
可选的,在固件更新成功的情况下,所述方法还包括:
向目标路由器发送更新成功的信息,以使目标路由器在保存历史固件超过设定时长之后删除历史固件,
和\或,
将联网软件模块备份到本地后,获取联网软件模块的升级模块,并进行校验,在校验通过后删除备份的联网软件模块。
第二方面,基于本发明第一方面,本发明还提供了一种车载智能终端的固件更新方法,应用于当前车辆智能管理系统中的目标路由器,所述方法包括:
接收历史固件,并将历史固件存储在自身的缓存中;
接收车载智能终端发送的历史固件更新失败的信息,根据所述信息将历史固件发送至车载智能终端。
可选的,在当前车辆固件更新完成后,接收其他车辆上传的历史固件;
解析所述历史固件,得到历史固件的版本号,将所述版本号与自身中存储的历史固件的版本号是否相同;
若是,向其他车辆发送无需上传历史固件的信息;
若否,继续接收历史固件。
第三方面,本发明还提供了一种车载智能终端的固件更新系统,所述系统包括:
使用第一方面任一项方法的车载智能终端;
使用第二方面所述的目标路由器。
本发明的优点在于:
应用本发明实施例,在车载智能终端进行固件更新时,将除联网软件模块以外的软件代码删除,空出了历史固件所占存储空间,这样无需要求新固件的体积小于FLASH的剩余内存,即可以用于将历史固件升级为数据量大于车载智能终端中的剩余内存,且小于FLASH总内存的新固件;同时,将历史固件上传至与自身连接的目标路由器的缓存中,当车载智能终端的固件更新失败时,可以根据目标路由器缓存中的历史固件进行固件回滚。
另外,相对于现有技术中从云服务器下载历史固件,网络路径更短,回滚速度更快。
附图说明
图1为本发明实施例提供的一种车载智能终端的固件更新方法的流程示意图;
图2为本发明实施例提供的一种车载智能终端的固件更新系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都处于本发明保护的范围。
实施例1
图1为本发明实施例提供的一种车载智能终端的固件更新方法的流程示意图,如图1所示,应用于车辆智能管理系统中的车载智能终端,且车辆智能管理系统包括通信连接的云服务器、车载智能终端及路由器。车载智能终端包括但不仅限于安装在车辆上的用于监控车辆行驶速度、车辆定位、车辆剩余电量、车辆行驶倾斜角度、车身震动的电子设备;且车载智能终端可以通过车辆自带的或者车载智能终端中安装的2G、3G、4G、5G、WiFi、蓝牙、WLAN、卫星通信等有线或者无线方式实现与云服务器之间的通信。
所述方法包括:
安装在车辆上的车载智能终端A通过自身中设置的4G通信模块,向云服务器报送自身固件的当前版本信息V1.0。云服务器在接收到当前版本信息V1.0之后,获取出车载智能终端A的型号,根据该型号获取对应的新固件版本信息V1.x。根据当前版本信息V1.0与新固件版本信息V1.x之间的差异确定是否升级当前版本,其中,所述新固件版本信息V1.x为针对该车载智能终端的版本信息。
进一步的,上述过程可以在车辆当前状态处于休眠状态、停车状态或者充电状态时执行。例如,可以根据车辆发动机电脑中检测的发动机是否转动,或者车辆是否点火、车辆钥匙是否被拔出、车辆是否停车断电等;或者根据车轮传感器检测的车轮是否转动,或者根据其他的传感器的检测结果判断车辆是处于停车状态、或者处于休眠状态还是处于充电状态,其中,对于燃油车而言,休眠状态为车轮不再转动,车辆发动机不再供油;停车状态为车轮不再转动或者车钥匙一直位于钥匙孔内,但是发动机在持续转动。对于电动车而言,休眠状态可以为车辆不能为电动机供电;停车状态可以为,车轮不再转动,但是车辆处于随时可以向电动机供电的状态;充电状态可以为,车轮不再转动,同时车辆在执行充电过程。
更进一步的,车载智能终端A可以预先评估固件更新所需的时间,当固件更新所需的时间介于设定的时间范围时再进行自身版本号的报送,以避免固件更新耗时较长影响车载智能终端对定位数据、车辆状态数据的上传。
S101:获取新固件文件的数据量是否大于车载智能终端中的剩余内存的结果,若是执行S102;若否,直接下载新固件文件。
云服务器根据当前版本信息V1.0与新固件版本信息V1.x之间的差异确定是否升级当前版本时,如果车载智能终端A的当前版本信息V1.0低于新固件版本信息V1.x时,则需要更新当前版本;如果车载智能终端A的当前版本信息V1.0等于新固件版本信息V1.x,或者车载智能终端A的当前版本信息V1.0高于新固件版本信息V1.x时无需更新当前版本。
在需要进行当前版本更新的情况下,云服务器向车载智能终端A返回目标版本的数据量M1,车载智能终端A接收到云服务器返回的M1之后,获取车载智能终端FLASH的剩余容量M2;判断M1是否大于或者等于M2;若是,判定新固件的数据量大于车载智能终端FLASH的剩余容量,然后执行S102步骤。可以理解的是,在判断结果为否的情况下,车载智能终端A向云服务器发出下载请求。
进一步的,车载智能终端A可以主动将当前版本信息V1.0与车载智能终端FLASH的剩余容量M2、车载智能终端FLASH的总容量报送至云服务器。云服务器根据车载智能终端A的型号确定其对应的新固件版本信息V1.x;根据当前版本信息V1.0查询是否需要升级;在需要升级的情况、新固件的数据量小于车载智能终端FLASH的总容量,且新固件的数据量大于车载智能终端FLASH的剩余容量M2的情况下,将新固件文件的数据量大于车载智能终端中的剩余内存的结果,以及新固件返回至车载智能终端A中。车载执行终端A在新固件的数据量大于车载智能终端FLASH的剩余容量的情况下,然后执行S102步骤。
在新固件的数据量小于车载智能终端FLASH的剩余容量M2的情况下,将新固件文件的数据量小于车载智能终端中的剩余内存的结果,以及新固件返回至车载智能终端A中。车载执行终端A直接进行固件升级,无需执行S102步骤。
S102:获取目标路由器,将历史固件上传至目标路由器中,以使目标路由器将历史固件存储在缓存中。
图2为本发明实施例提供的一种车载智能终端的固件更新系统的结构示意图,如图2所示,首先,车载智能终端A利用自身中设置的信号收发天线接收路由器信号。车载智能终端A接收的路由器信号的来源可以包括:车载智能终端A主动发出广播,休眠中的路由器(路由器11、路由器12、路由器13)接收到广播后唤醒,然后向外发射路由器信号以使车载智能终端接收;或者云服务根据车载智能终端A的当前坐标,向以当前坐标为中心的设定范围内的路由器发出的唤醒信号,以使路由器被唤醒后向外发射路由信号,进而由车载智能终端接收;或者车载智能终端A能够接收的正在向外发射路由信号的路由器。
车载智能终端A接收到了3个路由器信号:路由器11、路由器路2、由器3。
然后,车载智能终端A对所接收的路由器的信号进行评估,选择数据传输速度最高的路由器作为目标路由器,例如,路由器11的数据传输速度最高,将路由器11作为第一个目标路由器。
在本发步骤的第一种实施例方式中,车载智能终端获取当前车辆规划路径,具体获取方式如下:由于我公司业务主要是面向公务用车管理,因此,公务用车在派车之前是需要生成用车单,并经过审批的。用车单上包括了此次派车的目的地;有的用车单上记录了多个目的地,并设计了目的地的先后到达顺序。因此,云服务器可以根据用车单生成对应的规划路径,并将对应的规划路径发送至车载智能终端A,车辆按照规划路径行驶。或者车载智能终端A还可以与用户的手机、或者与车载导航设备进行数据交互,获取用户在电子地图中的规划路径。
然后,向云服务器发出获取目标路由器辐射范围的请求,云服务器根据大数据统计结果确定目标路由器的辐射范围。车载智能终端A获取规划路径在目标路由器辐射范围内的路径片段的长度。再根据路径片段的长度与车辆当前行驶速度的商计算车载智能终端A与目标路由器之间的数据交互时长。
车载智能终端A预先将历史固件分成了20个第一数据分片,每一个第一数据分片均具有唯一的编号:第一数据分片1、第一数据分片2、···、第一数据分片20。车载智能终端A在与路由器11之间得数据交互时长内,按照顺序将第一数据分片依次上传。进一步的,为了避免某一个第一数据分片传输了一半信号中断情况的发生,车载智能终端A每上传一个第一数据分片,计算一次第一数据分片的平均传输时长;在数据交互时长的剩余时间小于第一数据分片的平均传输时长时,将最后上传的第一数据分片的序号5、以及路由器11作为目标路由器的标识信息进行记录,以生成目标路由器列表,将目标路由器列表存储在自身中。目标路由器持续接收车载智能终端A上传的第一数据分片,将第一数据分片存储在路由器11的缓存中。
此时,车辆继续前进,车辆脱离了第一个目标路由器的辐射范围,判断历史固件的第一数据分片是否上传完成,若否,例如,车载智能终端已经上传到了第一数据分片10,车辆根据前述方法获取第二个目标路由器,然后继续上传剩余的10个第一数据分片,直至历史固件的20个第一数据分片全部上传完成。
在本步骤的第二种具体实施方式中,在不能获取车辆的规划路径的情况下,由于车辆的行驶路径具有一定的随机性,尤其是在路网密度较高的地区,车辆行驶路径的随机性更大。因此,为了避免车载智能终端在上传数据量较大的历史固件,如30MB以上的历史固件的过程中频繁切换目标路由器,可以将目标路由器部署在红绿灯的灯座上,这样在车辆等红绿灯时实现车辆固件的升级。还可以将目标路由器部署在支撑闯红灯探头的横杆上。
在本步骤的第三种具体实施方式中,在无法获取车辆的规划路径的情况下,车辆将按照顺序将第一数据分片依次上传至第一个目标路由器。利用上述方法获取第二个目标路由器。由于第一个目标路由器与车载智能终端A之间的连接随时可能中断,因此,将上传至第一个目标路由器的最后若干个第一数据分片再次上传至第二个目标路由器,然后依次向第二个目标路由器上传第一数据分片,直至历史固件上传完成,其上传顺序为:
第一个目标路由器为路由器13:车载智能终端上传的第一数据分片为:第一数据分片1-第一数据分片5。
第二个目标路由器为路由器8:车载智能终端上传的第一数据分片为:第一数据分片4-第一数据分片8。重复上传了最后两个第一数据分片。
第三个目标路由器为路由器112:车载智能终端上传的第一数据分片为:第一数据分片8-第一数据分片15。重复上传了最后一个第一数据分片。
第四个目标路由器为路由器116:车载智能终端上传的第一数据分片为:第一数据分片12-第一数据分片20。重复上传了最后三个第一数据分片。
需要强调的是,家用路由器的缓存容量普遍大于128MB,而车载智能终端的固件数据量一般介于1-10MB,极少数大于10MB。因此,目标路由器中可以存得下历史固件;尤其是白天上班时间,家用路由器大部分都是出于空闲状态;而且现有家用路由器的辐射距离通常可以达到50-100m。同时,据公安部交通管理局2018年7月份公布的数据,我国城市平均车速为28-40km每小时,也就是说车辆在城市中的平均行驶速度一般不高于40km,有的路段平均速度也就是20km,也就是说,车辆一般会在家用路由器的辐射范围内行驶大约5-18秒,而路由器的数据交互带宽一般是1MB-100MB,也就是说,对于10MB大小的历史固件,抛除信号识别、设备握手耗时,其上传历史固件仅需更换2-5个目标路由器即可。而且城市中红绿灯较多,车辆很难持续以40km的速度行驶1分钟以上,如果车辆平均速度仅为20km的话,其更换的目标路由器数量更少。
而且,每更换一次目标路由器,车载智能终端A再次重复上传的第一数据分片的数量可以根据目标路由器的反馈、目标路由器与车载智能终端A之间的网络状态动态调节。进一步的,可以由车载智能终端的设备厂商预先进行规定。
S103:删除历史固件中除联网软件模块以外的软件代码,获取新固件文件,并根据所述新固件文件更新固件,其中,历史固件中包括单独封装的软件模块。
车载智能终端A的历史固件中的联网软件模块为独立开发,独立封装的软件模块。在车载智能终端A接收新固件文件时或者接收新固件文件之前删除自身中除联网软件模块之外的其他代码。相对于现有技术中将历史固件全部模块化开发,本发明实施例中仅将联网软件模块进行模块化开发,降低了开发难度,更易实现。需要强调的是,本步骤中删除代码,仅仅删除FLASH功能区中的历史固件代码,并不会删除引导区中的代码。
车载智能终端A在将代码删除后,FLASH中空白存储空间就会增加,车载智能终端A利用4G下载新固件文件,并将接收的新固件文件存储在FLASH中空白存储空间中。
S104:对更新后的固件进行校验,判断固件是否校验成功,若否,执行S105。
S105:向目标路由器发送更新失败的信息,并获取目标路由器中存储的历史固件,根据历史固件进行固件回滚。
示例性的,车载智能终端向目标路由器发送固件更新失败的信息,此时应当进行固件回滚操作,但是,车载智能终端A中的历史固件已经被删除,因此,车载智能终端A从目标路由器中下载历史固件。
当S101-S104步骤均为基于红绿灯处的目标路由器实现时,可以直接从该目标路由器中下载历史固件。
在本步骤的另一种具体实施方式中,如果车辆时持续前进的,其交互过得目标路由器可能不止一个,因此,车辆向当前时刻的目标路由器发送本次升级过程中交互过的目标路由器的标识信息:路由器13、路由器8、路由器11以及路由器11。
当前时刻的目标路由器向路由器13、路由器8、路由器12以及路由器16发出数据请求,路由器13、路由器8、路由器12以及路由器16将自身中存储的第一数据分片通过光纤网络发送至当前时刻的目标路由器。当前时刻的目标路由器将各个第一数据分片依次发送至车载智能终端A中。
可以理解的是,在车载智能终端A进行历史固件回滚之前的第一数据分片的下载过程中,以当前时刻下载的第一数据分片P为例,将第一数据分片P与已下载的数据分片进行比对,若存在相同的分片,则删除第一数据分片P,然后继续下载其他第一数据分片;若不存在相同的分片,将第一数据分片P存储到车载智能终端A中,然后继续下载其他第一数据分片,并执行上述操作,直至将历史固件的所有第一数据分片都下载完成。
实施例2
本发明实施例2在实施例1的基础上增加了以下步骤:
在固件更新成功的情况下,向目标路由器发送更新成功的信息,以使目标路由器在保存历史固件超过设定时长之后删除历史固件。
示例性的,车载智能终端A升级历史固件分为两种情况:
第一种情况,目标路由器并未发生变化,车载智能终端A的历史固件上传以及新固件文件的下载均是基于该目标路由器实现的。因此,车载智能终端A直接向目标路由器发送固件更新成功的消息,目标路由器在接收到该消息之后,等待到设定时刻,将历史固件文件删除。
第二种情况,由于车载智能终端A在历史固件升级的过程中变换了不同的目标路由器,因此,车载智能终端A可以将更新成功的信息及本次更新过程中交互过的目标路由器列表发送给当前时刻的目标路由器,以由当前时刻的目标路由器将该信息发送至车载智能终端A本次更新交互过的目标路由器,以使车载智能终端A本次更新交互过的目标路由器删除第一数据分片。
例如,车载智能终端A更换了目标路由器11、目标路由器12、目标路由器13。车载智能终端A在将历史固件升级完成之后,向当前时刻的目标路由器x发送固件更新成功的信息,该信息中包括车载智能终端A所本次更新交互过的目标路由器11、目标路由器12、目标路由器13的标识信息;目标路由器x在收到上述标识信息之后,向目标路由器11、目标路由器12、目标路由器13发送更新成功的信息,目标路由器11、目标路由器12、目标路由器13在接收到该信息之后,等待到设定时刻,删除历史固件对应的第一数据分片。
进一步的,为了充分利用车载智能终端A上传的历史固件;存储了第一数据分片的目标路由器列表中的各个路由器向外广播自身中存储的第一数据分片的编号,以及对应的历史固件的版本号;当其他车辆上安装的车载智能终端B在目标路由器的辐射范围内进行历史固件更新时,会接收到目标路由器广播的信号,车载智能终端B优先将该路由器作为目标路由器。然后根据第一数据分片的编号进行接力上传,直至将车载智能终端B对应的第一数据分片全部上传完成。
需要强调的是,仅在车载智能终端A以及车载智能终端B未接收到上述广播信息的情况下,才会将数据传输速度最高的路由器作为目标路由器;且所有的车载智能终端的数据分片的切割以及编号的标准都是相同的。
进一步的,车载智能终端可以将本次升级过程中交互的目标路由器的标识信息、地址信息等进行汇总生成目标路由器列表,并同步到各个目标路由器中,以提高第一数据分片存储可靠性,同时还方便车载智能终端B当前时刻连接的目标路由器获取其他目标路由器中存储的第一数据分片。
进一步的,车载智能终端A在将历史固件的第一数据分片上传完成后,也会上传与车载智能终端A本次升级过程中交互过的目标路由器的标识信息,以使各个目标路由器根据该标识信息相互通信以同步目标路由器的标识信息。应用本发明上述实施例,车载智能终端B在接收到目标路由器广播的历史固件的版本号之后,将该版本号与自身中存储的版本号进行比对,在二者相同的情况下,车载智能终端B直接下载新固件文件即可,如果更新失败,可以向目标路由器发出历史固件下载请求,以通过目标路由器向其他路由器请求得到历史固件的第一数据分片,以用于固件回滚。
应用本发明实施例,目标路由器在车载智能终端固件更新成功后继续存储设定时长的历史固件,可以用于其他同型号的车载智能终端的固件升级,减少了其他车载智能终端上传历史固件的耗时,提高了固件更新速度。同时,避免了第一数据分片对目标路由器缓存的占用,降低了路由器的负担,减少了对目标路由器用户的影响。
更进一步的,车载智能终端A在将联网软件模块备份到本地后,获取联网软件模块的升级模块,并进行校验,在校验通过后删除备份的联网软件模块。
应用本发明实施例,还可以对车载智能终端A的联网模块进行更新。
实施例3
需要说明的是,车载智能终端A利用路由器下载新固件文件的过程与S102步骤中上传第一数据分片的过程类似:
车载智能终端A接收到了3个路由器信号:路由器4、路由器路5、由器6。然后,车载智能终端A对所接收的路由器的信号进行评估,选择数据传输速度最高的路由器作为目标路由器,例如,路由器6的数据传输速度最高,将路由器11作为目标路由器。
然后,车载智能终端获取当前车辆规划路径,具体获取方式如下:我公司业务主要是面向公务用车管理,因此,公务用车在派车之前是需要生成用车单,并经过审批的。用车单上包括了此次派车的目的地;有的用车单上记录了多个目的地,并设计了目的地的先后到达顺序。因此,云服务器可以根据用车单生成对应的规划路径,并将对应的规划路径发送至车载智能终端A。或者车载智能终端A可以与用户的手机、或者与车载导航设备进行数据交互,获取规划路径。
然后,向云服务器发出获取目标路由器辐射范围的请求,云服务器根据大数据统计结果确定目标路由器的辐射范围。车载智能终端A获取规划路径在目标路由器辐射范围内的路径片段的长度。再根据路径片段的长度与车辆当前行驶速度的商计算车载智能终端A与目标路由器之间的数据交互时长。
车载智能终端A预先将历史固件分成了20个第二数据分片,每一个第二数据分片均具有唯一的编号:第二数据分片1、第二数据分片2、···、第二数据分片20。车载智能终端A在数据交互时长内,按照顺序将第二数据分片依次下载。进一步的,为了避免某一个第二数据分片传输了一半信号中断情况的发生,车载智能终端A每下载一个第二数据分片,记录一次第二数据分片的平均传输时长,在数据交互时长的剩余时间小于第二数据分片的平均传输时长时,将最后下载的第二数据分片的序号、以及路由器13作为目标路由器的标识信息进行记录。目标路由器持续接收第二数据分片,将第二数据分片存储在路由器13的缓存中。
此时,车辆继续前进,车辆判断历史固件的第二数据分片是否下载完按成,若否,例如,车载智能终端已经下载到了第二数据分片10,车辆根据前述方法获取新一个目标路由器,然后继续下载剩余的10个第二数据分片,直至历史固件的20个第二数据分片全部下载完成。
在本发明实施例的另一种具体实施方式中,在无法获取车辆的规划路径的情况下,车辆将按照顺序将第二数据分片依次下载至第二个目标路由器。利用上述方法获取第二个目标路由器。由于第二个目标路由器与车载智能终端A之间的连接随时可能中断,因此,将下载至第二个目标路由器的最后若干个第二数据分片再次下载至第二个目标路由器,然后依次向第二个目标路由器下载第二数据分片,直至历史固件下载完成,其下载顺序为:
第二个目标路由器为路由器13:车载智能终端下载的第二数据分片为:第二数据分片1-第二数据分片5。
第二个目标路由器为路由器8:车载智能终端下载的第二数据分片为:第二数据分片4-第二数据分片8。
第三个目标路由器为路由器12:车载智能终端下载的第二数据分片为:第二数据分片8-第二数据分片15。
第四个目标路由器为路由器16:车载智能终端下载的第二数据分片为:第二数据分片12-第二数据分片20。
而且,每更换一次目标路由器,车载智能终端A再次重复下载的第二数据分片的数量可以根据目标路由器的反馈、目标路由器与车载智能终端A之间的网络状态动态调节。进一步的,可以由车载智能终端的设备厂商预先进行规定。
应用本发明上述实施例,可以在车载智能终端B的固件版本低于设定版本,且无需更新到最新的固件版本的情况下,从车载智能终端A上传到目标路由器中下载车载智能终端A的历史固件作为车载智能终端B的新固件文件进行升级。
实施例4
本发明实施例4是基于实施例1-3任一项实施的,其优选适用于目标路由器,所述方法包括:
接收历史固件,并将历史固件存储在自身的缓存中;
接收车载智能终端发送的历史固件更新失败的信息,根据所述信息将历史固件发送至车载智能终端。
在本发明实施例的一种具体实施方式中,在当前车辆固件更新完成后,接收其他车辆上传的历史固件;
解析所述历史固件,得到历史固件的版本号,将所述版本号与自身中存储的历史固件的版本号是否相同;
若是,向其他车辆发送无需上传历史固件的信息;
若否,继续接收历史固件。
需要强调的是,目标路由器的具体功能以及知性逻辑均在实施例1中进行了阐述,本发明实施例4在此不再进行赘述。
实施例5
图2为本发明实施例提供的一种车载智能终端的固件更新系统的结构示意图,如图2所示,本发明还提供了一种车载智能终端的固件更新系统,所述系统包括:
使用实施例1-3任一项方法的车载智能终端20;
使用实施例4方法的云服务器。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种车载智能终端的固件更新方法,其特征在于,应用于车载智能终端,所述方法包括:
获取新固件文件的数据量是否大于车载智能终端中的剩余内存的结果;
若是,获取目标路由器,将历史固件上传至目标路由器中,以使目标路由器将历史固件存储在缓存中;
删除历史固件中除联网软件模块以外的软件代码,获取新固件文件,并根据所述新固件文件更新固件,其中,历史固件中包括单独封装的软件模块;
对更新后的固件进行校验,判断固件是否校验成功;
若否,向目标路由器发送更新失败的信息,并获取目标路由器中存储的历史固件,根据历史固件进行固件回滚。
2.根据权利要求1所述的一种车载智能终端的固件更新方法,其特征在于,在获取新固件文件的数据量是否大于车载智能终端中的剩余内存的结果之前,所述方法还包括:
向云服务器报送自身固件的当前版本信息,以使云服务器根据当前版本信息与新固件版本信息之间的差异确定是否升级当前版本,其中,所述新固件版本信息为针对该车载智能终端的版本信息。
3.根据权利要求1所述的一种车载智能终端的固件更新方法,其特征在于,所述获取目标路由器,将历史固件上传至目标路由器中,包括:
接收路由器信号,其中,所述路由器信号包括:被车载智能终端广播唤醒的路由器信号、被云服务器唤醒的路由器信号、正在进行数据收发的路由器信号;
从各个路由器信号中选择数据传输速度最高的路由器作为目标路由器,并记录目标路由器的标识信息;
判断是否获取当前车辆规划路径,若是,根据当前车辆的运行速度以及当前车辆规划路径在目标路由器辐射范围内的长度,确定数据交互时长;
根据历史固件对应的第一数据分片的数量、第一数据交互时长以及第一交互带宽确定出车载智能终端上传的第一数据分片的数量,其中,第一数据分片为车载智能终端预先对历史固件进行切分得到的;
车载智能终端脱离目标路由器的信号辐射范围之后,在已上传的第一数据分片的数量小于历史固件的总数据分片数量的情况下;返回执行所述接收路由器信号的步骤,直至历史固件上传完成。
4.根据权利要求3所述的一种车载智能终端的固件更新方法,其特征在于,在所述判断是否获取当前车辆规划路径步骤的判断结果为否的情况下,所述方法还包括:
按照顺序将未上传的第一数据分片发送至目标路由器,并记录目标路由器的标识信息;
车载智能终端脱离目标路由器的信号辐射范围之后,在已上传的第一数据分片的数量小于历史固件的总数据分片数量的情况下;返回执行所述接收路由器信号的步骤,直至历史固件上传完成。
5.根据权利要求3或4所述的一种车载智能终端的固件更新方法,其特征在于,所述获取目标路由器中存储的历史固件,包括:
获取当前时刻对应的目标路由器,将与车载智能终端连接过的目标路由器的标识信息发送至当前时刻对应的目标路由器;以使目标路由器获取第一数据分片并将第一数据分片发送至车载智能终端;
在车载智能终端脱离所述目标路由器的信号辐射范围之后,在接收的第一数据分片的数量小于新固件的总数据分片数量的情况下;返回执行所述获取当前时刻对应的目标路由器的步骤,并将已接收的第一数据分片的序号发送至目标路由器,直至新固件下载传完成。
6.根据权利要求1所述的一种车载智能终端的固件更新方法,其特征在于,所述获取新固件文件,包括:
接收路由器信号,其中,所述路由器信号包括:被车载智能终端广播唤醒的路由器信号、被云服务器唤醒的路由器信号、正在进行数据收发的路由器信号;
从各个路由器信号中选择数据传输速度最高的路由器作为目标路由器;
根据当前车辆的运行速度以及当前车辆规划路径在目标路由器辐射范围内的长度,确定数据交互时长;
根据新固件对应的第二数据分片的数量、第二数据交互时长以及第二交互带宽确定出车载智能终端上传的第二数据分片的数量,其中,第二数据分片为云服务器预先对新固件进行切分得到的;
车载智能终端脱离目标路由器的信号辐射范围之后,在接收的第二数据分片的数量小于新固件的总数据分片数量的情况下;返回执行所述接收路由器信号的步骤,直至新固件下载完成。
7.根据权利要求1所述的一种车载智能终端的固件更新方法,其特征在于,在固件更新成功的情况下,所述方法还包括:
向目标路由器发送更新成功的信息,以使目标路由器在保存历史固件超过设定时长之后删除历史固件,
和\或,
将联网软件模块备份到本地后,获取联网软件模块的升级模块,并进行校验,在校验通过后删除备份的联网软件模块。
8.基于权利要求1-7任一项方法的一种车载智能终端的固件更新方法,其特征在于,应用于当前车辆智能管理系统中的目标路由器,所述方法包括:
接收历史固件,并将历史固件存储在自身的缓存中;
接收车载智能终端发送的历史固件更新失败的信息,根据所述信息将历史固件发送至车载智能终端。
9.基于权利要求8所述一种车载智能终端的固件更新方法,其特征在于,在当前车辆固件更新完成后,接收其他车辆上传的历史固件;
解析所述历史固件,得到历史固件的版本号,将所述版本号与自身中存储的历史固件的版本号是否相同;
若是,向其他车辆发送无需上传历史固件的信息;
若否,继续接收历史固件。
10.一种车载智能终端的固件更新系统,其特征在于,所述系统包括:
使用权利要求1-7任一项方法的车载智能终端;
使用权利要求8或所述的云服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011142759.5A CN112256303B (zh) | 2020-10-23 | 2020-10-23 | 一种车载智能终端的固件更新方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011142759.5A CN112256303B (zh) | 2020-10-23 | 2020-10-23 | 一种车载智能终端的固件更新方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256303A true CN112256303A (zh) | 2021-01-22 |
CN112256303B CN112256303B (zh) | 2023-05-16 |
Family
ID=74264381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011142759.5A Active CN112256303B (zh) | 2020-10-23 | 2020-10-23 | 一种车载智能终端的固件更新方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256303B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434170A (zh) * | 2021-06-22 | 2021-09-24 | 重庆长安汽车股份有限公司 | 一种整车ota数据下载部署方法及装置 |
CN116909609A (zh) * | 2023-09-12 | 2023-10-20 | 英纳法智联科技(北京)有限公司 | 车载智能设备的软件升级方法、装置及车载智能设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015158261A1 (zh) * | 2014-04-18 | 2015-10-22 | 东莞市健创电子有限公司 | 一种车载智能系统 |
CN105262627A (zh) * | 2015-10-30 | 2016-01-20 | Tcl集团股份有限公司 | 一种固件升级方法、装置及系统 |
CN109413009A (zh) * | 2017-08-18 | 2019-03-01 | 厦门雅迅网络股份有限公司 | 车辆固件空中升级的方法及计算机可读存储介质 |
CN109582340A (zh) * | 2018-12-07 | 2019-04-05 | 安徽江淮汽车集团股份有限公司 | 一种电动汽车远程升级的方法及系统 |
CN110347412A (zh) * | 2019-06-27 | 2019-10-18 | 中国第一汽车股份有限公司 | 电子控制单元固件升级管理方法、装置、设备和存储介质 |
CN110851157A (zh) * | 2019-10-28 | 2020-02-28 | 上海旗旌科技有限公司 | 一种更新车载终端设备系统的方法及设备 |
CN111385191A (zh) * | 2018-12-28 | 2020-07-07 | 联合汽车电子有限公司 | 车载互联网关、车辆ota升级系统和方法、计算机存储介质 |
-
2020
- 2020-10-23 CN CN202011142759.5A patent/CN112256303B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015158261A1 (zh) * | 2014-04-18 | 2015-10-22 | 东莞市健创电子有限公司 | 一种车载智能系统 |
CN105262627A (zh) * | 2015-10-30 | 2016-01-20 | Tcl集团股份有限公司 | 一种固件升级方法、装置及系统 |
CN109413009A (zh) * | 2017-08-18 | 2019-03-01 | 厦门雅迅网络股份有限公司 | 车辆固件空中升级的方法及计算机可读存储介质 |
CN109582340A (zh) * | 2018-12-07 | 2019-04-05 | 安徽江淮汽车集团股份有限公司 | 一种电动汽车远程升级的方法及系统 |
CN111385191A (zh) * | 2018-12-28 | 2020-07-07 | 联合汽车电子有限公司 | 车载互联网关、车辆ota升级系统和方法、计算机存储介质 |
CN110347412A (zh) * | 2019-06-27 | 2019-10-18 | 中国第一汽车股份有限公司 | 电子控制单元固件升级管理方法、装置、设备和存储介质 |
CN110851157A (zh) * | 2019-10-28 | 2020-02-28 | 上海旗旌科技有限公司 | 一种更新车载终端设备系统的方法及设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434170A (zh) * | 2021-06-22 | 2021-09-24 | 重庆长安汽车股份有限公司 | 一种整车ota数据下载部署方法及装置 |
CN113434170B (zh) * | 2021-06-22 | 2023-03-14 | 重庆长安汽车股份有限公司 | 一种整车ota数据下载部署方法及装置 |
CN116909609A (zh) * | 2023-09-12 | 2023-10-20 | 英纳法智联科技(北京)有限公司 | 车载智能设备的软件升级方法、装置及车载智能设备 |
CN116909609B (zh) * | 2023-09-12 | 2023-12-22 | 英纳法智联科技(北京)有限公司 | 车载智能设备的软件升级方法、装置及车载智能设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112256303B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112256303B (zh) | 一种车载智能终端的固件更新方法及系统 | |
JP6380461B2 (ja) | 中継装置、プログラム更新システム、およびプログラム更新方法 | |
US20220156057A1 (en) | In-vehicle update device, update processing program, and program update method | |
CN111061499B (zh) | 一种基于文件系统的ecu更新方法及系统 | |
CN110377307A (zh) | 一种车身控制器固件升级方法、终端、系统 | |
EP2575035B1 (en) | Object data allocation method, object data allocation system and server apparatus, client device and program thereof | |
JP2012091755A (ja) | 車両用プログラム書換えシステム | |
KR102526968B1 (ko) | 차량 및 그 제어 방법 | |
CN108025684B (zh) | 车载控制装置以及车载控制装置的信息更新系统 | |
JPWO2012056773A1 (ja) | 車両用プログラム書換えシステム | |
JP6185789B2 (ja) | 車載ソフトウェア更新装置 | |
US20230021129A1 (en) | Vehicle Software Upgrade Method and Related System | |
JP6747404B2 (ja) | 移動体通信システム | |
CN105320527A (zh) | 基于zookeeper分布式搜索引擎的配置文件更新方法、装置及系统 | |
CN113905039A (zh) | 系统升级文件传输方法、装置及系统 | |
KR20150069916A (ko) | 개인휴대단말기를 이용한 차량 단말기 데이터 연동 및 업그레이드 시스템 | |
JP5551045B2 (ja) | 車両用プログラム書換えシステム | |
JP2018181376A (ja) | 中継装置、プログラム更新システム、およびプログラム更新方法 | |
CN110377305A (zh) | 一种应用软件升级方法、终端、系统 | |
EP4361798A1 (en) | Method for updating electronic control unit (ecu), ecu, and terminal | |
KR100736072B1 (ko) | 교통시스템에서 사용되는 차량 탑재 단말기 및 그 구동방법 | |
CN116909609B (zh) | 车载智能设备的软件升级方法、装置及车载智能设备 | |
CN212649506U (zh) | 一种利用tsp云平台配置远程监控系统时间的车联网系统 | |
US20230145100A1 (en) | Vehicle and control method of vehicle | |
CN115202684A (zh) | 车载软件更新方法以及车载系统 |
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 | ||
CB02 | Change of applicant information |
Address after: 10th floor, R & D building, Hefei Institute of technology innovation, Chinese Academy of Sciences, 2666 Xiyou Road, Hefei hi tech Zone, Anhui Province, 230000 Applicant after: Zhongke Meiluo Technology Co., Ltd. Address before: 10th floor, R & D building, Hefei Institute of technology innovation, Chinese Academy of Sciences, 2666 Xiyou Road, Hefei hi tech Zone, Anhui Province, 230000 Applicant before: ANHUI ZHONGKE MEILUO INFORMATION TECHNOLOGY CO.,LTD. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |