CN112714026A - 一种mqtt协议消费者的集群方法、装置及储存介质 - Google Patents
一种mqtt协议消费者的集群方法、装置及储存介质 Download PDFInfo
- Publication number
- CN112714026A CN112714026A CN202110080032.7A CN202110080032A CN112714026A CN 112714026 A CN112714026 A CN 112714026A CN 202110080032 A CN202110080032 A CN 202110080032A CN 112714026 A CN112714026 A CN 112714026A
- Authority
- CN
- China
- Prior art keywords
- terminal
- group
- grouping
- consumer
- server
- 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 25
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000002096 quantum dot Substances 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/0893—Assignment of logical groups to network elements
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种MQTT协议消费者的集群方法、装置及储存介质,其中方法包括:分组管理服务根据MQTT服务器的处理能力设置终端分组策略;终端收到分组管理服务的分组策略,设置终端的分组号;终端分组发送消息,且在发送的主题中增加分组号;服务器消费者根据相对应的终端分组消费消息,且在消费者的主题中增加分组号。该发明利用分组管理服务将终端设备分组成终端GROUP‑1至终端GROUP‑N,然后将终端分组的消息发送到MQTT服务器使服务器消费者接收相对应分组的消息,实现了服务器消费者集群消费消息,解决了单一的消费者无法及时消费大量终端设备生产者消息的问题。
Description
技术领域
本发明涉及物联网技术领域,具体涉及一种MQTT协议消费者的集群方法、装置及储存介质。
背景技术
MQTT3.1.1(消息队列遥测传输)协议是现在使用比较广泛的物联网协议,但是在该协议下,不支持消息消费者的集群消费,也就是,当Many-To-One模式(大量的终端设备消息生产者对应一个服务器消费者)的时候,服务器消费者无法做到集群消费消息,这会导致当数量很多的生产者产生大量消息的时候,单一的消费者无法快速及时的消费处理这些消息,使得消息丢失,甚至引起服务器宕机。
发明内容
本发明的目的在于提供一种MQTT协议消费者的集群方法,可以解决现有技术中单一的消费者无法快速及时的消费处理生产者产生的大量消息的问题。
本发明的目的是通过以下技术方案实现的:
第一方面,本发明提供一种MQTT协议消费者的集群方法,包括以下步骤:
步骤1、分组管理服务根据MQTT服务器的处理能力设置终端分组策略;
步骤2、终端收到分组管理服务的分组策略,设置终端的分组号;
步骤3、终端分组发送消息,且在发送的主题中增加分组号;
步骤4、服务器消费者根据相对应的终端分组消费消息,且在消费者的主题中增加分组号。
进一步的,所述终端的分组号具体包括终端GROUP-1至终端GROUP-N。
进一步的,所述终端GROUP-1包括设定为终端GROUP-1分组号的序列号范围的终端设备;依次的,所述终端GROUP-N包括设定为终端GROUP-N分组号的序列号范围的终端设备。
进一步的,所述消费者的主题中增加分组号与终端发送的主题中的分组号相对应。
第二方面,本发明提供了一种MQTT协议消费者的集群装置,包括终端模块、MQTT服务器、分组管理服务模块、消费模块;其中:
所述终端模块用于分组消息发布;
所述MQTT服务器用于终端发布消息的代理,且具备消息进度储存;
所述分组管理服务模块根据所述MQTT服务器的处理能力下发终端的分组策略,将终端分组为终端GROUP-1至终端GROUP-N;
所述消费模块用于服务器消费者集群消费消息。
进一步的,所述终端的分组策略具体包括:所述终端GROUP-1包括设定为终端GROUP-1分组号的序列号范围的终端设备;依次的,所述终端GROUP-N包括设定为终端GROUP-N分组号的序列号范围的终端设备。
进一步的,所述服务器消费者集群消费消息具体包括:服务器消费者根据终端的分组号进行相对应的消费者分组,消费者GROUP-1对应接收来自终端GROUP-1的消息,依次的,消费者GROUP-N接收来自终端GROUP-N的消息。
第三方面,一种储存介质,所述的储存介质中储存有计算机程序,运行所述计算机程序后可实现上述的MQTT协议消费者的集群方法。
本发明通过利用分组管理服务根据MQTT服务器处理能力将终端设备的序列号设定范围形成终端GROUP-1至终端GROUP-N,然后将终端分组的消息发送到MQTT服务器使服务器消费者接收相对应分组的消息,消费者GROUP-1接收终端GROUP-1的消息,依次的,消费者GROUP-N接收终端GROUP-N的消息。该发明使原来Many-To-One模式变成Many-To-Mang模式(分组号内的多个终端设备消息生产者对应服务器消费者相对应分组号内的多个消费者),实现了服务器消费者集群消费消息,解决了单一的消费者无法快速及时的消费处理大量终端设备生产者消息的问题,避免了出现消息丢失和服务器宕机的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明中MQTT协议消费者的集群方法的步骤示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供一种MQTT协议消费者的集群方法,包括以下步骤:
步骤1、分组管理服务根据MQTT服务器的处理能力设置终端分组策略;
例如当消费只有1个的时候,如果发现消费者处理消息滞后或者消息有堆积的情况时,就需要增加消费者群组,这就需要对终端进行分组,下发分组策略,有多少个消费者组,就将终端分配为多少个群组。
步骤2、终端收到分组管理服务的分组策略,设置终端的分组号;
步骤3、终端分组发送消息,且在发送的主题中增加分组号;
例如终端GROUP_1的主题为:/smartlock/group_1/locksn_1/state,终端GROUP_2的主题为:/smartlock/group_2/locksn_2/state。
步骤4、服务器消费者根据相对应的终端分组消费消息,且在消费者的主题中增加分组号。
例如:消费者GROUP_1的主题修改为:/smartlock/group_1/+/state(其中的+表示通配符,匹配这里所有的终端编号),消费者GROUP_2的主题则为:/smartlock/group_2/+/state。
具体的,所述终端的分组号具体包括终端GROUP-1至终端GROUP-N。这需要根据MQTT服务器的处理能力去实施,如MQTT服务器在处理处理N-1组的消费消息不够及时,则需要将服务器消费者集群分组增加到N组直到MQTT服务器处理消费信息及时,防止消息丢失和服务器宕机。
具体实施中,所述终端GROUP-1包括设定为终端GROUP-1分组号的序列号范围的终端设备;依次的,所述终端GROUP-N包括设定为终端GROUP-N分组号的序列号范围的终端设备。
需要说明的是,MQTT服务器中储存有所有终端设备的序列号,分组管理服务根据MQTT服务器中终端设备的序列号排序设定范围组成终端分组。
具体的,所述消费者的主题中增加分组号与终端发送的主题中的分组号相对应。
本发明还提供了一种MQTT协议消费者的集群装置,包括终端模块、MQTT服务器、分组管理服务模块、消费模块;其中:
所述终端模块用于分组消息发布;
所述MQTT服务器用于终端发布消息的代理,且具备消息进度储存;
所述分组管理服务模块根据所述MQTT服务器的处理能力下发终端的分组策略,将终端分组为终端GROUP-1至终端GROUP-N;
所述消费模块用于服务器消费者集群消费消息。
具体实施中,所述终端的分组策略具体包括:所述终端GROUP-1包括设定为终端GROUP-1分组号的序列号范围的终端设备;依次的,所述终端GROUP-N包括设定为终端GROUP-N分组号的序列号范围的终端设备。
具体实施中,所述服务器消费者集群消费消息具体包括:服务器消费者根据终端的分组号进行相对应的消费者分组,消费者GROUP-1对应接收来自终端GROUP-1的消息,依次的,消费者GROUP-N接收来自终端GROUP-N的消息。
一种储存介质,所述的储存介质中储存有计算机程序,运行所述计算机程序后可实现上述的MQTT协议消费者的集群方法。
本发明通过利用分组管理服务根据MQTT服务器处理能力将终端设备的序列号设定范围形成终端GROUP-1至终端GROUP-N,然后将终端分组的消息发送到MQTT服务器使服务器消费者接收相对应分组的消息,消费者GROUP-1接收终端GROUP-1的消息,依次的,消费者GROUP-N接收终端GROUP-N的消息。该发明使原来Many-To-One模式变成Many-To-Mang模式(分组号内的多个终端设备消息生产者对应服务器消费者相对应分组号内的多个消费者),实现了服务器消费者集群消费消息,解决了单一的消费者无法快速及时的消费处理大量终端设备生产者消息的问题,避免了出现消息丢失和服务器宕机的情况。
另外,以上对本发明实施例所提供的一种MQTT协议消费者的集群方法、装置及储存介质进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种MQTT协议消费者的集群方法,其特征在于,包括以下步骤:
步骤1、分组管理服务根据MQTT服务器的处理能力设置终端分组策略;
步骤2、终端收到分组管理服务的分组策略,设置终端的分组号;
步骤3、终端分组发送消息,且在发送的主题中增加分组号;
步骤4、服务器消费者根据相对应的终端分组消费消息,且在消费者的主题中增加分组号。
2.根据权利要求1所述的MQTT协议消费者的集群方法,其特征在于,所述终端的分组号具体包括终端GROUP-1至终端GROUP-N。
3.根据权利要求2所述的MQTT协议消费者的集群方法,其特征在于,所述终端GROUP-1包括设定为终端GROUP-1分组号的序列号范围的终端设备;依次的,所述终端GROUP-N包括设定为终端GROUP-N分组号的序列号范围的终端设备。
4.根据权利要求1所述的MQTT协议消费者的集群方法,其特征在于,所述消费者的主题中增加分组号与终端发送的主题中的分组号相对应。
5.一种MQTT协议消费者的集群装置,其特征在于,包括终端模块、MQTT服务器、分组管理服务模块、消费模块;其中:
所述终端模块用于分组消息发布;
所述MQTT服务器用于终端发布消息的代理,且具备消息进度储存;
所述分组管理服务模块根据所述MQTT服务器的处理能力下发终端的分组策略,将终端分组为终端GROUP-1至终端GROUP-N;
所述消费模块用于服务器消费者集群消费消息。
6.根据权利要求5所述的MQTT协议消费者的集群装置,其特征在于,所述终端的分组策略具体包括:所述终端GROUP-1包括设定为终端GROUP-1分组号的序列号范围的终端设备;依次的,所述终端GROUP-N包括设定为终端GROUP-N分组号的序列号范围的终端设备。
7.根据权利要求5所述的MQTT协议消费者的集群装置,其特征在于,所述服务器消费者集群消费消息具体包括:服务器消费者根据终端的分组号进行相对应的消费者分组,消费者GROUP-1对应接收来自终端GROUP-1的消息,依次的,消费者GROUP-N接收来自终端GROUP-N的消息。
8.一种储存介质,所述的储存介质中储存有计算机程序,其特征在于,运行所述计算机程序后可实现权利要求1至4任一项所述的MQTT协议消费者的集群方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110080032.7A CN112714026A (zh) | 2021-01-21 | 2021-01-21 | 一种mqtt协议消费者的集群方法、装置及储存介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110080032.7A CN112714026A (zh) | 2021-01-21 | 2021-01-21 | 一种mqtt协议消费者的集群方法、装置及储存介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112714026A true CN112714026A (zh) | 2021-04-27 |
Family
ID=75549561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110080032.7A Pending CN112714026A (zh) | 2021-01-21 | 2021-01-21 | 一种mqtt协议消费者的集群方法、装置及储存介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112714026A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170242887A1 (en) * | 2016-02-24 | 2017-08-24 | Salesforce.Com, Inc. | Efficient access scheduling for super scaled stream processing systems |
CN107835203A (zh) * | 2017-08-09 | 2018-03-23 | 平安壹钱包电子商务有限公司 | 消息分组投递的方法、装置、存储介质及终端 |
CN110048927A (zh) * | 2018-01-16 | 2019-07-23 | 华为技术有限公司 | 通信方法和通信装置 |
CN111131501A (zh) * | 2019-12-31 | 2020-05-08 | 郑州信大捷安信息技术股份有限公司 | 一种基于mqtt协议的消息推送系统及方法 |
WO2020211373A1 (zh) * | 2019-04-19 | 2020-10-22 | 平安科技(深圳)有限公司 | 基于中间服务器的心跳包发送方法、装置和计算机设备 |
-
2021
- 2021-01-21 CN CN202110080032.7A patent/CN112714026A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170242887A1 (en) * | 2016-02-24 | 2017-08-24 | Salesforce.Com, Inc. | Efficient access scheduling for super scaled stream processing systems |
CN107835203A (zh) * | 2017-08-09 | 2018-03-23 | 平安壹钱包电子商务有限公司 | 消息分组投递的方法、装置、存储介质及终端 |
CN110048927A (zh) * | 2018-01-16 | 2019-07-23 | 华为技术有限公司 | 通信方法和通信装置 |
WO2020211373A1 (zh) * | 2019-04-19 | 2020-10-22 | 平安科技(深圳)有限公司 | 基于中间服务器的心跳包发送方法、装置和计算机设备 |
CN111131501A (zh) * | 2019-12-31 | 2020-05-08 | 郑州信大捷安信息技术股份有限公司 | 一种基于mqtt协议的消息推送系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107018175B (zh) | 移动云计算平台的调度方法和装置 | |
CN109885410A (zh) | 消息发送方法、装置、计算机设备和存储介质 | |
CN111818136B (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN104796337A (zh) | 一种转发报文的方法及装置 | |
CN103763343A (zh) | 一种业务访问处理方法及装置 | |
CN113452591B (zh) | 基于can总线连续数据帧的回路控制方法及装置 | |
CN106878197A (zh) | 一种云平台消息传输的管理系统及方法 | |
CN111163130A (zh) | 一种网络服务系统及其数据传输方法 | |
CN105407413A (zh) | 一种分布式视频转码方法及相关设备、系统 | |
CN112559476B (zh) | 一种用于提高目标系统性能的日志存储方法及其相关设备 | |
CN109783573A (zh) | 多路推送的数据同步方法及终端 | |
CN113296976A (zh) | 消息处理方法、装置、电子设备、存储介质及程序产品 | |
CN104780118B (zh) | 一种基于令牌的流控方法及装置 | |
CN103428260A (zh) | 用于将终端分配到服务器并高效地提示终端的系统及方法 | |
CN102891851A (zh) | 虚拟桌面访问控制方法、设备及系统 | |
CN108111630B (zh) | 一种Zookeeper集群系统及其连接方法和系统 | |
CN112714026A (zh) | 一种mqtt协议消费者的集群方法、装置及储存介质 | |
CN106302432B (zh) | 一种基于车联网的通信装置及控制方法 | |
CN109213745A (zh) | 一种分布式文件存储方法、装置、处理器及存储介质 | |
CN108777603A (zh) | 一种数据传输方法、装置、存储介质及电子设备 | |
CN113010381A (zh) | 一种部件管理的方法和设备 | |
CN112486655A (zh) | 高并发数据处理系统及方法 | |
CN101729227A (zh) | 一种终端响应时间确定方法、装置和系统 | |
CN106453132A (zh) | 一种混合云环境下的调度方法以及流控设备 | |
CN111245794B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 238, room 406, No.1, Yichuang street, Huangpu District, Guangzhou, Guangdong 510000 Applicant after: Guangzhou langguo Electronic Technology Co.,Ltd. Address before: Room 238, room 406, No.1, Yichuang street, Huangpu District, Guangzhou, Guangdong 510000 Applicant before: GUANGZHOU LANGO ELECTRONIC SCIENCE & TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210427 |