CN110113362A - 一种基于mqtt协议的消息实时推送方法 - Google Patents

一种基于mqtt协议的消息实时推送方法 Download PDF

Info

Publication number
CN110113362A
CN110113362A CN201910457150.8A CN201910457150A CN110113362A CN 110113362 A CN110113362 A CN 110113362A CN 201910457150 A CN201910457150 A CN 201910457150A CN 110113362 A CN110113362 A CN 110113362A
Authority
CN
China
Prior art keywords
message
push
client
server
real
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.)
Granted
Application number
CN201910457150.8A
Other languages
English (en)
Other versions
CN110113362B (zh
Inventor
夏东风
王祥浩
靳志宾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Haixing Zeke Information Technology Co Ltd
Nanjing Haixing Power Grid Technology Co Ltd
Hangzhou Hexing Electrical Co Ltd
Ningbo Henglida Technology Co Ltd
Original Assignee
Hangzhou Haixing Zeke Information Technology Co Ltd
Nanjing Haixing Power Grid Technology Co Ltd
Hangzhou Hexing Electrical Co Ltd
Ningbo Henglida Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Haixing Zeke Information Technology Co Ltd, Nanjing Haixing Power Grid Technology Co Ltd, Hangzhou Hexing Electrical Co Ltd, Ningbo Henglida Technology Co Ltd filed Critical Hangzhou Haixing Zeke Information Technology Co Ltd
Priority to CN201910457150.8A priority Critical patent/CN110113362B/zh
Publication of CN110113362A publication Critical patent/CN110113362A/zh
Application granted granted Critical
Publication of CN110113362B publication Critical patent/CN110113362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于MQTT协议的消息实时推送方法,包括以下步骤:(1)客户端与推送管理端进行订阅和认证;(2)客户端将认证凭证和推送服务器的链接地址返回给客户端,客户端与推送服务器建立消息推送链接;(3)客户端选取主题进行订阅,推送管理端接收到订阅请求后,启动或使用已有的消息发布任务,进行消息过滤和清洗,产生客户端的待推送消息,保存到待推送消息池中;(4)推送服务器监听待推送消息池,将符合客户端订阅主题的新消息自动推送到客户端,完成消息的实时推送。本发明将服务器按照功能拆分为推送管理端和推送服务器,保障了客户端及时收到消息的同时,减少了推送服务器的压力。

Description

一种基于MQTT协议的消息实时推送方法
技术领域
本发明涉及一种消息推送方法,尤其涉及一种基于MQTT协议的消息实时推送方法。
背景技术
随着物联网技术的发展和进步,电网与互联网逐渐开始深度融合,目前的配电相关管理系统,需要在客户端实时显示电力设备的运行数据和状态数据,并且对实时性要求较高。现有技术一般是采用第三方推送平台或者通过HTTP轮询方法实现消息推送,这种两种方法受软件平台和网络环境的影响,服务端连接数量较大时,服务端推送延迟较大,无法保障数据实时推送,不能满足现有业务系统的需要。
发明内容
发明目的:本发明的目的是提供一种基于MQTT协议的消息实时推送方法,该方法能够满足数据的实时推送和降低推送服务器的负载。
技术方案:本发明的基于MQTT协议的消息实时推送方法,包括如下步骤:
(1)客户端通过MQTT协议发送登录报文到推送管理端,推送管理端通过校验登录报文进行认证;
(2)推送管理端认证成功后,将认证凭证和推送服务器地址返回给客户端,客户端发送包含认证凭证的报文到推送服务器,推送服务器校验认证凭证,校验通过后在客户端与推送服务器之间建立消息推送链接;
(3)客户端选取主题进行订阅,推送管理端接收到订阅请求后,启动或使用已有的消息发布任务,进行消息过滤和清洗,产生客户端的待推送消息,保存到待推送消息池中;
(4)推送服务器监听待推送消息池,将符合客户端订阅主题的新消息自动推送到客户端,完成消息推送。
优选地,所述步骤(2)中推送管理端认证成功后,推送管理端首先选取负载最小的推送服务器作为最佳推送服务器,将认证凭证和最佳推送服务器地址返回给客户端,客户端发送包含认证凭证的报文到最佳推送服务器,最佳推送服务器校验认证凭证,校验通过后在客户端与最佳推送服务器之间建立消息推送链接。
更进一步地,考虑到实际企业环境中,服务器资源有限且单台服务器存在部署多种应用的情况,推送服务不能独占推送服务器。推送服务器注册到系统时,需要结合推送服务器的硬件配置、使用寿命和当前链接数量,综合预估各推送服务器能承受的最大链接数量p和权重q,q的取值范围是0<q<1。所述选取负载最小的推送服务器包括以下步骤:
(1)根据推送服务器的硬件配置、使用寿命和当前链接数量w设置各推送服务器可承受的最大链接数量p及权重q;
(2)推送管理端实时获取各推送服务器当前的w、p和q值,通过公式w/(q*p)获取各推送服务器的实际负载并排序,实际负载最小的推送服务器,即为最佳推送服务器。
优选地,所述步骤(3)中消息过滤和清理包括以下步骤:
(1)通过获取消息中包含的坐标参数,请求地理信息系统提供的web要素服务,获取消息对应的地理几何对象信息;
(2)获取客户端所属用户的管理权限和所属运行单位,获取客户端的实际可管理的单位,获取单位的坐标参数,请求地理信息系统提供的web要素服务,获取数据对应的地理几何对象信息;
(3)分别根据消息和客户端的管理单位对应的地理几何对象信息,调用地理信息系统的服务,获取地理范围相交的消息,存储到客户端对应的待推送消息池中。
优选地,所述当客户端与推送管理端建立链接后,发送MQTT协议登录报文,推送管理端通过解析报文,判断报文类型,当为登录时,获取报文负载进行认证。
优选地,所述步骤(4)中客户端接收到消息后,消息从待推送消息池中移出,增加到待确认消息池中;客户端接收到消息后若在规定的时间内返回确认报文,则消息从待确认消息池中移出,增加到历史消息池中,反之,则消息从待确认消息池返回到待推送消息池,进行重复推送。
有益效果:(1)将服务器按照功能拆分为推送管理端和推送服务器,保障了客户端及时收到消息的同时,减少了推送服务器的压力。(2)将客户端与负载最小的推送服务器建立链接,更进一步降低了推送服务器的压力,优化了客户端的体验。(3)将消息按照客户端所属区域进行过滤,减少了消息推送量,降低了推送服务器的负载,保障了数据的实时性,改善了消息推送的体验。
附图说明
图1为本发明的系统结构示意图;
图2为本发明的流程示意图。
具体实施方式
下面结合说明书附图和实施例对本发明作进一步的详细说明。
实施例
如图1所示为本发明的系统结构示意图,本实施例根据当前企业的信息化水平和服务器配置信息,选定了4台服务器,其中1台为推送管理端,另外3台为推送服务器。根据3台推送服务器的硬件配置、使用年限、当前链接数w等因素综合设置推送服务器的最大推送链接数p和权重q,q的取值范围是0<q<1,该信息保存在数据存储服务器当中,并根据当前链接情况该信息会实时更新,推送管理端获取该实时更新的各推送服务器信息,计算实际负载进行排序,最小的为最佳推送服务器。当各推送服务器的当前链接数都为零时,推送管理端随机获取任一推送服务器的链接地址返回给客户端进行链接。3台推送服务器分别命名为P1、P2、P3,对应的配置信息如下表所示:
表名称为P1、P2、P3的推送服务器配置信息
推送服务器 最大连接数p 权重q 当前连接数w
P1 20000 0.7 3
P2 15000 0.9 1
P3 10000 0.8 2
如图2所示为本发明的流程示意图,本发明提供了基于MQTT协议的消息实时推送方法,包括如下步骤:
(1)客户端通过MQTT协议发送登录报文到推送管理端,推送管理端通过校验登录报文进行认证;
(2)推送管理端认证成功后,首先选取负载最小的推送服务器作为最佳推送服务器:推送服务器将配置信息保存到数据存储数据库中,当推送链接建立或关闭时,维护当前链接数,推送管理端获取数据库中推送服务器的实时信息,获取单台的推送服务器的最大链接数p、权重q和当前链接数w,根据公式w/(q*p)计算实际负载,并进行排序,实际负载最小值对应的推送服务器为最佳推送服务器;
将认证凭证和最佳推送服务器地址返回给客户端,客户端发送包含认证凭证的报文到最佳推送服务器,最佳推送服务器校验认证凭证,校验通过后在客户端与最佳推送服务器之间建立消息推送链接;
(3)客户端选取主题进行订阅,推送管理端接收到订阅请求后,启动或使用已有的消息发布任务,进行消息过滤和清洗,具体为:通过获取消息中包含的坐标参数,请求地理信息系统提供的web要素服务,获取消息对应的地理几何对象信息;获取客户端所属用户的管理权限和所属运行单位,获取客户端的实际可管理的单位,获取单位的坐标参数,请求地理信息系统提供的web要素服务,获取数据对应的地理几何对象信息;分别根据消息和客户端的管理单位对应的地理几何对象信息,调用地理信息系统的服务,获取地理范围相交的消息,存储到客户端对应的待推送消息池中;
(4)最佳推送服务器监听待推送消息池,将符合客户端订阅主题的新消息自动推送到客户端,客户端接收到消息后,消息从待推送消息池中移出,增加到待确认消息池中;客户端接收到消息后若在规定的时间内返回确认报文,则消息从待确认消息池中移出,增加到历史消息池中,反之,则消息从待确认消息池返回到待推送消息池,进行重复推送。

Claims (6)

1.一种基于MQTT协议的消息实时推送方法,其特征在于,包括如下步骤:
(1)客户端通过MQTT协议发送登录报文到推送管理端,推送管理端通过校验登录报文进行认证;
(2)推送管理端认证成功后,将认证凭证和推送服务器地址返回给客户端,客户端发送包含认证凭证的报文到推送服务器,推送服务器校验认证凭证,校验通过后在客户端与推送服务器之间建立消息推送链接;
(3)客户端选取主题进行订阅,推送管理端接收到订阅请求后,启动或使用已有的消息发布任务,进行消息过滤和清洗,产生客户端的待推送消息,保存到待推送消息池中;
(4)推送服务器监听待推送消息池,将符合客户端订阅主题的新消息自动推送到客户端,完成消息的实时推送。
2.根据权利要求1所述的基于MQTT协议的消息实时推送方法,其特征在于,步骤(2)中在推送管理端认证成功后,推送管理端首先选取负载最小的推送服务器作为最佳推送服务器,然后在客户端与最佳推送服务器之间建立消息推送链接。
3.根据权利要求2所述的基于MQTT协议的消息实时推送方法,其特征在于,所述选取负载最小的推送服务器包括以下步骤:
(1)根据推送服务器的硬件配置、使用寿命和当前链接数量w设置各推送服务器可承受的最大链接数量p及权重q;
(2)推送管理端实时获取各推送服务器当前的w、p和q值,通过公式w/(q*p)获取各推送服务器的实际负载并排序,实际负载最小的推送服务器,即为最佳推送服务器。
4.根据权利要求1所述的基于MQTT协议的消息实时推送方法,其特征在于,所述步骤(3)中消息过滤和清理包括以下步骤:
(1)通过获取消息中包含的坐标参数,请求地理信息系统提供的web要素服务,获取消息对应的地理几何对象信息;
(2)获取客户端所属用户的管理权限和所属运行单位,获取客户端的实际可管理的单位,获取单位的坐标参数,请求地理信息系统提供的web要素服务,获取数据对应的地理几何对象信息;
(3)分别根据消息和客户端的管理单位对应的地理几何对象信息,调用地理信息系统的服务,获取地理范围相交的消息,存储到客户端对应的待推送消息池中。
5.根据权利要求1所述的基于MQTT协议的消息实时推送方法,其特征在于,当客户端与推送管理端建立链接后,发送MQTT协议登录报文,推送管理端通过解析报文,判断报文类型,当为登录时,获取报文负载进行认证。
6.根据权利要求1所述的基于MQTT协议的消息实时推送方法,其特征在于,所述步骤(4)中客户端接收到消息后,消息从待推送消息池中移出,增加到待确认消息池中;客户端接收到消息后若在规定的时间内返回确认报文,则消息从待确认消息池中移出,增加到历史消息池中,反之,则消息从待确认消息池返回到待推送消息池,进行重复推送。
CN201910457150.8A 2019-05-29 2019-05-29 一种基于mqtt协议的消息实时推送方法 Active CN110113362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910457150.8A CN110113362B (zh) 2019-05-29 2019-05-29 一种基于mqtt协议的消息实时推送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910457150.8A CN110113362B (zh) 2019-05-29 2019-05-29 一种基于mqtt协议的消息实时推送方法

Publications (2)

Publication Number Publication Date
CN110113362A true CN110113362A (zh) 2019-08-09
CN110113362B CN110113362B (zh) 2021-07-06

Family

ID=67492734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910457150.8A Active CN110113362B (zh) 2019-05-29 2019-05-29 一种基于mqtt协议的消息实时推送方法

Country Status (1)

Country Link
CN (1) CN110113362B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131501A (zh) * 2019-12-31 2020-05-08 郑州信大捷安信息技术股份有限公司 一种基于mqtt协议的消息推送系统及方法
CN111651281A (zh) * 2020-04-27 2020-09-11 北京中交兴路信息科技有限公司 一种消息发布和订阅方法和系统
CN112333262A (zh) * 2020-10-30 2021-02-05 平安付科技服务有限公司 数据更新提示方法、装置、计算机设备及可读存储介质
CN113347074A (zh) * 2021-04-09 2021-09-03 成都中科创达软件有限公司 一种主题确定方法、相关方法、装置和系统
CN114401315A (zh) * 2021-12-31 2022-04-26 广东国腾量子科技有限公司 一种基于动态决策模型的消息推送服务系统及方法
CN114401493A (zh) * 2022-03-22 2022-04-26 永鼎行远(南京)信息科技有限公司 一种消息推送方法及其服务系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049531A (zh) * 2015-08-24 2015-11-11 湖南快乐阳光互动娱乐传媒有限公司 一种消息推送系统及方法
CN105120495A (zh) * 2015-09-09 2015-12-02 北京京东尚科信息技术有限公司 一种智能移动终端的消息推送方法及系统
CN107067325A (zh) * 2017-04-18 2017-08-18 湖南福米信息科技有限责任公司 股票行情数据的过滤方法、过滤装置和推送系统
CN107809489A (zh) * 2017-11-17 2018-03-16 南京感度信息技术有限责任公司 一种基于mqtt协议的消息推送系统
US20180300557A1 (en) * 2017-04-18 2018-10-18 Amazon Technologies, Inc. Object analysis in live video content
CN109309672A (zh) * 2018-09-17 2019-02-05 南京海兴电网技术有限公司 一种基于Web的空间数据实时推送多任务调度方法
CN109639642A (zh) * 2018-11-12 2019-04-16 平安科技(深圳)有限公司 基于mqtt的安全认证方法、装置及存储介质
US20190156019A1 (en) * 2017-11-22 2019-05-23 Aeris Communications, Inc. Secure authentication of devices for internet of things

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049531A (zh) * 2015-08-24 2015-11-11 湖南快乐阳光互动娱乐传媒有限公司 一种消息推送系统及方法
CN105120495A (zh) * 2015-09-09 2015-12-02 北京京东尚科信息技术有限公司 一种智能移动终端的消息推送方法及系统
CN107067325A (zh) * 2017-04-18 2017-08-18 湖南福米信息科技有限责任公司 股票行情数据的过滤方法、过滤装置和推送系统
US20180300557A1 (en) * 2017-04-18 2018-10-18 Amazon Technologies, Inc. Object analysis in live video content
CN107809489A (zh) * 2017-11-17 2018-03-16 南京感度信息技术有限责任公司 一种基于mqtt协议的消息推送系统
US20190156019A1 (en) * 2017-11-22 2019-05-23 Aeris Communications, Inc. Secure authentication of devices for internet of things
CN109309672A (zh) * 2018-09-17 2019-02-05 南京海兴电网技术有限公司 一种基于Web的空间数据实时推送多任务调度方法
CN109639642A (zh) * 2018-11-12 2019-04-16 平安科技(深圳)有限公司 基于mqtt的安全认证方法、装置及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHYI-REN DOW: "A MQTT-based guide and notification service system", 《IEEE》 *
任亨、马跃、杨海波、贾正锋: ""基于MQTT协议的消息推送服务器"", 《计算机系统应用》 *
胡晶: ""基于云存储的高校实时推送技术研究"", 《信息与电脑(理论版)》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131501A (zh) * 2019-12-31 2020-05-08 郑州信大捷安信息技术股份有限公司 一种基于mqtt协议的消息推送系统及方法
CN111131501B (zh) * 2019-12-31 2022-03-15 郑州信大捷安信息技术股份有限公司 一种基于mqtt协议的消息推送系统及方法
CN111651281A (zh) * 2020-04-27 2020-09-11 北京中交兴路信息科技有限公司 一种消息发布和订阅方法和系统
CN112333262A (zh) * 2020-10-30 2021-02-05 平安付科技服务有限公司 数据更新提示方法、装置、计算机设备及可读存储介质
CN113347074A (zh) * 2021-04-09 2021-09-03 成都中科创达软件有限公司 一种主题确定方法、相关方法、装置和系统
CN114401315A (zh) * 2021-12-31 2022-04-26 广东国腾量子科技有限公司 一种基于动态决策模型的消息推送服务系统及方法
CN114401315B (zh) * 2021-12-31 2023-09-12 广东国腾量子科技有限公司 一种基于动态决策模型的消息推送服务系统及方法
CN114401493A (zh) * 2022-03-22 2022-04-26 永鼎行远(南京)信息科技有限公司 一种消息推送方法及其服务系统

Also Published As

Publication number Publication date
CN110113362B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN110113362A (zh) 一种基于mqtt协议的消息实时推送方法
CN110149392A (zh) 一种推送消息的管理方法及装置
CN103841134B (zh) 基于api发送、接收信息的方法、装置及系统
CN102821162B (zh) 云计算网络环境下面向松散云节点服务平台的系统
CN105955761A (zh) 基于docker的灰度发布装置及方法
CN106233695A (zh) 用于管理客户端设备的装置和方法
CN104135713A (zh) 用户信息推荐方法、装置、设备及系统
CN110417870A (zh) 配置文件管理方法、装置、设备和存储介质
CN108183950A (zh) 一种网络设备建立连接的方法及装置
CN108270818A (zh) 一种微服务架构系统及其访问方法
CN101778105B (zh) 获取基于web的实时性能监视指标数的方法、系统及设备
CN109787915A (zh) 网络访问的流量控制方法、装置、电子设备及存储介质
CN101616171A (zh) 一种维护引导节点状态的方法、装置和系统
CN102694824B (zh) 一种用户数据存储系统及其数据访问方法
CN103001989A (zh) 参数接收方法及系统
CN109194993B (zh) 媒体文件分发方法及文件分发平台
CN113259493B (zh) 基于Ukey机柜的Ukey信息获取方法、装置、设备和存储介质
CN103428070B (zh) 即时群体通信方法、会话管理服务器及客户端
CN104463368A (zh) 用于确定订单的价值的方法及设备
Weingärtner et al. Building a modular BitTorrent model for ns-3
CN101741867B (zh) 一种捕获BitTorrent网络中节点信息的方法
CN103049294A (zh) 一种网元软件升级的方法和装置
CN110891660A (zh) 用于在计算机装置之间同步数据的系统和方法
CN106161547B (zh) 一种生成云服务体验工具的方法和装置
CN112804291B (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
GR01 Patent grant
GR01 Patent grant