CN116360830B - 一种车载终端软件版本升级方法和系统 - Google Patents

一种车载终端软件版本升级方法和系统 Download PDF

Info

Publication number
CN116360830B
CN116360830B CN202310626290.XA CN202310626290A CN116360830B CN 116360830 B CN116360830 B CN 116360830B CN 202310626290 A CN202310626290 A CN 202310626290A CN 116360830 B CN116360830 B CN 116360830B
Authority
CN
China
Prior art keywords
file
vehicle
mounted terminal
cloud server
software
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
Application number
CN202310626290.XA
Other languages
English (en)
Other versions
CN116360830A (zh
Inventor
张亚楠
李鹏飞
马超
贾先锋
武智
刘天宇
姜泽鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongqi Zhilian Technology Co ltd
Original Assignee
Zhongqi Zhilian Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongqi Zhilian Technology Co ltd filed Critical Zhongqi Zhilian Technology Co ltd
Priority to CN202310626290.XA priority Critical patent/CN116360830B/zh
Publication of CN116360830A publication Critical patent/CN116360830A/zh
Application granted granted Critical
Publication of CN116360830B publication Critical patent/CN116360830B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种车载终端软件版本升级方法和系统,本发明采用车载终端的软件包的大小、软件包内文件的特征值,与企业云端服务器内软件包的大小、软件包内文件的特征值进行对比,并根据对比结果实现车载终端软件版本的升级;本发明能够提高车载终端软件升级的效率和准确性。

Description

一种车载终端软件版本升级方法和系统
技术领域
本发明涉及软件升级技术领域,特别涉及一种车载终端软件版本升级方法和系统。
背景技术
随着车辆网联化、智能化的发展,汽车软件升级在车辆的软件漏洞修复、参数配置变更、功能优化提升等方面发挥这非常重要的作用。
在汽车软件升级过程中,软件版本的控制是十分重要的一个关键环节。首先,软件升级厂商要具备识别车辆各个控制器软件版本和配置信息的能力,在得到准确的软件版本信息后,对照升级内容确认升级包的软硬件兼容性。当前,为了降低软件升级过程中的风险,确保软件升级的安全性,通常每次软件升级只会对版本进行一次更新,升级到下一个版本,而不会进行跨版本升级,导致软件升级效率较低。并且,对于车载终端的软件包,由于可能的恶意攻击或者不规范程序刷机等行为,导致车载终端的软件包中的文件内容与软件包的版本不统一,文件内容不标准或可能存在漏洞等问题。
基于以上问题,本发明提出了一种车载终端软件版本升级方法和系统。
发明内容
针对目前车载终端软件包升级效率低,软件包中文件可能存在的不准确、存在漏洞等技术问题,本文提出了一种车载终端软件版本升级方法和系统,所述方法具体包括如下步骤:
S1.企业云端服务器向车载终端发送软件升级第一指令;
S2.车载终端接收到所述软件升级第一指令后,获取车载终端软件包当前版本号,并获取车载终端软件包的大小;
S3.车载终端将步骤S2中获取的当前版本号,以及车载终端软件包的大小发送至企业云端服务器;
S4.企业云端服务器根据接收到的所述当前版本号,查找企业云端服务器内存储的所述当前版本号对应的软件包,并将查找到的软件包的大小与步骤S3中的车载终端软件包的大小进行比较;
当软件包的大小相等时,执行步骤S5;
当软件包的大小不相等时,执行步骤S6;
S5.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、当前版本号所对应的软件包,对车载终端软件版本进行升级;
S6.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、车载终端中的软件包,对车载终端软件版本进行升级。
本发明还提出一种车载终端软件版本升级系统,所述系统包括企业云端服务器和车载终端;
所述企业云端服务器部署于汽车企业端,用于控制车载终端进行软件升级;
所述车载终端与企业云端服务器建立连接,进行软件升级;
所述车载终端软件版本升级系统执行如下步骤:
S1.企业云端服务器向车载终端发送软件升级第一指令;
S2.车载终端接收到所述软件升级第一指令后,获取车载终端软件包当前版本号,并获取车载终端软件包的大小;
S3.车载终端将步骤S2中获取的当前版本号,以及车载终端软件包的大小发送至企业云端服务器;
S4.企业云端服务器根据接收到的所述当前版本号,查找企业云端服务器内存储的所述当前版本号对应的软件包,并将查找到的软件包的大小与步骤S3中的车载终端软件包的大小进行比较;
当软件包的大小相等时,执行步骤S5;
当软件包的大小不相等时,执行步骤S6;
S5.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、当前版本号所对应的软件包,对车载终端软件版本进行升级;
S6.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、车载终端中的软件包,对车载终端软件版本进行升级。
本发明的有益效果如下:
1.本发明中先采用软件包整体的大小,再采用软件包内文件的特征值,对软件包是否需要升级进行判定,提高了软件包升级的准确性,并且提高了系统整体的运行效率;
2.本发明中企业云端服务器与车载终端进行通信时,动态设置加密密钥。尤其是在车载终端接收到软件升级第一指令后,车载终端将反馈的内容通过密钥进行加密,并且将密钥设置成VIN号与当前时间戳的差值;如此,在企业云端服务器中能够容易地对反馈内容进行解密,同时,如果企业云端服务器在较长时间后才接收到车载终端反馈的内容,企业云端服务器的解密操作将失败,避免了由于断网或者外部恶意攻击所带来的不安全性。
3.本发明中先根据车载终端的软件包的大小与企业云端服务器的相同版本号的软件包的大小进行对比,通过软件包的大小判断车载终端的软件包是否经过恶意篡改或者刷机修改,如无,则直接进行升级;如是,则采用特征值方法进行软件升级。经过上述方法,本发明能够提高系统运行的整体效率,提高软件升级的准确性。
4.本发明根据车载终端软件包中多个文件的特征值与企业云端服务器的最新版本软件包的特征值进行对比,并根据特征值对比的结果判断是否需要车载终端传输文件的整体,以实现对是否需要对该文件进行升级的判断;上述方法一方面能够避免车载终端与企业云端服务器的大数据量传输,又能提高软件升级的准确性。
5.本发明的特征值提取方法,能够避免车载终端与企业云端服务器的大数据量传输,从而提高软件升级的整体效率。
6.本发明在据车载终端软件包中多个文件的特征值与企业云端服务器的最新版本软件包的特征值进行对比时,如发现对比结果不理想时,将企业云端服务器的软件包的文件的特征值进行加宽处理,也即重新提取特征值;避免了由于文件的格式修改,如加入空格、回车行等修改,而导致的特征值对比不准确的问题。
上述说明,仅是本发明技术方案的概述,为了能够更清楚了解本发明技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述说明和其它目的、特征及优点能够更明显易懂,特举较佳实施例,详细说明如下。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为一种车载终端软件版本升级系统的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
实施例一
本发明提出了一种车载终端软件版本升级方法,应用于图1所示的车载终端软件版本升级系统。
所述方法具体包括如下步骤:
S1.企业云端服务器向车载终端发送软件升级第一指令;
具体地,所述步骤S1具体包括如下步骤:
S11.企业云端服务器选择待升级的车载终端,并获取该车载终端的VIN号;企业云端服务器将所述车载终端的VIN号作为第一密钥;
S12.企业云端服务器利用步骤S11中的第一密钥,采用第一加密算法对所述软件升级第一指令进行加密,形成第一密文;
所述第一加密算法为DES算法、3DES算法、AES算法、DH算法的其中之一。
S13.企业云端服务器将所述第一密文发送至车载终端。
S2.车载终端接收到所述软件升级第一指令后,获取车载终端软件包当前版本号,并获取车载终端软件包的大小。
具体地,所述步骤S2具体包括如下步骤:
S21.车载终端接收到企业云端服务器发送的第一密文后,车载终端获取车载终端的VIN号,根据所述车载终端的VIN号和第一加密算法对接收到的第一密文进行解密;
S22.车载终端判断企业云端服务器发送的指令为软件升级第一指令时,获取车载终端软件包当前版本号,并获取车载终端软件包的大小。
S3.车载终端将步骤S2中获取的当前版本号,以及车载终端软件包的大小发送至企业云端服务器;
具体地,所述步骤S3具体包括:
S31.车载终端获取当前的时间戳,并将车载终端的VIN号与时间戳做差,将差值作为第二密钥,采用第二加密算法对当前版本号、车载终端软件包的大小进行加密运算,形成第二密文。
所述时间戳具体格式为日期+时间,所述时间具体到分;例如当前时间为:2022年10月1日22点13分5秒,那么当前的时间戳为:202210012213;具体地,将车载终端的VIN号与时间戳做差之后,将差取绝对值。如此形成的密钥具有唯一性且不易被破解。
S32.车载终端将所述第二密文发送给企业云端服务器。
S4.企业云端服务器根据接收到的所述当前版本号,查找企业云端服务器内存储的所述当前版本号对应的软件包,并将查找到的软件包的大小与步骤S3中的车载终端软件包的大小进行比较。注意此处比较的是2个软件包整体的大小。
当软件包的大小相等时,执行步骤S5;当软件包的大小不相等时,执行步骤S6。
具体地,所述步骤S4具体包括如下步骤:
S41.企业云端服务器接收到车载终端发送的第二密文;
S42.企业云端服务器获取当前时间戳和步骤S11中获取的车载终端VIN号,将车载终端的VIN号与当前时间戳做差,根据差值和第二加密算法对所述第二密文进行解密,获得车载终端发送的当前版本号、车载终端软件包的大小。
所述时间戳具体格式为日期+时间,所述时间具体到分;例如当前时间为:2022年10月1日22点13分5秒,那么当前的时间戳为:202210012213;如当前时间为2022年9月12日3点2分16秒,那么当前的时间戳为:202209120302。
具体地,将车载终端的VIN号与时间戳做差之后,将差取绝对值。
S43.企业云端服务器在企业云端服务器内存储的多个不同版本的软件包中查找步骤S42中获得的当前版本号所对应的软件包,并获取该软件包的大小。
S44.比较步骤S43中获取的软件包的大小与步骤S42中获得的车载终端发送的车载终端软件包的大小。
S5.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、当前版本号所对应的软件包,对车载终端软件版本进行升级。
具体地,所述步骤S5具体包括如下步骤:
S51.企业云端服务器从在企业云端服务器内存储的多个不同版本的软件包中查找最新版本号所对应的软件包;所述企业云端服务器内存储的多个不同版本的软件包为软件包的不同版本文件。
S52. 企业云端服务器获得最新版本号所对应的软件包与步骤S43中获得的当前版本号所对应的软件包的差异文件,所述差异文件为最新版本号所对应的软件包与当前版本号所对应的软件包中存在差异的文件。获取差异文件的过程参见现有技术,此处不再赘述。
S53. 企业云端服务器将所述差异文件发送至车载终端中,由车载终端对所述差异文件所对应的旧文件进行替换,并完成车载终端软件版本升级。
所述替换的过程为:在车载终端中找到与差异文件对应的文件,该对应的文件为旧文件,将差异文件与旧文件进行替换。
S6.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、车载终端中的软件包,对车载终端软件版本进行升级。
具体地,所述步骤S6具体包括如下步骤:
S61.企业云端服务器获取最新版本号所对应的软件包,并获取所述最新版本号所对应的软件包内的所有文件。
S62.车载终端获取车载终端内的当前版本号所对应的软件包内的所有文件,并提取所述所有文件的文件名称、文件路径、文件大小;所述文件路径为文件在软件包内的存储路径。
S63.车载终端将步骤S62中提取的所有文件的文件名称、文件路径、文件大小发送至企业云端服务器。
S64.企业云端服务器提取步骤S61中最新版本号所对应的软件包内的所有文件的文件名称、文件路径、文件大小。
S65.企业云端服务器比较最新版本号所对应的软件包内的文件与步骤S63中从车载终端接收的同一路径下的同名文件的大小,如大小差异大于设定阈值,执行步骤S66;如大小差异小于等于设定阈值,执行步骤S67;设定阈值可以为5%。
具体地,文件大小的差异值采用如下公式进行计算:
其中Z1为车载终端中当前版本号软件包的大小,Z2为企业云端服务器中最新版本号软件包的大小,C为大小差异。
S66.将差异大小大于设定阈值的文件作为升级包,暂存于企业云端服务器中的升级包缓存池中。如果文件的差异较大则直接将该文件作为升级包。
S67.企业云端服务器将差异大小小于等于设定阈值的文件的文件名称、文件路径暂存至差异文件缓存池中,形成差异文件列表{F1,F2,…,Fi,…Fn};其中Fi中存储第i个差异文件所对应的文件名称、文件路径;其中n为差异文件的个数。如果文件的差异较小,还需要进一步精细化比较。
S68.重复执行步骤S65至步骤S67,直至将企业云端服务器中最新版本号所对应的升级包内的所有文件与步骤S63中从车载终端接收的同一路径下的同名文件均比较完成。
S69.企业云端服务器将差异文件缓存池中的所有文件名称、文件路径发送给车载终端,并向车载终端发送文件特征值获取指令。
企业云端服务器根据车载终端反馈的文件特征值与企业云端服务器中的文件特征值进行对比,根据对比结果形成升级包,并将升级包暂存于企业云端服务器中的升级包缓存池中,形成具有最终结果的升级包缓存池;
企业云端服务器将升级包缓存池中的所有升级包传输至车载终端中,由车载终端对所述所有升级包所对应的旧文件进行替换,并完成车载终端软件版本升级。
具体地,所述步骤S65,具体包括如下步骤:
S651.企业云端服务器获取最新版本号的任一个文件以及该文件的文件路径、文件大小。
S652.企业云端服务器获取在从车载终端中接收的多个文件中查找与步骤S651中的文件路径相同,且与步骤S651中的文件的文件名称相同的同名文件的大小。
S653.比较步骤S651中的文件的文件大小和步骤S652中的所述同名文件的文件大小的差异。
S654.当所述文件大小的差异大于设定阈值时,执行步骤S66;当文件大小的差异小于等于设定阈值时,执行步骤S67。
返回S651,直到最新版本号的所有文件均获取完成。
具体地,所述步骤S69,具体包括如下步骤:
S691.企业云端服务器获取差异文件列表{F1,F2,…,Fi,…Fn}中的文件名称、文件路径,并将获取的文件名称、文件路径、文件特征值获取指令进行加密,形成第三密文,并将第三密文发送给车载终端。
同时,企业云端服务器从企业云端服务器中的最新版本软件包中获取差异文件列表{F1,F2,…,Fi,…Fn}中的文件名称和文件路径所对应的n个文件{W1,W2,…,Wi,…Wn}。
S692.车载终端对第三密文进行解密,车载终端根据第三密文中的所有文件路径和文件名称,从车载终端软件包中获取所有文件路径和文件名称所对应的n个文件{V1,V2,…,Vi,…Vn}。
S693.车载终端提取n个文件{V1,V2,…,Vi,…Vn}中的每个文件的特征值,并将所述n个文件{V1,V2,…,Vi,…Vn}的文件名称、文件路径、文件特征值进行加密,形成第四密文,并将第四密文发送给企业云端服务器。
S694.企业云端服务器对所述第四密文进行解密,获得n个文件{V1,V2,…,Vi,…Vn}所对应的文件名称、文件路径、文件特征值。
S695.采用与步骤S693提取特征值相同的方法提取n个文件{W1,W2,…,Wi,…Wn}中每个文件的特征值。
S696.按照从1至n的顺序比较文件Vi与文件Wi的特征值。当特征值相等时,执行步骤S697;当特征值不相等时,需要将企业云端服务器的软件包的文件的特征值进行加宽处理,也即重新提取特征值;避免了由于文件的格式修改,如加入空格、回车行等修改,而导致的特征值对比不准确的问题。由于车机计算所限,车机软件包不需要进行加宽处理。执行步骤S698。
S697.不将文件Wi作为升级包。
S698.企业云端服务器重新获取文件Wi的特征值,并根据重新获取的文件Wi的特征值与文件Vi的特征值进行比较,根据比较结果形成升级包,并将升级包暂存于企业云端服务器中的升级包缓存池中。
S699.当步骤S696中的n个文件全部比较完成时,企业云端服务器将升级包缓存池中的所有升级包传输至车载终端中,由车载终端对所述所有升级包所对应的旧文件进行替换,并完成车载终端软件版本升级。
具体地,所述步骤S693,具体包括如下步骤:
S6931.针对文件Vi,从文件Vi的内容中以长度m为间隔获取长度为p的字符串;在文件的不同位置共获取q次,形成q个特征值。
其中m、q和p的具体数值可根据实际进行设定;进一步地,m>30。
S6932.将所述步骤S6931中获取的多个字符串组成特征值数组,将所述特征值数组作为文件Vi的特征值。
具体地,所述步骤S698,具体包括如下步骤:
S6981.针对文件Wi,对于文件Wi的特征值数组{Wi1,Wi2,…Wij,…Wiq}中的每项特征值Wij,将文件Wi中与特征值Wij相邻的前后多个字符与特征值Wij按照对应位置合并形成重新获取的特征值;Wij为文件Wi的第j个特征值。
S6982.针对文件Wi的特征值数组{Wi1,Wi2,…Wij,…Wiq}中的每项特征值均执行步骤S6981,形成重新获取的文件Wi的特征值数组
S6983.将文件Vi的特征值数组{Vi1,Vi2,…Vij,…Viq}与重新获取的文件Wi的特征值数组进行字符串比对,获取字符串比对结果{Bi1,Bi2,…Bij,…Biq};
所述比对结果为字符串Vij的相似度数值;所述字符串比对采用常见的字符串相似度算法,在此不再赘述。
所述Bij为文件Vi的第j个特征值与文件Wi的经过重新获取后的第j个特征值的字符串比对结果数值,所述比对结果数值大于等于0且小于等于1;
S6984.当时,二者几乎相同,微小的修改可以不用升级,不将文件Wi作为升级包;
时,执行步骤S6985。后续车载终端将向企业终端服务器上传满足/>的文件Wi。此处是针对字符串结果的平均值进行判断。
S6985.企业终端服务器向车载终端发送文件传输指令,所述文件传输指令包括:文件Wi的文件名称、文件Wi的文件路径。
S6986.车载终端在车载终端软件包中根据文件Wi的文件名称、文件Wi的文件路径查找文件路径相同且文件名称相同的文件,并将所述查找到的文件发送至企业终端服务器中;进一步地,在步骤S6986中,车载终端将软件包中的文件先进行加密,再将加密后的文件发送至企业终端服务器中。
S6987.企业终端服务器将步骤S6986中车载终端发送的文件与企业终端服务器中的文件Wi的进行字符串比对,获取字符串比对结果Bi;此处是针对每个文件的字符串比对结果进行判断。Bi为q个特征值的集合。
进一步地,在步骤S6987中,企业终端服务器现将收到的加密后的文件进行解密,再进行对比操作。
所述字符串比对结果Bi为两个文件内字符串的相似度数值;所述字符串比对采用常见的字符串相似度算法,在此不再赘述。
当Bi>95%时,获取字符串比对结果{Bi1,Bi2,…Bij,…Biq}中的最低值;并且当所述最低值小于90%时,将文件Wi作为升级包,暂存于企业云端服务器中的升级包缓存池中;当所述最低值不小于90%时,不将文件Wi作为升级包。
实施例二
本发明还提出一种车载终端软件版本升级系统,所述系统包括企业云端服务器,车载终端;
所述企业云端服务器部署于汽车企业端,用于控制车载终端进行软件升级;
所述车载终端与企业云端服务器建立连接,进行软件升级;
所述车载终端软件版本升级系统执行如下步骤:
S1.企业云端服务器向车载终端发送软件升级第一指令;
S2.车载终端接收到所述软件升级第一指令后,获取车载终端软件包当前版本号,并获取车载终端软件包的大小;
S3.车载终端将步骤S2中获取的当前版本号,以及车载终端软件包的大小发送至企业云端服务器;
S4.企业云端服务器根据接收到的所述当前版本号,查找企业云端服务器内存储的所述当前版本号对应的软件包,并将查找到的软件包的大小与步骤S3中的车载终端软件包的大小进行比较;
当软件包的大小相等时,执行步骤S5;
当软件包的大小不相等时,执行步骤S6;
S5.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、当前版本号所对应的软件包,对车载终端软件版本进行升级;
S6.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、车载终端中的软件包,对车载终端软件版本进行升级。
本发明的有益效果如下:
1.本发明中先采用软件包整体的大小,再采用软件包内文件的特征值,对软件包是否需要升级进行判定,提高了软件包升级的准确性,并且提高了系统整体的运行效率;
2.本发明中企业云端服务器与车载终端进行通信时,动态设置加密密钥。尤其是在车载终端接收到软件升级第一指令后,车载终端将反馈的内容通过密钥进行加密,并且将密钥设置成VIN号与当前时间戳的差值;如此,在企业云端服务器中能够容易地对反馈内容进行解密,同时,如果企业云端服务器在较长时间后才接收到车载终端反馈的内容,企业云端服务器的解密操作将失败,避免了由于断网或者外部恶意攻击所带来的不安全性。
3.本发明中先根据车载终端的软件包的大小与企业云端服务器的相同版本号的软件包的大小进行对比,通过软件包的大小判断车载终端的软件包是否经过恶意篡改或者刷机修改,如无,则直接进行升级;如是,则采用特征值方法进行软件升级。经过上述方法,本发明能够提高系统运行的整体效率,提高软件升级的准确性。
4.本发明根据车载终端软件包中多个文件的特征值与企业云端服务器的最新版本软件包的特征值进行对比,并根据特征值对比的结果判断是否需要车载终端传输文件的整体,以实现对是否需要对该文件进行升级的判断;上述方法一方面能够避免车载终端与企业云端服务器的大数据量传输,又能提高软件升级的准确性。
5.本发明的特征值提取方法,能够避免车载终端与企业云端服务器的大数据量传输,从而提高软件升级的整体效率。
6.本发明在据车载终端软件包中多个文件的特征值与企业云端服务器的最新版本软件包的特征值进行对比时,如发现对比结果不理想时,将企业云端服务器的软件包的文件的特征值进行加宽处理,也即重新提取特征值;避免了由于文件的格式修改,如加入空格、回车行等修改,而导致的特征值对比不准确的问题。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种车载终端软件版本升级方法,其特征在于,所述方法具体包括如下步骤:
S1.企业云端服务器向车载终端发送软件升级第一指令;
S2.车载终端接收到所述软件升级第一指令后,获取车载终端软件包当前版本号,并获取车载终端软件包的大小;
S3.车载终端将步骤S2中获取的当前版本号,以及车载终端软件包的大小发送至企业云端服务器;
S4.企业云端服务器根据接收到的所述当前版本号,查找企业云端服务器内存储的所述当前版本号对应的软件包,并将查找到的软件包的大小与步骤S3中的车载终端软件包的大小进行比较;
当软件包的大小相等时,执行步骤S5;
当软件包的大小不相等时,执行步骤S6;
S5.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、当前版本号所对应的软件包,对车载终端软件版本进行升级;
其中,步骤S5具体包括如下步骤:
S51.企业云端服务器从在企业云端服务器内存储的多个不同版本的软件包中查找最新版本号所对应的软件包;所述企业云端服务器内存储的多个不同版本的软件包为软件包的不同版本文件;
S52. 企业云端服务器获得最新版本号所对应的软件包与步骤S4中获得的当前版本号所对应的软件包的差异文件,所述差异文件为最新版本号所对应的软件包与当前版本号所对应的软件包中存在差异的文件;
S53. 企业云端服务器将所述差异文件发送至车载终端中,由车载终端对所述差异文件所对应的旧文件进行替换,并完成车载终端软件版本升级;
S6.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、车载终端中的软件包,对车载终端软件版本进行升级;
其中,步骤S6具体包括如下步骤:
S61.企业云端服务器获取最新版本号所对应的软件包,并获取所述最新版本号所对应的软件包内的所有文件;
S62.车载终端获取车载终端内的当前版本号所对应的软件包内的所有文件,并提取所述所有文件的文件名称、文件路径、文件大小;
所述文件路径为文件在软件包内的存储路径;
S63.车载终端将步骤S62中提取的所有文件的文件名称、文件路径、文件大小发送至企业云端服务器;
S64.企业云端服务器提取步骤S61中最新版本号所对应的软件包内的所有文件的文件名称、文件路径、文件大小;
S65.企业云端服务器比较最新版本号所对应的软件包内的文件与步骤S63中从车载终端接收的同一路径下的同名文件的大小,如大小差异大于设定阈值,执行步骤S66;如大小差异小于等于所述设定阈值,执行步骤S67;
S66.将差异大小大于所述设定阈值的文件作为升级包,暂存于企业云端服务器中的升级包缓存池中;
S67.企业云端服务器将差异大小小于等于所述设定阈值的文件的文件名称、文件路径暂存至差异文件缓存池中,形成差异文件列表{F1,F2,…,Fi,…Fn};
其中Fi中存储第i个差异文件所对应的文件名称、文件路径;
其中n为差异文件的个数;
S68.重复执行步骤S65至步骤S67,直至将企业云端服务器中最新版本号所对应的升级包内的所有文件与步骤S63中从车载终端接收的同一路径下的同名文件均比较完成;
S69.企业云端服务器将差异文件缓存池中的所有文件名称、文件路径发送给车载终端,并向车载终端发送文件特征值获取指令;
企业云端服务器根据车载终端反馈的文件特征值与企业云端服务器中的文件特征值进行对比,根据对比结果形成升级包,并将升级包暂存于企业云端服务器中的升级包缓存池中,形成具有最终结果的升级包缓存池;
企业云端服务器将升级包缓存池中的所有升级包传输至车载终端中,由车载终端对所述所有升级包所对应的旧文件进行替换,并完成车载终端软件版本升级。
2.根据权利要求1所述的车载终端软件版本升级方法,其特征在于,所述步骤S1具体包括如下步骤:
S11.企业云端服务器选择待升级的车载终端,并获取该车载终端的VIN号;企业云端服务器将所述车载终端的VIN号作为第一密钥;
S12.企业云端服务器利用步骤S11中的第一密钥,采用第一加密算法对所述软件升级第一指令进行加密,形成第一密文;
S13.企业云端服务器将所述第一密文发送至车载终端。
3.根据权利要求2所述的车载终端软件版本升级方法,其特征在于,所述步骤S2车载终端接收到所述软件升级第一指令后,获取车载终端软件包当前版本号,并获取车载终端软件包的大小,具体包括如下步骤:
S21.车载终端接收到企业云端服务器发送的第一密文后,车载终端获取车载终端的VIN号,根据所述车载终端的VIN号和第一加密算法对接收到的第一密文进行解密;
S22.车载终端判断企业云端服务器发送的指令为软件升级第一指令时,获取车载终端软件包当前版本号,并获取车载终端软件包的大小。
4.根据权利要求3所述的车载终端软件版本升级方法,其特征在于,所述步骤S3车载终端将步骤S2中获取的当前版本号,以及车载终端软件包的文件大小发送至企业云端服务器,具体包括:
S31.车载终端获取当前的时间戳,并将车载终端的VIN号与时间戳做差,将差值作为第二密钥,采用第二加密算法对当前版本号、车载终端软件包的大小进行加密运算,形成第二密文;
S32.车载终端将所述第二密文发送给企业云端服务器。
5.根据权利要求4所述的车载终端软件版本升级方法,其特征在于,所述步骤S65,具体包括如下步骤:
S651.企业云端服务器获取最新版本号的任一个文件以及该文件的文件路径、文件大小;
S652.企业云端服务器获取在从车载终端中接收的多个文件中查找与步骤S651中的文件路径相同,且与步骤S651中的文件的文件名称相同的同名文件的大小;
S653.比较步骤S651中的文件的文件大小和步骤S652中的所述同名文件的文件大小的差异;
S654.当所述文件大小的差异大于5%时,执行步骤S66;当文件大小的差异小于等于5%时,执行步骤S67;
返回S651,直到最新版本号的所有文件均获取完成。
6.根据权利要求5所述的车载终端软件版本升级方法,其特征在于,所述步骤S69,具
体包括如下步骤:
S691.企业云端服务器获取差异文件列表{F1,F2,…,Fi,…Fn}中的文件名称、文件路径,并将获取的文件名称、文件路径、文件特征值获取指令进行加密,形成第三密文,并将第三密文发送给车载终端;
同时,企业云端服务器从企业云端服务器中的最新版本软件包中获取差异文件列表{F1,F2,…,Fi,…Fn}中的文件名称和文件路径所对应的n个文件{W1,W2,…,Wi,…Wn};
S692.车载终端对第三密文进行解密,车载终端根据第三密文中的所有文件路径和文件名称,从车载终端软件包中获取所有文件路径和文件名称所对应的n个文件{V1,V2,…,Vi,…Vn};
S693.车载终端提取n个文件{V1,V2,…,Vi,…Vn}中的每个文件的特征值,并将所述n个文件{V1,V2,…,Vi,…Vn}的文件名称、文件路径、文件特征值进行加密,形成第四密文,并将第四密文发送给企业云端服务器;
S694.企业云端服务器对所述第四密文进行解密,获得n个文件{V1,V2,…,Vi,…Vn}所对应的文件名称、文件路径、文件特征值;
S695.采用与步骤S693提取特征值相同的方法提取n个文件{W1,W2,…,Wi,…Wn}中每个文件的特征值;
S696.按照从1至n的顺序比较文件Vi与文件Wi的特征值;
当特征值相等时,执行步骤S697;
当特征值不相等时,执行步骤S698;
S697.不将文件Wi作为升级包;
S698.企业云端服务器重新获取文件Wi的特征值,并根据重新获取的文件Wi的特征值与文件Vi的特征值进行比较,根据比较结果形成升级包,并将升级包暂存于企业云端服务器中的升级包缓存池中;
S699.当步骤S696中的n个文件全部比较完成时,企业云端服务器将升级包缓存池中的所有升级包传输至车载终端中,由车载终端对所述所有升级包所对应的旧文件进行替换,并完成车载终端软件版本升级。
7.根据权利要求6所述的车载终端软件版本升级方法,其特征在于,所述步骤S693,具体包括如下步骤:
S6931.针对文件Vi,从文件Vi的内容中以长度m为间隔获取长度为p的字符串;
S6932.将所述步骤S6931中获取的多个字符串组成特征值数组,将所述特征值数组作为文件Vi的特征值。
8.根据权利要求7所述的车载终端软件版本升级方法,其特征在于,所述步骤S698,具体包括如下步骤:
S6981.针对文件Wi,对于文件Wi的特征值数组{Wi1,Wi2,…Wij,…Wiq}中的每项特征值Wij,将文件Wi中与特征值Wij相邻的前后多个字符与特征值Wij按照对应位置合并形成重新获取的特征值
其中q为文件Wi的特征值个数;Wij为文件Wi的第j个特征值;
S6982.针对文件Wi的特征值数组{Wi1,Wi2,…Wij,…Wiq}中的每项特征值均执行步骤S6981,形成重新获取的文件Wi的特征值数组
S6983.将文件Vi的特征值数组{Vi1,Vi2,…Vij,…Viq}与重新获取的文件Wi的特征值数组进行字符串比对,获取字符串比对结果{Bi1,Bi2,…Bij,…Biq};
所述比对结果为字符串Vij的相似度数值;
所述Bij为文件Vi的第j个特征值与文件Wi的经过重新获取后的第j个特征值的字符串比对结果数值,所述比对结果数值大于等于0且小于等于1;
S6984.当时,不将文件Wi作为升级包;
时,执行步骤S6985;
S6985.企业终端服务器向车载终端发送文件传输指令,所述文件传输指令包括:文件Wi的文件名称、文件Wi的文件路径;
S6986.车载终端在车载终端软件包中根据文件Wi的文件名称、文件Wi的文件路径查找文件路径相同且文件名称相同的文件,并将所述查找到的文件发送至企业终端服务器中;
S6987.企业终端服务器将步骤S6986中车载终端发送的文件与企业终端服务器中的文件Wi的进行字符串比对,获取字符串比对结果Bi
所述字符串比对结果Bi为两个文件内字符串的相似度数值;
当Bi>95%时,获取字符串比对结果{Bi1,Bi2,…Bij,…Biq}中的最低值;
并且当所述最低值小于90%时,将文件Wi作为升级包,暂存于企业云端服务器中的升级包缓存池中;
当所述最低值不小于90%时,不将文件Wi作为升级包。
9.一种车载终端软件版本升级系统,其特征在于,所述系统包括企业云端服务器,车载终端;
所述企业云端服务器部署于汽车企业端,用于控制车载终端进行软件升级;
所述车载终端与企业云端服务器建立连接,进行软件升级;
所述车载终端软件版本升级系统执行如下步骤:
S1.企业云端服务器向车载终端发送软件升级第一指令;
S2.车载终端接收到所述软件升级第一指令后,获取车载终端软件包当前版本号,并获取车载终端软件包的大小;
S3.车载终端将步骤S2中获取的当前版本号,以及车载终端软件包的大小发送至企业云端服务器;
S4.企业云端服务器根据接收到的所述当前版本号,查找企业云端服务器内存储的所述当前版本号对应的软件包,并将查找到的软件包的大小与步骤S3中的车载终端软件包的大小进行比较;
当软件包的大小相等时,执行步骤S5;
当软件包的大小不相等时,执行步骤S6;
S5.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、当前版本号所对应的软件包,对车载终端软件版本进行升级;
其中,步骤S5具体包括如下步骤:
S51.企业云端服务器从在企业云端服务器内存储的多个不同版本的软件包中查找最新版本号所对应的软件包;所述企业云端服务器内存储的多个不同版本的软件包为软件包的不同版本文件;
S52. 企业云端服务器获得最新版本号所对应的软件包与步骤S4中获得的当前版本号所对应的软件包的差异文件,所述差异文件为最新版本号所对应的软件包与当前版本号所对应的软件包中存在差异的文件;
S53. 企业云端服务器将所述差异文件发送至车载终端中,由车载终端对所述差异文件所对应的旧文件进行替换,并完成车载终端软件版本升级;
S6.企业云端服务器获取最新版本号所对应的软件包,根据企业云端服务器中存储的最新版本号所对应的软件包、车载终端中的软件包,对车载终端软件版本进行升级;
其中,步骤S6具体包括如下步骤:
S61.企业云端服务器获取最新版本号所对应的软件包,并获取所述最新版本号所对应的软件包内的所有文件;
S62.车载终端获取车载终端内的当前版本号所对应的软件包内的所有文件,并提取所述所有文件的文件名称、文件路径、文件大小;
所述文件路径为文件在软件包内的存储路径;
S63.车载终端将步骤S62中提取的所有文件的文件名称、文件路径、文件大小发送至企业云端服务器;
S64.企业云端服务器提取步骤S61中最新版本号所对应的软件包内的所有文件的文件名称、文件路径、文件大小;
S65.企业云端服务器比较最新版本号所对应的软件包内的文件与步骤S63中从车载终端接收的同一路径下的同名文件的大小,如大小差异大于设定阈值,执行步骤S66;如大小差异小于等于所述设定阈值,执行步骤S67;
S66.将差异大小大于所述设定阈值的文件作为升级包,暂存于企业云端服务器中的升级包缓存池中;
S67.企业云端服务器将差异大小小于等于所述设定阈值的文件的文件名称、文件路径暂存至差异文件缓存池中,形成差异文件列表{F1,F2,…,Fi,…Fn};
其中Fi中存储第i个差异文件所对应的文件名称、文件路径;
其中n为差异文件的个数;
S68.重复执行步骤S65至步骤S67,直至将企业云端服务器中最新版本号所对应的升级包内的所有文件与步骤S63中从车载终端接收的同一路径下的同名文件均比较完成;
S69.企业云端服务器将差异文件缓存池中的所有文件名称、文件路径发送给车载终端,并向车载终端发送文件特征值获取指令;
企业云端服务器根据车载终端反馈的文件特征值与企业云端服务器中的文件特征值进行对比,根据对比结果形成升级包,并将升级包暂存于企业云端服务器中的升级包缓存池中,形成具有最终结果的升级包缓存池;
企业云端服务器将升级包缓存池中的所有升级包传输至车载终端中,由车载终端对所述所有升级包所对应的旧文件进行替换,并完成车载终端软件版本升级。
CN202310626290.XA 2023-05-31 2023-05-31 一种车载终端软件版本升级方法和系统 Active CN116360830B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310626290.XA CN116360830B (zh) 2023-05-31 2023-05-31 一种车载终端软件版本升级方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310626290.XA CN116360830B (zh) 2023-05-31 2023-05-31 一种车载终端软件版本升级方法和系统

Publications (2)

Publication Number Publication Date
CN116360830A CN116360830A (zh) 2023-06-30
CN116360830B true CN116360830B (zh) 2023-08-15

Family

ID=86941880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310626290.XA Active CN116360830B (zh) 2023-05-31 2023-05-31 一种车载终端软件版本升级方法和系统

Country Status (1)

Country Link
CN (1) CN116360830B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150830A (zh) * 2007-10-17 2008-03-26 中兴通讯股份有限公司 软件包升级方法及装置
CN103399760A (zh) * 2013-07-20 2013-11-20 江苏中科天安智联科技有限公司 车载智能终端软件远程升级方法
CN105573790A (zh) * 2015-12-15 2016-05-11 上海博泰悦臻网络技术服务有限公司 一种车载系统软件升级方法、车载系统及软件服务器
CN106612327A (zh) * 2016-12-19 2017-05-03 巴士在线科技有限公司 一种公交电视系统文件内容分发系统及方法
CN107024925A (zh) * 2017-05-25 2017-08-08 奇瑞汽车股份有限公司 一种汽车ecu控制器刷写系统和方法
CN108710497A (zh) * 2018-05-18 2018-10-26 深圳市云智易联科技有限公司 一种车载中控的系统更新方法及车载中控
CN109766108A (zh) * 2018-12-12 2019-05-17 北京梧桐车联科技有限责任公司 车载终端软件升级系统、方法及装置
CN110378123A (zh) * 2019-07-18 2019-10-25 上海擎感智能科技有限公司 一种用于车载终端的软件升级方法及系统
CN112181456A (zh) * 2020-09-24 2021-01-05 上海仙塔智能科技有限公司 整车版本管理方法、系统及计算机存储介质
CN113900682A (zh) * 2021-09-08 2022-01-07 深圳Tcl新技术有限公司 一种系统软件升级方法、装置、设备和计算机存储介质
CN115022092A (zh) * 2022-08-05 2022-09-06 中汽数据(天津)有限公司 车辆软件升级方法、设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140077435A (ko) * 2012-12-14 2014-06-24 삼성전자주식회사 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150830A (zh) * 2007-10-17 2008-03-26 中兴通讯股份有限公司 软件包升级方法及装置
CN103399760A (zh) * 2013-07-20 2013-11-20 江苏中科天安智联科技有限公司 车载智能终端软件远程升级方法
CN105573790A (zh) * 2015-12-15 2016-05-11 上海博泰悦臻网络技术服务有限公司 一种车载系统软件升级方法、车载系统及软件服务器
CN106612327A (zh) * 2016-12-19 2017-05-03 巴士在线科技有限公司 一种公交电视系统文件内容分发系统及方法
CN107024925A (zh) * 2017-05-25 2017-08-08 奇瑞汽车股份有限公司 一种汽车ecu控制器刷写系统和方法
CN108710497A (zh) * 2018-05-18 2018-10-26 深圳市云智易联科技有限公司 一种车载中控的系统更新方法及车载中控
CN109766108A (zh) * 2018-12-12 2019-05-17 北京梧桐车联科技有限责任公司 车载终端软件升级系统、方法及装置
CN110378123A (zh) * 2019-07-18 2019-10-25 上海擎感智能科技有限公司 一种用于车载终端的软件升级方法及系统
CN112181456A (zh) * 2020-09-24 2021-01-05 上海仙塔智能科技有限公司 整车版本管理方法、系统及计算机存储介质
CN113900682A (zh) * 2021-09-08 2022-01-07 深圳Tcl新技术有限公司 一种系统软件升级方法、装置、设备和计算机存储介质
CN115022092A (zh) * 2022-08-05 2022-09-06 中汽数据(天津)有限公司 车辆软件升级方法、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
新能源汽车ECU软件升级系统安全高效机制研究与实现;尤伟强;《信息科技》;全文 *

Also Published As

Publication number Publication date
CN116360830A (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
US10432593B2 (en) Secure software updates
US9515829B2 (en) Information distribution method, information distribution system and in-vehicle terminal
US7539312B2 (en) Program update method and server
US8638932B2 (en) Security method and system and computer-readable medium storing computer program for executing the security method
CN106021497B (zh) 数据库访问口令管理方法
CN112182630B (zh) 一种对称可搜索加密方法、装置、设备及介质
CN114637987B (zh) 基于平台验证的安全芯片固件下载方法及系统
CN115665138A (zh) 一种汽车ota升级系统及方法
CN114417073B (zh) 一种加密图的邻居节点查询方法及装置、电子设备
CN116360830B (zh) 一种车载终端软件版本升级方法和系统
JP4453656B2 (ja) 端末認証装置および方法
CN111512593B (zh) 半导体设备、提供更新数据的方法、接收更新数据的方法以及介质
CN112187449B (zh) 一种量子数据库查询方法、加解密方法及系统
CN112311528A (zh) 一种基于国密算法的数据安全传输方法
CN105100030B (zh) 访问控制方法、系统和装置
CN113517981B (zh) 一种密钥管理方法、代码版本的管理方法及装置
CN111523128B (zh) 信息保护方法、系统、电子设备及介质
JP2015061267A (ja) 鍵生成制御装置及び鍵生成格納システム
CN114726591B (zh) 一种数据统一安全认证方法、系统、电子设备以及存储介质
CN110061994B (zh) 一种密文文件集合正确性验证方法、系统及相关装置
CN118013537A (zh) 数据处理方法、装置、电子设备及存储介质
CN114567434A (zh) 一种证书和密钥的存储方法和电子设备
CN117650890A (zh) 数据处理方法及装置
CN118041994A (zh) 数据传输方法、装置、系统、服务器和存储介质
AU2011202785A1 (en) Secure software updates

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