物联网设备的固件更新方法、装置及物联网与流程

文档序号:28719638发布日期:2022-01-29 14:57阅读:173来源:国知局
物联网设备的固件更新方法、装置及物联网与流程

1.本公开涉及物联网领域,特别涉及一种物联网设备的固件更新方法、装置及物联网。


背景技术:

2.服务器可以通过空中下载技术(over the air,ota)对物联网设备中的固件进行更新。
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.基于所述第六数量个目标物联网设备的标识,并行向所述第六数量个目标物联网设备发送所述固件更新指令。
36.另一方面,提供了一种物联网设备的固件更新装置,应用于服务器,所述装置包括:
37.接收模块,用于接收管理设备发送的更新任务,所述更新任务至少包括待更新固件的多个物联网设备的标识;
38.确定模块,用于从所述多个物联网设备中确定目标数量个目标物联网设备;
39.发送模块,用于若更新所述目标数量个目标物联网设备中的固件需占用的所述服务器的资源量小于或等于所述服务器的空闲资源量,则基于所述目标数量个目标物联网设备的标识,并行向所述目标数量个目标物联网设备发送固件更新指令;
40.其中,所述固件更新指令用于指示所述目标物联网设备从所述服务器中获取待更新固件的文件,并基于所述文件更新固件。
41.又一方面,提供了一种物联网,所述物联网包括:管理设备、服务器和物联网设备;
42.所述管理设备用于向所述服务器发送更新任务;
43.所述服务器包括如上述方面所述的物联网设备的固件更新装置;
44.所述物联网设备用于响应于所述服务器发送的固件更新指令,从所述服务器中获取待更新固件的文件,并基于所述文件更新固件。
45.又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上述方面所述的物联网设备的固件更新方法。
46.又一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有程序代码、所述程序代码由所述处理器加载并执行以实现如上述方面所述的物联网设备的固件更新方法。
47.再一方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在所述计算机上运行时,使得所述计算机执行上述方面所述的物联网设备的固件更新方法。
48.本公开实施例提供的技术方案带来的有益效果至少包括:
49.本公开实施例提供了一种物联网设备的固件更新方法、装置及物联网,服务器能够在确定更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于服务器的空闲资源量时,并行向目标数量个目标物联网设备发送固件更新指令。由此,能够实现对目标数量个目标物联网设备中的固件的同步更新,从而有效提高了对物联网设备的固件更新的效率。
附图说明
50.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
51.图1是本公开实施例提供的一种物联网的示意图;
52.图2是本公开实施例提供的一种物联网设备的固件更新方法的流程图;
53.图3是本公开实施例提供的另一种物联网设备的固件更新方法的流程图;
54.图4是本公开实施例提供的一种物联网设备的固件更新装置的框图;
55.图5是本公开实施例提供的一种确定模块的框图;
56.图6是本公开实施例提供的另一种物联网设备的固件更新装置的框图。
具体实施方式
57.为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
58.图1是本公开实施例提供的一种物联网的示意图。如图1所示,该实施环境可以包括:管理设备10、服务器20和多个物联网设备30,图1以该物联网包括三个物联网设备30为例进行说明。
59.其中,管理设备10与服务器20之间,以及每个物联网设备30与服务器20之间均可以通过有线网络或无线网络建立连接。
60.管理设备10可以是用于供管理人员操作的终端。例如其为计算机。该管理设备10可以获取管理人员设置的更新任务,并将该更新任务发送至服务器20。其中,该更新任务可以包括待更新固件的多个物联网设备的标识。
61.该服务器20是能够对物联网设备中的固件进行更新的设备。其可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。服务器20可以并行向目标数量个目标物联网设备发送固件更新指令,由此实现同时对目标数量个目标物联网设备中的固件进行更新。
62.每个物联网设备30可以是能够进行数据采集的设备,例如其可以为摄像头、打印机或者设置在风机发电组上的传感器。该物联网设备30用于响应于固件更新指令,从服务器20中获取待更新的固件的文件,并基于文件更新固件。
63.图2是本公开实施例提供的一种物联网设备的固件更新方法的流程图,该方法可以应用于图1所示的服务器20。如图2所示,该方法包括:
64.步骤201、接收管理设备发送的更新任务。
65.在本公开实施例中,管理设备可以显示有任务设置界面,管理设备在接收到管理人员在该任务设置界面输入的更新任务之后,可以将该更新任务发送至服务器。其中,该更新任务至少可以包括待更新固件的多个物联网设备的标识。示例的,该物联网设备的标识可以为该物联网设备的名称,或者物联网设备的网络地址,例如互联网协议(internet protocol,ip)地址或媒体存取控制(media access control,mac)地址。
66.步骤202、从多个物联网设备中确定目标数量个目标物联网设备。
67.服务器在接收到管理设备发送的更新任务之后,可以从多个物联网设备中确定目标数量个目标物联网设备。可选的,服务器可以随机从该多个物联网设备中选择目标数量个物联网设备。该目标数量可以为服务器中预先存储的固定数值,也可以是管理设备发送至服务器的数值。
68.步骤203、若更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于服务器的空闲资源量,则基于目标数量个目标物联网设备的标识,并行向目标数量个目标物联网设备发送固件更新指令。
69.服务器在从多个物联网设备中确定目标数量个目标物联网设备之后,可以确定更新目标数量个目标物联网设备中的固件需占用的服务器的资源量,以及其空闲资源量。若更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于服务器的空闲资源量,则服务器可以基于该目标数量个目标物联网设备的标识,并行向目标数量个目标物联网设备发送固件更新指令,由此实现同时更新对目标数量个目标物联网设备中的固件。
70.其中,该固件更新指令用于指示目标物联网设备从服务器中获取待更新的固件的文件,并基于文件更新固件。该服务器的资源量可以包括内存的资源量和/或中央处理器(central processing unit,cpu)的资源量。
71.综上所述,本公开实施例提供了一种物联网设备的固件更新方法。服务器能够在确定更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于服务器的空闲资源量时,并行向目标数量个目标物联网设备发送固件更新指令。由此,能够实现对目标数量个目标物联网设备中的固件的同步更新,从而有效提高了对物联网设备的固件更新的效率。
72.图3是本公开实施例提供的另一种物联网设备的固件更新方法的流程图,该方法可以应用于图1所示的物联网。如图3所示,该方法可以包括:
73.步骤301、服务器接收管理设备发送的更新任务。
74.在本公开实施例中,管理设备可以显示有任务设置界面,管理设备在接收到技术人员在该任务设置界面输入的更新任务之后,可以将该更新任务发送至服务器。其中,该更新任务至少可以包括待更新固件的多个物联网设备的标识。示例的,该物联网设备的标识可以为该物联网设备的名称,或者物联网设备的网络地址,例如ip地址或mac地址。
75.步骤302、服务器获取目标数量。
76.在本公开实施例中,服务器在接收到管理设备发送的更新任务之后,可以获取目标数量。
77.可选的,上述更新任务中还可以包括目标数量,相应的,服务器可以从该更新任务中获取该目标数量。或者,服务器中可以预先存储目标数量。或者,服务器可以随机生成一个数值,并将该数值确定为目标数量。
78.步骤303、服务器按照设备优先级从高到低的顺序,从多个物联网设备中确定出目标数量个目标物联网设备。
79.上述更新任务还可以包括每个物联网设备的设备优先级。服务器在获取到目标数量之后,可以按照设备优先级从高到低的顺序,从多个物联网设备中确定目标数量个目标物联网设备。其中,该每个目标物联网设备的设备优先级高于或等于除目标物联网设备之外的物联网设备的设备优先级。
80.在本公开实施例中,服务器按照优先级从高到低的顺序,从多个物联网设备中确定出目标数量个目标物联网设备可以包括以下步骤:
81.s1、服务器按照设备优先级从高到低的顺序,从多个物联网设备中确定出第一数
量个目标物联网设备。
82.服务器在获取目标数量之后,可以按照设备优先级从高到底的顺序,从多个物联网设备中确定出第一数量个目标物联网设备。其中,该第一数量小于目标数量。
83.可以理解的是,该第一数量个目标物联网设备的设备优先级均可以不同,或者,该第一数量个目标物联网设备中可以存在优先级相同的目标物联网设备。
84.示例的,若目标数量为6,多个物联网设备包括的第一物联网设备的设备优先级为1、第二物联网设备的设备优先级为1、第三物联网设备的设备优先级为2、第四物联网设备的设备优先级为3、第五物联网设备的设备优先级为3、第六物联网设备的设备优先级为3、第七物联网设备的设备优先级为3和第八物联网设备的设备优先级为4,则服务器按照设备优先级从高到低的顺序,可以从多个物联网设备中确定出第一物联网设备、第二物联网设备和第三物联网设备共3个目标物联网设备。
85.在本公开实施例中,若设备优先级最高的前目标数量个物联网设备的设备优先级均不相同,则服务器可以按照设备优先级从高到底的顺序,直接从多个物联网设备中确定出目标数量个目标物联网设备。
86.s2、若除第一数量个目标物联网设备之外的物联网设备中,设备优先级最高且设备优先级相同的备选物联网设备的数量大于第二数量,则服务器按照固件优先级由高到低的顺序,和/或,历史更新时长由短到长的顺序,从备选物联网设备中确定出第二数量个目标物联网设备。
87.在本公开实施例中,上述更新任务还可以包括每个物联网设备中待更新固件的固件优先级和物联网设备的历史更新时长。其中,该每个物联网设备中的待更新固件可以包括操作系统的系统固件或者除操作系统之外的功能模块的模块固件,且该系统固件的优先级高于模块固件的优先级。该历史更新时长可以为服务器最近一次更新物联网设备中的固件所用的时长。
88.服务器在确定第一数量个目标物联网设备之后,若确定除第一数量个目标物联网设备之外的物联网设备中,设备优先级最高且设备优先级相同的备选物联网设备的数量大于第二数量,则服务器可以按照固件优先级由高到低的顺序,和/或,历史更新时长由短到长的顺序,从该备选物联网设备中确定出第二数量个目标物联网设备。其中,该第二数量与第一数量之和等于目标数量。
89.示例的,服务器在确定出第一物联网设备、第二物联网设备和第三物联网设备共3个目标物联网设备之后,可以确定第一数量和第二数量均等于3。该多个物联网设备中除该3个目标物联网设备之外的物联网设备分别为:第四至第八物联网设备。该第四至第八物联网设备中设备优先级最高,且设备优先级相同的备选物联网设备包括:第四至第七物联网设备共4个物联网设备。由于该备选物联网设备的数量4大于第二数量3,因此服务器可以按照固件优先级由高到低的顺序,和/或,历史更新时长由短到长的顺序,从该备选物联网设备中确定出3个目标物联网设备。
90.在本公开实施例中,服务器在按照固件优先级由高到低的顺序,和/或,历史更新时长由短到长的顺序,从备选物联网设备中确定出第二数量个目标物联网设备的过程中,可以先确定备选物联网设备中待更新固件为系统固件的备选物联网设备的数量。若该待更新固件为系统固件的备选物联网设备的数量大于或等于第二数量,则服务器可以从待更新
固件为系统固件的备选物联网设备中确定第二数量个目标物联网设备。
91.可选的,若该待更新固件为系统固件的备选物联网设备的数量等于第二数量,则服务器可以将该待更新固件为系统固件的备选物联网设备确定为第二数量个目标物联网设备。
92.若该待更新固件为系统固件的备选物联网设备的数量大于第二数量,则服务器可以从该待更新固件为系统固件的备选物联网设备中随机选择第二数量个备选物联网设备作为第二数量个目标物联网设备。
93.或者,若待更新固件为系统固件的备选物联网设备的数量大于第二数量,则服务器可以按照历史更新时长由短到长的顺序,从该待更新固件为系统固件的备选物联网设备中确定出第二数量个目标物联网设备。也即是将待更新固件为系统固件的备选物联网设备中,历史更新时长最短的前第二数量个备选物联网设备确定为第二数量个目标物联网设备。
94.示例的,若第四至第七物联网设备的待更新固件均为系统固件,即待更新固件为系统固件的备选物联网设备的数量为4。第四物联网设备的历史更新时长为10分钟,第五物联网设备的历史更新时长为20分钟,第六物联网设备的历史更新时长为5分钟,第七物联网设备的历史更新时长为3分钟。由于待更新固件为系统固件的备选物联网设备的数量4大于第二数量3,则服务器可以按照历史更新时长由短到长的顺序:3分钟、5分钟、10分钟和20分钟,将第七物联网设备、第六物联网设备和第四物联网设备确定为3个目标物联网设备。
95.在本公开实施例中,若该备选物联网设备中待更新固件为系统固件的备选物联网设备的数量为第三数量,且第三数量小于第二数量,则服务器可以将第三数量个待更新固件为系统固件的备选物联网设备均确定为目标物联网设备,由此得到第三数量个目标物联网设备。并且,服务器可以按照历史更新时长由短到长的顺序,从待更新固件为模块固件的备选物联网设备中确定出第四数量个目标物联网设备,也即是,服务器可以将待更新固件为模块固件的备选物联网设备中,历史更新时长最短的前第四数量个备选物联网设备确定为第四数量个目标物联网设备。其中,该第三数量和第四数量之和等于第二数量。
96.示例的,若第四物联网设备的待更新固件为系统固件,第五至第七物联网设备的待更新固件均为模块固件,即待更新固件为系统固件的备选物联网设备的第三数量为1。第五物联网设备的历史更新时长为20分钟,第六物联网设备的历史更新时长为5分钟,第七物联网设备的历史更新时长为3分钟。由于第三数量1小于第二数量3,则服务器可以将1个第四物联网设备确定为1个目标物联网设备,并按照历史更新时长由短到长的顺序:3分钟、5分钟和20分钟,将第五至第七物联网设备中的第六物联网设备和第七物联网设备确定为2个目标物联网设备,由此得到3个目标物联网设备。
97.可以理解的是,对于每个物联网设备,若服务器是首次更新该物联网设备中的固件,则更新任务中不包括该物联网设备的历史更新时长。并且,若该备选物联网设备中待更新固件为系统固件的备选物联网设备的数量为第三数量,第三数量小于第二数量,且更新任务中不包括所有物联网设备的历史更新时长,则服务器可以从剩余的待更新固件为模块固件的备选物联网设备中,随机确定第四数量个备选物联网设备为目标物联网设备。
98.步骤304、若更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于服务器的空闲资源量,则服务器基于目标数量个目标物联网设备的标识,并行
向目标数量个目标物联网设备发送固件更新指令。
99.在本公开实施例中,服务器在确定目标数量个目标物联网设备之后,可以确定更新目标数量个目标物联网设备中的固件需占用的服务器的资源量和其空闲资源量。若更新该目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于服务器的空闲资源量,则服务器可以基于目标数量个目标物联网设备的标识,并行向目标数量个目标物联网设备发送固件更新指令。
100.其中,该固件更新指令用于指示目标物联网设备从服务器中获取待更新的固件的文件,并基于文件更新固件。更新该目标数量个目标物联网设备中的固件需占用的服务器的资源量,与目标数量的多少,以及目标数量个目标物联网设备中的固件的总大小正相关。服务器的资源量可以包括服务器的内存的资源量和/或服务器的cpu的资源量。
101.在本公开实施例中,若更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于空闲资源量,则服务器还可以增大目标数量。
102.可选的,服务器可以对该目标数量进行倍增,或者可以将该目标数量增大第一目标值。其中,该第一目标值可以为服务器中预先存储的固定数值。
103.可以理解的是,服务器若更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于空闲资源量,则可以先基于目标数量个目标物联网设备的标识,并行向目标数量个目标物联网设备发送固件更新指令,之后再增大目标数量。或者服务器也可以先增大目标数量,之后再次执行步骤303和步骤304,本公开实施例对此不做限定。
104.若更新目标数量个目标物联网设备中的固件需占用的服务器的资源量大于空闲资源量,则服务器可以对其进行扩容处理。其中,扩容处理后的服务器的空闲资源量大于或等于更新目标数量个目标物联网设备中的固件需占用的服务器的资源量。
105.在本公开实施例中,物联网还可以包括多个备选服务器,服务器若确定更新目标数量个目标物联网设备中的固件需占用的服务器的资源量大于空闲资源量,则可以向至少一个备选服务器发送资源合并指令,该备选服务器可以响应于该资源合并指令,将其空闲资源用于向目标物联网设备发送固件更新指令,并向目标物联网设备发送待更新固件的文件,由此实现将至少一个备选服务器的空闲资源与服务器的空闲资源合并,进而实现对服务器的扩容处理。服务器在将至少一个备选服务器的空闲资源与其空闲资源合并之后,后续至少一个备选服务器可以向目标物联网设备发送固件更新指令,该目标物联网设备可以响应于该固件更新指令,从一个备选服务器中获取待更新固件的文件。
106.或者,若更新目标数量个目标物联网设备中的固件需占用的服务器的资源量大于空闲资源量,则服务器可以降低目标数量,并从多个物联网设备中重新确定降低后的目标数量个目标物联网设备。
107.可选的,服务器可以对该目标数量进行倍减,或者可以将该目标数量减小第一目标值。其中,该第一目标值可以为服务器中预先存储的固定数值。
108.在本公开实施例中,更新任务中还可以包括指定时长,服务器可以在接收到更新任务之后的指定时长内,确定更新目标数量个目标物联网设备中的固件需占用的服务器的资源量是否大于空闲资源量。
109.步骤305、目标物联网设备响应于固件更新指令,从服务器中获取待更新固件的文件。
110.对于每个目标物联网设备,该目标物联网设备在接收到服务器发送的固件更新指令之后,可以从服务器中获取待更新固件的文件。
111.可选的,该固件更新指令中可以携带有待更新固件的下载地址,该下载地址可以为统一资源标志符(uniform resource identifier,uri)。目标物联网设备可以基于该下载地址从服务器中下载待更新固件的文件,该文件可以为待更新固件的最新版本的安装包或者压缩包。
112.可以理解的是,该待更新固件的下载地址可以为服务器的地址,也可以为任一备选服务器的地址,也即是,若该下载地址为服务器的地址,则目标物联网设备可以从服务器中获取待更新固件的文件。若该下载地址为任一备选服务器的地址,则目标物联网设备可以从该任一备选服务器中获取待更新固件的文件。
113.步骤306、目标物联网设备基于文件更新固件。
114.目标物联网设备在从服务器中下载到待更新固件的文件之后,可以基于该文件更新固件。
115.在本公开实施例中,若对目标数量个目标物联网设备中第五数量个目标物联网设备中的固件更新完成,或者对目标数量个目标物联网设备中第五数量个目标物联网设备中的固件更新失败,则服务器可以从剩余的物联网设备中确定第六数量个目标物联网设备,并可以基于该第六数量个目标物联网设备的标识,并行向第六数量个目标物联网设备发送固件更新指令。
116.其中,该剩余的物联网设备可以为多个物联网设备中除已更新完成的目标物联网设备或者更新失败的目标物联网设备之外的其他物联网设备。该第五数量和第六数量均可以为正整数。
117.对于每个目标物联网设备,该目标物联网设备对固件更新完成之后,可以向服务器反馈更新完成信息和更新后的固件的版本号,服务器在接收到目标物联网设备发送的更新完成信息和更新后的固件的版本号之后,可以将目标物联网设备发送的更新后的固件的版本号与目标版本号进行比较,若目标物联网设备发送的更新后的固件的版本号与目标版本号一致,则服务器可以确定对该目标物联网设备中的固件更新完成。其中,该目标版本号可以为服务器中预先存储的该目标物联网设备的固件的最新版本对应的版本号。
118.若目标物联网设备发送的更新后的固件的版本号与目标版本号不一致,则服务器可以确定对该目标物联网设备中的固件更新失败。
119.在本公开实施例中,更新任务中还可以包括更新时长阈值,该更新时长阈值用于指示目标物联网设备更新固件所用的最大时长。对于每个目标物联网设备,服务器在向目标物联网设备发送固件更新指令之后,若在更新时长阈值内未接收到该目标物联网设备发送的更新完成信息,则服务器可以确定该对该目标物联网设备中的固件更新失败。
120.对于每个目标物联网设备,服务器若在更新时长阈值内接收到该目标物联网设备发送的更新失败信息,则服务器可以确定该对该目标物联网设备中的固件更新失败。
121.其中,该固件更新指令中还可以携带目标版本号,该更新失败信息可以是目标物联网设备确定目标版本号与待更新固件的版本号一致时向服务器发送的。或者,该更新失败信息也可以是目标物联网设备未成功更新固件时向服务器发送的。
122.在本公开实施例中,服务器可以采用上述步骤303中从多个物联网设备中确定目
标数量个目标物联网设备的方式,从剩余的物联网设备中确定第六数量个目标物联网设备可以包括以下步骤:
123.p1、服务器按照设备优先级从高到低的顺序,从多个物联网设备中确定出第七数量个目标物联网设备。
124.其中,该第七数量小于第六数量。该步骤p1的实现过程可以参考上述步骤s1。
125.p2、若剩余的物联网设备中除第七数量个目标物联网设备之外的物联网设备中,设备优先级最高且设备优先级相同的备选物联网设备的数量大于第八数量,则服务器按照固件优先级由高到低的顺序,和/或,历史更新时长由短到长的顺序,从备选物联网设备中确定出第八数量个目标物联网设备。
126.其中,第七数量和第八数量等于第六数量。该步骤p2的实现过程可以参考上述步骤s2。
127.若该第六数量个目标物联网设备中的固件与正在更新的目标物联网设备中的固件需占用的服务器的资源量小于或等于服务器的空闲资源量,则服务器可以基于该第六数量个目标物联网设备的标识,并行向第六数量个目标物联网设备发送固件更新指令。该步骤的具体过程可以参考上述步骤304。
128.在本公开实施例中,上述更新任务还可以包括每个物联网设备的更新方式,该更新方式可以为被动更新,在该种更新方式下,服务器向物联网设备发送固件更新指令,以使得物联网设备响应于该固件更新指令对其固件进行更新失败信息。
129.服务器在确定对目标物联网设备中的固件更新失败之后,可以向管理设备发送提示信息,该提示信息用于提示对目标物联网设备中的固件更新失败。管理设备在接收到该提示信息之后,可以向该目标物联网设备发送主动更新指令,该主动更新指令用于指示目标物联网设备主动向服务器发送更新请求。目标物联网设备可以响应于该主动更新指令,主动向服务器发送更新请求,服务器在接收到该目标物联网设备发送的更新请求之后,可以将该物联网设备的更新方式修改为主动更新,其中,主动更新的更新优先级高于被动更新的更新优先级。服务器若确定剩余的物联网设备中除第七数量个目标物联网设备之外的物联网设备中,设备优先级最高且设备优先级相同的备选物联网设备的数量大于第八数量,则可以按照更新优先级从高到低的顺序,和/或,固件优先级由高到低的顺序,和/或,历史更新时长由短到长的顺序,从备选物联网设备中确定出第八数量个目标物联网设备。
130.在本公开实施例中,服务器在对目标物联网设备的固件进行更新的过程中,还可以周期性确定其空闲资源量,以及更新剩余的物联网设备中的固件需占用的服务器的资源量。若空闲资源量与更新剩余的物联网设备中的固件需占用的服务器的资源量的差值大于或等于差值阈值,则服务器可以对其进行缩容处理,由此避免服务器资源的浪费,确保服务器资源的有效利用。
131.其中,该缩容处理后的服务器的空闲资源量与更新剩余的物联网设备中的固件需占用的服务器的资源量的差值小于差值阈值,且该缩容处理后的服务器的空闲资源量大于更新剩余的物联网设备中的固件需占用的服务器的资源量。
132.在本公开实施例中,服务器若确定空闲资源量与更新剩余的物联网设备中的固件需占用的服务器的资源量的差值大于或等于差值阈值,则可以向至少一个备选服务器中的目标备选服务器发送取消资源合并指令。该目标备选服务器可以响应于该取消资源合并指
令,停止将其部分或全部空闲资源用于向目标物联网设备发送固件更新指令,并停止向目标物联网设备发送待更新固件的文件,由此实现对服务器的缩容处理。服务器进行缩容处理之后,目标备选服务器不再向目标物联网设备发送固件更新指令,相应的,目标物联网设备不再从该目标备选服务器获取待更新固件的文件,或者,目标备选服务器发送的固件更新指令的数量降低,相应的,从该目标备选服务器获取待更新固件的文件的目标物联网设备的数量也降低。
133.可以理解的是,服务器扩容后,服务器的空闲资源量等于其扩容前的空闲资源量和至少一个备选服务器的空闲资源量之和。服务器在扩容之后若再进行缩容,则服务器缩容后的空闲资源量等于其缩容前的空闲资源量和目标备选服务器的空闲资源量之和。并且,服务器在对多个物联网设备中的固件进行更新的过程中,服务器在不同时刻的空闲资源量也可以不相同。
134.需要说明说的是,本技术实施例提供的物联网设备的固件更新方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行删除,例如步骤302可以根据情况删除。任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本技术的保护范围之内,因此不再赘述。
135.综上所述,本公开实施例提供了一种物联网设备的固件更新方法,服务器能够在确定更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于服务器的空闲资源量时,并行向目标数量个目标物联网设备发送固件更新指令。由此,能够实现对目标数量个目标物联网设备中的固件的同步更新,从而有效提高了对物联网设备的固件更新的效率。
136.图4是本公开实施例提供的一种物联网设备的固件更新装置的框图。应用于服务器,如图4所示,该装置可以包括:
137.接收模块401,用于接收管理设备发送的更新任务,更新任务至少包括待更新固件的多个物联网设备的标识。
138.确定模块402,用于从多个物联网设备中确定目标数量个目标物联网设备。
139.发送模块403,用于若更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于服务器的空闲资源量,则基于目标数量个目标物联网设备的标识,并行向目标数量个目标物联网设备发送固件更新指令。
140.其中,固件更新指令用于指示目标物联网设备从服务器中获取待更新固件的文件,并基于文件更新固件。
141.综上所述,本公开实施例提供了一种物联网设备的固件更新装置。服务器能够在确定更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于服务器的空闲资源量时,并行向目标数量个目标物联网设备发送固件更新指令。由此,能够实现对目标数量个目标物联网设备中的固件的同步更新,从而有效提高了对物联网设备的固件更新的效率。
142.可选的,更新任务还包括每个物联网设备的设备优先级;确定模块402,用于:
143.按照设备优先级从高到低的顺序,从多个物联网设备中确定出目标数量个目标物联网设备,每个目标物联网设备的设备优先级高于或等于除目标物联网设备之外的物联网设备的设备优先级。
144.可选的,更新任务中还包括每个物联网设备中待更新固件的固件优先级和物联网设备的历史更新时长,历史更新时长为服务器最近一次更新物联网设备所用的时长。
145.参考图5,确定模块402,包括:
146.第一确定子模块4021,用于按照设备优先级从高到低的顺序,从多个物联网设备中确定出第一数量个目标物联网设备,第一数量小于目标数量;
147.第二确定子模块4022,用于若除第一数量个目标物联网设备之外的物联网设备中,设备优先级最高且设备优先级相同的备选物联网设备的数量大于第二数量,则按照固件优先级由高到低的顺序,和/或,历史更新时长由短到长的顺序,从备选物联网设备中确定出第二数量个目标物联网设备。
148.其中,第二数量与第一数量之和等于目标数量。
149.可选的,每个物联网设备中的待更新固件包括操作系统的系统固件或者除操作系统之外的功能模块的模块固件,且系统固件的优先级高于模块固件的优先级。
150.第二确定子模块4022,用于:
151.若备选物联网设备中待更新固件为系统固件的备选物联网设备的数量大于或等于第二数量,则从待更新固件为系统固件的备选物联网设备中确定第二数量个目标物联网设备。
152.若备选物联网设备中待更新固件为系统固件的备选物联网设备的数量为第三数量,且第三数量小于第二数量,则将第三数量个待更新固件为系统固件的备选物联网设备均确定为目标物联网设备,并按照历史更新时长由短到长的顺序,从待更新固件为模块固件的备选物联网设备中确定出第四数量个目标物联网设备,第三数量和第四数量之和等于第二数量。
153.可选的,在从多个物联网设备中确定目标数量个目标物联网设备之后,参考图6,装置还包括:
154.处理模块404,用于若更新目标数量个目标物联网设备中的固件需占用的服务器的资源量大于空闲资源量,则对服务器进行扩容处理,或者,降低目标数量,并从多个物联网设备中重新确定降低后的目标数量个目标物联网设备。
155.其中,扩容处理后的服务器的空闲资源量大于或等于更新目标数量个目标物联网设备中的固件需占用的服务器的资源量。
156.可选的,确定模块402,用于:
157.获取目标数量。
158.从多个物联网设备中确定目标数量个目标物联网设备。
159.在从多个物联网设备中确定目标数量个目标物联网设备之后,处理模块404,用于:
160.若更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于空闲资源量,则增大目标数量。
161.可选的,处理模块404,还用于:
162.若空闲资源量与更新剩余的物联网设备中的固件需占用的服务器的资源量的差值大于或等于差值阈值,则对服务器进行缩容处理。
163.其中,缩容处理后的服务器的空闲资源量与更新剩余的物联网设备中的固件需占
用的服务器的资源量的差值小于差值阈值,且缩容处理后的服务器的空闲资源量大于更新剩余的物联网设备中的固件需占用的服务器的资源量。
164.可选的,确定模块402,还用于:
165.若对目标数量个目标物联网设备中第五数量个目标物联网设备中的固件更新完成,或者对目标数量个目标物联网设备中第五数量个目标物联网设备中的固件更新失败,则从剩余的物联网设备中确定第六数量个目标物联网设备。
166.发送模块403,还用于基于第六数量个目标物联网设备的标识,并行向第六数量个目标物联网设备发送固件更新指令。
167.综上所述,本公开实施例提供了一种物联网设备的固件更新装置。服务器能够在确定更新目标数量个目标物联网设备中的固件需占用的服务器的资源量小于或等于服务器的空闲资源量时,并行向目标数量个目标物联网设备发送固件更新指令。由此,能够实现对目标数量个目标物联网设备中的固件的同步更新,从而有效提高了对物联网设备的固件更新的效率。
168.本公开实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上述实施例所述的物联网设备的固件更新方法,例如,图2或图3所示的物联网设备的固件更新方法。
169.本公开实施例提供了一种计算机设备,计算机设备包括处理器和存储器,存储器中存储有程序代码、程序代码由处理器加载并执行以实现如实施例所述的物联网设备的固件更新方法,例如,图2或图3所示的物联网设备的固件更新方法。
170.本公开实施例提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如实施例所述的物联网设备的固件更新方法,例如,图2或图3所示的物联网设备的固件更新方法。
171.本公开实施例提供了一种物联网,如图1所示,物联网可以包括:管理设备10、服务器20和物联网设备30。
172.管理设备用于向服务器发送更新任务。该服务器20可以包括图4或图6所示的物联网设备的固件更新装置40。物联网设备30用于响应于服务器20发送的固件更新指令,从服务器20中获取待更新固件的文件,并基于文件更新固件。
173.在本公开实施例中,术语“第一”、“第二”、“第三”、“第四”、“第五”、“第六”、第七”和“第八”仅用于描述目的,而不能理解为指示或暗示相对重要性。本公开实施例中术语“多个”的含义是指两个或两个以上。术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
174.以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1