一种并发式MQTT网关处理数据的方法及系统与流程

文档序号:17376009发布日期:2019-04-12 23:19阅读:325来源:国知局
一种并发式MQTT网关处理数据的方法及系统与流程

本发明涉及物联网技术领域,尤其涉及一种并发式mqtt网关处理数据的方法及系统。



背景技术:

mqtt(messagequeuingtelemetrytransport,消息队列遥测传输)是ibm开发的一个即时通讯协议。该协议支持所有平台,mqtt协议与传统工业通信协议相比有两个特色:使用发布/订阅消息模式,提供一对多的消息发布;可以与ssl/tls加密融合一起,保证报文传输的安全。

其中mqtt对能源设备的数据传输时,上传的数据主要包括的设备的度数,设备的地址,设备顺序码,校验码,帧的长度,协议的版本号,还有设备类型,设备信息等等;

首先需要485总线将所述能源设备的数据进行串在一起;其中,传统的传输方式,数据按不同设备进行传输,每个设备发送一条自身的数据帧,再由mqtt网关去进行接收,其中数据传输过程中是以每个设备作为一个mqtt模型。这样处理并发式数据传输的是时候,mqtt会带来极多的流量费用。

因此需要设计一种可以节省mqtt流量的mqtt网关处理数据的方法。



技术实现要素:

为了解决上述问题,本发明提供了一种基于485总线的并发式mqtt网关处理数据的方法及系统。

为了达到上述目的,本发明采用以下技术方案:

一种并发式mqtt网关处理数据的方法,包括步骤:

s1:通过485总线接收多个能源设备的预设数据信息;

s2:获取每个能源设备在485总线传输的顺序码;

s3:将获取的多个顺序码按照预设组合算法进行组合运算,获取组合顺序码;

s4:将组合顺序码按照预设时间段进行划分主题;

s5:将每个预设时间段内能源设备的预设数据信息,按照顺序码进行顺序传输。

进一步地,步骤s1包括:

s11:判断485总线上是否有能源设备的数据传输;

s12:若是,获取传输数据的能源设备的预设数据信息。

进一步地,步骤s3包括:

s31:判断第二能源设备的顺序码是否大于第一能源设备的顺序码;

s32:若是,则将第二能源设备的顺序码并入在第一能源设备的顺序码后;若不是,则将第一能源设备的顺序码并入在第二能源设备的顺序码后;

s33:获取组合顺序码。

进一步地,步骤s4包括:

s41:将组合顺序码按照预设时间段进行划分;

s42:将每个预设时间段内的顺序码按照预设时序主题建立mqtt模型。

进一步地,步骤s5包括:

s51:获取每个预设时间段内每个顺序码分别对应的能源设备信息;

s52:将每个预设时间段内每个顺序码分别对应的能源设备信息按照顺序码进行顺序传输。

一种并发式mqtt网关处理数据的系统,包括:

数据接收模块,用于通过485总线接收多个能源设备的预设数据信息;

获取顺序码模块,用于获取每个能源设备在485总线传输的顺序码;

组合运算模块,用于将获取的多个顺序码按照预设组合算法进行组合运算,获取组合顺序码;

划分主题模块,用于将组合顺序码按照预设时间段进行划分主题;

主题传输模块,用于将每个预设时间段内能源设备的预设数据信息,按照顺序码进行顺序传输。

进一步地,数据接收模块包括:

判断数据单元,用于判断485总线上是否有能源设备的数据传输;

获取数据单元,用于当485总线上有能源设备的数据传输时获取传输数据的能源设备的预设数据信息。

进一步地,组合运算模块包括:

判断顺序码单元,用于判断第二能源设备的顺序码是否大于第一能源设备的顺序码;

并入顺序码单元,用于当第二能源设备的顺序码大于第一能源设备的顺序码时,将第二能源设备的顺序码并入在第一能源设备的顺序码后;当第二能源设备的顺序码小于第一能源设备的顺序码时,将第一能源设备的顺序码并入在第二能源设备的顺序码后;

获取组合单元,用于获取组合顺序码。

进一步地,划分主题模块包括:

划分主题单元,用于将组合顺序码按照预设时间段进行划分;

建立主题单元,用于对每个预设时间段内的顺序码按照预设时序主题建立mqtt模型。

进一步地,主题传输模块包括:

信息对应单元,用于获取每个预设时间段内每个顺序码分别对应的能源设备信息;

主题传输单元,用于将每个预设时间段内每个顺序码分别对应的能源设备信息按照顺序码进行顺序传输。

本发明的有益效果为:

通过485总线上传的能源设备的数据,并对上传的能源设备的数据安札预设组合算法进行划分相应的主题,利用订阅的主题进行数据传输,经过数据的组合运算,在相应的字节内可包含大量的设备数据信息,并切在阿里云mqttiot套件上,节省了大量的mqtt的数据传输咨询费用。

附图说明

图1为本发明并发式mqtt网关处理数据的方法流程图一;

图2为本发明并发式mqtt网关处理数据的方法流程图二;

图3为本发明并发式mqtt网关处理数据的结构连接示意;

图4为本发明并发式mqtt网关处理数据的系统结构图一;

图5为本发明并发式mqtt网关处理数据的系统结构图二。

具体实施方式

以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。

实施例一

本实施例提供了一种并发式mqtt网关处理数据的方法,如图1至图2所示,本方法包括步骤:

s1:通过485总线接收多个能源设备的预设数据信息;

s2:获取每个能源设备在485总线传输的顺序码;

s3:将获取的多个顺序码按照预设组合算法进行组合运算,获取组合顺序码;

s4:将组合顺序码按照预设时间段进行划分主题;

s5:将每个预设时间段内能源设备的预设数据信息,按照顺序码进行顺序传输。

通过485总线获取多个能源设备的预设数据信息,其中能源设备的预设数据信息包括:设备的度数,设备的地址,设备顺序码,校验码,帧的长度,协议的版本号,还有设备类型,设备信息等,

然后获取每个能源设备在485总线传输的顺序码;当顺序码在空闲状态时,在现有的顺序码中,顺序码编号往上递增,并且把此能源设备的预设数据信息发送其中;

当mqtt网关接收到主题信息以后,运用varint压缩算法,对除了顺序码的设备的预设数据信息,进行编码,算法逻辑即:每个字节的首bit代表是否还需要下一位(0表示不需要,1表示需要),每个字节的可用位为7位;

然后根据传输的组合顺序码进行主题的划分,将顺序码按照预设时间段对应建立mqtt模型,在阿里云上设置以时序作为主题的划分,订阅主题后,设备就可以按照阿里云iot套件sdk,接受到消息的推送,与网关双向传输数据。

进一步地,步骤s1包括:

s11:判断485总线上是否有能源设备的数据传输;

s12:若是,获取传输数据的能源设备的预设数据信息。

进一步地,步骤s3包括:

s31:判断第二能源设备的顺序码是否大于第一能源设备的顺序码;

s32:若是,则将第二能源设备的顺序码并入在第一能源设备的顺序码后;若不是,则将第一能源设备的顺序码并入在第二能源设备的顺序码后;

s33:获取组合顺序码。

进一步地,步骤s4包括:

s41:将组合顺序码按照预设时间段进行划分;

s42:每个预设时间段内的顺序码按照预设时序主题建立mqtt模型。

进一步地,步骤s5包括:

s51:获取每个预设时间段内每个顺序码分别对应的能源设备信息;

s52:将每个预设时间段内每个顺序码分别对应的能源设备信息按照顺序码进行顺序传输。

例如,当有能源设备a,能源设备b向mqtt网关传输数据时,传统的mqtt模型,是以能源设备为基础,以每个能源设备去建造mqtt模型。

本实施例提供的并发式mqtt网关处理数据的方法,是以每个mqtt网关的时序作为能源设备模型。当能源设备a要在mqtt网关设备传输数据时,首先向485总线查询顺序空闲状态,然后获得当前485总线传输的顺序码,并把能源设备自身的预设数据信息与递增的设备码并列传输;

当能源设备b要向网关传输数据是时,首先查询能源设备a上条数据的顺序码,再递增顺序码,把能源设备b中的数据并列进去。此时,mqtt网关就收到了能源设备a,和能源设备b带顺序码的组合数据,然后进行运用压缩算法进行压缩。

此时,mqtt网关以时序建立模型,假设以半小时为预设时间段的时序作为主题,并在阿里云iot套件上调用sdk进行设置;

此时我们的主题就是半小时的mqtt网关所有能源设备的预设数据信息为模型,进行数据传输。这样后台接受到的传输的流量就是以网关整体半小时内的数据量,每个能源设备上报数据的时候不用触发每个能源设备为主题进行计费。是以mqtt网关半小时的数据量作为主题计费。大大减少了,基于mqtt,485总线的传输的咨询费。

本并发式mqtt网关处理数据的方法,以能源设备传输的预设数据信息中主题组合的方式进行并发式处理和传输,实现对能源设备并发式处理及控制,在一定程度上满足用户的低流量的设置,极大的省下了每个能源设备触发mqtt网关的流量咨询费用。

实施例二

本实施例提供了一种并发式mqtt网关处理数据的系统,如图3至图5所示,本系统包括:

一种并发式mqtt网关处理数据的系统,包括:

数据接收模块,用于通过485总线接收多个能源设备的预设数据信息;

获取顺序码模块,用于获取每个能源设备在485总线传输的顺序码;

组合运算模块,用于将获取的多个顺序码按照预设组合算法进行组合运算,获取组合顺序码;

划分主题模块,用于将组合顺序码按照预设时间段进行划分主题;

主题传输模块,用于将每个预设时间段内能源设备的预设数据信息,按照顺序码进行顺序传输。

如图3所示,数据接收模块通过485总线获取多个能源设备的预设数据信息,其中能源设备的预设数据信息包括:设备的度数,设备的地址,设备顺序码,校验码,帧的长度,协议的版本号,还有设备类型,设备信息等,

然后通过获取顺序码模块,获取每个能源设备在485总线传输的顺序码;

并通过组合运算模块,将获取的多个顺序码按照预设组合算法进行组合运算,获取组合顺序码,即当485总线的顺序码在空闲状态时,在现有的顺序码中,顺序码编号往上递增,并且把此能源设备的预设数据信息发送其中;

当mqtt网关接收到主题信息以后,运用varint压缩算法,对除了顺序码的设备的预设数据信息,进行编码,算法逻辑即:每个字节的首bit代表是否还需要下一位(0表示不需要,1表示需要),每个字节的可用位为7位;

然后通过划分主题模块对组合顺序码进行主题的划分,将组合顺序码按照预设时间段对应建立mqtt模型,在阿里云上设置以时序作为主题的划分,订阅主题后,设备就可以按照阿里云iot套件sdk,通过主题传输模块,对预设时间段内每个顺序码对应的能源设备的预设数据信息,进行传输。

如图4至图5所示:

进一步地,数据接收模块包括:

判断数据单元,用于判断485总线上是否有能源设备的数据传输;

获取数据单元,用于当485总线上有能源设备的数据传输时获取传输数据的能源设备的预设数据信息。

进一步地,组合运算模块包括:

判断顺序码单元,用于判断第二能源设备的顺序码是否大于第一能源设备的顺序码;

并入顺序码单元,用于当第二能源设备的顺序码大于第一能源设备的顺序码时,将第二能源设备的顺序码并入在第一能源设备的顺序码后;当第二能源设备的顺序码小于第一能源设备的顺序码时,将第一能源设备的顺序码并入在第二能源设备的顺序码后;

获取组合单元,用于获取组合顺序码。

进一步地,划分主题模块包括:

划分主题单元,用于将组合顺序码按照预设时间段进行划分;

建立主题单元,用于对每个预设时间段内的顺序码按照预设时序主题建立mqtt模型。

进一步地,主题传输模块包括:

信息对应单元,用于获取每个预设时间段内每个顺序码分别对应的能源设备信息;

主题传输单元,用于将每个预设时间段内每个顺序码分别对应的能源设备信息按照顺序码进行顺序传输。

本并发式mqtt网关处理数据的系统,以能源设备传输的预设数据信息中主题组合的方式进行并发式处理和传输,实现对能源设备并发式处理及控制,在一定程度上满足用户的低流量的设置,极大的省下了每个能源设备触发mqtt网关的流量咨询费用。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1