[发明专利]基于MQTT的数据处理方法和装置在审
申请号: | 202110290833.6 | 申请日: | 2021-03-18 |
公开(公告)号: | CN112948738A | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 杨培海;陈良 | 申请(专利权)人: | 四川虹美智能科技有限公司 |
主分类号: | G06F16/958 | 分类号: | G06F16/958;H04L29/08;G16Y30/00 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 李世喆 |
地址: | 621050 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mqtt 数据处理 方法 装置 | ||
本说明书提供了一种基于MQTT的数据处理方法和装置,该方法包括:获取由MQTT服务器收集的多个用户主题;每一个所述用户主题均携带有与该用户主题相对应的用户请求;通过共享订阅的方式获取每一个所述用户主题的用户请求;按照用户主题的类型对获取到的多个用户请求进行批量处理,得到多个请求集合;每一个所述请求集合均包括多个用户请求,每一个所述请求集合对应有唯一的用户主题的类型;根据得到的请求集合读取数据库,得到与每一个所述请求集合对应的读取结果集合;将得到的读取结果集合发送给所述MQTT服务器,以使发起请求的客户端根据订阅的用户主题从所述MQTT服务器获得读取结果。本发明的方案既能实现高并发处理,又能实现兼容不同格式的用户请求。
技术领域
本说明书涉及计算机技术领域,特别涉及一种基于MQTT的数据处理方法和装置。
背景技术
现在的家庭环境中,智能设备的数量越来越多,设备向服务器上报的用户请求越来越多,尤其是在8点至10点(大量用户在家使用设备的时间段),会造成服务器压力过大的问题,服务器压力过大就会导致请求延时或者无反应的情况出现,即无法实现高并发需求。
目前,申请号为CN201610225491.9的专利虽然达到了高并发需求,但是其用户请求的格式是固定不变的,不能有效兼容可变的参数。
因此,目前亟待需要一种数据处理方法和装置能够既能实现高并发需求,又能实现兼容不同格式的用户请求。
发明内容
本说明书实施例提供了基于MQTT的数据处理方法和装置,既能实现高并发处理,又能实现兼容不同格式的用户请求。
第一方面,本说明书实施例提供了基于MQTT的数据处理方法,包括:
获取由MQTT服务器收集的多个用户主题;每一个所述用户主题均携带有与该用户主题相对应的用户请求;
通过共享订阅的方式获取每一个所述用户主题的用户请求;
按照用户主题的类型对获取到的多个用户请求进行批量处理,得到多个请求集合;每一个所述请求集合均包括多个用户请求,每一个所述请求集合对应有唯一的用户主题的类型;
根据得到的请求集合读取数据库,得到与每一个所述请求集合对应的读取结果集合;
将得到的读取结果集合发送给所述MQTT服务器,以使发起请求的客户端根据订阅的用户主题从所述MQTT服务器获得读取结果。
在一种可能的设计中,所述按照用户主题的类型对获取到的多个用户请求进行批量处理,得到多个请求集合,包括:
对获取到的多个用户请求以队列的方式进行缓存,得到缓存队列;
按照用户主题的类型对缓存后的队列进行分类,得到多个子队列;每一个所述子队列对应有唯一的用户主题的类型;
遍历每一个所述子队列,如果该子队列中的用户请求的数量达到预设的数量阈值,则将该子队列封装为一个请求集合。
在一种可能的设计中,所述按照用户主题的类型对获取到的多个用户请求进行批量处理,得到多个请求集合,包括:
对获取到的多个用户请求以队列的方式进行缓存,得到缓存队列;
按照用户主题的类型对缓存后的队列进行分类,得到多个子队列;每一个所述子队列对应有唯一的用户主题的类型;
遍历每一个所述子队列,如果该子队列的缓存时间达到预设的时长阈值,则将该子队列封装为一个请求集合。
在一种可能的设计中,所述将得到的读取结果集合发送给所述MQTT服务器,包括:
将得到的读取结果集合进行拆分,得到多个读取结果;每一个所述用户请求均对应有一个读取结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川虹美智能科技有限公司,未经四川虹美智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110290833.6/2.html,转载请声明来源钻瓜专利网。