【技术实现步骤摘要】
一种基于MQTT数据交互的方法、终端及服务端
本专利技术涉及通信领域,尤其涉及一种基于MQTT数据交互的方法、终端及服务端。
技术介绍
现有基于Http协议建立的终端与服务端数据交互过程中,终端会存在很频繁的GPS位置上报,且Http的三次握手建立连接和四次挥手关闭连接对于服务端来说也是一笔很大的开销,服务端可能因为网络原因无法接收到终端上报的数据,更严重可能导致故障,高可用性无法保证。而基于MQ中间件的长连接通信建立的终端与服务端数据交互过程中,虽然MQ避免了连接建立和关闭的开销,其可用性也有所保证,但是MQ适合于连接数少,单个连接吞吐量大的场景,其更多是用于服务端应用之间的解耦和削峰填谷等。对于终端这类一般是连接数多,单个连接吞吐量小的场景需要一种更加轻量级的消息队列。
技术实现思路
本专利技术要解决的技术问题,在于提供一种基于MQTT数据交互的方法、终端及服务端,保证数据交互的高可用性,且满足连接数量多、单个连接吞吐量小的应用场景。第一方面,本专利技术提供一种基于MQTT数据交互的方 ...
【技术保护点】
1.一种基于MQTT数据交互的方法,其特征是,所述方法包括:/n终端对获取的信息进行编码,指定QOS后将所述编码后的信息上传至MQTT服务器;/n所述MQTT服务器根据指定的QOS将所述终端上传的信息推送到与所述MQTT服务器连接的服务端;/n所述服务端对所述消息进行解码,校验所述消息的topic是否需要处理;/n如果是,所述服务端提交所述消息至业务线程池进行业务逻辑处理。/n
【技术特征摘要】
1.一种基于MQTT数据交互的方法,其特征是,所述方法包括:
终端对获取的信息进行编码,指定QOS后将所述编码后的信息上传至MQTT服务器;
所述MQTT服务器根据指定的QOS将所述终端上传的信息推送到与所述MQTT服务器连接的服务端;
所述服务端对所述消息进行解码,校验所述消息的topic是否需要处理;
如果是,所述服务端提交所述消息至业务线程池进行业务逻辑处理。
2.根据权利要求1所述的一种基于MQTT数据交互的方法,其特征是,在所述终端对获取的信息进行编码之前,将所述终端注册到所述MQTT服务器上。
3.根据权利要求2所述的一种基于MQTT数据交互的方法,其特征是,将所述终端注册到所述MQTT服务器上的方法包括:
所述终端通过AES加密后,发送加密后的信息请求服务端;
所述服务端通过AES解密获取所述终端的信息;
服务端根据所述终端的信息查询BD判断所述终端是否已经注册;
如果否,所述服务端请求MQTT服务器,所述服务端将所述MQTT服务器生成的密钥信息返回给所述终端;
如果是,所述服务端直接返回连接所述MQTT服务器的密钥信息;
所述终端接收所述MQTT服务器生成的密钥信息缓存在本地,所述终端根据缓存在本地的密钥信息与所述MQTT服务器连接。
4.根据权利要求1所述的一种基于MQTT数据交互的方法,其特征是,所述方法还包括:
所述终端定时向所述MQTT服务器发送心跳包,所述MQTT服务器定时发送所述心跳包至所述服务端。
5.根据权利要求1所述的一种基于MQTT数据交互的方法,其特征是,所述方法还包括:
所述MQTT服务器未能接受所述终...
【专利技术属性】
技术研发人员:王磊,
申请(专利权)人:浙江百应科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。