CN115426261A - 一种设备远程升级方法 - Google Patents
一种设备远程升级方法 Download PDFInfo
- Publication number
- CN115426261A CN115426261A CN202210976267.9A CN202210976267A CN115426261A CN 115426261 A CN115426261 A CN 115426261A CN 202210976267 A CN202210976267 A CN 202210976267A CN 115426261 A CN115426261 A CN 115426261A
- Authority
- CN
- China
- Prior art keywords
- task
- upgrading
- upgrade
- equipment
- apk
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000003111 delayed effect Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 230000005856 abnormality Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种设备远程升级方法,包含步骤有:上传APK,创建升级任务,配置升级任务,建立RabbitMQ集群,升级指令发送,设备升级,更新任务状态,结束升级任务。本发明在设备远程升级中加入了RabbitMQ集群管理和MQTT消息传输方式,大幅提高了设备业务功能远程升级的便利性、高效率和高准确率。
Description
技术领域
本发明涉及一种设备远程升级方法,属于互联网技术领域。
背景技术
随着业务的变化或生产的升级,工业设备终端对应的业务功能需要不断的更新迭代,而设备往往遍布各个省市地区,不方便进行频繁的人工APK包升级,需要进行设备的远程升级。现有的远程升级往往是通过设备终端从升级服务器上下载升级APK文件包进行升级,或者由升级服务器向设备终端下发升级APK文件包进行升级,在终端设备数量较多的情况下,文件访问并发数过高,容易造成升级服务器宕机、网络拥堵而造成升级失败;设备终端与升级服务器之间的消息传递容易出现争抢而造成消息传递出现错误,消息传递的准确度降低;无法实时动态了解设备的升级状态;在网络或设备硬件处理速度等原因导致没有升级反馈时,往往出现升级任务不能结束的问题。
发明内容
本发明的目的在于克服上述不足,提供一种设备升级并发度高、获取APK升级文件稳定方便、避免消息争抢、消息传递准确度高、能实时动态了解设备升级状态、设备远程升级高效的设备远程升级方法。
本发明的目的是这样实现的:
一种设备远程升级方法,包含以下步骤:
步骤一、上传APK,将新版本APK包上传至文件存储服务端,并获取文件下载地址;
步骤二、创建升级任务,在升级服务端的后台创建远程升级任务,创建完成后启动升级任务,并在数据库DB中更新任务状态;
步骤三、配置升级任务,升级服务端根据升级任务的配置,将任务主体编排成单个设备的延时任务,再将延时任务封装成对应的单个设备升级指令消息;
步骤四、建立RabbitMQ集群,利用多个RabbitMQ服务器通过网络连接形成RabbitMQ集群,RabbitMQ服务器上设有与待升级设备绑定连接的Exchange交换机;
步骤五、升级指令发送,升级服务端将经过步骤三已封装好的单个设备升级指令消息发送至RabbitMQ集群,再依据单个设备升级指令消息中的设备信息,由Exchange交换机点对点推送到对应的待升级设备。
步骤六、设备升级,设备终端在接收到升级消息后,解析消息并下载升级APK包;在APK包下载完毕之后,选在空闲时间进行静默APK升级,升级完成之后上报升级状态,并将升级后的版本信息通知到后台;
步骤七、更新任务状态,后台根据反馈升级状态取消对应的延时任务,并在数据库DB中更新设备APK更新结果;
步骤八、结束升级任务,在步骤二编排的所有延时任务取消时,结束升级任务,同时在数据库DB中更新任务状态和执行结果。
进一步的,所述文件存储服务端为由单独的ECS服务、阿里云OSS或华为云OBS提供的网络文件存储服务。
进一步的,所述RabbitMQ服务器在启动服务时创建Exchange交换机,待升级设备在启动之后主动连接RabbitMQ并创建一个独一的Queue队列并以设备的可唯一区分的工控机序列号命名,同时将该队列通过指定的RoutingKey绑定到该Exchange交换机上。
进一步的,所述步骤五中,封装好的设备升级指令消息为MQ消息,其通过异步方式由RabbitMQ发送到Exchange交换机,Exchange交换机再将MQ消息通过MQTT协议推送到设备终端。
进一步的,所述MQ消息格式包含:{”devSerialNum”:”111111”,”ipcSerialNum”:”123123”,”taskid”:123123,”fileUrl”:http://xxxx,”executeTime”:25648965745},exchange:dev.apk.upgrade,routingkey:dev-apk-update-设备工控机序列号。
进一步的,所述步骤六中设备终端升级完成后通过MQTT协议上报升级状态,上报的MQTT报文内容包含:{’deviceid”:”1223121”,”devSerialNum”:”111111”,”ipcSerialNum”:”123123”,”msgType”:1,”apkVerNo”:”123123”,”taskid”:123123}。
进一步的,步骤七中后台在接收到了APK升级完成之后,比对版本号是否是当前的升级任务版本号,在两个版本号一致的情况下,将该设备升级任务对应的延时任务进行取消,同时将升级任务成功数加1,并在数据库DB中更新设备APK更新结果;后台在接收到上报升级失败后,将该延时任务取消,同时将升级任务失败数加1,并在数据库DB中更新设备APK更新结果;后台将超过时效未上报的设备直接认为任务执行失败,将该延时任务取消,同时将升级任务失败数加1,并在数据库DB中更新设备APK更新结果。
进一步的,在新设备接入时,其APK更新任务需由新接入设备终端自行决定更新时间节点。
与现有技术相比,本发明的有益效果是:
本发明通过加入RabbitMQ集群和单个设备独立的Queue队列,避免消息的争抢,提高消息消费的准确度;通过结合设备的MQTT消息回调通知,能实时动态了解设备升级状态;RabbitMQ集群、MQTT协议的点对点传送方式能提高设备升级的并发度;通过文件服务与升级服务的分离,避免因为文件服务并发导致升级服务出现异常;通过使用延时任务可以便于对设备升级失败导致任务结束不了进行补偿操作,可以确保设备升级任务在超时之后一定处于结束状态;大幅提高了设备业务功能远程升级的便利性、高效率和高准确率。
附图说明
图1为本发明一种设备远程升级方法的工作原理图。
图2为本发明一种设备远程升级方法的新设备升级流程图。
具体实施方式
参见图1~2,本发明涉及的一种设备远程升级方法,包含以下步骤:
步骤一、上传APK,将新版本APK包上传至文件存储服务端,并获取文件下载地址“http://xxxx”;所述文件存储服务端为由单独的ECS服务、阿里云OSS或华为云OBS提供的网络文件存储服务。
步骤二、创建升级任务,在升级服务端的后台创建远程升级任务,创建完成后启动升级任务,并在数据库DB中更新任务状态;
步骤三、配置升级任务,升级服务端根据升级任务的配置,根据任务中配置的设备类型、设备数量、设备ID,以及设备升级间隔时间等信息,将任务主体编排成单个设备的延时任务,再将延时任务封装成对应的单个设备升级指令消息;
步骤四、建立RabbitMQ集群,利用多个RabbitMQ服务器通过网络连接形成RabbitMQ集群,RabbitMQ服务器上设有与待升级设备绑定连接的Exchange交换机。所述RabbitMQ服务器在启动服务时创建Exchange交换机,待升级设备在启动之后主动连接RabbitMQ并创建一个独一的Queue队列并以设备的可唯一区分的工控机序列号命名,同时将该队列通过指定的路由键RoutingKey绑定到该Exchange交换机上;
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件),RabbitMQ服务器是用Erlang语言编写的。RabbitMQ集群主要用于实现高可用与负载均衡:
高可用:如果集群中的某些RabbitMQ服务器不可用,客户端还可以连接到其他MQ服务器,不至于影响业务;
负载均衡:在高并发场景下,单台RabbitMQ服务器能处理的消息有限,可以分发给多台服务器,减少消息延迟;
步骤五、升级指令发送,升级服务端将经过步骤三已封装好的单个设备升级指令消息发送至RabbitMQ集群,再依据单个设备升级指令消息中的设备信息,由Exchange交换机点对点推送到对应的待升级设备。具体的,封装好的设备升级指令消息为MQ消息,其通过异步方式由RabbitMQ发送到Exchange交换机,Exchange交换机再将MQ消息通过MQTT协议推送到设备终端;所述MQ消息格式包含:{”devSerialNum”:”111111”,”ipcSerialNum”:”123123”,”taskid”:123123,”fileUrl”:http://xxxx,”executeTime”:25648965745},exchange:dev.apk.upgrade,routingkey:dev-apk-update-设备工控机序列号;
MQTT协议是一种消息列队传输协议,采用订阅、发布机制,订阅者只接收自己已经订阅的数据,非订阅数据则不接收,既保证了必要的数据的交换,又避免了无效数据造成的储存与处理;
步骤六、设备升级,设备终端在接收到升级消息后,为了避免影响当前正在进行的业务,通过后台广播的方式,解析消息并下载升级APK包;在APK包下载完毕之后,选在空闲时间进行静默APK升级,升级完成之后通过MQTT协议上报升级状态,并将升级后的版本信息通知到后台;所述上报的MQTT报文内容包含:{’deviceid”:”1223121”,”devSerialNum”:”111111”,”ipcSerialNum”:”123123”,”msgType”:1,”apkVerNo”:”123123”,”taskid”:123123};
步骤七、更新任务状态,后台根据反馈升级状态取消对应的延时任务,并在数据库DB中更新设备APK更新结果:后台在接收到了APK升级完成之后,比对版本号是否是当前的升级任务版本号,在两个版本号一致的情况下,将该设备升级任务对应的延时任务进行取消,同时将升级任务成功数加1,并在数据库DB中更新设备APK更新结果;后台在接收到上报升级失败后,将该延时任务取消,同时将升级任务失败数加1,并在数据库DB中更新设备APK更新结果;后台将超过时效未上报的设备直接认为任务执行失败,将该延时任务取消,同时将升级任务失败数加1,并在数据库DB中更新设备APK更新结果;通过该方式可以实时的了解设备升级进度;
步骤八、结束升级任务,在步骤二编排的所有延时任务取消时,结束升级任务,同时在数据库DB中更新任务状态和执行结果。
在新设备接入的情况下,其APK更新任务需由新接入设备终端自行决定更新时间节点,可立即更新(三小时内)或定时更新(夜间凌晨12:00);并且根据新接入设备数量可选择局部少量设备更新或大面积设备更新(超过30台);局部少量设备更新时,由升级服务端封装升级指令消息下发到全部设备,大面积设备更新时,由升级服务端封装升级指令消息多批次下发到设备。
本发明通过加入RabbitMQ集群和单个设备独立的Queue队列,避免消息的争抢,同时提高消息消费的准确度;通过结合设备的MQTT消息回调通知,能实时动态了解设备升级状态;RabbitMQ集群、MQTT协议的点对点传送方式能提高设备升级的并发度;通过文件服务与升级服务的分离,避免因为文件服务并发导致升级服务出现异常;通过使用延时任务可以便于对设备升级失败导致任务结束不了进行补偿操作,可以确保设备升级任务在超时之后一定处于结束状态。
另外:需要注意的是,上述具体实施方式仅为本专利的一个优化方案,本领域的技术人员根据上述构思所做的任何改动或改进,均在本专利的保护范围之内。
Claims (8)
1.一种设备远程升级方法,其特征在于:包含以下步骤:
步骤一、上传APK,将新版本APK包上传至文件存储服务端,并获取文件下载地址;
步骤二、创建升级任务,在升级服务端的后台创建远程升级任务,创建完成后启动升级任务,并在数据库DB中更新任务状态;
步骤三、配置升级任务,升级服务端根据升级任务的配置,将任务主体编排成单个设备的延时任务,再将延时任务封装成对应的单个设备升级指令消息;
步骤四、建立RabbitMQ集群,利用多个RabbitMQ服务器通过网络连接形成RabbitMQ集群,RabbitMQ服务器上设有与待升级设备绑定连接的Exchange交换机;
步骤五、升级指令发送,升级服务端将经过步骤三已封装好的单个设备升级指令消息发送至RabbitMQ集群,再依据单个设备升级指令消息中的设备信息,由Exchange交换机点对点推送到对应的待升级设备。
步骤六、设备升级,设备终端在接收到升级消息后,解析消息并下载升级APK包;在APK包下载完毕之后,选在空闲时间进行静默APK升级,升级完成之后上报升级状态,并将升级后的版本信息通知到后台;
步骤七、更新任务状态,后台根据反馈升级状态取消对应的延时任务,并在数据库DB中更新设备APK更新结果;
步骤八、结束升级任务,在步骤二编排的所有延时任务取消时,结束升级任务,同时在数据库DB中更新任务状态和执行结果。
2.根据权利要求1所述的设备远程升级方法,其特征在于:所述文件存储服务端为由单独的ECS服务、阿里云OSS或华为云OBS提供的网络文件存储服务。
3.根据权利要求1所述的设备远程升级方法,其特征在于:所述RabbitMQ服务器在启动服务时创建Exchange交换机,待升级设备在启动之后主动连接RabbitMQ并创建一个独一的Queue队列并以设备的可唯一区分的工控机序列号命名,同时将该队列通过指定的RoutingKey绑定到该Exchange交换机上。
4.根据权利要求1所述的设备远程升级方法,其特征在于:所述步骤五中,封装好的设备升级指令消息为MQ消息,其通过异步方式由RabbitMQ发送到Exchange交换机,Exchange交换机再将MQ消息通过MQTT协议推送到设备终端。
5.根据权利要求4所述的设备远程升级方法,其特征在于:所述MQ消息格式包含:{”devSerialNum”:”111111”,”ipcSerialNum”:”123123”,”taskid”:123123,”fileUrl”:http://xxxx,”executeTime”:25648965745},exchange:dev.apk.upgrade,routingkey:dev-apk-update-设备工控机序列号。
6.根据权利要求4所述的设备远程升级方法,其特征在于:所述步骤六中设备终端升级完成后通过MQTT协议上报升级状态,上报的MQTT报文内容包含:{’deviceid”:”1223121”,”devSerialNum”:”111111”,”ipcSerialNum”:”123123”,”msgType”:1,”apkVerNo”:”123123”,”taskid”:123123}。
7.根据权利要求1所述的设备远程升级方法,其特征在于:步骤七中后台在接收到了APK升级完成之后,比对版本号是否是当前的升级任务版本号,在两个版本号一致的情况下,将该设备升级任务对应的延时任务进行取消,同时将升级任务成功数加1,并在数据库DB中更新设备APK更新结果;后台在接收到上报升级失败后,将该延时任务取消,同时将升级任务失败数加1,并在数据库DB中更新设备APK更新结果;后台将超过时效未上报的设备直接认为任务执行失败,将该延时任务取消,同时将升级任务失败数加1,并在数据库DB中更新设备APK更新结果。
8.根据权利要求1所述的设备远程升级方法,其特征在于:在新设备接入时,其APK更新任务需由新接入设备终端自行决定更新时间节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210976267.9A CN115426261A (zh) | 2022-08-15 | 2022-08-15 | 一种设备远程升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210976267.9A CN115426261A (zh) | 2022-08-15 | 2022-08-15 | 一种设备远程升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115426261A true CN115426261A (zh) | 2022-12-02 |
Family
ID=84199232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210976267.9A Pending CN115426261A (zh) | 2022-08-15 | 2022-08-15 | 一种设备远程升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115426261A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656587A (zh) * | 2018-11-13 | 2019-04-19 | 深圳智链物联科技有限公司 | 一种设备固件的升级方法及装置 |
CN110532009A (zh) * | 2019-08-29 | 2019-12-03 | 厦门市思芯微科技有限公司 | 一种智能设备升级管理系统及方法 |
CN110825416A (zh) * | 2019-11-12 | 2020-02-21 | 嘉兴同禾传感技术有限公司 | 用于远程终端单元固件的远程批量升级方法 |
CN114697214A (zh) * | 2022-03-31 | 2022-07-01 | 四川虹美智能科技有限公司 | 动态配置升级包实现智能设备指定升级的系统及方法 |
-
2022
- 2022-08-15 CN CN202210976267.9A patent/CN115426261A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656587A (zh) * | 2018-11-13 | 2019-04-19 | 深圳智链物联科技有限公司 | 一种设备固件的升级方法及装置 |
CN110532009A (zh) * | 2019-08-29 | 2019-12-03 | 厦门市思芯微科技有限公司 | 一种智能设备升级管理系统及方法 |
CN110825416A (zh) * | 2019-11-12 | 2020-02-21 | 嘉兴同禾传感技术有限公司 | 用于远程终端单元固件的远程批量升级方法 |
CN114697214A (zh) * | 2022-03-31 | 2022-07-01 | 四川虹美智能科技有限公司 | 动态配置升级包实现智能设备指定升级的系统及方法 |
Non-Patent Citations (1)
Title |
---|
快乐的小学渣: "CSDN论坛,【个人笔记】消息队列-RabbitMQ", pages 9, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_43896363/article/details/122526973> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889551B (zh) | 一种智能硬件接入的物联网云平台的方法 | |
CN110557357B (zh) | 一种远程过程调用协议自适应方法、相关装置及服务器 | |
US20070016674A1 (en) | Information exchange system, management server, and method for reducing network load used in the same | |
CN1901517B (zh) | 信息交换系统和管理服务器、终端设备和用于降低网络负荷的方法 | |
CN105472042A (zh) | Web端控制的消息中间件系统及其数据传送方法 | |
CN104363291A (zh) | 一种网络通信中间件实现方法 | |
CN111866063B (zh) | 一种工业物联网ai算法的在线更新系统、方法及装置 | |
JP2009508241A (ja) | 装置管理において、スケジューリング・タスクを処理するための方法およびシステム | |
US10834033B2 (en) | Method and system for transferring messages between messaging systems | |
CN113660316B (zh) | 基于容器云平台的网络资源自适应配置方法、系统及介质 | |
JP3888827B2 (ja) | プログラム置換システム、分散処理システム及びプログラム置換方法 | |
CN111416731A (zh) | 一种基于云端协同边缘节点自适应配置部署的报警系统及方法 | |
CN116319732A (zh) | 一种基于RabbitMQ的消息队列集中配置管理系统及方法 | |
CN112104740B (zh) | 基于国产cpu和os的软件自动推送升级系统及方法 | |
CN114840329A (zh) | 一种基于区块链的云原生混合集成方法 | |
CN108259605B (zh) | 一种基于多数据中心的数据调用系统及方法 | |
US8005941B2 (en) | Method and system for event transmission | |
CN111212119B (zh) | 一种dubbo服务调用方法及系统 | |
CN115426261A (zh) | 一种设备远程升级方法 | |
CN116405547A (zh) | 消息推送方法、装置及处理器、电子设备、存储介质 | |
CN112511595B (zh) | 一种消息推送方法及消息服务系统 | |
CN115208905A (zh) | 设备信息同步方法、装置、系统、电子装置和存储介质 | |
CN111949302B (zh) | 一种用于工业计算机管理系统的即时性更新方法、系统和设备 | |
JP2008065611A (ja) | ソフトウェア更新方式及びソフトウェア更新プログラム | |
CN112804343A (zh) | 分布式服务治理方法及其系统、计算机可读介质 |
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 |