一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种雷达固件远程升级方法和升级系统与流程

2021-11-05 21:17:00 来源:中国专利 TAG:


1.本发明涉及数据通信技术领域,具体涉及一种雷达固件远程升级方法和升级系统。


背景技术:

2.近年来车路协同技术蓬勃发展,基于雷达的路测感知系统需求日益旺盛。通常路侧感知采用毫米波雷达进行项目实施,在实施过程中,需要针对实际的检测环境、定制化需求对雷达固件进行频繁的迭代优化。且因检测环境千差万别,通常需要对雷达固件进行定制开发,以至于同一项目的正常运营需要多个版本的雷达固件。这使得嵌入式设备常用的ota(over

the

air technology)自动批量固件升级方式变得不适用。而雷达家族中的一部分特殊产品,例如毫米波雷达由于应用场景特殊,场地分散、安装度高、内网环境。绝大部分时候需要通过网络进行远程升级,但是因为可能存在的通讯质量不稳定、低速率等各种不确定性因素导致升级失败。雷达在任何时候都不允许处于不可启动的状态,我们需要确保在升级过程中发生的任何错误都能回退到安全固件运行,而传统的通信设备固件升级方法,一旦固件在升级过程中出现问题,很可能导致设备宕机。


技术实现要素:

3.有鉴于此,本发明实施方式提供了一种雷达固件远程升级方法和升级系统,从而提高了雷达固件升级过程的抗风险能力。
4.根据第一方面,一种雷达固件远程升级方法,所述方法包括:
5.接收所述上位机发送的固件升级包,并将所述固件升级包放入临时文件夹,所述固件升级包中包括新雷达固件和原始数字签名;
6.获取所述新雷达固件的最新数字签名,并在所述最新数字签名和所述原始数字签名一致的情况下,从所述临时文件夹中拷贝所述新雷达固件到非活动工作目录,同时切换引导标志到所述非活动工作目录;
7.重启雷达并验证所述非活动工作目录中新雷达固件的完整性,在所述新雷达固件不完整的情况下,切换所述引导标志到旧版雷达固件所在的活动工作目录。
8.可选地,所述接收所述上位机发送的固件升级包,并将所述固件升级包放入临时文件夹,包括:
9.接收所述上位机发送的升级报文,所述升级报文中包括所述固件升级包的名称和指定存放路径;
10.根据所述固件升级包的名称搜索所述指定存放路径中的固件升级包,并将所述固件升级包放入所述临时文件夹。
11.可选地,在所述获取所述新雷达固件的最新数字签名之后,还包括:
12.在所述最新数字签名和所述原始数字签名不一致的情况下,发送尝试报文到上位机,以通知上位机第二次发送所述固件升级包;
13.在第二次接收到所述固件升级包,并且所述最新数字签名和所述原始数字签名不一致的情况下,发送升级失败报文,以通知上位机进行系统漏洞检测和网络检测。
14.可选地,所述从所述临时文件夹中拷贝所述新雷达固件到非活动工作目录,同时切换引导标志到所述非活动工作目录,包括:
15.拷贝过程开始时,将拷贝状态值置为第一预设值,用于确定拷贝过程发生了中断;
16.拷贝过程结束时,将所述拷贝状态值置为第二预设值,用于确定拷贝过程没有发生中断,并切换引导标志到所述非活动工作目录。
17.可选地,在雷达重启时,所述拷贝状态值是第一预设值的情况下,包括:
18.清空所述非活动工作目录,并重新开始从所述临时文件夹中拷贝所述新雷达固件到非活动工作目录中;
19.在拷贝过程结束时将所述拷贝状态值置为第二预设值,并切换引导标志到所述非活动工作目录,以进行雷达重启。
20.可选地,在雷达重启时,所述拷贝状态值是第二预设值的情况下,在所述重启雷达并验证所述非活动工作目录中新雷达固件的完整性之后,还包括:
21.若所述新雷达固件完整,则升级所述非活动工作目录为当前活动工作目录,降级所述活动工作目录为当前非活动工作目录,并通过所述引导标志继续引导新雷达固件使雷达运行;
22.若所述新雷达固件不完整,则切换所述引导标志到所述活动工作目录,并引导所述活动工作目录中旧版雷达固件使雷达运行。
23.可选地,所述雷达固件采用非对称加密算法加密,在所述拷贝所述雷达固件到工作目录之前,还包括:
24.使用私钥对所述新雷达固件进行解密。
25.根据第二方面,一种雷达固件远程升级系统,所述系统包括:
26.固件接收模块,用于接收所述上位机发送的固件升级包,并将所述固件升级包放入临时文件夹,所述固件升级包中包括新雷达固件和原始数字签名;
27.数字签名校验模块,用于获取所述新雷达固件的最新数字签名,并在所述最新数字签名和所述原始数字签名一致的情况下,从所述临时文件夹中拷贝所述新雷达固件到非活动工作目录,同时切换引导标志到所述非活动工作目录;
28.启动保护模块,重启雷达并验证所述非活动工作目录中新雷达固件的完整性,在所述新雷达固件不完整的情况下,切换所述引导标志到旧版雷达固件所在的活动工作目录。
29.根据第三方面,一种电子设备,包括:
30.存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。
31.根据第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机从而执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。
32.本发明技术方案,具有如下优点:
33.本发明实施例提供的一种雷达固件远程升级方法和升级系统。该方法具体包括:接收到升级所需的雷达固件文件后通过验证新雷达固件的数字签名,从而判断新雷达固件在传输的过程中是否被篡改,或因网络不稳定原因导致新雷达固件文件的缺失。当数字签名校验不通过时,将不完整的新雷达固件文件删除,并上报给上位机升级失败的原因,保证了雷达运行不中断,避免了使用破损雷达固件文件升级导致雷达宕机的风险。进一步地,在新雷达固件完整的情况下,为了避免新雷达固件在拷贝过程中因为电源断电等意外导致升级过程中断,从而使得雷达宕机,本发明实施例添加了多个工作目录,以将新雷达固件拷贝到新的工作目录中,之后在雷达重启时通过引导新工作目录来实现雷达的运行;当雷达重启却发现新雷达固件拷贝出错时,也可以及时切换回原工作目录使得雷达继续以旧版本固件保持工作,提高了雷达固件升级过程的鲁棒性。
附图说明
34.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1为本发明实施例的一种雷达固件远程升级方法的步骤示意图;
36.图2为本发明实施例的一种雷达固件远程升级系统的结构示意图;
37.图3为本发明实施例的一种电子设备的结构示意图。
具体实施方式
38.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
40.请参阅图1,本发明实施例提供的一种雷达固件远程升级方法,具体包括如下步骤:
41.步骤s101:接收上位机发送的固件升级包,并将固件升级包放入临时文件夹,固件升级包中包括新雷达固件和原始数字签名。步骤s102:获取新雷达固件的最新数字签名,并在最新数字签名和原始数字签名一致的情况下,从临时文件夹中拷贝新雷达固件到非活动工作目录,同时切换引导标志到非活动工作目录。步骤s103:重启雷达并验证非活动工作目录中新雷达固件的完整性,在新雷达固件不完整的情况下,切换引导标志到旧版雷达固件所在的活动工作目录。
42.其中,步骤s101:接收上位机发送的固件升级包,并将固件升级包放入临时文件夹,固件升级包中包括新雷达固件和原始数字签名。
43.具体地,在雷达升级过程中,为了提高雷达升级进程的鲁棒性,防止新雷达固件文件缺失或者包含病毒等风险情况,导致雷达升级出错从而使得雷达宕机。本发明实施例中,
升级所需的固件升级包不直接放入工作目录进行解压,通过将固件升级包放入临时文件夹中,以进行固件文件的完整性验证。具体地,在一实施例中,在接收上位机发送的固件升级包之前,雷达首先接收上位机发送的用户名和密码信息,当上位机提供的用户名和密码与雷达中预先保存的令牌一致时,雷达通过ftp服务与上位机建立连接,从而开始接收上位机发送的固件升级包。其中,固件升级包中包括用于更新的新雷达固件和验证新雷达固件完整性的原始数字签名。其中数字签名技术包括md5、sha等,在本发明实施例中,采用sha

512算法完成对新雷达固件的原始数字签名,该算法相较于md5等算法有更强的抗攻击性,提高了新雷达固件在文件传输过程中的安全性。
44.具体地,一种优选方案,上述步骤s101,还包括如下步骤:
45.步骤s201:接收上位机发送的升级报文,升级报文中包括固件升级包的名称和指定存放路径;
46.步骤s202:根据固件升级包的名称搜索指定存放路径中的固件升级包,并将固件升级包放入临时文件夹。
47.具体地,通过用户名和密码验证的上位机,可以预先将固件升级包发送至雷达的一指定存放路径中,固件升级包发动完毕后给雷达发送一升级报文,告知雷达升级包的名称和存放路径,即断开雷达与上位机的ftp连接,之后雷达在占用率低的闲时再通过升级报文去指定路径搜索固件升级包来完成升级,如果升级过程中发现文件错误再和上位机建立连接,避免了升级过程中上位机与雷达长时间的连接,一方面在新雷达固件完整的情况下可以加快升级速度,另一方面节省了处理器和内存资源。
48.其中,步骤s102:获取新雷达固件的最新数字签名,并在最新数字签名和原始数字签名一致的情况下,从临时文件夹中拷贝新雷达固件到非活动工作目录,同时切换引导标志到非活动工作目录。
49.具体地,当新雷达固件的数字签名校验通过时,代表新雷达固件在文件传输的过程中没有发生被篡改和文件缺失的情况,因此新雷达固件完整,可以用于升级使用,此时从临时文件夹中复制新雷达固件放入工作目录中即可完成升级,但是由于雷达设备的特殊性,为了防止在拷贝过程当中有意外发生导致升级失败,因此雷达设备设置了多个工作目录,其中存有正在工作雷达固件的工作目录为活动工作目录,其他工作目录为非活动工作目录,此时雷达正在运行当中,旧版雷达固件存在于活动工作目录中,因此先将新雷达固件拷贝至非活动工作目录中,不会对正在运行的雷达产生任何影响,进一步提高了雷达固件升级过程的可靠性。在拷贝工作结束后,将雷达开启动时用于引导系统运行的引导标志切换到该非活动工作做目录下,以使下一次雷达启动使用新雷达固件运行雷达。
50.具体地,在一实施例中,在最新数字签名和原始数字签名不一致的情况下,发送尝试报文到上位机,以通知上位机第二次发送固件升级包。具体地,当新雷达固件的数字签名校验失败时,表示新雷达固件被篡改或者发生文件缺失而导致固件文件不完整,不能用于升级。因此,在第一次检测到数字签名校验失败时,很可能是由于网络不稳定等原因造成的,因此通知上位机再次尝试发送固件升级包,以进行上述数字签名校验的步骤,若第二次数字签名校验通过,即可继续进行升级步骤。
51.具体地,在一实施例中,在第二次接收到固件升级包,并且最新数字签名和原始数字签名不一致的情况下,发送升级失败报文,以通知上位机进行系统漏洞检测和网络检测。
具体地,若在ftp服务重启后,接收到的新雷达固件还是不能通过数字签名校验,除了网络不稳定因素外,由于系统漏洞导致黑客篡改文件的可能性较大,此时雷达发送升级失败报文到上位机,通知上位机进行系统漏洞检测和网络检测,并将网络通信过程中的数据交互记录一并导出,提供给工作人员进行故障分析和检修。
52.具体地,一种优选方案,为了保证拷贝过程的可靠性,当拷贝过程中发生意外导致拷贝中断时,提高拷贝效率,步骤s102还包括如下步骤:
53.步骤s203:拷贝过程开始时,将拷贝状态值置为第一预设值,用于确定拷贝过程发生了中断;
54.步骤s204:拷贝过程结束时,将拷贝状态值置为第二预设值,用于确定拷贝过程没有发生中断,并切换引导标志到非活动工作目录。
55.具体地,通过设置不同的拷贝状态值,在拷贝过程开始和拷贝过程结束时分别强制将拷贝状态值置为预设值,例如在拷贝开始时拷贝状态值置为第一预设值1,在拷贝结束时拷贝状态值置为第二预设值0。从而在雷达重启时,可以首先通过该值判断是否在新雷达固件到工作目录的拷贝过程中发生中断的情况。
56.具体地,在一实施例中,通过上述步骤s203~s204设置的拷贝状态值。当在拷贝过程中,发生了例如雷达突然断电等意外情况,导致拷贝过程中断,雷达在重启时,拷贝状态值是第一预设值的情况下,执行如下步骤:
57.步骤s205:清空非活动工作目录,并重新开始从临时文件夹中拷贝新雷达固件到非活动工作目录中。具体地,雷达在重启时检测到拷贝状态值是第一预设值,表示雷达在关机之前发生了升级文件拷贝过程的中断情况,因此此时直接清空对应的非活动工作目录,保证非活动目录中不存在残留垃圾文件,并重新从临时文件夹中开始拷贝新雷达固件,从而在雷达重启的第一时间继续拷贝工作,不用重新通知上位机从发送雷达固件的第一步开始,避免了升级过程的重复步骤,提高了升级速度。
58.步骤s206:在拷贝过程结束时将拷贝状态值置为第二预设值,并切换引导标志到非活动工作目录,以进行雷达重启。具体地,拷贝工作结束后,避免在雷达下次重启时,又进行拷贝临时文件夹中文件的重复操作,将拷贝状态值置为第二预设值,雷达检测到该值时不进行任何拷贝工作。
59.其中,步骤s103:重启雷达并验证非活动工作目录中新雷达固件的完整性,在新雷达固件不完整的情况下,切换引导标志到旧版雷达固件所在的活动工作目录。
60.具体地,在新雷达固件拷贝到非活动工作目录中后,由于雷达设备的特殊性,不允许雷达在任何情况下由于其软件原因无法启动,从而导致雷达宕机,因此在雷达重启时,还需验证新雷达固件的完整性,以免导致雷达启动死机。若验证得到新雷达固件不完整,为了保证雷达的正常开机运行,此时,雷达自动切换引导标志从非活动工作目录到旧版雷达固件所在的活动工作目录,以便于使用旧版雷达固件完成开机。
61.具体地,在一实施例中,在雷达重启时,拷贝状态值是第二预设值的情况下,即新雷达固件拷贝正常结束,在上述步骤s103的在验证非活动工作目录中新雷达固件的完整性之后,还包括如下步骤:
62.步骤s104:若新雷达固件完整,则升级非活动工作目录为当前活动工作目录,降级活动工作目录为当前非活动工作目录,并通过引导标志继续引导新雷达固件使雷达运行。
63.步骤s105:若新雷达固件不完整,则切换引导标志到活动工作目录,并引导活动工作目录中旧版雷达固件使雷达运行。
64.具体地,在雷达固件完整的情况下,当前新雷达固件可以用于雷达运行,即升级非活动工作目录变为当前的活动工作目录,之后通过引导标志继续引导系统在当前的活动工作目录中启动,使用新雷达固件引导雷达开机。并将旧版雷达固件所在的原活动工作目录降级为当前的非活动工作目录。若雷达固件不完整,则雷达启动进程自动切换引导标志到原先的活动工作目录中,以引导系统在活动工作目录中启动,使用旧版雷达固件引导雷达开机,保证了雷达在任何情况下都能回退到可用的状态,提高了雷达升级方法的鲁棒性。
65.具体地,在一实施例中,本发明提供的一种雷达固件远程升级方法,其中雷达固件采用非对称加密算法加密,在步骤s203之前,还包括如下步骤:
66.步骤s106:使用私钥对新雷达固件进行解密。具体地,非对称加密方法相对于对称加密算法安全性更高,其解密用的私钥不需要对外公开。在本发明实施例中,采用rsa非对称加密算法,使用公钥对新雷达固件进行加密,生成加密过后的固件,其破解难度非常高,确保固件不会泄漏。
67.通过执行上述各个步骤,本发明实施例提供的一种雷达固件远程升级方法和升级系统。该方法具体包括:接收到升级所需的雷达固件文件后通过验证新雷达固件的数字签名,从而判断新雷达固件在传输的过程中是否被篡改,或因网络不稳定原因导致新雷达固件文件的缺失。当数字签名校验不通过时,将不完整的新雷达固件文件删除,并上报给上位机升级失败的原因,保证了雷达运行不中断,避免了使用破损雷达固件文件升级导致雷达宕机的风险。进一步地,在新雷达固件完整的情况下,为了避免新雷达固件在拷贝过程中因为电源断电等意外导致升级过程中断,从而使得雷达宕机,本发明实施例添加了多个工作目录,以将新雷达固件拷贝到新的工作目录中,之后在雷达重启时通过引导新工作目录来实现雷达的运行;当雷达重启却发现新雷达固件拷贝出错时,也可以及时切换回原工作目录使得雷达继续以旧版本固件保持工作,提高了雷达固件升级过程的鲁棒性。
68.如图2所示,本实施例还提供了一种雷达固件远程升级系统,该系统包括:
69.固件接收模块101,用于接收所述上位机发送的固件升级包,并将所述固件升级包放入临时文件夹,所述固件升级包中包括新雷达固件和原始数字签名。详细内容参见上述方法实施例中步骤s101的相关描述,在此不再进行赘述。
70.数字签名校验模块102,用于获取新雷达固件的最新数字签名,并在最新数字签名和原始数字签名一致的情况下,从临时文件夹中拷贝新雷达固件到非活动工作目录,同时切换引导标志到非活动工作目录。详细内容参见上述方法实施例中步骤s102的相关描述,在此不再进行赘述。
71.启动保护模块103,重启雷达并验证非活动工作目录中新雷达固件的完整性,在新雷达固件不完整的情况下,切换引导标志到旧版雷达固件所在的活动工作目录。详细内容参见上述方法实施例中步骤s103的相关描述,在此不再进行赘述。
72.本发明实施例提供的一种雷达固件远程升级系统,用于执行上述实施例提供的一种雷达固件远程升级方法,其实现方式与原理相同,详细内容参见上述方法实施例的相关描述,不再赘述。
73.图3示出了本发明实施例的一种电子设备,该设备包括:处理器901和存储器902,
可以通过总线或者其他方式连接,图3中以通过总线连接为例。
74.处理器901可以为中央处理器(central processing unit,cpu)。处理器901还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
75.存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如上述方法实施例中的方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
76.存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
77.一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的方法。
78.上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。
79.本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,实现的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid

state drive,ssd)等;存储介质还可以包括上述种类的存储器的组合。
80.虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献