【技术实现步骤摘要】
基于MQTT协议的消息推送方法及系统
本专利技术涉及即时通讯
,尤其涉及基于MQTT协议的消息推送方法及系统。
技术介绍
物联网是当前的技术热点,MQTT是物联网的核心协议之一。MQTT是一个轻量的发布订阅模式消息传输协议,专门针对低带宽和不稳定网络环境的物联网应用设计。MQTT协议广泛应用于物联网、移动互联网、智能硬件、车联网、电力能源等领域,例如:在物联网M2M通信、物联网大数据采集、Android消息推送、WEB消息推送、移动即时消息、远程教育以及各种智能硬件、智能家具、智能电器的通讯中,都可以使用MQTT协议。现有的基于MQTT协议的消息推送方法或系统平台中,通常客户端订阅主题都是通过调用MQTT客户模块SDKAPI向MQTT服务模块发起订阅,当主题众多,大量的客户端订阅数据给网络带来很大压力。MQTT客户连接MQTTserver的用户名和密码为固定值,安全性不高;此外,客户端发布消息也是通过调用MQTT客户模块SDKAPI向MQTT服务模块发起发布请求,无法对消息内容进行过滤控制,进一步导致现 ...
【技术保护点】
1.一种基于MQTT协议的消息推送方法,其特征在于,包括步骤:/n客户端从消息推送平台获取与MQTT服务模块连接所需的动态连接信息;/n客户端创建MQTT客户模块,MQTT客户模块基于动态连接信息与MQTT服务模块建立连接,用于接收MQTT服务模块发送的消息;/n客户端向消息推送平台发起订阅请求,在消息推送平台对用户安全性验证成功后从MQTT服务模块订阅消息,和/或/n客户端向消息推送平台请求消息发布,并在消息推送平台对用户安全性和消息内容安全性验证成功后向MQTT服务模块发送消息。/n
【技术特征摘要】
1.一种基于MQTT协议的消息推送方法,其特征在于,包括步骤:
客户端从消息推送平台获取与MQTT服务模块连接所需的动态连接信息;
客户端创建MQTT客户模块,MQTT客户模块基于动态连接信息与MQTT服务模块建立连接,用于接收MQTT服务模块发送的消息;
客户端向消息推送平台发起订阅请求,在消息推送平台对用户安全性验证成功后从MQTT服务模块订阅消息,和/或
客户端向消息推送平台请求消息发布,并在消息推送平台对用户安全性和消息内容安全性验证成功后向MQTT服务模块发送消息。
2.根据权利要求1所述的基于MQTT协议的消息推送方法,其特征在于,客户端从消息推送平台获取与MQTT服务模块连接所需的动态连接信息的方法具体包括:
客户端向消息推送平台请求与MQTT服务模块连接所需的动态连接信息;
消息推送平台的MQTT用户模块基于当次请求生成动态连接信息,并向客户端返回所述动态连接信息,同时将所述动态连接信息存储到MQTT服务模块的用户数据库中。
3.根据权利要求2所述的基于MQTT协议的消息推送方法,其特征在于,MQTT用户模块基于当次请求生成动态连接信息的方法具体包括:
将发出请求的客户端ID设置为MQTT用户名;
利用密码散列函数算法生成一串散列值,并根据预设规则选取一个或多个散列值设置为MQTT动态密码;
将MQTT用户名和MQTT动态密码打包生成动态连接信息。
4.根据权利要求2所述的基于MQTT协议的消息推送方法,其特征在于,客户端创建MQTT客户模块,与MQTT服务模块建立连接的方法具体包括:
客户端创建MQTT客户模块,并将动态连接信息设置到MQTT客户模块的连接选项中;MQTT客户模块调用MQTT连接函数,向MQTT服务模块发送连接请求;
MQTT服务模块验证连接请求中的动态连接信息是否与用户数据库中动态连接信息一致,若一致,则MQTT服务模块与MQTT客户模块建立连接成功,客户端通过MQTT客户模块接收MQTT服务模块发送的消息,若不一致,则MQTT服务模块与MQTT客户模块连接失败。
5.根据权利要求1所述的基于MQTT协议的消息推送方法,其特征在于,客户端从MQTT服务模块订阅消息的方法具体包括:
客户端的消息订阅模块向消息推送平台发起订阅请求;
消息推送平台的预订阅模块接收到订阅请求后,检查客户端的用户是否为受限用户,如果是受限用户则订阅失败,如果不是受限用户则查找预先为用户设定的订阅主题,并基于所述订阅主题从MQTT服务模块为客户端订阅消息。
6.根据权利要求1所述的基于MQTT协议的消息推送方法,其特征在于,客户端向MQTT服务模块发布消息的方法具体包括:
客户端的消息发布模块向消息...
【专利技术属性】
技术研发人员:李永禄,刘玉通,张宁,
申请(专利权)人:苏宁智能终端有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。