CN116896749A - 车用远程升级方法、装置、设备及存储介质 - Google Patents
车用远程升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116896749A CN116896749A CN202310892899.1A CN202310892899A CN116896749A CN 116896749 A CN116896749 A CN 116896749A CN 202310892899 A CN202310892899 A CN 202310892899A CN 116896749 A CN116896749 A CN 116896749A
- Authority
- CN
- China
- Prior art keywords
- software program
- software
- data
- vehicle
- information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000012795 verification Methods 0.000 claims abstract description 124
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 19
- 238000013500 data storage Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/35—Protecting application or service provisioning, e.g. securing SIM application provisioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种车用远程升级方法、装置、设备及存储介质,属于软件版本升级领域。该方法包括:车载设备向服务器发送第一软件信息,第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据;接收服务器在第一校验数据通过验证后,基于第二软件程序和第三软件程序生成的差分数据包和第二软件信息,第二软件信息包括第二差异数据;根据差分数据包升级第二软件程序,得到升级后的第二软件程序;采用第二软件信息对升级后的第二软件程序进行校验。通过在车辆远程升级过程中加入两次校验,可以避免差分数据包被篡改等问题导致升级后软件存在安全隐患,从而提高远程升级的可靠性及安全性。
Description
技术领域
本公开涉及软件升级领域,特别涉及一种车用远程升级方法、装置、设备及存储介质。
背景技术
随着电动汽车技术迭代速度增加,电动汽车版本更新越来越快,常用远程升级方法对电动汽车中的软件进行升级。
相关技术中,车用远程升级方法包括:服务器先生成新版本软件与存储在服务器中的车辆软件之间的差分包,再将差分包推送到车辆;车辆根据差分包对车辆软件进行差分升级,将车辆软件升级成新版本软件,实现远程升级。
然而,将差分包推送至车辆时,由于差分包可能被恶意篡改,或者网络不畅导致接收到的差分包不完整,使得升级后的软件的可靠性和安全性较低。
发明内容
本公开提供了一种车用远程升级方法、装置、设备及存储介质,能够提升车辆远程升级的可靠性及安全性。所述技术方案至少包括如下方案:
第一方面,提供了一种车用远程升级方法,包括:车载设备向服务器发送第一软件信息,所述第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据,所述第一软件程序是所述第二软件程序的上一版本的软件程序,所述第一校验数据用于指示所述第一软件程序和所述第二软件程序之间的差异;接收差分数据包和第二软件信息,所述差分数据包是所述服务器在所述第一校验数据通过验证后发送的,所述差分数据包是所述服务器基于所述第二软件程序和第三软件程序生成的,所述第三软件程序是所述第二软件程序的下一版本的软件程序,所述第二软件信息包括第二差异数据,所述第二差异数据用于指示所述第三软件程序和所述第二软件程序之间的差异;根据所述差分数据包升级所述第二软件程序,得到升级后的第二软件程序;采用所述第二软件信息对升级后的第二软件程序进行校验。
可选地,所述采用所述第二软件信息对升级后的第二软件程序进行校验,包括:根据所述第二软件程序和升级后的所述第二软件程序生成第二校验数据,所述第二校验数据用于指示所述第三软件程序和所述第二软件程序之间的差异;比较所述第二校验数据和所述第二差异数据,以对升级后的第二软件程序进行校验。
可选地,所述第一校验数据为所述第一软件程序和所述第二软件程序的差异数据;或者,所述第一校验数据为所述第一软件程序和所述第二软件程序的差异数据的摘要信息;或者,所述第一校验数据为所述第一软件程序和所述第二软件程序的差异数据的加密信息。
第二方面,还提供了一种车用远程升级方法,包括:服务器接收第一软件信息,所述第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据,所述第一软件程序是所述第二软件程序的上一版本的软件程序,所述第一校验数据用于指示所述第一软件程序和所述第二软件程序之间的差异;对所述第一校验数据进行校验;响应于所述第一校验数据通过校验,向车载设备发送差分数据包和第二软件信息,所述差分数据包是基于所述第二软件程序和第三软件程序生成的,所述第三软件程序是所述第二软件程序的下一版本的软件程序;所述第二软件信息包括第二差异数据,所述第二差异数据用于指示所述第三软件程序和所述第二软件程序之间的差异。
可选地,所述对所述第一校验数据进行校验,包括:根据所述第一软件程序的版本标识获得第一软件程序,以及根据所述第二软件程序的版本标识获得第二软件程序;根据获得的所述第一软件程序和所述第二软件程序,生成第一差异数据,所述第一差异数据用于指示所述第一软件程序和所述第二软件程序之间的差异;采用所述第一差异数据对所述第一校验数据进行校验。
第三方面,还提供了一种车用远程升级装置,包括:第一发送模块,用于向服务器发送第一软件信息,所述第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据,所述第一软件程序是所述第二软件程序的上一版本的软件程序,所述第一校验数据用于指示所述第一软件程序和所述第二软件程序之间的差异;第一接收模块,用于接收差分数据包和第二软件信息,所述差分数据包是所述服务器在所述第一校验数据通过验证后发送的,所述差分数据包是所述服务器基于所述第二软件程序和第三软件程序生成的,所述第三软件程序是所述第二软件程序的下一版本的软件程序,所述第二软件信息包括第二差异数据,所述第二差异数据用于指示所述第三软件程序和所述第二软件程序之间的差异;升级模块,所述差分数据包升级所述第二软件程序,得到升级后的第二软件程序;第一校验模块,用于采用所述第二软件信息对升级后的第二软件程序进行校验。
可选地,第一校验模块还用于根据所述第二软件程序和升级后的所述第二软件程序生成第二校验数据,所述第二校验数据用于指示所述第三软件程序和所述第二软件程序之间的差异;比较所述第二校验数据和所述第二差异数据,以对升级后的第二软件程序进行校验。
第四方面,还提供了一种车用远程升级装置,包括:第二接收模块,用于服务器接收第一软件信息,所述第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据,所述第一软件程序是所述第二软件程序的上一版本的软件程序,所述第一校验数据用于指示所述第一软件程序和所述第二软件程序之间的差异;第二校验模块,用于对所述第一校验数据进行校验;第二发送模块,用于响应于所述第一校验数据通过校验,向车载设备发送差分数据包和第二软件信息,所述差分数据包是基于所述第二软件程序和第三软件程序生成的,所述第三软件程序是所述第二软件程序的下一版本的软件程序;所述第二软件信息包括第二差异数据,所述第二差异数据用于指示所述第三软件程序和所述第二软件程序之间的差异。
可选地,第二校验模块还用于:根据所述第一软件程序的版本标识获得第一软件程序,以及根据所述第二软件程序的版本标识获得第二软件程序;根据获得的所述第一软件程序和所述第二软件程序,生成第一差异数据,所述第一差异数据用于指示所述第一软件程序和所述第二软件程序之间的差异;采用所述第一差异数据对所述第一校验数据进行校验。
第五方面,还提供了一种计算机设备,包括:存储器和处理器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,从而执行上述实施例中所述的车用远程升级方法。
第六方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,从而执行上述实施例中所述的车用远程升级方法。
第七方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现第一方面或第二方面所述的方法。
本公开实施例提供的技术方案带来的有益效果至少包括:
在本公开实施例中,车载设备在需要软件升级时,先向服务器发送用于指示车载设备一次升级前后的第一软件程序和第二软件程序之间的差异的第一校验信息,服务器在车载设备发送的第一校验数据通过验证之后,才发送差分数据包和第二软件信息。这样,可以保证车载设备当前使用的软件程序是当前要升级的软件程序。
车载设备根据服务器发送的差分数据包升级第二软件程序,得到升级后的第二软件程序后;采用第二软件信息中的第二差异数据对升级后的第二软件程序进行校验,即验证升级后的第二软件程序是否为第三软件程序。如果差分数据包被篡改或者由于网络传输问题出现不完整等情况,升级后的第二软件程序将无法通过校验。
通过在车辆远程升级过程中加入两次校验,可以提高升级后的第二软件程序的安全性和可靠性。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开一个示例性实施例提供的应用场景的示意图;
图2示出了本公开一个示例性实施例提供的车用远程升级方法的流程图;
图3示出了本公开一个示例性实施例提供的车用远程升级方法的流程图;
图4示出了本公开一个示例性实施例提供的车用远程升级方法的流程图;
图5示出了本公开一个示例性实施例提供的存储器区域示意图;
图6示出了本公开一个示例性实施例提供的首次升级过程的示意图;
图7示出了本公开一个示例性实施例提供的非首次升级过程的示意图;
图8示出了本公开一个示例性实施例提供的一种车用远程升级装置的结构示意图;
图9示出了本公开一个示例性实施例提供的一种车用远程升级装置的结构示意图;
图10是本公开实施例提供的计算机设备的结构示意图。
具体实施方式
除非另作定义,此处使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开专利申请说明书以及权利要求书中使用的“第一”、“第二”、“第三”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在“包括”或者“包含”前面的元件或者物件涵盖出现在“包括”或者“包含”后面列举的元件或者物件及其等同,并不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则所述相对位置关系也可能相应地改变。
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
图1示出了本公开一个示例性实施例提供的应用场景的示意图。如图1所示,车载设备11和服务器12通信连接,例如通过网络连接。
其中,车载设备11可以包括:车载T-Box(Telematics BOX,远程信息处理器)、汽车驱动器和其他控制器。车载设备中,汽车驱动器、其他控制器和车载T-Box通过汽车CAN(Controller Area Network,控制器局域网络)总线进行连接。
在一些实施例中,服务器12包括软件版本管理服务器和OTA(Over-the-AirTechnology,空中下载技术)服务器。软件版本管理服务器和OTA服务器通信连接,例如通过有线网络或者无线网络连接。在另一些实施例中,服务器12也可以是集成了软件版本管理服务器和OTA服务器功能的单台服务器。
下文中将以服务器12包括软件版本管理服务器和OTA(Over-the-AirTechnology,空中下载技术)服务器为例进行说明。
图2示出了本公开一个示例性实施例提供的车用远程升级方法的流程图,该方法可以由车载设备11执行。例如由车载设备11中的控制器件执行,该控制器件可以为前述汽车驱动器或者其他控制器。参见图2,该方法包括:
步骤201:向服务器发送第一软件信息。
第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据。
第一软件程序的版本标识用于指示第一软件程序的版本,第二软件程序的版本标识用于指示第二软件程序的版本。示例性地,第一软件程序的版本标识为第一软件程序的版本号,第二软件程序的版本标识为第二软件程序的版本号。
第一软件程序是第二软件程序的上一版本的软件程序,第一校验数据用于指示第一软件程序和所述第二软件程序之间的差异。也即是,第二软件程序是车载设备当前使用的软件程序,第一软件程序是车载设备使用的上一版本的软件程序。
步骤202:接收差分数据包和第二软件信息。
差分数据包是服务器在第一校验数据通过验证后发送的,差分数据包是服务器基于第二软件程序和第三软件程序生成的,第三软件程序是第二软件程序的下一版本的软件程序,第二软件信息包括第二差异数据,第二差异数据用于指示第三软件程序和第二软件程序之间的差异。
实现时,可以通过车载设备中的车载T-Box接收差分数据包和第二软件信息。
步骤203:根据差分数据包升级第二软件程序,得到升级后的第二软件程序。
步骤204:采用第二软件信息对升级后的第二软件程序进行校验。
如果第二软件程序通过校验,说明升级后的第二软件程序是所需的第三软件程序,则本次升级成功;如果第二软件程序未通过校验,说明升级后的第二软件程序不是所需的第三软件程序,则本次升级失败。
在本公开实施例中,车载设备在需要软件升级时,先向服务器发送用于指示车载设备一次升级前后的第一软件程序和第二软件程序之间的差异的第一校验信息,服务器在车载设备发送的第一校验数据通过验证之后,才发送差分数据包和第二软件信息。这样,可以保证车载设备当前使用的软件程序是当前要升级的软件程序。
车载设备根据服务器发送的差分数据包升级第二软件程序,得到升级后的第二软件程序后;采用第二软件信息中的第二差异数据对升级后的第二软件程序进行校验,即验证升级后的第二软件程序是否为第三软件程序。如果差分数据包被篡改或者由于网络传输问题出现不完整等情况,升级后的第二软件程序将无法通过校验。
通过在车辆远程升级过程中加入两次校验,可以提高升级后的第二软件程序的安全性和可靠性。
图3示出了本公开一个示例性实施例提供的车用远程升级方法的流程图。该方法可以由服务器12执行。参见图3,该方法包括:
步骤301:接收第一软件信息。
第一软件信息的相关内容参见步骤201,在此省略详细描述。
步骤302:对第一校验数据进行校验。
若第一校验数据通过校验,则说明该第一软件信息是可信的,执行步骤303,若第一校验数据未通过校验,则说明第一软件信息不可信,退出本次升级。
步骤303:响应于第一校验数据通过验证,向车载设备发送差分数据包和第二软件信息。
差分数据包是基于第二软件程序和第三软件程序生成的,第三软件程序是第二软件程序的下一版本的软件程序。第二软件信息包括第二差异数据,第二差异数据用于指示第三软件程序和第二软件程序之间的差异。该第二软件信息用于供车载设备在根据差分数据包对第二软件程序进行升级之后,对升级后的第二软件程序进行校验。
在本公开实施例中,车载设备在需要软件升级时,先向服务器发送用于指示车载设备一次升级前后的第一软件程序和第二软件程序之间的差异的第一校验信息,服务器在车载设备发送的第一校验数据通过验证之后,才发送差分数据包和第二软件信息。这样,可以保证车载设备当前使用的软件程序是当前要升级的软件程序。
这样,车载设备根据服务器发送的差分数据包升级第二软件程序,得到升级后的第二软件程序后;可以采用第二软件信息中的第二差异数据对升级后的第二软件程序进行校验,即验证升级后的第二软件程序是否为第三软件程序。如果差分数据包被篡改或者由于网络传输问题出现不完整等情况,升级后的第二软件程序将无法通过校验。
通过在车辆远程升级过程中加入两次校验,可以提高升级后的第二软件程序的安全性和可靠性。
图4示出了本公开一个示例性实施例提供的车用远程升级方法的流程图。该方法由服务器12和车载设备11共同执行。参见图4,该方法包括:
步骤401:服务器获取并存储第三软件程序。
可选地,服务器可以接收直接存储在本地的第三软件程序;或者,服务器可以接收终端设备(如计算机)发送的第三软件程序。该第三软件程序为针对第二软件版本的新版本的软件程序。
在获取第三软件程序时,可以同时获取第三软件程序与第二软件程序的对应关系,这样,服务器在确定第二软件程序为待升级的软件程序后,查询该对应关系即可知道第三软件程序为第二软件程序的下一版本软件程序,从而生成第三软件程序和第二软件程序之间的差分包。
可选地,在服务器包括软件版本管理服务器和OTA服务器时,软件版本管理服务器获取第三软件程序以及对应的版本标识;并且,软件版本管理服务器将第三软件程序的版本标识和第三软件程序的存储地址发送给OTA服务器。其中,第三软件程序的版本标识用于指示第三软件程序的版本。OTA服务器保存第三软件程序的版本标识和对应的存储地址,以便从该存储地址下载第三软件程序。
步骤402:车载设备接收升级指示信息。
该升级指示信息用于指示当前车辆软件程序需要升级。
升级指示信息可以包括升级后的软件程序的版本标识(即下文中第三软件程序的版本标识)以及升级时间等。该升级时间用于指示车载设备执行升级的时刻或者时间段。
可选地,车载设备在接收到升级指示信息后,可将待升级信息发送至车载屏幕,从而提示用户当前车辆软件程序需要升级。在一些示例中,待升级信息可以为弹窗形式,弹窗的内容包括升级后的软件程序的版本标识(如版本号)、升级时间、立即升级按钮和忽略升级按钮。立即升级按钮用于接收用户输入的立即升级指令,该立即升级指令用于指示车载设备立即开始升级,或者,指示车载设备当满足升级条件时立即开始升级。升级条件包括但不限于车辆的运行状态和车辆的动力电池的电量等等。忽略升级按钮用于接收用户输入的忽略升级按钮,车载设备接收到忽略升级按钮可以不执行本次升级。
在一种可能的实施方式中,服务器向车载设备发送升级指示信息。服务器中存储了车辆信息和车辆当前的软件程序的版本标识(即第二软件程序的版本标识)。车辆信息包括但不限于车辆的标识、车辆的通信地址(例如IP地址等)。服务器在获取了新版本的软件程序之后,可以根据前述第三软件程序与第二软件程序的对应关系,将该新版本的软件程序对应的软件程序所对应的车辆,确定为待升级车辆,并将待升级信息发送给车载设备。
在另一种可能的实施方式中,车载设备向服务器发送查询请求,该查询请求用于查询是否存在第二版本程序对应的新版本程序,该查询请求包括第二版本程序的版本标识;服务器根据该查询请求和前述第三软件程序与第二软件程序的对应关系进行查询,在查询到该第二版本程序对应的新版本程序时,向车载设备发送升级指示信息。
在又一种可能的实施方式中,车载设备向服务器发送查询请求,该查询请求用于查询车辆对应的所有版本的版本标识,该查询请求可以包括车辆型号等信息;服务器根据车辆型号,获取该车辆型号对应的所有版本的版本标识(如版本号);服务器将获取到的版本标识发送给车载设备。车载设备输出接收到的所有版本的版本标识以及当前车辆软件程序的版本标识。车载设备接收升级指令,该升级指令用于指示被选中的目标软件程序。车载设备将该目标软件程序的标识发送给服务器。服务器向车载设备发送升级指示信息。
在这两种实施方式中,车载设备可以定期向服务器发送查询请求,或者根据接收到的用户指令向服务器发送查询请求。
步骤403:车载设备向服务器发送第一软件信息。
第一软件信息的相关内容参见步骤201,在此不再赘述。
可选地,第一软件信息中的第一校验数据可以为第一软件程序和第二软件程序的差异数据;或者,第一校验数据为第一软件程序和第二软件程序的差异数据的摘要信息;或者,第一校验数据为第一软件程序和第二软件程序的差异数据的加密信息。
在本公开实施例中,当第一校验数据为第一软件程序和第二软件程序的差异数据时,第一校验数据的内容最为全面,同时第一校验数据的所占据的存储空间也最大;当第一校验数据为第一软件程序和第二软件程序的差异数据的摘要信息时,第一校验数据的内容最为简洁且数据量较小;当第一校验数据为第一校验数据为第一软件程序和第二软件程序的差异数据的加密信息时,此时第一校验数据的安全性最高,即使在发送时出现意外导致数据泄露,也不会泄露第一校验数据的真实内容。
可选地,第一校验数据可以是在车辆软件程序从第一软件程序升级为第二软件程序时,车载设备接收到的软件信息中的第三差异数据,该第三差异数据用于指示第一软件程序和第二软件程序的差异,且存储于车载设备的存储器中。或者,第一校验数据是车载设备从第一软件程序升级为第二软件程序之后,根据第一软件程序和第二软件程序生成并存储于车载设备的存储器中的。或者,第一校验数据也可以是在车载设备接收到升级指示信息后,根据车载设备保存的当前版本的软件程序和上一版本的软件程序之间的差异生成的。
实现时,首先通过CAN总线将从汽车驱动器或其他控制器的存储器中获取第一软件信息发送给车载T-BOX,然后通过车载T-BOX将第一软件信息发送至服务器。
步骤404:服务器对第一校验数据进行校验。
可选地,步骤404包括下列步骤A-C:
步骤A:根据第一软件程序的版本标识获得第一软件程序,以及根据第二软件程序的版本标识获得第二软件程序。
可选地,该步骤A由OTA服务器执行。
在一种实施方式中,OTA服务器向软件版本管理服务器发送第一软件程序的版本标识和第二软件程序的版本标识,软件版本管理服务器查找到相应的第一软件程序和第二软件程序,并将第一软件程序和第二软件程序发送给OTA服务器。
在另一种实施方式中,OTA服务器中存储有第一列表,该第一列表包括软件版本管理服务器中存储的所有软件程序的版本标识和版本标识对应的软件程序的存储地址,OTA服务器在查找软件程序时只需查找第一列表中的版本标识即可获取相应软件程序的存储地址,再直接从该存储地址中下载相应软件程序。
步骤B:根据获得的第一软件程序和第二软件程序,生成第一差异数据。
第一差异数据用于指示第三软件程序和第二软件程序之间的差异。该步骤B可以由OTA服务器执行。
可选地,第一差异数据与第一校验数据的类型相同。若第一校验数据为第一校验数据为第一软件程序和第二软件程序的差异数据,相应地第一差异数据也要为第一软件程序和第二软件程序的差异数据;若第一校验数据为第一软件程序和第二软件程序的差异数据的摘要信息,相应地第一差异数据也要为第一软件程序和第二软件程序的差异数据的摘要信息;若第一校验数据为第一软件程序和第二软件程序的差异数据的加密信息,相应地第一差异数据也要为第一软件程序和第二软件程序的差异数据的加密信息。
此外,当第一校验数据和第一差异数据均为第一软件程序和第二软件程序的差异数据的加密信息时,第一校验数据和第一差异数据采用的加密方法要相同,这样可以避免因加密方法不同而产生的第一校验数据和第一差异数据不匹配的问题。
步骤C:采用第一差异数据对第一校验数据进行校验。
该步骤C可以由OTA服务器执行。
服务器比对第一差异数据和第一校验数据,若第一差异数据和第一校验数据一致,说明第一校验数据通过校验,可继续执行后续步骤405;若第一差异数据和第一校验数据不一致,说明第一校验数据未通过校验,本次升级失败,执行步骤409。
可选地,在校验不通过时,还可以重新执行步骤403-404,当执行步骤403和404的次数达到设定次数时,若重新执行时校验仍然不通过,则说明升级失败,执行步骤409。
若第一校验数据是在车载设备接收到升级指示信息后,根据存储的第一软件程序和第二软件程序之间的差异生成的,OTA服务器用第一差异数据对第一校验数据进行验证,验证通过则表明当前车辆中第一软件程序和第二软件程序均为原本的软件程序且车载设备向服务器发送第一软件信息时数据完整;验证不通过则表明当前车辆中第一软件程序和第二软件程序可能受到了非法入侵,或者表明当前车辆更换了盗版硬件而导致车载设备中软件程序不完整。此时车载设备已不再是可信设备,因此不能进行远程升级。若想要进行远程升级,需要到该车辆对应的线下店铺进行返修,返修完毕恢复正常了才能正常远程升级。
若第一校验数据为车辆软件程序从第一软件程序升级为第二软件程序时,车载设备接收到的软件信息中的差异数据,或者车载设备根据升级后的第二软件程序和第二软件程序生成的差异数据,当服务器用第一差异数据对第一校验数据进行校验时,如果校验通过,则表明当前待升级的第二软件程序曾经在服务器进行过成功的远程升级,则本次升级的第二软件程序所在的车载设备是可信设备且车载设备向服务器发送第一软件信息时数据完整;校验不通过则表明当前待升级的第二软件程序是首次在本服务器中进行升级,或者车载设备向服务器发送第一软件信息时数据有损失,数据损失则说明本次发送过程可能被攻击。两种情况都说明本次升级的第二软件程序所在的车载设备可能不再可信,因此需要对其进行安全性校验,待安全性校验通过后再执行后续步骤405。
示例性地,可采用校验码的形式来进行安全性校验。当第一差异数据对第一校验数据的校验不通过时,OTA服务器向车载设备发送指令来提示用户要进行安全性校验并输入手机号,然后向用户输入的手机号发送随机的校验码,用户在车载屏幕上填写手机上收到的校验码,车载设备将接收到的校验码发送至OTA服务器,OTA服务器比对用户输入的校验码是否正确;若校验码输入正确,则通过安全性校验,执行步骤405;若校验码输入错误,则未通过安全性校验,本次升级失败,执行步骤409。
在本公开实施例中,通过步骤A-C,实现了对第一校验数据进行校验,只有在第一校验数据通过校验或者第一校验数据未通过校验但通过安全性校验时才能认为车载设备发送的第一软件信息时可信的,从而可以确定车载设备是可信设备。在远程升级过程中确定了车载设备是否可信,就提升了远程升级过程的安全性。
步骤405:向车载设备发送差分数据包和第二软件信息。
发生差分数据包和第二差异数据的相关内容参见步骤303,在此不再赘述。
可选地,第二软件信息还包括第二软件程序的版本标识和第三软件程序的版本标识。
可选地,第二软件信息中的第二差异数据可以为第二软件程序和第三软件程序的差异数据;或者,第二差异数据为第二软件程序和第三软件程序的差异数据的摘要信息;或者,第二差异数据为第二软件程序和第三软件程序的差异数据的加密信息。
也即是,第二差异数据和差分数据包可以相同或者不同。当第二差异数据为第二软件程序和第三软件程序的差异数据时,第二差异数据与差分数据包相同;当第二差异数据为第二软件程序和第三软件程序的差异数据的摘要信息或者为第二软件程序和第三软件程序的差异数据的加密信息时,第二差异数据与差分数据包不同。
步骤406:车载设备根据差分数据包升级第二软件程序,得到升级后的第二软件程序。
在一种可能的实施方式中,车载设备的存储器中包括第一存储区、第二存储区和临时存储区。第一存储区中存储有第一软件程序,第二存储区中存储有第二软件程序。临时存储区用于存储升级过程中的临时数据。
该步骤406可以包括:将第二存储区中的第二软件程序拷贝到临时存储区中,然后根据差分数据包对临时存储区中的第二软件程序进行升级,得到升级后的第二软件程序;其中,拷贝到临时存储区的第二软件程序和升级后的第二软件程序均为临时数据。
步骤407:车载设备采用第二软件信息对升级后的第二软件程序进行校验。若升级后的第二软件程序通过校验,执行步骤408;若升级后的第二软件程序未通过校验,本次升级失败,执行步骤409。
可选地,步骤407包括下列步骤a-b。
步骤a:根据第二软件程序和升级后的第二软件程序生成第二校验数据。
第二校验数据用于指示升级后的第二软件程序和第二软件程序之间的差异。
示例性地,第二校验数据是基于第二软件程序和升级后的第二软件程序生成的,且存放于数据存储区。
生成的第二校验数据要与第二差异数据的类型相同。若第二差异数据为第二软件程序和第三软件程序的差异数据,相应地第二校验数据也要为第二软件程序和第三软件程序的差异数据;若第二差异数据为第二软件程序和第三软件程序的差异数据的摘要信息,相应地第二校验数据也要为第二软件程序和第三软件程序的差异数据的摘要信息;若第二差异数据为第二软件程序和第三软件程序的差异数据的加密信息,相应地第二校验数据也要为第二软件程序和第三软件程序的差异数据的加密信息。
此外,当第二校验数据和第二差异数据均为第二软件程序和第三软件程序的差异数据的加密信息时,第二校验数据和第二差异数据采用的加密方法要相同,这样可以避免因加密方法不同而产生的第二校验数据和第二差异数据不匹配的问题。
步骤b:比较第二校验数据和第二差异数据,以对升级后的第二软件程序进行校验。
若第二校验数据和第二差异数据一致,说明升级后的第二软件程序通过校验;若第二校验数据和第二差异数据不一致,说明升级后的第二软件程序未通过校验。
在本公开实施例中,由于车辆在接收服务器的差分包时可能出现错误(如网络异常导致接收到的差分包不完整等),导致升级后的软件有误,为了避免这类情况,加入对第二校验数据和第二差异数据的验证,只有验证结果是一致才能说明升级后的软件准确无误,也就意味着升级成功。
可选地,该方法还包括:在校验通过后,将升级后的第二软件程序拷贝到第一存储区中。
可选地,车载设备的存储器中还包括数据存储区,该数据存储区用于存储第二软件信息。可选地,该方法还包括:将第二软件信息写入数据存储区并覆盖当前数据存储区中的软件信息,有效避免冗余信息过多导致占用存储空间。
可选地,该数据存储区中还存储有软件程序的入口地址,该入口地址用于指示车辆当前使用的软件程序所在的存储区。在这种情况下,该方法还包括:在校验通过后,将该入口地址更新为升级后的第二软件程序做在的存储区,即第一存储区。
需要说明的是,在其他实施例中,也可以在步骤406中得到升级后的第二软件程序后,将升级后的第二软件程序拷贝到第一存储区,而在校验通过后,仅更新软件程序的入口地址。
步骤408:向服务器发送升级成功信息。
升级成功信息用于指示第二软件程序成功升级为第三软件程序,通过车载设备中的车载T-Box向服务器发送。
步骤409:向服务器发送升级失败信息。
升级失败信息用于指示第二软件程序未成功升级为第三软件程序,通过车载设备中的车载T-Box向服务器发送。
在本公开实施例中,通过车载设备向服务器发送第一软件信息;接收服务器在第一校验数据通过验证后,基于第二软件程序和第三软件程序生成的差分数据包和第二软件信息;在服务器对第一校验数据的校验通过时可以认为车载设备发送的第一软件信息可靠,从而继续升级流程,提升了远程升级的安全性和可靠性;根据差分数据包升级第二软件程序,得到升级后的第二软件程序;采用第二软件信息对升级后的第二软件程序进行校验;若是升级后的第二软件程序存在安全隐患,则第二软件信息对升级后的第二软件程序的校验必然不会通过,因此避免了此类情况的发生,提高了远程升级的可靠性及安全性。
下面对本公开实施例提供的远程升级方法进行举例说明。
图5示出了本公开一个示例性实施例提供的存储区域的示意图。车载设备的存储器包括以下四个区域:Bootloader(启动加载程序)区501、数据存储区502、App(Application,应用软件)区504和临时存储区503。其中,APP区504包括App区1(即前述第一存储区)和App区2(即前述第二存储区),分别用于存放第一软件程序和第二软件程序;Bootloader区501用于存放Bootloader程序,Bootloader程序用于执行数据校验和软件升级,以及根据App区1和App区2的软件程序生成相应的校验数据;数据存储区502用于存放软件信息,软件信息包括软件程序的版本标识、校验数据、差异数据和软件程序入口地址,该软件程序入口地址用于指示存储了车辆当前运行的软件程序的APP区;临时存储区503用于存放升级过程中的临时数据。
车辆在进行远程升级时可分为首次升级和非首次升级,首次升级是指车辆在出厂后进行的第一次升级。非首次升级是指车辆已经经历过至少一次远程升级。
下面以数据存储区中存储的软件信息是服务器在上一次升级过程中发送的为例进行说明。
图6示出了本公开一个示例性实施例提供的首次升级过程的示意图。当车载设备为首次升级时,车载设备中APP区仅APP区1内存储有第二软件程序,第一软件程序不存在,即APP区2为空。数据存储区中存储有初始软件信息。该软件信息包括软件程序的入口地址、软件版本的标识和第一校验数据。该初始软件信息中的软件程序的入口地址指向APP区1。软件版本的标识为第二软件程序的标识,第一校验数据为第二软件程序或者为空。第二软件程序和初始存储区中的初始软件信息可以在车辆出厂时,预先写入车载设备的存储器中。
参见图6,该升级过程包括:
601:Bootloader区中的Bootloader程序获取第二软件信息和差分数据包。其中,第二软件信息包括第二软件程序的版本标识、第三软件程序的版本标识和第二差异数据,第二差异数据用于指示第二软件程序和第三软件程序的差异。
602:Bootloader程序根据数据存储区中软件程序的入口地址,从APP区1中复制第二软件程序至临时存储区,基于差分数据包将临时存储区中的第二软件程序升级,得到升级后的第二软件程序。
603:Bootloader程序基于APP区2中升级后的第二软件程序和APP区1中的第二软件程序生成第二校验数据。
604:Bootloader程序基于第二校验数据校验第二差异数据,判断第二差异数据是否通过校验。若第二差异数据通过校验,执行605-606;若第二差异数据未通过校验,执行607。
605:将临时存储区中的升级后的第二软件程序写入APP区2,更新软件程序的入口地址为APP区2,并将第二软件信息写入数据存储区。
606:通过车载T-Box向服务器发送升级成功信息。
607:通过车载T-Box向服务器发送升级失败信息。
需要说明的是,图6中,省略了服务器对软件信息的校验过程。
图7示出了本公开一个示例性实施例提供的非首次升级过程的示意图。APP区1和APP区2中均存储有软件程序。图7中,APP区1中为第二软件程序,APP区1中为第一软件程序。参见图7,该升级过程包括:
701:服务器获取并存储第三软件程序;
702:车载T-Box向服务器发送第一软件信息,其中第一软件信息是车载T-Box基于CAN总线从数据存储区中获取的,第一软件信息包括第一校验数据、第一软件程序的版本标识和第二软件程序的版本标识。
703:服务器基于第一软件信息中的第一软件程序的版本标识和第二软件程序的版本标识对应获取第一软件程序和第二软件程序,然后基于第一软件程序和第二软件程序生成第一差异数据。
704:服务器基于第一差异数据对第一软件信息中的第一校验数据进行验证,若验证通过,执行步骤705-713;若验证未通过,则退出升级。
705:服务器基于第二软件程序和第三软件程序的差异生成差分数据包。
706:服务器将第二软件信息和差分数据包发送至车载设备;后续流程中707-713与上述图10中步骤601-607一致,在此不再赘述。
以下是本申请的装置实施例,对于装置实施例中未详细描述的细节,可以参考上述方法实施例。
图8示出了本公开一个示例性实施例提供的一种车用远程升级装置的结构示意图。参见图8,该车用远程升级装置800包括:第一发送模块801、第一接收模块802、升级模块803和第一校验模块804。
第一发送模块801用于向服务器发送第一软件信息,所述第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据,所述第一软件程序是所述第二软件程序的上一版本的软件程序,所述第一校验数据用于指示所述第一软件程序和所述第二软件程序之间的差异;
第一接收模块802用于接收差分数据包和第二软件信息,所述差分数据包是所述服务器在所述第一校验数据通过验证后发送的,所述差分数据包是所述服务器基于所述第二软件程序和第三软件程序生成的,所述第三软件程序是所述第二软件程序的下一版本的软件程序,所述第二软件信息包括第二差异数据,所述第二差异数据用于指示所述第三软件程序和所述第二软件程序之间的差异;
升级模块803所述差分数据包升级所述第二软件程序,得到升级后的第二软件程序;
第一校验模块804用于采用所述第二软件信息对升级后的第二软件程序进行校验。
可选地,第一校验模块801还用于根据所述第二软件程序和升级后的所述第二软件程序生成第二校验数据,所述第二校验数据用于指示所述第三软件程序和所述第二软件程序之间的差异;比较所述第二校验数据和所述第二差异数据,以对升级后的第二软件程序进行校验。
在本公开实施例中,通过车载设备向服务器发送第一软件信息;接收服务器在第一校验数据通过验证后,基于第二软件程序和第三软件程序生成的差分数据包和第二软件信息;根据差分数据包升级第二软件程序,得到升级后的第二软件程序;采用第二软件信息对升级后的第二软件程序进行校验;若是升级后的第二软件程序存在安全隐患,则第二软件信息对升级后的第二软件程序的校验必然不会通过,因此避免了此类情况的发生,提高了车辆远程升级的可靠性及安全性,保证了车辆升级后的软件是完整、准确且安全的软件。
图9示出了本公开一个示例性实施例提供的一种车用远程升级装置的结构示意图。参见图9,该车用远程升级装置900包括:第二接收模块901、第二校验模块902和第二发送模块903。
第二接收模块901用于服务器接收第一软件信息,所述第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据,所述第一软件程序是所述第二软件程序的上一版本的软件程序,所述第一校验数据用于指示所述第一软件程序和所述第二软件程序之间的差异;
第二校验模块902用于对所述第一校验数据进行校验;
第二发送模块903用于响应于所述第一校验数据通过校验,向车载设备发送差分数据包和第二软件信息,所述差分数据包是基于所述第二软件程序和第三软件程序生成的,所述第三软件程序是所述第二软件程序的下一版本的软件程序;所述第二软件信息包括第二差异数据,所述第二差异数据用于指示所述第三软件程序和所述第二软件程序之间的差异。
可选地,第二校验模块902还用于根据所述第一软件程序的版本标识获得第一软件程序,以及根据所述第二软件程序的版本标识获得第二软件程序;根据获得的所述第一软件程序和所述第二软件程序,生成第一差异数据,所述第一差异数据用于指示所述第一软件程序和所述第二软件程序之间的差异;采用所述第一差异数据对所述第一校验数据进行校验。
在本公开实施例中,通过服务器接收第一软件信息;对第一软件信息中的第一校验数据进行校验;在第一校验数据通过校验时向车载设备发送差分数据包和第二差异数据,实现了对车载设备发送的第一软件信息的校验,在校验通过时可以认为车载设备发送的第一软件信息可靠,从而可以继续升级流程,提升了车辆远程升级的安全性和可靠性。
需要说明的是:上述实施例提供的车用远程升级的装置在车用远程升级时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的车用远程升级的装置与车用远程升级的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本公开实施例提供的计算机设备的结构示意图。如图10所示,该计算机设备1000包括:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本公开实施例中提供的车用远程升级方法。
本领域技术人员可以理解,图10中示出的结构并不构成对计算机设备1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本公开实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由计算机设备的处理器执行时,使得计算机设备能够执行本公开实施例中提供的车用远程升级方法。
本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本公开实施例中提供的车用远程升级方法。
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种车用远程升级方法,其特征在于,所述方法包括:
车载设备向服务器发送第一软件信息,所述第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据,所述第一软件程序是所述第二软件程序的上一版本的软件程序,所述第一校验数据用于指示所述第一软件程序和所述第二软件程序之间的差异;
接收差分数据包和第二软件信息,所述差分数据包是所述服务器在所述第一校验数据通过验证后发送的,所述差分数据包是所述服务器基于所述第二软件程序和第三软件程序生成的,所述第三软件程序是所述第二软件程序的下一版本的软件程序,所述第二软件信息包括第二差异数据,所述第二差异数据用于指示所述第三软件程序和所述第二软件程序之间的差异;
根据所述差分数据包升级所述第二软件程序,得到升级后的第二软件程序;
采用所述第二软件信息对升级后的第二软件程序进行校验。
2.根据权利要求1所述的方法,其特征在于,所述采用所述第二软件信息对升级后的第二软件程序进行校验,包括:
根据所述第二软件程序和升级后的所述第二软件程序生成第二校验数据,所述第二校验数据用于指示所述第三软件程序和所述第二软件程序之间的差异;
比较所述第二校验数据和所述第二差异数据,以对升级后的第二软件程序进行校验。
3.根据权利要求2所述的方法,其特征在于,所述第一校验数据为所述第一软件程序和所述第二软件程序的差异数据;
或者,所述第一校验数据为所述第一软件程序和所述第二软件程序的差异数据的摘要信息;
或者,所述第一校验数据为所述第一软件程序和所述第二软件程序的差异数据的加密信息。
4.一种车用远程升级方法,其特征在于,所述方法包括:
服务器接收第一软件信息,所述第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据,所述第一软件程序是所述第二软件程序的上一版本的软件程序,所述第一校验数据用于指示所述第一软件程序和所述第二软件程序之间的差异;
对所述第一校验数据进行校验;
响应于所述第一校验数据通过校验,向车载设备发送差分数据包和第二软件信息,所述差分数据包是基于所述第二软件程序和第三软件程序生成的,所述第三软件程序是所述第二软件程序的下一版本的软件程序;所述第二软件信息包括第二差异数据,所述第二差异数据用于指示所述第三软件程序和所述第二软件程序之间的差异。
5.根据权利要求4所述的方法,其特征在于,所述对所述第一校验数据进行校验,包括:
根据所述第一软件程序的版本标识获得第一软件程序,以及根据所述第二软件程序的版本标识获得第二软件程序;
根据获得的所述第一软件程序和所述第二软件程序,生成第一差异数据,所述第一差异数据用于指示所述第一软件程序和所述第二软件程序之间的差异;
采用所述第一差异数据对所述第一校验数据进行校验。
6.一种车用远程升级装置,其特征在于,所述装置包括:
第一发送模块,用于向服务器发送第一软件信息,所述第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据,所述第一软件程序是所述第二软件程序的上一版本的软件程序,所述第一校验数据用于指示所述第一软件程序和所述第二软件程序之间的差异;
第一接收模块,用于接收差分数据包和第二软件信息,所述差分数据包是所述服务器在所述第一校验数据通过验证后发送的,所述差分数据包是所述服务器基于所述第二软件程序和第三软件程序生成的,所述第三软件程序是所述第二软件程序的下一版本的软件程序,所述第二软件信息包括第二差异数据,所述第二差异数据用于指示所述第三软件程序和所述第二软件程序之间的差异;
升级模块,所述差分数据包升级所述第二软件程序,得到升级后的第二软件程序;
第一校验模块,用于采用所述第二软件信息对升级后的第二软件程序进行校验。
7.一种车用远程升级装置,其特征在于,所述装置包括:
第二接收模块,用于服务器接收第一软件信息,所述第一软件信息包括第一软件程序的版本标识、第二软件程序的版本标识和第一校验数据,所述第一软件程序是所述第二软件程序的上一版本的软件程序,所述第一校验数据用于指示所述第一软件程序和所述第二软件程序之间的差异;
第二校验模块,用于对所述第一校验数据进行校验;
第二发送模块,用于响应于所述第一校验数据通过校验,向车载设备发送差分数据包和第二软件信息,所述差分数据包是基于所述第二软件程序和第三软件程序生成的,所述第三软件程序是所述第二软件程序的下一版本的软件程序;所述第二软件信息包括第二差异数据,所述第二差异数据用于指示所述第三软件程序和所述第二软件程序之间的差异。
8.一种计算机设备,其特征在于,所述计算机设备包括:存储器和处理器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现权利要求1至3任一项所述的方法,或者权利要求4或5所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现权利要求1至3任一项所述的方法,或者权利要求4或5所述的方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至3任一项所述的方法,或者权利要求4或5所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310892899.1A CN116896749A (zh) | 2023-07-19 | 2023-07-19 | 车用远程升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310892899.1A CN116896749A (zh) | 2023-07-19 | 2023-07-19 | 车用远程升级方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116896749A true CN116896749A (zh) | 2023-10-17 |
Family
ID=88314688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310892899.1A Pending CN116896749A (zh) | 2023-07-19 | 2023-07-19 | 车用远程升级方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116896749A (zh) |
-
2023
- 2023-07-19 CN CN202310892899.1A patent/CN116896749A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762783B (zh) | 车辆系统的软件更新方法、装置及车辆系统 | |
CN107729757B (zh) | 软件更新之前的软件认证 | |
US9792440B1 (en) | Secure boot for vehicular systems | |
CN106569847B (zh) | 一种用于车载系统基于移动网络实现iap远程升级的方法 | |
CN109923518B (zh) | 用于安全关键系统的软件更新机制 | |
JP7176488B2 (ja) | データ保存装置、及びデータ保存プログラム | |
CN113645590A (zh) | 基于加密算法的远程控制车辆的方法、装置、设备及介质 | |
CN107656765A (zh) | 一种设备初始化的方法、系统及终端设备 | |
CN115437915A (zh) | 一种基于车辆的版本测试方法、装置及电子设备 | |
CN108920962B (zh) | 固件下载验签方法、固件发布方法、移动终端及服务器 | |
CN113885907A (zh) | 一种固件升级系统及方法 | |
JP6094523B2 (ja) | プログラム書き換え方法 | |
CN113093694A (zh) | 一种基于uds的车载电控单元数据刷写方法及系统 | |
CN113037850A (zh) | 一种应用程序升级方法、装置、电子设备及存储介质 | |
US20220391192A1 (en) | Ota master, center, system, method, non-transitory storage medium, and vehicle | |
CN116896749A (zh) | 车用远程升级方法、装置、设备及存储介质 | |
EP4075309A1 (en) | Secure boot device | |
CN115280280A (zh) | 用于朝向车辆的车载计算机的存储器更新包括物理地址的软件的更新方法和更新装置 | |
US11231878B2 (en) | Content modification control | |
CN114077729A (zh) | 车辆中汽车软件的加速验证 | |
CN114840241A (zh) | 一种数据处理方法以及相关设备 | |
Mukherjee et al. | Trusted Verification of Over-the-Air (OTA) Secure Software Updates on COTS Embedded Systems | |
CN114527994A (zh) | 固件的烧写方法、系统、车辆控制系统 | |
CN105512544A (zh) | 一种获取移动终端超级用户权限的方法及装置 | |
US20240211600A1 (en) | Method for reprogram with enhanced security |
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 |