CN116980289A - 车辆升级方法、装置、电子设备、车辆及存储介质 - Google Patents
车辆升级方法、装置、电子设备、车辆及存储介质 Download PDFInfo
- Publication number
- CN116980289A CN116980289A CN202310797401.3A CN202310797401A CN116980289A CN 116980289 A CN116980289 A CN 116980289A CN 202310797401 A CN202310797401 A CN 202310797401A CN 116980289 A CN116980289 A CN 116980289A
- Authority
- CN
- China
- Prior art keywords
- upgraded
- file
- ecu
- upgrade
- files
- 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 60
- 238000012545 processing Methods 0.000 claims description 49
- 238000005192 partition Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 239000004973 liquid crystal related substance Substances 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- 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
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
Abstract
本公开提供了车辆升级方法、装置、电子设备、车辆及存储介质,涉及人工智能领域,尤其涉及智能驾驶、自动驾驶等技术领域。具体实现方案为:获取待升级集合包,待升级集合包中包括配置信息以及多个待升级ECU的升级文件,且待升级集合包中的多个升级文件的文件类型相同;基于配置信息中记录的各升级文件和待升级ECU的对应关系,对多个升级文件进行分类,得到各待升级ECU分别对应的升级文件子集;将各升级文件子集发送给对应的待升级ECU。本公开中,将同一文件类型的升级文件打包在同一待升级集合包中,可基于文件类型粒度进行升级,对ECU的存储空间没有严格要求,具有较高的适用性。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及智能驾驶、自动驾驶等技术领域。
背景技术
汽车行业,往往需要对车辆进行升级。OTA(Over-the-Air Technology,空中下载技术)是通过移动通信的空中接口实现对终端设备及SIM(Subscriber Identity Module,用户身份识别)卡数据进行远程管理的技术。经过公网多年的应用与发展,已十分成熟。车辆升级也亦可通过OTA技术实现。
OTA升级时,车辆通过HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)协议把整车待升级集合包下载至到指定存储位置。然后对整车待升级集合包进行解压,再由主控ECU(Electronic Control Unit,电子控制器)把对应待升级集合包通过传输协议分发到各个需要升级的ECU完成升级。然而,随着技术的发展,待升级集合包越来越大,整车待升级集合包存储在本地,需要大量存储空间。如果需要本地解密、解压分包、差分还原等操作,需要预留待升级集合包多倍以上的存储空间。并且整车升级时,需要升级的ECU数量较多,对存储空间的要求就更为迫切。
发明内容
本公开提供了车辆升级方法、装置、电子设备、车辆及存储介质。
根据本公开的一方面,提供了一种车辆升级方法,包括:
获取待升级集合包,待升级集合包中包括配置信息以及多个待升级ECU的升级文件,且待升级集合包中的多个升级文件的文件类型相同;
基于配置信息中记录的各升级文件和待升级ECU的对应关系,对多个升级文件进行分类,得到各待升级ECU分别对应的升级文件子集;
将各升级文件子集发送给对应的待升级ECU。
根据本公开的另一方面,提供了一种车辆升级装置,包括:
获取模块,用于获取待升级集合包,待升级集合包中包括配置信息以及多个待升级ECU的升级文件,且待升级集合包中的多个升级文件的文件类型相同;
分类模块,用于基于配置信息中记录的各升级文件和待升级ECU的对应关系,对多个升级文件进行分类,得到各待升级ECU分别对应的升级文件子集;
发送模块,用于将各升级文件子集发送给对应的待升级ECU。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开中任一实施例的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开中任一实施例的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开中任一实施例的方法。
根据本公开的另一方面,提供了一种车辆,包括前述的电子设备。
本公开实施例中,将同一文件类型的升级文件打包在同一待升级集合包中,可基于文件类型粒度进行升级,对ECU的存储空间没有严格要求,具有较高的适用性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开另一实施例中车辆升级方法的CUE架构示意图;
图2是根据本公开另一实施例中车辆升级方法的流程示意图;
图3是根据本公开另一实施例中不同类型文件采用不同策略的示意图;
图4是根据本公开另一实施例中车辆升级方法的流程示意图;
图5是根据本公开另一实施例中拼接文件的示意图;
图6是根据本公开另一实施例中车辆升级方法的流程示意图;
图7是根据本公开另一实施例中车辆升级装置的结构示意图;
图8是用来实现本公开实施例的车辆升级方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
车辆升级需要从云端下载升级包。相关技术中会将所有升级包都下发给车辆存储。如图1所示,车辆中包括主控ECU和多个从ECU。下载待升级包之后,由车辆的主控ECU处理升级包后分发给各个需要升级的从ECU。主控ECU和其它ECU之间可通过相应的通信协议进行通信。例如Doip(Diagnostic communication over Internet Protocol,基于因特网的诊断通信)、DDS(Data Distribution Service,数据分发服务)、UDS(Unix DomainSockets,进程间通信)等。
然而,随着升级包数据量的增大,对车辆存储空间是一种挑战。尤其在车辆中具有多个ECU的情况下,每个ECU的存储空间也有限,如果升级包过大,将会导致升级失败。
有鉴于此,本公开实施例提供了一种车辆升级方法。本公开实施例中,云端在接收到升级包之后,可以按照文件类型将升级包构建为待升级集合包。此时,每个待升级集合包中的文件类型相同。车辆升级时可以按照文件类型的粒度进行升级。如图2所示,为车辆升级方法的流程示意图,应用于车辆,包括以下内容:
S201,获取待升级集合包,待升级集合包中包括配置信息以及多个待升级ECU的升级文件,且待升级集合包中的多个升级文件的文件类型相同。
相关技术中是将每个待升级ECU的所有类型的升级文件设置到同一升级包中。而本公开实施例中,同一待升级集合包中包括多个待升级ECU的升级文件,且这些升级文件的类型相同。因此,待升级集合包中需要包含配置信息,以便于通过配置信息确定各个升级文件所属的待升级ECU。
配置信息可保存在配置文件中,配置文件可以是XML(Extensible MarkupLanguage,可扩展标记语言)格式。配置信息中包括待升级集合包中所有升级文件所属ECU信息,还可以包括升级文件的升级控制信息。该升级控制信息例如包括升级文件的存储位置。
S202,基于配置信息中记录的各升级文件和待升级ECU的对应关系,对多个升级文件进行分类,得到各待升级ECU分别对应的升级文件子集。
例如,假设待升级集合包中包括10个升级文件,这些升级文件用于升级4个待升级ECU,则需要将这10个升级文件按所属ECU划分为4类。由此,得到各个待升级ECU的升级文件子集。
S203,将各升级文件子集发送给对应的待升级ECU。
本公开实施例中,同一待升级集合包是对多个ECU进行升级,且同一待升级集合包内升级文件类型相同。这样,将总量庞大的全量升级文件可以按照文件类型粒度进行划分。每次升级同类型的文件即可,这对车辆现有的存储容量比较友好。且同一待升级集合包可用于升级多个ECU,不同ECU能够同时升级,也有利于提高升级效率。
在一些实施例中,不同的文件类型可分配相应的升级策略。相应的,将各升级文件子集发送给对应的待升级ECU,可实施为:按照待升级集合包中的文件类型对应的文件处理策略,处理各待升级ECU的升级文件子集;将处理后的升级文件子集发送给对应的待升级ECU。
例如,多种文件类型对应多种文件处理策略。在整个升级过程中,依序升级各文件类型,依序根据各文件类型对应的文件处理策略处理待升级集合包之后,最终完成升级。
整个过程中,相对一个ECU的所有类型的升级文件在一起打包,本公开实施例针对待升级集合包,可采用同一文件处理策略统一进行处理,不需要来回频繁地切换文件处理策略,也能够减少系统在ECU之间传输文件的时间,从而有利于提高升级效率。
假设有m种文件类型且有n种文件处理策略,其中n小于等于m,且二者均为正整数。如图3所示,第1种文件类型的待升级集合包1参照文件处理策略1处理后,分发给相应的多个待升级ECU进行处理。然后,针对第2种文件类型的待升级集合包2,参照文件处理策略2处理后,分发给相应的多个待升级ECU。以此类推,完成对车辆的升级。
相应的,本公开实施例中提供了以下文件处理策略进行升级。
1)、二进制文件升级
在一些实施例中,按照待升级集合包中的文件类型对应的文件处理策略,处理各待升级ECU的升级文件子集,可实施为如图4所示,其中,针对每个待升级ECU,分别执行以下操作:
S401,在待升级集合包的文件类型为二进制文件的情况下,确定待升级ECU的升级文件子集中的二进制文件数量。
S402,在待升级ECU的升级文件子集中包括多个二进制文件的情况下,按照指定格式拼接多个二进制文件,得到拼接数据;其中,指定格式要求不同二进制文件之间具有分割信息以使得待升级ECU识别出各个升级文件。
一种可能的示例中,可以从配置信息中获取各升级文件的存储地址,按照存储地址、升级文件数据和分割信息的格式依序拼接各升级文件。按指定格式拼接得到的拼接数据如图5所示,依序为存储地址、文件数据和EOF。其中:
存储地址,为从配置信息中读取的地址,表示升级文件需要在待升级ECU中的存储位置;
文件数据,即二进制文件的数据内容;
EOF,为分割信息,用于表示一个升级文件的结束,下一升级文件的开始。
针对待升级ECU,接收到该拼接数据之后,待升级ECU从中识别出存储地址,之后将拼接数据中该存储地址之后的文件数据写入到该存储地址。在读写到EOF之后,停止向该存储地址写入数据。然后重复上面的操作,直至将该待升级ECU的升级文件写完为止。
实施时,车辆升级所需的二进制文件可包括例如图片等。
本公开实施例中,对二进制文件进行拼接处理,可将同一待升级ECU的多个升级文件抽象为一个文件。由此可通过一个连接将多个待升级文件发送给该待升级ECU,而不是每个升级文件分别占用一个连接。由此有利于节约处理资源。
二进制文件之外,可统称为普通文件。普通文件可包括:文本文件、音频文件、视频文件、可执行文件、块设备文件、字符设备文件等类型,这里不穷尽所有类型。需要说明的是,除了二进制文件之外,其他普通文件可基本按照两种文件处理策略进行处理。其中,普通文件可大体划分为属于第一类簇的文件和属于第二类簇的文件。其中,针对文件尺寸较小且数量较多的文件,可统称为第一类簇文件,例如文本文件、块设备文件。对文件尺寸较大的文件可统称为第二类簇文件,例如音频文件、视频文件。下面对这两种类簇的文件进行说明。
2)、升级第一类簇文件
在一些实施例中,按照待升级集合包中的文件类型对应的文件处理策略,处理各待升级ECU的升级文件子集,可实施为如图4所示,其中,针对每个待升级ECU,分别执行以下操作:
S403,在待升级集合包的文件类型属于第一类簇的情况下,确定待升级ECU的升级文件子集中的文件数量;第一类簇要求文件尺寸小于第一预设尺寸且文件数量大于预设数量。
S404,在待升级ECU的升级文件子集中包括多个文本文件的情况下,将多个文本文件打包为压缩包文件。
以文本文件为例,OTA升级时,由于该类型的升级文件通常尺寸小,且数量较大,将该类文件打包压缩,可以减少需要传输的文件数量。
由此,本公开实施例中,将文件尺寸较小且通常数量较多的第一类簇文件进行打包压缩,有利于减少需要传输的文件数量,提高升级效率。
3)、升级第二类簇文件
在一些实施例中,按照待升级集合包中的文件类型对应的文件处理策略,处理各待升级ECU的升级文件子集,可实施为如图4所示,其中,针对每个待升级ECU,分别执行以下操作:
S405,在待升级集合包的文件类型属于第二类簇的情况下,将待升级ECU的升级文件子集中的升级文件拆分为小于或等于指定数据量的文件块;其中,第二类簇要求文件尺寸大于第二预设尺寸;指定数据量基于待升级ECU的存储容量确定。
其中,指定数据量可要求小于或等于待升级ECU的磁盘分区的一半。这样,方便预留足够的空间执行解压缩、差分还原等升级操作。
例如,待升级ECU的磁盘分区为8G,则可以按照4G为上限将大尺寸的升级文件切分为文件块。待升级ECU可以对每个文件块执行升级操作,不会因为存储空间不足导致升级失败。
由此,本公开实施例中,针对大尺寸的文件,综合考虑了待升级ECU自身的处理性能,对大尺寸文件拆分后升级,有利于顺利的完成对大尺寸文件的升级,提高升级效率。
在一些实施例中,大尺寸文件可逐一发送给待升级ECU。每个大尺寸文件发送前和发送后都通知给待升级ECU,以便于待升级ECU确认哪些文件块属于同一升级文件。
在另一些实施例中,还可以在切分升级文件时,标记各文件块的拼接标识。由此,各文件块具有对应的拼接标识,以使待升级ECU按照拼接标识组建出完整的待升级文件。
例如,视频文件a被切分为3个文件块,拼接标识可以为文件块的名称,分别标记为文件块a-3-1、文件块a-3-2、文件块a-3-3。其中,a代表了视频文件名称,中间的3代表同一视频文件被切分为3个文件块,最后一位代表的是这3个文件块中的哪个文件块,且标记了文件块的拼接顺序。由此,基于拼接标识可完整的拼接出同一视频文件。
本公开实施例中,基于拼接标识可以将被切分的同一升级文件完整的还原,由此有利于保证升级的正确性。
综上,介绍了不同文件的升级方式。无论针对何种文件,本公开实施例中,将各升级文件子集发送给对应的待升级ECU,可实施为通过与各待升级ECU之间的长连接,将各升级文件子集发送给对应的待升级ECU。
通过长连接的方式,能够保证文件升级过程具有稳定的连接通道用于升级,能够方便传输升级文件到各待升级ECU,由此有利于提高升级效率。
在一些实施例中,可以用流式传输协议传输升级文件子集给各待升级ECU。
下面以具体例子对本公开实施例提供的车辆升级方法进行说明。该实施例中,如图6所示,假设三个ECU需要升级,三个待升级ECU分别为ECU1(如主控TBOX)、ECU2(如车载计算单元)和ECU3(如车载娱乐系统)。本次升级以3种文件类型举例说明,包括:类型1为image文件、类型2为文本文件和类型3为视频文件。包括云端升级流程和车辆升级流程。
1)云端升级流程
S601,云端接收ECU1、ECU2和ECU3各自的升级包并存储。
其中,云端实现OTA升级云平台。
S602,云端按照各升级包中的文件类型,将升级文件转换到不同的待升级集合包中。
例如,云端可建立与文件类型同样数量的新文件夹,以便于按不同文件类型分类出多个待升级集合包。其中,云端将每一个待升级ECU的升级包解压,按照文件类型将文件分别拷贝至新文件夹中。新文件夹中的文件保持和原单ECU的升级包中文件的目录结构一致,以使得升级过程能够按照升级包的目录进行升级。同时生成配置文件config.xml,用于记录所有文件的所属ECU信息、文件本身的描述信息,该描述信息包括例如升级后文件存储位置。
将所有待升级ECU的升级文件和配置文件分类拷贝至相应的文件夹后,再对新文件夹进行压缩加密等过程,生成的压缩文件命名为待升级集合包。每一个待升级集合包对应的是同一文件类型的升级文件的集合体。
S603,车辆通过OTA Client(OTA客户端)和云端建立长连接通讯。
S604,车辆按照文件类型逐一下载待升级集合包,对待升级集合包逐一进行升级。其中:
1)针对类型1的图片文件
OTA Client下载待升级集合包1至主控ECU磁盘的专门用于OTA升级的分区中存储,并解密解压待升级集合包1。将解压后的升级文件拷贝至新建文件夹中,文件夹可命名为dir_type1。
OTA Client在dir_type1中读取配置文件config.xml。按照配置文件,分别将ECU1、ECU2和ECU3的升级文件分别进行拼接处理,这时dir_type1目录下会产生ecu1.bin、ecu2.bin和ecu3.bin三个文件,分别为ECU1、ECU2和ECU3的升级文件子集。拼接处理过程主要按照指定格式,即图4所示的存储地址+文件数据+EOF+存储地址+文件数据+EOF...的方式进行。基于该拼接方式,可以提高传输效率,也可以配合待升级ECU升级过程的准备工作。
分别将ecu1.bin、ecu2.bin和ecu3.bin通过长连接协议传输给ECU1、ECU2和ECU3。
ECU1、ECU2和ECU3分别执行各自的升级流程。例如ECU2升级时,ECU2内部为升级准备了交换分区。使用交换分区虚拟内存技术来加快升级包存储和差分还原的过程,同时也解决了内存较小时处理升级数据慢的系统调用问题。ECU2将主控ECU发送的升级数据直接传输至该交换分区,直接在该交换分区将ecu2.bin文件数据按照存储地址分别写入磁盘指定的地址。至此ECU2的类型1的文件升级结束。ECU1、ECU2对类型1的文件升级过程可以做到一致。
2)针对类型2的文本文件
OTA Client下载待升级集合包2至主控磁盘的专门用于OTA升级的分区中存储,并解密解压待升级集合包2。将解压后的升级文件拷贝至新建文件夹中,文件夹命名为dir_type2。
OTA Client在dir_type2中读取配置文件config.xml,按照配置文件信息,分别将ECU1、ECU2和ECU3的升级文件进行打包。这时dir_type2目录下会产生ecu1.tar、ecu2.tar和ecu3.tar三个包。打包的作用是为了提高传输效率。例如1万个文件,单独分散传输和打包传输测试,时间会减少5%以上。
分别将ecu1.tar、ecu2.tar和ecu3.tar通过长连接协议传输给ECU1、ECU2和ECU3。
ECU1、ECU2和ECU3分别执行各自的升级流程。例如ECU2升级,在磁盘分区中做解包,并将数据直接拷贝至磁盘系统的指定位置。
3)针对类型3的视频文件
OTA Client下载待升级集合包3至主控磁盘的专门用于OTA升级的分区中存储,并解密解压待升级集合包3。将解压后的升级文件拷贝至新建文件夹中,文件夹命名为dir_type3。
OTA Client在dir_type3中读取配置文件config.xml,按照配置文件信息,分别将ECU1、ECU2和ECU3的升级文件进行打包划分出文件块。一个文件块的上限为4G,超过4G会重新打新包。这时dir_type目录下会产生ecu1-1.tar、ecu1-2.tar、ecu1-3.tar...ecu1-N.tar以及ecu2-1.tar、ecu2-N.tar和ecu3-1.tar、ecu3-N多个文件。
分别将ecu*.tar所有文件通过长连接协议传输给ECU1、ECU2和ECU3。
ECU1、ECU2和ECU3分别执行升级流程。例如ECU2升级,磁盘分区大小最多为8G空间,一次只能处理4G大小的文件,对ecu2-1.tar...ecu2-N.tar文件进行解压,并拷贝至指定目录。
本公开实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
基于相同的技术构思,本公开实施例还提供一种车辆升级装置700,如图7所示,包括:
获取模块701,用于获取待升级集合包,待升级集合包中包括配置信息以及多个待升级ECU的升级文件,且待升级集合包中的多个升级文件的文件类型相同;
分类模块702,用于基于配置信息中记录的各升级文件和待升级ECU的对应关系,对多个升级文件进行分类,得到各待升级ECU分别对应的升级文件子集;
发送模块703,用于将各升级文件子集发送给对应的待升级ECU。
在一些实施例中,发送模块,包括:
处理单元,用于按照待升级集合包中的文件类型对应的文件处理策略,处理各待升级ECU的升级文件子集;
发送单元,用于将处理后的升级文件子集发送给对应的待升级ECU。
在一些实施例中,按处理单元,具体用于:
针对每个待升级ECU,分别执行以下操作:
在待升级集合包的文件类型为二进制文件的情况下,确定待升级ECU的升级文件子集中的二进制文件数量;
在待升级ECU的升级文件子集中包括多个二进制文件的情况下,按照指定格式拼接多个二进制文件,得到拼接数据;
其中,指定格式要求不同二进制文件之间具有分割信息以使得待升级ECU识别出各个升级文件。
在一些实施例中,处理单元,具体用于:
针对每个待升级ECU,分别执行以下操作:
在待升级集合包的文件类型属于第一类簇的情况下,确定待升级ECU的升级文件子集中的文件数量;第一类簇要求文件尺寸小于第一预设尺寸且文件数量大于预设数量;
在待升级ECU的升级文件子集中包括多个文本文件的情况下,将多个文本文件打包为压缩包文件。
在一些实施例中,处理单元,具体用于:
针对每个待升级ECU,分别执行以下操作:
在待升级集合包的文件类型属于第二类簇的情况下,将待升级ECU的升级文件子集中的升级文件拆分为小于或等于指定数据量的文件块;
其中,第二类簇要求文件尺寸大于第二预设尺寸;
指定数据量基于待升级ECU的存储容量确定。
在一些实施例中,各文件块具有对应的拼接标识,以使待升级ECU按照拼接标识组建出完整的待升级文件。
在一些实施例中,发送模块,具体用于通过与各待升级ECU之间的长连接,将各升级文件子集发送给对应的待升级ECU。
本公开实施例的装置的各模块、单元的具体功能和示例的描述,可以参见上述方法实施例中对应步骤的相关描述,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如车辆升级方法。例如,在一些实施例中,车辆升级方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM803并由计算单元801执行时,可以执行上文描述的车辆升级方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行车辆升级方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
基于相同的技术构思,本公开实施例还提供一种车辆,该车辆可包括如图8所示的电子设备。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (18)
1.一种车辆升级方法,包括:
获取待升级集合包,所述待升级集合包中包括配置信息以及多个待升级电子控制器ECU的升级文件,且所述待升级集合包中的多个升级文件的文件类型相同;
基于所述配置信息中记录的各升级文件和待升级ECU的对应关系,对所述多个升级文件进行分类,得到各待升级ECU分别对应的升级文件子集;
将各升级文件子集发送给对应的待升级ECU。
2.根据权利要求1所述的方法,其中,所述将各升级文件子集发送给对应的待升级ECU,包括:
按照所述待升级集合包中的文件类型对应的文件处理策略,处理各待升级ECU的升级文件子集;
将处理后的升级文件子集发送给对应的待升级ECU。
3.根据权利要求2所述的方法,其中,所述按照所述待升级集合包中的文件类型对应的文件处理策略,处理各待升级ECU的升级文件子集,包括:
针对每个待升级ECU,分别执行以下操作:
在所述待升级集合包的文件类型为二进制文件的情况下,确定所述待升级ECU的升级文件子集中的二进制文件数量;
在所述待升级ECU的升级文件子集中包括多个二进制文件的情况下,按照指定格式拼接所述多个二进制文件,得到拼接数据;
其中,所述指定格式要求不同二进制文件之间具有分割信息以使得所述待升级ECU识别出各个升级文件。
4.根据权利要求2所述的方法,其中,所述按照所述待升级集合包中的文件类型对应的文件处理策略,处理各待升级ECU的升级文件子集,包括:
针对每个待升级ECU,分别执行以下操作:
在所述待升级集合包的文件类型属于第一类簇的情况下,确定所述待升级ECU的升级文件子集中的文件数量;所述第一类簇要求文件尺寸小于第一预设尺寸且文件数量大于预设数量;
在所述待升级ECU的升级文件子集中包括多个文本文件的情况下,将所述多个文本文件打包为压缩包文件。
5.根据权利要求2所述的方法,其中,所述按照所述待升级集合包中的文件类型对应的文件处理策略,处理各待升级ECU的升级文件子集,包括:
针对每个待升级ECU,分别执行以下操作:
在所述待升级集合包的文件类型属于第二类簇的情况下,将所述待升级ECU的升级文件子集中的升级文件拆分为小于或等于指定数据量的文件块;
其中,所述第二类簇要求文件尺寸大于第二预设尺寸;
所述指定数据量基于所述待升级ECU的存储容量确定。
6.根据权利要求5所述的方法,其中,各文件块具有对应的拼接标识,以使待升级ECU按照拼接标识组建出完整的待升级文件。
7.根据权利要求1-6中任一项所述的方法,其中,所述将各升级文件子集发送给对应的待升级ECU,包括:
通过与各待升级ECU之间的长连接,将各升级文件子集发送给对应的待升级ECU。
8.一种车辆升级装置,包括:
获取模块,用于获取待升级集合包,所述待升级集合包中包括配置信息以及多个待升级ECU的升级文件,且所述待升级集合包中的多个升级文件的文件类型相同;
分类模块,用于基于所述配置信息中记录的各升级文件和待升级ECU的对应关系,对所述多个升级文件进行分类,得到各待升级ECU分别对应的升级文件子集;
发送模块,用于将各升级文件子集发送给对应的待升级ECU。
9.根据权利要求8所述的装置,其中,所述发送模块,包括:
处理单元,用于按照所述待升级集合包中的文件类型对应的文件处理策略,处理各待升级ECU的升级文件子集;
发送单元,用于将处理后的升级文件子集发送给对应的待升级ECU。
10.根据权利要求9所述的装置,其中,所述处理单元,具体用于:
针对每个待升级ECU,分别执行以下操作:
在所述待升级集合包的文件类型为二进制文件的情况下,确定所述待升级ECU的升级文件子集中的二进制文件数量;
在所述待升级ECU的升级文件子集中包括多个二进制文件的情况下,按照指定格式拼接所述多个二进制文件,得到拼接数据;
其中,所述指定格式要求不同二进制文件之间具有分割信息以使得所述待升级ECU识别出各个升级文件。
11.根据权利要求9所述的装置,其中,所述处理单元,具体用于:
针对每个待升级ECU,分别执行以下操作:
在所述待升级集合包的文件类型属于第一类簇的情况下,确定所述待升级ECU的升级文件子集中的文件数量;所述第一类簇要求文件尺寸小于第一预设尺寸且文件数量大于预设数量;
在所述待升级ECU的升级文件子集中包括多个文本文件的情况下,将所述多个文本文件打包为压缩包文件。
12.根据权利要求9所述的装置,其中,所述处理单元,具体用于:
针对每个待升级ECU,分别执行以下操作:
在所述待升级集合包的文件类型属于第二类簇的情况下,将所述待升级ECU的升级文件子集中的升级文件拆分为小于或等于指定数据量的文件块;
其中,所述第二类簇要求文件尺寸大于第二预设尺寸;
所述指定数据量基于所述待升级ECU的存储容量确定。
13.根据权利要求12所述的装置,其中,各文件块具有对应的拼接标识,以使待升级ECU按照拼接标识组建出完整的待升级文件。
14.根据权利要求8-13中任一项所述的装置,其中,所述发送模块,具体用于通过与各待升级ECU之间的长连接,将各升级文件子集发送给对应的待升级ECU。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
17.一种车辆,包括如权利要求15所述的电子设备。
18.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310797401.3A CN116980289A (zh) | 2023-06-30 | 2023-06-30 | 车辆升级方法、装置、电子设备、车辆及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310797401.3A CN116980289A (zh) | 2023-06-30 | 2023-06-30 | 车辆升级方法、装置、电子设备、车辆及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116980289A true CN116980289A (zh) | 2023-10-31 |
Family
ID=88477587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310797401.3A Pending CN116980289A (zh) | 2023-06-30 | 2023-06-30 | 车辆升级方法、装置、电子设备、车辆及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116980289A (zh) |
-
2023
- 2023-06-30 CN CN202310797401.3A patent/CN116980289A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103051723B (zh) | 一种增量升级方法及服务器、终端 | |
US10069946B2 (en) | Hardware-based packet editor | |
US10965732B2 (en) | Streaming zip | |
US8326811B2 (en) | File management method and computer system | |
US9355108B2 (en) | Storing data files in a file system | |
CN102687472A (zh) | 发送、接收数据的处理装置及方法 | |
WO2022082891A1 (zh) | 大数据采集方法、系统、计算机设备及其存储介质 | |
CN112416359A (zh) | 动态分区定制方法、装置、设备和计算机可读存储介质 | |
WO2017045345A1 (zh) | 一种资源管理方法、装置及多模软基站统一网管 | |
CN110532236A (zh) | 压缩文件的增量更新方法、系统和介质 | |
CN113138969A (zh) | 数据传输方法、装置、电子设备和计算机可读存储介质 | |
CN105704207A (zh) | 一种生成唯一标识的方法、终端和网络侧 | |
CN111343220B (zh) | 转发器、分布式文件传输方法、系统、介质及电子设备 | |
CN116980289A (zh) | 车辆升级方法、装置、电子设备、车辆及存储介质 | |
CN110505289B (zh) | 文件下载方法及装置、计算机可读介质、无线通信设备 | |
CN109308288B (zh) | 数据处理方法及装置 | |
CN112491903B (zh) | 多系统间对账方法、装置及系统 | |
CN114706526A (zh) | 云原生存储数据卷的自动扩容方法、系统及设备 | |
WO2021097704A1 (zh) | 一种数据传输方法、数据下载方法及终端 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
CN113127054B (zh) | 一种文件处理方法和相关装置 | |
CN115955437B (zh) | 一种数据传输方法、装置、设备及介质 | |
CN115826981A (zh) | 实时操作系统驱动适配方法、装置、电子设备和可读介质 | |
WO2021128371A1 (zh) | 差分文件生成方法、增量更新方法、计算设备及存储介质 | |
CN116339625A (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 |