CN111367544A - 多外设固件升级控制方法、智能设备、固件及电子设备 - Google Patents
多外设固件升级控制方法、智能设备、固件及电子设备 Download PDFInfo
- Publication number
- CN111367544A CN111367544A CN201811604789.6A CN201811604789A CN111367544A CN 111367544 A CN111367544 A CN 111367544A CN 201811604789 A CN201811604789 A CN 201811604789A CN 111367544 A CN111367544 A CN 111367544A
- Authority
- CN
- China
- Prior art keywords
- firmware
- upgraded
- upgrading
- dependency relationship
- upgrade
- 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.)
- Granted
Links
Images
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
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)
- Stored Programmes (AREA)
Abstract
本发明提供一种多外设固件升级控制方法、智能设备、固件及电子设备。所述方法包括:接收多个待升级固件分别发送的升级请求,所述升级请求包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息;根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系;根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。本发明在进行升级控制时,考虑了多个待升级固件之间的依赖关系,因而能够有效提升多固件升级的可靠性。
Description
技术领域
本发明涉及设备升级技术领域,具体涉及一种多外设固件升级控制方法、智能设备、固件及电子设备。
背景技术
目前主流的物联网操作系统,支持广泛的微控制器芯片,一些高性能的芯片外部扩展各种外围设备,如家电领域的电控设备,触控设备及各种外围通讯设备等。除了运行在主控芯片上的物联网操作系统软件本身有更新的需求,各外围设备也固化了需要升级的固件。
对于物联网设备的各外围设备中需要升级的固件来说,现有的升级实现方案主要是将固件版本集成到物联网设备操作系统内部,通过升级操作系统版本来更新固件。这种方式的缺点是,升级固件需先升级操作系统软件版本,消耗过多时间。此外,将固件和操作系统捆绑升级,也存在管理维护不灵活的问题。为解决该问题,现有技术中出现了将固件和操作系统分开升级的方式,但是在将固件和操作系统分开升级时,若同时出现多个待升级的固件,那么各固件的升级将会产生冲突,甚至会导致出现升级失败的问题。
发明内容
针对现有技术中的问题,本发明提供一种多外设固件升级控制方法、智能设备、固件及电子设备。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种多外设固件升级控制方法,应用于智能设备,包括:
接收多个待升级固件分别发送的升级请求,所述升级请求包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息;
根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系;
根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
进一步地,所述根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制,包括:
根据每个待升级固件与其他待升级固件的依赖关系,逐个依次对每个待升级固件进行升级条件的判断,并在确定所述待升级固件满足升级条件时,根据所述待升级固件的目标版本号信息下载与所述待升级固件对应的目标版本,并利用所述目标版本对所述待升级固件进行升级。
进一步地,所述方法还包括:
若判断待升级固件不满足升级条件,则不下载与所述待升级固件对应的目标版本。
进一步地,所述根据每个待升级固件与其他待升级固件的依赖关系,逐个依次对每个待升级固件进行升级条件的判断,包括:
逐个依次对每个待升级固件进行检查,当待升级固件不存在与其他待升级固件的依赖关系时,确定所述待升级固件满足升级条件;当待升级固件存在与其他待升级固件的依赖关系时,若与所述待升级固件存在依赖关系的其他待升级固件已经升级成功,则确定所述待升级固件满足升级条件,否则,确定所述待升级固件不满足升级条件。
进一步地,所述升级请求中还包括有待升级固件的原版本号信息;
相应地,在对每个待升级固件进行升级条件的判断时,还包括:判断所述升级请求中的原版本号与所述待升级固件当前的版本号是否一致,若不一致,则确定所述待升级固件不满足升级条件。
进一步地,所述升级请求中还包括有待升级固件的优先级信息;
相应地,当确定满足升级条件的待升级固件同时有多个时,根据待升级固件的优先级信息进行顺序排队,逐个完成下载和升级过程。
进一步地,所述根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制,包括:
根据每个待升级固件的目标版本号信息将所有待升级固件的目标版本下载至本地;
根据每个待升级固件与其他待升级固件的依赖关系,对所有待升级固件进行升级条件的判断,并在确定所述待升级固件满足升级条件时,利用与所述待升级固件对应的目标版本对所述待升级固件进行升级。
进一步地,所述根据每个待升级固件与其他待升级固件的依赖关系,对所有待升级固件进行升级条件的判断,并在确定所述待升级固件满足升级条件时,利用与所述待升级固件对应的目标版本对所述待升级固件进行升级,包括:
对每个待升级固件进行检查,当待升级固件不存在与其他待升级固件的依赖关系时,直接对所述待升级固件进行升级;当待升级固件存在与其他待升级固件的依赖关系时,先对与所述待升级固件存在依赖关系的其他待升级固件进行升级,并在与所述待升级固件存在依赖关系的其他待升级固件升级成功后,再对所述待升级固件进行升级。
进一步地,所述升级请求中还包括有待升级固件的优先级信息;
相应地,若当前满足升级条件且等待升级的固件有多个时,按照待升级固件的优先级信息进行顺序排队升级;
其中,满足升级条件且等待升级的固件包括:不存在与其他待升级固件的依赖关系的待升级固件,以及,存在与其他待升级固件的依赖关系的待升级固件且与待升级固件存在依赖关系的其他待升级固件升级成功后待升级的固件。
进一步地,所述升级请求中还包括有待升级固件的原版本号信息;
相应地,在利用下载好的目标版本对待升级固件进行升级时,判断所述升级请求中的原版本号与所述待升级固件当前的版本号是否一致,若不一致,则不对所述待升级固件进行升级。
第二方面,本发明还提供了一种多外设固件升级控制方法,应用于智能设备的外设固件,包括:
向智能设备发送包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系以及待升级固件的目标版本号信息的升级请求,以使所述智能设备根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系,并根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
第三方面,本发明还提供了一种智能设备,包括:
接收模块,用于接收多个待升级固件分别发送的升级请求,所述升级请求包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息;
获取模块,用于根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系;
升级控制模块,用于根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
第四方面,本发明还提供了一种智能设备的外设固件,包括:
发送模块,用于向智能设备发送包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系以及待升级固件的目标版本号信息的升级请求,以使所述智能设备根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系,并根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
第五方面,本发明还提供了一种多外设固件升级控制系统,包括:如第三方面所述的智能设备,以及,如第四方面所述的智能设备的外设固件。
第六方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一或第二方面所述多外设固件升级控制方法的步骤。
第七方面,本发明还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一或第二方面所述多外设固件升级控制方法的步骤。
由上述技术方案可知,本发明提供的多外设固件升级控制方法,包括:接收多个待升级固件分别发送的升级请求,所述升级请求包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息;根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系;根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。可见,本发明提供的多外设固件升级控制方法,在进行多固件升级控制时,考虑了多个待升级固件之间的依赖关系,从而能够有效提升多固件升级的可靠性,避免出现因各升级固件之间存在依赖关系而导致升级失败或系统异常的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种多外设固件升级控制方法的流程图;
图2是本发明一实施例提供的升级请求的格式示意图;
图3是本发明一实施例提供的多个待升级固件之间的依赖链示意图;
图4是本发明一实施例提供的多外设固件升级控制方法的一种实施方式的详细实现流程图;
图5是本发明一实施例提供的多外设固件升级控制方法的另一种实施方式的详细实现流程图;
图6是本发明一实施例提供的另一种多外设固件升级控制方法的流程图;
图7是本发明一实施例提供的智能设备的结构示意图;
图8是本发明一实施例提供的智能设备的外设固件的结构示意图;
图9是本发明一实施例提供的多外设固件升级控制系统的结构示意图;
图10是本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术中存在的多固件升级时容易出现升级冲突,导致升级失败的问题,本发明提供了多外设固件升级控制方法、智能设备、固件及电子设备。本发明提供的多外设固件升级控制方法,在智能设备端进行升级控制,且在智能设备端进行多固件升级控制时,考虑了多个待升级固件之间的依赖关系,从而能够有效提升多固件升级的可靠性,避免出现因各升级固件之间存在依赖关系而导致升级失败或系统异常的问题。下面将通过具体实施例对本发明提供的内容进行详细解释说明。
在介绍下述实施例内容之前,对下述实施例中出现的名词给予解释。其中,智能设备指具有独立操作系统,且能够扩展外围设备(如显示屏、键盘、Wifi设备、电控模块等)的智能电子设备,如手机、电脑、冰箱、空调、电视、洗衣机等智能设备。智能设备的外设固件指固化在智能设备的外围设备上的固件,这里的固件可以理解成帮助外围设备完成某些控制功能的应用模块或功能模块。
图1示出了本发明一实施例提供的多外设固件升级控制方法的流程图,如图1所示,本发明实施例提供的多外设固件升级控制方法应用于智能设备,具体包括如下步骤:
步骤101:接收多个待升级固件分别发送的升级请求,所述升级请求包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息。
在本步骤中,智能设备周期性检测是否有需要升级的固件,当有需要升级的固件时,接收需要升级的固件发送的升级请求。由于在本实施例中,是由固件本身主动提出升级请求,而不是由服务器端进行升级策划,因此当服务端有升级需求时,可以先下发指令给智能设备,然后由智能设备来触发相应的固件发送升级请求。
在本步骤中,待升级固件发送的升级请求中携带有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息,以便于智能设备在接收到所述升级请求后,根据每个待升级固件的目标版本号信息,分别为每个待升级固件下载对应的目标版本;以及,根据每个待升级固件与其他待升级固件的依赖关系,对多个待升级固件进行同步升级控制,从而避免出现因各升级固件之间存在依赖关系而导致升级失败或系统异常的问题。
步骤102:根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系。
步骤103:根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
在本步骤中,根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。例如,当智能设备有3个外设固件同时发送升级请求时,假如第二外设固件的升级依赖于第一外设固件的升级,第三外设固件的升级依赖于第二外设固件的升级,也即,只有当第一外设固件升级后,第二外设固件才能升级,否则就会出现异常和升级失败的问题。同理,只有当第二外设固件升级后,第三外设固件才能升级。因此,在这种情况下,在进行升级控制时,就需要先升级第一外设固件、然后升级第二外设固件,最后升级第三外设固件,否则就会出现升级失败的问题。
由上述技术方案可知,本实施例提供的多外设固件升级控制方法,包括:接收多个待升级固件分别发送的升级请求,所述升级请求包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息;根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系;根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。可见,本实施例提供的多外设固件升级控制方法,在进行多固件升级控制时,考虑了多个待升级固件之间的依赖关系,从而能够有效提升多固件升级的可靠性,避免出现因各升级固件之间存在依赖关系而导致升级失败或系统异常的问题。
基于上述实施例的内容,在一种可选实施方式中,在对多个待升级固件进行升级控制时,先根据升级请求中携带的依赖关系信息依次对待升级固件进行升级条件判断,当满足升级条件时,再下载该待升级固件对应的目标版本并升级。在本实施方式中,对于多个待升级固件,具体处理过程为,当判断存在满足升级条件的固件时,下载该固件的目标版本并升级,接着判断下一个固件,然后再下载和升级。这样的处理优势是,固件逐个下载升级(下载一个,升级一个,然后再下载一个,再升级一个),因此比较适合本地存储空间有限的智能设备。
具体地,在本可选实施方式中,上述步骤103可通过以下方式实现:
根据每个待升级固件与其他待升级固件的依赖关系,逐个依次对每个待升级固件进行升级条件的判断,并在确定所述待升级固件满足升级条件时,根据所述待升级固件的目标版本号信息下载与所述待升级固件对应的目标版本,并利用所述目标版本对所述待升级固件进行升级。
在本实施方式中,智能设备在接收到多个待升级的外设固件发送的升级请求后,先根据每个待升级固件与其他待升级固件的依赖关系,逐个依次对每个待升级固件进行升级条件的判断,并在确定所述待升级固件满足升级条件时,根据所述待升级固件的目标版本号信息下载与所述待升级固件对应的目标版本,并利用所述目标版本对所述待升级固件进行升级,从而完成满足升级条件的待升级固件的逐个下载和升级。
进一步地,在本可选实施方式中,所述根据每个待升级固件与其他待升级固件的依赖关系,逐个依次对每个待升级固件进行升级条件的判断,包括:
逐个依次对每个待升级固件进行检查,当待升级固件不存在与其他待升级固件的依赖关系时,确定所述待升级固件满足升级条件;当待升级固件存在与其他待升级固件的依赖关系时,若与所述待升级固件存在依赖关系的其他待升级固件已经升级成功,则确定所述待升级固件满足升级条件,否则,确定所述待升级固件不满足升级条件。
进一步地,基于上述可选实施方式,所述方法还包括:
若判断待升级固件不满足升级条件,则不下载与所述待升级固件对应的目标版本。
在本实施方式中,如果待升级固件不满足升级条件,则先不下载与所述待升级固件对应的目标版本,以免占用本地资源,待该待升级固件满足升级条件时,再进行目标版本的下载和升级。
进一步地,基于上述可选实施方式,所述升级请求中还包括有待升级固件的原版本号信息;
相应地,在对每个待升级固件进行升级条件的判断时,还包括:判断所述升级请求中的原版本号与所述待升级固件当前的版本号是否一致,若不一致,则确定所述待升级固件不满足升级条件。
在本实施方式中,在升级请求中增加了原版本号这一特征,因此,在对每个待升级固件进行升级条件的判断时,先判断所述升级请求中的原版本号与所述待升级固件当前的版本号是否一致,若不一致,则确定所述待升级固件不满足升级条件,因此,先不下载对应固件的目标版本。
进一步地,基于上述可选实施方式,所述升级请求中还包括有待升级固件的优先级信息;
相应地,当确定满足升级条件的待升级固件同时有多个时,根据待升级固件的优先级信息进行顺序排队,逐个完成下载和升级过程。
在本实施方式中,在升级请求中增加了优先级这一特征,当符合升级条件且等待升级的固件有多个时,根据待升级固件的优先级信息进行顺序排队,逐个完成下载和升级过程,从而保证一些高优先级的固件优先完成升级,从而保证依赖该高优先级固件的其他固件能够顺利完成升级。
与上述可选实施方式不同的是,在实施例的另一种可选实施方式中,在对多个待升级固件进行升级控制时,先将全部待升级固件的目标版本下载至本地,然后再根据升级请求中携带的依赖关系信息依次对待升级固件进行升级条件判断,当满足升级条件时,对待升级固件进行升级。可见,在本实施方式中,是先将全部待升级固件的目标版本从服务器下载至本地后,再在本地判断这些待升级固件是否满足升级条件,当满足升级条件时,对待升级固件进行升级。这样的处理优势是,将各待升级固件的目标版本先下载到本地,然后统一升级,可以减少与服务器的交互次数。
具体地,在本可选实施方式中,上述步骤103可通过以下方式实现:
根据每个待升级固件的目标版本号信息将所有待升级固件的目标版本下载至本地;
根据每个待升级固件与其他待升级固件的依赖关系,对所有待升级固件进行升级条件的判断,并在确定所述待升级固件满足升级条件时,利用与所述待升级固件对应的目标版本对所述待升级固件进行升级。
在本实施方式中,智能设备在接收到多个待升级的外设固件发送的升级请求后,智能设备开始下载各固件版本,并统计固件数量,然后验证各固件间的依赖关系。当待升级固件不存在与其他待升级固件的依赖关系时,按照接收到升级请求的顺序对固件进行升级。当待升级固件存在与其他待升级固件的依赖关系时,先判断依赖的固件是否已完成升级,如没有则先对依赖的固件进行升级,等依赖的固件升级完成后,再对待升级固件进行升级。
进一步地,在本可选实施方式中,所述根据每个待升级固件与其他待升级固件的依赖关系,对所有待升级固件进行升级条件的判断,并在确定所述待升级固件满足升级条件时,利用与所述待升级固件对应的目标版本对所述待升级固件进行升级,包括:
对每个待升级固件进行检查,当待升级固件不存在与其他待升级固件的依赖关系时,直接对所述待升级固件进行升级;当待升级固件存在与其他待升级固件的依赖关系时,先对与所述待升级固件存在依赖关系的其他待升级固件进行升级,并在与所述待升级固件存在依赖关系的其他待升级固件升级成功后,再对所述待升级固件进行升级。
进一步地,在本可选实施方式中,所述升级请求中还包括有待升级固件的优先级信息;
相应地,若当前满足升级条件且等待升级的固件有多个时,按照待升级固件的优先级信息进行顺序排队升级;
其中,满足升级条件且等待升级的固件包括:不存在与其他待升级固件的依赖关系的待升级固件,以及,存在与其他待升级固件的依赖关系的待升级固件且与待升级固件存在依赖关系的其他待升级固件升级成功后待升级的固件。
在本实施方式中,在升级请求中增加了优先级这一特征,当符合升级条件且等待升级的固件有多个时,按照固件的优先级信息进行顺序排队升级,从而保证一些高优先级的固件优先完成升级,从而保证依赖该高优先级固件的其他固件能够顺利完成升级。
进一步地,在本可选实施方式中,所述升级请求中还包括有待升级固件的原版本号信息;
相应地,在利用下载好的目标版本对待升级固件进行升级时,判断所述升级请求中的原版本号与所述待升级固件当前的版本号是否一致,若不一致,则不对所述待升级固件进行升级。
在本实施方式中,在升级请求中增加了原版本号这一特征,因此,在进行升级时,先判断所述升级请求中的原版本号与所述待升级固件当前的版本号是否一致,若不一致,则不对所述待升级固件进行升级,且将升级失败的消息以及原因发送给固件。需要说明的是,如果该固件升级失败,则依赖该固件的其他固件也无法完成升级。
下面结合图2、图3、图4和图5,对本实施例提供的多外设固件升级控制方法给予进一步的说明。
图2示出了升级请求的一种格式示意图。其中,每个固件有一个唯一的TAG标记其本身,TAG后面紧跟固件的版本号,固件的版本号由固件生产商定义并提供,TAG后面是固件的优先级,优先级分高和低,或,分高中低,其中,目标版本号是下载的待升级的固件版本号,这项是必选,原版本号是目标板上现有固件的版本号,这项可选,不设置表示不判断,直接替换目标版本,原版本号长度可选,优先级为可选项,优先级分高和低,因为固件的升级可能存在前后的依赖关系,所以通过设置优先级的方式可以让某些固件先升级,进而保证依赖该固件的其他固件也能够顺利升级。固件的标记的定义以结构体或对象的形式封装,无依赖关系的固件标志,直接附着在固件的头部或尾部,有依赖关系的,则以链表的形式链接在一起,链表头部是固件本身的标志,整个链表附着在固件的头部或尾部。
图3示出了多个待升级固件之间的依赖链示意图。如图3所示,固件标记的定义以结构体或对象的形式封装,无依赖关系的固件标志,直接附着在固件的头部或尾部,有依赖关系的,则以链表的形式链接在一起,链表头部是固件本身的标志,整个链表附着在固件的头部或尾部。
图4和图5分别示意出了两种不同实施方式下的执行流程图。其中,图4对应第一种实施方式(下载一个升级一个),图5对应第二种实施方式(全部下载后再统一升级)。参见图4所示的一种实施方式的详细流程图,智能设备在接收到各固件发送的升级请求后,先验证各固件之间的依赖关系,然后再逐个下载满足升级条件的固件。对于图5所示的另一种实施方式的详细流程图,智能设备在接收到各固件发送的升级请求后,开始下载全部固件版本,然后再根据各固件之间的依赖关系对固件进行升级控制。
具体地,在进行排队升级时,具体原则为:若无依赖关系,则按高优先级、未设置优先级和低优先级的顺序排序,优先级相同的,排队不分先后,然后按顺序升级。若有依赖关系的,则先判断依赖的固件是否已完成升级,未升级的按优先级排序,同级别不分先后,各依赖链按按优先级从高到低升级固件。此外,在对固件升级后,根据实际需要确认是否复位整个操作系统,并上报各外设固件升级状态至服务器。
可见,本实施例提供的多外设固件的同步升级机制,由于考虑了各固件之间的依赖关系,因此可以有效提升多固件版本升级的可靠性。此外,在本实施例中,多固件分开升级,方便各固件的版本的独立维护。此外,需要说明的是,本实施例中的升级控制策略是在智能设备端实现的,相对于在服务端实现的情况,本实施例这种方式使得设备端具有较好的同步机制,进而可以保证升级的成功率。此外,在本实施例中,提供了两种可选的实施方式,其中第一种方式是,对于多个待升级固件,当判断存在满足升级条件的固件时,下载该固件的目标版本并升级,接着判断下一个固件,然后再下载和升级。这样的处理优势是,固件逐个下载升级,因此比较适合本地存储空间有限的智能设备。第二种方式是,先各待升级固件的目标版本先下载到智能设备本地,然后由智能设备根据升级条件判断后进行统一升级,从而可以减少与服务器的交互次数。本实施例提供的两种处理方式各有优势,在实际处理时可根据需要选择合适的处理方式。
图6示出了本发明一实施例提供的另一种多外设固件升级控制方法的流程图,参见图6,本发明实施例提供的多外设固件升级控制方法应用于智能设备的外设固件,具体包括如下步骤:
步骤201:向智能设备发送包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系以及待升级固件的目标版本号信息的升级请求,以使所述智能设备根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系,并根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
在本步骤中,支持升级请求的压缩及加密发送。
需要说明的是,由于本实施例提供的多外设固件升级控制方法和上述实施例提供的多外设固件升级控制方法,只是执行主体不一致,两者实际工作原理一致,故本实施例不再进行赘述,具体内容可参见上述实施例的描述。
图7示出了本发明一实施例提供的智能设备的结构示意图,如图7所示,本发明实施例提供的智能设备,包括:接收模块11、获取模块12和升级控制模块13,其中:
接收模块11,用于接收多个待升级固件分别发送的升级请求,所述升级请求包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息;
获取模块12,用于根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系;
升级控制模块13,用于根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
由于本实施例提供的智能设备可以用于执行上面第一个实施例所述的多外设固件升级控制方法,其工作原理和有益效果类似,故此处不再详述。
图8示出了本发明一实施例提供的智能设备的外设固件的结构示意图,如图8所示,本发明实施例提供的智能设备的外设固件,包括:
发送模块21,用于向智能设备发送包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系以及待升级固件的目标版本号信息的升级请求,以使所述智能设备根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系,并根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
由于本实施例提供的智能设备的外设固件可以用于执行上面第一个实施例所述的多外设固件升级控制方法,其工作原理和有益效果类似,故此处不再详述。
图9示出了本发明一实施例提供的多外设固件升级控制系统的结构示意图,如图9所示,本发明实施例提供的多外设固件升级控制系统,包括:上面实施例所述的智能设备和智能设备的外设固件。
由于本实施例提供的多外设固件升级控制系统可以用于执行上面任一实施例所述的多外设固件升级控制方法,其工作原理和有益效果类似,故此处不再详述。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图10,所述电子设备具体包括如下内容:处理器901、存储器902、通信接口903和总线904;
其中,所述处理器901、存储器902、通信接口903通过所述总线904完成相互间的通信;所述通信接口903用于实现各建模软件及智能制造装备模块库等相关设备之间的信息传输;
所述处理器901用于调用所述存储器902中的计算机程序,所述处理器执行所述计算机程序时实现图1或图6所示多外设固件升级控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤101:接收多个待升级固件分别发送的升级请求,所述升级请求包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息。
步骤102:根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系。
步骤103:根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现图1或图6所示多外设固件升级控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤101:接收多个待升级固件分别发送的升级请求,所述升级请求包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息。
步骤102:根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系。
步骤103:根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (16)
1.一种多外设固件升级控制方法,其特征在于,应用于智能设备,包括:
接收多个待升级固件分别发送的升级请求,所述升级请求包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息;
根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系;
根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
2.根据权利要求1所述的方法,其特征在于,所述根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制,包括:
根据每个待升级固件与其他待升级固件的依赖关系,逐个依次对每个待升级固件进行升级条件的判断,并在确定所述待升级固件满足升级条件时,根据所述待升级固件的目标版本号信息下载与所述待升级固件对应的目标版本,并利用所述目标版本对所述待升级固件进行升级。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若判断待升级固件不满足升级条件,则不下载与所述待升级固件对应的目标版本。
4.根据权利要求2或3所述的方法,其特征在于,所述根据每个待升级固件与其他待升级固件的依赖关系,逐个依次对每个待升级固件进行升级条件的判断,包括:
逐个依次对每个待升级固件进行检查,当待升级固件不存在与其他待升级固件的依赖关系时,确定所述待升级固件满足升级条件;当待升级固件存在与其他待升级固件的依赖关系时,若与所述待升级固件存在依赖关系的其他待升级固件已经升级成功,则确定所述待升级固件满足升级条件,否则,确定所述待升级固件不满足升级条件。
5.根据权利要求4所述的方法,其特征在于,所述升级请求中还包括有待升级固件的原版本号信息;
相应地,在对每个待升级固件进行升级条件的判断时,还包括:判断所述升级请求中的原版本号与所述待升级固件当前的版本号是否一致,若不一致,则确定所述待升级固件不满足升级条件。
6.根据权利要求4所述的方法,其特征在于,所述升级请求中还包括有待升级固件的优先级信息;
相应地,当确定满足升级条件的待升级固件同时有多个时,根据待升级固件的优先级信息进行顺序排队,逐个完成下载和升级过程。
7.根据权利要求1所述的方法,其特征在于,所述根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制,包括:
根据每个待升级固件的目标版本号信息将所有待升级固件的目标版本下载至本地;
根据每个待升级固件与其他待升级固件的依赖关系,对所有待升级固件进行升级条件的判断,并在确定所述待升级固件满足升级条件时,利用与所述待升级固件对应的目标版本对所述待升级固件进行升级。
8.根据权利要求7所述的方法,其特征在于,所述根据每个待升级固件与其他待升级固件的依赖关系,对所有待升级固件进行升级条件的判断,并在确定所述待升级固件满足升级条件时,利用与所述待升级固件对应的目标版本对所述待升级固件进行升级,包括:
对每个待升级固件进行检查,当待升级固件不存在与其他待升级固件的依赖关系时,直接对所述待升级固件进行升级;当待升级固件存在与其他待升级固件的依赖关系时,先对与所述待升级固件存在依赖关系的其他待升级固件进行升级,并在与所述待升级固件存在依赖关系的其他待升级固件升级成功后,再对所述待升级固件进行升级。
9.根据权利要求8所述的方法,其特征在于,所述升级请求中还包括有待升级固件的优先级信息;
相应地,若当前满足升级条件且等待升级的固件有多个时,按照待升级固件的优先级信息进行顺序排队升级;
其中,满足升级条件且等待升级的固件包括:不存在与其他待升级固件的依赖关系的待升级固件,以及,存在与其他待升级固件的依赖关系的待升级固件且与待升级固件存在依赖关系的其他待升级固件升级成功后待升级的固件。
10.根据权利要求8所述的方法,其特征在于,所述升级请求中还包括有待升级固件的原版本号信息;
相应地,在利用下载好的目标版本对待升级固件进行升级时,判断所述升级请求中的原版本号与所述待升级固件当前的版本号是否一致,若不一致,则不对所述待升级固件进行升级。
11.一种多外设固件升级控制方法,其特征在于,应用于智能设备的外设固件,包括:
向智能设备发送包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系以及待升级固件的目标版本号信息的升级请求,以使所述智能设备根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系,并根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
12.一种智能设备,其特征在于,包括:
接收模块,用于接收多个待升级固件分别发送的升级请求,所述升级请求包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系,以及待升级固件的目标版本号信息;
获取模块,用于根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系;
升级控制模块,用于根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
13.一种智能设备的外设固件,其特征在于,包括:
发送模块,用于向智能设备发送包含有待升级固件的固件标识、待升级固件与其他待升级固件的依赖关系以及待升级固件的目标版本号信息的升级请求,以使所述智能设备根据多个待升级固件分别发送的升级请求,获取每个待升级固件与其他待升级固件的依赖关系,并根据每个待升级固件与其他待升级固件的依赖关系以及每个待升级固件的目标版本号信息,对多个待升级固件进行下载和升级控制。
14.一种多外设固件升级控制系统,其特征在于,包括:如权利要求12所述的智能设备,以及,如权利要求13所述的智能设备的外设固件。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至11任一项所述多外设固件升级控制方法的步骤。
16.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至11任一项所述多外设固件升级控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811604789.6A CN111367544B (zh) | 2018-12-26 | 2018-12-26 | 多外设固件升级控制方法、智能设备、固件及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811604789.6A CN111367544B (zh) | 2018-12-26 | 2018-12-26 | 多外设固件升级控制方法、智能设备、固件及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367544A true CN111367544A (zh) | 2020-07-03 |
CN111367544B CN111367544B (zh) | 2021-09-03 |
Family
ID=71206426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811604789.6A Active CN111367544B (zh) | 2018-12-26 | 2018-12-26 | 多外设固件升级控制方法、智能设备、固件及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367544B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094064A (zh) * | 2021-03-03 | 2021-07-09 | 深圳市晨北科技有限公司 | 网关软件模块升级方法、装置、设备及存储介质 |
CN113392050A (zh) * | 2021-04-28 | 2021-09-14 | 深圳市沃特沃德信息有限公司 | 实现程序自动下载的电路、方法以及计算机设备 |
CN113867753A (zh) * | 2021-08-29 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种服务器的固件更新方法及系统 |
CN113992739A (zh) * | 2021-10-26 | 2022-01-28 | 北京奕斯伟计算技术有限公司 | 一种局域网ota固件升级装置、方法及系统 |
CN114443085A (zh) * | 2021-12-17 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种硬盘的固件刷新方法、系统及计算机可读存储介质 |
CN115348172A (zh) * | 2022-07-28 | 2022-11-15 | 鹿马智能科技(上海)有限公司 | 边缘网络设备不同部位版本升级的方法、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425018A (zh) * | 2008-12-05 | 2009-05-06 | 深圳创维数字技术股份有限公司 | 基于分段式的嵌入式固件升级方法及装置 |
US20130074061A1 (en) * | 2011-09-16 | 2013-03-21 | Aaron H. Averbuch | Centrally coordinated firmware upgrade model across network for minimizing uptime loss and firmware compatibility |
CN103442291A (zh) * | 2013-08-06 | 2013-12-11 | 深圳创维数字技术股份有限公司 | 一种机顶盒升级方法及装置 |
CN104407897A (zh) * | 2014-12-02 | 2015-03-11 | 厦门雅迅网络股份有限公司 | 一种程序智能升级的方法及系统 |
CN104932909A (zh) * | 2014-03-17 | 2015-09-23 | 中兴通讯股份有限公司 | 一种终端软件升级方法及装置 |
CN105591824A (zh) * | 2016-01-14 | 2016-05-18 | 杭州赫智电子科技有限公司 | 一种固件升级的方法、系统 |
-
2018
- 2018-12-26 CN CN201811604789.6A patent/CN111367544B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425018A (zh) * | 2008-12-05 | 2009-05-06 | 深圳创维数字技术股份有限公司 | 基于分段式的嵌入式固件升级方法及装置 |
US20130074061A1 (en) * | 2011-09-16 | 2013-03-21 | Aaron H. Averbuch | Centrally coordinated firmware upgrade model across network for minimizing uptime loss and firmware compatibility |
CN103442291A (zh) * | 2013-08-06 | 2013-12-11 | 深圳创维数字技术股份有限公司 | 一种机顶盒升级方法及装置 |
CN104932909A (zh) * | 2014-03-17 | 2015-09-23 | 中兴通讯股份有限公司 | 一种终端软件升级方法及装置 |
CN104407897A (zh) * | 2014-12-02 | 2015-03-11 | 厦门雅迅网络股份有限公司 | 一种程序智能升级的方法及系统 |
CN105591824A (zh) * | 2016-01-14 | 2016-05-18 | 杭州赫智电子科技有限公司 | 一种固件升级的方法、系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094064A (zh) * | 2021-03-03 | 2021-07-09 | 深圳市晨北科技有限公司 | 网关软件模块升级方法、装置、设备及存储介质 |
CN113392050A (zh) * | 2021-04-28 | 2021-09-14 | 深圳市沃特沃德信息有限公司 | 实现程序自动下载的电路、方法以及计算机设备 |
CN113867753A (zh) * | 2021-08-29 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种服务器的固件更新方法及系统 |
CN113867753B (zh) * | 2021-08-29 | 2024-01-16 | 苏州浪潮智能科技有限公司 | 一种服务器的固件更新方法及系统 |
CN113992739A (zh) * | 2021-10-26 | 2022-01-28 | 北京奕斯伟计算技术有限公司 | 一种局域网ota固件升级装置、方法及系统 |
CN113992739B (zh) * | 2021-10-26 | 2024-03-22 | 北京奕斯伟计算技术股份有限公司 | 一种局域网ota固件升级装置、方法及系统 |
CN114443085A (zh) * | 2021-12-17 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种硬盘的固件刷新方法、系统及计算机可读存储介质 |
CN114443085B (zh) * | 2021-12-17 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 一种硬盘的固件刷新方法、系统及计算机可读存储介质 |
CN115348172A (zh) * | 2022-07-28 | 2022-11-15 | 鹿马智能科技(上海)有限公司 | 边缘网络设备不同部位版本升级的方法、设备及介质 |
CN115348172B (zh) * | 2022-07-28 | 2024-05-14 | 鹿马智能科技(上海)有限公司 | 边缘网络设备不同部位版本升级的方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111367544B (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367544B (zh) | 多外设固件升级控制方法、智能设备、固件及电子设备 | |
CN107769949B (zh) | 一种应用组件部署方法及部署节点 | |
CN104063239B (zh) | 移动终端的应用程序更新方法及服务器、客户端 | |
CN107205055B (zh) | 终端升级方法及装置 | |
EP2608585B1 (en) | Method, device and system for triggering terminal operation | |
EP2492821A1 (en) | Method and device for updating data card | |
US20240111549A1 (en) | Method and apparatus for constructing android running environment | |
CN106502717B (zh) | 应用程序运行方法及装置 | |
CN109725952B (zh) | 一种应用程序插件化的方法、系统以及相关装置 | |
CN113168332B (zh) | 数据处理方法、装置以及移动终端 | |
CN113938535A (zh) | 基于多协议适配的物联网设备接入方法及装置 | |
JP2008523519A (ja) | 複数のプラグインを含む電子システムを初期化する方法 | |
CN109408090B (zh) | 设备软件的升级方法、数据转化器及可读存储介质 | |
CN110647337A (zh) | 物联网mcu空中固件升级方法 | |
CN114968406B (zh) | 一种插件管理方法、装置、电子设备及存储介质 | |
CN107526584B (zh) | 数据接入方法和装置 | |
EP3091435A1 (en) | Resource management method and device for terminal system | |
CN114546588A (zh) | 任务的部署方法、装置、存储介质及电子装置 | |
CN108989428B (zh) | 蓝牙终端升级方法、服务器、计算机可读存储介质及系统 | |
CN111722857A (zh) | 软件开发工具包的更新方法、装置、电子设备及存储介质 | |
CN113094064A (zh) | 网关软件模块升级方法、装置、设备及存储介质 | |
CN106201692B (zh) | 一种定时任务处理系统及方法 | |
CN110837381B (zh) | 投影设备的软件升级方法及装置 | |
CN109753293A (zh) | 一种插件的处理方法及相关设备 | |
CN111427603B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230630 Address after: 201700 room 205, floor 2, building 9, No. 168, Yinggang East Road, Qingpu District, Shanghai Patentee after: Midea Group (Shanghai) Co.,Ltd. Patentee after: MIDEA GROUP Co.,Ltd. Address before: 528311, 26-28, B District, Mei headquarters building, 6 Mei Road, Beijiao Town, Shunde District, Foshan, Guangdong. Patentee before: MIDEA GROUP Co.,Ltd. |
|
TR01 | Transfer of patent right |