基于MQTT协议的多报文数据采集方法、采集系统技术方案

技术编号:31166971 阅读:15 留言:0更新日期:2021-12-04 12:13
基于MQTT协议的多报文数据采集方法,包括:采集预设的多种工业数据源数据,确定多种工业数据源数据的需要传输的数据报文,将数据报文发送到MQTT服务端;定义数据实体,使其覆盖数据报文中的所有字段;解析工业数据源数据流映射到定义的数据实体上,若订阅到的报文数据为空,则不进行处理;若订阅到的数据报文不为空,则将报文数据反序列化到定义的数据实体上,将流式数据解析为内存对象;定义报文格式,使其包含特征字段并符合数据后续处理要求;根据报文格式,判断内存对象中数据的报文格式,从内存对象中获取复合定义的报文格式的数据。从内存对象中获取复合定义的报文格式的数据。从内存对象中获取复合定义的报文格式的数据。

【技术实现步骤摘要】
基于MQTT协议的多报文数据采集方法、采集系统


[0001]本申请属于工业数据处理
,具体涉及基于MQTT协议的多报文数据采集方法、采集系统。

技术介绍

[0002]MQTT协议是一种轻量级的通信协议,具有传输开销小、网络带宽要求低、传输质量可靠等特点,与此同时,该协议还适用于分布式、跨平台等场景,支持海量物联网设备之间的消息传输。MQTT协议广泛应用于工业数据采集领域边缘端和云端的数据传输。
[0003]随着工业4.0的建设,工业信息化、数字化发展迅速,相关部门对工业生产管理有了更高要求,数据由传统的中控室单点监控转为分布式的多点监控,尤其是报警数据,还呈现出多级监控的特点。
[0004]随着智慧工厂的建设,生产过程各个阶段都会产生不同的数据,数据来源、数据类型、数据格式都不尽相同,数据采集过程中会采用不同的报文规则进行上传,给数据的采集以及后续数据的处理带来了一定的挑战。

技术实现思路

[0005]有鉴于此,一些实施例公开的技术方案是基于MQTT协议的多报文数据采集方法,该方法包括:
[0006]采集预设的多种工业数据源数据,确定所述多种工业数据源数据的需要传输的数据报文,将所述数据报文发送到MQTT服务端;
[0007]定义数据实体,使其覆盖所述数据报文中的所有字段;
[0008]解析工业数据源数据流映射到定义的数据实体上,若订阅到的报文数据为空,则不进行处理;若订阅到的数据报文不为空,则将报文数据反序列化到定义的数据实体上,将流式数据解析为内存对象
[0009]定义报文格式,使其包含特征字段并符合数据后续处理要求;
[0010]根据报文格式,判断内存对象中数据的报文格式,从内存对象中获取复合定义的报文格式的数据。
[0011]进一步,作为可选实施例,基于MQTT协议的多报文数据采集方法还包括:对解析的数据进行处理,将近期的数据存到缓存Redis中,并将解析后的数据持久化到MONGODB或TSDB中。
[0012]进一步,作为可选实施例,基于MQTT协议的多报文数据采集方法还包括:后台应用服务从Redis中获取实时采集的数据,从MONGODB中查询历史数据。
[0013]进一步,作为可选实施例,基于MQTT协议的多报文数据采集方法还包括web端或移动端请求后台应用服务从Redis中获取实时采集的数据,从MONGODB中查询历史数据。
[0014]作为可选实施例,基于MQTT协议的多报文数据采集方法,采用Json的parseObject方法对报文数据进行反序列化处理。
[0015]作为可选实施例,基于MQTT协议的多报文数据采集方法,数据采集服务采用观察者设计模式,从MQTT服务端订阅到数据报文。
[0016]作为可选实施例,基于MQTT协议的多报文数据采集方法,报文格式为发送单点数据的报文格式,具体为:
[0017][0018]作为可选实施例,基于MQTT协议的多报文数据采集方法,报文格式为发送批量数据的报文格式,具体为:
[0019][0020][0021]作为可选实施例,基于MQTT协议的多报文数据采集方法,采用支持MQTT协议和工业协议的边缘网关采集多种工业数据源数据,采用多种报文发送数据。
[0022]另一方面,一些实施例公开了基于MQTT协议的多报文数据采集系统,该系统包括:
[0023]边缘采集网关,配置与工业数据源连接,采集工业数据源数据;
[0024]MQTT服务端,配置与边缘采集网关连接,配置为存储采集的工业源数据消息;
[0025]信息处理组件,配置为解析工业数据源数据;
[0026]信息存储组件,配置为存储解析后的工业数据源信息;
[0027]应用端,配置为获取信息存储组件中的工业数据源信息。
[0028]本申请实施例公开的基于MQTT协议的多报文数据采集方法,能够一次性采集不同报文格式的数据,并将其处理为有利于后期应用处理的报文格式,进一步可以将不同报文格式的数据以适合于后期处理的报文格式进行上传/应用,极大地方便了多种工业源数据的采集、上传和应用。
附图说明
[0029]图1实施例1基于MQTT协议的多报文数据采集系统结构示意图
[0030]附图标记
[0031]1 工业数据源
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
2 边缘采集网关
[0032]3 MQTT服务端
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
4 信息处理组件
[0033]5 信息存储组件
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
6 应用端
具体实施方式
[0034]在这里专用的词“实施例”,作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。本申请实施例中性能指标测试,除非特别说明,采用本领域常规试验方法。应理解,本申请中所述的术语仅仅是为描述特别的实施方式,并非用于限制本申请公开的内容。
[0035]除非另有说明,否则本文使用的技术和科学术语具有本申请所属
的普通技术人员通常理解的相同含义;作为本申请中其它未特别注明的试验方法和技术手段均指本领域内普通技术人员通常采用的实验方法和技术手段。
[0036]在本文中,包括权利要求书中,连接词,如“包含”、“包括”、“带有”、“具有”、“含有”、“涉及”、“容纳”等被理解为是开放性的,即是指“包括但不限于”。只有连接词“由
……
构成”和“由
……
组成”是封闭连接词。
[0037]为了更好的说明本申请内容,在下文的具体实施例中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在实施例中,对于本领域技术人员熟知的一些方法、手段、仪器、设备等未作详细描述,以便凸显本申请的主旨。
[0038]在不冲突的前提下,本申请实施例公开的技术特征可以任意组合,得到的技术方案属于本申请实施例公开的内容。以下结合实施例对技术细节做进一步示例性说明。
[0039]在一些实施方式中,基于MQTT协议的多报文数据采集方法包括:
[0040]采集预设的多种工业数据源数据,确定多种工业数据源数据的需要传输的数据报文,将数据报文发送到MQTT服务端;通常工业数据源种类多,数据格式多,具体可以包括DCS系统、MES系统、SCADSA系统、工业传感器、PLC、工业设备等工业数据源,预设的多种工业数据源可以包括其中任一种或多种数据源,也可以包括来自不同地域、不同系统中的同一种工业数据源;一般地,根据不同的业务场景和数据特征,确定采集数据的需要传输的报文,利用基于支持MQTT协议的边缘采集网关将数据采集,并发送到MQTT服务端。
[0041]定义数据实体,使其覆盖数据报文中的所有字段;通常定义的数据实体包括了采集的预设的多种工业数据源数据报文的所有字段,以便能够在后期的数据解析阶段对所有报文数据进行判断,并作出合理处理;
...

【技术保护点】

【技术特征摘要】
1.基于MQTT协议的多报文数据采集方法,其特征在于,包括:采集预设的多种工业数据源数据,确定所述多种工业数据源数据的需要传输的报文,将所述数据报文发送到MQTT服务端;定义数据实体,使其覆盖所述数据报文中的所有字段;解析工业数据源数据流映射到定义的数据实体上,若订阅到的报文数据为空,则不进行处理;若订阅到的数据报文不为空,则将报文数据反序列化到定义的数据实体上,将流式数据解析为内存对象;定义报文格式,使其包含特征字段并符合数据后续处理要求;根据所述报文格式,判断内存对象中的数据的报文格式,从内存对象中获取符合定义的报文格式的数据。2.根据权利要求1所述的基于MQTT协议的多报文数据采集方法,其特征在于,还包括:对解析的数据进行处理,将近期的数据存到缓存Redis中,并将解析后的数据持久化到MONGODB或TSDB中。3.根据权利要求2所述的基于MQTT协议的多报文数据采集方法,其特征在于,还包括:后台应用服务从Redis中获取实时采集的数据,从MONGODB中查询历史数据。4.根据权利要求3所述的基于MQTT协议的多报文数据采集方法,其特征在于,还包括:web端或移动端请求后台应用服务从Redis中获取实时采集的数据,从MONGODB中查询历史数据。5.根...

【专利技术属性】
技术研发人员:朱孟张晓明
申请(专利权)人:中化信息技术有限公司
类型:发明
国别省市:

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

1