CN118802940A - 大规模物联网设备控制系统构建方法、装置以及电子设备 - Google Patents
大规模物联网设备控制系统构建方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN118802940A CN118802940A CN202311844393.XA CN202311844393A CN118802940A CN 118802940 A CN118802940 A CN 118802940A CN 202311844393 A CN202311844393 A CN 202311844393A CN 118802940 A CN118802940 A CN 118802940A
- Authority
- CN
- China
- Prior art keywords
- mqtt
- algorithm
- control system
- agent
- things
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000004891 communication Methods 0.000 claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims abstract description 17
- 238000012544 monitoring process Methods 0.000 claims description 22
- 230000010354 integration Effects 0.000 claims description 11
- 230000003993 interaction Effects 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 8
- 239000003795 chemical substances by application Substances 0.000 description 76
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000344 soap Substances 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种大规模物联网设备控制系统构建方法、装置以及电子设备,涉及物联网技术领域,相比于基于传统协议的设备控制系统,本公开描述的基于消息队列遥测传输(MQTT)技术的大规模物联网设备控制系统的构建方法所获得的控制系统具有更佳的可扩展性和灵活性,其可以采用分布式架构进行部署,尤其是在分散于多个节点上的MQTT代理中集成算法公式,为提高负载均衡和容错能力提供了可靠保障,并由此配置相应的通信协议以及设备代理,从而可支持多种不同的客户端予以实现,便于适配不同类型的设备与平台,进而实现更加灵活的部署应用。本公开披露的系统构建方式在物联网领域具有广泛的应用前景,例如但不限于工业自动化、智能家居、智能城市等领域。
Description
技术领域
本公开涉及物联网技术领域,尤其是涉及一种大规模物联网设备控制系统构建方法、装置以及电子设备。
背景技术
随着物联网技术的不断发展,越来越多的设备开始连接到互联网,形成了大规模的物联网系统。而这些设备往往具有复杂的功能和大量的数据,因此如何对这些设备进行高效的控制和管理成为了亟待解决的技术问题。
消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,其优点是可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务,从而可以支持设备之间的快速通信和数据传输。由此可见,大规模物联网设备结合MQTT技术可以成为物联网领域中重要的发展方向。
然而,目前基于MQTT的控制技术主要应用于特定领域,而与大规模物联网设备在应用场景、功能范围和关注重点上均存在差异,大规模物联网设备控制系统更侧重于广泛的设备控制、操作和管理,涵盖更多设备类型和应用场景,因此针对本公开关注的大规模物联网设备,有必要形成一种通过MQTT技术实现大规模设备管理、数据传输和远程控制的特定解决方案。
发明内容
鉴于上述问题而提出了本公开。本公开提供了一种大规模物联网设备控制系统构建方法、装置以及电子设备,并相应提供了一种计算机可读存储介质。
根据本公开的一个方面,提供了一种大规模物联网设备控制系统构建方法,包括:
设置用于存储和管理设备数据的数据结构;
部署多个MQTT代理,构建MQTT代理集群;
将预设的算法公式部署到所述MQTT代理集群中;
定义用于设备与系统之间进行数据交互的通信协议;
相应于所述通信协议,分别为各设备部署对应的设备代理。
此外,根据本公开一个方面的大规模物联网设备控制系统构建方法,所述将预设的算法公式部署到所述MQTT代理集群中包括:
预先开发用于设备状态监控以及负载均衡的算法;
将开发的算法集成到MQTT代理集群中;
在MQTT代理容器启动时配置并动态调整算法的参数;
实时监控算法运行及性能。
此外,根据本公开一个方面的大规模物联网设备控制系统构建方法,将算法公式部署到所述MQTT代理集群还包括:将监控得到的信息反馈至负载均衡算法,用于动态调整设备的连接分配。
此外,根据本公开一个方面的大规模物联网设备控制系统构建方法,所述算法公式包括设备代理监控算法:
在MQTT代理中,记录每个设备代理最近一次的上报时间戳,并定时检查所述上报时间戳是否超时;若超时,则判定设备离线或异常,并发送告警。
此外,根据本公开一个方面的大规模物联网设备控制系统构建方法,所述算法公式还包括故障恢复算法:
当发现设备离线或异常时,先向所述设备代理发送设备重启命令;
若重启设备失败,再通过设备代理重启MQTT客户端;
若设备代理重启MQTT客户端失败,再使用备用MQTT代理进行连接;
若备用MQTT代理无法连接,则发送所述告警通知。
此外,根据本公开一个方面的大规模物联网设备控制系统构建方法,所述算法公式还包括用于控制消息的传输质量的服务质量级别控制算法:
根据消息发布者设置的服务质量级别,将发布到主题的消息添加到消息队列中;
根据消息订阅者对应的服务质量级别,选择正确的传输方式;以及,
根据服务质量级别和传输状态,进行消息的重传或确认。
此外,根据本公开一个方面的大规模物联网设备控制系统构建方法,所述通信协议至少包括:设备注册协议、设备状态更新协议、设备指令下发协议、设备组管理协议。
根据本公开另一个方面,提供了一种大规模物联网设备控制系统构建装置,包括:
数据结构设置模块,用于设置用于存储和管理设备数据的数据结构;
MQTT代理部署模块,用于部署多个MQTT代理,构建MQTT代理集群;
算法集成模块,用于将预设的算法公式部署到所述MQTT代理集群中;
交互协议定义模块,用于定义用于设备与系统之间进行数据交互的通信协议;
设备代理部署模块,用于相应于所述通信协议,分别为各设备部署对应的设备代理。
此外,根据本公开一个方面的大规模物联网设备控制系统构建装置,所述算法集成模块包括:
算法开发单元,用于预先开发用于设备状态监控以及负载均衡的算法;
算法集成单元,用于将开发的算法集成到MQTT代理集群中;
算法参数控制单元,用于在MQTT代理容器启动时配置并动态调整算法的参数;
算法监控单元,用于实时监控算法运行及性能。
此外,根据本公开一个方面的大规模物联网设备控制系统构建装置,所述算法集成模块还被配置为将监控得到的信息反馈至负载均衡算法,用于动态调整设备的连接分配。
根据本公开再一个方面,提供了一种电子设备,包括:存储器,用于存储计算机可读指令;以及处理器,用于运行计算机可读指令,使得电子设备执行如上所述的大规模物联网设备控制系统构建方法。
根据本公开又一个方面,提供了一种非瞬时性计算机可读存储介质,用于存储计算机可读指令,当计算机可读指令由处理器执行时,使得处理器执行如上所述的大规模物联网设备控制系统构建方法。
如以下将详细描述的,根据本公开实施例的大规模物联网设备控制系统构建方法、装置、电子设备以及计算机可读存储介质,相比于传统的基于HTTP或者SOAP协议的设备控制系统,本公开基于MQTT技术的大规模物联网设备控制系统的构建方法所获得的控制系统具有更佳的可扩展性和灵活性,其可以采用分布式架构进行部署,尤其是在分散于多个节点上的MQTT代理中集成算法公式,为提高负载均衡和容错能力提供了可靠保障,并由此配置相应的通信协议以及设备代理,从而可支持多种不同的客户端予以实现,便于适配不同类型的设备与平台,进而实现更加灵活的部署应用。本公开披露的系统构建方式在物联网领域具有广泛的应用前景,例如但不限于工业自动化、智能家居、智能城市等领域。
要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是图示根据本公开实施例的大规模物联网设备控制系统构建方法的主流程示意图。
图2是图示根据本公开实施例的MQTT代理部署方法的流程示意图。
图3是图示根据本公开实施例的算法集成方法的流程示意图。
图4是图示根据本公开实施例的设备代理部署方法的流程示意图。
图5是图示根据本公开实施例的大规模物联网设备控制系统构建装置的功能框图。
图6是图示根据本公开实施例的电子设备的硬件框图。
图7是图示根据本公开的实施例的计算机可读存储介质的示意图。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
首先,参照图1到图4描述根据本公开实施例的大规模物联网设备控制系统构建方法。图1是图示根据本公开实施例的大规模物联网设备控制系统构建方法的主流程示意图。图2是进一步图示根据本公开实施例的MQTT代理部署方法的流程示意图。图3是进一步图示根据本公开实施例的算法集成方法的流程示意图。图4是进一步图示根据本公开实施例的设备代理部署方法的流程示意图。
将参照图1到图4详细描述根据本公开实施例的大规模物联网设备控制系统构建方法,主要包括:
步骤S1、设置用于存储和管理设备数据的数据结构;
在基于MQTT技术的大规模物联网设备控制系统中,数据存储是非常重要的环节。例如通过对采集的设备状态数据进行存储并进行后续读取分析,可以为应用程序提供实时的设备状态信息和历史数据,以便进行更加精准和高效的设备控制和管理。在实际操作中,所述数据结构可以包括:设备信息结构体,用于存储设备的基本信息,诸如设备ID、设备类型、设备名称、设备描述、设备所属组等字段;设备状态结构体,用于存储设备的实时状态信息,诸如设备ID、设备状态、设备状态描述、状态更新时间等字段;设备指令结构体,用于存储设备的控制指令信息,诸如设备ID、指令类型、指令参数、指令发送时间等字段;设备组结构体,用于存储设备分组信息,诸如组ID、组名称、组描述等字段;用户信息结构体,用于存储系统用户的信息,诸如用户名、密码、用户类型等字段。
步骤S2、部署多个MQTT代理,构建MQTT代理集群;
为了提高MQTT系统的性能和稳定性,可以采用分布式架构,并将代理分散在多个节点上,以提高负载均衡和容错能力。这里提供一种可以参考的部署方式,结合图2示意,包括:
步骤S21、构建MQTT代理镜像;
例如可以使用Docker等容器化技术构建MQTT代理镜像,并发布到镜像仓库中。
步骤S22、在每台服务器上部署MQTT代理容器;
在每台服务器上,可通过容器编排工具(如Docker Compose、Kubernetes等)部署MQTT代理容器,容器化部署可以提高MQTT代理的可移植性和易部署性。
步骤S23、在MQTT代理容器启动时设置MQTT代理参数;
具体地,在上述MQTT代理容器启动时,可以通过环境变量或配置文件的方式指定MQTT代理参数,如监听端口、数据存储路径、认证方式等。
步骤S24、将多个已配置参数的MQTT代理组成集群。
具体可以通过共享消息队列或数据库等方式,实现消息的同步和负载均衡,例如使用成熟的MQTT代理集群方案(如Eclipse Mosquitto Cluster),当然,也可以根据业务实际需求自行设计予以实现。
步骤S3、将预设的算法公式部署到所述MQTT代理集群中;
为了实现设备状态监控和负载均衡算法,本公开提出将算法公式部署到MQTT代理集群中,具体部署方式可以参考图3,如下示意:
步骤S31、预先开发用于设备状态监控以及负载均衡的算法;
例如可以使用Python、Java等编程语言,开发设备状态监控和负载均衡算法的实现代码,并且可使用成熟的算法库(如Scikit-learn、TensorFlow等)来加速开发过程。
步骤S32、将开发的算法集成到MQTT代理集群中;
具体可以通过编写MQTT代理插件、RESTful API等方式实现,在集成算法公式的过程中,还需要确保算法的实时性和可靠性,以避免对系统性能的影响。
步骤S33、在MQTT代理容器启动时配置并动态调整算法的参数;
具体地,在MQTT代理集群启动时,可以通过环境变量或配置文件的方式指定上述算法公式的参数、模型路径等,具体可以根据实际需求动态调整算法的参数,以优化算法的性能和准确性。
步骤S34、实时监控算法运行及性能。
在实际操作中,可以通过集成监控工具(如Prometheus、Grafana等),实时监控算法的运行情况和性能指标,以便及时发现问题并进行调整。更佳地,在另一些较佳实施例中,还可以将监控得到的信息反馈至负载均衡的算法,用于动态调整设备的连接分配。
步骤S4、定义用于设备与系统之间进行数据交互的通信协议;
所述通信协议与设备控制及指令交互相关,可以包括但不限于:
(1)设备注册协议:结合与设备进行交互的实际场景而言,为了使MQTT代理能够正确处理设备状态信息和控制指令,需要为每个设备分配一个唯一的ID,并在MQTT代理上进行注册;同时,需要为每个设备设置订阅主题,以便MQTT代理能够向设备代理发送控制指令。在实际的应用中,设备注册和订阅可以通过MQTT协议中的CONNECT、SUBSCRIBE和UNSUBSCRIBE等命令实现。并且,为了保证系统的稳定性以及数据传输的安全性,可以使用TLS/SSL等加密协议来保护设备和MQTT代理之间的通信,此外,还可以使用访问控制列表或基于角色的访问控制来限制客户端对特定主题的访问。该协议举例来说,当设备首次连接到MQTT代理时,需要进行设备注册操作;注册时,设备会向MQTT代理发送注册请求,并携带设备信息等数据;MQTT代理在接收到注册请求后,将设备数据存储到数据库中,并返回注册成功的响应消息给设备。
(2)设备状态更新协议:结合与设备进行交互的实际场景而言,设备状态上报主要用于向应用程序上报设备的状态信息,例如设备的工作状态、传感器采集的数据等,设备将状态信息发布到MQTT代理对应主题,MQTT代理将状态信息转发给应用程序,应用程序根据状态信息进行处理。该协议举例来说,设备可定期向MQTT代理发送状态更新请求,以更新自身的状态信息;状态更新请求中包含设备ID、设备状态等信息;MQTT代理在接收到状态更新请求后,将设备状态更新到数据库中,并返回状态更新成功的响应消息给设备。
(3)设备指令下发协议:结合与设备进行交互的实际场景而言,发送控制指令是基于MQTT技术的大规模物联网设备控制系统中的关键功能之一,主要用于向指定设备发送控制指令,以便控制设备的运行状态。该协议举例来说,系统管理员可以通过Web界面(应用程序)向指定设备下发指令,指令下发请求中包含设备ID、指令类型、指令参数等信息;MQTT代理接收到指令下发请求后,将指令信息存储到数据库中,并向指定设备发送指令执行请求;设备接收到指令执行请求后,执行相应的操作,并将执行结果返回给MQTT代理。
(4)设备组管理协议:举例来说,系统管理员可以通过Web界面对设备组进行管理,包括添加设备组、删除设备组、编辑设备组等操作。设备组管理请求中包含设备组信息、操作类型等信息。MQTT代理接收到设备组管理请求后,将相应的操作应用到数据库中。
步骤S5、相应于所述通信协议,分别为各设备部署对应的设备代理。
为了方便按照上述预定义的协议实现设备与MQTT代理之间的通信,本公开提出为每个设备部署对应的设备代理,结合图4,具体部署方式可以参考如下:
步骤S51、构建设备代理;
在实际操作中,可以使用Python、C++、Java等编程语言,编写设备代理的实现代码,设备代理需要实现前述定义的MQTT协议,以便与MQTT代理之间进行通信,并处理设备的上报和控制指令。
步骤S52、为每个设备部署与MQTT代理保持长连接的设备代理;
在实际部署过程中可以通过配置文件或命令行参数的方式,指定MQTT代理的地址和端口、设备ID等参数。且设备代理需要保持长连接,并定时向MQTT代理发送心跳包以维持连接。以及,如上提及的设备代理需要实现MQTT协议,并处理设备的上报和控制指令。
对应前文提及在MQTT代理中集成算法,除了注册认证、状态维护、下发指令等算法,为了实现设备状态的监控和故障恢复,主要还包括设备代理监控算法:
在MQTT代理中,记录每个设备代理最近一次的上报时间戳,并定时检查所述上报时间戳是否超时;若超时,则认为设备离线或异常,并发送告警通知。基于此,进一步地,还包括故障恢复算法:
当发现设备离线或异常时,先向设备代理发送设备重启命令(尝试通过重启设备的方式恢复故障);
若重启设备失败,则通过设备代理重启MQTT客户端(尝试以重新连接MQTT代理的方式恢复故障);
若设备代理重启MQTT客户端失败,则使用备用MQTT代理进行连接(尝试以冗余代理再次连接);
若备用MQTT代理无法连接,则(向相关人员)发送故障告警通知,之后便进入人工干预流程(对此,本公开不做限定和赘述)。
步骤S53、定期更新设备代理的版本。
为了确保设备代理的功能和性能,需要定期更新设备代理的版本,在更新设备代理的过程中,需要注意设备连接的稳定性和兼容性,以避免对业务的影响。
还可以补充说明的是,相应于前文提及的交互安全策略,为了确保设备连接的安全性,可以预先在前述MQTT代理中配置设备认证机制,如用户名密码认证、TLS证书认证等,从而使得设备代理在连接MQTT代理时,需要提供相应的认证信息。
最后结合前述各个实施例,在实际进行大规模物联网设备控制时,可以参考下述发布与订阅的实现方式:
当一个消息发布到一个主题时,需要将该消息发送给所有已经订阅该主题的设备代理,具体来说,先遍历所有订阅关系,找到订阅主题与消息主题匹配的订阅关系;然后根据订阅关系中的服务质量级别(在MQTT协议中可设置三个级别,即QoS0、QoS1和QoS2)和订阅者ID,选择对应的发送方式(QoS0:一次性发送;QoS1:发送并等待确认;QoS2:发送并等待确认和回复)将消息发送给订阅者。
由此,这里还涉及了前文可以集成在MQTT代理中的QoS级别控制算法,其用于控制消息的传输质量,具体包括:
根据消息发布者设置的QoS级别(如前述三个级别),将发布到主题的消息添加到消息队列中;
根据消息订阅者对应的QoS级别,选择正确的传输方式;以及,
根据QoS级别和传输状态,进行消息的重传或确认。
以上,描述了根据本公开实施例的大规模物联网设备控制系统构建方法。以下,将进一步描述用于实现上述控制方法的大规模物联网设备控制系统构建装置。图5是图示根据本公开实施例的大规模物联网设备控制系统构建装置的功能框图。
如图5所示,根据本公开实施例的大规模物联网设备控制系统构建装置500包括:
数据结构设置模块501,用于设置用于存储和管理设备数据的数据结构;
MQTT代理部署模块502,用于部署多个MQTT代理,构建MQTT代理集群;
算法集成模块503,用于将预设的算法公式部署到所述MQTT代理集群中;
交互协议定义模块504,用于定义用于设备与系统之间进行数据交互的通信协议;
设备代理部署模块505,用于相应于所述通信协议,分别为各设备部署对应的设备代理。
进一步地,所述算法集成模块包括:
算法开发单元,用于预先开发用于设备状态监控以及负载均衡的算法;
算法集成单元,用于将开发的算法集成到MQTT代理集群中;
算法参数控制单元,用于在MQTT代理容器启动时配置并动态调整算法的参数;
算法监控单元,用于实时监控算法运行及性能。
进一步地,所述算法集成模块还被配置为将监控得到的信息反馈至负载均衡算法,用于动态调整设备的连接分配。
图6是图示根据本公开实施例的电子设备600的硬件框图。根据本公开实施例的电子设备至少包括处理器;以及存储器,用于存储计算机可读指令。当计算机可读指令由处理器加载并运行时,处理器执行如上所述的大规模物联网设备控制系统构建方法。
图6所示的电子设备600具体地包括:中央处理单元(CPU)601、图形处理单元(GPU)602和主存储器603。这些单元通过总线604互相连接。中央处理单元(CPU)601和/或图形处理单元(GPU)602可以用作上述处理器,主存储器603可以用作上述存储计算机可读指令的存储器。此外,电子设备600还可以包括通信单元605、存储单元606、输出单元607、输入单元608和外部设备609,这些单元也连接到总线604。
图7是图示根据本公开的实施例的计算机可读存储介质的示意图。如图7所示,根据本公开实施例的计算机可读存储介质700其上存储有计算机可读指令701。当所述计算机可读指令701由处理器运行时,执行参照以上附图描述的根据本公开实施例的大规模物联网设备控制系统构建方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存、光盘、磁盘等。
以上,参照附图描述了根据本公开实施例的大规模物联网设备控制系统构建方法、装置、电子设备以及计算机可读存储介质,主要构思在于,相比于传统的基于HTTP或者SOAP协议的设备控制系统,本公开描述的基于MQTT技术的大规模物联网设备控制系统的构建方法所获得的控制系统具有更佳的可扩展性和灵活性,其可以采用分布式架构进行部署,尤其是在分散于多个节点上的MQTT代理中集成算法公式,为提高负载均衡和容错能力提供了可靠保障,并由此配置相应的通信协议以及设备代理,从而可支持多种不同的客户端予以实现,便于适配不同类型的设备与平台,进而实现更加灵活的部署应用。本公开披露的系统构建方式在物联网领域具有广泛的应用前景,例如但不限于工业自动化、智能家居、智能城市等领域。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种大规模物联网设备控制系统构建方法,其特征在于,所述构建方法包括:
设置用于存储和管理设备数据的数据结构;
部署多个消息队列遥测传输MQTT代理,构建MQTT代理集群;
将预设的算法公式部署到所述MQTT代理集群中;
定义用于设备与系统之间进行数据交互的通信协议;
相应于所述通信协议,分别为各设备部署对应的设备代理。
2.如权利要求1所述的大规模物联网设备控制系统构建方法,其特征在于,所述将预设的算法公式部署到所述MQTT代理集群中包括:
预先开发用于设备状态监控以及负载均衡的算法;
将开发的算法集成到MQTT代理集群中;
在MQTT代理容器启动时配置并动态调整算法的参数;
实时监控算法运行及性能。
3.如权利要求2所述的大规模物联网设备控制系统构建方法,其特征在于,将算法公式部署到所述MQTT代理集群还包括:将监控得到的信息反馈至负载均衡算法,用于动态调整设备的连接分配。
4.如权利要求1所述的大规模物联网设备控制系统构建方法,其特征在于,所述算法公式包括设备代理监控算法:
在MQTT代理中,记录每个设备代理最近一次的上报时间戳,并定时检查所述上报时间戳是否超时;若超时,则判定设备离线或异常,并发送告警通知。
5.如权利要求4所述的大规模物联网设备控制系统构建方法,其特征在于,所述算法公式还包括故障恢复算法:
当发现设备离线或异常时,先向所述设备代理发送设备重启命令;
若重启设备失败,再通过设备代理重启MQTT客户端;
若设备代理重启MQTT客户端失败,再使用备用MQTT代理进行连接;
若备用MQTT代理无法连接,则发送所述告警通知。
6.如权利要求1所述的大规模物联网设备控制系统构建方法,其特征在于,所述算法公式还包括用于控制消息的传输质量的服务质量级别控制算法:
根据消息发布者设置的服务质量级别,将发布到主题的消息添加到消息队列中;
根据消息订阅者对应的服务质量级别,选择正确的传输方式;以及,
根据服务质量级别和传输状态,进行消息的重传或确认。
7.如权利要求1~6任一项所述的大规模物联网设备控制系统构建方法,其特征在于,所述通信协议至少包括:设备注册协议、设备状态更新协议、设备指令下发协议、设备组管理协议。
8.一种大规模物联网设备控制系统构建装置,其特征在于,所述构建装置包括:
数据结构设置模块,用于设置用于存储和管理设备数据的数据结构;
消息队列遥测传输MQTT代理部署模块,用于部署多个MQTT代理,构建MQTT代理集群;
算法集成模块,用于将预设的算法公式部署到所述MQTT代理集群中;
交互协议定义模块,用于定义用于设备与系统之间进行数据交互的通信协议;
设备代理部署模块,用于相应于所述通信协议,分别为各设备部署对应的设备代理。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机可读指令;以及
处理器,用于运行所述计算机可读指令,使得所述电子设备执行如权利要求1到7的任一项所述的大规模物联网设备控制系统构建方法。
10.一种非瞬时性计算机可读存储介质,用于存储计算机可读指令,其特征在于,当所述计算机可读指令由处理器执行时,使得所述处理器执行如权利要求1到7的任一项所述的大规模物联网设备控制系统构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311844393.XA CN118802940A (zh) | 2023-12-28 | 2023-12-28 | 大规模物联网设备控制系统构建方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311844393.XA CN118802940A (zh) | 2023-12-28 | 2023-12-28 | 大规模物联网设备控制系统构建方法、装置以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118802940A true CN118802940A (zh) | 2024-10-18 |
Family
ID=93026022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311844393.XA Pending CN118802940A (zh) | 2023-12-28 | 2023-12-28 | 大规模物联网设备控制系统构建方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118802940A (zh) |
-
2023
- 2023-12-28 CN CN202311844393.XA patent/CN118802940A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230297408A1 (en) | Modular process control system | |
US8478861B2 (en) | Managing distributed devices with limited connectivity | |
US9459926B2 (en) | System and method for managing a computing cluster | |
US9553831B2 (en) | Adaptive publish/subscribe system | |
US11281476B2 (en) | Plugin framework to support zero touch management of heterogeneous infrastructure elements across distributed data centers | |
US9521039B2 (en) | Method and system for managing devices in batches | |
US20120089239A1 (en) | Intelligent interface for a distributed control system | |
US8484285B2 (en) | Method and device for communication between a device and a server | |
CN102521099A (zh) | 一种进程监控方法及进程监控系统 | |
KR20120031303A (ko) | 자동화 관리 서비스들을 제공하기 위한 방법, 시스템 및 장치 | |
US11522963B2 (en) | Distributed federation of endpoints with proxy synchronization | |
CN118802940A (zh) | 大规模物联网设备控制系统构建方法、装置以及电子设备 | |
US20240036537A1 (en) | Building management system with containerization for a generic gateway | |
JP6575311B2 (ja) | ネットワークシステムおよび制御装置 | |
US20030065707A1 (en) | System and method for servicing messages between device controller nodes and via a lon network | |
CN112787868A (zh) | 一种信息同步的方法和装置 | |
CN116349221A (zh) | 网络系统以及控制装置 | |
JP2005123766A (ja) | 通信制御装置 | |
US20240323074A1 (en) | Computer-Implemented Method for Operating a Terminal with High Availability in a Network | |
CN105323088A (zh) | 跳板处理方法及装置 | |
KR101740799B1 (ko) | Sdn 환경에서 네트워크 서비스를 위한 장애 극복 방법 | |
CN112583621B (zh) | 一种自动退出试运行的方法、设备和系统 | |
US20240111263A1 (en) | Systems and methods for optimization and autoconfiguration of edge processing devices | |
Lin et al. | Embedded approach for device inventory collection utilizing OS programmability | |
CN117914922A (zh) | 基于分布式去中心化的设备管理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |