基于MQTT的边缘节点装置远程程序升级方法及系统与流程

未命名 10-08 阅读:96 评论:0

基于mqtt的边缘节点装置远程程序升级方法及系统
技术领域
1.本发明属于电力自动化领域,尤其涉及一种嵌入式装置的远程程序升级。


背景技术:

2.单片机的出现是现代计算机技术发展的里程碑,它的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。半导体工艺和超大规模集成电路技术取得了长足的进步,以此为支撑的嵌入式计算机也逐渐成为各种嵌入式系统的核心部件。同时随着互联网领域的迅速发展壮大,使得嵌入式技术有了更大的发展空间,嵌入式产品智能化、网络化已成为未来发展方向。目前,嵌入式设备由于具有低成本和高可靠性的特点,被广泛应用在网络通信,工业控制和安防系统等领域。嵌入式设备通常是一种面向特定应用而设计开发的设备,包括业务应用模块,所述业务应用模块包括终端设备正常运行时所用到的操作系统以及应用程序,能够用于实现终端设备的业务功能以及升级功能。
3.随着我国科学技术不断的发展和变化,电力系统技术在发展的过程中也加入了嵌入式技术。在一些数据信息采集和管理的过程中电力系统也体现了自身的发展前景。电力系统设备在发展和应用的过程中,遵循实际发展情况,将时效性和可靠性,稳定性的发展技术加入到电力系统发展设备中。结合我国多年的电力系统科学技术发展的经验来看,嵌入式技术在电力系统应用发展过程中,还存在着很多缺陷和不足。
4.早期嵌入式装置升级只能通过线刷或者卡刷的方式现场执行,当大量设备升级时,也只能一台一台设备的进行,浪费人力的同时也非常耗时,造成效率低下。
5.随着嵌入式产品的迅速发展,用户对于产品性能的需求也不断提高,嵌入式装置对于程序升级维护的需求越来越大,这就导致产品基于tcp/ip协议或udp、ftp协议的嵌入式软件算法越来越复杂。
6.对于功能相对简单的嵌入式产品,如:一些仪器设备控制用仪表,其软件构成只包括一个设备控制用应用程序和一个引导程序。工作时,基于控制用应用程序实现对仪表的功能控制。在需要版本升级的时候,通过有线或者无线的方式,将新版本的应用程序传输到设备中,引导程序运行新版本的控制用应用程序,替换老版本的控制用应用程序。当只需进行参数的更新或者bug的修改时,基于现有的版本更新技术,必须将控制用应用程序的整个文件进行更新,这种低效的升级过程严重限制了设备的版本更新和bug修改效率。
7.因此,需要一种新的技术方案以解决上述问题。


技术实现要素:

8.为了解决现有技术所产生的问题,本发明提供了一种自动化水平高、高效、安全、可靠、简便的基于mqtt的边缘节点装置远程程序升级方法及系统。
9.为达到上述目的,本发明一种基于mqtt通信规约的边缘节点装置远程程序升级方法采用如下技术方案:
10.一种基于mqtt通信规约的边缘节点装置远程程序升级方法,以代理服务器或服务
器作为mqtt服务器端,所述升级方法包括以下步骤:
11.s1、由程序发布客户端发布升级程序及该升级程序对应的程序版本信息主题于mqtt服务器端,之后发布程序升级信息主题及程序升级下载信息主题,由mqtt服务器端保存;同样的,当新版本的升级程序出现后,由程序发布客户端发布新版本的升级程序及该升级程序对应的程序版本信息主题、程序升级信息主题及程序升级下载信息主题于mqtt服务器端;
12.其中,所述程序版本信息主题、程序升级信息主题和程序升级下载主题包含相应的主题内容;所述程序下载主题内容包括程序;
13.s2、订阅存在于mqtt服务器端的主题;
14.s3、当mqtt服务器中存在边缘节点装置客户端订阅的主题存在新的主题内容时,mqtt服务器端向边缘节点装置客户端发布主题,边缘节点装置客户端接收该主题。
15.进一步的,所述的边缘节点装置客户端订阅程序升级信息主题和程序升级下载主题。
16.进一步的,所述的边缘节点装置客户端实现远程版本管理:边缘节点装置客户端在mqtt服务器端订阅程序升级信息主题后,当mqtt服务器端的该主题内容更新时,边缘节点装置客户端接收程序升级信息主题,再根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。
17.进一步的,所述的程序发布客户端和边缘节点装置客户端实现远程版本管理;程序发布客户端对程序的不同历史版本进行版本比较和版本兼容升级识别;并将不同版本的程序发布一个或多个程序升级信息主题于mqtt服务器端,订阅该主题的边缘节点装置客户端接收一个或多个程序升级信息主题,根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。
18.进一步的,所述边缘节点装置客户端重启后,再与mqtt服务器端建立连接;经过丢包处理后完成下载,所述的丢包处理包括将qos最大服务质量等级设置为2,以及丢包重发机制。
19.进一步的,
20.程序版本信息主题内容包括:身份账号、身份密码、厂家信息、型号信息、本版本程序测试者信息、本版本程序发布者信息、升级程序版本、对下兼容的版本、本版本解决的缺陷、本版本升级程序对应的主题或链接地址;
21.所述的程序升级信息主题内容根据程序版本信息主题内容同步更新,根据实际应用需求决定程序升级信息主题内容和当前最新版本的程序版本信息主题内容完全相同,或取所有历史版本的程序版本信息主题内容的集合;
22.所述的程序升级下载主题内容包括程序、程序的下载地址或链接地址。
23.进一步的,所述的远程权限管理记录程序发布过程中产生的操作信息形成历史操作信息;历史操作信息包括发布的历史时间、测试者信息、发布者信息;所述的程序经厂家测试和验证后发布。
24.进一步的,所述升级方法通过将主题内容和程序分开存储或先保存主题内容再进行程序升级,以保证程序升级不影响包括已设定的参数和定值以及装置已下载保存的模型配置文件、故障告警历史数据。
25.为实现上述程序升级方法,发明一种基于mqtt通信规约的边缘节点装置远程程序升级系统,采用以下技术方案:
26.一种基于mqtt通信规约的边缘节点装置远程程序升级系统,以代理服务器或服务器作为mqtt服务器端,包括:
27.发布模块,由程序发布客户端发布升级程序及该升级程序对应的程序版本信息主题于mqtt服务器端,之后发布程序升级信息主题及程序升级下载信息主题,由mqtt服务器端保存;
28.其中,所述程序版本信息主题、程序升级信息主题和程序升级下载主题包含相应的主题内容;所述程序下载主题内容包括程序;
29.订阅模块,用以订阅存在于mqtt服务器端的主题;
30.主题接收模块,当mqtt服务器中存在边缘节点装置客户端订阅的主题存在新的主题内容时,mqtt服务器端向边缘节点装置客户端发布主题,边缘节点装置客户端接收该主题。
31.进一步的,所述的边缘节点装置客户端订阅程序升级信息主题和程序升级下载主题。
32.进一步的,所述的边缘节点装置客户端实现远程版本管理模块:边缘节点装置客户端在mqtt服务器端订阅程序升级信息主题后,当mqtt服务器端的该主题内容更新时,边缘节点装置客户端接收程序升级信息主题,再根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。
33.进一步的,所述的程序发布客户端和边缘节点装置客户端实现远程版本管理模块:程序发布客户端对程序的不同历史版本进行版本比较和版本兼容升级识别;并将不同版本的程序发布一个或多个程序升级信息主题于mqtt服务器端,订阅该主题的边缘节点装置客户端接收一个或多个程序升级信息主题,根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。
34.进一步的,所述边缘节点装置客户端内容重启后,再与mqtt服务器端建立连接;经过丢包处理后完成下载,所述的丢包处理包括将qos最大服务质量等级设置为2,以及丢包重发机制。
35.进一步的,程序版本信息主题内容包括:身份账号、身份密码、厂家信息、型号信息、本版本程序测试者信息、本版本程序发布者信息、升级程序版本、对下兼容的版本、本版本解决的缺陷、本版本升级程序对应的主题或链接地址;
36.所述的程序升级信息主题内容根据程序版本信息主题内容同步更新,根据实际应用需求决定程序升级信息主题内容和当前最新版本的程序版本信息主题内容完全相同,或取所有历史版本的程序版本信息主题内容的集合;
37.所述的程序升级下载主题内容包括升级程序、程序的下载地址或链接地址。
38.进一步的,所述的远程权限管理记录程序发布过程中产生的操作信息形成历史操作信息;历史操作信息包括发布的历史时间、测试者信息、发布者信息;所述的程序经厂家测试和验证后发布。
39.进一步的,该升级系统通过将主题内容和程序分开存储或先保存主题内容再进行程序升级,以保证程序升级不影响包括已设定的参数和定值以及装置已下载保存的模型配
置文件、故障告警历史数据。
40.本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述方法的步骤。
41.本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。
42.本发明具有如下有益效果:
43.1、本发明适用于无人值守变电站、水电站以及高空作业危险的输电线路的边缘节点装置,基于mqtt云边交互协议实现边缘节点嵌入式装置的远程权限管理、远程版本管理、远程升级,提高了自动化水平。
44.2、mqtt协议简洁、可扩展性强、省流量省电,以极少的代码和有限的带宽,为连接远程设备提供实时的消息服务,升级简便的同时也提高了设备的运维效率。
45.3、本发明采用mqtt协议、通过远程权限管理以及校验码比对,保证了设备升级过程的安全。
46.4、多个设备可以同时作为mqtt的客户端进行升级而互相之间不影响,提高了远程程序升级的效率。
47.5、通过对程序的版本比对、丢包的处理机制、测试报告审核以及将程序与参数信息分开,均提高了程序升级结果的可靠性。
附图说明
48.图1是程序发布客户端或mqtt服务器端发布程序及主题的流程图;
49.图2是边缘节点装置客户端订阅程序升级信息主题及程序升级下载主题的流程图;
50.图3是边缘节点装置客户端远程进行程序升级的流程图。
具体实施方式
51.下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
52.请参阅图1至图3所示,本发明公开了一种基于mqtt通信规约的边缘节点装置远程程序升级方法,使用云边交互协议mqtt作为mqtt服务器端和mqtt客户端的互联网、物联网协议,以边缘节点装置客户端、程序发布客户端作为mqtt客户端,以代理服务器或服务器作为mqtt服务器端,设置程序版本信息主题、程序升级信息主题和程序升级下载主题。程序升级下载主题不同于程序升级信息主题:程序升级下载主题包括应用程序软件,报文长;程序升级信息主题包括程序升级信息,报文短。边缘节点装置客户端订阅主题,当程序发布客户端发布该主题到mqtt服务器端后,mqtt服务器端发布该主题到边缘节点装置客户端,之后边缘节点装置客户端才能接收主题和主题内容。
53.所述升级方法包括以下步骤:
54.s1、程序发布客户端和mqtt服务器端建立连接,由程序发布客户端发布升级程序及该升级程序对应的程序版本信息主题于mqtt服务器端,之后发布程序升级信息主题及程
序升级下载信息主题,由mqtt服务器端保存;同样的,当新版本的升级程序出现后,由程序发布客户端发布新版本的升级程序及该升级程序对应的程序版本信息主题、程序升级信息主题及程序升级下载信息主题于mqtt服务器端;
55.其中,所述程序版本信息主题、程序升级信息主题和程序升级下载主题包含相应的主题内容;所述程序下载主题内容包括程序;
56.程序版本信息主题内容包括:身份账号、身份密码、厂家信息、型号信息、本版本程序测试者信息、本版本程序发布者信息、升级程序版本、对下兼容的版本、本版本解决的缺陷、本版本升级程序对应的主题或链接地址;
57.程序升级信息主题内容根据程序版本信息主题内容同步更新,根据实际应用需求决定程序升级信息主题内容和当前最新版本的程序版本信息主题内容完全相同,或取所有历史版本的程序版本信息主题内容的集合;
58.程序升级下载主题内容包括程序、程序的下载地址或链接地址。
59.s2、边缘节点装置客户端和mqtt服务器端建立连接,订阅存在于mqtt服务器端的主题:程序升级信息主题和程序升级下载主题。
60.s3、边缘节点装置客户端和mqtt服务器端建立连接,当mqtt服务器中存在边缘节点装置客户端订阅的主题存在新的主题内容时,mqtt服务器端向边缘节点装置客户端发布主题,边缘节点装置客户端接收该主题。
61.升级方法实现远程权限管理、远程版本管理、远程升级:
62.1)远程权限管理通过在mqtt客户端和mqtt服务器端建立连接时,设置账号、密码对mqtt客户端和mqtt服务器端发布主题、订阅主题、接收主题进行身份权限校对实现。同时,远程权限管理记录程序发布过程中产生的操作信息形成历史操作信息;历史操作信息包括发布的历史时间、测试者信息、发布者信息。所述的程序经厂家测试和验证后发布。发布时,程序需带自测试或第三方测试报告、测试报告编制人、审核人资质权限,程序经服务器端人工或智能方式校对后才可发布,以确保发布程序的可用性。
63.2)远程版本管理由边缘节点装置客户端或者由边缘节点装置客户端和程序发布客户端两种方式择一进行版本显示、版本比对、版本兼容校对。远程版本管理的目的是为了识别当前版本程序与新发布版本程序的兼容性,在识别兼容的前提下,才允许下一步的程序升级。
64.3)远程升级由边缘节点装置客户端根据远程版本管理的结果订阅选定的版本对应的程序升级下载主题,并接收程序升级下载主题,完成下载;进行校验码比对,校验码有效时,才能进行程序升级更新,完成校验;程序更新完成后自动重启,完成升级;重启后,再与mqtt服务器端建立连接。
65.其中,所述的程序包括丢包处理。边缘节点装置客户端接收程序升级下载主题过程中,可能存在丢包情况。为提升报文一次发送的成功率,将qos最大服务质量等级设置为2,避免程序升级报文的丢失和重复,完成下载。
66.实施例1中,远程版本管理由边缘节点装置客户端实现:边缘节点装置客户端在mqtt服务器端订阅程序升级信息主题后,当mqtt服务器端的该主题内容更新时,边缘节点装置客户端接收程序升级信息主题,再根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。
67.实施例2中,所述的远程版本管理由程序发布客户端和边缘节点装置客户端实现;程序发布客户端对程序的不同历史版本进行版本比较和版本兼容升级识别;并将不同版本的程序发布一个或多个程序升级信息主题于mqtt服务器端,订阅该主题的边缘节点装置客户端接收一个或多个程序升级信息主题,根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。
68.基于mqtt的边缘节点装置远程程序升级方法通过将主题内容和程序分开存储或先保存主题内容再进行程序升级,以保证程序升级不影响包括已设定的参数和定值以及装置已下载保存的模型配置文件、故障告警历史数据。
69.为实现上述远程程序升级方法,本发明还公开了一种基于mqtt的边缘节点装置远程程序升级系统,该系统使用云边交互协议mqtt作为互联网、物联网协议的mqtt客户端,该mqtt客户端包括程序发布客户端、边缘节点装置客户端,用以设置程序版本信息主题、程序升级信息主题和程序升级下载主题;
70.发布模块,用以使程序发布客户端和mqtt服务器端建立连接,由程序发布客户端发布升级程序及该升级程序对应的程序版本信息主题于mqtt服务器端,之后发布程序升级信息主题及程序升级下载信息主题,由mqtt服务器端保存;同样的,当新版本的升级程序出现后,由程序发布客户端发布新版本的升级程序及该升级程序对应的程序版本信息主题、程序升级信息主题及程序升级下载信息主题于mqtt服务器端;
71.其中,所述程序版本信息主题、程序升级信息主题和程序升级下载主题包含相应的主题内容;所述程序下载主题内容包括程序;
72.程序版本信息主题内容包括:身份账号、身份密码、厂家信息、型号信息、本版本程序测试者信息、本版本程序发布者信息、升级程序版本、对下兼容的版本、本版本解决的缺陷、本版本升级程序对应的主题或链接地址;
73.程序升级信息主题内容根据程序版本信息主题内容同步更新,根据实际应用需求决定程序升级信息主题内容和当前最新版本的程序版本信息主题内容完全相同,或取所有历史版本的程序版本信息主题内容的集合;
74.程序升级下载主题内容包括升级程序、程序的下载地址或链接地址。
75.订阅模块,用以使边缘节点装置客户端和mqtt服务器端建立连接,订阅存在于mqtt服务器端的主题。边缘节点装置客户端订阅程序升级信息主题和程序升级下载主题。
76.主体接收模块,用以使边缘节点装置客户端和mqtt服务器端建立连接,当mqtt服务器中存在边缘节点装置客户端订阅的主题存在新的主题内容时,mqtt服务器端向边缘节点装置客户端发布主题,边缘节点装置客户端接收该主题;
77.远程权限管理模块,用以通过在mqtt客户端和mqtt服务器端建立连接时,设置账号、密码对mqtt客户端和mqtt服务器端发布主题、订阅主题、接收主题进行身份权限校对实现;远程权限管理模块记录程序发布过程中产生的操作信息形成历史操作信息;历史操作信息包括发布的历史时间、测试者信息、发布者信息;所述的程序经厂家测试和验证后发布。
78.远程版本管理模块,用以由边缘节点装置客户端或者由边缘节点装置客户端和程序发布客户端两种方式择一进行版本显示、版本比对、版本兼容校对;
79.远程升级模块,用以由边缘节点装置客户端根据远程版本管理的结果订阅选定的
版本对应的程序升级下载主题,并接收程序升级下载主题,完成下载;进行校验码比对,校验码有效时,才能进行程序升级更新,完成校验;程序更新完成后自动重启,完成升级。边缘节点装置客户端重启后,再与mqtt服务器端建立连接;所述的丢包处理包括将qos最大服务质量等级设置为2,以及丢包重发机制。
80.实施例1中,远程版本管理模块由边缘节点装置客户端实现:边缘节点装置客户端在mqtt服务器端订阅程序升级信息主题后,当mqtt服务器端的该主题内容更新时,边缘节点装置客户端接收程序升级信息主题,再根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。
81.实施例2中,远程版本管理模块由程序发布客户端和边缘节点装置客户端实现:程序发布客户端对程序的不同历史版本进行版本比较和版本兼容升级识别;并将不同版本的程序发布一个或多个程序升级信息主题于mqtt服务器端,订阅该主题的边缘节点装置客户端接收一个或多个程序升级信息主题,根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。
82.基于mqtt的边缘节点装置远程程序升级系统通过将主题内容和程序分开存储或先保存主题内容再进行程序升级,以保证程序升级不影响包括已设定的参数和定值以及装置已下载保存的模型配置文件、故障告警历史数据。本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述升级方法的步骤。
83.本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的升级方法的步骤。
84.为了更好地理解本发明,下面对本发明技术方案中的相关技术进行具体说明。本实施例中,程序发布客户端和mqtt服务器端发布v**.**版本的程序,以及v**.**版本程序的主题。v**.**版本程序的主题包括:v**.**程序版本信息主题、程序升级下载主题、程序升级信息主题。
85.如图1所示,mqtt服务器端或程序发布客户端发布包括以下步骤:
86.步骤1、远程权限管理校对:通过远程权限管理校对程序发布者的身份权限和身份密码。若校验通过,执行步骤2;若校验不通过,跳过步骤2,直接执行步骤3。
87.步骤2、程序发布:
88.程序发布;
89.v**.**程序版本信息主题发布;
90.程序升级信息主题发布;
91.程序升级下载主题发布。
92.其中,信息发布者可以是客户端的v**.**版本程序信息、程序升级信息和程序升级下载主题的发布者,v**.**版本程序信息、程序升级信息和程序升级下载主题的发布者也可由服务器端直接发布。
93.发布上述主题信息的信息发布者、程序需经测试和验证,必须确保发布程序的可用性。
94.主题v**.**版本程序信息的内容包括厂家信息、型号信息、本版本程序测试者信息、本版本程序发布者信息、升级程序版本、对下兼容的版本、本版本解决的缺陷等信息。
95.程序升级信息主题内容根据v**.**版本程序信息主题的内容发布同步更新,程序升级信息主题的内容可以和当前最新版本的v**.**版本程序信息主题的内容完全相同,也可以是所有历史版本的v**.**版本程序信息的集合,根据实际应用需求决定。
96.主题程序升级下载的内容即本版本升级程序,对应的程序的下载地址或链接地址等信息。
97.通过远程权限管理,在程序发布客户端和服务器应有程序发布的相关历史操作信息,信息包括但不仅限于发布的历史时间、测试者信息、发布者信息等。
98.步骤3、执行完毕;
99.操作完成。
100.如图2所示,客户端远程订阅程序升级信息主题及程序升级下载主题的流程图,包括以下步骤:
101.步骤1、远程权限管理校对;
102.通过远程权限管理校对程序升级订阅者的身份权限和身份密码。校验通过,执行步骤2,校验不通过,跳过步骤2,直接执行步骤3。
103.步骤2、程序升级相关主题信息发布;
104.程序升级信息主题订阅;
105.程序升级下载主题订阅。
106.步骤3、执行完毕;
107.操作完成。
108.如图3所示,一种基于mqtt通信规约的边缘节点装置远程程序升级方法,其中客户端远程程序升级的流程图,包括以下步骤:
109.步骤1、远程权限管理校对;
110.通过远程权限管理校对程序升级订阅者的身份权限和身份密码。校验通过,执行步骤2,校验不通过,跳过步骤2,直接执行步骤5。
111.步骤2、远程版本管理兼容识别;
112.程序升级信息主题接收;
113.版本兼容识别。
114.远程版本管理的目的是为了识别当前版本程序与新发布版本程序的兼容性,在识别兼容的前提下,才允许下一步的程序升级,关于程序升级版本识别的有两种方法。
115.版本兼容识别通过,执行步骤3,识别不通过,跳过步骤3,直接执行步骤5。
116.步骤3、远程程序升级;
117.远程升级下载主题接收;
118.接收上级程序;
119.接收升级程序中的丢包处理;
120.升级程序校验码验证。
121.其中,程序下载和升级确保不能影响已设定的参数和定值,以及不能影响装置已下载保存的模型配置文件、故障告警历史数据等,确保在原先已设定的参数、定值、模型等数据下可靠稳定运行。
122.程序升级接收的是程序升级下载主题。
123.本地装置升级的程序的下载,是由边缘节点装置客户端以mqtt通信规约订阅的方式去接收的,所以接收订阅程序前要根据程序升级版本识别结果订阅升级版本的程序升级下载主题。
124.本装置升级程序下载过程中,即订阅的主题程序升级下载接收的过程中,可能存在丢包的可能,为提升报文一次发送的成功率,通过mqtt通信规约的qos服务质量等级设置为2,避免消息报文的丢失和重复。
125.本地装置升级的程序的校验,程序升级报文接收完后,最后进行校验码比对,校验码有效时,才进行程序升级更新。
126.本地装置升级的程序的升级,程序更新完成后自动重启,重启后再与建立代理服务器或服务器建立mqtt连接。
127.远程程序升级校验码验证通过,执行步骤4,验码验证不通过,跳过步骤4,直接执行步骤5。
128.步骤5、执行完毕;
129.操作完成。
130.综上,本发明基于mqtt的边缘节点装置远程程序升级方法及系统具有自动化水平高、高效、安全、可靠、简便的特点。

技术特征:
1.一种基于mqtt的边缘节点装置远程程序升级方法,以代理服务器或服务器作为mqtt服务器端,其特征在于,所述升级方法包括以下步骤:s1、由程序发布客户端发布升级程序及该升级程序对应的程序版本信息主题于mqtt服务器端,之后发布程序升级信息主题及程序升级下载信息主题,由mqtt服务器端保存;其中,所述程序版本信息主题、程序升级信息主题和程序升级下载主题包含相应的主题内容;所述程序下载主题内容包括该升级程序;s2、订阅存在于mqtt服务器端的主题;s3、当mqtt服务器中存在边缘节点装置客户端订阅的主题存在新的主题内容时,mqtt服务器端向边缘节点装置客户端发布主题,边缘节点装置客户端接收该主题。2.根据权利要求1所述的基于mqtt的边缘节点装置远程程序升级方法,其特征在于,所述的边缘节点装置客户端订阅程序升级信息主题和程序升级下载主题。3.根据权利要求1所述的基于mqtt的边缘节点装置远程程序升级方法,其特征在于,所述的边缘节点装置客户端进行远程版本管理:边缘节点装置客户端在mqtt服务器端订阅程序升级信息主题后,当mqtt服务器端的该主题内容更新时,边缘节点装置客户端接收程序升级信息主题,再根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。4.根据权利要求1所述的基于mqtt的边缘节点装置远程程序升级方法,其特征在于,所述的程序发布客户端和边缘节点装置客户端进行远程版本管理;程序发布客户端对程序的不同历史版本进行版本比较和版本兼容升级识别;并将不同版本的程序发布一个或多个程序升级信息主题于mqtt服务器端,订阅该主题的边缘节点装置客户端接收一个或多个程序升级信息主题,根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。5.根据权利要求1所述的基于mqtt的边缘节点装置远程程序升级方法,其特征在于,所述边缘节点装置客户端重启后,再与mqtt服务器端建立连接;经过丢包处理后完成下载,所述的丢包处理包括将qos最大服务质量等级设置为2,以及丢包重发机制。6.根据权利要求1所述的基于mqtt的边缘节点装置远程程序升级方法,其特征在于,所述程序版本信息主题内容包括:身份账号、身份密码、厂家信息、型号信息、本版本程序测试者信息、本版本程序发布者信息、升级程序版本、对下兼容的版本、本版本解决的缺陷、本版本升级程序对应的主题或链接地址;所述的程序升级信息主题内容根据程序版本信息主题内容同步更新,根据实际应用需求决定程序升级信息主题内容和当前最新版本的程序版本信息主题内容完全相同,或取所有历史版本的程序版本信息主题内容的集合;所述的程序升级下载主题内容包括程序、程序的下载地址或链接地址。7.根据权利要求1所述的基于mqtt的边缘节点装置远程程序升级方法,其特征在于,所述的远程权限管理记录程序发布过程中产生的操作信息形成历史操作信息;历史操作信息包括发布的历史时间、测试者信息、发布者信息;所述的程序经厂家测试和验证后发布。8.根据权利要求1所述的基于mqtt的边缘节点装置远程程序升级方法,其特征在于,所述升级方法通过将主题内容和程序分开存储或先保存主题内容再进行程序升级,以保证程序升级不影响包括已设定的参数和定值以及装置已下载保存的模型配置文件、故障告警历史数据。9.一种基于mqtt的边缘节点装置远程程序升级系统,以代理服务器或服务器作为mqtt
服务器端,其特征在于,包括:发布模块,由程序发布客户端发布升级程序及该升级程序对应的程序版本信息主题于mqtt服务器端,之后发布程序升级信息主题及程序升级下载信息主题,由mqtt服务器端保存;其中,所述程序版本信息主题、程序升级信息主题和程序升级下载主题包含相应的主题内容;所述程序下载主题内容包括程序;订阅模块,用以使订阅存在于mqtt服务器端的主题;主体接收模块,当mqtt服务器中存在边缘节点装置客户端订阅的主题存在新的主题内容时,mqtt服务器端向边缘节点装置客户端发布主题,边缘节点装置客户端接收该主题。10.根据权利要求9所述的基于mqtt的边缘节点装置远程程序升级系统,其特征在于,所述的边缘节点装置客户端订阅程序升级信息主题和程序升级下载主题。11.根据权利要求9所述的基于mqtt的边缘节点装置远程程序升级系统,其特征在于,所述的边缘节点装置客户端实现远程版本管理模块:边缘节点装置客户端在mqtt服务器端订阅程序升级信息主题后,当mqtt服务器端的该主题内容更新时,边缘节点装置客户端接收程序升级信息主题,再根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。12.根据权利要求9所述的基于mqtt的边缘节点装置远程程序升级方法,其特征在于,所述的程序发布客户端和边缘节点装置客户端实现远程版本管理模块:程序发布客户端对程序的不同历史版本进行版本比较和版本兼容升级识别;并将不同版本的程序发布一个或多个程序升级信息主题于mqtt服务器端,订阅该主题的边缘节点装置客户端接收一个或多个程序升级信息主题,根据当前版本和运行历史升级版本进行版本比较和兼容升级识别。13.根据权利要求9所述的基于mqtt的边缘节点装置远程程序升级系统,其特征在于,所述边缘节点装置客户端内容重启后,再与mqtt服务器端建立连接;经过丢包处理后完成下载,所述的丢包处理包括将qos最大服务质量等级设置为2,以及丢包重发机制。14.根据权利要求9所述的基于mqtt的边缘节点装置远程程序升级系统,其特征在于,程序版本信息主题内容包括:身份账号、身份密码、厂家信息、型号信息、本版本程序测试者信息、本版本程序发布者信息、升级程序版本、对下兼容的版本、本版本解决的缺陷、本版本升级程序对应的主题或链接地址;所述的程序升级信息主题内容根据程序版本信息主题内容同步更新,根据实际应用需求决定程序升级信息主题内容和当前最新版本的程序版本信息主题内容完全相同,或取所有历史版本的程序版本信息主题内容的集合;所述的程序升级下载主题内容包括升级程序、程序的下载地址或链接地址。15.根据权利要求9所述的基于mqtt的边缘节点装置远程程序升级系统,其特征在于,所述的远程权限管理记录程序发布过程中产生的操作信息形成历史操作信息;历史操作信息包括发布的历史时间、测试者信息、发布者信息;所述的程序经厂家测试和验证后发布。16.根据权利要求9所述的基于mqtt的边缘节点装置远程程序升级系统,其特征在于,该升级系统通过将主题内容和程序分开存储或先保存主题内容再进行程序升级,以保证程序升级不影响包括已设定的参数和定值以及装置已下载保存的模型配置文件、故障告警历史数据。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法的步骤。18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。

技术总结
本发明公开了一种基于MQTT的边缘节点装置远程程序升级方法及系统,实现远程权限管理、远程版本管理、远程升级,其中远程权限管理包括权限身份认证和权限核对,远程版本管理包括版本显示、版本比对、版本兼容校对,远程升级包括程序下载、校验和升级。程序发布客户端、边缘节点装置客户端作为MQTT的客户端,代理服务器或服务器作为MQTT的服务器端,实现边缘节点装置的远程程序升级,本发明具有自动化水平高、高效、安全、可靠、简便的特点。简便的特点。简便的特点。


技术研发人员:李志坚 卞秀杰 王伟 郝国文 周捷 张海滨 梅德冬 滕云 邓烽 田小锋 徐海翔 牛翔宇 刘彬 张何 刘世裕 曹东宏 张鹏 董璇 方冰
受保护的技术使用者:国电南瑞科技股份有限公司 国家电网有限公司 国网新源控股有限公司 国网浙江省电力有限公司绍兴供电公司
技术研发日:2023.06.20
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐