边缘计算网关的固件升级方法及装置与流程

文档序号:28706501发布日期:2022-01-29 13:39阅读:213来源:国知局
边缘计算网关的固件升级方法及装置与流程

1.本发明涉及计算机技术领域,尤其涉及一种边缘计算网关的固件升级方法及装置。


背景技术:

2.边缘计算设备广泛应用于智能工厂、智能电网、智慧水利、环境监测、污水处理、电梯监控、包装机械、印染机械、工程机械、纺织机械、供水设备、热力锅炉等工业领域。边缘计算设备通常部署在靠近数据源头的网络边缘侧,融合网络、计算、存储和应用等核心能力,就近提供边缘智能服务,满足行业数字化在敏捷联接、实时业务、数据优化、应用智能、安全与隐私保护等方面的关键需求,作为联接物理和数字世界的桥梁。
3.在实际工业应用场景中,存在对边缘计算网关(edge computing gateway或edge gateway)的固件进行升级的需求。现有边缘计算网关的固件升级,采用的是服务器与边缘计算网关之间进行点对点文件传输的方式进行远程升级。在上述应用场景中,边缘计算网关通常工作在极其复杂的局域网络环境中,与部署在云端的服务端之间的通信网络通常存在高时延、低带宽等情况,现有固件升级方法的效率低下,存在文件丢包等问题导致容易升级失败,并且固件升级完后需要耗费人力物力验证是否升级成功,验证的效率低、成本高。


技术实现要素:

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.第三接收模块,用于接收服务端发送的携带有第一边缘计算网关的信息的第三消息;
52.第二下载模块,用于基于所述第三消息,从所述第一边缘计算网关下载第二固件升级包,得到第三固件升级包;
53.第二升级模块,用于基于所述第三固件升级包进行固件升级;
54.第三发送模块,用于向所述服务端返回第四消息;
55.其中,所述第四消息,用于指示固件升级结果。
56.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述边缘计算网关的固件升级方法的步骤。
57.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述边缘计算网关的固件升级方法的步骤。
58.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述边缘计算网关的固件升级方法的步骤。
59.本发明提供的边缘计算网关的固件升级方法及装置,通过确定待升级的各边缘计算网关中的主网关和从网关,先向主网关发送固件升级包,在主网关基于固件升级包成功进行固件升级之后,再向从网关发送通知消息,以使得从网关从对应的主网关下载固件升级包进行固件升级并返回固件升级的结果,在复杂的局域网络环境中,在边缘计算网关与服务端之间的通信网络通常存在高时延、低带宽等情况下,能提高固件升级效率和固件升级自动化水平,能大大降低边缘计算网关远程固件升级失败的几率,实用性更强,适用范围更广泛,具有更好的推广应用价值。
附图说明
60.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附
图获得其他的附图。
61.图1是本发明提供的边缘计算网关的固件升级方法的流程示意图之一;
62.图2是本发明提供的边缘计算网关的固件升级方法的流程示意图之二;
63.图3是本发明提供的边缘计算网关的固件升级方法的流程示意图之三;
64.图4是本发明提供的边缘计算网关的固件升级方法的流程示意图之四;
65.图5是本发明提供的边缘计算网关的固件升级装置的结构示意图之一;
66.图6是本发明提供的边缘计算网关的固件升级装置的结构示意图之二;
67.图7是本发明提供的边缘计算网关的固件升级装置的结构示意图之三;
68.图8是本发明提供的电子设备的结构示意图。
具体实施方式
69.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
70.在本发明实施例的描述中,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性,且不涉及顺序。
71.在本发明实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明实施例中的具体含义。
72.下面结合图1至图8描述本发明提供的边缘计算网关的固件升级方法及装置。
73.图1是本技术提供的边缘计算网关的固件升级方法的流程示意图之一。下面结合图1描述本技术实施例的边缘计算网关的固件升级方法。如图1所示,该方法包括:步骤101、确定待升级的各边缘计算网关中的主网关和从网关。
74.具体地,本发明实施例提供的边缘计算网关的固件升级的执行主体为边缘计算网关的固件升级装置。该边缘计算网关的固件升级装置为服务端。该服务端可以与边缘计算网关通信连接。
75.可选地,服务端可以用于运行云端边缘计算网关管理平台。云端边缘计算网关管理平台,可以用于对固件升级包的管理、边缘计算网关的上线注册和配置及升级指令下发等管理。服务端可以基于关系型数据库用于存储边缘计算网关的信息及其配置等数据。
76.可选地,步骤101之前,服务端可以接收用户的第一输入。
77.第一输入,可以携带有待升级的各边缘计算网关的标识等信息。
78.可选地,边缘计算网关的标识,可以为边缘计算网关的id(identity document,身份标识号码)或其他具有指示边缘计算网关的身份的信息。
79.基于第一输入,服务端可以确定所管理的各边缘计算网关中待升级的各边缘计算网关。可以理解的是,待升级的边缘计算网关的数量为多个。
80.可选地,在存在多个不同版本的固件升级包的情况下,第一输入还可以携带有本
次固件升级待下发的第一固件升级包的信息。
81.第一固件升级包的信息,可以包括第一固件升级包的文件名和版本号等信息。
82.基于第一输入,服务端可以确定第一固件升级包。
83.服务端确定待升级的各边缘计算网关之后,可以从待升级的各边缘计算网关中推选出主网关(master网关);待升级的各边缘计算网关中除了主网关之外的边缘计算网关,均作为从网关(slave网关)。
84.可选地,可以基于待升级的各边缘计算网关所属的局域网,将属于同一局域网的边缘计算网关划分为一个分组;推选每个分组中的主网关,将该分组中的其他边缘计算网关作为从网关。该分组中的主网关可以作为该分组中的从网关对应的主网关。
85.对于每一分组(不分组的情况可以视为仅有一个分组),推选主网关可以通过多种方式实施。
86.可选地,可以随机选择该分组中的一个边缘计算网关作为主网关,或者通过预设的筛选条件,确定该分组中的一个边缘计算网关为主网关。
87.步骤102、对第一固件升级包进行分片处理,得到多个数据分片,向主网关发送携带有各数据分片的一组第一消息,以使得主网关基于各第一消息获取第二固件升级包,基于第二固件升级包进行固件升级。
88.具体地,确定第一固件升级包之后,服务端可以从本地存储中获取第一固件升级包,或者从文件服务器下载第一固件升级包。
89.可选地,文件服务器用于存储固件升级包。
90.获取第一固件升级包之后,服务端可以通过任意一种数据分片方法,对第一固件升级包进行分片处理,将第一固件升级包切分为多个数据分片。
91.服务端向主网关发送一组第一消息,每一第一消息可以分别携带有一个数据分片。
92.主网关接收各第一消息之后,可以分别提取每一第一消息中的数据分片;提取各数据分片之后,将各数据分片组装为第二固件升级包。
93.可选地,主网关可以校验第二固件升级包的完整性和/或正确性(即与第一固件升级包是否相同)等;在校验通过之后,主网关可以安装第二固件升级包,进行固件升级。
94.步骤103、接收主网关返回的第二消息。
95.其中,第二消息,用于指示主网关固件升级成功。
96.具体地,主网关固件升级完成之后,在固件升级成功的情况下,可以向服务端返回第二消息。服务端可以接收该第二消息。
97.可选地,第二消息可以包括第一标志位。第二消息中该标志位的值为第一目标值,例如该标志位的值为1。第一目标值,用于指示发送该消息的边缘计算网关固件升级成功。
98.需要说明的是,主网关固件升级完成之后,在固件升级失败的情况下,可以向服务端返回第五消息。第五消息,用于指示主网关固件升级失败。
99.主网关固件升级失败,可以包括但不限于第二固件升级包不完整性、第二固件升级包不正确性和第二固件升级包安装失败。
100.可选地,第五消息的数据格式可以与第二消息的数据格式相同,因而第五消息也包括第一标志位。第五消息中该标志位的值为第二目标值,例如该标志位的值为0。第二目
标值,用于指示发送该消息的边缘计算网关固件升级失败。
101.可选地,服务端在接收到第五消息的情况下,服务端可以发出提示信息,提示用户边缘计算网关固件升级失败。
102.可选地,服务端在接收到第五消息的情况下,服务端可以重新执行步骤101,重新确定主网关,并基于重新确定的主网关执行本发明实施例提供的边缘计算网关固件升级方法的各步骤。
103.步骤104、向从网关发送携带有从网关对应的主网关的信息的第三消息,以使得从网关基于第三消息,从从网关对应的主网关下载第二固件升级包,得到第三固件升级包,基于第三固件升级包进行固件升级。
104.具体地,服务端接收到第二消息,说明主网关固件升级成功,可以向从网关发送第三消息,通知从网关从该从网关对应的主网关下载固件升级包进行固件升级。
105.第三消息,可以携带有主网关的标识、ip地址和端口等信息。
106.从网关接收第三消息之后,可以解析第三消息,获取该从网关对应的主网关的标识、ip地址和端口等信息;从网关可以基于该从网关对应的主网关的标识、ip地址和端口等信息,从该从网关对应的主网关下载第二固件升级包,下载得到的文件为第三固件升级包;从网关安装第三固件升级包,进行固件升级。
107.可选地,从网关可以校验第三固件升级包的完整性和/或正确性(即与第一固件升级包是否相同)等;在校验通过之后,从网关可以安装第三固件升级包,进行固件升级。
108.可选地,从网关可以从该从网关对应的主网关提供的restful接口下载第二固件升级包。
109.rest(representational state transfer)指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是restful。
110.rest是一种网络应用程序的设计风格和开发方式,基于http,可以使用xml格式定义或json格式定义。restful适用于移动互联网厂商作为业务接口的场景,实现第三方ott调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。
111.步骤105、接收从网关返回的第四消息。
112.其中,第四消息,用于指示从网关的固件升级结果。
113.具体地,从网关固件升级完成之后,可以向服务端返回第四消息。服务端可以接收该第四消息。
114.可选地,第四消息的数据格式可以与第二消息的数据格式相同,因而也第四消息包括第一标志位。第四消息中该标志位的值为第一目标值,表示该从网关固件升级成功;第四消息中该标志位的值为第二目标值,表示该从网关固件升级失败。
115.需要说明的是,在任一从网关升级失败的情况下,服务端可以发出提示信息,提示用户部分从网关固件升级失败。服务端可以将本次升级失败的各边缘计算网关作为新的待升级的边缘计算网关,重新执行本发明实施例提供的边缘计算网关固件升级方法的各步骤。
116.本发明实施例通过确定待升级的各边缘计算网关中的主网关和从网关,先向主网关发送固件升级包,在主网关基于固件升级包成功进行固件升级之后,再向从网关发送通知消息,以使得从网关从对应的主网关下载固件升级包进行固件升级并返回固件升级的结
果,在复杂的局域网络环境中,在边缘计算网关与服务端之间的通信网络通常存在高时延、低带宽等情况下,能提高固件升级效率和固件升级自动化水平,能大大降低边缘计算网关远程固件升级失败的几率,实用性更强,适用范围更广泛,具有更好的推广应用价值。并且,能通过边缘计算网关的反馈,更及时、快速、高效、低成本地验证是否升级成功。进一步地,能降低管理者的技术门槛,能避免人工误操作。
117.基于上述任一实施例的内容,确定待升级的各边缘计算网关中的主网关和从网关,具体包括:基于各边缘计算网关的信号质量,确定主网关和从网关。
118.具体地,对于待升级的各边缘计算网关,可以选择其中信号质量最好的至少一个边缘计算网关,作为主网关;确定主网关之后,可以将待升级的各边缘计算网关中除了主网关之外的边缘计算网关,均作为从网关。
119.边缘计算网关的信号质量,可以基于边缘计算网关的信号强度、上行传输速率、下行传输速率和丢包率中的至少一个确定。
120.本发明实施例基于各边缘计算网关的信号质量,确定主网关,能提高服务端与主网关之间和主网关与从网关之间的数据传输速率,能提高固件升级效率。
121.基于上述任一实施例的内容,第一消息、第二消息、第三消息和第四消息,是基于消息队列遥测传输协议的消息。
122.具体地,服务端与边缘计算网关之间,以及任意两个边缘计算网关之间,均可以基于消息队列遥测传输(mqtt,message queuing telemetry transport)协议传输数据,因而第一消息、第二消息、第三消息、第四消息和第五消息,均可以是基于mqtt协议的消息,即mqtt消息。
123.mqtt协议是iso标准(iso/iec prf 20922)下基于发布/订阅范式的消息协议。mqtt协议工作在tcp/ip协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。mqtt协议是一个基于客户端-服务器的消息发布/订阅传输协议。mqtt协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。
124.本发明实施例通过基于消息队列遥测传输协议在服务端与主网关之间和主网关与从网关之间进行数据传输,能提高服务端与主网关之间和主网关与从网关之间的数据传输速率,能提高固件升级效率,尤其适用于边缘计算网关与服务端之间的通信网络通常存在高时延、低带宽等情况。
125.图2是本技术提供的边缘计算网关的固件升级方法的流程示意图之二。下面结合图2描述本技术实施例的边缘计算网关的固件升级方法。如图2所示,该方法包括:步骤201、接收服务端发送的携带有第一固件升级包的各数据分片的一组第一消息。
126.具体地,本发明实施例提供的边缘计算网关的固件升级的执行主体为边缘计算网关的固件升级装置。该边缘计算网关的固件升级装置为边缘计算网关,具体为服务端确定的主网关。该主网关可以与服务端通信连接。
127.服务端在确定主网关和从网关之后,对第一固件升级包进行分片处理,得到多个数据分片,向主网关发送一组第一消息。每一第一消息可以分别携带有一个数据分片。
128.第一固件升级包为待下发的固件升级包,可以由用户预先选定或者服务端根据固件升级规则确定(例如服务端在检测到存在新版本的固件升级包的情形,将该新版本的固件升级包确定为第一固件升级包)。
129.主网关可以接收服务端发送的第一消息。
130.步骤202、基于各第一消息,获取各数据分片,将各数据分片组装为第二固件升级包,基于第二固件升级包进行固件升级。
131.具体地,主网关接收第一消息之后,可以分别提取每一第一消息中的数据分片。
132.提取各数据分片之后,主网关将各数据分片组装为第二固件升级包。
133.可选地,组装各数据分片,获取第二固件升级包之后,主网关可以安装第二固件升级包,进行固件升级。
134.可选地,在安装第二固件升级包之前,主网关可以校验第二固件升级包的完整性和/或正确性(即与第一固件升级包是否相同)等;在校验通过之后,主网关可以安装第二固件升级包,进行固件升级。
135.步骤203、在固件升级成功的情况下,向服务端返回第二消息。
136.其中,第二消息,用于指示固件升级成功。
137.具体地,主网关固件升级完成之后,在固件升级成功的情况下,可以向服务端返回第二消息。
138.可选地,第二消息可以包括第一标志位。第二消息中该标志位的值为第一目标值,例如该标志位的值为1。第一目标值,用于指示发送该消息的边缘计算网关固件升级成功。
139.步骤204、接收第一边缘计算网关发送的下载请求。
140.具体地,服务端接收第二消息之后,向第一边缘计算网关发送携带有该主网关的信息的第三消息。
141.第一边缘计算网关,为服务端确定的从网关。该主网关,为该第一边缘计算网关对应的主网关。
142.第一边缘计算网关可以基于第三消息中的该主网关的信息,向该网关发送下载请求,请求从该主网关下载第二固件升级包。
143.该主网关可以接收下载请求。
144.步骤205、响应于下载请求,向第一边缘计算网关发送第二固件升级包,以使得第一边缘计算网关基于第二固件升级包进行固件升级。
145.具体地,该主网关对接收的下载请求进行响应,向第一边缘计算网关发送第二固件升级包。
146.可选地,该主网关可以提供restful接口,以供第一边缘计算网关通过该接口下载第二固件升级包。
147.第一边缘计算网关从该主网关下载第二固件升级包,下载得到的文件为第三固件升级包;安装第三固件升级包,进行固件升级。
148.本发明实施例通过服务端先向主网关发送固件升级包,在主网关基于固件升级包成功进行固件升级之后,服务端再向从网关发送通知消息,以使得从网关从对应的主网关下载固件升级包进行固件升级并返回固件升级的结果,在复杂的局域网络环境中,在边缘计算网关与服务端之间的通信网络通常存在高时延、低带宽等情况下,能提高固件升级效率和固件升级自动化水平,能大大降低边缘计算网关远程固件升级失败的几率,实用性更强,适用范围更广泛,具有更好的推广应用价值。
149.基于上述任一实施例的内容,第一消息还携带有第一固件升级包的校验信息。
150.具体地,任一第一消息还可以携带有第一固件升级包的校验信息。
151.可选地,校验信息,可以包括md5值、sha1值和crc32值等中的至少一个。
152.基于第二固件升级包进行固件升级,具体包括:获取第二固件升级包的校验信息。
153.具体地,获取第二固件升级包之后,可以通过校验信息对应的文件校验算法进行计算,得到第二固件升级包的校验信息。
154.在第一固件升级包的校验信息和第二固件升级包的校验信息一致的情况下,基于第二固件升级包进行固件升级。
155.具体地,获取第二固件升级包的校验信息之后,可以比较第一固件升级包的校验信息和第二固件升级包的校验信息,判断第一固件升级包的校验信息和第二固件升级包的校验信息是否一致。
156.在第一固件升级包的校验信息和第二固件升级包的校验信息一致的情况下,可以确定第二固件升级包与第一固件升级包相同,可以基于第二固件升级包进行固件升级。
157.在第一固件升级包的校验信息和第二固件升级包的校验信息不一致的情况下,可以不进行固件升级,将固件升级的结果确定为失败,向服务端返回第五消息。
158.本发明实施例通过获取第二固件升级包的校验信息,基于第一固件升级包的校验信息和第二固件升级包的校验信息,对第二固件升级包进行检验,能更及时、快速、高效、低成本地验证是否升级成功。
159.图3是本技术提供的边缘计算网关的固件升级方法的流程示意图之三。下面结合图3描述本技术实施例的边缘计算网关的固件升级方法。如图3所示,该方法包括:步骤301、接收服务端发送的携带有第二边缘计算网关的信息的第三消息。
160.具体地,本发明实施例提供的边缘计算网关的固件升级的执行主体为边缘计算网关的固件升级装置。该边缘计算网关的固件升级装置为边缘计算网关,具体为服务端确定的从网关。该从网关可以与服务端通信连接。
161.服务端在确定主网关和从网关之后,对第一固件升级包进行分片处理,得到多个数据分片,向主网关发送一组第一消息。每一第一消息可以分别携带有一个数据分片。第一固件升级包为待下发的固件升级包。
162.主网关基于各第一消息获取第二固件升级包,基于第二固件升级包进行固件升级。
163.主网关固件升级完成之后,在固件升级成功的情况下,可以向服务端返回第二消息。第二消息,用于指示主网关固件升级成功。
164.服务端接收到第二消息,说明主网关固件升级成功,可以向从网关发送第三消息,通知从网关从该从网关对应的主网关下载固件升级包进行固件升级。
165.从网关可以接收服务端发送的第三消息。第三消息,可以携带有第二边缘计算网关的标识、ip地址和端口等信息。第二边缘计算网关,是该从网关对应的主网关。
166.步骤302、基于第三消息,从第二边缘计算网关下载第二固件升级包,得到第三固件升级包。
167.具体地,该从网关接收第三消息之后,可以解析第三消息,获取第二边缘计算网关的标识、ip地址和端口等信息;从网关可以基于第二边缘计算网关的标识、ip地址和端口等信息,从第二边缘计算网关下载第二固件升级包,下载得到的文件为第三固件升级包。
168.步骤303、基于第三固件升级包进行固件升级。
169.具体地,该从网关安装第三固件升级包,进行固件升级。
170.步骤304、向服务端返回第四消息。
171.其中,第四消息,用于指示固件升级结果。
172.具体地,从网关固件升级完成之后,可以向服务端返回第四消息。
173.可选地,第四消息的数据格式可以与第二消息的数据格式相同,因而也第四消息包括第一标志位。第四消息中该标志位的值为第一目标值,表示该从网关固件升级成功;第四消息中该标志位的值为第二目标值,表示该从网关固件升级失败。
174.本发明实施例通过服务端先向主网关发送固件升级包,在主网关基于固件升级包成功进行固件升级之后,服务端再向从网关发送通知消息,以使得从网关从对应的主网关下载固件升级包进行固件升级并返回固件升级的结果,在复杂的局域网络环境中,在边缘计算网关与服务端之间的通信网络通常存在高时延、低带宽等情况下,能提高固件升级效率和固件升级自动化水平,能大大降低边缘计算网关远程固件升级失败的几率,实用性更强,适用范围更广泛,具有更好的推广应用价值。
175.基于上述任一实施例的内容,第三消息还携带有第一固件升级包的校验信息。
176.具体地,第三消息还携带可以有第一固件升级包的校验信息。
177.可选地,校验信息,可以包括md5值、sha1值和crc32值等中的至少一个。
178.基于第三固件升级包进行固件升级,具体包括:获取第三固件升级包的校验信息。
179.具体地,获取三固件升级包之后,可以通过校验信息对应的文件校验算法进行计算,得到第三固件升级包的校验信息。
180.在第一固件升级包的校验信息和第三固件升级包的校验信息一致的情况下,基于第三固件升级包进行固件升级。
181.具体地,获取第三固件升级包的校验信息之后,可以比较第一固件升级包的校验信息和第三固件升级包的校验信息,判断第一固件升级包的校验信息和第三固件升级包的校验信息是否一致。
182.在第一固件升级包的校验信息和第三固件升级包的校验信息一致的情况下,可以确定第三固件升级包与第一固件升级包相同,可以基于第三固件升级包进行固件升级。
183.在第一固件升级包的校验信息和第三固件升级包的校验信息不一致的情况下,可以不进行固件升级,将固件升级的结果确定为失败,向服务端返回第四消息,该第四消息用于指示该从网关固件升级失败。
184.本发明实施例通过获取第三固件升级包的校验信息,基于第一固件升级包的校验信息和第三固件升级包的校验信息,对第三固件升级包进行检验,能更及时、快速、高效、低成本地验证是否升级成功。
185.为了便于对本发明上述各实施例的理解,下面通过一个实例说明边缘计算网关进行固件升级的完整过程。
186.图4是本发明提供的边缘计算网关的固件升级方法的流程示意图之四。如图4所示,边缘计算网关的固件升级方法可以包括如下步骤:
187.管理固件升级包,服务端将固件升级包上传到文件服务器上;文件服务器存储固件升级包;
188.用户选择待下发的固件升级包和待升级的边缘计算网关;
189.服务端确定主网关;从用户选择的边缘计算网关中推选出主网关,其它边缘计算网关作为从网关;
190.服务端从文件服务器下载固件升级包并进行文件分片;
191.服务端将数据分片通过mqtt消息发送给主网关;
192.主网关接收数据分片并组装成固件升级包;
193.主网关检查固件升级包的完整性并进行安装升级;
194.主网关固件升级完成后,通过mqtt消息向服务端回复升级结果;
195.服务端接收主网关的升级结果并分析;
196.如果失败,则提示用户,固件远程升级失败;
197.如果成功,则通过mqtt消息通知从网关下载固件升级包;
198.从网关解析通知消息的内容,去主网关下载固件升级包并安装升级;
199.从网关固件升级完成后,通过mqtt消息向服务端回复升级结果。
200.下面对本发明提供的边缘计算网关的固件升级装置进行描述,下文描述的边缘计算网关的固件升级装置与上文描述的边缘计算网关的固件升级方法可相互对应参照。
201.图5根据本发明实施例提供的边缘计算网关的固件升级装置的结构示意图之一。基于上述任一实施例的内容,如图5所示,该装置包括主从确定模块501、第一发送模块502和第一接收模块503,其中:
202.主从确定模块501,用于确定待升级的各边缘计算网关中的主网关和从网关;
203.第一发送模块502,用于对第一固件升级包进行分片处理,得到多个数据分片,向主网关发送携带有各数据分片的一组第一消息,以使得主网关基于各第一消息获取第二固件升级包,基于第二固件升级包进行固件升级;
204.第一接收模块503,用于接收主网关返回的第二消息;
205.第一发送模块502,还用于向从网关发送携带有从网关对应的主网关的信息的第三消息,以使得从网关基于第三消息,从从网关对应的主网关下载第二固件升级包,得到第三固件升级包,基于第三固件升级包进行固件升级;
206.第一接收模块503,还用于接收从网关返回的第四消息;
207.其中,第二消息,用于指示主网关固件升级成功;第四消息,用于指示从网关的固件升级结果。
208.具体地,本发明实施例提供的边缘计算网关的固件升级装置为服务端。主从确定模块501、第一发送模块502和第一接收模块503顺次电连接。
209.主从确定模块501确定待升级的各边缘计算网关之后,可以从待升级的各边缘计算网关中推选出主网关;待升级的各边缘计算网关中除了主网关之外的边缘计算网关,均作为从网关。
210.第一发送模块502获取第一固件升级包之后,服务端可以通过任意一种数据分片方法,对第一固件升级包进行分片处理,将第一固件升级包切分为多个数据分片;向主网关发送一组第一消息,每一第一消息可以分别携带有一个数据分片。
211.主网关固件升级完成之后,在固件升级成功的情况下,可以向服务端返回第二消息。第一接收模块503可以接收该第二消息。
212.第一发送模块502可以向从网关发送第三消息,通知从网关从该从网关对应的主网关下载固件升级包进行固件升级。
213.从网关固件升级完成之后,可以向服务端返回第四消息。第一接收模块503可以接收该第四消息。
214.可选地,主从确定模块501,可以具体用于基于各边缘计算网关的信号质量,确定主网关和从网关。
215.可选地,第一消息、第二消息、第三消息和第四消息,是基于消息队列遥测传输协议的消息。
216.本发明实施例提供的边缘计算网关的固件升级装置,用于执行本发明上述边缘计算网关的固件升级方法,其实施方式与本发明提供的边缘计算网关的固件升级方法的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
217.该边缘计算网关的固件升级装置用于前述各实施例的边缘计算网关的固件升级方法。因此,在前述各实施例中的边缘计算网关的固件升级方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
218.本发明实施例通过确定待升级的各边缘计算网关中的主网关和从网关,先向主网关发送固件升级包,在主网关基于固件升级包成功进行固件升级之后,再向从网关发送通知消息,以使得从网关从对应的主网关下载固件升级包进行固件升级并返回固件升级的结果,在复杂的局域网络环境中,在边缘计算网关与服务端之间的通信网络通常存在高时延、低带宽等情况下,能提高固件升级效率和固件升级自动化水平,能大大降低边缘计算网关远程固件升级失败的几率,实用性更强,适用范围更广泛,具有更好的推广应用价值。并且,能通过边缘计算网关的反馈,更及时、快速、高效、低成本地验证是否升级成功。进一步地,能降低管理者的技术门槛,能避免人工误操作。
219.图6根据本发明实施例提供的边缘计算网关的固件升级装置的结构示意图之二。基于上述任一实施例的内容,如图6所示,该装置包括第二接收模块601、第一升级模块602、第二发送模块603和第一下载模块604,其中:
220.第二接收模块601,用于接收服务端发送的携带有第一固件升级包的各数据分片的一组第一消息;
221.第一升级模块602,用于基于各第一消息,获取各数据分片,将各数据分片组装为第二固件升级包,基于第二固件升级包进行固件升级;
222.第二发送模块603,用于在固件升级成功的情况下,向服务端返回第二消息;
223.第二接收模块601,还用于接收第一边缘计算网关发送的下载请求;
224.第一下载模块604,用于响应于下载请求,向第一边缘计算网关发送第二固件升级包,以使得第一边缘计算网关基于第二固件升级包进行固件升级;
225.其中,第二消息,用于指示固件升级成功。
226.具体地,本发明实施例提供的边缘计算网关的固件升级装置为主网关。第二接收模块601、第一升级模块602和第二发送模块603顺次电连接,第一下载模块604分别与第二接收模块601、第一升级模块602电连接。
227.第二接收模块601可以接收服务端发送的一组第一消息。
228.第一升级模块602可以分别提取每一第一消息中的数据分片,将各数据分片组装
为第二固件升级包,安装第二固件升级包,进行固件升级。
229.在固件升级成功的情况下,第二发送模块603可以向服务端返回第二消息。
230.第二接收模块601还可以接收第一边缘计算网关发送的下载请求。
231.第一下载模块604可以对接收的下载请求进行响应,向第一边缘计算网关发送第二固件升级包。
232.可选地,第一消息还携带有第一固件升级包的校验信息;
233.第一升级模块602可以具体用于:
234.获取第二固件升级包的校验信息;
235.在第一固件升级包的校验信息和第二固件升级包的校验信息一致的情况下,基于第二固件升级包进行固件升级。
236.本发明实施例提供的边缘计算网关的固件升级装置,用于执行本发明上述边缘计算网关的固件升级方法,其实施方式与本发明提供的边缘计算网关的固件升级方法的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
237.该边缘计算网关的固件升级装置用于前述各实施例的边缘计算网关的固件升级方法。因此,在前述各实施例中的边缘计算网关的固件升级方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
238.本发明实施例通过服务端先向主网关发送固件升级包,在主网关基于固件升级包成功进行固件升级之后,服务端再向从网关发送通知消息,以使得从网关从对应的主网关下载固件升级包进行固件升级并返回固件升级的结果,在复杂的局域网络环境中,在边缘计算网关与服务端之间的通信网络通常存在高时延、低带宽等情况下,能提高固件升级效率和固件升级自动化水平,能大大降低边缘计算网关远程固件升级失败的几率,实用性更强,适用范围更广泛,具有更好的推广应用价值。
239.图7根据本发明实施例提供的边缘计算网关的固件升级装置的结构示意图之三。基于上述任一实施例的内容,如图7所示,该装置包括第三接收模块701、第二下载模块702、第二升级模块703和第三发送模块704,其中:
240.第三接收模块701,用于接收服务端发送的携带有第一边缘计算网关的信息的第三消息;
241.第二下载模块702,用于基于第三消息,从第一边缘计算网关下载第二固件升级包,得到第三固件升级包;
242.第二升级模块703,用于基于第三固件升级包进行固件升级;
243.第三发送模块704,用于向服务端返回第四消息;
244.其中,第四消息,用于指示固件升级结果。
245.具体地,本发明实施例提供的边缘计算网关的固件升级装置为从网关。第三接收模块701、第二下载模块702、第二升级模块703和第三发送模块704顺次电连接。
246.第三接收模块701可以接收服务端发送的第三消息。
247.第二下载模块702可以解析第三消息,获取第二边缘计算网关的标识、ip地址和端口等信息;从网关可以基于第二边缘计算网关的标识、ip地址和端口等信息,从第二边缘计算网关下载第二固件升级包,下载得到的文件为第三固件升级包。
248.第二升级模块703可以安装第三固件升级包,进行固件升级。
249.固件升级完成之后,第三发送模块704可以向服务端返回第四消息。
250.可选地,第三消息还携带有第一固件升级包的校验信息;
251.第二升级模块703,可以具体用于:
252.获取第三固件升级包的校验信息;
253.在第一固件升级包的校验信息和第三固件升级包的校验信息一致的情况下,基于第三固件升级包进行固件升级。
254.本发明实施例提供的边缘计算网关的固件升级装置,用于执行本发明上述边缘计算网关的固件升级方法,其实施方式与本发明提供的边缘计算网关的固件升级方法的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
255.该边缘计算网关的固件升级装置用于前述各实施例的边缘计算网关的固件升级方法。因此,在前述各实施例中的边缘计算网关的固件升级方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
256.本发明实施例通过服务端先向主网关发送固件升级包,在主网关基于固件升级包成功进行固件升级之后,服务端再向从网关发送通知消息,以使得从网关从对应的主网关下载固件升级包进行固件升级并返回固件升级的结果,在复杂的局域网络环境中,在边缘计算网关与服务端之间的通信网络通常存在高时延、低带宽等情况下,能提高固件升级效率和固件升级自动化水平,能大大降低边缘计算网关远程固件升级失败的几率,实用性更强,适用范围更广泛,具有更好的推广应用价值。
257.图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(communications interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行边缘计算网关的固件升级方法,该方法包括:确定待升级的各边缘计算网关中的主网关和从网关;对第一固件升级包进行分片处理,得到多个数据分片,向主网关发送携带有各数据分片的一组第一消息,以使得主网关基于各第一消息获取第二固件升级包,基于第二固件升级包进行固件升级;接收主网关返回的第二消息;向从网关发送携带有从网关对应的主网关的信息的第三消息,以使得从网关基于第三消息,从从网关对应的主网关下载第二固件升级包,得到第三固件升级包,基于第三固件升级包进行固件升级;接收从网关返回的第四消息;其中,第二消息,用于指示主网关固件升级成功;第四消息,用于指示从网关的固件升级结果。
258.此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
259.本技术实施例提供的电子设备中的处理器810可以调用存储器830中的逻辑指令,其实施方式与本技术提供的边缘计算网关的固件升级方法的实施方式一致,且可以达到相
同的有益效果,此处不再赘述。
260.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的边缘计算网关的固件升级方法,该方法包括:确定待升级的各边缘计算网关中的主网关和从网关;对第一固件升级包进行分片处理,得到多个数据分片,向主网关发送携带有各数据分片的一组第一消息,以使得主网关基于各第一消息获取第二固件升级包,基于第二固件升级包进行固件升级;接收主网关返回的第二消息;向从网关发送携带有从网关对应的主网关的信息的第三消息,以使得从网关基于第三消息,从从网关对应的主网关下载第二固件升级包,得到第三固件升级包,基于第三固件升级包进行固件升级;接收从网关返回的第四消息;其中,第二消息,用于指示主网关固件升级成功;第四消息,用于指示从网关的固件升级结果。
261.本技术实施例提供的计算机程序产品被执行时,实现上述边缘计算网关的固件升级方法,其具体的实施方式与前述方法的实施例中记载的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
262.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的边缘计算网关的固件升级方法,该方法包括:确定待升级的各边缘计算网关中的主网关和从网关;对第一固件升级包进行分片处理,得到多个数据分片,向主网关发送携带有各数据分片的一组第一消息,以使得主网关基于各第一消息获取第二固件升级包,基于第二固件升级包进行固件升级;接收主网关返回的第二消息;向从网关发送携带有从网关对应的主网关的信息的第三消息,以使得从网关基于第三消息,从从网关对应的主网关下载第二固件升级包,得到第三固件升级包,基于第三固件升级包进行固件升级;接收从网关返回的第四消息;其中,第二消息,用于指示主网关固件升级成功;第四消息,用于指示从网关的固件升级结果。
263.本技术实施例提供的非暂态计算机可读存储介质上存储的计算机程序被执行时,实现上述边缘计算网关的固件升级方法,其具体的实施方式与前述方法的实施例中记载的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
264.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
265.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
266.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1