一种基于EMQX服务器的机器远程控制方法和装置与流程

文档序号:34708843发布日期:2023-07-07 13:22阅读:39来源:国知局
一种基于EMQX服务器的机器远程控制方法和装置与流程

本发明属于互联网领域,尤其涉及到一种基于emqx服务器的机器远程控制方法。


背景技术:

1、随着物联网的发展以及国内工业物联网的转型,越来越多的工业设备、传感器等不断融入到工业生产的各个环节,以提高生产效率、降低生产成本。由于目前工业物联网处于起步阶段,基础支持力量薄弱,并且对于中小型企业来说由于人才和资金的限制工业物联网的建设成本过高。

2、在中小型企业进行工业物联网的转型过程中,需要对相关设备进行统一管理,在进行统一管理的过程中不但保证与机器通信外,还要解决一些问题,比如:部署在工厂生产线的机器设备很多情况下都是在弱网条件下工作的,相应的机器设备在上传信息的质量和效率得不到保障、机器与服务器的通信确认无法保证安全、以及对机器的控制、上下线监测、故障日志拉取、重启设备等无法做到监测,相应也无法做出反应;因此如何实现一个高效、可靠的物联网控制系统显得尤为重要。


技术实现思路

1、本发明提供一种基于emqx服务器的机器远程控制方法,解决的上述问题。

2、为解决上述问题,本发明提供的技术方案如下:一种基于emqx服务器的机器远程控制方法,其步骤如下:

3、根据客户端接入emqx服务器时机,制定鉴权模型,所述鉴权模型包括动态鉴权模型和静态鉴权模型;

4、对客户端接入emqx服务器时,emqx服务器将消息发送emq-server进行鉴权、webhook事件处理和消息记录;

5、mq-server将消息转换为kafka对应消息,并发送给发布微服务器来消费kafka消息;

6、发布微服务器与客户端的进行通信确认,完成对客户端指令下达;发布系统前端web将消息发送给发布系统后台服务,后台服务接收到消息后经过包装加工,再发送到emqx服务器供客户端接收,客户端接收到指令后会完成对应的任务,然后返回结果给发布系统;

7、emq-server进行鉴权时采用自定义消息确认机制进行消息发送和接受,并对消息做幂等校验处理。

8、优选的技术方案;所述动态鉴权模型是针对接入时间和数量都不确定的客户端,采用动态密钥的方式接入到服务器;动态密钥即以当前客户端id、当前时间戳和保密字符串做加密运算生成一个动态密钥;客户端接入时需要携带动态密钥接入到emq-server进行判断。

9、优选的技术方案;静态鉴权模型针对接入时间和数量比较稳定的客户端,采用分配密钥的方式接入到服务器;静态鉴权模型是对长期稳定连接emq服务器的客户端直接分配由指定id和密钥数据形成静态密钥,客户端接入时需要携带静态密钥接入到emq-server进行判断,静态密钥是存储在emq-server鉴权管理列表内部。

10、优选的技术方案;对客户端接入emqx服务器时,emq-server对客服端进行鉴权,其步骤如下:

11、判断客户端使用的鉴权模型的类别是静态鉴权模型还是动态鉴权模型;

12、当鉴权模型为动态模型时,emq-server进行判断动态密钥是否在有效期内;

13、动态密钥在有效期内,emq-server利用动态密钥生成的算法来匹配动态密钥是否正确;

14、匹配的动态密钥为正确时,则完成鉴权。

15、优选的技术方案;当鉴权模型为静态模型时,emq-server中鉴权管理列表内容与静态密钥进行匹配;

16、静态密钥匹配为正确时,则完成鉴权。

17、优选的技术方案;所述自定义消息确认机制:每个客户端在发送消息时都携带一个唯一的id号,并且统一以最多一次的消息级别来发送;对应的客户端接收到消息后,必须回复一个包含此唯一id号的ack确认消息,并且统一以最多一次的消息级别发送;如果发送方客户端没有接收到消费方客户端的ack确认消息,需要在一定时间之内重试。

18、优选的技术方案;emqx服务器还响应客户端的webhook事件,所述webhook事件包括上线、下线、订阅主题、取消订阅主题、发布消息的相关信息,将监听设备的上下线事件转换成对应的kafka消息并发送,由发布微服务器去消费kafka消息,从而实现记录设备的上下线历史记录。

19、优选的技术方案;mq-server能根据不同的客户端类型制定客户端消息主题订阅规则;当客户端上线并开始订阅或取消消息主题时,会根据所述客户端消息主题订阅规则判断当前客户端是否有权限订阅或取消该消息主题;emq-server还负责记录客户端发布的消息,当监听到客户端发布消息的事件时,直接将消息相关内容存储到mongodb数据库。

20、优选的技术方案;发布系统可以创建客户端升级任务;客户端在线时,发布微服务器直接发送客户端的升级指令到emqx服务器,对应客户端从emqx服务器获取到升级指令后会自动下载升级包并升级,完成后返回结果给发布微服务器;

21、客户端不在线,则会在客户端上线后检测是否有未完成的升级任务,若有则启动升级任务,完成升级。

22、一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时所述一种基于emqx服务器的机器远程控制方法。

23、相对于现有技术的有益效果是,采用上述方案,本发明基于发布微服务的架构模式,具有更高的扩展性,创建了可高并发,高可用,可集群化部署的机器控制系统,同时得益于emqx服务器的高吞吐量,支撑了十万级以上的机器同时在线,其中使用的mqtt协议极大的提高了客户端在弱网环境下的消息接收成功率,改善机器在弱网条件下的信息上传能力;同时自定义的emq服务器完成了客户端鉴权,保证了系统的信息安全和保证网络安全;集成的kafka消息队列以及发布系统实现了与设备的即时通信交互,确保后台系统与客户端的通信消息被成功接收;通过emq服务器响应webhook事件,监测设备和后台客户端能够及时做出相应的反应,使得对设备的运维能力大大增强。



技术特征:

1.一种基于emqx服务器的机器远程控制方法,其特征在于;其步骤如下:

2.根据权利要求1所述一种基于emqx服务器的机器远程控制方法,其特征在于;所述动态鉴权模型是针对接入时间和数量都不确定的客户端,采用动态密钥的方式接入到服务器;动态密钥即以当前客户端id、当前时间戳和保密字符串做加密运算生成一个动态密钥;客户端接入时需要携带动态密钥接入到emq-server进行判断。

3.根据权利要求2所述一种基于emqx服务器的机器远程控制方法,其特征在于;静态鉴权模型针对接入时间和数量比较稳定的客户端,采用分配密钥的方式接入到服务器;静态鉴权模型是对长期稳定连接emq服务器的客户端直接分配由指定id和密钥数据形成静态密钥,客户端接入时需要携带静态密钥接入到emq-server进行判断,静态密钥是存储在emq-server鉴权管理列表内部。

4.根据权利要求3所述一种基于emqx服务器的机器远程控制方法,其特征在于;对客户端接入emqx服务器时,emq-server对客服端进行鉴权,其步骤如下:

5.根据权利要求4所述一种基于emqx服务器的机器远程控制方法,其特征在于;当鉴权模型为静态模型时,emq-server中鉴权管理列表内容与静态密钥进行匹配;

6.根据权利要求1所述一种基于emqx服务器的机器远程控制方法,其特征在于;所述自定义消息确认机制:每个客户端在发送消息时都携带一个唯一的id号,并且统一以最多一次的消息级别来发送;对应的客户端接收到消息后,必须回复一个包含此唯一id号的ack确认消息,并且统一以最多一次的消息级别发送;如果发送方客户端没有接收到消费方客户端的ack确认消息,需要在一定时间之内重试。

7.根据权利要求1所述一种基于emqx服务器的机器远程控制方法,其特征在于;emqx服务器还响应客户端的webhook事件,所述webhook事件包括上线、下线、订阅主题、取消订阅主题、发布消息的相关信息,将监听设备的上下线事件转换成对应的kafka消息并发送,由发布微服务器去消费kafka消息,从而实现记录设备的上下线历史记录。

8.根据权利要求7所述一种基于emqx服务器的机器远程控制方法,其特征在于;mq-server能根据不同的客户端类型制定客户端消息主题订阅规则;当客户端上线并开始订阅或取消消息主题时,会根据所述客户端消息主题订阅规则判断当前客户端是否有权限订阅或取消该消息主题;emq-server还负责记录客户端发布的消息,当监听到客户端发布消息的事件时,直接将消息相关内容存储到mongodb数据库。

9.根据权利要求8所述一种基于emqx服务器的机器远程控制方法,其特征在于;发布系统可以创建客户端升级任务;客户端在线时,发布微服务器直接发送客户端的升级指令到emqx服务器,对应客户端从emqx服务器获取到升级指令后会自动下载升级包并升级,完成后返回结果给发布微服务器;

10.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述一种基于emqx服务器的机器远程控制方法的步骤。


技术总结
本发明涉及互联网领域,具体公开一种基于EMQX服务器的机器远程控制方法,根据客户端接入EMQX服务器时机制定鉴权模型,对客户端接入EMQX服务器时,EMQX服务器将消息发送EMQ‑SERVER进行鉴权、webhook事件处理和消息记录;MQ‑SERVER将消息转换为Kafka对应消息,并发送给发布微服务器来消费Kafka消息;发布微服务器与客户端的进行通信确认完成对客户端指令下达;客户端接收指令完成任务,返回结果给发布系统;使用MQTT协议提高客户端在弱网环境下消息接收成功率;自定义EMQ服务器完成了客户端鉴权,保证了系统的信息安全和保证网络安全;集成的Kafka消息队列以及发布系统实现了与设备的即时通信交互,确保后台系统与客户端的通信消息被成功接收;使得对设备的运维能力大大增强。

技术研发人员:肖展翔,李波,方兴清,幸广辉,石海洋,云浩,周建勇,陈超,田婷婷
受保护的技术使用者:深圳市坤同智能仓储科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1