CN116932015B - 一种车辆软件远程升级方法、装置、系统及电子设备 - Google Patents
一种车辆软件远程升级方法、装置、系统及电子设备 Download PDFInfo
- Publication number
- CN116932015B CN116932015B CN202311195478.XA CN202311195478A CN116932015B CN 116932015 B CN116932015 B CN 116932015B CN 202311195478 A CN202311195478 A CN 202311195478A CN 116932015 B CN116932015 B CN 116932015B
- Authority
- CN
- China
- Prior art keywords
- upgrade package
- upgrade
- vehicle
- ecu
- package
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012423 maintenance Methods 0.000 claims description 28
- 238000012795 verification Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出一种车辆软件远程升级方法、装置、系统及电子设备,涉及车辆软件升级领域。通过检测车辆软件是否需要升级、根据软件包大小网络类型网速判断获取升级包为整体升级包或分区域升级包,对车辆进行升级;通过车辆整体升级包和分区域升级包相结合的模式,扩展了升级包获取方式,提高了升级包获取效率,有效地节约了系统资源。根据ECU供应商的代码及其对应的序号,对整体升级包或分区域升级包进度两次解密,获取系统升级包,并根据升级包升级的频率对密钥本进行动态调整,提高了数据安全性,并对升级包进行大小验证,避免在传输的中间环节对升级包的恶意篡改,提高了升级包升级的准确性。
Description
技术领域
本发明涉及车辆软件升级领域,尤其涉及一种车辆软件远程升级方法、装置及电子设备。
背景技术
目前的车辆升级系统为检测到车机系统需要升级更新时,一次性接收车辆的所有升级包,并且根据用户的选择确定是否进行升级。然而这种升级方式存在较大的缺陷,如:
1、当遇到需要更新的升级包较大,如果当前车辆网络情况不佳时,则无法及时获取升级包。
2、现有的加密方式单一,升级过程中加密性不强,安全性较弱。
因此,在车辆软件远程升级过程中,如何及时获取升级包,并提高升级过程中的安全性,是本领域亟需解决的技术问题。
发明内容
为了解决上述问题,本发明提出一种应用于车辆系统的升级方法、装置、系统和计算机存储介质,能够在云端升级系统确定不同的升级包获取方式,并且能够根据获取的升级包的不同,进行不同方式的升级,从而解决现有技术中车辆升级系统效率较低,无法及时获取升级包,无法及时安装升级包,以及升级需要用户手动确认的问题。
本发明的目的在于提供一种车辆软件远程升级方法、装置、系统、电子设备及介质,以实现提升汽车软件升级的效率,以及节约本地存储空间的效果。
为了实现上述目的,本发明采用以下技术方案:
第一方面,本发明提供了一种车辆软件远程升级方法,包括以下步骤:
S1、检测车辆软件是否需要升级;
S2、若检测到车辆软件需要升级,则根据升级包的大小、网络类型及网络下载速度确定升级包类型;
S3、根据所述升级包类型,获取所述升级包;
S4、根据所述升级包对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述升级包进行两次解密,获取系统升级包;
S5、对所述系统升级包的大小进行验证,验证通过则对车机系统相应系统进行升级,否则暂停升级;
S6、升级完成后,删除车机系统中的升级包。
优选地,所述S1,检测车辆软件是否需要升级,具体为:
S11、车机系统获取每个系统的系统升级包的版本号;
S12、所述系统升级包的版本号与ECU供应商的软件运维系统中最新版本的软件所对应升级包的版本号进行对比,如一致,则所述系统不需要升级,如不一致,则所述系统需要升级。
优选地,所述S2,根据升级包的大小、网络类型及网络下载速度确定升级包类型,具体为:
S21、根据所有需要升级的车辆软件,确定本次升级所需要的升级包的大小;
S22、判断所述升级包的大小是否超过第一阈值;
当所述升级包的大小小于第一阈值时,进入S25;当所述升级包的大小大于等于第一阈值时,进入S23;
S23、判断车辆中当前的网络类型,当所述网络类型为WIFI时,则进入S25;当网络类型为3G/4G/5G其中之一时,则进入S24;
S24、判断网络下载速度,当网络下载速度大于等于第二阈值时,则进入S25;当网络下载速度小于第二阈值时,则进入S26;
S25、确定获取升级包的类型为整体升级包;
S26、确定获取升级包的类型为分区域升级包。
优选地,所述S4、根据ECU供应商的代码和ECU供应商代码所对应的序号,对所述升级包进行两次解密,获取系统升级包,具体为:
S41、当确定所述升级包类型为整体升级包,则车机系统从云端获取所述整体升级包,进入步骤S42,当确定升级包类型为分区域升级包,则车机系统从云端获取所述分区域升级包,进入步骤S43;
S42、根据所有ECU供应商的代码,以及ECU供应商代码所对应的序号,对所述整体升级包进行第一次解密,获得第一次解密后的区域升级包,进入步骤S44;
S43、根据所述分区域升级包所对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述分区域升级包进行第一次解密,获得第一次解密后的区域升级包,进入步骤S44;
S44、根据所述区域升级包所对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述区域升级包进行第二次解密,获得第二次解密后的系统升级包。
优选地,所述S5、对所述系统升级包的大小进行验证,具体为:
S51、车机系统获取所述系统升级包的大小,将所述系统升级包所对应的ECU供应商的代码和所述系统升级包的大小发送至云端升级系统中;
S52、云端升级系统将接收到的ECU供应商的代码和系统升级包的大小,发送至所述ECU供应商的代码对应的ECU供应商的软件运维系统;
S53、由所述ECU供应商的软件运维系统将所述系统升级包的大小与ECU供应商的软件运维系统中最新版本的软件所对应升级包的大小进行对比,若对比结果一致,则验证通过,若对比结果不一致,则验证不通过。
优选地,在车机系统中存储的密钥本中查找ECU供应商的代码,以及ECU供应商代码所对应的序号;所述密钥本同步存储于车机系统和云端升级系统中,并根据所述升级包升级的频率对密钥本进行动态调整。
优选地,所述动态调整,具体为:
SC1.当车机系统根据所述升级包进行1次升级,则在密钥本中将该升级包所对应的ECU供应商代码的升级次数加1;
SC2.根据各ECU供应商代码所对应的升级次数对各ECU供应商代码进行降序排序,按照降序结果重新设置各ECU供应商代码所对应的序号;
SC3.云端升级系统将调整后的密钥本发送至车机系统和ECU供应商代码所对应的供应商的软件运维系统中。
第二方面,一种车辆软件远程升级装置,使用如上述任一项所述的车辆软件远程升级方法,包括:
检测模块,用于检测车辆软件是否需要升级;
判断模块,与所述检测模块连接,若检测到车辆软件需要升级,则根据升级包的大小、网络类型及网络下载速度确定升级包类型;
升级包获取模块,与所述判断模块连接,用于根据所述升级包类型,获取所述升级包;
解密模块,与所述升级包获取模块连接,用于根据所述升级包对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述升级包进行两次解密,获取系统升级包;
升级模块,与所述解密模块连接,用于对所述系统升级包的大小进行验证,验证通过则对车机系统相应系统进行升级,否则暂停升级;
删除模块,与所述升级模块连接,用于在升级完成后,删除车机系统中的升级包。
第三方面,一种车辆软件远程升级系统,包括安装了上述车辆软件远程升级装置的车辆,以及云端。
第四方面,一种电子设备,包括:
至少一个处理器,以及与至少一个所述处理器通信连接的存储器;
其中,所述存储器存储有可被至少一个所述处理器执行的指令,所述指令被至少一个所述处理器执行,以使至少一个所述处理器能够执行上述的车辆软件远程升级方法。
第五方面,本发明提供了一种计算机可读存储介质,所述介质上存储有计算机指令,所述计算机指令用于使所述计算机执行上述的车辆软件远程升级方法。
与现有技术相比,本发明的有益效果为:
1、本发明通过车辆整体升级包和分区域升级包相结合的模式,根据安装包大小、网络类型及网络下载速度,确定所需升级包的类型,扩展了升级包获取方式,避免每次升级前都下载车辆整体升级包,提高了升级包获取效率,有效地节约了系统资源,减少网络带宽的使用,节约了网络流量。
2、采用升级包的ECU供应商的代码和序号对升级包进行加密,并且在ECU供应商的软件运维系统中、在云端软件升级系统中采用不同的加密方式对升级包进行加密,采用密钥本对加密密钥参数进行存储,并且根据升级包升级的频率对密钥本进行动态调整,提高了数据安全性。
3、采用升级包文件大小作为验证字段,由车机系统将收到的软件升级包的大小发送至云端升级系统,并由云端升级系统发送至ECU供应商的软件运维系统,并对升级包进行大小验证,避免在传输的中间环节对升级包的恶意篡改,提高了升级包升级的准确性。
4、在相应区域的模块未进行工作时,将对应的区域独立进行升级,提高了系统升级的效率,在相应区域的升级完成时,及时删除对应的升级包,节约了本地的存储空间,提高车机系统的运行效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的车辆软件远程升级方法的流程图;
图2是本发明实施例1提供的车辆软件升级判断流程图;
图3是本发明实施例2提供的车辆软件远程升级装置的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明提供一种车辆软件远程升级方法。该方法可以应用于车辆软件远程升级系统中,所述系统包括车辆端和云端,车辆端通过无线通信单元与云端建立连接,所述连接可以采用WIFI/3G/4G/5G移动网络等现有通讯技术,在此不做限定。
实施例1
如图1所示,本实施例提供一种车辆软件远程升级方法,包括如下步骤:
S1、检测车辆软件是否需要升级。
具体地,检测激活方式包括云端升级系统发送检测信号、车辆使用人员通过车机系统进行软件更新检测、与车辆联网的终端发送检测信号,可根据实际需要,设置为其中一种。
判断车辆软件是否需要升级的方法为:
S11、车机系统获取每个系统的系统升级包的版本号。
S12、将车机系统内的所有系统的版本号发送至云端升级系统,云端升级系统将接收的所有系统的版本号与云端升级系统中所有系统的最新版本号进行对比,当对比结果为一致时,则所述系统不需要升级,当对比结果为不一致时,则所述系统需要升级。
例如,车机系统将车机系统内的所有系统,如所有系统包括动力控制系统、多媒体控制系统、智能驾驶系统,将以上三个系统的版本号A、B、C发送至云端升级系统,云端升级系统将接收的版本号A、B、C与云端升级系统中动力控制系统、多媒体控制系统、智能驾驶系统的最新版本号A’,B’,C’进行对比;
当A与A’一致时,无需对动力控制系统进行升级;
当B与B’不一致时,需要对多媒体控制系统进行升级。
优选地,还可以判断当前车辆的运行状况,根据车辆的运行状况以及需要升级的系统,确定获取的升级包。
根据汽车各模块的功能将车辆升级包划分成不同区域,具体可以为动力控制系统、安全性控制系统、多媒体控制系统和舒适性控制系统、智能驾驶系统等。
如需对舒适性控制系统和/或多媒体控制系统进行升级,则直接从云端获取舒适性控制系统升级包和/或多媒体控制系统升级包。如需对动力控制系统和/或安全性控制系统进行升级,则进一步判断当前车辆的运行状况,根据当前车辆的运行状况,判断是否获取动力控制系统和/或安全性控制系统的升级包。
其中获取动力控制系统的升级包,包括以下具体步骤:
当车辆的动力装置为纯汽油能源车辆时,仅需检测当前车辆发动机的工作状态,不需要检测当前车辆电机的工作状态;
当车辆的动力装置为纯电力能源车辆时,无需要检测当前车辆发动机的工作状态,仅需要检测当前车辆电机的工作状态;
当车辆的动力装置为油电混合能源车辆时,需同时检测当前车辆发动机和电机的工作状态。
S2、若检测到车辆软件需要升级,则根据升级包的大小、网络类型及网络下载速度确定升级包类型。
升级包类型包括:车辆整体升级包和分区域升级包。车辆整体升级包为将车辆中所有待升级的区域的升级包整合后的升级包;分区域升级包为根据汽车不同区域的功能区域划分的升级包。车辆整体升级包的版本号与分区域升级包的版本号采用相互独立的命名规则。
如图2所示,根据升级包的大小、网络类型及网络下载速度确定升级包类型,具体为:
S21、根据所有需要升级的车辆软件,确定本次升级所需要的升级包的大小;
S22、判断所述升级包的大小是否超过第一阈值;
当所述升级包的大小小于第一阈值时,进入S25;当所述升级包的大小大于等于第一阈值时,进入S23;
S23、判断车辆中当前的网络类型,当所述网络类型为WIFI连接时,则进入S25;当网络类型为3G/4G/5G其中之一时,则进入S24;
S24、判断网络下载速度,当网络下载速度大于等于第二阈值时,则进入S25;当网络下载速度小于第二阈值时,则进入S26;
S25、确定获取升级包的类型为整体升级包;
S26、确定获取升级包的类型为分区域升级包。
本发明通过车辆整体升级包和分区域升级包相结合的模式,根据安装包大小、网络类型及网络下载速度,确定所需升级包的类型,扩展了升级包获取方式,避免每次升级前都下载车辆整体升级包,提高了升级包获取效率,有效地节约了系统资源,减少网络带宽的使用,节约了网络流量。整体升级包的获取方式具体为从云端获取最新的版本号车辆整体升级包。
S3、根据所述升级包类型,获取所述升级包。
确定获取升级包的类型为车辆整体升级包,则从云端获取车辆整体升级包,根据获取的升级包对车辆进行升级;确定获取升级包的类型为车辆分区域升级包,则从云端获取车辆分区域升级包,根据获取的升级包对车辆进行升级。
S4、根据所述升级包对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述升级包进行两次解密,获取系统升级包。
具体为:
S41、当确定所述升级包类型为整体升级包,则车机系统从云端获取所述整体升级包,进入步骤S42,当确定升级包类型为分区域升级包,则车机系统从云端获取所述分区域升级包,进入步骤S43;
S42、根据所有ECU供应商的代码,以及ECU供应商代码所对应的序号,对所述整体升级包进行第一次解密,获得第一次解密后的区域升级包,进入步骤S44;
S43、根据所述分区域升级包所对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述分区域升级包进行第一次解密,获得第一次解密后的区域升级包,进入步骤S44;
S44、根据所述区域升级包所对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述区域升级包进行第二次解密,获得第二次解密后的系统升级包。
进一步地,每个区域升级包对应一个ECU供应商,每个ECU供应商对应一个ECU供应商代码,也即每个区域升级包对应一个ECU供应商代码,并且一个区域升级包由一个ECU供应商进行开发和新版本软件升级包的上传。
SA.当车机系统获取到的升级包为整体升级包时,在车机系统中存储的密钥本中查找所有ECU供应商的代码,以及ECU供应商代码所对应的序号,根据供应商代码及相应的序号,对所述整体升级包进行第一次解密,获得第一次解密后的区域升级包。
例如,整体升级包中包含4个区域升级包,如A-D,在车机系统中存储的密钥本中对应有4行密钥,分别为:[A,序号1],[B,序号2],[C,序号3],[D,序号4];
根据[A,序号1],[B,序号2],[C,序号3],[D,序号4]对整体升级包进行第一次解密,获得区域A的升级包、区域B的升级包、区域C的升级包、区域D的升级包;
根据所述密钥本中的各个ECU供应商的代码,以及ECU供应商代码所对应的序号,分别对第一次解密后的区域升级包进行第二次解密,获得各系统的升级包;
例如对上述第一次解密获得的区域升级包进行第二次解密,获得系统a的升级包、系统b的升级包、系统c的升级包、系统d的升级包。
SB.当车机系统获取到的升级包为分区域升级包时,在车机系统中存储的密钥本中查找分区域升级包中的区域升级包所对应的ECU供应商的代码,以及ECU供应商代码所对应的序号,对所述分区域升级包进行第一次解密,获得第一次解密后的区域升级包;
例如,车机系统获取到的升级包为分区域升级包,如该分区域升级包名称为Q,而该分区域升级包为云端升级系统将系统a、b、c三个系统的升级包进行打包而形成的升级包,因此该分区域升级包包括三个区域升级包A、B、C。
在车机系统中存储的密钥本中查找分区域升级包Q中的区域升级包A、B、C所对应的ECU供应商的代码,以及ECU供应商代码所对应的序号,对分区域包进行第一次解密,获得区域A的升级包、区域B的升级包、区域C的升级包。
根据所述密钥本中的各个区域升级包所对应的ECU供应商的代码,以及ECU供应商代码所对应的序号,分别对第一次解密后的区域升级包中的各区域升级包进行第二次解密,获得第二次解密后的各系统升级包;
例如,对上述第一次解密获得区域升级包进行第二次解密,获得系统a的升级包、系统b的升级包、系统c的升级包。
本发明采用升级包的ECU供应商的代码和序号对升级包进行加密,并且在ECU供应商的软件运维系统中、在云端软件升级系统中采用不同的加密方式对升级包进行加密,采用密钥本对加密密钥参数进行存储,并且根据升级包升级的频率对密钥本进行动态调整,提高了数据安全性。
S5、对所述系统升级包的大小进行验证,验证通过则对车机系统相应系统进行升级,否则暂停升级。
为更进一步提高数据安全性,本发明又对升级包的大小进行验证。
具体为:
S51、车机系统获取所述系统升级包的大小,将所述系统升级包所对应的ECU供应商的代码和所述系统升级包的大小发送至云端升级系统中;
S52、云端升级系统将接收到的ECU供应商的代码和系统升级包的大小,发送至所述ECU供应商的代码对应的ECU供应商的软件运维系统;
S53、由所述ECU供应商的软件运维系统将所述系统升级包的大小与ECU供应商的软件运维系统中最新版本的软件所对应升级包的大小进行对比,若对比结果一致,则验证通过,若对比结果不一致,则验证不通过。
车机系统获取各区域的升级包中每个系统的升级包的大小,将所述每个系统升级包所对应的ECU供应商的代码和升级包的大小发送至云端升级系统中;云端升级系统将接收到的ECU供应商的代码和升级包的大小,发送至所述ECU供应商的代码对应的ECU供应商的软件运维系统;将升级包文件大小作为验证字段,并对升级包进行验证。
由ECU供应商的软件运维系统将所述升级包的大小与ECU供应商的软件运维系统中最新版本的软件所对应升级包的大小进行对比,如一致,ECU供应商的软件运维系统将一致结果发送至云端升级系统;如不一致,ECU供应商的软件运维系统将不一致结果发送至云端升级系统;
当云端升级系统接收到ECU供应商的软件运维系统反馈的结果为一致时,云端升级系统发送升级指令给车机系统,车机系统对车辆进行升级;当云端升级系统接收到ECU供应商的软件运维系统反馈的结果为不一致时,云端升级系统发送暂停升级指令给车机系统,车机系统暂停对车辆进行升级。
采用升级包文件大小作为验证字段,由车机系统将收到的软件升级包的大小发送至云端升级系统,并由云端升级系统发送至ECU供应商的软件运维系统,并对升级包进行大小验证,避免在传输的中间环节对升级包的恶意篡改,提高了升级包升级的准确性。
进一步的,还可以对当前车辆的运行状况进行判断,以确定是否立即升级。当前车辆的运行状况是指动力系统的工作状态。每隔预定时间间隔,判断车辆动力控制系统是否处于工作状态,当车辆动力控制系统未处于工作状态时,则控制车机系统进行整车的系统升级,否则暂缓升级。
车辆当前的运行状态具体为,判断车辆是否处于点火状态、以及车辆的行驶速度,当检测到车辆处于点火状态、行驶速度不为零中任一状态,则确定当前车辆动力控制系统处于工作状态。
S6、升级完成后,删除车机系统中的升级包。
具体地,在整车升级完成后,删除车机系统中的车辆整体升级包。在分区域升级完成后,删除车机系统中对应区域的升级包,例如,当车机系统完成舒适性模块和/或多媒体模块的升级,删除对应的舒适性模块和/或多媒体模块的升级包。
进一步的,本发明采用升级包的ECU供应商的代码和序号对升级包进行加密,并且在ECU供应商的软件运维系统中、在云端软件升级系统中采用不同的加密方式对升级包进行加密,采用密钥本对加密密钥参数进行存储,并且根据升级包升级的频率对密钥本进行动态调整,提高了数据安全性。
进一步地,所述密钥本中数据的存储方式为{[D1,X1],[D2,X2]…,[Di,Xi]…[Dn,Xn]};
其中,Di为第i个ECU供应商的代码,Xi为第i个ECU供应商的代码所对应的序号,n为ECU供应商的代码的数量。
进一步地,所述步骤SA中对所述整体升级包进行第一次解密,获得第一次解密后的整体升级包,具体包括:
将密钥本中的每个ECU供应商的代码乘以ECU供应商代码所对应的序号,并将各个相乘结果进行相加,除以密钥本中ECU供应商的代码的总数,形成第一解密密钥,对整体升级包进行解密,获得第一次解密后的整体升级包。
具体地,第一解密密钥的计算方式如下:
其中,Yi为第一解密密钥,Di为第i个ECU供应商的代码,Xi为第i个ECU供应商代码所对应的序号,n为ECU供应商代码的总数。
进一步地,所述步骤SA中根据所述密钥本中的各个ECU供应商的代码,以及ECU供应商代码所对应的序号,分别对第一次解密后的整体升级包中的各区域的升级包进行第二次解密,获得各区域的升级包,具体包括:
SA1.针对第一次解密后的整体升级包中的一个区域升级包,获取该区域升级包所对应的ECU供应商代码以及ECU供应商代码所对应的序号,将该ECU供应商代码以及ECU供应商代码所对应的序号相乘,作为第二解密密钥,对该一个区域的升级包进行解密,获得该一个区域的升级包;
SA2.重复执行步骤SA1,直至第一次解密后的整体升级包中的每个区域升级包均被处理完毕为止。
进一步地,所述步骤SB中对所述分区域升级包进行第一次解密,获得第一次解密后的分区域升级包,具体包括:
将密钥本中的所述分区域升级包中的各区域升级包所对应的ECU供应商的代码乘以ECU供应商代码所对应的序号,并将各个相乘结果进行相加,除以分区域升级中的区域升级包所对应的ECU供应商的代码的个数,形成第三解密密钥,对分区域升级包进行解密,获得第一次解密后的分区域升级包。
具体地,第三解密密钥的计算方式如下:
其中,Y3为第三解密密钥,Di为第i个区域升级包所对应的ECU供应商的代码,Xi为第i个区域升级包所对应的ECU供应商代码所对应的序号,m为分区域升级包中区域升级包所对应的ECU供应商的代码的个数。
进一步地,所述步骤SB中根据所述密钥本中的各个区域升级包所对应的ECU供应商的代码,以及ECU供应商代码所对应的序号,分别对第一次解密后的分区域升级包中的各区域升级包进行第二次解密,获得各区域升级包,具体包括:
SB1.针对第一次解密后的分区域升级包中的一个区域升级包,获取该区域升级包所对应的ECU供应商代码以及ECU供应商代码所对应的序号,将该ECU供应商代码以及ECU供应商代码所对应的序号相乘,作为第二解密密钥,对该一个区域升级包进行解密,获得该一个区域的升级包;
SB2.重复执行步骤SB1,直至第一次解密后的分区域升级包中的每个区域升级包均被处理完毕为止。
在车机系统中存储的密钥本中查找ECU供应商的代码,以及ECU供应商代码所对应的序号;所述密钥本同步存储于车机系统和云端升级系统中,并根据所述升级包升级的频率对密钥本进行动态调整。
进一步地,所述调整的方法包括:
SC1.当车机系统根据所述升级包进行1次升级,在密钥本中将该分区域升级包所对应的ECU供应商代码的升级次数加1;
例如,车机系统将车机系统内所有的系统的版本号发送给云端升级系统,云端升级系统通过对比,确定系统A-C需要升级,则确定系统A-C所对应的ECU供应商的供应商代码,则在云端升级系统中将密钥本中该些ECU供应商代码的升级次数加1。
SC2.根据各ECU供应商代码所对应的升级次数对各ECU供应商代码进行降序排序,按照降序结果重新设置各ECU供应商代码所对应的序号;
例如,在重新设置之前,ECU供应商代码分别为A、B、C,所对应的序号分别为1,2,3;对ECU供应商代码进行降序排序后,顺序为B,C,A,则ECU供应商代码B,C,A所对应的序号为1,2,3,也即B序号由2调整为1,C序号由3调整为2,A序号由1调整为3。
SC3.云端升级系统将调整后的密钥本发送至车机系统;并且,云端升级系统将调整后的密钥本中ECU供应商代码所对应的序号发送至ECU供应商代码所对应的供应商的软件运维系统中。
进一步地,所述供应商的软件运维系统执行如下操作:
将最新版本系统的升级包进行加密,发送至云端升级系统;
所述加密方式为:将ECU供应商的供应商代码和ECU供应商代码对应的序号相乘,作为加密密钥,对最新版本系统的升级包进行加密。
进一步地,所述云端升级系统执行如下操作:
将各供应商的升级包进行打包,并将所述各供应商中每个供应商的ECU供应商代码乘以ECU供应商代码对应的序号,并将各相乘结果相加,将相加结果除以供应商代码的个数,获得加密密钥,对打包后的升级包进行加密。
将加密后的升级包发送至车机系统。
需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
实施例2
如图3所示,本发明还提供了一种车辆软件远程升级装置,主要包括:
检测模块,用于检测车辆软件是否需要升级;
判断模块,与所述检测模块连接,若检测到车辆软件需要升级,则根据升级包的大小、网络类型及网络下载速度确定升级包类型;
升级包获取模块,与所述判断模块连接,用于根据所述升级包类型,获取所述升级包;
解密模块,与所述升级包获取模块连接,用于根据所述升级包对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述升级包进行两次解密,获取系统升级包;
升级模块,与所述解密模块连接,用于对所述系统升级包的大小进行验证,验证通过则对车机系统相应系统进行升级,否则暂停升级;
删除模块,与所述升级模块连接,用于在升级完成后,删除车机系统中的升级包。
具体实现个模块功能的描述可以参见实施例1步骤S1-S6所述。
上述车辆软件远程升级装置以用于执行上述的车辆软件远程升级方法实施例,两者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,车辆软件远程升级装置的具体工作过程及有关说明,可以参考车辆软件远程升级方法的实施例所描述的内容,此处不再赘述。
实施例3
本发明还提供了一种车辆软件远程升级系统,主要包括安装了车辆软件远程升级装置的车辆,以及云端。
实施例4
本发明还提供了一种电子设备,包括处理器和存储器,存储装置可以被配置成存储执行上述方法实施例的车辆软件远程升级方法的程序代码,处理器可以被配置成用于执行存储器中的程序代码,该程序代码包括但不限于执行上述方法实施例的车辆软件远程升级方法的程序代码。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。
示例性地,处理器可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
示例性地,存储器可以是电子设备的内部存储单元,例如,是电子设备的硬盘或内存;存储器也可以是电子设备的外部存储设备,例如,在电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器于存储计算机程序以及电子设备所需的其它程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据。
示例性地,程序代码可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述程序代码在电子设备中的执行过程。
实施例5
本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的车辆软件远程升级方法的程序,该程序可以由处理器加载并运行以实现上述车辆软件远程升级方法。
本发明中的介质,可以采用一个或多个计算机可读的介质的任意组合。介质可以是计算机可读信号介质或者计算机可读存储介质。介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (6)
1.一种车辆软件远程升级方法,其特征在于,包括以下步骤:
S1、检测车辆软件是否需要升级;
S2、若检测到车辆软件需要升级,则根据升级包的大小、网络类型及网络下载速度确定升级包类型;具体为:
S21、根据所有需要升级的车辆软件,确定本次升级所需要的升级包的大小;
S22、判断所述升级包的大小是否超过第一阈值;
当所述升级包的大小小于第一阈值时,进入S25;当所述升级包的大小大于等于第一阈值时,进入S23;
S23、判断车辆中当前的网络类型,当所述网络类型为WIFI时,则进入S25;当网络类型为3G/4G/5G其中之一时,则进入S24;
S24、判断网络下载速度,当网络下载速度大于等于第二阈值时,则进入S25;当网络下载速度小于第二阈值时,则进入S26;
S25、确定获取升级包的类型为整体升级包;
S26、确定获取升级包的类型为分区域升级包;
S3、根据所述升级包类型,获取所述升级包;
S4、根据所述升级包对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述升级包进行两次解密,获取系统升级包;具体为:
S41、当确定所述升级包类型为整体升级包,则车机系统从云端获取所述整体升级包,进入步骤S42,当确定升级包类型为分区域升级包,则车机系统从云端获取所述分区域升级包,进入步骤S43;
S42、根据所有ECU供应商的代码,以及ECU供应商代码所对应的序号,对所述整体升级包进行第一次解密,获得第一次解密后的区域升级包,进入步骤S44;
具体地,第一解密密钥的计算方式如下:
其中,Yi为第一解密密钥,Di为第i个ECU供应商的代码,Xi为第i个ECU供应商代码所对应的序号,n为ECU供应商代码的总数;
S43、根据所述分区域升级包所对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述分区域升级包进行第一次解密,获得第一次解密后的区域升级包,进入步骤S44;
S44、根据所述区域升级包所对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述区域升级包进行第二次解密,获得第二次解密后的系统升级包;
在车机系统中存储的密钥本中查找ECU供应商的代码,以及ECU供应商代码所对应的序号;所述密钥本同步存储于车机系统和云端升级系统中,并根据所述升级包升级的频率对密钥本进行动态调整;具体为:
SC1.当车机系统根据所述升级包进行1次升级,则在密钥本中将该升级包所对应的ECU供应商代码的升级次数加1;
SC2.根据各ECU供应商代码所对应的升级次数对各ECU供应商代码进行降序排序,按照降序结果重新设置各ECU供应商代码所对应的序号;
SC3.云端升级系统将调整后的密钥本发送至车机系统和ECU供应商代码所对应的供应商的软件运维系统中;
S5、对所述系统升级包的大小进行验证,验证通过则对车机系统相应系统进行升级,否则暂停升级;
S6、升级完成后,删除车机系统中的升级包。
2.根据权利要求1所述的车辆软件远程升级方法,其特征在于,所述S1,检测车辆软件是否需要升级,具体为:
S11、车机系统获取每个系统的系统升级包的版本号;
S12、所述系统升级包的版本号与ECU供应商的软件运维系统中最新版本的软件所对应升级包的版本号进行对比,如一致,则所述系统不需要升级,如不一致,则所述系统需要升级。
3.根据权利要求1所述的车辆软件远程升级方法,其特征在于,所述S5、对所述系统升级包的大小进行验证,具体为:
S51、车机系统获取所述系统升级包的大小,将所述系统升级包所对应的ECU供应商的代码和所述系统升级包的大小发送至云端升级系统中;
S52、云端升级系统将接收到的ECU供应商的代码和系统升级包的大小,发送至所述ECU供应商的代码对应的ECU供应商的软件运维系统;
S53、由所述ECU供应商的软件运维系统将所述系统升级包的大小与ECU供应商的软件运维系统中最新版本的软件所对应升级包的大小进行对比,若对比结果一致,则验证通过,若对比结果不一致,则验证不通过。
4.一种车辆软件远程升级装置,使用如权利要求1-3任一项所述的车辆软件远程升级方法,其特征在于,包括:
检测模块,用于检测车辆软件是否需要升级;
判断模块,与所述检测模块连接,若检测到车辆软件需要升级,则根据升级包的大小、网络类型及网络下载速度确定升级包类型;
升级包获取模块,与所述判断模块连接,用于根据所述升级包类型,获取所述升级包;
解密模块,与所述升级包获取模块连接,用于根据所述升级包对应的ECU供应商的代码和ECU供应商代码所对应的序号,对所述升级包进行两次解密,获取系统升级包;
升级模块,与所述解密模块连接,用于对所述系统升级包的大小进行验证,验证通过则对车机系统相应系统进行升级,否则暂停升级;
删除模块,与所述升级模块连接,用于在升级完成后,删除车机系统中的升级包。
5.一种车辆软件远程升级系统,其特征在于,包括安装了如权利要求4所述的车辆软件远程升级装置的车辆,以及云端。
6.一种电子设备,其特征在于,包括:
至少一个处理器,以及与至少一个所述处理器通信连接的存储器;
其中,所述存储器存储有可被至少一个所述处理器执行的指令,所述指令被至少一个所述处理器执行,以使至少一个所述处理器能够执行权利要求1-3任一项所述的车辆软件远程升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311195478.XA CN116932015B (zh) | 2023-09-18 | 2023-09-18 | 一种车辆软件远程升级方法、装置、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311195478.XA CN116932015B (zh) | 2023-09-18 | 2023-09-18 | 一种车辆软件远程升级方法、装置、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116932015A CN116932015A (zh) | 2023-10-24 |
CN116932015B true CN116932015B (zh) | 2023-12-15 |
Family
ID=88382912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311195478.XA Active CN116932015B (zh) | 2023-09-18 | 2023-09-18 | 一种车辆软件远程升级方法、装置、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932015B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102301645A (zh) * | 2011-06-29 | 2011-12-28 | 华为技术有限公司 | 维护llc层加解密参数的方法及装置 |
CN102378055A (zh) * | 2010-08-16 | 2012-03-14 | 康佳集团股份有限公司 | 网络电视系统及升级方法 |
CN105357592A (zh) * | 2015-10-26 | 2016-02-24 | 山东大学苏州研究院 | 一种流媒体自适应传输选择性丢帧方法 |
CN107846395A (zh) * | 2016-09-20 | 2018-03-27 | 塞尔蒂卡姆公司 | 车载联网 |
CN109558151A (zh) * | 2018-10-12 | 2019-04-02 | 上海金大师网络科技有限公司 | 软件更新方法和系统 |
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN110278232A (zh) * | 2018-03-16 | 2019-09-24 | 腾讯科技(深圳)有限公司 | 一种控制数据下载的方法及装置、系统 |
CN110536353A (zh) * | 2014-05-26 | 2019-12-03 | 华为技术有限公司 | 一种流量控制方法、装置 |
CN110891328A (zh) * | 2018-09-07 | 2020-03-17 | 华为技术有限公司 | 用于对齐唤醒的方法与移动设备 |
CN111031142A (zh) * | 2019-12-24 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 一种软件升级方法、装置及介质 |
CN111399884A (zh) * | 2020-04-09 | 2020-07-10 | 东风小康汽车有限公司重庆分公司 | 一种车辆组件的升级方法、装置及电子设备 |
CN111796856A (zh) * | 2020-08-26 | 2020-10-20 | 北京紫光展锐通信技术有限公司 | 差分升级方法及装置、存储介质、计算机设备 |
CN112399560A (zh) * | 2019-08-12 | 2021-02-23 | 成都华为技术有限公司 | 一种通信方法及装置 |
CN113204358A (zh) * | 2021-03-25 | 2021-08-03 | 联合汽车电子有限公司 | 软件包刷新服务方法、服务系统及可读存储介质 |
CN114218411A (zh) * | 2021-11-24 | 2022-03-22 | 星际互娱(北京)科技股份有限公司 | 一种通过视频生成图片的系统 |
CN114915554A (zh) * | 2022-04-08 | 2022-08-16 | 一汽解放汽车有限公司 | 远程升级方法、装置、计算机设备和存储介质 |
CN116366636A (zh) * | 2023-03-31 | 2023-06-30 | 成都赛力斯科技有限公司 | 车辆软件升级方法、装置及汽车 |
CN116483418A (zh) * | 2023-03-24 | 2023-07-25 | 江铃汽车股份有限公司 | 一种汽车软件远程在线升级系统及方法 |
-
2023
- 2023-09-18 CN CN202311195478.XA patent/CN116932015B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102378055A (zh) * | 2010-08-16 | 2012-03-14 | 康佳集团股份有限公司 | 网络电视系统及升级方法 |
CN102301645A (zh) * | 2011-06-29 | 2011-12-28 | 华为技术有限公司 | 维护llc层加解密参数的方法及装置 |
CN110536353A (zh) * | 2014-05-26 | 2019-12-03 | 华为技术有限公司 | 一种流量控制方法、装置 |
CN105357592A (zh) * | 2015-10-26 | 2016-02-24 | 山东大学苏州研究院 | 一种流媒体自适应传输选择性丢帧方法 |
CN107846395A (zh) * | 2016-09-20 | 2018-03-27 | 塞尔蒂卡姆公司 | 车载联网 |
CN110278232A (zh) * | 2018-03-16 | 2019-09-24 | 腾讯科技(深圳)有限公司 | 一种控制数据下载的方法及装置、系统 |
CN110891328A (zh) * | 2018-09-07 | 2020-03-17 | 华为技术有限公司 | 用于对齐唤醒的方法与移动设备 |
CN109558151A (zh) * | 2018-10-12 | 2019-04-02 | 上海金大师网络科技有限公司 | 软件更新方法和系统 |
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN112399560A (zh) * | 2019-08-12 | 2021-02-23 | 成都华为技术有限公司 | 一种通信方法及装置 |
CN111031142A (zh) * | 2019-12-24 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 一种软件升级方法、装置及介质 |
CN111399884A (zh) * | 2020-04-09 | 2020-07-10 | 东风小康汽车有限公司重庆分公司 | 一种车辆组件的升级方法、装置及电子设备 |
CN111796856A (zh) * | 2020-08-26 | 2020-10-20 | 北京紫光展锐通信技术有限公司 | 差分升级方法及装置、存储介质、计算机设备 |
CN113204358A (zh) * | 2021-03-25 | 2021-08-03 | 联合汽车电子有限公司 | 软件包刷新服务方法、服务系统及可读存储介质 |
CN114218411A (zh) * | 2021-11-24 | 2022-03-22 | 星际互娱(北京)科技股份有限公司 | 一种通过视频生成图片的系统 |
CN114915554A (zh) * | 2022-04-08 | 2022-08-16 | 一汽解放汽车有限公司 | 远程升级方法、装置、计算机设备和存储介质 |
CN116483418A (zh) * | 2023-03-24 | 2023-07-25 | 江铃汽车股份有限公司 | 一种汽车软件远程在线升级系统及方法 |
CN116366636A (zh) * | 2023-03-31 | 2023-06-30 | 成都赛力斯科技有限公司 | 车辆软件升级方法、装置及汽车 |
Also Published As
Publication number | Publication date |
---|---|
CN116932015A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11662991B2 (en) | Vehicle-mounted device upgrade method and related device | |
US11985238B2 (en) | Vehicle-mounted device upgrade method and related device | |
CN111788811B (zh) | 车载电子控制单元之间的安全通信 | |
CN111263352B (zh) | 车载设备的ota升级方法、系统、存储介质及车载设备 | |
CN107888577B (zh) | 门锁固件的升级方法、门锁、服务器、系统及存储介质 | |
US20220276855A1 (en) | Method and apparatus for processing upgrade package of vehicle | |
CN111399884A (zh) | 一种车辆组件的升级方法、装置及电子设备 | |
CN110471692B (zh) | 终端程序的空中升级方法、装置、设备及存储介质 | |
EP3759588A1 (en) | Method and apparatus for updating devices in a remote network | |
CN113094062A (zh) | 升级方法及装置 | |
KR102147026B1 (ko) | 애플리케이션 다운로드 방법 및 디바이스 | |
CN104216748A (zh) | 应用程序安装方法、装置及系统 | |
CN113190249A (zh) | 基于ota的车控指令块软件包的下载方法、装置及系统 | |
CN109358867B (zh) | 无人车应用自动升级方法、装置、系统及存储介质 | |
CN114756264A (zh) | 一种车载软件的u盘升级包云端制作方法及升级方法 | |
CN116932015B (zh) | 一种车辆软件远程升级方法、装置、系统及电子设备 | |
CN110708311A (zh) | 下载权限授权方法、装置和服务器 | |
CN114785521B (zh) | 认证方法、装置、电子设备及存储介质 | |
JP2021511583A (ja) | 衛星装置を遠隔的に更新するための方法及び装置 | |
CN114675856A (zh) | Ota升级的控制方法、装置、系统、计算机设备及介质 | |
US10365921B2 (en) | Method, head unit, and vehicle for introducing applications into the head unit of the vehicle | |
CN111897562A (zh) | 一种程序升级方法和设备 | |
CN112862994A (zh) | 一种etc防拆认证方法、etc、车载设备终端及系统 | |
US11972248B2 (en) | Controlling software update of electronic control units mounted on a vehicle | |
US20220413831A1 (en) | Center, ota master, method, non-transitory storage medium, and vehicle |
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 |