CN115333937A - 数据下载方法、装置及电子设备 - Google Patents
数据下载方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115333937A CN115333937A CN202210737055.5A CN202210737055A CN115333937A CN 115333937 A CN115333937 A CN 115333937A CN 202210737055 A CN202210737055 A CN 202210737055A CN 115333937 A CN115333937 A CN 115333937A
- Authority
- CN
- China
- Prior art keywords
- control unit
- upgrading
- address
- script
- downloading
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种数据下载方法、装置及电子设备。其中,该方法包括:接收云端发送的控制单元配置信息;发送第一升级地址至第一控制单元,第二升级地址与脚本更新地址至第二控制单元,以使第一控制单元依据第一升级地址下载第一升级包,第二控制单元依据第二升级地址下载第二升级包,依据脚本更新地址下载脚本包;接收第一控制单元发送的第一下载进度,以及第二控制单元发送的第二下载进度;在第一下载进度与第二下载进度均达到预定阈值的情况下,发送升级指令至第一控制单元与第二控制单元。本发明解决了相关技术中升级安装包下载到网关,再由网关内部组件进行分配下发到对应的控制单元上,存在的升级效率低下的技术问题。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据下载方法、装置及电子设备。
背景技术
当前整车网络架构多是分布式网络架构,由于当前空中下载技术OTA(Over-the-Air Technology)方案是将升级包通过上网接口传递到主控节点(一般是网关控制器),再通过主控节点内部OTA组件通过通信的形式对其他控制单元进行刷写,在全量升级包较大的条件下,需要主控节点有足够的存储空间,同时通信也需要足够的带宽支持,如果以上条件不能得到满足,那么通过以上方式进行升级刷写的效率将会得到大大的抑制。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据下载方法、装置及电子设备,以至少解决相关技术中升级安装包下载到网关,再由网关内部组件进行分配下发到对应的控制单元上,存在的升级效率低下的技术问题。
根据本发明实施例的一个方面,提供了一种数据下载方法,包括:接收云端发送的控制单元配置信息,其中,所述控制单元配置信息包括第一控制单元的第一升级地址、第二控制单元的第二升级地址和脚本更新地址,所述第一升级地址,所述第二升级地址和所述脚本更新地址均为云端中的升级地址;发送所述第一升级地址至所述第一控制单元,所述第二升级地址与所述脚本更新地址至所述第二控制单元,以使所述第一控制单元依据所述第一升级地址下载第一升级包,所述第二控制单元依据所述第二升级地址下载第二升级包,依据所述脚本更新地址下载脚本包;接收所述第一控制单元发送的第一下载进度,以及所述第二控制单元发送的第二下载进度;在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,发送升级指令至所述第一控制单元与所述第二控制单元。
可选地,接收云端发送的控制单元配置信息,包括:接收所述云端发送的所述控制单元配置信息,在所述控制单元配置信息还包括升级标识与脚本更新标识的情况下,依据所述预定控制单元配置信息,确定所述第一控制单元与所述第二控制单元,其中,所述第一控制单元为升级标识为需要升级、脚本更新标识为不需要更新的控制单元,所述第二控制单元为升级标识为需要升级,脚本更新标识为需要更新的控制单元。
可选地,还包括:在所述预定控制单元配置信息包括第一预存加密编码与第二预存加密编码的情况下,接收第一控制单元发送的第一加密编码与所述第二控制单元发送的第二加密编码,其中,所述第一加密编码为所述第一控制单元对所述第一升级包进行哈希运算得到的编码,第二加密编码为所述第二控制单元对所述第二升级包与所述脚本包进行哈希运算得到的编码;比对第一预存加密编码与第一加密编码,得到第一比对结果,以及比对所述第二预存加密编码与所述第二加密编码,得到第二比对结果;在所述第一比对结果与所述第二比对结果中存在比对错误的情况下,确定出现比对错误的错误控制单元,以及出现所述比对错误的原因。
可选地,还包括:在所述第一升级地址中包括的文件为所述第一升级包与第一签名升级包,所述第二升级地址中包括的文件为所述第二升级包与第二签名升级包,所述脚本更新地址中包括的文件为所述脚本包与签名脚本包的情况下,发送第一公钥至第一控制单元,第二公钥与第三公钥至第二控制单元,其中,所述第一签名升级包依据第一私钥对所述第一升级包签名得到,所述第二签名升级包依据第二私钥对所述第二升级包签名得到,所述签名脚本更新文件依据第三私钥对所述脚本包签名得到。
可选地,还包括:接收所述第一控制单元发送的第一下载错误信息,和/或,所述第二控制单元发送的第二下载错误信息,其中,所述第一下载错误信息包括第一错误码,所述第二下载错误信息包括第二错误码,所述第一错误码与所述第一控制单元中发生的第一故障相对应,所述第二错误码与所述第二控制单元中发生的第二故障相对应;依据所述第一下载错误信息和/或所述第二下载错误信息,确定所述第一错误信息和/或所述第二下载错误信息产生的原因。
可选地,所述在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,发送升级指令至所述第一控制单元与所述第二控制单元,包括:在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,发送脚本请求至所述第二控制单元;接收所述第二控制单元发送的所述脚本包;在接收所述脚本包完毕的情况下,发送所述升级指令至所述第一控制单元与所述第二控制单元。
可选地,所述在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,发送升级指令至所述第一控制单元与所述第二控制单元,包括:在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,确定预定设备的设备数据;依据所述设备数据,确定所述预定设备的设备状态;在所述设备状态满足预定条件的情况下,发送所述升级指令至所述第一控制单元与所述第二控制单元。
根据本发明实施例的一个方面,提供了一种数据下载装置,包括:第一接收模块,用于接收云端发送的控制单元配置信息,其中,所述控制单元配置信息包括第一控制单元的第一升级地址、第二控制单元的第二升级地址和脚本更新地址,所述第一升级地址与所述第二升级地址均为云端的升级地址;第一发送模块,用于发送所述第一升级地址至所述第一控制单元,所述第二升级地址与所述脚本更新地址至所述第二控制单元,以使所述第一控制单元依据所述第一升级地址下载第一升级包,所述第二控制单元依据所述第二升级地址下载第二升级包,依据所述脚本更新地址下载脚本包;第二接收模块,用于接收所述第一控制单元发送的第一下载进度,以及所述第二控制单元发送的第二下载进度;第二发送模块,用于在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,发送升级指令至所述第一控制单元与所述第二控制单元。
根据本发明实施例的一个方面,提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述任一项所述的数据下载方法。
根据本发明实施例的一个方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的数据下载方法。
在本发明实施例中,通过接收云端发送的控制单元配置信息,其中,控制单元配置信息包括第一控制单元的第一升级地址、第二控制单元的第二升级地址和脚本更新地址,第一升级地址,第二升级地址和脚本更新地址均为云端中的升级地址,直接将云端的第一升级地址发送至第一控制单元,第二升级地址与脚本更新地址发送至第二控制单元,以使第一控制单元能够直接依据云端上的第一升级地址下载第一升级包,第二控制单元依据云端上的第二升级地址下载第二升级包,依据云端上的脚本更新地址下载脚本包,直接从云端下载文件,避免了网关内部组件要先整体下载再分发的现象,并接收第一控制单元发送的第一下载进度,以及第二控制单元发送的第二下载进度,在第一下载进度与第二下载进度均达到预定阈值的情况下,发送升级指令至第一控制单元与第二控制单元,以便进行升级的操作,进而解决了相关技术中升级安装包下载到网关,再由网关内部组件进行分配下发到对应的控制单元上,存在的升级效率低下的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据下载方法的流程图;
图2是本发明可选实施方式中提供的方法的步骤流程图;
图3是本发明可选实施方式中提供的方法的接口示意图;
图4是根据本发明实施例的数据下载装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种数据下载方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的数据下载方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收云端发送的控制单元配置信息,其中,控制单元配置信息包括第一控制单元的第一升级地址、第二控制单元的第二升级地址和脚本更新地址,第一升级地址,第二升级地址和脚本更新地址均为云端中的升级地址;
步骤S104,发送第一升级地址至第一控制单元,第二升级地址与脚本更新地址至第二控制单元,以使第一控制单元依据第一升级地址下载第一升级包,第二控制单元依据第二升级地址下载第二升级包,依据脚本更新地址下载脚本包;
步骤S106,接收第一控制单元发送的第一下载进度,以及第二控制单元发送的第二下载进度;
步骤S108,在第一下载进度与第二下载进度均达到预定阈值的情况下,发送升级指令至第一控制单元与第二控制单元。
通过上述步骤,通过接收云端发送的控制单元配置信息,其中,控制单元配置信息包括第一控制单元的第一升级地址、第二控制单元的第二升级地址和脚本更新地址,第一升级地址,第二升级地址和脚本更新地址均为云端中的升级地址,直接将云端的第一升级地址发送至第一控制单元,第二升级地址与脚本更新地址发送至第二控制单元,以使第一控制单元能够直接依据云端上的第一升级地址下载第一升级包,第二控制单元依据云端上的第二升级地址下载第二升级包,依据云端上的脚本更新地址下载脚本包,直接从云端下载文件,避免了网关内部组件要先整体下载再分发的现象,并接收第一控制单元发送的第一下载进度,以及第二控制单元发送的第二下载进度,在第一下载进度与第二下载进度均达到预定阈值的情况下,发送升级指令至第一控制单元与第二控制单元,以便进行升级的操作,进而解决了相关技术中升级安装包下载到网关,再由网关内部组件进行分配下发到对应的控制单元上,存在的升级效率低下的技术问题。
需要说明的是,实施上述方法的场景可以为多种,例如,可以为车辆升级的场景。在场景为车辆升级的情况下,执行主体即为网关控制器,以执行步骤进行车辆中控制单元的升级。
作为一种可选的实施例,接收云端发送的控制单元配置信息,其中,控制单元配置信息还可以包括除第一控制单元的第一升级地址、第二控制单元的第二升级地址和脚本更新地址以外多种信息。在控制单元配置信息还包括升级标识与脚本更新标识的情况下,依据预定控制单元配置信息,确定第一控制单元与第二控制单元,其中,第一控制单元为升级标识为需要升级、脚本更新标识为不需要更新的控制单元,第二控制单元为升级标识为需要升级,脚本更新标识为需要更新的控制单元。即控制单元配置信息中有关于所有控制单元的列表信息,信息中记载着每个控制单元的升级标识与脚本更新标识,其中,升级标识可以确定控制单元是否需要升级,脚本更新标识可以确定控制单元是否要进行脚本的更新。通过确定出第一控制单元与第二控制单元,以便确定出对应的升级地址与脚本更新地址,加快了本申请的进程。
作为一种可选的实施例,预定控制单元配置信息还可以包括第一预存加密编码与第二预存加密编码,其中,第一预存加密编码是指对第一升级包进行哈希运算得到的编码,获取第一预存加密编码的操作可以在云端进行,由云端将第一预存加密编码发送至网关控制器;第二预存加密编码是指对第二升级包和脚本包进行哈希运算得到的编码,获取第二预存加密编码的操作可以在云端进行,由云端将第二预存加密编码发送至网关控制器。在预定控制单元配置信息包括第一预存加密编码与第二预存加密编码的情况下,接收第一控制单元发送的第一加密编码与第二控制单元发送的第二加密编码,其中,第一加密编码为第一控制单元对第一升级包进行哈希运算得到的编码,第二加密编码为第二控制单元对第二升级包与脚本包进行哈希运算得到的编码。比对第一预存加密编码与第一加密编码,得到第一比对结果,以及比对第二预存加密编码与第二加密编码,得到第二比对结果,即可以确定出控制单元下载的升级包和脚本包是否正确,在第一比对结果与第二比对结果中存在比对错误的情况下,确定出现比对错误的错误控制单元,以及出现比对错误的原因,以根据出现错误的原因对出现比对错误的错误控制单元进行相应的处理。其中,出现比对错误的原因可能为包下载错误,包下载过程中出现的内容缺失等等,要根据具体原因具体处理,执行重新下载或者重新获取对应的地址再下载的操作等,保证了下载的包是对应的,是正确的,保证了升级的准确性。
作为一种可选的实施例,也可以对升级地址和脚本更新地址中的文件进行加密操作,以保证安全性,保证文件数据没有被篡改,即可以获取多个密钥对,用私钥对包进行签名,将公钥发送给对应的控制单元,以进行相应的验签操作。在第一升级地址中包括的文件为第一签名升级包与第一升级包,第二升级地址中包括的文件为第二签名升级包与第二升级包,脚本更新地址中包括的文件为签名脚本包与脚本包的情况下,其中,第一签名升级包依据第一私钥对第一升级包签名得到,第二签名升级包依据第二私钥对第二升级包签名得到,签名脚本更新文件依据第三私钥对脚本包签名得到。发送第一公钥至第一控制单元,第二公钥与第三公钥至第二控制单元。以使第一控制单元能够依据第一公钥验证第一签名升级包,验证第一升级包是否为需要的升级包,是否在传输过程中被篡改,在没有被篡改的情况下,下载第一升级包,第二控制单元依据第二公钥和第三公钥验证第二签名升级包以及签名脚本包,验证第二升级包是否为需要的升级包,是否在传输过程中被篡改,在没有被篡改的情况下,下载第二升级包,验证脚本包是否为需要的脚本包,是否在传输过程中被篡改,在没有被篡改的情况下,下载脚本包。保障了文件的安全性,被有公钥的控制单元验证,保障文件数据的正确性,也保证了文件数据不被篡改,加强了升级过程的安全性。
作为一种可选的实施例,在第一控制单元与第二控制单元下载的过程中,还可能会接收第一控制单元发送的第一下载错误信息,和/或,第二控制单元发送的第二下载错误信息,其中,第一下载错误信息包括第一错误码,第二下载错误信息包括第二错误码,第一错误码与第一控制单元中发生的第一故障相对应,第二错误码与第二控制单元中发生的第二故障相对应。以能够依据第一下载错误信息和/或第二下载错误信息,确定第一错误信息和/或第二下载错误信息产生的原因,加快故障处理的效率。
作为一种可选的实施例,在第一下载进度与第二下载进度均达到预定阈值的情况下,发送升级指令至第一控制单元与第二控制单元的过程中,还可以包括如下步骤:在第一下载进度与第二下载进度均达到预定阈值的情况下,发送脚本请求至第二控制单元,接收第二控制单元发送的脚本包,在接收脚本包完毕的情况下,发送升级指令至第一控制单元与第二控制单元。使得网关控制器能够依据更新后的脚本包进行刷写升级。需要说明的是,在脚本包的容量过大的情况下,为了保证处理的效率,可以将脚本包分成预定容量的多个子脚本包,分段传输,避免效率低下的问题。
作为一种可选的实施例,在第一下载进度与第二下载进度均达到预定阈值的情况下,发送升级指令至第一控制单元与第二控制单元的过程中,还可以包括如下步骤:在第一下载进度与第二下载进度均达到预定阈值的情况下,确定预定设备的设备数据,其中,预定设备即为网关控制器控制的设备,例如,车辆。依据设备数据,确定预定设备的设备状态,在设备状态满足预定条件的情况下,发送升级指令至第一控制单元与第二控制单元,以便进行升级操作。在本可选实施例的实现场景为车辆的情况下,可以确定车辆的车辆数据,例如,速度数据等等,确定车辆的状态,即是否为行驶状态等等,以使车辆数据在满足预定条件的情况下,发送升级指令至第一控制单元与第二控制单元,以便进行升级操作。在该场景下,预定条件可以为车辆为静止状态等,预设条件也可以根据实际的场景与需要进行自主地设定。保证了设备在安全情况下进行升级操作,避免影响设备正常使用。
基于上述实施例及可选实施例,提供了一种可选实施方式,下面具体说明。
在相关技术中,目前乘用车OTA升级方案大致分为五个流程,分别是车云之间建立安全连接、OTA任务触发、升级包下载、安装准备、安装执行。目前在升级包下载时采用的技术是云端统一将安装包下载到网关再由网关内部组件进行分配下发,进而实现升级刷写,会出现效率低下的情况。
鉴于此,本发明可选实施方式中提供了一种基于SOME/IP(Scalable service-Oriented MiddlewarE over IP,基于IP的可扩展面向服务的中间件)服务调用的OTA独立下载升级方案,针对以上的场景将OTA升级方案进行优化升级,通过需要的升级包较大的控制单元(具备独立升级下载能力)进行独立下载升级包的方式进行升级,基于车载以太网网络环境,调用SOMEIP服务对整个升级流程进行管控,有效提高OTA升级效率。图2是本发明可选实施方式中提供的方法的步骤流程图,如图2所示,下面对本发明可选实施方式提供的方法进行介绍:
S1,网关控制器接收云端发送的控制单元配置信息,确定第一控制单元与第二控制单元,其中,第一控制单元为升级标识为需要升级、脚本更新标识为不需要更新的控制单元,第二控制单元为升级标识为需要升级,脚本更新标识为需要更新的控制单元;
在车辆与云端建立基本连接的基础上,OTA云端下发控制单元列表配置文件到车端,网关控制器通过T-box(Telematics BOX)上网接口收到控制单元列表配置文件。其中,配置文件包含升级的所有相关信息,即包括了升级标识,脚本更新标识,第一升级地址,第二升级地址,脚本更新地址,第一升级包名称,第二升级包名称,脚本包名称,第一公钥,第二公钥,第三公钥;其中,升级标识能够标识出自主下载的控制单元,即确定出独立下载的控制单元,脚本更新标识能够标识出脚本文件需要更新的控制单元。
S2,网关控制器发送报文至第一控制单元与第二控制单元;
需要说明的是,发送时通过SOMEIP报文的形式,发送含第一升级地址,第一公钥的报文至第一控制单元,发送含第二升级地址,脚本更新地址,第二公钥与第三公钥的报文至第二控制单元。
S3,第一控制单元,第二控制单元依据报文下载包;
第一控制单元用第一公钥从第一升级地址上对第一签名升级包进行验签,在验签通过的情况下,下载第一升级包;第二控制单元用第二公钥从第而升级地址上对第二签名升级包进行验签,在验签通过的情况下,下载第二升级包,以及用第三公钥从脚本更新地址上对签名脚本更新包进行验签,在验签通过的情况下,下载脚本更新包。
S4,第一控制单元,第二控制单元生成编码,并发送编码至网关控制器;
第一控制单元对第一升级包进行SHA256(Secure Hash Algorithm 2,一种密码散列函数算法标准)离散,得到第一BASE64(基于64个可打印字符来表示二进制数据)编码,第而控制单元对第二升级包与脚本更新包进行SHA256离散,得到第二BASE64编码。
S5,接收第一控制单元发送的第一下载进度,以及第二控制单元发送的第二下载进度,以及,接收第一控制单元发送的第一下载错误信息,和/或,第二控制单元发送的第二下载错误信息;
需要说明的是,第一下载错误信息包括第一错误码,第二下载错误信息包括第二错误码,第一错误码与第一控制单元中发生的第一故障相对应,第二错误码与第二控制单元中发生的第二故障相对应,以依据第一下载错误信息和/或第二下载错误信息,确定第一错误信息和/或第二下载错误信息产生的原因,并进行处理。
还需要说明的是,在下载过程中出现断电、断网等情况,控制单元支持断点续传功能,启动下载后如果收到取消下载请求,则控制单元取消上述下载流程,已下载部分保留7天周期,直到收到最新下载请求信息或者原请求信息。
S6,在第一下载进度与第二下载进度均完成的情况下,网关控制器依据编码确定控制单元的文件下载准确性;
需要说明的是,网关控制器预存了第一预存加密编码与第二预存加密编码,第一预存加密编码是指对第一升级包进行SHA256离散得到的编码,获取第一预存加密编码的操作可以在云端进行,由云端将第一预存加密编码发送至网关控制器;第二预存加密编码是指对第二升级包和脚本包进行SHA256离散得到的编码,获取第二预存加密编码的操作可以在云端进行,由云端将第二预存加密编码发送至网关控制器。比较第一预存加密编码与第一BASE64编码,第二预存加密编码与第二BASE64编码是否一致,若一致,则证明控制文件下载准确。
S7,网关控制器发送脚本请求至第二控制单元,接收第二控制单元发送的脚本包;
S8,在接收脚本包完毕的情况下,确定车辆的车辆数据,依据车辆数据,确定车辆状态;
S9,在接收脚本包完毕的情况下,确定车辆的车辆数据,依据车辆数据,确定车辆状态。
需要说明的是,上述通过SOMEIP报文的形式进行数据传输时,主要信息传递逻辑如下表所示,表1为数据传输示意表:
表1
其中,DownloadCmd:本结构体采用request-response的通信方式,主要包含网关控制器向控制单元传输的启动/终止下载命令信息、下载包的=地址和长度以及下载包的加密方式及密钥信息等。DownloadStatus:本结构体采用notification的通信方式,包含控制单元在下载状态或者错误码出现变化时向网关回传下载状态信息,包含已下载的长度信息等。FileName:本结构体采用request-response的通信方式,包含网关控制器向控制单元请求的校验文件信息。FileInfo:本结构体采用request-response的通信方式,主要包含控制单元下载包的SHA256文件的BASE64编码信息回传。PktScipt:本结构体采用request-response的通信方式,主要包含更新后的刷写脚本文件长度及数据。
图3是本发明可选实施方式中提供的方法的接口示意图,如图3所示,独立下载相关API包含了独立下载交互的所有必要接口。图3中,云端-T-box-Https API-Dmclient即为网关控制器与云端交互过程中的结构示意,独立下载ECU(控制单元)-独立下载相关API-Update Agent即为网关控制器与控制单元交互过程中的结构示意图,车身控制器-车控API-信息安全服务器即为下载后确定车辆状态执行升级过程中的结构示意图。其中,通过独立下载相关API将下载地址等信息传到需要执行独立下载的控制单元,并进行安全认证和校验,通过下载管理器(DMClient)完成文件下载、验签、加密与安全认证等工作。本发明针对独立下载相关接口的设计定义如下表2所示,表2为独立下载相关接口设计:
表2
接口名称 | 输入参数 | 输出参数 |
GW_XX_DownloadCmd | ECU ID、OTA状态参数、下载信息 | - |
GW_XX_FileInfo | ECU ID、下载包文件名 | 下载包SHA256文件BASE64编码 |
GW_XX_PktScipt | ECU ID、下载包文件名 | 更新后的下载包文件 |
GW_XX_DownloadStatus | - | 独立下载状态以及错误码的更新 |
注:_XX代表控制单元;GW_XX_DownloadCmd实现独立下载请求交互;GW_XX_FileInfo实现校验文件回传;GW_XX_PktScipt实现云端下载更新脚本传输;GW_XX_DownloadStatus实现控制单元状态反馈。
通过上述可选实施方式,可以达到至少以下几点有益效果:
(1)通过独立下载的方式,避免OTA升级时主控制器存储限制以及由其带来的大容量升级包的传输时长,节约时间成本;
(2)控制独立下载流程的通信矩阵设计,通过SOMEIP报文来管理独立下载的整个流程,使独立下载可控可显示。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述数据下载方法的装置,图4是根据本发明实施例的数据下载装置的结构框图,如图4所示,该装置包括:第一接收模块402,第一发送模块404,第二接收模块406和第二发送模块408,下面对该装置进行详细说明。
第一接收模块402,用于接收云端发送的控制单元配置信息,其中,控制单元配置信息包括第一控制单元的第一升级地址、第二控制单元的第二升级地址和脚本更新地址,第一升级地址与第二升级地址均为云端的升级地址;第一发送模块404,连接于上述第一接收模块402,用于发送第一升级地址至第一控制单元,第二升级地址与脚本更新地址至第二控制单元,以使第一控制单元依据第一升级地址下载第一升级包,第二控制单元依据第二升级地址下载第二升级包,依据脚本更新地址下载脚本包;第二接收模块406,连接于上述第一发送模块404,用于接收第一控制单元发送的第一下载进度,以及第二控制单元发送的第二下载进度;第二发送模块408,连接于上述第二接收模块406,用于在第一下载进度与第二下载进度均达到预定阈值的情况下,发送升级指令至第一控制单元与第二控制单元。
此处需要说明的是,上述第一接收模块402,第一发送模块404,第二接收模块406和第二发送模块408对应于实施数据下载方法中的步骤S102至步骤S108,多个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。
实施例3
根据本发明实施例的另外一个方面,还提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器,其中,处理器被配置为执行指令,以实现上述任一项的数据下载方法。
实施例4
根据本发明实施例的另外一个方面,还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项的数据下载方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据下载方法,其特征在于,包括:
接收云端发送的控制单元配置信息,其中,所述控制单元配置信息包括第一控制单元的第一升级地址、第二控制单元的第二升级地址和脚本更新地址,所述第一升级地址,所述第二升级地址和所述脚本更新地址均为云端中的升级地址;
发送所述第一升级地址至所述第一控制单元,所述第二升级地址与所述脚本更新地址至所述第二控制单元,以使所述第一控制单元依据所述第一升级地址下载第一升级包,所述第二控制单元依据所述第二升级地址下载第二升级包,依据所述脚本更新地址下载脚本包;
接收所述第一控制单元发送的第一下载进度,以及所述第二控制单元发送的第二下载进度;
在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,发送升级指令至所述第一控制单元与所述第二控制单元。
2.根据权利要求1所述的方法,其特征在于,接收云端发送的控制单元配置信息,包括:
接收所述云端发送的所述控制单元配置信息,在所述控制单元配置信息还包括升级标识与脚本更新标识的情况下,依据所述预定控制单元配置信息,确定所述第一控制单元与所述第二控制单元,其中,所述第一控制单元为升级标识为需要升级、脚本更新标识为不需要更新的控制单元,所述第二控制单元为升级标识为需要升级,脚本更新标识为需要更新的控制单元。
3.根据权利要求1所述的方法,其特征在于,还包括:
在所述预定控制单元配置信息包括第一预存加密编码与第二预存加密编码的情况下,接收第一控制单元发送的第一加密编码与所述第二控制单元发送的第二加密编码,其中,所述第一加密编码为所述第一控制单元对所述第一升级包进行哈希运算得到的编码,第二加密编码为所述第二控制单元对所述第二升级包与所述脚本包进行哈希运算得到的编码;
比对第一预存加密编码与第一加密编码,得到第一比对结果,以及比对所述第二预存加密编码与所述第二加密编码,得到第二比对结果;
在所述第一比对结果与所述第二比对结果中存在比对错误的情况下,确定出现比对错误的错误控制单元,以及出现所述比对错误的原因。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述第一升级地址中包括的文件为所述第一升级包与第一签名升级包,所述第二升级地址中包括的文件为所述第二升级包与第二签名升级包,所述脚本更新地址中包括的文件为所述脚本包与签名脚本包的情况下,发送第一公钥至第一控制单元,第二公钥与第三公钥至第二控制单元,其中,所述第一签名升级包依据第一私钥对所述第一升级包签名得到,所述第二签名升级包依据第二私钥对所述第二升级包签名得到,所述签名脚本更新文件依据第三私钥对所述脚本包签名得到。
5.根据权利要求1所述的方法,其特征在于,还包括:
接收所述第一控制单元发送的第一下载错误信息,和/或,所述第二控制单元发送的第二下载错误信息,其中,所述第一下载错误信息包括第一错误码,所述第二下载错误信息包括第二错误码,所述第一错误码与所述第一控制单元中发生的第一故障相对应,所述第二错误码与所述第二控制单元中发生的第二故障相对应;
依据所述第一下载错误信息和/或所述第二下载错误信息,确定所述第一错误信息和/或所述第二下载错误信息产生的原因。
6.根据权利要求1所述的方法,其特征在于,所述在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,发送升级指令至所述第一控制单元与所述第二控制单元,包括:
在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,发送脚本请求至所述第二控制单元;
接收所述第二控制单元发送的所述脚本包;
在接收所述脚本包完毕的情况下,发送所述升级指令至所述第一控制单元与所述第二控制单元。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,发送升级指令至所述第一控制单元与所述第二控制单元,包括:
在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,确定预定设备的设备数据;
依据所述设备数据,确定所述预定设备的设备状态;
在所述设备状态满足预定条件的情况下,发送所述升级指令至所述第一控制单元与所述第二控制单元。
8.一种数据下载装置,其特征在于,包括:
第一接收模块,用于接收云端发送的控制单元配置信息,其中,所述控制单元配置信息包括第一控制单元的第一升级地址、第二控制单元的第二升级地址和脚本更新地址,所述第一升级地址与所述第二升级地址均为云端的升级地址;
第一发送模块,用于发送所述第一升级地址至所述第一控制单元,所述第二升级地址与所述脚本更新地址至所述第二控制单元,以使所述第一控制单元依据所述第一升级地址下载第一升级包,所述第二控制单元依据所述第二升级地址下载第二升级包,依据所述脚本更新地址下载脚本包;
第二接收模块,用于接收所述第一控制单元发送的第一下载进度,以及所述第二控制单元发送的第二下载进度;
第二发送模块,用于在所述第一下载进度与所述第二下载进度均达到预定阈值的情况下,发送升级指令至所述第一控制单元与所述第二控制单元。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的数据下载方法。
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的数据下载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210737055.5A CN115333937B (zh) | 2022-06-27 | 2022-06-27 | 数据下载方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210737055.5A CN115333937B (zh) | 2022-06-27 | 2022-06-27 | 数据下载方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115333937A true CN115333937A (zh) | 2022-11-11 |
CN115333937B CN115333937B (zh) | 2023-09-01 |
Family
ID=83918335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210737055.5A Active CN115333937B (zh) | 2022-06-27 | 2022-06-27 | 数据下载方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115333937B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016206759A (ja) * | 2015-04-17 | 2016-12-08 | 京セラドキュメントソリューションズ株式会社 | ソフトウェア・アップデート・システムおよび管理サーバー |
CN108241517A (zh) * | 2018-02-23 | 2018-07-03 | 武汉斗鱼网络科技有限公司 | 一种软件升级方法、客户端及电子设备 |
CN108509211A (zh) * | 2018-02-07 | 2018-09-07 | 深圳壹账通智能科技有限公司 | 应用程序升级方法、装置、移动终端和存储介质 |
CN109787774A (zh) * | 2019-01-15 | 2019-05-21 | 浙江吉利汽车研究院有限公司 | 基于数字签名校验的升级下载方法、装置、服务器及终端 |
CN110032382A (zh) * | 2019-03-25 | 2019-07-19 | 深圳猛犸电动科技有限公司 | 一种汽车电子控制单元升级方法、系统及终端设备 |
CN111158718A (zh) * | 2019-12-26 | 2020-05-15 | 智车优行科技(北京)有限公司 | 本地通讯服务器及其ota升级方法和云端服务器 |
CN111478897A (zh) * | 2020-04-03 | 2020-07-31 | 爱瑟福信息科技(上海)有限公司 | 车辆ecu的ota升级方法及其系统 |
CN111510485A (zh) * | 2020-04-10 | 2020-08-07 | 东风小康汽车有限公司重庆分公司 | 一种ota升级包下载方法、装置、车辆端以及服务器 |
CN113515247A (zh) * | 2021-05-19 | 2021-10-19 | 宝能(广州)汽车研究院有限公司 | 一种升级进度展示方法、装置、设备和介质 |
-
2022
- 2022-06-27 CN CN202210737055.5A patent/CN115333937B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016206759A (ja) * | 2015-04-17 | 2016-12-08 | 京セラドキュメントソリューションズ株式会社 | ソフトウェア・アップデート・システムおよび管理サーバー |
CN108509211A (zh) * | 2018-02-07 | 2018-09-07 | 深圳壹账通智能科技有限公司 | 应用程序升级方法、装置、移动终端和存储介质 |
CN108241517A (zh) * | 2018-02-23 | 2018-07-03 | 武汉斗鱼网络科技有限公司 | 一种软件升级方法、客户端及电子设备 |
CN109787774A (zh) * | 2019-01-15 | 2019-05-21 | 浙江吉利汽车研究院有限公司 | 基于数字签名校验的升级下载方法、装置、服务器及终端 |
CN110032382A (zh) * | 2019-03-25 | 2019-07-19 | 深圳猛犸电动科技有限公司 | 一种汽车电子控制单元升级方法、系统及终端设备 |
CN111158718A (zh) * | 2019-12-26 | 2020-05-15 | 智车优行科技(北京)有限公司 | 本地通讯服务器及其ota升级方法和云端服务器 |
CN111478897A (zh) * | 2020-04-03 | 2020-07-31 | 爱瑟福信息科技(上海)有限公司 | 车辆ecu的ota升级方法及其系统 |
CN111510485A (zh) * | 2020-04-10 | 2020-08-07 | 东风小康汽车有限公司重庆分公司 | 一种ota升级包下载方法、装置、车辆端以及服务器 |
CN113515247A (zh) * | 2021-05-19 | 2021-10-19 | 宝能(广州)汽车研究院有限公司 | 一种升级进度展示方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115333937B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220276855A1 (en) | Method and apparatus for processing upgrade package of vehicle | |
CN108701039B (zh) | 用于无线更新车辆的软件的方法和设备 | |
CN104811484B (zh) | Fota升级方法和装置 | |
US20220326938A1 (en) | Upgrade method and apparatus | |
CN109391673A (zh) | 一种管理更新文件的方法、系统及终端设备 | |
CN111886576A (zh) | 用于更新远程网络设备的方法和装置 | |
CN112422595B (zh) | 车载系统安全保护方法及设备 | |
WO2022142153A1 (zh) | 电表升级方法、系统、智能电表及存储介质 | |
CN114124917A (zh) | 一种地锁固件远程升级方法、设备、系统和介质 | |
Buschlinger et al. | Plug-and-patch: Secure value added services for electric vehicle charging | |
CN111880781A (zh) | 一种rpm安装包的生成方法、装置、设备及存储介质 | |
CN115333937A (zh) | 数据下载方法、装置及电子设备 | |
CN115361119A (zh) | 车载设备软件的批量升级方法及装置 | |
CN111932326B (zh) | 一种基于区块链网络的数据处理方法及相关设备 | |
CN115150162A (zh) | 一种根证书更新方法、装置 | |
CN108134683B (zh) | 一种终端及总线架构的实现方法 | |
CN116107612B (zh) | 固件空中升级装置、充电桩、设备、方法及程序产品 | |
US20240119763A1 (en) | In-vehicle communication system, data structure of reprogramming policy metadata, and data structure of download metadata | |
CN117336174A (zh) | 软件升级方法、电子设备及计算机可读存储介质 | |
CN116700895A (zh) | k8s集群应用的数据获取系统、方法、设备及介质 | |
CN117711595A (zh) | 输注设备升级方法、输注设备升级系统以及医疗设备 | |
CN117597683A (zh) | 中心装置、车辆侧系统、内容的保护方法以及内容保护用程序 | |
CN117561500A (zh) | 车载通信系统、中心装置、车辆侧系统以及车载通信的更新数据验证方法 | |
CN117675575A (zh) | 车辆远程升级数据包的处理方法及电子设备 | |
CN115766243A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |