本发明涉及物联网,尤其是涉及一种分区接入物联网设备的emq架构系统及消息处理方法。
背景技术:
1、目前,物联网设备越来越多的进入我们的生活,并且物联网设备可以通过连接wifi,使得我们可以通过手机下载app进而利用app对物联网设备进行不受距离限制的控制。但是随着物联网设备使用的越来越多,使得emq集群不断增加节点,但是随着emq集群的节点越来越多,emq集群的效率越来越低。目前emq集群在11个节点的时候理论支撑最大的链接为400万,但是实际情况是400万链接已经是风险阀值,相应的任何闪断都会给智汇家平台带来较大风险,届时一旦有闪断需要重新部署升级,重新部署升级对于物联网设备的重新链接都是巨大风险,甚至存在无法重新链接的问题,所以不能用一个集群来支撑400万的链接。其中,emq是指物联网实时消息引擎。
技术实现思路
1、针对以上至少一个技术问题,本发明实施例提供一种分区接入物联网设备的emq架构系统及消息处理方法。
2、根据第一方面,本发明实施例提供的分区接入物联网设备的emq架构系统,所述系统包括至少一个第一emq集群、协调服务端和消息交换端,其中:
3、所述协调服务端与各个物联网设备连接,所述协调服务端用于在接收到物联网设备发送来的地址获取请求时,根据各个第一emq集群的当前负载量选择一个负载量小于预设阈值的第一emq集群,将该第一emq集群的地址返回至所述物联网设备,以使所述物联网设备根据所述地址连接至该第一emq集群;
4、每一个第一emq集群用于将与该第一emq集群连接的物联网设备发送来的上报消息发送给所述消息交换端,将所述消息交换端发送来的下发消息发送给对应的物联网设备;
5、所述消息交换端分别与各个第一emq集群和云端连接,所述消息交换端用于将每一个第一emq集群发送来的所述上报消息转发给所述云端,将云端发送来的下发消息转发给对应的物联网设备所连接的第一emq集群。
6、根据第二方面,本发明实施例提供的消息处理方法,所述方法基于第一方面提供的系统实现,所述方法包括:
7、所述协调服务端在接收到物联网设备发送来的地址获取请求时,根据各个第一emq集群的当前负载量选择一个负载量小于预设阈值的第一emq集群,将该第一emq集群的地址返回至所述物联网设备,以使所述物联网设备根据所述地址连接至该第一emq集群;
8、所述第一emq集群在接收到与该第一emq集群连接的物联网设备发送来的上报消息时,将所述上报消息发送给所述消息交换端;
9、所述消息交换端将所述第一emq集群发送来的所述上报消息转发给所述云端;
10、所述消息交换端在接收到云端发送来的下发消息时,将所述发消息转发给对应的物联网设备所连接的第一emq集群,以使所述第一emq集群将所述下发消息发送给对应的物联网设备。
11、本发明实施例提供的分区接入物联网设备的emq架构系统及消息处理方法,通过协调服务端提供协调服务。具体的,当一个物联网设备未与第一emq集群连接时,需要与一个第一emq集群进行连接,才能进行后续的消息上报。因此这个物联网设备会向协调服务端发送地址获取请求。当协调服务端接收到地址获取请求时,会根据各个第一emq集群的当前负载量为这个物联网设备分配一个负载量小于预设阈值的第一emq集群,将选择出的第一emq集群的地址返回至这个物联网设备,这个物联网设备就会根据地址连接选择出的第一emq集群。在这个物联网设备和这个第一emq集群断开连接之前,这个物联网设备都会通过这个第一emq集群与消息交换端进行交互。一个物联网设备会将自己需要上报的消息即上报消息发送给自己所连接的第一emq集群,进而这个第一emq集群将上报消息发送给消息交换端,这样消息交换端就会将上报消息发送给云端,从而使得云端对上报消息进行相应的处理。云端也会下发控制指令即下发消息给消息交换端,消息交换端先将下发消息发送给目标物联网设备所连接的第一emq集群,该第一emq集群接收到下发消息后,将下发消息发送给目标物联网设备。至此实现物联网设备和云端之间的上报和下发。可见,本发明实施例中,部署了至少一个第一emq集群,根据各个第一emq集群的当前负载量为物联网设备分配一个负载量比较小的第一emq集群,分散链接压力,提高消息转发的可靠性。
1.一种分区接入物联网设备的emq架构系统,其特征在于,所述系统包括至少一个第一emq集群、协调服务端和消息交换端,其中:
2.根据权利要求1所述的系统,其特征在于,还包括:至少一个第二emq集群,每一个第二emq集群与至少一个终端app连接;
3.根据权利要求1所述的系统,所述消息交换端为kafka中间件。
4.根据权利要求1所述的系统,其特征在于,所述协调服务端还用于:若各个第一emq集群的当前负载量均大于等于所述预设阈值,则扩展一个新的第一emq集群,并将新的第一emq集群的地址返回至所述物联网设备。
5.根据权利要求1所述的系统,其特征在于,所述物联网设备用于在与第一emq集群的连接断开时,向所述协调服务端发送地址获取请求,以使所述协调服务端为所述物联网设备再分配一个第一emq集群的地址,以使所述物联网设备连接该地址对应的第一emq集群。
6.根据权利要求1所述的系统,其特征在于,所述物联网设备通过软件开发工具包从所述协调服务端获取到第一emq集群的地址。
7.一种消息处理方法,其特征在于,所述方法基于权利要求1任一项所述的系统实现,所述方法包括:
8.根据权利要求7所述的方法,其特征在于,所述系统还包括:至少一个第二emq集群,每一个第二emq集群与至少一个终端app连接;所述消息交换端分别各个第二emq集群连接;
9.根据权利要求7所述的方法,其特征在于,还包括:
10.根据权利要求7所述的方法,其特征在于,还包括: