CN117544616A - 车端ota升级方法、装置、电子设备及可读存储介质 - Google Patents
车端ota升级方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117544616A CN117544616A CN202311425290.XA CN202311425290A CN117544616A CN 117544616 A CN117544616 A CN 117544616A CN 202311425290 A CN202311425290 A CN 202311425290A CN 117544616 A CN117544616 A CN 117544616A
- Authority
- CN
- China
- Prior art keywords
- version
- original
- cloud
- upgrading
- crc
- 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 61
- 238000012795 verification Methods 0.000 claims abstract description 75
- 238000010586 diagram Methods 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012360 testing method Methods 0.000 claims description 16
- 238000007689 inspection Methods 0.000 claims description 15
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000011076 safety test Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
- G06F8/658—Incremental updates; Differential 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/108—Source integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及软件升级技术领域,提供了一种车端OTA升级方法、装置、电子设备及可读存储介质。该方法包括:接收云端发送的差分升级包;确定原始版本中各原文件对应的原始CRC值;将原文件的文件名称与对应的原始CRC值以树状图的形式排列,作为原始CRC集合;基于接收到差分升级包,获取原始版本的版本信息,基于版本信息及原始CRC集合向云端发送校验请求,使云端判断原始CRC集合与通用CRC集合是否一致并作为校验结果;接收云端基于校验请求反馈的校验结果;当校验结果为不一致,基于云端下发的差异数据及差分升级包完成版本升级。本申请提供的车端OTA升级方法,提高了差分升级的效率及成功率。
Description
技术领域
本申请涉及软件升级技术领域,尤其涉及一种车端OTA升级方法、装置、电子设备及可读存储介质。
背景技术
现有技术中,差分升级作为空间下载技术(OvertheAirTechnology,OTA)中的一种常见技术,具有快速修复系统缺陷、快速迭代以提升使用体验、节约用户升级成本及占用空间小等优点。通过差分升级对车端当前版本进行升级时时,当前车端版本对应的数据信息需要与云端版本对应的数据信息保持一致,以便于定位差分的位置。
然而,在使用过程中,车端当前版本的数据信息可能与对应的云端版本的数据信息出现差异,可能造成通过差分进行OTA升级时升级失败,导致用户体验感不佳。
发明内容
有鉴于此,本申请实施例提供了一种车端OTA升级方法、装置、电子设备及可读存储介质,以解决现有技术中通过差分进行OTA升级时升级失败,导致用户体验感不佳的问题。
本申请实施例的第一方面,提供了一种车端OTA升级方法,应用于车端,包括:
接收云端发送的差分升级包;
确定原始版本中各原文件对应的原始CRC值,将所有原始CRC值按照对应的原文件的树状路径存储;
将原文件的文件名称与对应的原始CRC值以树状图的形式排列,作为原始CRC集合;
基于接收到差分升级包,获取原始版本的版本信息,基于版本信息及原始CRC集合向云端发送校验请求,以使云端判断原始CRC集合与通用CRC集合是否一致并作为校验结果,通用CRC集合对应通用版本,通用版本为云端存储的与版本信息一致的版本;
接收云端基于校验请求反馈的校验结果;
当校验结果为不一致,基于云端下发的差异数据及差分升级包完成版本升级,差异数据为通用版本与原始版本之间进行对比确定的差异部分的数据信息。
本申请实施例的第二方面,提供了OTA升级方法,应用于云端,包括:
接收车端发送的校验请求,校验请求包括版本信息及原始CRC集合;
基于版本信息,确定云端存储的版本信息对应的通用CRC集合;
比较原始CRC集合及通用CRC集合是否一致,得到校验结果;
若校验结果为不一致,基于原始CRC集合及通用CRC集合确定差异部分对应的数据信息,作为差异数据,并将差异数据封装至校验结果中;
将校验结果反馈至车端。
本申请实施例的第三方面,提供了一种车端OTA升级装置,应用于车端,包括:
第一接收模块,被配置为接收云端发送的差分升级包;
第一处理模块,被配置为确定原始版本中各原文件对应的原始CRC值,将所有原始CRC值按照对应的原文件的树状路径存储;
第二处理模块,被配置为将原文件的文件名称与对应的原始CRC值以树状图的形式排列,作为原始CRC集合;
第三处理模块,被配置为基于接收到差分升级包,获取原始版本的版本信息,基于版本信息及原始CRC集合向云端发送校验请求,以使云端判断原始CRC集合与通用CRC集合是否一致并作为校验结果,通用CRC集合对应通用版本,通用版本为云端存储的与版本信息一致的版本;
第二接收模块,被配置为接收云端基于校验请求反馈的校验结果;
第四处理模块,被配置为当校验结果为不一致,基于云端下发的差异数据及差分升级包完成版本升级,差异数据为通用版本与原始版本之间进行对比确定的差异部分的数据信息。
本申请实施例的第四方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
本申请实施例的第五方面,提供了一种可读存储介质,该可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:接收云端发送的差分升级包,确定原始版本中各原文件对应的原始CRC值,将所有原始CRC值按照对应的原文件的树状路径存储,并将原文件的文件名称与对应的原始CRC值以树状图的形式进行排列,作为原始CRC集合,能够清晰明确且直观的将原始版本中各原文件对应的原始CRC值与通用版本的通用CRC值进行对比,便于用户查看及通过算法将原始CRC集合及通用CRC集合进行对比,以确定当前车端版本与云端存储的通用版本之间的差异。接收到差分升级包后,向云端发送校验请求,以使云端能够判断原始CRC集合与通用CRC集合是否一致并作为校验结果,从而判断车端的原始版本中是否存在异常。其中,校验请求包括包括车端当前版本对应的车端CRC值和当前版本信息。接收云端反馈的校验结果,若校验结果为不一致,说明车端的原始版本中出现异常,需要按照云端的通用版本进行同步,对已同步的云端版本及接收到的差分升级包完成OTA升级,从而使车端能够按照通用版本及差分升级包完成版本升级,通用版本与云端的版本一致,保证了差分升级的环境一致,提高了差分升级的效率及成功率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例的一种应用场景的场景示意图;
图2是本申请实施例提供的一种车端OTA升级方法的流程示意图;
图3是本申请实施例提供的一种OTA升级方法的流程示意图;
图4是本申请实施例提供的一种车端OTA升级装置的示意图;
图5是本申请实施例提供的一种OTA升级装置的示意图;
图6是本申请实施例提供的电子设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
下面将结合附图详细说明根据本申请实施例的一种车端OTA升级方法和装置。
图1是本申请实施例的一种应用场景的场景示意图。该应用场景可以包括第一终端设备101、第二终端设备102和第三终端设备103、服务器104以及网络105。
第一终端设备101、第二终端设备102和第三终端设备103可以是硬件,也可以是软件。当第一终端设备101、第二终端设备102和第三终端设备103为硬件时,其可以是具有显示屏且支持与服务器104通信的各种电子设备,包括但不限于车辆系统、智能手机、平板电脑、膝上型便携计算机、车载电脑、车载计算机和台式计算机等;当第一终端设备101、第二终端设备102和第三终端设备103为软件时,其可以安装在如上所述的电子设备中。第一终端设备101、第二终端设备102和第三终端设备103可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本申请实施例对此不作限制。进一步地,第一终端设备101、第二终端设备102和第三终端设备103上可以安装有各种应用,例如数据处理应用、即时通信工具、社交平台软件、搜索类应用、购物类应用等。
服务器104可以是提供各种服务的服务器,例如,对与其建立通信连接的终端设备发送的请求进行接收的后台服务器,该后台服务器可以对终端设备发送的请求进行接收和分析等处理,并生成处理结果。服务器104可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本申请实施例对此不作限制。
需要说明的是,服务器104可以是硬件,也可以是软件。当服务器104为硬件时,其可以是为第一终端设备101、第二终端设备102和第三终端设备103提供各种服务的各种电子设备。当服务器104为软件时,其可以是为第一终端设备101、第二终端设备102和第三终端设备103提供各种服务的多个软件或软件模块,也可以是为第一终端设备101、第二终端设备102和第三终端设备103提供各种服务的单个软件或软件模块,本申请实施例对此不作限制。
网络105可以是采用同轴电缆、双绞线和光纤连接的有线网络,也可以是无需布线就能实现各种通信设备互联的无线网络,例如,蓝牙(Bluetooth)、近场通信(Near FieldCommunication,NFC)、红外(Infrared)等,本申请实施例对此不作限制。
需要说明的是,第一终端设备101、第二终端设备102和第三终端设备103、服务器104以及网络105的具体类型、数量和组合可以根据应用场景的实际需求进行调整,本申请实施例对此不作限制。
图2是本申请实施例提供的一种车端OTA升级方法的流程示意图。如图2所示,该车端OTA升级方法应用于车端,包括以下步骤:
S201,接收云端发送的差分升级包;
S202,确定原始版本中各原文件对应的原始CRC值,将所有原始CRC值按照对应的原文件的树状路径存储;
S203,将原文件的文件名称与对应的原始CRC值以树状图的形式排列,作为原始CRC集合;
S204,基于接收到差分升级包,获取原始版本的版本信息,基于版本信息及原始CRC集合向云端发送校验请求,以使云端判断原始CRC集合与通用CRC集合是否一致并作为校验结果;
S205,接收云端基于校验请求反馈的校验结果;
S2051,当校验结果为不一致,基于云端下发的差异数据及差分升级包完成版本升级。
其中,通用CRC集合对应通用版本,通用版本为云端存储的与版本信息一致的版本,差异数据为通用版本与原始版本之间进行对比确定的差异部分的数据信息。
图2的车端OTA升级方法应用于车端,车端可以由图1的第一终端设备、第二终端设备或第三终端设备实现,差分升级包由云端发送至车端,云端可以由图1的服务器实现。
本申请一示例性实施例中,车端接收云端发送的差分升级包,差分升级包中包含根据云端存储的根据通用版本及升级前版本确定的差分数据,其中,通用版本可以理解为升级之后的版本,升级前版本可以为任一升级前版本,通常为升级前的最新版本,也可以是其他版本,该差分升级包是进行版本升级的重要数据来源。
对原始版本中每一原文件计算原始CRC值,原始CRC值类似于原文件的特征值,原始CRC值根据原文件的内容不同,相互之间相同的概率不大,可以认为一个原始CRC值代表一个相对的原文件,也可以在各原始CRC值中加入对应原文件的片段,以区分各原始CRC值。将所有原始CRC值按照对应的原文件的树状路径存储,并将原文件的文件名称与对应的原始CRC值以树状图的形式排列,即将原始版本中的各文件夹作为根节点,各文件作为叶子节点,并将原文件的文件名称与对应的原始CRC值放在一起,作为原始CRC集合,从而在验证原始文件的时候,能够根据树状图快速找到对应的CRC值。
其中,CRC值为将各原文件的数据视为二进制数字序列,对其进行模二多项式除法,用预定的生成多项式作为除数,得到的余数为CRC值,其中,确定CRC值的过程中可应用多种生成多项式,生成多项式的长度决定了CRC值的精度,常见的有CRC-8、CRC-16、CRC-32等,CRC-8通常使用多项式x8+x2+x1+x0,CRC-16通常使用多项式x16+x15+x2+1,CRC-32通常使用多项式x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+x0,本申请实施例中,可以以CRC-16对应的生成多项式作为确定CRC值的生成多项式。
当车端检测到接收了差分升级包,获取原始版本的版本信息,根据版本信息和原始CRC集合想云端发送校验请求,该校验请求用于根据原始CRC集合和通用CRC集合是否一致,其中,通用CRC集合对应通用版本,通用版本是在云端存储的与车端上报的版本信息一致的版本。
接收云端根据校验请求反馈的校验结果,当校验结果为一致,说明原始版本与通用版本中存储的信息均相同,即原始版本没有被篡改,能够在车端原始版本的基础上根据差分升级包进行升级,将原始版本升级为最新版本;
当校验结果为不一致,根据云端下发的差异数据及差分升级包完成版本的升级,其中,差异数据是云端以通用版本为标准,对比原始版本与通用版本之间的差异从而确定的数据信息。
根据本申请实施例提供的技术方案,能够在车端按照差分升级包执行OTA升级之前将原始CRC值上传至云端,以使云端对比通用CRC值及原始CRC值的一致性,在不一致时,云端下发差异数据,从而使车端能够按照通用版本和差分升级包准确地完成版本的升级,保证了差分升级及差分还原的环境一致,提升了经过差分升级后的新版本的正确性和稳定性。
在一些实施例中,接收云端发送的差分升级包之后,还包括:
拦截差分升级包,对差分升级包进行安全性检查,得到检查结果;
当检查结果为未通过,删除差分升级包,并将检查结果发送至云端;
当检查结果为通过,执行基于接收到差分升级包,获取原始版本的版本信息,基于版本信息及原始CRC集合向云端发送校验请求的步骤。
车端首次接收到云端下发的该版本差分升级包时,可以通过车端的操作系统或特定的安全模块将差分升级包直接进行拦截,防止差分升级包直接被车端解压,造成难以挽回的局面。
将拦截下来的差分升级包按照预设检查方式进行安全性检查,预设检查方式包括安全检查模块或安全检查程序,以对差分升级包进行详细的安全性检查,安全性检查的目的为检查差分升级包的来源、完整性、具体内容等,以确保差分升级包不含有恶意代码或造成破坏性更新。
当检查结果为未通过,表征差分升级包存在安全风险,无法应用在车端,车端删除本次接收到的差分升级包,并将检查结果发送至云端,同时,也可以设置车端向用户发出提示信息,以提示用户更新失败,并建议重新尝试更新或使用其他可用且安全的更新方式进行更新;
当检查结果为通过,执行基于接收到差分升级包,获取原始版本的版本信息,基于版本信息及原始CRC集合向云端发送校验请求的步骤。
根据本申请实施例提供的技术方案,能够对车端接收到的差分升级包进行安全性检查,以确定车端在执行差分升级包的过程中的安全性,保证车端系统整体的安全性。
在一些实施例中,当校验结果为不一致,基于云端下发的差异数据及差分升级包完成版本升级,包括:
解压缩并解析差异数据及差分升级包,按照差异数据将原始版本还原为与对应的通用版本一致的还原版本;
按照差分升级包对还原版本完成版本升级。
车端确定接收到的差分升级包为安全的,接收得到差分升级包,将原始版本的原始CRC值发送至云端,以使远端判断原始CRC值与通用CRC值是否一致,当不一致,判定车端中现有原始版本与云端中存储的与原始版本的版本信息一致的通用版本之间包括有差异数据,接收云端发送的差异数据。
分别对差异数据及差分升级包执行解压缩及解析的操作,其中,解压缩操作可以是通过解压缩算法,例如AES加密解密算法等,对差分数据及差分升级包进行解压缩,并解析已解压缩的差异数据,以定位需要按照差异数据进行还原的原文件。
按照已解析的差异数据对原文件进行还原,例如,在还原过程中,若通用版本的文件比原文件内容更长,则将原文件的内容按照差异数据中的内容及定位进行填充,若通用版本的文件比原文件内容更短,则将原文件的内容按照差异数据指示的位置进行删除,得到与云端存储的通用版本完全一致的还原版本。
按照差分升级包对还原版本执行版本升级,升级后得到与云端当前最新版本一致的版本,以完成OTA升级,具体为:
对还原版本按照差分升级包进行差分升级,在差分升级包中包括差分字典,差分字典包括每一还原版本及云端最新版本之间的差异位置及在差异位置执行相应的升级处理的方法,其中,升级处理包括插入处理、删除处理及替换处理等。
其中,插入处理是指在还原版本中不存在的内容,需要插入新的内容以完成版本升级;删除处理是指云端的最新版本中不存在但还原版本中存在的内容,需要将其删除;替换处理是指在还原版本和云端的最新版本中均存在但不相同的内容,需要将其进行定位并替换,替换为云端的最新版本中的内容。
本申请提供的实施例中,通过差分字典记录差异位置及在差异位置执行的相应升级操作,也可以通过其他方式完成差分升级包对还原版本的版本升级,例如差分还原算法、标记差异位置、计算特征信息、按照键值对方式进行存储等方式。例如,通过特征信息在需要进行替换处理、增加处理或删除处理的差异位置的前后进行标记,如进行增加处理时,将文件内容按照“旧文a0-b0增加内容b0-a0旧文”的形式进行标记,即:在旧文中需要进行增加处理的内容前后的位置插入“a0”作为特征符号,作为增加内容的开始位置及结尾位置的标记,形成“旧文a0 a0旧文”的形式,在增加内容的开始字段之前标记“-b0”,在增加内容的结束字段之后标记“b0-”,以与旧文内容进行区分的同时能够将增加内容准确定位至旧文中,便于执行增加处理,可以预设进行标记的方式,以区分不同位置的标记。同理,在执行替换处理、删除处理时也能够对文件内容进行标记,以定位需要进行升级操作对应的旧文位置,也可以通过其他方式进行标记。
在按照差分升级包完成对还原版本的版本升级后,还可以对已完成升级的版本进行预设测试,预设测试中包括安全性测试及完整性测试,也可以包括其余测试,例如性能测试。其中,安全性测试用于测试已完成升级的还原版本是否仍然存在安全隐患、运行过程中是否会出现安全问题等,完整性测试用于检测已完成升级的还原版本是否使用差分升级包内的所有数据进行差分升级,防止遗漏升级数据,可通过算法实现,从而确保完成版本升级后满足预设条件并可投入使用。
根据本申请实施例提供的技术方案,能够在校验结果不一致的情况下,接收差分数据及差分升级包,根据差分数据还原原始版本,得到还原版本之后,按照差分升级包对还原版本执行差分升级操作,以完成对还原版本的版本升级,由于保证了差分升级包在车端的还原环境与在云端的生成环境一致,从而能够避免通过差分升级的方式对版本进行升级时出现错误的几率,提升差分升级的准确率及稳定性,提升用户体验。
在一些实施例中,接收云端基于校验请求反馈的校验结果,还包括:
当校验结果为一致,解压缩并解析差分升级包;
按照已解析的差分升级包完成版本升级。
车端接受到差分升级包,根据车端的原始CRC集合向云端发送校验请求,当云端根据校验请求反馈的校验结果为一致,即原始CRC集合与通用CRC集合一致,表征车端的版本数据中不存在与云端版本不一致的数据信息,车端的版本数据并未受到攻击、篡改或由于其他原因造成的与云端存储的版本不一致的数据信息。解压缩并解析差分升级包,在车端当前的原始版本上完成版本升级。
根据本申请实施例提供的技术方案,能够在校验结果为一致的情况下,无需接收云端发送的其余数据信息,能够尽可能的减少车端的数据存储量,节省流量的同时节省车端的存储空间,也能够提高车端处理数据的速度,从而提升用户体验。
图3是本申请实施例提供的一种OTA升级方法的流程示意图。如图3所示,该方法应用于云端,包括以下步骤:
S301,接收车端发送的校验请求;
S302,基于版本信息,确定云端存储的版本信息对应的通用CRC集合;
S303,比较原始CRC集合及通用CRC集合是否一致,得到校验结果;
S304,若校验结果为不一致,基于原始CRC集合及通用CRC集合确定差异部分对应的数据信息,作为差异数据,并将差异数据封装至校验结果中;
S305,将校验结果反馈至车端。
其中,校验请求包括版本信息及原始CRC集合。
本申请一示例性实施例中,云端接收车端发送的校验请求,校验请求中包括版本信息及原始CRC集合,其中,版本信息包括车辆识别码及版本号。云端根据版本信息中的版本号确定云端存储的该版本号对应的通用CRC集合,或根据车辆识别码确定该车辆当前的版本号,从而确定通用CRC集合。
其中,云端将各版本对应的通用CRC集合存储至数据库中。
确定通用CRC集合后,比较通过校验请求发送的原始CRC集合和通用CRC集合是否一致,以得到校验结果,当校验结果为不一致,以通用CRC集合为标准,确定原始CRC集合和通用CRC集合中的差异部分,差异部分包括增加、缺失或不同的部分,根据差异部分的各CRC值确定对应的数据信息,作为差异数据,将差异数据封装在校验结果中并反馈至车端;
当校验结果为一致,直接将校验结果反馈至车端;
在一些特殊情况下,例如无法将差异数据封装在校验结果中时,可以通过校验结果建议进行数据重传或者进行一些更复杂的操作。
根据本申请实施例提供的技术方案,能够将原始CRC集合发送至云端,以请求云端对比原始CRC集合和通用CRC集合,判断原始版本与通用版本之间是否存在差异数据,当存在差异数据时,将差异数据封装至校验结果中并反馈至车端,若不存在差异数据,向车端反馈校验结果,从而能够减小数据传输量,通过CRC值进行对比也可以降低云端的计算量。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图4是本申请实施例提供的一种车端OTA升级装置的示意图。如图4所示,应用于车端,该车端OTA升级装置包括:第一接收模块401,第一处理模块402,第二处理模块403,第三处理模块404,第二接收模块405,第四处理模块406,其中:
第一接收模块401,被配置为接收云端发送的差分升级包;
第一处理模块402,被配置为确定原始版本中各原文件对应的原始CRC值,将所有原始CRC值按照对应的原文件的树状路径存储;
第二处理模块403,被配置为将原文件的文件名称与对应的原始CRC值以树状图的形式排列,作为原始CRC集合;
第三处理模块404,被配置为基于接收到差分升级包,获取原始版本的版本信息,基于版本信息及原始CRC集合向云端发送校验请求,以使云端判断原始CRC集合与通用CRC集合是否一致并作为校验结果,通用CRC集合对应通用版本,通用版本为云端存储的与版本信息一致的版本;
第二接收模块405,被配置为接收云端基于校验请求反馈的校验结果;
第四处理模块406,被配置为当校验结果为不一致,基于云端下发的差异数据及差分升级包完成版本升级,差异数据为通用版本与原始版本之间进行对比确定的差异部分的数据信息。
在一些实施例中,第一接收模块401被配置为接收云端发送的差分升级包之后,还用于:
拦截差分升级包,对差分升级包进行安全性检查,得到检查结果;
当检查结果为未通过,删除差分升级包,并将检查结果发送至云端;
当检查结果为通过,执行基于接收到差分升级包,获取原始版本的版本信息,基于版本信息及原始CRC集合向云端发送校验请求的步骤。
在一些实施例中,第四处理模块406被配置为当校验结果为不一致,基于云端下发的差异数据及差分升级包完成版本升级,用于:
解压缩并解析差异数据及差分升级包,按照差异数据将原始版本还原为与对应的通用版本一致的还原版本;
按照差分升级包对还原版本完成版本升级。
在一些实施例中,差分升级包包括差分字典,第四处理模块406被配置为按照差分升级包对还原版本完成版本升级,用于:
按照差分字典定位还原版本中的差异位置;
在差异位置处执行相应的升级处理,升级处理包括插入处理、删除处理及替换处理。
在一些实施例中,第四处理模块406被配置为基于云端下发的差异数据及差分升级包完成版本升级之后,还用于:
对已完成升级的还原版本进行预设测试,预设测试包括安全性测试及完整性测试;
当已完成升级的还原版本通过所有预设测试后,结束版本升级。
在一些实施例中,第二接收模块405被配置为接收云端基于校验请求反馈的校验结果,还用于:
当校验结果为一致,解压缩并解析差分升级包;
按照已解析的差分升级包完成版本升级。
图5是本申请实施例提供的一种OTA升级装置的示意图。如图5所示,应用于云端,该OTA升级装置包括:第一控制模块501,第二控制模块502,判断模块503,第三控制模块504,第四控制模块505,其中:
第一控制模块501,被配置为接收车端发送的校验请求,校验请求包括版本信息及原始CRC集合;
第二控制模块502,被配置为基于版本信息,确定云端存储的版本信息对应的通用CRC集合;
判断模块503,被配置为比较原始CRC集合及通用CRC集合是否一致,得到校验结果;
第三控制模块504,被配置为若校验结果为不一致,基于原始CRC集合及通用CRC集合确定差异部分对应的数据信息,作为差异数据,并将差异数据封装至校验结果中;
第四控制模块505,被配置为将校验结果反馈至车端。
图6是本申请实施例提供的电子设备6的示意图。如图6所示,该实施例的电子设备6包括:处理器601、存储器602以及存储在该存储器602中并且可在处理器601上运行的计算机程序603。处理器601执行计算机程序603时实现上述各个方法实施例中的步骤。或者,处理器601执行计算机程序603时实现上述各装置实施例中各模块/单元的功能。
电子设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备6可以包括但不仅限于处理器601和存储器602。本领域技术人员可以理解,图6仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者不同的部件。
处理器601可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
存储器602可以是电子设备6的内部存储单元,例如,电子设备6的硬盘或内存。存储器602也可以是电子设备6的外部存储设备,例如,电子设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器602还可以既包括电子设备6的内部存储单元也包括外部存储设备。存储器602用于存储计算机程序以及电子设备所需的其它程序和数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质(例如可读存储介质)中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种车端OTA升级方法,其特征在于,应用于车端,包括:
接收云端发送的差分升级包;
确定原始版本中各原文件对应的原始CRC值,将所有所述原始CRC值按照对应的所述原文件的树状路径存储;
将所述原文件的文件名称与对应的原始CRC值以树状图的形式排列,作为所述原始CRC集合;
基于接收到所述差分升级包,获取所述原始版本的版本信息,基于所述版本信息及所述原始CRC集合向所述云端发送校验请求,以使所述云端判断所述原始CRC集合与通用CRC集合是否一致并作为校验结果,所述通用CRC集合对应通用版本,所述通用版本为所述云端存储的与所述版本信息一致的版本;
接收所述云端基于所述校验请求反馈的所述校验结果;
当所述校验结果为不一致,基于云端下发的差异数据及所述差分升级包完成版本升级,所述差异数据为所述通用版本与所述原始版本之间进行对比确定的差异部分的数据信息。
2.根据权利要求1所述的方法,其特征在于,接收云端发送的差分升级包之后,还包括:
拦截所述差分升级包,对所述差分升级包进行安全性检查,得到检查结果;
当所述检查结果为未通过,删除所述差分升级包,并将所述检查结果发送至所述云端;
当所述检查结果为通过,执行基于接收到所述差分升级包,获取所述原始版本的版本信息,基于所述版本信息及所述原始CRC集合向所述云端发送校验请求的步骤。
3.根据权利要求1所述的方法,其特征在于,当所述校验结果为不一致,基于云端下发的差异数据及所述差分升级包完成版本升级,包括:
解压缩并解析所述差异数据及所述差分升级包,按照所述差异数据将所述原始版本还原为与对应的所述通用版本一致的还原版本;
按照所述差分升级包对所述还原版本完成所述版本升级。
4.根据权利要求3所述的方法,其特征在于,所述差分升级包包括差分字典,按照所述差分升级包对所述还原版本完成所述版本升级,包括:
按照所述差分字典定位所述还原版本中的差异位置;
在所述差异位置处执行相应的升级处理,所述升级处理包括插入处理、删除处理及替换处理。
5.根据权利要求1所述的方法,其特征在于,基于云端下发的差异数据及所述差分升级包完成版本升级之后,还包括:
对已完成升级的还原版本进行预设测试,所述预设测试包括安全性测试及完整性测试;
当已完成升级的所述还原版本通过所有所述预设测试后,结束所述版本升级。
6.根据权利要求1至5中任一项所述的方法,其特征在于,接收所述云端基于所述校验请求反馈的所述校验结果,还包括:
当所述校验结果为一致,解压缩并解析所述差分升级包;
按照已解析的所述差分升级包完成所述版本升级。
7.一种OTA升级方法,其特征在于,应用于云端,包括:
接收车端发送的校验请求,所述校验请求包括版本信息及原始CRC集合;
基于所述版本信息,确定所述云端存储的所述版本信息对应的通用CRC集合;
比较所述原始CRC集合及所述通用CRC集合是否一致,得到校验结果;
若所述校验结果为不一致,基于所述原始CRC集合及所述通用CRC集合确定差异部分对应的数据信息,作为差异数据,并将所述差异数据封装至所述校验结果中;
将所述校验结果反馈至所述车端。
8.一种车端OTA升级装置,其特征在于,应用于车端,包括:
第一接收模块,被配置为接收云端发送的差分升级包;
第一处理模块,被配置为确定原始版本中各原文件对应的原始CRC值,将所有所述原始CRC值按照对应的所述原文件的树状路径存储;
第二处理模块,被配置为将所述原文件的文件名称与对应的原始CRC值以树状图的形式排列,作为所述原始CRC集合;
第三处理模块,被配置为基于接收到所述差分升级包,获取所述原始版本的版本信息,基于所述版本信息及所述原始CRC集合向所述云端发送校验请求,以使所述云端判断所述原始CRC集合与通用CRC集合是否一致并作为校验结果,所述通用CRC集合对应通用版本,所述通用版本为所述云端存储的与所述版本信息一致的版本;
第二接收模块,被配置为接收所述云端基于所述校验请求反馈的所述校验结果;
第四处理模块,被配置为当所述校验结果为不一致,基于云端下发的差异数据及所述差分升级包完成版本升级,所述差异数据为所述通用版本与所述原始版本之间进行对比确定的差异部分的数据信息。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述方法的步骤或权利要求7所述方法的步骤。
10.一种可读存储介质,所述可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述方法的步骤或权利要求7所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311425290.XA CN117544616A (zh) | 2023-10-30 | 2023-10-30 | 车端ota升级方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311425290.XA CN117544616A (zh) | 2023-10-30 | 2023-10-30 | 车端ota升级方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117544616A true CN117544616A (zh) | 2024-02-09 |
Family
ID=89792852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311425290.XA Pending CN117544616A (zh) | 2023-10-30 | 2023-10-30 | 车端ota升级方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117544616A (zh) |
-
2023
- 2023-10-30 CN CN202311425290.XA patent/CN117544616A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389177A (zh) | 一种软件版本确认方法、装置及系统 | |
CN106484453B (zh) | 一种实现系统升级的方法及装置 | |
CN104850427B (zh) | 一种代码升级方法及装置 | |
CN111880826A (zh) | 云业务应用升级方法、装置、电子设备和存储介质 | |
CN111897846A (zh) | 缓存数据校验方法、装置、设备及存储介质 | |
CN114461262A (zh) | 数据处理方法、系统、装置、设备,及计算机存储介质 | |
CN112817935A (zh) | 基于字段类型的数据处理方法、装置、设备及存储介质 | |
CN112286565A (zh) | 一种基于存储容器的嵌入式系统差分升级方法 | |
CN114185808A (zh) | 自动化测试方法、装置、电子设备及计算机可读存储介质 | |
CN111176685A (zh) | 一种升级方法及装置 | |
CN113037850A (zh) | 一种应用程序升级方法、装置、电子设备及存储介质 | |
CN112882743A (zh) | 一种软件升级的方法 | |
CN109871294B (zh) | 用于校验数据、处理请求的方法和装置 | |
CN117544616A (zh) | 车端ota升级方法、装置、电子设备及可读存储介质 | |
CN111143347A (zh) | 一种对象存储数据一致性测试方法、系统、终端及存储介质 | |
CN114968822A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN115018569A (zh) | 基于区块链的发票开具方法、发票报销方法、装置和设备 | |
CN113536309A (zh) | 软件完整性的检测方法、装置、电子装置和存储介质 | |
CN106528248A (zh) | 一种移动终端基于软件完整性的下载方法及系统 | |
CN113609215A (zh) | 数据处理方法、装置、设备与计算机可读存储介质 | |
CN111427607A (zh) | 配置文件修复方法、设备及计算机可读存储介质 | |
CN112783903A (zh) | 生成更新日志的方法和装置 | |
CN112732471A (zh) | 接口返回数据的纠错方法和纠错装置 | |
CN111142906B (zh) | 一种设备固件升级方案迭代的方法、装置与设备 | |
CN113778492B (zh) | 能力api的发布方法、装置、设备及存储介质 |
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 |