CN114978904A - 远程固件升级方法、系统、装置、嵌入式设备及存储介质 - Google Patents
远程固件升级方法、系统、装置、嵌入式设备及存储介质 Download PDFInfo
- Publication number
- CN114978904A CN114978904A CN202210574700.6A CN202210574700A CN114978904A CN 114978904 A CN114978904 A CN 114978904A CN 202210574700 A CN202210574700 A CN 202210574700A CN 114978904 A CN114978904 A CN 114978904A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- upgrading
- file
- equipment
- embedded
- 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 64
- 238000004891 communication Methods 0.000 claims description 26
- 238000012795 verification Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 238000009434 installation Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种远程固件升级方法、系统、装置、嵌入式设备及存储介质,涉及固件升级技术领域。该方法包括:接收服务器发送的升级指示消息;其中,升级指示消息中包括:升级文件包的地址;根据升级文件包的地址,获取升级文件包,其中,升级文件包中包括:多个升级文件以及升级文件的升级策略;根据各升级文件的升级策略,分别从多个设备中确定各升级文件对应的指定升级设备,多个设备包括嵌入式设备和嵌入式设备控制的至少一个设备;根据各升级文件对各升级文件对应的指定升级设备进行固件升级。通过本申请可实现分布式升级和批量升级,减小服务器的处理压力。
Description
技术领域
本发明涉及固件升级技术领域,具体而言,涉及一种远程固件升级方法、系统、装置、嵌入式设备及存储介质。
背景技术
随着互联网技术的发展,设备可实现的功能越来越多,当技术人员开发出新的功能时,需要对设备的固件程序进行升级。
现有的设备固件升级,一般是设备与服务器建立通信连接,由服务器访问设备并判断设备是否需要升级,并在需要升级时向设备发送升级文件包进行升级。
现有的升级方式中,由于升级需求是由服务器发起的,当服务器与多个设备通信连接,服务器需要对多个设备的通信地址进行记录,且由于设备的通信地址并非固定不变的,服务器还需要及时对设备的通信地址进行更新维护,增加了服务器的处理压力,且现有的升级方式为服务器对多个设备进行一对一升级,同样增加了服务器的处理压力。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种远程固件升级方法、系统、装置、嵌入式设备及存储介质,由服务器将升级方案发送给嵌入式设备,通过嵌入式设备对控制的多个设备进行升级,实现分布式升级,减少服务器的处理压力。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种远程固件升级方法,应用于嵌入式设备,所述方法包括:
接收服务器发送的升级指示消息;其中,所述升级指示消息中包括:升级文件包的地址;
根据所述升级文件包的地址,获取所述升级文件包,其中,所述升级文件包中包括:多个升级文件以及各升级文件的升级策略;
根据所述各升级文件的升级策略,分别从多个设备中确定所述各升级文件对应的指定升级设备,所述多个设备包括:所述嵌入式设备和所述嵌入式设备控制的至少一个下设设备;
根据所述各升级文件对所述各升级文件对应的指定升级设备进行固件升级。
可选的,所述升级策略为:目标属性类型的升级参数条件;
所述根据所述各升级文件的升级策略,分别从多个设备中确定所述各升级文件对应的指定升级设备,包括:
根据各个设备的所述目标属性类型的属性参数,采用所述各升级文件的升级策略,分别从所述多个设备中确定满足所述目标属性类型的升级参数条件的设备为所述指定升级设备。
可选的,所述目标属性类型包括:固件版本信息、预设升级时间、设备标识中的至少一种。
可选的,所述升级文件包还包括:所述各升级文件的预设校验值,所述根据所述升级文件包的地址,获取所述升级文件包之后,所述方法还包括:
计算所述各升级文件的真实校验值;
根据所述真实校验值和所述预设校验值的比较结果,对所述各升级文件进行校验。
可选的,若所述多个升级文件中第一目标升级文件的指定升级设备包括:所述嵌入式设备;相应的,所述根据所述各升级文件对所述各升级文件对应的指定升级设备进行固件升级,包括:
运行所述第一目标升级文件进行固件升级。
可选的,若所述多个升级文件中第二目标升级文件的指定升级设备包括:所述嵌入式设备所控制的下设设备;相应的,所述根据所述各升级文件对所述各升级文件对应的指定升级设备进行固件升级,包括:
将所述第二目标升级文件发送给所述下设设备,以使得所述下设设备通过运行所述第二目标升级文件进行固件升级。
第二方面,本申请实施例还提供一种远程固件升级系统,包括:服务器、至少一个嵌入式设备以及每个嵌入式设备控制的至少一个下设设备;
所述服务器与所述至少一个嵌入式设备通信连接,以向所述至少一个嵌入式设备发送升级指示信息;
所述嵌入式设备用于执行上述实施例任一所述的远程固件升级方法的步骤,并在指定升级设备为所述下设设备时,向所述下设设备发送升级文件。
第三方面,本申请实施例还提供一种远程固件升级装置,应用于嵌入式设备,所述装置包括:
消息接收模块,用于接收服务器发送的升级指示消息;其中,所述升级指示消息中包括:升级文件包的地址;
升级文件包获取模块,用于根据所述升级文件包的地址,获取所述升级文件包,其中,所述升级文件包中包括:多个升级文件以及各升级文件的升级策略;
指定升级设备确定模块,用于根据所述各升级文件的升级策略,分别从多个设备中确定所述各升级文件对应的指定升级设备,所述多个设备包括:所述嵌入式设备和所述嵌入式设备控制的至少一个下设设备;
升级模块,用于根据所述各升级文件对所述各升级文件对应的指定升级设备进行固件升级。
可选的,所述升级策略为:目标属性类型的升级参数条件;所述指定升级设备确定模块,具体用于根据各个设备的所述目标属性类型的属性参数,采用所述各升级文件的升级策略,分别从所述多个设备中确定满足所述目标属性类型的升级参数条件的设备为所述指定升级设备。
可选的,所述目标属性类型包括:固件版本信息、预设升级时间、设备标识中的至少一种。
可选的,所述升级文件包还包括:所述升级文件包获取模块之后,所述装置还包括:
真实校验值计算模块,用于计算所述各升级文件的真实校验值;
校验值比较模块,用于根据所述真实校验值和所述预设校验值的比较结果,对所述各升级文件进行校验。
可选的,若所述多个升级文件中第一目标升级文件的指定升级设备包括:所述嵌入式设备;相应的,所述升级模块,具体用于运行所述第一目标升级文件进行固件升级。
可选的,若所述多个升级文件中第二目标升级文件的指定升级设备包括:所述嵌入式设备所控制的下设设备;相应的,所述升级模块,具体用于将所述第二目标升级文件发送给所述下设设备,以使得所述下设设备通过运行所述第二目标升级文件进行固件升级。
第四方面,本申请实施例还提供一种嵌入式设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当所述嵌入式设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如上述实施例任一所述的远程固件升级方法的步骤。
第五方面,本申请实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述实施例任一所述的远程固件升级方法的步骤。
本申请的有益效果是:
本申请提供一种远程固件升级方法、系统、装置、嵌入式设备及存储介质,该方法包括:接收服务器发送的升级指示消息;其中,升级指示消息中包括:升级文件包的地址;根据升级文件包的地址,获取升级文件包,其中,升级文件包中包括:多个升级文件以及升级文件的升级策略;根据各升级文件的升级策略,分别从多个设备中确定各升级文件对应的指定升级设备,多个设备包括嵌入式设备和嵌入式设备控制的至少一个设备;根据各升级文件对各升级文件对应的指定升级设备进行固件升级。本申请通过嵌入式设备接收服务器发送的升级指示信息,由嵌入式设备对满足升级策略的指定升级设备进行升级,实现了通过嵌入式设备进行分布式升级和批量升级,无需由服务器对多个设备进行一对一升级,降低了服务器的压力。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为发明实施例提供的一种远程固件升级系统的结构示意图;
图2为本申请实施例提供的第一种远程固件升级方法的流程示意图;
图3为本申请实施例提供的第二种远程固件升级方法的流程示意图;
图4为本申请实施例提供的第三种远程固件升级方法的流程示意图;
图5为本申请实施例提供的一种远程固件升级装置的结构示意图;
图6为本申请实施例提供的嵌入式设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要说明的是,若出现术语“上”、“下”、等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
现有的针对设备进行远程固件升级的方法,通常是由服务器与多个设备直接通信连接,由服务器向设备发起升级需求访问,如设备应答为需要升级时,服务器将升级文件发送给对应的设备,以对设备进行固件升级。这种升级方法,必须由服务器对设备进行一对一升级,增加了服务器的处理压力,且服务器必须预先记录设备的通信地址,才能向设备发送升级需求方案,但由于设备的通信地址并不是固定不变的,因此服务器还需要对设备的通信地址进行更新并维护,也增加了服务器的处理压力。
针对现有技术中上述问题,本发明提出了如下技术构思,利用控制多个下设设备的嵌入式设备,通过嵌入式设备接收服务器发送的升级指示消息,由嵌入式设备基于升级策略对指定升级设备进行升级,一方面通过嵌入式设备对所控制的设备进行升级可以实现分布式升级,无需进行一对一升级,另一方面由嵌入式设备将嵌入式设备和所控制的至少一个下设设备的信息主动发送给服务器,服务器无需记录所有设备的通信地址,减小了服务器的处理压力。
在上述介绍内容的基础上,下面对本发明提供的远程固件升级方法、装置、嵌入式设备及存储介质进行详细介绍。
首先,本发明提供一种远程固件升级系统,图1为发明实施例提供的一种远程固件升级系统的结构示意图,如图1所示,该远程固件升级系统包括:服务器10、至少一个嵌入式设备20、每个嵌入式设备20控制的至少一个下设设备30;服务器10与至少一个嵌入式设备20通信连接,每个嵌入式设备20通过现场总线与至少一个下设设备30连接。
每个嵌入式设备20获取对应控制的至少一个下设设备30的属性参数,并将自身的属性参数和至少一个下设设备30的属性参数在一个通信周期内发送给服务器10,服务器10根据属性参数判断是否具有满足升级策略的嵌入式设备20或下设设备30,若有,则向对应的嵌入式设备20发送升级指示消息,嵌入式设备20根据升级指示消息获取升级文件包,并基于升级文件包中的升级策略从嵌入式设备20和至少一个下设设备中确定满足升级策略的指定升级设备,并根据升级文件对指定升级设备进行固件升级。
需要说明的是,每个嵌入式设备20若连接多个下设设备30,多个下设设备30可以包括多种类型。
在一种可选实施方式中,服务器10与嵌入式设备20之间的通信方式为:虚拟专用网络(Virtual Private Network,VPN)通信、传输控制协议(Transmission ControlProtocol,TCP)通信、用户数据报协议(User Datagram Protocol,UDP)通信或超文本传输协议(超文本传输协议,http)通信中的一种。
本发明提供的远程固件升级系统中嵌入式设备控制的至少一个下设设备,主要针对的是电动汽车领域的与充电相关的设备,例如充电器、能源控制器、充电模块控制器等,嵌入式设备为多个与充电相关的设备的控制设备。
在上述远程固件升级系统的基础上,本申请实施例还提供一种远程固件升级方法,应用于上述远程固件升级系统中的嵌入式设备20,图2为本申请实施例提供的第一种远程固件升级方法的流程示意图,如图2所示,该方法包括:
S21:接收服务器发送的升级指示消息;其中,升级指示消息中包括:升级文件包的地址。
具体的,嵌入式设备20将自身的属性参数和至少一个下设设备30的属性参数在一个通信周期内发送给服务器10,服务器10根据属性参数判断是否具有满足至少一个升级策略的嵌入式设备20或下设设备30,若存在满足升级策略的嵌入式设备20或下设设备30,则服务器10会向对应的嵌入式设备发送升级指示消息,升级指示消息用于指示该嵌入式设备20和/或下设设备30中存在满足升级策略的设备,升级指示消息中包括:升级文件包的地址。升级文件包的地址用于下载升级文件包括。示例的,升级指示消息为统一资源定位符(Uniform Resource Locator,URL)。
S22:根据升级文件包的地址,获取升级文件包,其中,升级文件包中包括:多个升级文件以及各升级文件的升级策略。
具体的,为减少服务器10的存储压力,一般情况下,升级文件包存储在专有的文件服务器中,嵌入式设备20根据升级文件包的地址,从专用的文件服务器中下载升级文件包,升级文件包中包括:多个升级文件以及各升级文件的升级策略,其中,升级文件为设备的升级程序包,升级策略用于指示升级条件,以使得服务器10根据升级条件从多个设备中筛选满足升级条件的可升级设备。一般情况下,升级策略和升级文件名称作为升级说明文件写入升级配置文件(configinfo.ini)中,通过解析升级文件,获取升级策略,升级文件名称用于指示满足升级策略的设备对应的升级文件。
示例的,嵌入式设备从文件服务器中下载升级文件包的通信方式包括但不限于:文件传输协议通信方式(File Transfer Protocol,FTP),安全文件传输协议通信方式(Secure File Transfer Protocol,SFTP),超文本传输协议(HyperText TransferProtocol,HTTP),安全超文本传输协议(Secure HyperText Transfer Protocol,SHTTP),蓝牙协议(Bluetooth,BT)等。
S23:根据各升级文件的升级策略,分别从多个设备中确定各升级文件对应的指定升级设备,多个设备包括:嵌入式设备和嵌入式设备控制的至少一个设备。
具体的,升级文件包中包含的多个升级文件均有对应的升级策略,根据每个升级文件的升级策略,判断嵌入式设备20和下设设备30中满足升级策略的设备作为对应升级文件的指定升级设备。
在一种可选实施方式中,升级策略中包括设备类型标识,用于指示该升级文件对应升级的设备类型,根据升级策略中的设备类型标识,从多个设备中选择该设备类型的至少一个初始设备后,根据升级策略中指示的升级条件,从至少一个初始设备中选择满足升级条件的至少一个可升级设备。
需要说明的是,多个升级文件的升级策略可以为相同的升级策略,也可以为不同的升级策略,若服务器提供多个升级策略对多个设备进行判断,确定针对每个升级策略,均有多个类型的设备满足对应的升级策略,每个类型的设备的数量为至少一个,则文件服务器在生成升级文件包时,提供两种生成方式,第一种是根据满足一个升级策略的一个类型的设备的数量,在升级文件包中保存对应数量的多个升级文件,第二种是针对一个升级策略对应的一个类型的设备,在升级文件包中仅保存一个升级文件,第二种方式相对于第一种方式可以减小升级文件包的大小,减小在嵌入式设备下载升级文件包时出现文件损失的概率。
为更清楚地了解上述两种生成方式,举例说明:针对一个升级策略,有三个类型的设备满足该升级策略,其中一个类型的设备包括五个,则第一种生成方式是:在升级文件包中保存五个相同的升级文件,五个相同的升级文件是针对同一类型设备的,具有相同升级策略的升级文件,嵌入式设备根据每个升级文件的设备类型,筛选出有5个该类型的设备均满足这五个升级文件对应的升级策略;第二种生成方式是:在升级文件包中仅保存一个升级文件,嵌入式设备根据该升级文件对应的设备类型,筛选出有五个该类型的设备满足该升级文件对应的升级策略。
S24:根据各升级文件对各升级文件对应的指定升级设备进行固件升级。
具体的,确定每个升级文件对应的指定升级设备后,在指定升级设备上运行对应的升级文件,以对指定升级设备进行固件升级。
本申请实施例提供的远程固件升级方法,接收服务器发送的升级指示消息;其中,升级指示消息中包括:升级文件包的地址;根据升级文件包的地址,获取升级文件包,其中,升级文件包中包括:多个升级文件以及升级文件的升级策略;根据各升级文件的升级策略,分别从多个设备中确定各升级文件对应的指定升级设备,多个设备包括嵌入式设备和嵌入式设备控制的至少一个下设设备;根据各升级文件对各升级文件对应的指定升级设备进行固件升级。本申请通过嵌入式设备接收服务器发送的升级指示信息,由嵌入式设备对满足升级策略的指定升级设备进行升级,实现了通过嵌入式设备进行分布式升级和批量升级,无需由服务器对多个设备进行一对一升级,降低了服务器的压力。
在一种可选实施方式中,若多个升级文件中第一目标升级文件的指定升级设备包括:嵌入式设备;相应的,上述S24包括:
运行第一目标升级文件进行固件升级。
具体的,若服务器10根据嵌入式设备20的属性参数确定嵌入式设备20满足升级策略,则升级文件包中必然包括一个升级文件为嵌入式设备20对应的升级文件,嵌入式设备20通过根据多个升级文件的升级策略判断嵌入式设备20的属性参数满足第一目标升级文件的升级策略,则该嵌入式设备作为第一目标升级文件的指定升级设备,由于嵌入式设备20下载的升级文件包保存在嵌入式设备20的存储器中,则嵌入式设备20可以直接从存储器中获取并运行第一目标升级文件,以对嵌入式设备20进行固件升级。
该实施方式中,服务器可以对所连接的所有嵌入式设备的属性参数进行判断,以对满足升级策略的嵌入式设备均发送升级指示消息,使得所有满足升级策略的嵌入式设备可以根据升级文件进行批量升级,无需由服务器一一向嵌入式设备发送升级需求,因此服务器无需存储和维护嵌入式设备的通信地址,减小了服务器的处理压力。
在另一种可选实施方式中,若多个升级文件中第二目标升级文件的指定升级设备包括:嵌入式设备所控制的下设设备;相应的,上述S24包括:
将第二目标升级文件发送给下设设备,以使得下设设备通过运行第二目标升级文件进行固件升级。
具体的,嵌入式设备20通过根据多个升级文件的升级策略,判断控制的至少一个下设设备30中存在下设设备的属性参数满足第二目标升级文件的升级策略,则该下设设备作为第二目标升级文件的指定升级设备,嵌入式设备将第二目标升级文件发送给对应的下设设备,下设设备通过运行第二目标升级文件,以对下设设备进行固件升级。
需要说明的是,若升级文件包中的升级文件以前文所述的第一种方式进行保存,升级文件包中针对同类下设设备存在多个第二目标升级文件,则嵌入式设备每向一个下设设备发送一个第二目标升级文件后,可以将已发送的第二目标升级文件从嵌入式设备中删除,以减小嵌入式设备的存储压力;若升级文件包中的升级文件以前文所述的第二种方式进行保存,升级文件包中针对同类下设设备只有一个第二目标升级文件,则嵌入式设备必须向所有同类下设设备发送完第二目标升级文件之后才可以删除第二目标升级文件。
该实施方式中,由于服务器将满足升级策略的设备的升级文件通过升级指示消息发送给了嵌入式设备,服务器不需要一一向设备发送升级需求,因此服务器无需存储和维护嵌入式设备的通信地址,减小了服务器的处理压力。且由嵌入式设备对下设的满足升级策略的设备进行升级,实现了分布式升级。
在上述实施例的基础上,本申请实施例还提供一种远程固件升级方法,升级策略为:目标属性类型的升级参数条件,上述S23包括:
根据各个设备的目标属性类型的属性参数,采用各升级文件的升级策略,分别从多个设备中确定满足目标属性类型的升级参数条件的设备为指定升级设备。
具体的,每个设备具有多种不同的属性,对多种不同的属性的类型进行划分,确定多种不同的属性类型,每个属性的对应的数据或者标识为该属性的参数,即属性参数。升级策略中的升级条件可以为:针对从多个属性类型中选择的目标属性类型设置的升级参数条件,若升级策略为目标属性类型的升级参数条件,则判断每个设备的目标属性类型的属性参数是否满足各升级文件的目标属性类型的升级参数条件,将目标属性类型的属性参数满足目标属性类型的升级参数条件的设备作为指定升级设备。
在一种可选实施方式中,目标属性类型包括:固件版本信息、预设升级时间、设备标识中的至少一种。
具体的,设备的属性类型至少可以包括:固件版本信息、预设升级时间、设备标识,固件版本信息用于指示设备的当前固件版本,预设升级时间用于指示设备最近一次进行固件升级的时间,设备标识为设备的唯一编码信息,例如SN码。示例的,属性类型为固件版本信息,则属性参数可以为:设备上运行的固件的当前版本信息,如version_A7_27_YC01_D1;属性类型为预设升级时间,则属性参数可以为设备最近依次升级固件的时间,如2022年4月15日,属性类型为设备标识,则属性参数可以为设备的唯一编码信息。
若升级策略为:固件版本信息的升级参数条件,则升级参数条件可以为指定版本号,根据升级文件对应的设备类型,从多个设备中选择该设备类型的至少一个初始设备后,获取至少一个初始设备的固件版本号,对该类型的至少一个初始设备的固件版本信息和升级策略中的指定版本号进行匹配,将固件版本信息为指定版本号的初始设备作为该升级文件的指定升级设备。
若升级策略为:预设升级时间的升级参数条件,则升级参数条件可以为设备最近一次进行升级的指定升级时间或指定升级时间段,根据升级文件对应的设备类型,从多个设备中选择该设备类型的至少一个初始设备后,获取至少一个初始设备的预设升级时间,对该类型的至少一个初始设备的预设升级时间和升级策略中的指定升级时间或指定升级时间段进行匹配,将预设升级时间为指定升级时间或在指定升级时间段内的初始设备作为该升级文件的指定升级设备。
如升级策略为:设备标识的升级参数条件,则升级参数条件可以为指定设备标识,根据升级文件对应的设备类型,从多个设备中选择该设备类型的至少一个初始设备后,获取至少一个初始设备的设备标识,对该类型的至少一个初始设备的设备标识和升级策略中的指定设备标识进行匹配,将设备标识为指定设备标识的唯一初始设备作为该升级文件的指定升级设备。
本申请实施例提供的远程固件升级方法,升级策略为:目标属性类型的升级参数条件,根据各个设备的目标属性类型的属性参数,采用各升级文件的升级策略,分别从多个设备中确定满足对应的升级策略中升级参数条件的设备为指定升级设备。通过本申请实施例提供的方法,可以为各升级文件匹配目标属性类型满足升级参数条件的指定升级设备,以对目标属性类型满足升级参数条件的设备进行批量升级,减小服务器一对一升级的处理压力。
在上述实施例的基础上,本申请实施例还提供一种远程固件升级方法,升级文件包还包括:各升级文件的预设校验值,图3为本申请实施例提供的第二种远程固件升级方法的流程示意图,如图3所示,在上述S22之后,该方法还包括:
S25:计算各升级文件的真实校验值。
具体的,校验值用于判断嵌入式设备下载的各升级文件的完整性和一致性,采用预设的校验值计算方法或校验值计算工具,获取各升级文件中的校验字段,根据校验字段对各升级文件的真实校验值进行计算。
S26:根据真实校验值和预设校验值的比较结果,对各升级文件进行校验。
具体的,预设校验值与升级策略、升级文件名称共同作为升级说明文件写入升级配置文件中,通过对真实校验值和预设校验值的比较结果,对各升级文件进行校验。一方面,校验值用于判断嵌入式设备下载的各升级文件的完整性,若真实校验值和预设校验值不同,表示该升级文件的下载过程中存在损坏,该升级文件不完整;另一方面,校验值用于判断嵌入式设备下载的各升级文件与期望下载的升级文件是否一致,若真实校验值和预设校验值不同,表示下载的升级文件为错误文件。
在一种可选实施方式中,校验值的类型包括但不限于:md5(Message DigestAlgorithm 5,消息摘要算法第五版)值、CRC(Cyclic Redundancy Check,循环冗余校验)值或异或校验,若校验值的类型为md5值,则升级文件的校验字段为Filename字段。
本申请实施例提供的远程固件升级方法,其中升级文件包还包括:各升级文件的预设校验值,在根据升级文件包的地址获取升级文件包之后,计算各升级文件的真实校验值,根据真实校验值和预设校验值的比较结果,对各升级文件进行校验。通过对各升级文件进行校验,确保升级文件的准确性,保证设备正确升级。
在上述实施例的基础上,本申请实施例还提供一种远程固件升级方法,应用于远程固件升级系统中的服务器10,图4为本申请实施例提供的第三种远程固件升级方法的流程示意图,如图4所示,该方法包括:
S11:获取至少一个升级策略。
具体的,服务器在一个通信周期内接收并保存嵌入式设备发送的多个设备的属性参数,运维人员通过查看多个设备的属性参数制定升级策略,并通过服务器的输入设备输入至少一个升级策略。
在一种可选实施方式中,升级策略为目标属性类型的升级参数条件,目标属性类型包括:固件版本信息、预设升级时间、设备标识中的至少一种。
需要说明的是,服务器可以将多个设备的属性参数保存在数据库,或者使用文件记录的形式对属性参数进行记录。
S12:根据至少一个升级策略、多个设备的属性参数,判断是否存在满足至少一个升级策略的设备,其中,多个设备包括:嵌入式设备和嵌入式设备控制的至少一个下设设备。
具体的,服务器根据运维人员输入的至少一个升级策略,从多个设备中确定是否存在属性参数满足升级策略的设备,该设备可以为:嵌入式设备和/或嵌入式设备控制的至少一个下设设备。
在一种可选实施方式中,设备可以包括:多个属性类型的属性参数,服务器根据运维人员输入的至少一个升级策略,可以根据升级策略对应的目标属性类型的升级参数条件,判断多个设备中是否存在目标属性类型的属性参数满足目标属性类型的升级参数条件的设备。
S13:若存在,则向对应的嵌入式设备发送升级指示消息;其中,升级指示消息中包括:升级文件包的地址。
具体的,若存在属性参数满足升级策略的设备,则服务器向对应的嵌入式设备发送升级指示消息,升级指示消息中包括:升级文件包的地址。其中,若嵌入式设备不满足升级策略,但嵌入式设备控制的至少一个下设设备中存在满足升级策略的设备,同样将升级指示消息发送给对应的嵌入式设备。
需要说明的是,若存在属性参数满足升级策略的设备,则服务器将满足升级策略的设备信息发送给文件服务器,文件服务器根据设备信息,将需要进行升级的设备的升级包封装为升级文件,将每个升级文件的升级策略、升级文件名称以及预设校验值作为升级说明文件写入升级配置文件,并将升级文件和升级配置文件打包为升级文件包,并将生成的该升级文件包的地址发送给服务器。
示例的,如下提供一种升级配置文件,其中,Type为设备策略,A7和M3表示两种不同的设备类型,其CPU内核不同,Version为版本号,Filename为升级文件名称、md5为预设校验值。
Type:A7
Version:version_A7_27_YC01_D1
FileName:setup_A7_YC01.tar.gz
md5:b4ae04db9db7102900e69d4628657e93
Type:M3
Version:V100B000000
FileName:ACM3V100B000000.bin
md5:b4ae04db9db7102900e69d4628657e93
本申请实施例提供的远程固件升级方法,应用于服务器,通过获取至少一个升级策略,根据至少一个升级策略、多个设备的属性参数,判断是否存在满足至少一个升级策略的设备,若存在,则向对应的嵌入式设备发送升级指示消息,升级指示消息中包括:升级文件包的地址。本申请实施例中由设备主动向服务器发送属性参数,并根据升级策略判断是否存在需要升级的设备,一方面,由于服务器无需向设备发送升级需求访问,因此服务器无需对设备的通信地址进行记录及维护,另一方面,服务器无需对设备进行一对一升级,减少了服务器的处理压力。
在一种可选实施方式中,若不存在,则服务器在下一个通信周期内接收并保存嵌入式设备发送的多个设备的新的属性参数,服务器再次执行上述S11-S13的步骤以确定是否存在满足升级策略的设备。
在上述实施例的基础上,本申请实施例还提供一种远程固件升级装置,应用于嵌入式设备20,图5为本申请实施例提供的一种远程固件升级装置的结构示意图,如图5所示,该装置包括:
消息接收模块21,用于接收服务器发送的升级指示消息;其中,升级指示消息中包括:升级文件包的地址;
升级文件包获取模块22,用于根据升级文件包的地址,获取升级文件包,其中,升级文件包中包括:多个升级文件以及各升级文件的升级策略;
指定升级设备确定模块23,用于根据各升级文件的升级策略,分别从多个设备中确定各升级文件对应的指定升级设备,多个设备包括:嵌入式设备和嵌入式设备控制的至少一个下设设备;
升级模块24,用于根据各升级文件对各升级文件对应的指定升级设备进行固件升级。
可选的,升级策略为:目标属性类型的升级参数条件;指定升级设备确定模块23,具体用于根据各个设备的目标属性类型的属性参数,采用各升级文件的升级策略,分别从多个设备中确定满足目标属性类型的升级参数条件的设备为指定升级设备。
可选的,目标属性类型包括:固件版本信息、预设升级时间、设备标识中的至少一种。
可选的,升级文件包还包括:升级文件包获取模块22之后,该装置还包括:
真实校验值计算模块,用于计算各升级文件的真实校验值;
校验值比较模块,用于根据真实校验值和预设校验值的比较结果,对各升级文件进行校验。
可选的,若多个升级文件中第一目标升级文件的指定升级设备包括:嵌入式设备;相应的,升级模块24,具体用于运行第一目标升级文件进行固件升级。
可选的,若多个升级文件中第二目标升级文件的指定升级设备包括:嵌入式设备所控制的下设设备;相应的,升级模块24,具体用于将第二目标升级文件发送给下设设备,以使得下设设备通过运行第二目标升级文件进行固件升级。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图6为本申请实施例提供的嵌入式设备的示意图,如图6所示,嵌入式设备20包括:处理器201、存储介质202和总线,存储介质202存储有处理器201可执行的程序指令,当嵌入式设备20运行时,处理器201与存储介质202之间通过总线通信,处理器201执行程序指令,以执行上述方法实施例,具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加固件功能单元的形式实现。
上述以固件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述固件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种远程固件升级方法,其特征在于,应用于嵌入式设备,所述方法包括:
接收服务器发送的升级指示消息;其中,所述升级指示消息中包括:升级文件包的地址;
根据所述升级文件包的地址,获取所述升级文件包,其中,所述升级文件包中包括:多个升级文件以及各升级文件的升级策略;
根据所述各升级文件的升级策略,分别从多个设备中确定所述各升级文件对应的指定升级设备,所述多个设备包括:所述嵌入式设备和所述嵌入式设备控制的至少一个下设设备;
根据所述各升级文件对所述各升级文件对应的指定升级设备进行固件升级。
2.如权利要求1所述的方法,其特征在于,所述升级策略为:目标属性类型的升级参数条件;
所述根据所述各升级文件的升级策略,分别从多个设备中确定所述各升级文件对应的指定升级设备,包括:根据各个设备的所述目标属性类型的属性参数,采用所述各升级文件的升级策略,分别从所述多个设备中确定满足所述目标属性类型的升级参数条件的设备为所述指定升级设备。
3.如权利要求2所述的方法,其特征在于,所述目标属性类型包括:固件版本信息、预设升级时间、设备标识中的至少一种。
4.如权利要求1所述的方法,其特征在于,所述升级文件包还包括:所述各升级文件的预设校验值,所述根据所述升级文件包的地址,获取所述升级文件包之后,所述方法还包括:
计算所述各升级文件的真实校验值;
根据所述真实校验值和所述预设校验值的比较结果,对所述各升级文件进行校验。
5.如权利要求1所述的方法,其特征在于,若所述多个升级文件中第一目标升级文件的指定升级设备包括:所述嵌入式设备;相应的,所述根据所述各升级文件对所述各升级文件对应的指定升级设备进行固件升级,包括:
运行所述第一目标升级文件进行固件升级。
6.如权利要求1所述的方法,其特征在于,若所述多个升级文件中第二目标升级文件的指定升级设备包括:所述嵌入式设备所控制的下设设备;相应的,所述根据所述各升级文件对所述各升级文件对应的指定升级设备进行固件升级,包括:
将所述第二目标升级文件发送给所述下设设备,以使得所述下设设备通过运行所述第二目标升级文件进行固件升级。
7.一种远程固件升级系统,其特征在于,包括:服务器、至少一个嵌入式设备以及每个嵌入式设备控制的至少一个下设设备;
所述服务器与所述至少一个嵌入式设备通信连接,以向所述至少一个嵌入式设备发送升级指示信息;
所述嵌入式设备用于执行上述权利要求1-6任一所述的远程固件升级方法的步骤,并在指定升级设备为所述下设设备时,向所述下设设备发送升级文件。
8.一种远程固件升级装置,其特征在于,应用于嵌入式设备,所述装置包括:
消息接收模块,用于接收服务器发送的升级指示消息;其中,所述升级指示消息中包括:升级文件包的地址;
升级文件包获取模块,用于根据所述升级文件包的地址,获取所述升级文件包,其中,所述升级文件包中包括:多个升级文件以及各升级文件的升级策略;
指定升级设备确定模块,用于根据所述各升级文件的升级策略,分别从多个设备中确定所述各升级文件对应的指定升级设备,所述多个设备包括:所述嵌入式设备和所述嵌入式设备控制的至少一个下设设备;
升级模块,用于根据所述各升级文件对所述各升级文件对应的指定升级设备进行固件升级。
9.一种嵌入式设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当所述嵌入式设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求1至6任一所述的远程固件升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至6任一所述的远程固件升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210574700.6A CN114978904A (zh) | 2022-05-24 | 2022-05-24 | 远程固件升级方法、系统、装置、嵌入式设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210574700.6A CN114978904A (zh) | 2022-05-24 | 2022-05-24 | 远程固件升级方法、系统、装置、嵌入式设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114978904A true CN114978904A (zh) | 2022-08-30 |
Family
ID=82955669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210574700.6A Pending CN114978904A (zh) | 2022-05-24 | 2022-05-24 | 远程固件升级方法、系统、装置、嵌入式设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978904A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987976A (zh) * | 2023-03-20 | 2023-04-18 | 北京集度科技有限公司 | 对节点进行升级的方法及设备 |
CN118449856A (zh) * | 2024-06-27 | 2024-08-06 | 天津布尔科技有限公司 | 基于配置文件实现设备远程固件升级方案配置的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364891A (zh) * | 2011-09-13 | 2012-02-29 | 杭州华三通信技术有限公司 | 嵌入式以太网设备升级软件的方法及嵌入式以太网设备 |
CN108259231A (zh) * | 2017-12-27 | 2018-07-06 | 生迪智慧科技有限公司 | 智能设备的软件升级方法、网关、服务器及系统 |
CN109460245A (zh) * | 2018-10-31 | 2019-03-12 | 北京众谊越泰科技有限公司 | 一种嵌入式系统的远程升级方法 |
CN112905214A (zh) * | 2021-03-31 | 2021-06-04 | 安徽江淮汽车集团股份有限公司 | 远程升级方法、装置、设备及存储介质 |
CN113721966A (zh) * | 2021-08-27 | 2021-11-30 | 杭州华橙软件技术有限公司 | 节点升级方法、装置、存储介质及电子装置 |
-
2022
- 2022-05-24 CN CN202210574700.6A patent/CN114978904A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364891A (zh) * | 2011-09-13 | 2012-02-29 | 杭州华三通信技术有限公司 | 嵌入式以太网设备升级软件的方法及嵌入式以太网设备 |
CN108259231A (zh) * | 2017-12-27 | 2018-07-06 | 生迪智慧科技有限公司 | 智能设备的软件升级方法、网关、服务器及系统 |
CN109460245A (zh) * | 2018-10-31 | 2019-03-12 | 北京众谊越泰科技有限公司 | 一种嵌入式系统的远程升级方法 |
CN112905214A (zh) * | 2021-03-31 | 2021-06-04 | 安徽江淮汽车集团股份有限公司 | 远程升级方法、装置、设备及存储介质 |
CN113721966A (zh) * | 2021-08-27 | 2021-11-30 | 杭州华橙软件技术有限公司 | 节点升级方法、装置、存储介质及电子装置 |
Non-Patent Citations (1)
Title |
---|
屠雪真;陈小强;: "分布式系统高效升级方法研究", 微型电脑应用, no. 06 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987976A (zh) * | 2023-03-20 | 2023-04-18 | 北京集度科技有限公司 | 对节点进行升级的方法及设备 |
CN118449856A (zh) * | 2024-06-27 | 2024-08-06 | 天津布尔科技有限公司 | 基于配置文件实现设备远程固件升级方案配置的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108196878B (zh) | 应用程序安装包的生成方法、装置、电子设备及存储介质 | |
CN107450941B (zh) | 自动打包方法、装置、存储介质和计算机设备 | |
CN110727454A (zh) | 智能设备的更新方法及装置、电子设备、存储介质 | |
CN114978904A (zh) | 远程固件升级方法、系统、装置、嵌入式设备及存储介质 | |
CN103942065A (zh) | 用于更新固件兼容性数据的方法和系统 | |
CN109857423B (zh) | 程序版本更新方法、装置、服务器及可读存储介质 | |
CN110007946B (zh) | 一种算法模型的更新方法、装置、设备及介质 | |
CN113342387A (zh) | 一种软件自动升级方法、更新客户端及更新服务器 | |
CN107395666B (zh) | 一种操作数控机床升级数据包的方法及装置 | |
CN112947983A (zh) | 应用程序更新方法及装置、电子设备、存储介质 | |
CN112506559B (zh) | 基于网关的灰度发布方法、装置、电子设备及存储介质 | |
CN107239309A (zh) | 补丁生成方法及装置、更新方法、电子设备、存储介质 | |
CN109725912A (zh) | 应用程序配置方法、装置、终端、服务器及可读存储介质 | |
CN109324821B (zh) | 一种自助终端系统版本管理方法 | |
CN113504922A (zh) | 机器人软件升级方法、装置、桥服务器及升级服务器 | |
CN110045969B (zh) | 应用程序安装方法、服务器、系统、设备及存储介质 | |
CN108920171A (zh) | 固件更新方法及装置、电子设备 | |
US11960876B2 (en) | Center, update management method, and non-transitory storage medium | |
CN113961226B (zh) | 一种软件开发工具包修复方法、终端、服务器及设备 | |
CN115220767A (zh) | 一种软件升级方法、系统、电子设备及存储介质 | |
CN110362333A (zh) | 一种客户端升级阻碍的快速解决方法、装置和电子设备 | |
CN112667272A (zh) | 电表升级方法、系统、智能电表及存储介质 | |
CN113094064A (zh) | 网关软件模块升级方法、装置、设备及存储介质 | |
EP3346642A1 (en) | Method and device for managing network element model | |
CN109766115B (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 |