一种升级包的获取方法及智能设备与流程

文档序号:28211107发布日期:2021-12-28 20:44阅读:77来源:国知局
一种升级包的获取方法及智能设备与流程

1.本发明涉及物联网技术领域,具体涉及一种升级包的获取方法及智能设备。


背景技术:

2.随着物联网的发展,为保障智能设备(如智能家电等)的稳定运行,需对智能设备进行升级。
3.目前通常以移动终端的空中下载软件升级(firmware over

the

air,fota)方式对智能设备进行整机升级,具体升级方式为:智能设备向服务端发送整机版本信息,当获取用户的升级指令后,服务端向智能设备发送整机升级包以对智能设备进行升级。但是,由于构成智能设备的零部件都是提前生产且预先烧写程序,无法修改或更新各个零部件中的程序,也就导致各个零部件中的程序无法获悉智能设备的整机版本信息,进而导致现有升级方式不能支持智能设备的整机fota。


技术实现要素:

4.有鉴于此,本发明实施例提供一种升级包的获取方法及智能设备,以解决现有升级方式不能支持智能设备的整机fota的问题。
5.为实现上述目的,本发明实施例提供如下技术方案:
6.本发明实施例第一方面公开一种升级包的获取方法,所述方法包括:
7.将构成智能设备的各个部件的当前部件版本信息上传至服务端,使所述服务端依据所述各个部件的当前部件版本信息,生成所述智能设备对应的当前整机版本信息;
8.若接收到设备升级指令,则依据所述当前整机版本信息从所述服务端下载所述智能设备对应的目标整机升级包,所述目标整机升级包由所述服务端根据当前整机版本信息确定,所述目标整机升级包包含至少一个所述部件对应的子固件升级包。
9.优选的,从所述服务端下载所述智能设备对应的目标整机升级包之后,还包括:
10.解析所述目标整机升级包得到至少一个所述子固件升级包,并利用所述子固件升级包,对与所述子固件升级包对应的所述部件的子固件进行升级。
11.优选的,解析所述目标整机升级包得到至少一个所述子固件升级包,并利用所述子固件升级包,对与所述子固件升级包对应的所述部件的子固件进行升级,包括:
12.利用所述智能设备中的物联部件解析所述目标整机升级包,得到至少一个所述子固件升级包;
13.通过所述物联部件将所述子固件升级包分发至对应的所述部件,使所述部件对自身的子固件进行升级。
14.优选的,通过所述物联部件将所述子固件升级包分发至对应的所述部件之后,还包括:
15.将每个所述部件的部件升级进度发送给所述服务端,使所述服务端根据每个所述部件升级进度确定所述智能设备的整机升级进度。
16.优选的,通过所述物联部件将所述子固件升级包分发至对应的所述部件之后,还包括:
17.将升级后的所述部件的新部件版本信息发送至所述服务端。
18.优选的,所述将升级后的所述部件的新部件版本信息发送至所述服务端,包括:
19.利用所述物联部件将升级后的所述部件的新部件版本信息发送至所述服务端。
20.优选的,所述若接收到设备升级指令,则依据所述当前整机版本信息从所述服务端下载所述智能设备对应的目标整机升级包,包括:
21.若接收到设备升级指令,解析所述设备升级指令,得到所述智能设备对应的目标整机升级包的url;
22.根据所述目标整机升级包的url和所述当前整机版本信息,从所述服务端中下载所述目标整机升级包。
23.本发明实施例第二方面公开一种智能设备,所述智能设备包括:
24.上传单元,用于将构成智能设备的各个部件的当前部件版本信息上传至服务端,使所述服务端依据所述各个部件的当前部件版本信息,生成所述智能设备对应的当前整机版本信息;
25.下载单元,用于若接收到设备升级指令,则依据所述当前整机版本信息从所述服务端下载所述智能设备对应的目标整机升级包,所述目标整机升级包由所述服务端根据所述当前整机版本信息确定,所述目标整机升级包包含至少一个所述部件对应的子固件升级包。
26.本发明实施例第三方面公开一种电子设备,所述电子设备用于运行程序,其中,所述程序运行时执行如本发明实施例第一方面公开的升级包的获取方法。
27.本发明实施例第四方面公开一种计算机存储介质,所述存储介质包括存储程序,其中,在所述程序运行时控制所述存储介质所在设备执行如本发明实施例第一方面公开的升级包的获取方法。
28.基于上述本发明实施例提供的一种升级包的获取方法及智能设备,该方法为:将构成智能设备的各个部件的当前部件版本信息上传至服务端,使服务端依据各个部件的当前部件版本信息,生成智能设备对应的当前整机固件类型;若接收到设备升级指令,则依据当前整机版本信息从服务端下载智能设备对应的目标整机升级包,目标整机升级包由服务端根据当前整机版本信息确定。本方案中,将构成智能设备的各个部件的当前版本信息上传至服务端,使服务端根据所有当前版本信息生成智能设备的当前整机版本信息并确定对应的目标整机升级包。智能设备接收到设备升级指令后,从服务端中下载目标整机升级包,目标整机升级包中包含至少一个部件对应的子固件升级包。智能设备不需要保存或上报整机版本信息,仅需上报各个部件的当前版本信息即可获取得到相应的整机升级包,提高智能设备的整机fota的适用范围。
附图说明
29.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
提供的附图获得其他的附图。
30.图1为本发明实施例提供的一种升级包的获取方法的流程图;
31.图2为本发明实施例提供的智能设备、服务端及用户终端的交互示意图;
32.图3为本发明实施例提供的一种智能设备的结构框图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
35.由背景技术可知,在以移动终端的空中下载软件升级(firmware over

the

air,fota)方式对智能设备进行整机升级时,智能设备向服务端发送整机版本信息,并由服务端向智能设备发送整机升级包以对智能设备进行升级。但是由于构成智能设备的零部件都是提前生产且预先烧写程序,无法修改或更新各个零部件中的程序,导致各个零部件中的程序无法获悉智能设备的整机版本信息,进而导致现有升级方式不能支持智能设备的整机fota。
36.因此,本发明实施例提供一种升级包的获取方法及智能设备,将构成智能设备的各个部件的当前版本信息上传至服务端,使服务端根据所有当前版本信息生成智能设备的当前整机版本信息并确定对应的目标整机升级包。智能设备接收到设备升级指令后,从服务端中下载目标整机升级包,目标整机升级包中包含至少一个部件对应的子固件升级包。智能设备不需要保存或上报整机版本信息,仅需上报各个部件的当前版本信息即可获取得到相应的整机升级包,以提高智能设备的整机fota的适用范围。
37.参见图1,示出了本发明实施例提供的一种升级包的获取方法的流程图,该升级包的获取方法适用于智能设备(如智能家电),该升级包的获取方法包括:
38.步骤s101:将构成智能设备的各个部件的当前部件版本信息上传至服务端,使服务端依据各个部件的当前部件版本信息,生成智能设备对应的当前整机版本信息。
39.需要说明的是,部件的当前部件版本信息至少包含:部件的子固件对应的子固件类型、子固件软件类型(以子固件软件标识来表示)和子固件软件版本号。智能设备对应的当前整机版本信息至少包含:当前整机固件类型和当前整机固件版本号。
40.可以理解的是,服务端中预先构建第一预设关系和第二预设关系,该第一预设关系包含多组第一对应关系,该第二预设关系包含多组第二对应关系。每组第一对应关系指示一个整机固件版本号(智能设备的整机固件版本号)与多条部件版本信息(子固件类型+子固件软件类型+子固件软件版本号)之间的关联。每组第二对应关系指示一个整机固件类型与多条部件版本信息中的子固件类型和子固件软件类型之间的关联。
41.也就是说,在服务端中,针对每个整机固件版本号,预先选择智能设备的多个部件,根据所选择的部件的部件版本信息(子固件类型+子固件软件类型+子固件软件版本号),构建多条部件版本信息与该整机固件版本号之间的第一对应关系。针对每个整机固件类型,预先选择智能设备的多个部件,根据所选择的部件的部件版本信息中的子固件类型和子固件软件类型,构建多条部件版本信息的子固件类型和子固件软件类型与该整机固件类型之间的第二对应关系。
42.在具体实现步骤s101的过程中,智能设备将构成智能设备的各个部件(如wifi模块、电脑版和自定义硬件等构成智能设备的零部件)的当前部件版本信息上传至服务端,在一些具体实施例中,可通过智能设备中具有通信功能的物联部件(如wifi模块),将各个部件的当前部件版本信息上传至服务端。使服务端根据所接收的各个部件的当前部件版本信息(子固件类型+子固件软件类型+子固件软件版本号)和第一预设关系,确定与所有当前部件版本信息具有对应关系的整机固件类型,所确定的该整机固件类型即为智能设备的当前整机固件类型。以及使服务端根据所接收的各个部件的当前部件版本信息的子固件类型和子固件软件类型,结合第二预设关系,确定与所有当前部件版本信息的子固件类型和子固件软件类型具有对应关系的整机固件版本号,所确定的整机固件版本号即为该智能设备的当前整机固件版本号。
43.需要说明的是,在服务端中预先构建多个升级任务,每个升级任务对应一个整机固件版本号和一个整机升级包,该整机升级包由预先选择的各个部件的子固件的子固件升级包构成,每个升级任务设置对应的限定条件和适用条件,子固件为部件中可升级的软件程序。
44.对于每个升级任务,该升级任务的限定条件用于限定整机固件类型,该升级任务的适用条件用于限定子固件软件版本号,只有整机固件类型满足该升级任务的限定条件且子固件软件版本号满足该升级任务的适用条件的智能设备,才能命中该升级任务。
45.当服务端确定智能设备的当前整机版本信息(其中包含了当前整机固件类型)后,服务端根据该当前整机固件类型和所有当前部件版本信息的子固件软件版本号,从多个升级任务中确定目标升级任务,获取该目标升级任务的整机升级包并将其作为目标整机升级包,与此同时,服务端还获取该目标升级任务的整机固件版本号并将其作为智能设备升级后的整机固件版本号。服务端在接收到用户终端发送(可通过app发送)的用于查询智能设备的整机固件版本号的查询指令时,服务端将该智能设备的当前整机固件版本号和升级后的整机固件版本号发送给用户终端进行展示,当用户确定需要对智能设备进行升级,用户终端(可通过app发送)将设备升级指令发送至服务端,由服务端将该设备升级指令发送至智能设备;同理,服务端也可在确定得到目标整机升级包之后将设备升级指令发送至智能设备,也就是不需要用户终端发送设备升级指令,在此对于设备升级指令的发送方式不做具体限定。
46.步骤s102:若接收到设备升级指令,则依据当前整机版本信息从服务端下载智能设备对应的目标整机升级包。
47.需要说明的是,目标整机升级包由服务端预先根据智能设备的当前整机版本信息从多个整机升级包中确定,每个整机升级包由服务端根据预先选择的子固件的子固件升级包构成,也就是说,目标整机升级包包含智能设备的至少一个部件对应的子固件升级包,具
体内容参见上述步骤s101中的内容,在此不再赘述。
48.在具体实现步骤s102的过程中,智能设备若接收到设备升级指令(如接收到服务端发送的设备升级指令),解析该设备升级指令,得到智能设备对应的目标整机升级包的url,并根据目标整机升级包的url和当前整机版本信息,从服务端中下载与该当前整机版本信息匹配的目标整机升级包。
49.在一些具体实施例中,若智能设备的wifi模块(或者其它具有通信功能的物联部件)接收到用户终端通过服务端发送的设备升级指令,该wifi模块解析设备升级指令得到目标整机升级包的url,该wifi模块根据目标整机升级包的url从服务端中下载与当前整机版本信息匹配的目标整机升级包。
50.优选的,智能设备在下载得到目标整机升级包之后,解析目标整机升级包得到至少一个子固件升级包,并利用子固件升级包,对与子固件升级包对应的部件的子固件进行升级。
51.由上述内容可知,每个整机升级包中包含了多个子固件升级包,在具体实现中,智能设备解析目标整机升级包,得到至少一个子固件升级包,并利用子固件升级包,对与子固件升级包对应的部件的子固件进行升级。
52.在一些具体实施例中,利用智能设备中的物联部件(如wifi模块)解析目标整机升级包,得到至少一个子固件升级包,通过物联部件将子固件升级包分发至对应的部件,使部件对自身的子固件进行升级。需要说明的是,若存在物联部件对应的子固件升级包,该物联部件也同样获取自身对应的子固件升级包;各个部件(也包含了物联部件)根据所接收的子固件升级包对自身的子固件进行升级。
53.在对部件的子固件进行升级的过程中,智能设备将子固件升级包发送给与该子固件升级包对应的部件,使该部件对自身的子固件进行升级。也就是说,智能设备将所得到的各个子固件升级包分别发送给对应的部件,使各个部件根据所接收的子固件升级包对自身的子固件进行升级。
54.优选的,在对每个部件的子固件进行升级的过程中,智能设备将进行子固件升级的部件的部件升级进度发送给服务端,使服务端根据每个部件升级进度确定智能设备的整机升级进度并将其发送给用户终端,用户可通过用户终端了解该智能设备的整机升级进度。
55.优选的,部件的子固件完成升级后,智能设备将升级后的每个部件的新部件版本信息发送至服务端,并上报用于指示升级成功的信息。在一些具体实施例中,智能设备利用物联部件将升级后的部件的新部件版本信息发送至服务端。智能设备所上报的新部件版本信息用于进行下一次的设备升级流程,在下一次的设备升级流程中,该新部件版本信息即作为当前部件版本信息。
56.在本发明实施例中,智能设备将构成智能设备的各个部件的当前版本信息上传至服务端,使服务端根据所有当前版本信息生成智能设备的当前整机版本信息并确定对应的目标整机升级包。智能设备接收到设备升级指令后,从服务端中下载目标整机升级包,目标整机升级包中包含至少一个部件对应的子固件升级包。智能设备不需要保存或上报整机版本信息,仅需上报各个部件的当前版本信息即可获取得到相应的整机升级包,提高智能设备的整机fota的适用范围。
57.为更好解释说明上述本发明实施例图1中所涉及的内容,通过图2示出的智能设备、服务端及用户终端的交互示意图进行举例说明。
58.需要说明的是,图2中的智能设备由wifi模块、电脑版a、电脑版b和自定义硬件等部件构成。
59.图2所示出的交互示意图包含以下步骤。
60.步骤s201:wifi模块将构成智能设备的各个部件的当前部件版本信息上传至服务端。
61.步骤s202:用户终端向服务端发送查询指令,服务端将智能设备的当前整机固件版本号和升级后的整机固件版本号发送给用户终端。
62.步骤s203:用户终端向服务端发送设备升级指令。
63.步骤s204:服务端将设备升级指令发送给wifi模块。
64.步骤s205:wifi模块根据设备升级指令,从服务端中下载目标整机升级包。
65.步骤s206:wifi模块将目标整机升级包中的各个子固件升级包分别发送至对应的电脑版a、电脑版b和自定义硬件,wifi模块、电脑版a、电脑版b和自定义硬件根据子固件升级包对自身的子固件进行升级。
66.步骤s207:wifi模块将各个部件的部件升级进度发送至服务端。
67.步骤s208:服务端将智能设备的整机升级进度发送至用户终端。
68.与上述本发明实施例提供的一种升级包的获取方法相对应,参见图3,本发明实施例还提供了一种智能设备的结构框图,该智能设备包括:上传单元301和下载单元302;
69.上传单元301,用于将构成智能设备的各个部件的当前部件版本信息上传至服务端,使服务端依据各个部件的当前部件版本信息,生成智能设备对应的当前整机版本信息。
70.下载单元302,用于若接收到设备升级指令,则依据当前整机版本信息从服务端下载智能设备对应的目标整机升级包,目标整机升级包由服务端根据当前整机版本信息确定,目标整机升级包包含至少一个部件对应的子固件升级包。
71.在具体实现中,下载单元302具体用于:若接收到服务端发送的设备升级指令,解析设备升级指令,得到智能设备对应的目标整机升级包的url;根据目标整机升级包的url和当前整机版本信息,从服务端中下载目标整机升级包。
72.在本发明实施例中,将构成智能设备的各个部件的当前版本信息上传至服务端,使服务端根据所有当前版本信息生成智能设备的当前整机版本信息并确定对应的目标整机升级包。智能设备接收到设备升级指令后,从服务端中下载目标整机升级包,目标整机升级包中包含至少一个部件对应的子固件升级包。智能设备不需要保存或上报整机版本信息,仅需上报各个部件的当前版本信息即可获取得到相应的整机升级包,提高智能设备的整机fota的适用范围。
73.优选的,结合图3示出的内容,该智能设备还包括:
74.处理单元,用于解析目标整机升级包得到至少一个子固件升级包,并利用子固件升级包,对与子固件升级包对应的部件的子固件进行升级。
75.在具体实现中,处理单元具体用于:利用智能设备中的物联部件解析目标整机升级包,得到至少一个子固件升级包;通过物联部件将子固件升级包分发至对应的部件,使部件对自身的子固件进行升级。
76.优选的,该处理单元还用于:将每个部件的部件升级进度发送给服务端,使服务端根据每个部件升级进度确定智能设备的整机升级进度。
77.优选的,该处理单元还用于:将升级后的部件的新部件版本信息发送至服务端。具体实现中,该处理单元利用物联部件将升级后的部件的新部件版本信息发送至服务端。
78.优选的,本发明实施例还提供了一种电子设备,该电子设备用于运行程序,其中,该程序运行时执行如上述本发明实施例中所涉及的升级包的获取方法。
79.优选的,本发明实施例还提供了一种计算机存储介质,该存储介质包括存储程序,其中,在程序运行时控制存储介质所在设备执行如上述本发明实施例中所涉及的升级包的获取方法。
80.综上所述,本发明实施例提供一种升级包的获取方法及智能设备,智能设备将构成智能设备的各个部件的当前版本信息上传至服务端,使服务端根据所有当前版本信息生成智能设备的当前整机版本信息并确定对应的目标整机升级包。智能设备接收到设备升级指令后,从服务端中下载目标整机升级包,目标整机升级包中包含至少一个部件对应的子固件升级包。智能设备不需要保存或上报整机版本信息,仅需上报各个部件的当前版本信息即可获取得到相应的整机升级包,提高智能设备的整机fota的适用范围。
81.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
82.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
83.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1