一种工业互联网设备实时数据采集与存储方法及系统技术方案

技术编号:21832648 阅读:51 留言:0更新日期:2019-08-10 18:00
本发明专利技术提供一种工业互联网设备实时数据采集与存储方法及系统,属于设备数据采集技术领域,通过封装一种以上的设备协议并形成协议池,以对接各种设备的传输协议,并将异构的实时参数数据报文转换为软件内部定义的标准的协议格式;再将转换后的数据,以消息推送的方式发送到消息队列;最后拉取消息队列数据,将取出的设备数据,根据配置信息,存储到不同的时序数据库集群。可减少软件系统硬件投入成本。松耦合、易扩展的特点,可快速实现新协议的接入和系统扩容。

A Real-time Data Acquisition and Storage Method and System for Industrial Internet Equipment

【技术实现步骤摘要】
一种工业互联网设备实时数据采集与存储方法及系统
本专利技术涉及设备数据采集技术,尤其涉及一种工业互联网设备实时数据采集与存储方法及系统。
技术介绍
传统设备数据采集软件难以满足工业互联网云模式下百万级设备在线同时采集并发要求和海量工业数据存储需求。现有设备数据采集监控软件,一般应用在工业现场局域网环境中,设备连接种类、数量较少。接入协议方面,连接工业设备一般采用Modbus等传统工业现场协议,采集软件需要开启线程主动定时轮询设备状态。数据存储方面,一般采用关系型数据库。这种传统架构,消耗线程资源较多、效率较低,软件开启的后台线程数制约连接设备数量,关系数据库不能满足海量工业数据存储的要求。在工业互联网场景下,需要对这两方面进行优化。
技术实现思路
为了解决以上技术问题,本专利技术提出了一种工业互联网场景下,松耦合、易扩展的设备数据采集与存储方法,可减少因设备协议不一致导致的大量重复业务代码编写,大量设备接入导致系统负载过高、海量工业时序数据存储的难题。本专利技术的技术方案是:一种工业互联网设备实时数据采集与存储方法,主要包括三个步骤:1)封装一种以上的设备协议并形成协议池,以对接各种设备的传输协议,并将异构的实时参数数据报文转换为软件内部定义的标准的协议格式;2)接收步骤1)转换后的数据,以消息推送的方式发送到消息队列;3)拉取消息队列数据,将取出的设备数据,根据配置信息,存储到不同的时序数据库集群。进一步的,内置协议池以开发扩展新协议,协议池对外部程序提供统一的服务启动、连接、监听以及回调接口;新协议的开发需要实现根据设备接入协议的实现相关逻辑,完成协议的对接和数据的各种转换。进一步的,使用kafak或RabbitMQ作为分布式消息队列系统;将步骤1)转换的标准数据报文格式,发送到Kafka消息队列。进一步的,采用自动拉取消息队列数据的方式处理数据,当上一次取出的数据处理完后,再到消息队列中取出数据进行消费。写入数序数据库采用时序数据库提供的设备协议;与每个时序数据库仅建立一个通讯连接,每次写入数据复用这个连接,不再新建连接的方式。针对每一个时序数据库,开启不同的任务队列,实现设备数据异步批量写入;当满足系统设置的“每次最大发送数据点数”或者“最大提交间隔”时,触发写入事件,来自不同设备的实时数据按照批次发送至数据库进行保存。此外,为解决工业互联网场景下,工业设备数据采集面临的设备协议标准多、异构数据复杂导致平台架构不具备通用性以及传统工业现场数据采集软件难以满足大量设备接入平台后高并发、低延迟、高可用与传统架构难以支撑海量时序数据存储的难题,本专利技术还提供了一种工业互联网设备实时数据采集与存储系统,主要包括三个部分:接入装置、转换装置、存储装置,其中,接入装置,封装一种以上的设备协议以对接各种设备的传输协议,并将异构的实时参数数据报文转换为软件内部定义的标准的协议格式;转换装置,接收接入装置转换后的数据,以消息推送的方式发送到消息队列;存储装置,拉取消息队列数据,将取出的设备数据,根据配置信息,存储到不同的时序数据库集群。进一步的,所述接入装置内置协议池以开发扩展新协议,协议池对外部程序提供统一的服务启动、连接、监听以及回调接口;新协议的开发根据设备接入协议的相关逻辑,完成协议的对接和数据的各种转换。再进一步的,使用kafak或RabbitMQ作为分布式消息队列系统;将接入装置转换的标准数据报文格式,发送到Kafka消息队列;采用自动拉取消息队列数据的方式处理数据,当上一次取出的数据处理完后,再到消息队列中取出数据进行消费;写入数序数据库采用时序数据库提供的设备协议;与每个时序数据库仅建立一个通讯连接,每次写入数据复用这个连接,不再新建连接的方式。针对每一个时序数据库,开启不同的任务队列,实现设备数据异步批量写入;当满足系统设置的“每次最大发送数据点数”或者“最大提交间隔”时,触发写入事件,来自不同设备的实时数据按照批次发送至数据库进行保存。通过本专利技术搭建的软件架构方案,提供了一种低成本、高效率、低延迟、云模式轻松实现百万级工业设备接入、数据采集与存储的架构。该架构,通过少量几台服务器部署实现百万设备接入,可减少软件系统硬件投入成本。松耦合、易扩展的特点,可快速实现新协议的接入和系统扩容。适应工业互联网应用场景。附图说明图1是本专利技术的工作流程图;图2是接入层的工作流程示意图;图3是转换层的工作流程示意图;图4是存储层的工作流程示意图;图5是本专利技术的系统整体框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,本实施例中本专利技术的实时数据采集与存储方法,主要包括三个步骤:1)封装一种以上的设备协议以对接各种设备的传输协议,并将异构的实时参数数据报文转换为软件内部定义的标准的协议格式;2)接收步骤1)转换后的数据,以消息推送的方式发送到消息队列;3)拉取消息队列数据,将取出的设备数据,根据配置信息,存储到不同的时序数据库集群。将上述步骤分别对应三层来实现,分别是接入层、转换层和存储层。如图2所示,第一层是接入层,封装了多种设备协议,形成内置协议池,如MQTT(消息队列遥测传输)、Socket、RestfulAPI等协议,接入层负责对接各种设备的传输协议,并将异构的实时参数数据报文转换为软件内部定义的标准的协议格式。在该层实现了不同协议设备的接入,可根据设备的协议选择接入方式。接入层将异构的实时参数数据报文转换为软件内部定义标准报文格式的示例如下:同时,内置协议池支持开发扩展更多协议,协议池对外部程序提供了统一的服务启动、连接、监听以及回调接口,新协议的开发仅需要实现根据设备接入协议的实现相关逻辑,即可完成某种协议的对接和数据各种的转换,不需要处理其他业务代码。由工厂方法判断设备的接入类型,自动选择相关协议进行转换。因此该方案具有易于拓展的优点。设备协议池的特点如下:设备协议池的设计,可满足设备协议多、复杂、不统一的特点。支持快速添加新的接入协议,扩展成本低,不会因为新协议的引入影响原有功能。如图3所示,第二层是转换层。本层的核心是使用了kafak作为分布式消息队列。在这一层,作为生产者将协议层转换的标准数据报文格式,发送到Kafka消息队列。数据转换层的消息队列服务实现了设备实时数据的削峰填谷。避免大量数据同时进入业务系统导致系统瘫痪。Kafka作为分布式消息队列系统,能够支撑秒级亿万级消息进入,将协议解析系统与业务系统解耦,减少系统宕机风险,提高软件并发能力。本专利技术中使用的消息队列,除了使用的Kafka消息队列外,也可以使用RabbitMQ等消息队列替代。使用RabbitMQ中的拉式消费模式同样可以达到削峰填谷的效果。分布式消息队列特点如下:分布式消息队列是采集设备实时数据削峰填谷的重要中间件,可有效减少软件来自处理设备数据的压力,提高设备接入能力。如图4所示,第三层是存储层。在这一层,作为Kafka消息队列的消费者,将设备数据本文档来自技高网...

【技术保护点】
1.一种工业互联网设备实时数据采集与存储方法,其特征在于,主要包括三个步骤:1)封装一种以上的设备协议并形成协议池,以对接各种设备的传输协议,并将异构的实时参数数据报文转换为软件内部定义的标准的协议格式;2)接收步骤1)转换后的数据,以消息推送的方式发送到消息队列;3)拉取消息队列数据,将取出的设备数据,根据配置信息,存储到不同的时序数据库集群。

【技术特征摘要】
1.一种工业互联网设备实时数据采集与存储方法,其特征在于,主要包括三个步骤:1)封装一种以上的设备协议并形成协议池,以对接各种设备的传输协议,并将异构的实时参数数据报文转换为软件内部定义的标准的协议格式;2)接收步骤1)转换后的数据,以消息推送的方式发送到消息队列;3)拉取消息队列数据,将取出的设备数据,根据配置信息,存储到不同的时序数据库集群。2.根据权利要求1所述的方法,其特征在于,内置协议池以开发扩展新协议,协议池对外部程序提供统一的服务启动、连接、监听以及回调接口;新协议的开发根据设备接入协议的相关逻辑,完成协议的对接和数据的各种转换。3.根据权利要求1所述的方法,其特征在于,使用kafak或RabbitMQ作为分布式消息队列系统;将步骤1)转换的标准数据报文格式,发送到Kafka消息队列。4.根据权利要求1所述的方法,其特征在于,采用自动拉取消息队列数据的方式处理数据,当上一次取出的数据处理完后,再到消息队列中取出数据进行消费。5.根据权利要求4所述的方法,其特征在于,写入数序数据库采用时序数据库提供的设备协议;与每个时序数据库仅建立一个通讯连接,每次写入数据复用这个连接,不再新建连接的方式。6.根据权利要求5所述的方法,其特征在于,针对每一个时序数据库,开启不同的任务队列,实现设备数据异步批量写入;当满足系统设置的“每次最大发送数据点数”或者“最大提交间隔”时,触发写入事件,来自不同设备的实时数据按照批次发送至数...

【专利技术属性】
技术研发人员:王腾江
申请(专利权)人:浪潮通用软件有限公司
类型:发明
国别省市:山东,37

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

1