一种设备连接消息中间件的方法、物联网系统技术方案

技术编号:30901205 阅读:15 留言:0更新日期:2021-11-22 23:45
本发明专利技术属于通信领域,公开了一种设备连接消息中间件的方法,包括如下步骤:步骤1:云平台接收设备发送的激活请求,所述云平台存储有多个消息中间件的地址以及纪录有各消息中间件连接的设备数量;步骤2:为设备分配一个消息中间件、将该消息中间件的地址发送至设备;设备通过地址连接对应的消息中间件,并通过消息中间件和云平台进行通信连接。中间件和云平台进行通信连接。中间件和云平台进行通信连接。

【技术实现步骤摘要】
一种设备连接消息中间件的方法、物联网系统


[0001]本专利技术涉及通信领域,具体为一种设备连接消息中间件的方法、物联网系统。

技术介绍

[0002]消息中间件ActiveMQ的性能比较差,经过大批量的技术验证,ActiveMQ按照最佳的最大接入设备量是1万台,若需要接入几万、十几万甚至更多的设备,ActiveMQ的无法支撑的。
[0003]对于有多个消息中间件的情况,CN201910520789.6公开了一种减少消息中间件连接数量的方法及其系统,方法包括:客户端发送消息至代理层;代理层中的代理服务依据预设的分配策略,将所述消息分配至相应的连接服务;接收到所述消息的连接服务将所述消息发送至所述消息中指定的MQ连接件。
[0004]该方法通过代理层进行消息中间件的负载均衡,具体来说,消息先发送至代理层的连接服务,由连接服务负责消息发送至哪个中间件。
[0005]这种方法在动辄几十万台设备的应用场景中时也是无能为力的,要求连接服务有较大的数据处理能力。
[0006]所以,本案解决的技术问题是:如何实现多个消息中间件存在的条件下,设备如何更为合适的选择消息中间件和云平台进行通信。

技术实现思路

[0007]本专利技术的目的在于提供一种设备连接消息中间件的方法,该方法通过多个消息中间件来负载上万台设备,由云平台根据规则来调配消息中间件的资源,实现了上万台设备的基于消息中间件的稳定通信连接。
[0008]本专利技术还公开了一种物联网系统。
[0009]为实现上述目的,本专利技术提供如下技术方案:一种设备连接消息中间件的方法,包括如下步骤:
[0010]步骤1:云平台接收设备发送的激活请求,所述云平台存储有多个消息中间件的地址以及纪录有各消息中间件连接的设备数量;
[0011]步骤2:为设备分配一个消息中间件、将该消息中间件的地址发送至设备;设备通过地址连接对应的消息中间件,并通过消息中间件和云平台进行通信连接。
[0012]在上述的设备连接消息中间件的方法中,当设备无法和云平台分配的消息中间件建立通信连接时,设备向云平台发送激活请求。
[0013]在上述的设备连接消息中间件的方法中,当设备从云平台移除时,云平台会通过jmx访问ActiveMQ进行断开设备连接。
[0014]JMX(java management Extensions)即java管理扩展,是一个为应用程序,设备,系统等植入管理功能的框架.JMX可以跨越一系列异构操作系统平台,系统体系结构和网络传输协议,灵活开发无缝集成的系统,网络和服务管理应用。
[0015]ActiveMQ开放JMX的接口给外部系统增强功能使用,可通过ActiveMQ的接口进行断开客户端的连接。
[0016]在上述的设备连接消息中间件的方法中,所述步骤2中,根据各消息中间件上所连接的设备的数量,选择连接设备数量最少的消息中间件分配给设备。
[0017]在上述的设备连接消息中间件的方法中,当为设备分配了一个消息中间件之后,更新该消息中间件连接的设备数量的纪录。
[0018]在上述的设备连接消息中间件的方法中,所述消息中间件为ActiveMQ消息中间件。
[0019]同时,本专利技术还公开了一种物联网系统,包括云平台、多个消息中间件;
[0020]所述云平台包括如下模块:
[0021]请求接收模块:用于接收设备发送的激活请求,所述云平台存储有多个消息中间件的地址以及纪录有各消息中间件连接的设备数量;
[0022]消息中间件分配模块:用于根据激活请求为设备分配一个消息中间件、将该消息中间件的地址发送至设备;设备通过地址连接对应的消息中间件,并通过消息中间件和云平台进行通信连接;
[0023]设备发送激活请求给请求接收模块,并接收消息中间件分配模块发送的消息中间件的地址;设备通过消息中间件的地址连接消息中间件,与云平台建立通信连接。
[0024]在上述的物联网系统中,所述云平台还包括断开设备连接模块:当设备从云平台移除时,用于通过jmx访问ActiveMQ进行断开设备连接。
[0025]在上述的物联网系统中,所述消息中间件分配模块还用于为设备分配了一个消息中间件之后,更新该消息中间件连接的设备数量的纪录。
[0026]在上述的物联网系统中,所述消息中间件分配模块用于根据各消息中间件上所连接的设备的数量,选择连接设备数量最少的消息中间件分配给设备;
[0027]所述消息中间件为ActiveMQ消息中间件。
[0028]与现有技术相比,本专利技术的有益效果是:
[0029]本专利技术通过多个ActiveMQ来负载上万台设备,由平台根据规则来调配ActiveMQ的资源,无需代理层进行消息的转发处理,可实现整个物联网系统中的设备处于最佳的通信状态。
附图说明
[0030]图1为本专利技术的实施例1的设备、消息中间件、云平台之间的数据交互流程;
[0031]图2为本专利技术的实施例1的消息中间件发生故障时的交互流程;
[0032]图3为本专利技术的实施例1的云平台移除设备时的交互流程;
[0033]图4为本专利技术的实施例1的流程框图;
[0034]图5为本专利技术的实施例2的结构框图;
[0035]图6为本专利技术的实施例1中设备进行连接鉴权的交互过程;
[0036]图7为本专利技术的实施例1中设备删除设备的数据交互过程。
具体实施方式
[0037]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0038]实施例1
[0039]如图1

4,一种设备连接消息中间件的方法,包括如下步骤:
[0040]步骤1:云平台接收设备发送的激活请求,所述云平台存储有多个消息中间件的地址以及纪录有各消息中间件连接的设备数量;每当为设备分配了一个消息中间件之后,更新该消息中间件连接的设备数量的纪录。
[0041]本专利技术的消息中间件一般为ActiveMQ消息中间件,但是并不排斥其他类型的消息中间件,比如RabbitMQ,Kafka,RocketMQ等。
[0042]设备发送的激活请求包含了设备的ID,在云平台中预先存储有设备的ID以及为该设备分配的账号和密码;当云平台接受到激活请求后,进行步骤2。
[0043]步骤2:为设备分配一个消息中间件、将该消息中间件的地址发送至设备;设备通过地址连接对应的消息中间件,并通过消息中间件和云平台进行通信连接。
[0044]为设备分配一个消息中间件的一种可选择的策略为:根据各消息中间件上所连接的设备的数量,选择连接设备数量最少的消息中间件分配给设备。
[0045]但是也可以选择其他策略,比本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种设备连接消息中间件的方法,其特征在于,包括如下步骤:步骤1:云平台接收设备发送的激活请求,所述云平台存储有多个消息中间件的地址以及纪录有各消息中间件连接的设备数量;步骤2:为设备分配一个消息中间件、将该消息中间件的地址发送至设备;设备通过地址连接对应的消息中间件,并通过消息中间件和云平台进行通信连接。2.根据权利要求1所述的设备连接消息中间件的方法,其特征在于,当设备无法和云平台分配的消息中间件建立通信连接时,设备向云平台发送激活请求。3.根据权利要求1所述的设备连接消息中间件的方法,其特征在于,当设备从云平台移除时,云平台会通过jmx访问ActiveMQ进行断开设备连接的操作并删除云平台中存储的该设备的账号和密码;所述设备通过地址连接对应的消息中间件的方法为:设备将连接请求通过地址发送给消息中间件;所述连接请求包含了云平台分配给设备的账号和密码;消息中间件生成鉴权请求并将鉴权请求、账号和密码发送给云平台;云平台根据鉴权请求对账号和密码进行鉴权;若云平台将其存储的该设备的账号和密码删除,则云平台鉴权失败,设备无法连接消息中间件。4.根据权利要求1所述的设备连接消息中间件的方法,其特征在于,所述步骤2中,根据各消息中间件上所连接的设备的数量,选择连接设备数量最少的消息中间件分配给设备。5.根据权利要求1所述的设备连接消息中间件的方法,其特征在于,当为设备分配了一个消息中...

【专利技术属性】
技术研发人员:王小青何奎曹连峰陶洋
申请(专利权)人:广州鲁邦通智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1