基于MQTT的数据报送方法装置计算机设备和存储介质制造方法及图纸

技术编号:23771716 阅读:36 留言:0更新日期:2020-04-12 00:21
本发明专利技术公开一种基于MQTT的数据报送方法、装置、计算机设备和存储介质,资源占用少、上报效率高。所述基于MQTT的数据报送方法,包括如下步骤:(10)启动MQTT主链接:通过MQTT主链接,订阅设备控制主题,接收并处理设备控制命令;(20)上报设备数据:从待上报设备数据队列中取出设备数据,从MQTT主链接和MQTT从链接队列中选择空闲链接,通过该空闲链接对应的接口,上报设备数据;(30)动态调整从链接:根据实时监测的网关待上报设备数据流量范围,增加或减少用于设备数据上报的MQTT从链接数量。

Data submission method based on mqtt device computer equipment and storage medium

【技术实现步骤摘要】
基于MQTT的数据报送方法装置计算机设备和存储介质
本专利技术属于物联网
,特别是一种基于MQTT的数据报送方法、装置、计算机设备和存储介质。
技术介绍
在物联网领域,通过MQTT((MessageQueuingTelemetryTransport,消息队列遥测传输)协议上报设备数据已经成为了一个事实标准。如亚马逊物联网平台支持采用MQTT连接方式报送设备数据。出于接入设备数量海量支持能力,目前物联网平台设备接入理念普遍为分布式接入,通常一个MQTT连接对应一个设备,这样,单个MQTT连接只报送一个设备的信息,同时物联网平台也限制了单个连接的上报流量速率,如亚马逊物联网即是。实际使用中,针对设备较集中的区域,从成本的角度,为每个设备分配一个MQTT连接不现实,通常是将大量设备通过一个网关进行报送。如果使用一个网关报送上千个设备,需要在该网关中创建上千个MQTT连接,这必将消耗网关的大量计算资源。当网关计算资源有限时,将无法支持如此多的设备进行上报。此外,即使网关支持,网关端在上千个连接中进行切换,效率也很低。另一种解决办法是为所有设备提供一个MQTT连接进行设备报送,但受物联网平台针对单个MQTT连接流量报送速率的限制,无法采用单个MQTT同时为大量设备提供数据上报。因此,现有技术存在的问题是:由于物联网MQTT单链接设备数据报送速率受限制,当接入设备数量巨大时,需要占用大量网关计算资源,设备数据上报效率低下。
技术实现思路
本专利技术的目的在于提供一种基于MQTT的数据报送方法、装置、计算机设备和存储介质,资源占用少、上报效率高。实现本专利技术目的的技术解决方案为:一种基于MQTT的设备数据报送方法,包括如下步骤:(10)启动MQTT主链接:连接到物联网服务器,通过MQTT主链接,订阅设备控制主题,接收并处理设备控制命令;(20)上报设备数据:从待上报设备数据队列中取出设备数据,从MQTT主链接和MQTT从链接队列中选择空闲链接,通过该空闲链接对应的接口,上报设备数据;(30)动态调整从链接:根据实时监测的网关待上报设备数据流量范围,增加或减少用于设备数据上报的MQTT从链接数量。优选地,所述(30)动态调整从链接步骤包括:(31)网关流量监测:实时监测网关的待上报设备数据队列长度范围和该队列长度持续时间;(32)从链接增加:当网关上报设备数据流量队列长度大于上限阀值,且持续时间大于时间阀值时,启动一个连接到物联网服务器的新MQTT从链接,并将该新MQTT从链接对象放入MQTT从链接队列中;(33)从链接减少:当网关设备数据流量队列长度小于下限阀值,且持续时间大于时间阀值后,自MQTT从链接队列中取出一个MQTT从链接对象,停止该MQTT从链接运行。实现本专利技术另一目的的技术解决方案为:一种基于MQTT的设备数据报送装置,包括:启动MQTT主链接模块(1),用于通过MQTT主链接,订阅设备控制主题,接收并处理设备控制命令;上报设备数据模块(2),用于从待上报设备数据队列中取出设备数据,从MQTT主链接和MQTT从链接队列中选择空闲链接,通过该空闲链接对应的接口,上报设备数据;动态调整从链接模块(3),用于根据实时监测的网关待上报设备数据流量范围,增加或减少用于设备数据上报的MQTT从链接数量。实现本专利技术又一目的的技术解决方案为:一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如下步骤:(10)启动MQTT主链接:连接到物联网服务器,通过MQTT主链接,订阅设备控制主题,接收并处理设备控制命令;(20)上报设备数据:从待上报设备数据队列中取出设备数据,从MQTT主链接和MQTT从链接队列中选择空闲链接,通过该空闲链接对应的接口,上报设备数据;(30)动态调整从链接:根据实时监测的网关待上报设备数据流量范围,增加或减少用于设备数据上报的MQTT从链接数量。优选地,所述(30)动态调整从链接步骤包括:(31)网关流量监测:实时监测网关的待上报设备数据队列长度范围和该队列长度持续时间;(32)从链接增加:当网关上报设备数据流量队列长度大于上限阀值,且持续时间大于时间阀值时,启动一个连接到物联网服务器的新MQTT从链接,并将该新MQTT从链接对象放入MQTT从链接队列中;(33)从链接减少:当网关设备数据流量队列长度小于下限阀值,且持续时间大于时间阀值后,自MQTT从链接队列中取出一个MQTT从链接对象,停止该MQTT从链接运行。实现本专利技术再一目的的技术解决方案为:一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如下步骤。(10)启动MQTT主链接:连接到物联网服务器,通过MQTT主链接,订阅设备控制主题,接收并处理设备控制命令;(20)上报设备数据:从待上报设备数据队列中取出设备数据,从MQTT主链接和MQTT从链接队列中选择空闲链接,通过该空闲链接对应的接口,上报设备数据;(30)动态调整从链接:根据实时监测的网关待上报设备数据流量范围,增加或减少用于设备数据上报的MQTT从链接数量。优选地,所述(30)动态调整从链接步骤包括:(31)网关流量监测:实时监测网关的待上报设备数据队列长度范围和该队列长度持续时间;(32)从链接增加:当网关上报设备数据流量队列长度大于上限阀值,且持续时间大于时间阀值时,启动一个连接到物联网服务器的新MQTT从链接,并将该新MQTT从链接对象放入MQTT从链接队列中;(33)从链接减少:当网关设备数据流量队列长度小于下限阀值,且持续时间大于时间阀值后,自MQTT从链接队列中取出一个MQTT从链接对象,停止该MQTT从链接运行。本专利技术与现有技术相比,其显著优点为:1、计算资源占用少:本专利技术采用单个网关报送大量设备数据时,在不违背单个MQTT链接报送数据的上限条件下,监测网关端待报送的设备数据流量状况,动态新增或取消MQTT连接,从而及时报送设备数据,占用较少的网关计算资源;2、设备数据上报效率高:本专利技术利用较少MQTT连接,实现大量设备数据上报。在满足大量设备数据报送的要求下,有效地节约了设备报送资源,提高了资源利用效率。下面结合附图和具体实施方式对本专利技术作进一步的详细描述。附图说明图1是本专利技术基于MQTT的设备数据报送方法的主流程图。图2是图1中动态调整从链接步骤的流程图。图3是本专利技术基于MQTT的设备数据报送装置的结构框图。图4是图3中动态调整从链接模块的结构框图。图5是本专利技术计算机设备的内部结构框图。具体实施方式如图1所示,本专利技术基于MQTT的设备数据报送方法,包括如下步骤:(10)启动MQTT主链接:连接到本文档来自技高网...

【技术保护点】
1.一种基于MQTT的数据报送方法,其特征在于,包括如下步骤:/n(10)启动MQTT主链接:连接到物联网服务器,通过MQTT主链接,订阅设备控制主题,接收并处理设备控制命令;/n(20)上报设备数据:从待上报设备数据队列中取出设备数据,从MQTT主链接和MQTT从链接队列中选择空闲链接,通过该空闲链接对应的接口,上报设备数据;/n(30)动态调整从链接:根据实时监测的网关待上报设备数据流量范围,增加或减少用于设备数据上报的MQTT从链接数量。/n

【技术特征摘要】
1.一种基于MQTT的数据报送方法,其特征在于,包括如下步骤:
(10)启动MQTT主链接:连接到物联网服务器,通过MQTT主链接,订阅设备控制主题,接收并处理设备控制命令;
(20)上报设备数据:从待上报设备数据队列中取出设备数据,从MQTT主链接和MQTT从链接队列中选择空闲链接,通过该空闲链接对应的接口,上报设备数据;
(30)动态调整从链接:根据实时监测的网关待上报设备数据流量范围,增加或减少用于设备数据上报的MQTT从链接数量。


2.根据权利要求1所述的数据报送方法,其特征在于,所述(30)动态调整从链接步骤包括:
(31)网关流量监测:实时监测网关的待上报设备数据队列长度范围和该队列长度持续时间;
(32)从链接增加:当网关上报设备数据流量队列长度大于上限阀值,且持续时间大于时间阀值时,启动一个连接到物联网服务器的新MQTT从链接,并将该新MQTT从链接对象放入MQTT从链接队列中;
(33)从链接减少:当网关设备数据流量队列长度小于下限阀值,且持续时间大于时间阀值后,自MQTT从链接队列中取出一个MQTT从链接对象,停止该MQTT从链接运行。


3.根据权利要求1所述的数据报送方法,其特征在于:
所述MQTT主链接的参数包括服务器地址、认证参数、主链接ClientId、订阅的设备控制命令主题。


4.根据权利要求3所述的数据报送方法,其特征在于:
所述MQTT从链接的参数包括服务器地址、认证参数、从链接ClientId,所述从链接ClientId为包括由所述主链接ClientId、时间或序号组成的映...

【专利技术属性】
技术研发人员:赵水宁孙晓波高志岗严旌毓陈先明陈一峰蒋森林董康康翟纪坤
申请(专利权)人:南京戎光软件科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1