CN112817539A - 一种工业数据存储方法、系统、电子设备及存储介质 - Google Patents
一种工业数据存储方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112817539A CN112817539A CN202110200854.4A CN202110200854A CN112817539A CN 112817539 A CN112817539 A CN 112817539A CN 202110200854 A CN202110200854 A CN 202110200854A CN 112817539 A CN112817539 A CN 112817539A
- Authority
- CN
- China
- Prior art keywords
- data
- industrial data
- industrial
- real
- relational database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种工业数据存储方法,包括:数据源设备将工业数据发送至MQTT代理程序;MQTT代理程序接收工业数据,将工业数据的数据格式转换为预设数据协议格式,并通过Kafka将数据格式转换后的工业数据发送至实时数据服务程序;实时数据服务程序接收工业数据,并将工业数据写入非关系型数据库。本方法采用非关系型数据库进行工业数据的存储,由于非关系型数据库的数据结构及写入操作均较为简单,因此本方法采用非关系型数据库可提升工业数据存储效率;同时,本方法还将工业数据转换成统一预设数据协议格式,可有效规范工业数据的数据格式,进而提升管理效率。本发明还提供工业数据存储系统、电子设备及存储介质,具有上述有益效果。
Description
技术领域
本发明涉及工业数据存储领域,特别涉及一种工业数据存储方法、系统、电子设备及存储介质。
背景技术
随着自动化技术的不断发展及工厂产能的不断提升,工厂自动化运行及管理得到了广泛的应用。工厂自动化依赖于工厂数据的存储,因此对工业数据存储效率的提升对提升工厂自动化效率的意义较大。
相关技术中,工业数据利用关系型数据库进行存储。由于关系型数据库的数据结构较为复杂,同时写入操作也较为复杂,在面对大量工业数据及频繁的工业数据存储操作时,其存储性能将出现下降,进而降低工业数据存储的效率。
发明内容
本发明的目的是提供一种工业数据存储方法、系统、电子设备及存储介质,可采用非关系型数据库进行工业数据的存储,简化数据库的组织结构及写入复杂度,并提升工业数据存储的效率。
为解决上述技术问题,本发明提供一种工业数据存储方法,包括:
数据源设备将工业数据发送至MQTT代理程序;
所述MQTT代理程序接收所述工业数据,将所述工业数据的数据格式转换为预设数据协议格式,并通过Kafka将数据格式转换后的工业数据发送至实时数据服务程序;
所述实时数据服务程序接收所述工业数据,并将所述工业数据写入非关系型数据库。
可选地,所述MQTT代理程序接收所述工业数据,将所述工业数据的数据格式转换为预设数据协议格式,并通过Kafka将数据格式转换后的工业数据发送至实时数据服务程序,包括:
MQTT代理程序接收所述工业数据,并将所述工业数据发送至MQTT与Kafka的桥接服务程序;
所述桥接服务程序利用所述预设数据协议对所述工业数据的数据格式进行转换,并通过Kafka将数据格式转后的工业数据发送至实时数据服务程序。
可选地,所述通过Kafka将数据格式转后的工业数据发送至实时数据服务程序,包括:
所述桥接服务程序将所述工业数据转换为Kafka消息,并通过所述Kafka将协议转换后的工业数据发送至所述实时数据服务程序。
可选地,所述数据源设备将工业数据发送至MQTT代理程序,包括:
所述数据源设备利用预设命名空间对所述工业数据进行标识,并利用MQTT协议对标识后的工业数据进行封装;
所述数据源设备将封装后的工业数据发送至所述MQTT代理程序。
可选地,在将所述工业数据写入非关系型数据库之后,还包括:
所述实时数据服务程序接收查询指令,并在所述非关系型数据库中查询所述查询指令对应的数据;
所述实时数据服务程序通过预设网络框架接口将所述数据发送至所述查询指令对应的查询设备。
可选地,所述实时数据服务程序接收所述工业数据,并将所述工业数据写入非关系型数据库,包括:
所述实时数据服务程序接收所述工业数据,并通过所述非关系型数据库提供的管道功能,将所述工业数据写入所述非关系型数据库。
可选地,所述非关系型数据库为Redis。
本发明还提供一种工业数据存储系统,包括用于执行如权利要求1至7任一项所述的工业数据存储方法的装置。
本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的工业数据存储方法。
本发明还提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的工业数据存储方法。
本发明提供一种工业数据存储方法,包括:数据源设备将工业数据发送至MQTT代理程序;所述MQTT代理程序接收所述工业数据,将所述工业数据的数据格式转换为预设数据协议格式,并通过Kafka将数据格式转换后的工业数据发送至实时数据服务程序;所述实时数据服务程序接收所述工业数据,并将所述工业数据写入非关系型数据库。
可见,本方法采用非关系型数据库进行工业数据的存储。由于相关技术采用关系型数据库进行工业数据的存储,受到关系型数据库复杂的数据结构及写入操作影响,现有的工业数据存储操作效率较低,难以满足工厂自动化的需求。而本方法采用非关系型数据库进行工业数据的存储,由于与关系型数据库相比,非关系型数据库的数据结构及写入操作均较为简单,因此本方法采用非关系型数据库可提升工业数据存储的效率;同时,本方法在进行写入操作之前,还将各种工业数据转换成统一的预设数据协议格式,可有效规范工业数据的数据格式,进而提升工业数据存储的管理效率,并最终提升工业自动化的效果。本发明还提供一种工业数据存储系统、电子设备及存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种工业数据存储方法的流程图;
图2为本发明实施例所提供的测点数据结构的示意图;
图3为本发明实施例所提供的点项数据结构的示意图;
图4为本发明实施例所提供的实时工业数据收集的时序图;
图5为本发明实施例所提供的实时工业数据存储的时序图;
图6a为本发明实施例所提供的一种工业数据存储系统的结构框图;
图6b为本发明实施例所提供的一种数据源设备的结构框图;
图6c为本发明实施例所提供的一种MQTT代理设备的结构框图;
图6d为本发明实施例所提供的一种Kafka设备的结构框图;
图6e为本发明实施例所提供的一种实时数据服务设备的结构框图;
图6f为本发明实施例所提供的一种非关系型数据库的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,工业数据利用关系型数据库进行存储。由于关系型数据库的数据结构较为复杂,同时写入操作也较为复杂,在面对大量工业数据及频繁的工业数据存储操作时,其存储性能将出现下降,进而降低工业数据存储的效率。本方法采用非关系型数据库进行工业数据的存储,由于与关系型数据库相比,非关系型数据库的数据结构及写入操作均较为简单,在面对大量工业数据及频繁的工业数据存储操作时可保持较好的存储性能,因此本方法采用非关系型数据库可提升工业数据存储的效率。请参考图1,图1为本发明实施例所提供的一种工业数据存储方法的流程图,该方法可以包括:
S101、数据源设备将工业数据发送至MQTT代理程序。
由于工业现场的数据源多种多样,每个数据源均可采用数据采集方式进行采集操作,这就导致工业数据的采集方式难以统一。为了规范工业数据采集方式,在本发明实施例中采用MQTT代理程序进行统一的工业数据采集,可有效提升工业数据采集操作的效率。其中,MQTT代理程序(MQTT Broker)负责接收数据生产者发送的信息,并发送给相应的数据订阅者,是MQTT订阅、信息发布的核心。
需要说明的是,本发明实施例并不限定具体的数据源设备,用户可参考工业数据采集设备的相关技术。本发明实施例也不限定数据源设备的数量,用户可根据实际应用需求进行设定。本发明实施例也不限定数据源设备采用的通信协议,例如可以为MQTT协议,也可以为ModBus、OPC或自定义的采集器协议,其中,MQTT协议是标准的物联网数据传输协议,ModBus协议是一种串行通信协议,是工业领域通信协议的业内标准,OPC(OLE for ProcessControl)是用于工业控制系统应用程序之间的通信的一个接口标准。可以理解的是,为了MQTT代理程序正确接收工业数据,应当使用MQTT协议对工业数据进行封装;进一步可以理解的是,由于数据源设备可能并不采用MQTT协议,为了达到利用MQTT协议封装工业数据的目的,应当对这类数据源设备的通信协议进行转换。本发明实施例并不限定具体的通信协议转换方法,用户可根据数据源设备实际使用的通信协议,参考该通信协议与MQTT协议之间转换的相关技术。
进一步,本发明实施例并不限定工业数据的具体数据结构形式及内容,用户可根据实际应用需求进行选择。本发明实施例也不限定区分各个数据源设备工业数据的方式,例如可根据数据源设备的硬件信息对工业数据进行标识,也可以为数据源设备设置特定的预设命名空间,并利用该预设命名空间对该数据源设备的工业数据进行标识,其中,命名空间(namespace)是用于组织和重用代码的标识信息。由于命名空间简洁且易于编码实现,因此在本发明实施例中可为数据源设备设置特定的预设命名空间,并利用该预设命名空间对该数据源设备的工业数据进行标识。
最后,本发明实施例并不限定MQTT代理程序所在的硬件设备,用户可根据实际应用需求进行设定。
在一种可能的情况中,数据源设备将工业数据发送至MQTT代理程序的过程,可以包括:
步骤11:数据源设备利用预设命名空间对工业数据进行标识,并利用MQTT协议对标识后的工业数据进行封装。
步骤12:数据源设备将封装后的工业数据发送至MQTT代理程序。
需要说明的是,本发明实施例并不限定各数据源设备对应的具体预设命名空间,用户可根据应用需求进行设定。本发明实施例也不限定利用预设命名空间对工业数据进行标识的具体方式,用户可参考命名空间的相关技术。本发明实施例也不限定利用MQTT协议对工业数据进行封装的具体方式,用户同样可参考MQTT协议的相关技术。
S102、MQTT代理程序接收工业数据,将工业数据的数据格式转换为预设数据协议格式,并通过Kafka将数据格式转换后的工业数据发送至实时数据服务程序。
由于各数据原采用不同的数据格式进行采集工作,此时若直接将工业数据存储至数据库将造成数据混乱问题,进而降低数据库增加、删除、修改、查询等操作的效率,降低工业数据存储效果。有鉴于此,在本发明实施例中,在利用Kafka进行数据传输之前,MQTT代理程序首先将工业数据的数据格式进行转换,统一为预设数据协议格式,以确保工业数据以统一的数据格式存储数据库,可提升工业数据存储的效果及后续数据管理的效率。其中,Kafka为是一个具有高吞吐量优势的分布式发布订阅信息系统。
需要说明的是,本发明实施例并不限定利用Kafka进行数据传输的具体方法,用户可参考Kafka的相关技术。本发明实施例也不限定Kafka的部署模式,例如Kafka的部署模式可以为单机部署,也可以为集群部署。考虑到工业数据量较大,以集群的形式部署Kafka易于在数据量增加时进行扩展,可满足对大数据量传输的需求,因此在本发明实施例中,Kafka可以以集群的形式进行部署。
进一步,在本发明实施例中,实时数据服务程序用于执行数据写入非关系型数据库的操作。本发明实施例并不限定实时数据服务程序的具体形式,只要能够满足上述功能即可。
进一步,本发明实施例并不限定预设数据协议格式的具体形式,用户可结合实际工业数据的数据结构特征,并根据实际应用需求进行设定。本发明实施例也不限定进行数据格式转换的具体方式,用户可参考数据清洗的相关技术。本发明实施例也不限定数据格式转换的具体执行主体,例如可由MQTT代理程序中的数据清洗模块进行处理,也可以由MQTT与Kafka的桥接服务程序完成,其中MQTT与Kafka的桥接服务程序(MQTT-Kafka-Bridge)用于处理异构的MQTT消息包,解析转换为标准的Kafka信息包。考虑到桥接服务程序已可实现数据结构转换,因此在本发明实施例中,可采用桥接服务程序进行数据结构转换。
在一种可能的情况中,MQTT代理程序接收工业数据,将工业数据的数据格式转换为预设数据协议格式,并通过Kafka将数据格式转换后的工业数据发送至实时数据服务程序的过程,可以包括:
步骤21:MQTT代理程序接收工业数据,并将工业数据发送至MQTT与Kafka的桥接服务程序;
步骤22:桥接服务程序利用预设数据协议对工业数据的数据格式进行转换,并通过Kafka将数据格式转后的工业数据发送至实时数据服务程序。
进一步,在一种可能的情况中,通过Kafka将数据格式转后的工业数据发送至实时数据服务程序的过程,可以包括:
步骤31:桥接服务程序将工业数据转换为Kafka消息,并通过Kafka将协议转换后的工业数据发送至实时数据服务程序。
需要说明的是,本发明实施例并不限定将MQTT消息转换至Kafka消息的具体转换方法,用户可参考MQTT-Kafka-Bridge的相关技术。
最后,需要说明的是,本发明实施例并不限定桥接服务程序、Kafka以及实时数据服务程序所在的硬件设备,用户可根据实际应用需求进行设定。
S103、实时数据服务程序接收工业数据,并将工业数据写入非关系型数据库。
在工业自动化场景中,工业数据的采集速度及响应速度级别均为毫秒级,同时工业数据的数据源较多,一个大型企业通常拥有几万甚至几十万的数据监控点,因此工业自动化对工业数据的存储性能要求较高,若数据存储性能无法与数据采集速度相匹配,将影响工业自动化效率。而在相关技术中,工业数据的存储由关系型数据库进行,由于关系型数据库的组织结构及写入操作较为复杂,在面对频繁的数据写入操作时将出现性能下降问题,进而直接影响工业数据存储的效率,降低了工业自动化系统的整体性能。而本发明实施例采用非关系型数据进行工业数据存储,由于非关系型数据库的结构简单,且写入操作较为高效,因此选用非关系型数据库可在处理频繁数据写入操作时,确保稳定的数据写入性能,进而提升数据存储效率,并最终提升工业自动化系统的整体性能。
需要说明的是,本发明实施例并不限定具体的非关系型数据库,例如可以为键值存储数据库,也可以为列存储数据库,也可以为文档型数据库。考虑到键值存储数据库更适合实时数据存储,因此在本发明实施例中可以采用键值存储数据库。本发明实施例也不限定具体的键值存储数据库,例如可以为Redis、Oracle BDB,或其他类型的键值存储数据库,其中Redis为一个可基于内存的键值存储数据库,Oracle BDB(Oracle Berkeley DB)为一个开源的文件数据库,其使用方式与内存数据库类似。考虑到Redis的写入操作为基于内存的操作,执行效率较高,同时Redis数据结构及数据操作较为简单,可高效完成工业数据存储操作,因此在本发明实施例中,非关系型数据库可采用Redis。本发明实施例也不限定Redis进行数据存储操作时使用的I/O模型,例如可以采用阻塞I/O模型、非阻塞I/O模型、I/O多路复用模型、信号驱动I/O模型或异步I/O模型。由于I/O多路复用不会阻塞I/O操作,影响其他客户端的请求响应,因此在本发明实施例中可以采用I/O多路复用模型。本发明实施例也不限定Redis主线程用于处理高并发I/O业务请求所采用的主线程结构,例如可以为单线程结构,也可以为多线程结构。考虑到Redis的单线程结构也可保证较高的效率,同时考虑到I/O操作采用周期性处理方式可提升处理效率,因此在本发明实施例中,Redis主线程可采用单线程结构处理高并发I/O业务请求。本发明实施例也不限定Redis处理客户端请求的执行主体,例如在一种可能的情况中,可以采用主线程串行的方式进行处理。本发明实施例也不限定Redis采用的数据结构,用户可根据实际应用需求并参考Redis相关技术进行确定。
下面结合具体例子解释工业数据在Redis中的数据结构。在一种可能的情况中,工业数据的根据组织结构可分为测点和点项,其中每个测点包含若干个点项,有预设命名空间区别,每个点项中包含具体的工业数据内容,如图2所示,图2为本发明实施例所提供的测点数据结构的示意图。而为了保存每个点项,在Redis中可采用Hash数据结构,以每个点项的点名作为key,点项的项作为field,项值作为value,具体数据结构以图3所示,图3为本发明实施例所提供的点项数据结构的示意图。
进一步,本发明实施例并不限定实时数据服务程序通过何种方式将数据写入Redis,例如可采用直接写入的方式,也可以利用Redis提供的管道功能进行写入。由于管道可同时处理多条写入命令,且无需逐条等待返回值,而是采用同时返回返回值,可有效节省网络开销,并提升Redis的处理速度,因此在本发明实施例中,实时数据服务可采用Redis提供的管道功能进行数据写入。本发明实施例也不限定Redis的部署模式,例如Redis的部署模式可以为单机部署,也可以为集群部署。考虑到工业数据量较大,以集群的形式部署Redis易于在数据量增加时进行扩展,可满足对大数据量存储的需求,因此在本发明实施例中,Redis可以以集群的形式进行部署。
在一种可能的情况中,实时数据服务程序接收工业数据,并将工业数据写入非关系型数据库的过程,可以包括:
步骤41:实时数据服务程序接收工业数据,并通过非关系型数据库提供的管道功能,将工业数据写入非关系型数据库。
在一种可能的情况中,非关系型数据库为Redis。
最后,本发明实施例并不限定MQTT代理程序、Kafka、桥接服务程序、实时数据服务程序及非关系型数据库是否需要处于同一硬件设备,当需要集中提供数据存储服务时,以上程序及数据库可处于同一硬件设备,当应用位置较为分散时,也可以将以上程序设置在不同的硬件设备中,并依照上述描述的工业数据存储方法的执行顺序,对各个不同的硬件设备进行物理连接。本发明实施例也不限定能够将以上程序及数据库中的部分程序或数据库设置于同一设备,例如将MQTT代理程序、Kafka、桥接服务程序设置于第一设备,将实时数据服务程序及非关系型数据库设置于第二设备,用户可根据实际的应用需求进行选择。当非关系型数据库或Kafka以集群形式部署时,各个主从设备也可分别设置于多个硬件设备中。
基于上述实施例,本方法采用非关系型数据库进行工业数据的存储。由于相关技术采用关系型数据库进行工业数据的存储,受到关系型数据库复杂的数据结构及写入操作影响,现有的工业数据存储操作效率较低,难以满足工厂自动化的需求。而本方法采用非关系型数据库进行工业数据的存储,由于与关系型数据库相比,非关系型数据库的数据结构及写入操作均较为简单,因此本方法采用非关系型数据库可提升工业数据存储的效率;同时,本方法在进行写入操作之前,还将各种工业数据转换成统一的预设数据协议格式,可有效规范工业数据的数据格式,进而提升工业数据存储的管理效率,并最终提升工业自动化的效果。
基于上述实施例,为了方便管理人员对工厂数据的管理工作,在本发明实施例中,还基于非关系型数据库提供了数据查找功能。下面对该功能进行具体介绍,在一种可能的情况中,在将工业数据写入非关系型数据库之后,还可以包括:
S201、实时数据服务程序接收查询指令,并在非关系型数据库中查询查询指令对应的数据。
在本发明实施例中,实时数据服务程序还可处理查询指令。本发明实施例并不限定实时数据服务程序的具体形式,只要该程序可实现将数据写入非关系性数据库以及处理查询操作的功能即可。
需要说明的是,本发明实施例并不限定查询指令的具体形式及内容,用户可根据实际需求进行设置,本发明实施例也不限定实时数据服务程序依据查询指令,在非关系型数据库中查询对应数据的具体步骤,用户可根据具体选用的非关系型数据库,参考相关的查询方式。
S202、实时数据服务程序通过预设网络框架接口将数据发送至查询指令对应的查询设备。
由于预设网络框架可提供多种查询接口,并提供多种查询功能,因此在本发明实施例中,采用预设网络框架接口进行数据查询,可提升数据查询功能的实用性。需要说明的是,本发明实施例并不限定具体的预设网络框架接口,例如可以为RESTful,也可以为gRPC,也可以为其他类型的网络框架接口,其中RESTful是一种轻量的、基于HTTP的数据传输协议,一般以XML、JSON进行数据交换;gRPC是一款语言中立、平台中立、开源的远程过程调用系统。本发明实施例也不限定利用预设网络框架接口发送数据的具体方式,用户可参考相关技术。本发明实施例也不限定数据的具体数据结构,例如可通过JSON格式进行发送,也可以通过XML进行发送。由于JSON格式较为轻量,采用该格式可实现较快的发送速度,因此在本发明实施中,数据可采用JSON格式。
基于上述实施例,本方法还可基于非关系型数据库提供多种数据查询功能,为管理人员的数据管理工作提供便利,并进一步提升工业数据存储的使用性。
基于上述实施例,下面基于具体的时序图,对工业数据存储的两大过程,即实时工业数据收集及实时工业数据存储过程进行描述。
请参考图4,图4为本发明实施例所提供的实时工业数据收集的时序图。实时工业数据收集首先由数据源设备将工业实时数据包发送至MQTT Broker,MQTT Broker依据订阅信息将实时数据下发至MQTT-Kafka-Bridge桥接服务程序,最后桥接服务程序对实时数据进行解析及格式转换后,将转换为Kafka消息的实时数据发送至Kafka。
请参考图5,图5为本发明实施例所提供的实时工业数据存储的时序图。实时工业存储首先由Kafka依据订阅信息将实时数据信息发送至实时数据服务程序realtime-pipe,实时数据服务程序经过对实时数据信息的解析及转换后,通过管道方式将数据存储于Redis。
下面对本发明实施例提供的一种工业数据存储系统、电子设备及存储介质进行介绍,下文描述的一种工业数据存储系统、电子设备及存储介质与上文描述的工业数据存储方法可相互对应参照。
请参考图6a,图6a为本发明实施例所提供的一种工业数据存储系统的结构框图,该系统可包括:数据源设备610,MQTT代理设备620,Kafka设备630、实时数据服务设备640及非关系型数据库650。
请参考图6b,图6b为本发明实施例所提供的一种数据源设备的结构框图,数据源设备610可包括:
工业数据发送模块611,用于将工业数据发送至MQTT代理程序620;
请参考图6c,图6c为本发明实施例所提供的一种MQTT代理设备的结构框图,MQTT代理设备620可以包括:
工业数据处理模块621,用于接收工业数据,将工业数据的数据格式转换为预设数据协议格式,并通过Kafka设备630将数据格式转换后的工业数据发送至实时数据服务程序640。
请参考图6d,图6d为本发明实施例所提供的一种Kafka设备的结构框图,Kafka设备630可以包括:
数据传输模块631,用于将工业数据传输至实时数据服务设备640。
请参考图6e,图6e为本发明实施例所提供的一种实时数据服务设备的结构框图,实时数据服务设备640可以包括:
数据写入模块641,用于接收工业数据,并将工业数据写入非关系型数据库650。
请参考图6f,图6f为本发明实施例所提供的一种非关系型数据库的结构框图,非关系型数据库650可以包括:
数据存储模块651,用于写入工业数据。
需要说明的是,本发明实施例并不限定数据源设备610,MQTT代理设备620,Kafka设备630、实时数据服务设备640及非关系型数据库650是否为同一设备,以上设备均可为同一设备,也可以分别为单独的设备。本发明实施例也不限定设备之间的组合方式,例如在一种可能的情况中MQTT代理设备620与Kafka设备630为同一设备,用户可根据实际应用需求进行设置。
可选地,该系统还包括桥接服务设备,桥接服务设备与MQTT代理设备620及Kafka设备630相连,该设备包括:
数据接收模块,用于接收MQTT代理设备620发送的工业数据;
数据转换模块,用于利用预设数据协议对工业数据的数据格式进行转换,并通过Kafka设备630将数据格式转后的工业数据发送至实时数据服务程序640。
工业数据处理模块621可以包括:
数据转发模块,用于接收工业数据,并将工业数据发送至MQTT与Kafka的桥接服务设备;
可选地,数据转换模块,包括:
Kafka消息转换子模块,用于将工业数据转换为Kafka消息,并通过Kafka设备630将协议转换后的工业数据发送至实时数据服务程序。
可选地,工业数据发送模块611可以包括:
封装子模块,用于利用预设命名空间对工业数据进行标识,并利用MQTT协议对标识后的工业数据进行封装。
发送子模块,用于将封装后的工业数据发送至MQTT代理程序620。
可选地,实时数据服务设备640还可以包括:
数据查询模块,用于接收查询指令,并在非关系型数据库中查询查询指令对应的数据;
数据发送模块,用于通过预设网络框架接口将数据发送至查询指令对应的查询设备。
可选地,数据写入模块641可以包括:
数据写入子模块,用于接收工业数据,并通过非关系型数据库提供的管道功能,将工业数据写入非关系型数据库。
可选地,非关系型数据库650可以为Redis。
本发明实施例还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的工业数据存储方法的步骤。
由于电子设备部分的实施例与工业数据存储方法部分的实施例相互对应,因此电子设备部分的实施例请参见工业数据存储方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的工业数据存储方法的步骤。
由于存储介质部分的实施例与工业数据存储方法部分的实施例相互对应,因此存储介质部分的实施例请参见工业数据存储方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种工业数据存储方法、系统、电子设备及存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种工业数据存储方法,其特征在于,包括:
数据源设备将工业数据发送至MQTT代理程序;
所述MQTT代理程序接收所述工业数据,将所述工业数据的数据格式转换为预设数据协议格式,并通过Kafka将数据格式转换后的工业数据发送至实时数据服务程序;
所述实时数据服务程序接收所述工业数据,并将所述工业数据写入非关系型数据库。
2.根据权利要求1所述的工业数据存储方法,其特征在于,所述MQTT代理程序接收所述工业数据,将所述工业数据的数据格式转换为预设数据协议格式,并通过Kafka将数据格式转换后的工业数据发送至实时数据服务程序,包括:
MQTT代理程序接收所述工业数据,并将所述工业数据发送至MQTT与所述Kafka的桥接服务程序;
所述桥接服务程序利用所述预设数据协议对所述工业数据的数据格式进行转换,并通过Kafka将数据格式转后的工业数据发送至实时数据服务程序。
3.根据权利要求2所述的工业数据存储方法,其特征在于,所述通过Kafka将数据格式转后的工业数据发送至实时数据服务程序,包括:
所述桥接服务程序将所述工业数据转换为Kafka消息,并通过所述Kafka将协议转换后的工业数据发送至所述实时数据服务程序。
4.根据权利要求1所述的工业数据存储方法,其特征在于,所述数据源设备将工业数据发送至MQTT代理程序,包括:
所述数据源设备利用预设命名空间对所述工业数据进行标识,并利用MQTT协议对标识后的工业数据进行封装;
所述数据源设备将封装后的工业数据发送至所述MQTT代理程序。
5.根据权利要求1所述的工业数据存储方法,其特征在于,在将所述工业数据写入非关系型数据库之后,还包括:
所述实时数据服务程序接收查询指令,并在所述非关系型数据库中查询所述查询指令对应的数据;
所述实时数据服务程序通过预设网络框架接口将所述数据发送至所述查询指令对应的查询设备。
6.根据权利要求1至5任一项所述的工业数据存储方法,其特征在于,所述实时数据服务程序接收所述工业数据,并将所述工业数据写入非关系型数据库,包括:
所述实时数据服务程序接收所述工业数据,并通过所述非关系型数据库提供的管道功能,将所述工业数据写入所述非关系型数据库。
7.根据权利要求6所述的工业数据存储方法,其特征在于,所述非关系型数据库为Redis。
8.一种工业数据存储系统,其特征在于,包括用于执行如权利要求1至7任一项所述的工业数据存储方法的装置。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的工业数据存储方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的工业数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110200854.4A CN112817539A (zh) | 2021-02-23 | 2021-02-23 | 一种工业数据存储方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110200854.4A CN112817539A (zh) | 2021-02-23 | 2021-02-23 | 一种工业数据存储方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112817539A true CN112817539A (zh) | 2021-05-18 |
Family
ID=75865058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110200854.4A Pending CN112817539A (zh) | 2021-02-23 | 2021-02-23 | 一种工业数据存储方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817539A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641516A (zh) * | 2021-08-09 | 2021-11-12 | 杭州安恒信息技术股份有限公司 | 一种扫描引擎管控方法、系统及计算机可读存储介质 |
CN113746919A (zh) * | 2021-09-03 | 2021-12-03 | 中化信息技术有限公司 | 基于mqtt协议的多报文数据采集方法、采集系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109996A (zh) * | 2019-05-15 | 2019-08-09 | 浪潮通用软件有限公司 | 一种工业互联网设备实时数据采集与存储方法及系统 |
-
2021
- 2021-02-23 CN CN202110200854.4A patent/CN112817539A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109996A (zh) * | 2019-05-15 | 2019-08-09 | 浪潮通用软件有限公司 | 一种工业互联网设备实时数据采集与存储方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641516A (zh) * | 2021-08-09 | 2021-11-12 | 杭州安恒信息技术股份有限公司 | 一种扫描引擎管控方法、系统及计算机可读存储介质 |
CN113746919A (zh) * | 2021-09-03 | 2021-12-03 | 中化信息技术有限公司 | 基于mqtt协议的多报文数据采集方法、采集系统 |
CN113746919B (zh) * | 2021-09-03 | 2024-04-30 | 中化信息技术有限公司 | 基于mqtt协议的多报文数据采集方法、采集系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106131213B (zh) | 一种服务管理方法和系统 | |
CN108471366A (zh) | 一种面向云原生应用的立体监控系统 | |
CN110716744A (zh) | 一种数据流处理方法、系统和计算机可读存储介质 | |
CN111212085B (zh) | 物联网平台同步调用的方法、物联网系统和网络设备 | |
Rouached et al. | RESTful sensor web enablement services for wireless sensor networks | |
CN113032419B (zh) | 一种多源数据聚合搜索方法、装置、设备及存储介质 | |
CN112235130A (zh) | 一种实现基于sdn网络的运维自动化的方法和装置 | |
CN114490268A (zh) | 全链路监控方法、装置、设备、存储介质和程序产品 | |
CN112817539A (zh) | 一种工业数据存储方法、系统、电子设备及存储介质 | |
US11294740B2 (en) | Event to serverless function workflow instance mapping mechanism | |
CN110008267B (zh) | 一种数据处理的系统及方法 | |
CN114090366A (zh) | 一种监控数据的方法、装置和系统 | |
JP2002196932A (ja) | サービス・ゲートウェイのための拡張可能な提供機構 | |
CN102033741A (zh) | 北向接口系统及其实现方法 | |
CN113766026B (zh) | 一种应用于能源工业网的数据处理方法及系统 | |
CN114885044A (zh) | 面向测控设备异构监控数据包的自适应解析处理方法 | |
CN114301988A (zh) | 分布式调用方法、装置、存储介质及电子设备 | |
CN114095571A (zh) | 数据处理方法、数据服务总线、终端和存储介质 | |
JP2002196931A (ja) | サービス・ゲートウェイのための提供機構 | |
CN116842090A (zh) | 一种对账系统、方法、设备及存储介质 | |
CN110764769A (zh) | 处理用户请求的方法和装置 | |
CN110620819A (zh) | 区块链交互方法、装置、计算机设备及可读存储介质 | |
CN116016117A (zh) | 网络设备运维数据采集方法、系统、电子设备及存储介质 | |
CN115865680A (zh) | 分布式的设备接入、控制和数据传输的方法及系统、装置 | |
CN113992644A (zh) | 一种基于无服务技术的物联网关系统及其数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210518 |