CN115834558A - 基于车载应用的更新包校验方法、装置、设备及存储介质 - Google Patents
基于车载应用的更新包校验方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115834558A CN115834558A CN202211447471.8A CN202211447471A CN115834558A CN 115834558 A CN115834558 A CN 115834558A CN 202211447471 A CN202211447471 A CN 202211447471A CN 115834558 A CN115834558 A CN 115834558A
- Authority
- CN
- China
- Prior art keywords
- check value
- update package
- transmitted
- package
- determining
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种基于车载应用的更新包校验方法、装置、设备及存储介质。该方法应用于电子设备,电子设备中部署有总线开发环境,包括:基于总线开发环境,获取待传输的更新包,将待传输的更新包传输给电子控制单元;电子控制单元确定所接收到的更新包的校验值,将所接收到的更新包的校验值发送至总线开发环境;调用预设的可执行程序,根据可执行程序,确定待传输的更新包所对应的校验值;若待传输的更新包对应的校验值与接收到的更新包的校验值一致,则确定待传输的更新包校验通过。本申请由可执行程序计算校验值,再在总线开发环境中进行对比,减轻了总线开发环境中自身程序的运算压力,提高校验效率。
Description
技术领域
本申请涉及通信技术,尤其涉及一种基于车载应用的更新包校验方法、装置、设备及存储介质。
背景技术
随着车辆智能化的发展,分布式传统车载总线已无法满足车内ECU(ElectronicControl Unit,电子控制单元)间的通信需求,以太网技术被引入车载网络,车载网络架构的改变,带动了域控制器和车载操作系统的全面发展。
车载操作系统的发展会加快车载应用软件的更新频率,传统的软件更新方式是通过总线刷新驱动和应用数据,更新的数据量相对较少。而当前具有车载操作系统的ECU,应用软件的更新数据量成倍的增加,大量的数据在传输过程中容易出现错误或丢失,因此,需要在软件更新的过程中,对更新数据进行检验。
发明内容
本申请提供一种基于车载应用的更新包校验方法、装置、设备及存储介质,用以提高更新包的校验精度和效率。
第一方面,本申请提供一种基于车载应用的更新包校验方法,该方法应用于电子设备,所述电子设备中部署有总线开发环境,该包括:
基于所述总线开发环境,获取待传输的更新包,并将所述待传输的更新包传输给车辆的电子控制单元;其中,所述电子控制单元用于确定所接收到的更新包的校验值,并将所述所接收到的更新包的校验值发送至总线开发环境;所述校验值用于表示对更新包中的更新数据进行计算得到;
调用预设的可执行程序,根据所述可执行程序,确定所述待传输的更新包所对应的校验值;其中,所述可执行程序用于根据更新数据确定校验值;
若所述待传输的更新包所对应的校验值与从所述电子控制单元接收的所述接收到的更新包的校验值一致,则确定所述待传输的更新包校验通过。
第二方面,本申请提供一种基于车载应用的更新包校验装置,该装置应用于电子设备,所述电子设备中部署有总线开发环境,该装置包括:
更新包获取模块,用于基于所述总线开发环境,获取待传输的更新包,并将所述待传输的更新包传输给车辆的电子控制单元;其中,所述电子控制单元用于确定所接收到的更新包的校验值,并将所述所接收到的更新包的校验值发送至总线开发环境;所述校验值用于表示对更新包中的更新数据进行计算得到;
校验值确定模块,用于调用预设的可执行程序,根据所述可执行程序,确定所述待传输的更新包所对应的校验值;其中,所述可执行程序用于根据更新数据确定校验值;
更新包校验模块,用于若所述待传输的更新包所对应的校验值与从所述电子控制单元接收的所述接收到的更新包的校验值一致,则确定所述待传输的更新包校验通过。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如本申请第一方面所述的基于车载应用的更新包校验方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如本申请第一方面所述的基于车载应用的更新包校验方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如本申请第一方面所述的基于车载应用的更新包校验方法。
本申请提供的一种基于车载应用的更新包校验方法、装置、设备及存储介质,通过总线开发环境,获取待传输的更新包,将待传输的更新包发送给车辆的电子控制单元,由电子控制单元计算所接收到的更新包对应的校验值,并将该校验值发回总线开发环境。总线开发环境调用可执行程序,计算待传输的更新包的校验值,将计算出的校验值与从电子控制单元中接收到的校验值进行比较。若二者一致,则确定更新包校验通过,可以继续进行更新。通过对更新包进行校验,解决了现有技术中,在更新包传输到电子控制单元的过程中,数据丢失或被篡改的问题,保证应用正确更新。通过调用可执行程序,减轻总线开发环境的计算压力,避免待传输的更新包对应的校验值计算错误,提高更新包的校验精度和效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种基于车载应用的更新包校验方法的流程示意图;
图2为本申请实施例提供的一种基于车载应用的更新包校验方法的流程示意图;
图3为本申请实施例提供的数据交互的示意图;
图4为本申请实施例提供的一种基于车载应用的更新包校验装置的结构框图;
图5为本申请实施例提供的一种基于车载应用的更新包校验装置的结构框图;
图6为本申请实施例提供的一种电子设备的结构框图;
图7为本申请实施例提供的一种电子设备的结构框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要注意的是,由于篇幅所限,本申请说明书没有穷举所有可选的实施方式,本领域技术人员在阅读本申请说明书后,应该能够想到,只要技术特征不互相矛盾,那么技术特征的任意组合均可以构成可选的实施方式。下面对各实施例进行详细说明。
汽车智能化进程正在加快推进,分布式传统车载总线,例如,CAN(ControllerAreaNetwork,控制器局域网)总线和LIN(Local Interconnect Network,局域互联网络)总线等已无法满足车内ECU间的通信需求,以太网技术被引入车载网络,车载网络架构的改变,带动了域控制器和车载操作系统的全面发展。
车载操作系统和集成式的车载控制器正在蓬勃发展,软件的更新频率也逐渐加快。传统ECU软件更新方式是通过总线更新驱动和应用数据,更新的数据量相对较少。而当前具有车载操作系统的ECU,应用软件的更新是在操作系统上进行的,更新包数据通过总线方式传入操作系统,更新的数据量也成倍的增加,达到百M甚至上G的数据量。而在应用软件更新的过程中,需要校验更新包中数据的一致性。
应用更新时所使用的更新工具为CANoe(CAN Open Environment,总线开发环境),应用CANoe的CAPL(Communication Application Programming Laguage,通信应用程序编程语言)开发环境编写更新程序。当前对更新包中数据的校验方式可以是,使用CAPL程序自身进行更新数据的校验值的计算,再将计算出的校验值与预设的标准校验值进行比较。但是由于更新包的数据量太大,CANoe的算力有限,计算过程中容易出现卡死或错误,影响后续的更新流程,导致应用更新的效率和精度较低。
本申请提供的一种基于车载应用的更新包校验方法、装置、设备及存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1是根据本申请实施例提供的一种基于车载应用的更新包校验方法的流程示意图,该方法应用于电子设备,电子设备中部署有总线开发环境,该方法可以由一种基于车载应用的更新包校验装置执行。如图1所示,该方法包括以下步骤:
S101、基于总线开发环境,获取待传输的更新包,并将待传输的更新包传输给车辆的电子控制单元;其中,电子控制单元用于确定所接收到的更新包的校验值,并将所接收到的更新包的校验值发送至总线开发环境;校验值用于表示对更新包中的更新数据进行计算得到。
示例性地,电子设备中存储有各种车载应用的更新包,在对车载应用进行更新时,需要将电子设备中的更新包传输给车辆的ECU,由ECU进行应用的更新。例如,用户可以在电子设备上选择待传输的更新包,将待传输的更新包发送给ECU。
电子设备上部署有CANoe,CANoe作为应用的刷新工具,可以对更新包进行总线的传输。CANoe获取待传输的更新包,确定待传输的更新包在电子设备中的存储路径,将该存储路径放置在预设的数据库中,更新包的存储路径可以是数据库中所要存储的一个变量。即,每次进行应用更新时,都要将更新包的存储路径作为一个变量存储到预设的数据库中。
CANoe通过总线将待传输的更新包传输给车辆的ECU,ECU接收到该更新包后,对该更新包进行解析,确定ECU所接收到的更新包中的更新数据。ECU中预先设置有校验值的计算方法,校验值是对更新包中的更新数据进行计算所得到的数据,可以用于对ECU所接收的更新包进行校验。ECU根据预先设置的校验值计算方法,确定所接收到的更新包所对应的校验值,可以将该校验值确定为待验证校验值。例如,预先设置的校验值计算方法可以是,对所接收到的更新包中的更新数据进行哈希计算,将得到的哈希值作为待验证校验值。ECU在得到待验证校验值后,可以将待验证校验值发送给CANoe。
S102、调用预设的可执行程序,根据可执行程序,确定待传输的更新包所对应的校验值;其中,可执行程序用于根据更新数据确定校验值。
示例性地,CANoe在得到待传输的更新包后,除了将待传输的更新包发送给ECU,还需要对待传输的更新包中的更新数据进行校验值的计算。电子设备中可以预先编写有exe(executable program,可执行程序),可执行程序可以是基于C#语言开发一个exe程序,可以供CANoe调用。CANoe在将待传输的更新包发送给ECU时,可以调用exe程序,exe程序获取到待传输的更新包,并对待传输的更新包中的更新数据进行计算,得到待传输的更新包所对应的校验值,可以将该校验值确定为标准校验值。exe程序所获取到的待传输的更新包是没有被篡改或数据丢失的更新包,该更新包中的更新数据是正确且完整的更新数据,因此,exe程序所得到的标准校验值是正确的校验值。
CANoe将待传输的更新包的存储路径存储在预设的数据库中,exe程序可以从数据库中获取存储路径,根据存储路径得到待传输的更新包,从而对更新包中的更新数据进行校验值的计算。exe程序中可以定义与数据库的交互程序,用于读取和写入数据。
基于C#编写exe程序,可以单开一个校验值计算的进程,充分利用计算机的计算能力,显著提高计算效率,解决了更新包的数据量过大所造成的CANoe无法计算的问题。数据量过大时,CANoe的计算时间较长,且计算过程可能会卡死,容易导致更新过程中断。
S103、若待传输的更新包所对应的校验值与从电子控制单元接收的接收到的更新包的校验值一致,则确定待传输的更新包校验通过。
示例性地,CANoe获取到ECU传输来的待验证校验值以及exe程序计算出来的标准校验值,待验证校验值为ECU所接收到的更新包所对应的校验值,标准校验值为待传输的更新包所对应的校验值。
将待验证校验值与标准校验值进行比较,确定二者是否一致。若待验证校验值与标准校验值一致,则确定待传输的更新包校验通过。即ECU接收到的更新包就是CANoe获取到的待传输的更新包,在向ECU传输更新包的过程中,更新数据没有丢失或被篡改,ECU可以根据接收到的更新包进行应用的更新。
若待验证校验值与标准校验值不一致,则可以在电子设备上发出提示信息,提醒用户重新进行更新包的传输。
本实施例中,若待传输的更新包所对应的校验值与从电子控制单元接收的接收到的更新包的校验值一致,则确定更新包校验通过,包括:根据预设的校验值对比规则,确定接收到的更新包的校验值中位于预设位置处的字符,为第一字符,以及待传输的更新包所对应的校验值中位于预设位置处的字符,为第二字符;若第一字符和第二字符一致,则确定待传输的更新包校验通过。
具体的,可以预先设置校验值对比规则,在得到待验证校验值和标准校验值后,根据预设的校验值对比规则,确定更新包的校验是否通过。例如,校验值是由多个字符组成的字符串,校验值对比规则中可以规定,获取校验值中位于预设位置处的字符,例如,从校验值中获取排在最后两位的字符。从待验证校验值中获取预设位置处的字符,作为第一字符,以及从标准校验值中获取预设位置处的字符,作为第二字符。将第一字符与第二字符进行比较,确定第一字符与第二字符是否一致,若是,则认为待验证校验值和标准校验值一致,即待传输的更新包校验通过;若否,则认为待验证校验值和标准校验值不一致,待传输的更新包校验不通过,可以重新进行应用更新。
这样设置的有益效果在于,在进行校验值的对比时,可以只对两个校验值中的部分字符进行对比,而不需要将校验值中的各个字符依次进行比较,有效提高校验效率。
本实施例中,在确定待传输的更新包校验通过之后,还包括:基于总线开发环境,将校验通过的信息发送至车辆的电子控制单元,提示电子控制单元进行车载应用的更新。
具体的,若确定待传输的更新包校验通过,则CANoe可以通过总线向ECU发出校验通过的信息,ECU接收到校验通过的信息,可以采用所接收到的更新包中的更新数据对车载应用进行更新,完成应用的更新过程。
这样设置的有益效果在于,只有在校验通过的情况下,ECU才会进行更新,避免ECU对错误的更新包进行更新,提高更新的正确性。
本申请实施例提供的一种基于车载应用的更新包校验方法,通过总线开发环境,获取待传输的更新包,将待传输的更新包发送给车辆的电子控制单元,由电子控制单元计算所接收到的更新包对应的校验值,并将该校验值发回总线开发环境。总线开发环境调用可执行程序,计算待传输的更新包的校验值,将计算出的校验值与从电子控制单元中接收到的校验值进行比较。若二者一致,则确定更新包校验通过,可以继续进行更新。通过对更新包进行校验,解决了现有技术中,在更新包传输到电子控制单元的过程中,数据丢失或被篡改的问题,保证应用正确更新。通过调用可执行程序,减轻总线开发环境的计算压力,避免待传输的更新包对应的校验值计算错误,提高更新包的校验精度和效率。
图2为本申请实施例提供的一种基于车载应用的更新包校验方法的流程示意图,该实施例是在上述实施例基础上的可选实施例。
本实施例中,根据可执行程序,确定待传输的更新包所对应的校验值,可细化为:从待传输的更新包中获取所存在的更新数据,基于可执行程序中预设的校验值确定算法,确定待传输的更新包所对应的校验值;将待传输的更新包所对应的校验值存储至预设的数据库中;其中,数据库部署在总线开发环境中。
如图2所示,该方法包括以下步骤:
S201、基于总线开发环境,获取待传输的更新包,并将待传输的更新包传输给车辆的电子控制单元;其中,电子控制单元用于确定所接收到的更新包的校验值,并将所接收到的更新包的校验值发送至总线开发环境;校验值用于表示对更新包中的更新数据进行计算得到。
示例性地,本步骤可以参见上述步骤S101,不再赘述。
S202、调用预设的可执行程序,从待传输的更新包中获取所存在的更新数据,基于可执行程序中预设的校验值确定算法,确定待传输的更新包所对应的校验值。
示例性地,CANoe将待传输的更新包的存储路径存储到预设的数据库中,并调用exe程序。exe程序从预设的数据库中读取存储路径这一变量值,并根据存储路径从电子设备中获取待传输的更新包。一个更新包中可以包括多个更新数据,可执行程序中预设有校验值确定算法,根据校验值确定算法,从待传输的更新包中获取该更新包中所存在的更新数据,对待传输的更新包中的更新数据进行计算,得到待传输的更新包所对应的校验值,作为标准校验值。校验值确定算法可以与ECU中的校验值计算方法一致,保证在相同更新数据的情况下,exe程序计算出来的校验值与ECU计算出来的校验值一致。
S203、将待传输的更新包所对应的校验值存储至预设的数据库中。
示例性地,在得到待传输的更新包所对应的标准校验值后,可以将标准校验值存储在预设的数据库中,即,预设的数据库中的变量至少有两个,分别为更新包的存储路径和标准校验值。可以将存储路径确定为第一变量,将标准校验值确定为第二变量。CANoe可以随时从数据库中获取标准校验值,便于将标准校验值与待验证校验值进行比较。
ECU传给CANoe的待验证校验值也可以存储在预设的数据库中,作为第三变量。
本实施例中,数据库中存储有预设的初始校验值;将待传输的更新包所对应的校验值存储至预设的数据库中,包括:将待传输的更新包所对应的校验值替代预设的初始校验值,存储至预设的数据库中。
具体的,数据库中可以存储有一个初始校验值,初始校验值可以是0。在得到标准校验值后,可以将标准校验值代替初始校验值,即,从数据库中删除初始校验值,将标准校验值存储在数据库中。也就是说,在得到标准校验值之前,数据库中的第二变量为初始校验值,在得到标准校验值之后,数据库中的第二变量为标准校验值。
exe程序在计算校验值时,所计算出的标准校验值一定不是初始校验值。例如,初始校验值为0,待传输的更新包中只要存在更新数据,则对应的校验值就不会是0。因此,通过设置初始校验值可以确定待传输的更新包中是否存在更新数据。若计算出的标准校验值不是初始校验值,则将标准校验值替代预设的初始校验值,存储至预设的数据库中,等待CANoe进行获取;若计算出的标准校验值是初始校验值,则可以在电子设备上弹出提示信息,提醒用户检查存储路径中的待传输的更新包是否存在问题。
这样设置的有益效果在于,通过设置初始校验值,可以保证数据库中存在校验值这一变量,从而将标准校验值存储在初始校验值所在位置,便于CANoe获取标准校验值。且通过设置初始校验值,可以确定待传输的更新包中不为空,进一步提高校验精度。
S204、若待传输的更新包所对应的校验值与从电子控制单元接收的所述接收到的更新包的校验值一致,则确定待传输的更新包校验通过。
示例性地,CANoe可以随时从数据库中获取标准校验值,也可以在接收到待验证校验值后,再从数据库中获取标准校验值。例如,CANoe接收到待验证校验值,则获取数据库中当前所存储的校验值,将数据库中当前所存储的校验值确定为exe计算出的标准校验值。
也可以定时从数据库中获取校验值,若从数据库中获取到了两个校验值,则确定获取到了一个标准校验值和一个待验证校验值,将标准校验值和待验证校验值进行比较,完成更新包的校验。
本实施例中,在若待传输的更新包所对应的校验值与从电子控制单元接收的接收到的更新包的校验值一致之前,还包括:根据预设的校验值监测周期,获取数据库中当前存储的校验值;若数据库中当前存储的校验值不是初始校验值,则确定数据库中当前存储的校验值为待传输的更新包所对应的校验值,并将待传输的更新包所对应的校验值与从电子控制单元接收的接收到的更新包的校验值进行一致性比较。
具体的,预先设置校验值监测周期,CANoe根据校验值监测周期,从数据库中定时获取数据库中当前所存储的校验值。数据库中当前所存储的校验值可能是初始校验值,也可能是exe计算出的标准校验值。
确定数据库中当前所存储的校验值的数值是否为初始校验值的数值,若不是,则确定数据库中当前存储的校验值为待传输的更新包所对应的标准校验值,即,初始校验值已经被替换掉。可以将数据库中当前存储的校验值,也就是标准校验值,与ECU发送来的待验证校验值进行一致性比较。待验证校验值可以作为第三变量存储在数据库中的预设位置处,CANoe在获取数据库中当前存储的校验值时,获取的是第二变量所表示的校验值,不获取数据库中预设位置处的第三变量。
也可以在接收到ECU发送来的待验证校验值后,从数据库中获取当前存储着的校验值,判断当前存储着的校验值是否为初始校验值,若不是,则将当前存储的校验值与待验证校验值进行一致性比较。
这样设置的有益效果在于,通过将数据库中当前存储的校验值与初始校验值比较,可以确定exe程序是否计算出了标准校验值,若是,则进行一致性对比,避免将初始校验值与待验证校验值进行对比,提高对比精度,进而提高校验精度。
本实施例中,在根据预设的校验值监测周期,获取数据库中当前存储的校验值之后,还包括:若数据库中当前存储的校验值是初始校验值,则继续执行根据预设的校验值监测周期,获取数据库中当前存储的校验值。
具体的,将数据库中当前存储的校验值与初始校验值进行比较,若数据库中当前存储的校验值是初始校验值,则确定exe程序还未计算出标准校验值,可以继续按照预设的校验值监测周期,获取数据库中当前存储的校验值,直至数据库中当前存储的校验值不是初始校验值,则开始进行待验证校验值与标准校验值的一致性对比。图3为数据交互的示意图。exe程序对待传输的更新包中的更新数据进行计算,将计算得到的标准校验值存入数据库中,ECU对接收到的更新包中的更新数据进行计算,将计算得到的待验证校验值发送给CANoe。CANoe定期从数据库中获取当前存储着的校验值,并判断该校验值是否为初始校验值,若是,则继续从数据库中获取当前存储的校验值,进行循环读数;若不是,则跳出循环,并关闭exe程序,将标准校验值与待验证校验值进行比较。
这样设置的有益效果在于,CANoe可以不断地从数据库中读取校验值的数值,循环进行初始校验值的判断,便于及时发现exe程序得到的标准校验值,提高更新包的校验精度和效率。
本实施例中,在若数据库中当前存储的校验值是初始校验值之后,还包括:确定从获取到待传输的更新包开始到当前时刻之间的当前时间长度;若当前时间长度超过预设的时间长度阈值,则确定更新包校验不通过,并发出检查可执行程序的提示信息,提示用户进行查看。
具体的,CANoe在更新包的校验过程中可以进行计时,例如,可以从获取到待传输的更新包开始计时。CANoe在每次确定数据库中当前存储的校验值是初始校验值之后,确定所计时的时间长度,即,确定从获取到待传输的更新包开始,直至当前时刻之间的时间长度,作为当前时间长度。
预先设置一个时间长度阈值,将当前时间长度与时间长度阈值进行比较。若当前时间长度不过预设的时间长度阈值,则继续根据预设的校验值监测周期,获取数据库中当前存储的校验值;若当前时间长度超过预设的时间长度阈值,则说明CANoe已经循环了较长时间,exe程序仍然没有得到标准校验值,可以确定更新包的校验不通过,并发出检查可执行程序的提示信息,提示用户对exe程序进行查看。
还可以在CANoe获取数据库中存储的校验值后,记录CANoe获取数据库中存储的校验值的次数,作为当前获取次数。预先设置获取次数阈值,将当前获取次数与获取次数阈值进行比较,若当前获取次数不过预设的获取次数阈值,则继续根据预设的校验值监测周期,获取数据库中当前存储的校验值;若当前获取次数超过预设的获取次数阈值,则说明CANoe已经循环了较长时间,exe程序仍然没有得到标准校验值,可以确定更新包的校验不通过,并发出检查可执行程序的提示信息,提示用户对exe程序进行查看。
这样设置的有益效果在于,可以避免CANoe一直循环获取数据库中的校验值,在exe无法得到标准校验值时,及时跳出循环,提醒用户查看,提高更新包的校验效率。
本申请实施例提供的一种基于车载应用的更新包校验方法,通过总线开发环境,获取待传输的更新包,将待传输的更新包发送给车辆的电子控制单元,由电子控制单元计算所接收到的更新包对应的校验值,并将该校验值发回总线开发环境。总线开发环境调用可执行程序,计算待传输的更新包的校验值,将计算出的校验值与从电子控制单元中接收到的校验值进行比较。若二者一致,则确定更新包校验通过,可以继续进行更新。通过对更新包进行校验,解决了现有技术中,在更新包传输到电子控制单元的过程中,数据丢失或被篡改的问题,保证应用正确更新。通过调用可执行程序,减轻总线开发环境的计算压力,避免待传输的更新包对应的校验值计算错误,提高更新包的校验精度和效率。
图4为本申请实施例提供的一种基于车载应用的更新包校验装置的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。该装置应用于电子设备,电子设备中部署有总线开发环境,参照图4,所述装置包括:更新包获取模块401、校验值确定模块402和更新包校验模块403。
更新包获取模块401,用于基于所述总线开发环境,获取待传输的更新包,并将所述待传输的更新包传输给车辆的电子控制单元;其中,所述电子控制单元用于确定所接收到的更新包的校验值,并将所述所接收到的更新包的校验值发送至总线开发环境;所述校验值用于表示对更新包中的更新数据进行计算得到;
校验值确定模块402,用于调用预设的可执行程序,根据所述可执行程序,确定所述待传输的更新包所对应的校验值;其中,所述可执行程序用于根据更新数据确定校验值;
更新包校验模块403,用于若所述待传输的更新包所对应的校验值与从所述电子控制单元接收的所述接收到的更新包的校验值一致,则确定所述待传输的更新包校验通过。
图5为本申请实施例提供的一种基于车载应用的更新包校验装置的结构框图,在图4所示实施例的基础上,如图5所示,校验值确定模块402包括校验值计算单元4021和校验值存储单元4022。
校验值计算单元4021,用于从所述待传输的更新包中获取所存在的更新数据,基于所述可执行程序中预设的校验值确定算法,确定所述待传输的更新包所对应的校验值;
校验值存储单元4022,用于将所述待传输的更新包所对应的校验值存储至预设的数据库中。
一个示例中,数据库中存储有预设的初始校验值;
校验值存储单元4022,具体用于:
将所述待传输的更新包所对应的校验值替代所述预设的初始校验值,存储至预设的数据库中。
一个示例中,该装置还包括:
校验值获取模块,用于在若所述待传输的更新包所对应的校验值与从所述电子控制单元接收的所述接收到的更新包的校验值一致之前,根据预设的校验值监测周期,获取数据库中当前存储的校验值;
校验值比较模块,用于若所述数据库中当前存储的校验值不是所述初始校验值,则确定所述数据库中当前存储的校验值为所述待传输的更新包所对应的校验值,并将所述待传输的更新包所对应的校验值与从所述电子控制单元接收的所述接收到的更新包的校验值进行一致性比较。
一个示例中,该装置还包括:
循环执行模块,用于在根据预设的校验值监测周期,获取数据库中当前存储的校验值之后,若所述数据库中当前存储的校验值是所述初始校验值,则继续执行所述根据预设的校验值监测周期,获取数据库中当前存储的校验值。
一个示例中,该装置还包括:
当前时间长度确定模块,用于在若所述数据库中当前存储的校验值是所述初始校验值之后,确定从获取到所述待传输的更新包开始到当前时刻之间的当前时间长度;
时间比较模块,用于若所述当前时间长度超过预设的时间长度阈值,则确定更新包校验不通过,并发出检查可执行程序的提示信息,提示用户进行查看。
一个示例中,更新包校验模块403,具体用于:
根据预设的校验值对比规则,确定所述接收到的更新包的校验值中位于预设位置处的字符,为第一字符,以及所述待传输的更新包所对应的校验值中位于预设位置处的字符,为第二字符;
若所述第一字符和所述第二字符一致,则确定所述待传输的更新包校验通过。
一个示例中,该装置还包括:
校验通过模块,用于在确定所述待传输的更新包校验通过之后,基于所述总线开发环境,将校验通过的信息发送至车辆的电子控制单元,提示所述电子控制单元进行车载应用的更新。
图6为本申请实施例提供的一种电子设备的结构框图,如图6所示,电子设备包括:存储器61,处理器62;存储器61;用于存储处理器62可执行指令的存储器。
其中,处理器62被配置为执行如上述实施例提供的方法。
电子设备还包括接收器63和发送器64。接收器63用于接收其他设备发送的指令和数据,发送器64用于向外部设备发送指令和数据。
图7是根据一示例性实施例示出的一种电子设备的框图,该设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
设备700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(I/O)接口712,传感器组件714,以及通信组件716。
处理组件702通常控制设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为设备700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为设备700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如所述组件为设备700的显示器和小键盘,传感器组件714还可以检测设备700或设备700一个组件的位置改变,用户与设备700接触的存在或不存在,设备700方位或加速/减速和设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于设备700和其他设备之间有线或无线方式的通信。设备700可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由设备700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当该存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行上述终端设备的基于车载应用的更新包校验方法。
本申请还公开了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如本实施例中所述的方法。
本申请以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或电子设备上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据电子设备)、或者包括中间件部件的计算系统(例如,应用电子设备)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和电子设备。客户端和电子设备一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-电子设备关系的计算机程序来产生客户端和电子设备的关系。电子设备可以是云电子设备,又称为云计算电子设备或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。电子设备也可以为分布式系统的电子设备,或者是结合了区块链的电子设备。应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种基于车载应用的更新包校验方法,其特征在于,所述方法应用于电子设备,所述电子设备中部署有总线开发环境,所述方法包括:
基于所述总线开发环境,获取待传输的更新包,并将所述待传输的更新包传输给车辆的电子控制单元;其中,所述电子控制单元用于确定所接收到的更新包的校验值,并将所述所接收到的更新包的校验值发送至总线开发环境;所述校验值用于表示对更新包中的更新数据进行计算得到;
调用预设的可执行程序,根据所述可执行程序,确定所述待传输的更新包所对应的校验值;其中,所述可执行程序用于根据更新数据确定校验值;
若所述待传输的更新包所对应的校验值与从所述电子控制单元接收的所述接收到的更新包的校验值一致,则确定所述待传输的更新包校验通过。
2.根据权利要求1所述的方法,其特征在于,根据所述可执行程序,确定所述待传输的更新包所对应的校验值,包括:
从所述待传输的更新包中获取所存在的更新数据,基于所述可执行程序中预设的校验值确定算法,确定所述待传输的更新包所对应的校验值;
将所述待传输的更新包所对应的校验值存储至预设的数据库中。
3.根据权利要求2所述的方法,其特征在于,所述数据库中存储有预设的初始校验值;
将所述待传输的更新包所对应的校验值存储至预设的数据库中,包括:
将所述待传输的更新包所对应的校验值替代所述预设的初始校验值,存储至预设的数据库中。
4.根据权利要求3所述的方法,其特征在于,在若所述待传输的更新包所对应的校验值与从所述电子控制单元接收的所述接收到的更新包的校验值一致之前,还包括:
根据预设的校验值监测周期,获取数据库中当前存储的校验值;
若所述数据库中当前存储的校验值不是所述初始校验值,则确定所述数据库中当前存储的校验值为所述待传输的更新包所对应的校验值,并将所述待传输的更新包所对应的校验值与从所述电子控制单元接收的所述接收到的更新包的校验值进行一致性比较。
5.根据权利要求4所述的方法,其特征在于,在根据预设的校验值监测周期,获取数据库中当前存储的校验值之后,还包括:
若所述数据库中当前存储的校验值是所述初始校验值,则继续执行所述根据预设的校验值监测周期,获取数据库中当前存储的校验值。
6.根据权利要求5所述的方法,其特征在于,在若所述数据库中当前存储的校验值是所述初始校验值之后,还包括:
确定从获取到所述待传输的更新包开始到当前时刻之间的当前时间长度;
若所述当前时间长度超过预设的时间长度阈值,则确定更新包校验不通过,并发出检查可执行程序的提示信息,提示用户进行查看。
7.根据权利要求1所述的方法,其特征在于,若所述待传输的更新包所对应的校验值与从所述电子控制单元接收的所述接收到的更新包的校验值一致,则确定所述待传输的更新包校验通过,包括:
根据预设的校验值对比规则,确定所述接收到的更新包的校验值中位于预设位置处的字符,为第一字符,以及所述待传输的更新包所对应的校验值中位于预设位置处的字符,为第二字符;
若所述第一字符和所述第二字符一致,则确定所述待传输的更新包校验通过。
8.根据权利要求1-7中任一所述的方法,其特征在于,在确定所述待传输的更新包校验通过之后,还包括:
基于所述总线开发环境,将校验通过的信息发送至车辆的电子控制单元,提示所述电子控制单元进行车载应用的更新。
9.一种基于车载应用的更新包校验装置,其特征在于,所述装置应用于电子设备,所述电子设备中部署有总线开发环境,所述装置包括:
更新包获取模块,用于基于所述总线开发环境,获取待传输的更新包,并将所述待传输的更新包传输给车辆的电子控制单元;其中,所述电子控制单元用于确定所接收到的更新包的校验值,并将所述所接收到的更新包的校验值发送至总线开发环境;所述校验值用于表示对更新包中的更新数据进行计算得到;
校验值确定模块,用于调用预设的可执行程序,根据所述可执行程序,确定所述待传输的更新包所对应的校验值;其中,所述可执行程序用于根据更新数据确定校验值;
更新包校验模块,用于若所述待传输的更新包所对应的校验值与从所述电子控制单元接收的所述接收到的更新包的校验值一致,则确定所述待传输的更新包校验通过。
10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-8中任一项所述的基于车载应用的更新包校验方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8中任一项所述的基于车载应用的更新包校验方法。
12.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现如权利要求1-8中任一项所述的基于车载应用的更新包校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211447471.8A CN115834558A (zh) | 2022-11-18 | 2022-11-18 | 基于车载应用的更新包校验方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211447471.8A CN115834558A (zh) | 2022-11-18 | 2022-11-18 | 基于车载应用的更新包校验方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115834558A true CN115834558A (zh) | 2023-03-21 |
Family
ID=85529146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211447471.8A Pending CN115834558A (zh) | 2022-11-18 | 2022-11-18 | 基于车载应用的更新包校验方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115834558A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573172A (zh) * | 2024-01-15 | 2024-02-20 | 天津异乡好居网络科技股份有限公司 | 客户端更新方法、装置、设备及介质 |
-
2022
- 2022-11-18 CN CN202211447471.8A patent/CN115834558A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573172A (zh) * | 2024-01-15 | 2024-02-20 | 天津异乡好居网络科技股份有限公司 | 客户端更新方法、装置、设备及介质 |
CN117573172B (zh) * | 2024-01-15 | 2024-04-12 | 天津异乡好居网络科技股份有限公司 | 客户端更新方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9588805B2 (en) | Method and terminal device for controlling background application | |
RU2618937C2 (ru) | Способ, устройство обновления и устройство для обновления | |
US20200387795A1 (en) | Super network training method and device | |
EP3096224B1 (en) | Method and apparatus for processing application installation package | |
US11184314B2 (en) | Method and apparatus for prompting message reading state, and electronic device | |
CN105573472A (zh) | 一种关闭应用程序的方法和装置 | |
US20140380292A1 (en) | Method, device, and storage medium for upgrading operating system | |
CN115834558A (zh) | 基于车载应用的更新包校验方法、装置、设备及存储介质 | |
CN106648854A (zh) | 用于终端的任务执行方法及装置 | |
CN115499438A (zh) | 一种任务分配方法、装置、电子设备及存储介质 | |
CN112948704A (zh) | 用于信息推荐的模型训练方法、装置、电子设备以及介质 | |
CN112883314B (zh) | 一种请求处理方法及装置 | |
CN111723353A (zh) | 基于人脸识别的身份认证方法、装置、终端及存储介质 | |
CN113467854B (zh) | 应用程序启动方法、装置、电子设备及存储介质 | |
CN115080099A (zh) | 系统升级方法、设备、存储介质及程序产品 | |
CN114757056A (zh) | 基于安全目标的功能安全需求信息的确定方法及装置 | |
CN114493310A (zh) | 作业系统任务的风险值确定方法及设备 | |
CN113778687A (zh) | 内存分配信息处理方法、装置、电子设备及存储介质 | |
CN115687062A (zh) | 基于图像识别的应用测试方法及设备 | |
CN107391128B (zh) | 监控虚拟文件对象模型vdom的方法和装置 | |
CN111880912A (zh) | 控制电子设备的方法、装置及电子设备 | |
CN113590382B (zh) | Nfc功能的处理方法、装置及存储介质 | |
CN112068975B (zh) | 一种信息处理方法及装置 | |
CN114595003B (zh) | 应用启动方法、装置及存储介质 | |
US20220292347A1 (en) | Method and apparatus for processing information |
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 |