CN108681459B - 一种智能硬件设备的固件更新方法、装置及系统 - Google Patents
一种智能硬件设备的固件更新方法、装置及系统 Download PDFInfo
- Publication number
- CN108681459B CN108681459B CN201810251068.5A CN201810251068A CN108681459B CN 108681459 B CN108681459 B CN 108681459B CN 201810251068 A CN201810251068 A CN 201810251068A CN 108681459 B CN108681459 B CN 108681459B
- Authority
- CN
- China
- Prior art keywords
- firmware
- updating
- intelligent hardware
- new
- firmware updating
- 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
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
-
- 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)
- 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
技术领域
本发明实施例涉及智能硬件设备固件更新技术领域,尤其涉及一种智能硬件设备的固件更新方法、装置及系统。
背景技术
随着物联网的兴起与发展,智能硬件设备的使用范围越来越广泛,例如应用于医疗、交通、工业等各个领域的智能温控设备、智能视频监控设备、车载智能设备等各式智能硬件设备。相应地,智能硬件设备的管理和维护问题也日益突出。
智能硬件设备的固件大都在出厂前便烧录于硬件设备的电可擦除只读存储器或FLASH芯片中,通常固件内所保存的程序是无法被用户直接读出或修改的。早期的硬件设备出厂后,如果硬件设备的固件在使用过程中出现问题或者需要变更功能,则必须将整台设备返厂或由专业人员至设备现场进行固件更新。目前,一些运算能力强的智能硬件设备,例如电脑可以实现远程固件更新,具体过程是从服务器下载获取新版本固件,然后重新启动电脑操作系统,烧录新版本固件以替换整个旧版本固件,然后再用新版本固件重新启动系统。但是,此类固件更新方法不具有普适性,并且即便只是对智能硬件设备的业务功能作一些微小的改进或调整,也必需在每次固件更新时烧录整个固件,不仅固件更新效率低,而且一旦烧录更新失败,将会导致硬件设备失效而无法启动,更勿论实现业务功能的变更调整,对用户体验造成不良影响。
因此,如何提供一种能够高效更新固件并能够大幅降低固件更新失败造成硬件设备失效的概率,同时还可以快速满足用户个性化业务定制需求的智能硬件设备的固件更新方案成为亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种智能硬件设备的固件更新方法、装置及系统,用以克服现有技术中固件更新时必需烧录整个固件,固件更新效率低并且固件更新失败会造成设备失效等缺陷,达到高效更新固件并大幅降低固件更新失败造成硬件设备失效的概率,同时还可快速满足用户个性化业务定制需求等效果。
第一方面,本发明实施例提供一种智能硬件设备的固件更新方法,应用于与服务器建立远程通信连接的智能硬件设备上,所述智能硬件设备的固件包括基础功能区和业务定制区,所述方法包括:
接收所述服务器发送的固件更新消息;
对所述固件更新消息进行解析,从所述固件更新消息中获取固件更新信息,所述固件更新信息中至少包括固件更新类型信息和对应的新固件版本信息;
当根据所述固件更新类型信息确定固件更新类型为局部固件更新类型时,获取与所述新固件版本信息对应的新固件数据包;
根据所述局部固件更新类型和所述新固件数据包采用绝对地址定位的方式对所述固件的业务定制区进行局部固件更新。
第二方面,本发明实施例提供一种智能硬件设备的固件更新装置,应用于与服务器建立远程通信连接的智能硬件设备上,所述智能硬件设备的固件包括基础功能区和业务定制区,所述固件更新装置包括:
第一消息接收模块,用于接收所述服务器发送的固件更新消息;
信息获取模块,用于对所述固件更新消息进行解析,从所述固件更新消息中获取固件更新信息,所述固件更新信息中至少包括固件更新类型信息和对应的新固件版本信息;
数据包获取模块,用于当根据所述固件更新类型信息确定固件更新类型为局部固件更新类型时,获取与所述新固件版本信息对应的新固件数据包;和
固件更新模块,用于根据所述局部固件更新类型和所述新固件数据包采用绝对地址定位的方式对所述固件的业务定制区进行局部固件更新。
第三方面,本发明实施例提供一种智能硬件设备的固件更新装置,应用于与服务器建立远程通信连接的智能硬件设备上,所述智能硬件设备的固件包括基础功能区和业务定制区,所述固件更新装置包括存储器,处理器、外部通信接口、通信总线以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述存储器,所述处理器和所述外部通信接口通过所述通信总线连接,所述外部通信接口用于与网络侧服务器建立远程通信连接,所述处理器用于运行所述计算机程序时执行本发明实施例所述智能硬件设备的固件更新方法的步骤。
第四方面,本发明实施例提供一种智能硬件设备的固件更新系统,包括:
服务器,用于提供远程固件更新服务;和
智能硬件设备,用于与所述服务器进行远程通信,实现本发明实施例所述智能硬件设备的固件更新方法。
第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所述智能硬件设备的固件更新方法的步骤。
由以上技术方案可见,本发明实施例能够高效更新固件并大幅降低固件更新失败造成硬件设备失效的概率,同时还可快速满足用户个性化业务定制需求,大大提升用户体验,并且适用范围更广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例中一种智能硬件设备的固件更新方法的流程示意图。
图2为本发明第二实施例中一种智能硬件设备的固件更新方法的流程示意图。
图3为本发明第三实施例中一种智能硬件设备的固件更新装置的功能模块示意图。
图4为本发明第四实施例中一种智能硬件设备的固件更新装置的功能模块示意图。
图5为本发明第五实施例中一种智能硬件设备的固件更新装置的功能模块示意图。
图6为本发明第六实施例中一种智能硬件设备的固件更新系统的功能模块示意图。
具体实施方式
为使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明中的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
第一实施例。
请参阅图1,本发明实施例提供了一种智能硬件设备的固件更新方法,可以应用于与服务器建立远程通信连接的智能硬件设备上。如图1所示,本发明实施例所述智能硬件设备的固件更新方法包括:
步骤11:接收服务器发送的固件更新消息;
步骤12:对固件更新消息进行解析,从该固件更新消息中获取至少包括固件更新类型信息和对应的新固件版本信息的固件更新信息;
步骤13:当根据固件更新类型信息确定固件更新类型为局部固件更新类型时,获取与新固件版本信息对应的新固件数据包;
步骤14:根据局部固件更新类型和新固件数据包采用绝对地址定位的方式对固件的业务定制区进行局部固件更新。
需要说明的是,本发明实施例的智能硬件设备的固件按业务逻辑可以划分为基础功能区和业务定制区,其中基础功能区主要用于实现硬件驱动、网络连接和固件更新等功能,业务定制区主要用于实现智能硬件设备的各项具体业务功能,在实际应用中可以根据用户需求进行个性化定制。
另外需要说明的是,本发明实施例中的固件更新消息是由网络侧服务器向智能硬件设备发送的,用于通知智能硬件设备进行固件更新的消息。本发明实施例的固件更新类型信息是用于标识固件更新的类型,固件更新的类型可以包括局部固件更新类型和整体固件更新类型。本发明实施例的新固件版本信息是用于标识待更新的固件版本,与固件更新类型对应。当固件更新类型为局部固件更新类型时,新固件版本信息对应为用于局部固件更新的新固件版本信息,新固件数据包也对应为用于局部固件更新的新固件数据包。本发明实施例的新固件版本信息可以包括待更新固件的识别信息和/或对应的新固件版本号等信息。在实际应用中,固件更新消息中除了包括固件更新类型信息和新固件版本号,还可以包括智能硬件设备的识别信息,新固件数据包或者新固件数据包的下载地址等信息。具体实现时,服务器可以根据用户的指令或者在发现新固件版本后主动向对应的智能硬件设备发送固件更新消息,服务器也可以在智能硬件设备启动并与服务器建立通信连接后,作为对智能硬件设备发送的固件更新查询消息的响应,在固件库中找到对应的新固件版本再向智能硬件设备发送固件更新消息。
应指出的是,本发明实施例中的新固件数据包是针对固件的业务定制区进行局部固件更新的新版本固件数据,因此新固件数据包通常较小,有利于大幅提高固件更新效率。本发明实施例的步骤S14中的绝对地址定位主要是用于实现对固件业务定制区进行局部更新。在具体实现时,需要将所使用的函数地址进行绝对地址定位,不仅需要对业务定制区的起始地址进行绝对地址定位,还需要对固件基础功能区所提供的基础功能函数地址进行绝对地址定位,这样业务定制区需要调用基础功能区的基础功能时,就不会出现调用失败的情况。
由上述方法实现可知,本发明实施例能够高效更新固件并大幅降低固件更新失败造成硬件设备失效的概率,同时还可快速满足用户个性化业务定制需求,大大提升用户体验,并且适用范围更广。
第二实施例。
请参阅图2,本发明实施例中提供了一种智能硬件设备的固件更新方法,可以应用于与服务器建立远程通信连接的智能硬件设备上,智能硬件设备的固件包括基础功能区和业务定制区。如图2所示,本发明实施例所述智能硬件设备的固件更新方法包括:
步骤21:在智能硬件设备启动后,向服务器发送固件更新查询消息;
步骤22:接收服务器根据固件更新查询消息发送的固件更新消息;
步骤23:对该固件更新消息进行解析,从该固件更新消息中获取至少包括固件更新类型信息和对应的新固件版本信息的固件更新信息;
步骤24:根据固件更新类型信息判断确定固件更新类型;
步骤25:当根据固件更新类型信息判断确定固件更新类型为局部固件更新类型时,获取与新固件版本信息对应的新固件数据包;
步骤26:根据局部固件更新类型和对应的新固件数据包采用绝对地址定位的方式对固件的业务定制区进行局部固件更新。
步骤27:当根据固件更新类型信息判断确定固件更新类型为整体固件更新类型时,获取与新固件版本信息对应的新固件数据包;
步骤28:根据整体固件更新类型和对应的新固件数据包采用绝对地址定位的方式对固件的业务定制区进行局部固件更新。
需要说明的是,本发明实施例的固件更新类型信息是用于标识固件更新的类型,固件更新的类型可以包括局部固件更新类型和整体固件更新类型。本发明实施例的新固件版本信息是用于标识待更新的固件版本,与固件更新类型对应。若固件更新类型为局部固件更新类型,则与之对应的新固件版本信息为用于局部固件更新的新固件版本信息,新固件数据包也对应为用于局部固件更新的新固件数据包;若固件更新类型为整体固件更新类型,则对应的新固件版本信息为用于整体固件更新的新固件版本信息,新固件数据包也对应为用于整体固件更新的新固件数据包。相较用于整体固件更新的新固件数据包而言,用于局部固件更新的新固件数据包通常较小,因此对固件的业务定制区进行固件更新,不仅能够充分满足用户个性化定制需求,而且有利于大幅提高固件更新效率,改善用户体验。
在实际应用中,还可能出现智能硬件设备中存在多个固件的情况。针对这种情况,作为本发明实施例的一种优选具体实现方式,本发明实施例的新固件版本信息可以包括智能硬件设备的待更新固件的识别信息和对应的新固件版本号;相应地,本发明实施例的步骤26具体实现为:根据待更新固件的识别信息,局部固件更新类型和对应的新固件数据包采用绝对地址定位的方式对智能硬件设备中与该待更新固件的识别信息对应的固件的业务定制区进行局部固件更新;本发明实施例的步骤28具体实现为:根据待更新固件的识别信息,整体固件更新类型和对应的新固件数据包对智能硬件设备中与该待更新固件的识别信息对应的固件进行整体固件更新。
具体地,本发明实施例的固件更新查询消息用于智能硬件设备向服务器查询是否需要进行固件更新,该固件更新查询消息包括智能硬件设备的设备识别信息,智能硬件设备的固件的识别信息和当前固件版本号。在实际应用中,服务器从固件更新查询消息中解析获得上述信息,并根据智能硬件设备的设备识别信息在本地固件库中查找对应的最新固件版本信息,并根据智能硬件设备的固件的识别信息和当前固件版本号确定该智能硬件设备的待更新固件的识别信息、对应的新固件版本号和固件更新类型信息,并将这些信息一并封装于固件更新消息中发送给该智能硬件设备。此外,在具体实现时,服务器还可以将对应的新固件数据包或者新固件数据包的下载地址一并封装于固件更新消息中发送给该智能硬件设备。当本发明实施例的固件更新消息包括新固件数据包时,则获取与新固件版本信息对应的新固件数据包的步骤可以具体实现为:从该固件更新消息中获取与新固件版本信息对应的新固件数据包;当本发明实施例的固件更新消息包括新固件数据包的下载地址时,则获取与新固件版本信息对应的新固件数据包的步骤可以具体实现为:从该新固件数据包的下载地址下载与新固件版本信息对应的新固件数据包。
可选地,本发明实施例所述智能硬件设备的固件更新方法还包括:
接收服务器在未找到该智能硬件设备可用的新固件版本信息时返回的无可用固件更新消息。
应指出的是,本发明实施例中所述步骤S22、S23、S25和S26分别与本发明第一实施例中所述步骤S11、S12、S13和S14相似,因此,本发明第一实施例中关于步骤S11、S12、S13和S14的相关说明可以应用于本实施例所述步骤S22、S23、S25和S26。
由上述方法实现可知,本发明实施例能够高效更新固件并大幅降低固件更新失败造成硬件设备失效的概率,同时还可快速满足用户个性化业务定制需求,大大提升用户体验,并且适用范围更广。
为了实现上述智能硬件设备的固件更新方法实施例中各步骤及方法,本发明实施例还提供了相应地智能硬件设备的固件更新装置及系统。下面将通过具体实施例对本发明实施例的智能硬件设备的固件更新装置及系统分别进行详细说明。
第三实施例。
请参阅图3,本发明实施例中提供了一种智能硬件设备的固件更新装置,可以应用于与服务器建立远程通信连接的智能硬件设备上。如图3所示,本发明实施例的智能硬件设备的固件更新装置包括:
第一消息接收模块31,用于接收服务器发送的固件更新消息;
信息获取模块32,用于对该固件更新消息进行解析,从该固件更新消息中获取固件更新信息,该固件更新信息中至少包括固件更新类型信息和对应的新固件版本信息;
数据包获取模块33,用于当根据固件更新类型信息确定固件更新类型为局部固件更新类型时,获取与新固件版本信息对应的新固件数据包;和
固件更新模块34,用于根据局部固件更新类型和对应的新固件数据包采用绝对地址定位的方式对固件的业务定制区进行局部固件更新。
需要说明的是,本发明实施例的智能硬件设备的固件按业务逻辑可以划分为基础功能区和业务定制区,其中基础功能区主要用于实现硬件驱动、网络连接和固件更新等功能,业务定制区主要用于实现智能硬件设备的各项具体业务功能,在实际应用中可以根据用户需求进行个性化定制。
应指出的是,本发明实施例中的新固件数据包是针对固件的业务定制区进行局部固件更新的新版本固件数据,因此新固件数据包通常较小,有利于大幅提高固件更新效率。
本发明实施例所述的智能硬件设备的固件更新装置能够执行本发明前述第一实施例中所述的智能硬件设备的固件更新方法,因此本发明实施例中未详细描述的部分,可以参考本发明前述智能硬件设备的固件更新方法实施例中的相关说明,本发明实施例所述智能硬件设备的固件更新装置及其中各功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于上述技术实现可知,本发明实施例的智能硬件设备的固件更新装置能够高效更新固件并大幅降低固件更新失败造成硬件设备失效的概率,同时还可快速满足用户个性化业务定制需求,大大提升用户体验,并且适用范围更广。
第四实施例。
请参阅图4,本发明实施例中提供了一种智能硬件设备的固件更新装置,可以应用于与服务器建立远程通信连接的智能硬件设备上,智能硬件设备的固件包括基础功能区和业务定制区。如图4所示,本发明实施例的智能硬件设备的固件更新装置包括:
消息发送模块41,用于在智能硬件设备启动后,向服务器发送固件更新查询消息;
第一消息接收模块42,用于接收服务器根据该固件更新查询消息发送的固件更新消息;
信息获取模块43,用于对该固件更新消息进行解析,从该固件更新消息中获取固件更新信息,该固件更新信息中至少包括固件更新类型信息和对应的新固件版本信息;
类型判断模块44,用于根据固件更新类型信息判断确定固件更新类型;
数据包获取模块45,用于当所述类型判断模块44根据固件更新类型信息判断确定固件更新类型为局部固件更新类型或者整体固件更新类型时,获取与新固件版本信息对应的新固件数据包;和
固件更新模块46,用于根据局部固件更新类型和对应的新固件数据包采用绝对地址定位的方式对固件的业务定制区进行局部固件更新,或者根据整体固件更新类型和对应的新固件数据包对固件进行整体固件更新。
作为本发明实施例的一种优选具体实现方式,本发明实施例的新固件版本信息可以包括智能硬件设备的待更新固件的识别信息和对应的新固件版本号;相应地,本发明实施例的固件更新模块46具体包括:
第一固件更新单元,用于根据该待更新固件的识别信息,局部固件更新类型和对应的新固件数据包采用绝对地址定位的方式对智能硬件设备中与该待更新固件的识别信息对应的固件的业务定制区进行局部固件更新;和
第二固件更新单元,用于根据该待更新固件的识别信息,整体固件更新类型和对应的新固件数据包对智能硬件设备中与该待更新固件的识别信息对应的固件进行整体固件更新。
具体地,本发明实施例的固件更新查询消息用于智能硬件设备向服务器查询是否需要进行固件更新。作为本发明实施例的一种优选具体实现方式,本发明实施例的固件更新查询消息可以包括智能硬件设备的设备识别信息,智能硬件设备的固件的识别信息和当前固件版本号。
可选地,本发明实施例的智能硬件设备的固件更新装置还包括:
第二消息接收模块,用于接收服务器在未找到该智能硬件设备可用的新固件版本信息时返回的无可用固件更新消息。
此外,在具体实现时,本发明实施例的固件更新消息还可以包括新固件数据包或者新固件数据包的下载地址。若该固件更新消息中包括新固件数据包,则数据包获取模块45具体用于从该固件更新消息中获取与新固件版本信息对应的新固件数据包;若该固件更新消息中包括新固件数据包的下载地址,则数据包获取模块45具体用于从该新固件数据包的下载地址下载与新固件版本信息对应的新固件数据包。
本发明实施例所述的智能硬件设备的固件更新装置能够执行本发明前述第二实施例中所述的智能硬件设备的固件更新方法,因此本发明实施例中未详细描述的部分,可以参考本发明前述智能硬件设备的固件更新方法实施例中的相关说明,本发明实施例所述智能硬件设备的固件更新装置及其中各功能模块、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于上述技术实现可知,本发明实施例的智能硬件设备的固件更新装置能够高效更新固件并大幅降低固件更新失败造成硬件设备失效的概率,同时还可快速满足用户个性化业务定制需求,大大提升用户体验,并且适用范围更广。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,本发明第三和第四实施例所述的智能硬件设备的固件更新装置仅以上述各功能模块、单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块、单元完成,即将上述智能硬件设备的固件更新装置的内部结构划分成不同的功能模块或单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能模块、单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
第五实施例。
另请参阅图5,本发明实施例还提供了一种智能硬件设备的固件更新装置,可以应用于与服务器建立远程通信连接的智能硬件设备上,智能硬件设备的固件包括基础功能区和业务定制区。如图5所示,本发明实施例所述智能硬件设备的固件更新装置包括存储器51,处理器52、外部通信接口53、通信总线54以及存储在所述存储器51上并可在所述处理器52上运行的计算机程序,其中,所述存储器51,所述处理器52和所述外部通信接口53通过所述通信总线54连接,所述外部通信接口53用于与网络侧服务器建立远程通信连接,所述处理器52用于运行所述计算机程序时执行上述方法实施例所提供智能硬件设备的固件更新方法的步骤。
需要说明的是,本发明实施例中的存储器51可以是一个存储装置,也可以是多个存储单元的统称,且用于存储可执行计算机程序代码或应用程序运行装置运行所需要参数、数据等。该存储器51可以包括随机存取存储器(RAM,Random Access Memory)、也可以包括非易失性存储器,如磁盘存储器,闪存等。本发明实施例中的处理器52可以是一个处理元件,也可以是多个处理元件的统称。例如,该处理元件可以是中央处理器,也可以是特定集成电路(Application Specific Integrated Circuit, 简称ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(Digital SignalProcessor, DSP),或,一个或多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。本发明实施例中的通信总线54可以是工业标准体系结构(Industry StandardArchitecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture, EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。本发明实施例中的外部通信接口53用于为本系统提供与网络侧服务器通信的接口。
基于上述技术实现可知,本发明实施例的智能硬件设备的固件更新装置能够高效更新固件并大幅降低固件更新失败造成硬件设备失效的概率,同时还可快速满足用户个性化业务定制需求,大大提升用户体验,并且适用范围更广。
第六实施例。
请参阅图6,本发明实施例提供一种智能硬件设备的固件更新系统,用于实现上述智能硬件设备的固件更新方法实施例中各步骤及方法。如图6所示,本发明实施例的智能硬件设备的固件更新系统包括:
服务器61,用于提供远程固件更新服务;和
智能硬件设备62,用于与服务器61进行远程通信,实现上述方法实施例所提供智能硬件设备的固件更新方法。
此外,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例所提供智能硬件设备的固件更新方法的步骤。
基于上述技术实现可知,本发明实施例能够高效更新固件并大幅降低固件更新失败造成硬件设备失效的概率,同时还可快速满足用户个性化业务定制需求,大大提升用户体验,并且适用范围更广。
需特别指出的是,本发明描述中的 “第一”、“第二”等术语仅出于描述目的,用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。此外,本发明描述中的“包括”及“具有”等术语及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的功能模块及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其他的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其他的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
上述实施例仅用以说明本发明的技术方案,而非对其限制。尽管已描述了本发明实施例的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明实施例权利要求及其等同技术的范围之内,则本发明实施例也意图包含这些改动和变型在内。
Claims (13)
1.一种智能硬件设备的固件更新方法,其特征在于,所述方法应用于与服务器建立远程通信连接的智能硬件设备上,所述智能硬件设备的固件包括基础功能区和业务定制区,所述方法包括:
接收所述服务器发送的固件更新消息;
对所述固件更新消息进行解析,从所述固件更新消息中获取固件更新信息,所述固件更新信息中至少包括固件更新类型信息和对应的新固件版本信息;
当根据所述固件更新类型信息确定固件更新类型为局部固件更新类型时,获取与所述新固件版本信息对应的新固件数据包;
根据所述局部固件更新类型和所述新固件数据包采用绝对地址定位的方式对所述固件的业务定制区进行局部固件更新,其中,绝对地址定位的方式包括将所使用的函数地址进行绝对地址定位,对业务定制区的起始地址进行绝对地址定位,以及对固件基础功能区所提供的基础功能函数地址进行绝对地址定位。
2.根据权利要求1所述的智能硬件设备的固件更新方法,其特征在于,在执行所述获取与所述新固件版本信息对应的新固件数据包的步骤之前,所述方法还包括:
根据所述固件更新类型信息判断确定所述固件更新类型;
当根据所述固件更新类型信息判断确定所述固件更新类型为整体固件更新类型时,执行所述获取与所述新固件版本信息对应的新固件数据包的步骤;
根据所述整体固件更新类型和所述新固件数据包对所述固件进行整体固件更新。
3.根据权利要求2所述的智能硬件设备的固件更新方法,其特征在于,所述新固件版本信息包括所述智能硬件设备的待更新固件的识别信息和对应的新固件版本号;
所述根据所述局部固件更新类型和所述新固件数据包采用绝对地址定位的方式对所述固件的业务定制区进行局部固件更新的步骤具体为:根据所述待更新固件的识别信息,所述局部固件更新类型和所述新固件数据包采用绝对地址定位的方式对所述智能硬件设备中与所述待更新固件的识别信息对应的固件的业务定制区进行局部固件更新;
所述根据所述整体固件更新类型和所述新固件数据包对所述固件进行整体固件更新的步骤具体为:根据所述待更新固件的识别信息,所述整体固件更新类型和所述新固件数据包对所述智能硬件设备中与所述待更新固件的识别信息对应的固件进行整体固件更新。
4.根据权利要求3所述的智能硬件设备的固件更新方法,其特征在于,在执行所述接收网络侧服务器发送的固件更新消息的步骤之前,所述方法还包括:
在所述智能硬件设备启动后,向所述服务器发送固件更新查询消息,所述固件更新查询消息包括所述智能硬件设备的设备识别信息,所述智能硬件设备的固件的识别信息和当前固件版本号。
5.根据权利要求4所述的智能硬件设备的固件更新方法,其特征在于,所述方法还包括:
接收所述服务器在未找到所述智能硬件设备可用的新固件版本信息时返回的无可用固件更新消息。
6.一种智能硬件设备的固件更新装置,其特征在于,所述固件更新装置应用于与服务器建立远程通信连接的智能硬件设备上,所述智能硬件设备的固件包括基础功能区和业务定制区,所述固件更新装置包括:
第一消息接收模块,用于接收所述服务器发送的固件更新消息;
信息获取模块,用于对所述固件更新消息进行解析,从所述固件更新消息中获取固件更新信息,所述固件更新信息中至少包括固件更新类型信息和对应的新固件版本信息;
数据包获取模块,用于当根据所述固件更新类型信息确定固件更新类型为局部固件更新类型时,获取与所述新固件版本信息对应的新固件数据包;和
固件更新模块,用于根据所述局部固件更新类型和所述新固件数据包采用绝对地址定位的方式对所述固件的业务定制区进行局部固件更新,其中,绝对地址定位的方式包括将所使用的函数地址进行绝对地址定位,对业务定制区的起始地址进行绝对地址定位,以及对固件基础功能区所提供的基础功能函数地址进行绝对地址定位。
7.根据权利要求6所述的智能硬件设备的固件更新装置,其特征在于,所述装置还包括:
类型判断模块,用于根据所述固件更新类型信息判断确定所述固件更新类型;
所述数据包获取模块,还用于当所述类型判断模块根据所述固件更新类型信息判断确定所述固件更新类型为整体固件更新类型时,执行所述获取与所述新固件版本信息对应的新固件数据包的步骤;
所述固件更新模块,还用于根据所述整体固件更新类型和所述新固件数据包对所述固件进行整体固件更新。
8.根据权利要求7所述的智能硬件设备的固件更新装置,其特征在于,所述新固件版本信息包括所述智能硬件设备的待更新固件的识别信息和对应的新固件版本号;
所述固件更新模块包括:
第一固件更新单元,用于根据所述待更新固件的识别信息,所述局部固件更新类型和所述新固件数据包采用绝对地址定位的方式对所述智能硬件设备中与所述待更新固件的识别信息对应的固件的业务定制区进行局部固件更新;和
第二固件更新单元,用于根据所述待更新固件的识别信息,所述整体固件更新类型和所述新固件数据包对所述智能硬件设备中与所述待更新固件的识别信息对应的固件进行整体固件更新。
9.根据权利要求8所述的智能硬件设备的固件更新装置,其特征在于,所述装置还包括:
消息发送模块,用于在所述智能硬件设备启动后,向所述服务器发送固件更新查询消息,所述固件更新查询消息包括所述智能硬件设备的设备识别信息,所述智能硬件设备的固件的识别信息和当前固件版本号。
10.根据权利要求9所述的智能硬件设备的固件更新装置,其特征在于,所述装置还包括:
第二消息接收模块,用于接收所述服务器在未找到所述智能硬件设备可用的新固件版本信息时返回的无可用固件更新消息。
11.一种智能硬件设备的固件更新装置,其特征在于,所述固件更新装置应用于与服务器建立远程通信连接的智能硬件设备上,所述智能硬件设备的固件包括基础功能区和业务定制区,所述固件更新装置包括存储器,处理器、外部通信接口、通信总线以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述存储器,所述处理器和所述外部通信接口通过所述通信总线连接,所述外部通信接口用于与网络侧服务器建立远程通信连接,所述处理器用于运行所述计算机程序时执行如权利要求1至5任一项所述智能硬件设备的固件更新方法的步骤。
12.一种智能硬件设备的固件更新系统,其特征在于,所述系统包括:
服务器,用于提供远程固件更新服务;和
智能硬件设备,用于与所述服务器进行远程通信,实现如权利要求1至5任一项所述智能硬件设备的固件更新方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述智能硬件设备的固件更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810251068.5A CN108681459B (zh) | 2018-03-26 | 2018-03-26 | 一种智能硬件设备的固件更新方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810251068.5A CN108681459B (zh) | 2018-03-26 | 2018-03-26 | 一种智能硬件设备的固件更新方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108681459A CN108681459A (zh) | 2018-10-19 |
CN108681459B true CN108681459B (zh) | 2022-03-01 |
Family
ID=63800017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810251068.5A Active CN108681459B (zh) | 2018-03-26 | 2018-03-26 | 一种智能硬件设备的固件更新方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108681459B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450673A (zh) * | 2018-10-24 | 2019-03-08 | 中南民族大学 | 远程固件更新方法、路由器、存储介质及装置 |
CN109754511B (zh) * | 2019-01-14 | 2021-05-14 | 深圳前海微众银行股份有限公司 | 购物车设备固件更新方法、系统、平台、网关及存储介质 |
CN111666089B (zh) * | 2020-06-10 | 2024-02-13 | 西安易朴通讯技术有限公司 | 电子设备的固件更新方法、芯片、电子设备及存储介质 |
CN112445502B (zh) * | 2020-12-02 | 2024-08-06 | 深圳小窝科技有限公司 | 一种云端管理通用模块装测的方法 |
CN113127029A (zh) * | 2021-03-05 | 2021-07-16 | 深兰科技(上海)有限公司 | 固件更新方法、装置、电子设备及存储介质 |
CN113434484A (zh) * | 2021-06-29 | 2021-09-24 | 青岛海尔科技有限公司 | 描述设备的功能的方法、系统、装置与电子装置 |
WO2024026111A1 (en) * | 2022-07-29 | 2024-02-01 | Apple Inc. | Hardware pairing communication for streaming service |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200908A (zh) * | 2010-03-23 | 2011-09-28 | 上海果壳电子有限公司 | 电子书阅读器的固件系统 |
CN103106083A (zh) * | 2011-11-09 | 2013-05-15 | 北京市三希电子科技开发公司 | 一种固件的加载方法及装置 |
CN105487909A (zh) * | 2016-01-14 | 2016-04-13 | 江苏林洋能源股份有限公司 | 一种减少电力设备固件升级量的方法 |
CN107015817A (zh) * | 2017-05-25 | 2017-08-04 | 孙文现 | 一种设备固件空中升级的方法 |
CN107239302A (zh) * | 2017-05-10 | 2017-10-10 | 努比亚技术有限公司 | 一种固件升级方法、终端和服务器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7243347B2 (en) * | 2002-06-21 | 2007-07-10 | International Business Machines Corporation | Method and system for maintaining firmware versions in a data processing system |
US8631239B2 (en) * | 2012-01-12 | 2014-01-14 | Facebook, Inc. | Multiple system images for over-the-air updates |
CN105117241A (zh) * | 2015-07-28 | 2015-12-02 | 努比亚技术有限公司 | 固件升级方法及装置 |
CN106503494A (zh) * | 2016-11-05 | 2017-03-15 | 福建省北峰电讯科技有限公司 | 一种带有片上闪存微控制器的固件保护单元及保护方法 |
-
2018
- 2018-03-26 CN CN201810251068.5A patent/CN108681459B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200908A (zh) * | 2010-03-23 | 2011-09-28 | 上海果壳电子有限公司 | 电子书阅读器的固件系统 |
CN103106083A (zh) * | 2011-11-09 | 2013-05-15 | 北京市三希电子科技开发公司 | 一种固件的加载方法及装置 |
CN105487909A (zh) * | 2016-01-14 | 2016-04-13 | 江苏林洋能源股份有限公司 | 一种减少电力设备固件升级量的方法 |
CN107239302A (zh) * | 2017-05-10 | 2017-10-10 | 努比亚技术有限公司 | 一种固件升级方法、终端和服务器 |
CN107015817A (zh) * | 2017-05-25 | 2017-08-04 | 孙文现 | 一种设备固件空中升级的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108681459A (zh) | 2018-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108681459B (zh) | 一种智能硬件设备的固件更新方法、装置及系统 | |
EP3605323B1 (en) | Method for generating network slice template and for applying network slice template, and apparatus | |
CN111182089B (zh) | 容器集群系统和访问大数据组件的方法、装置及服务器 | |
CN107809383B (zh) | 一种基于mvc的路径映射方法及装置 | |
US9465599B2 (en) | Method, device and system for installing terminal software | |
US11272336B2 (en) | System, method, and computer program for transferring subscriber identity module (SIM) information for SIM card or eSIM activation | |
CN114465998A (zh) | 多设备的文件传输方法、装置、终端设备及可读存储介质 | |
CN107844597B (zh) | 游戏应用管理方法、电子设备、计算机可读介质 | |
CN111259241A (zh) | 一种信息处理方法及装置、存储介质 | |
CN113259942B (zh) | 连接方法、装置、电子设备、系统及计算机可读存储介质 | |
CN108647139B (zh) | 系统的测试方法、装置、存储介质及电子装置 | |
CN111294888B (zh) | 一种网络选择方法及装置 | |
CN107172610B (zh) | Gsm网络自适配方法、装置及电子设备 | |
CN109697072A (zh) | 信息处理方法、装置及设备 | |
CN115208671A (zh) | 防火墙配置方法、装置、电子设备和存储介质 | |
CN110943975B (zh) | 服务注册的方法、装置、计算机设备和存储介质 | |
CN107209670B (zh) | 一种应用属性参数的配置方法、装置及终端 | |
CN111638896A (zh) | 升级方法、升级装置、存储介质、处理器和移动终端 | |
CN111427603A (zh) | 应用程序的升级方法及装置 | |
CN115004667A (zh) | 信息推送方法、装置、电子设备及计算机可读介质 | |
CN112486583A (zh) | 配置参数的系统、方法、装置以及存储介质 | |
CN115918116A (zh) | 信息处理方法、装置及存储介质 | |
CN111722867A (zh) | 一种软件配置方法、存储介质及智能电视 | |
CN118474215B (zh) | 基于协议匹配的装备接入方法、装置以及云可编程平台 | |
CN112486556B (zh) | 一种服务器兼容bmc的方法、系统、终端及存储介质 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 Room 301, building 1, fengyesheng factory building, Chuangye 2nd Road, Dalang community, Xin'an street, Bao'an District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Youdian IOT Technology Co.,Ltd. Address before: 518000 Room 201, building a, No.1 Qianwan 1st Road, Qianhai Shenzhen Hong Kong cooperation zone, Nanshan District, Shenzhen City, Guangdong Province Applicant before: SHENZHEN QIANHAI YESPOWERING IOT TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |