CN112966020A - 一种工业高频大数据实时处理系统与方法 - Google Patents
一种工业高频大数据实时处理系统与方法 Download PDFInfo
- Publication number
- CN112966020A CN112966020A CN202110249619.6A CN202110249619A CN112966020A CN 112966020 A CN112966020 A CN 112966020A CN 202110249619 A CN202110249619 A CN 202110249619A CN 112966020 A CN112966020 A CN 112966020A
- Authority
- CN
- China
- Prior art keywords
- data
- real
- time
- module
- java
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 title abstract description 22
- 238000010276 construction Methods 0.000 claims abstract description 12
- 238000010223 real-time analysis Methods 0.000 claims description 19
- 238000003672 processing method Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 9
- 238000010801 machine learning Methods 0.000 claims description 7
- 238000013135 deep learning Methods 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 abstract description 16
- 238000004458 analytical method Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
本发明公开了一种工业高频大数据实时处理系统及方法,系统包含历史表构建模块、缓冲表构建模块、历史数据处理模块、实时数据处理模块、数据查询统计模块;历史表构建处理模块用于构建、存储历史表;缓冲表构建处理模块用于构建、存储缓冲表;历史数据处理模块用于消费来自传感器写入Kafka的数据,并写入历史表中;实时数据处理模块用于实时消费来自传感器实时写入Kafka的数据,并写入缓冲表中;数据查询统计模块用于对历史表进行查询、统计、分析,还用于对缓冲表进行查询、分析;方法包含步骤1‑步骤3;能够彻底解决工业高频海量实时数据的实时写入与实时查询分析的需求,单台服务器就解决了整条产线的问题。
Description
技术领域
本发明涉及高频大数据处理系统领域,具体涉及一种工业高频大数据实时处理系统与方法。
背景技术
传统的hadoop系列大数据处理技术无法满足工业需要,首先数据写入就无法满足,工业有大量高频海量数据,如4毫秒、10毫秒、16毫秒等等,需要实时存储,单条产线,高频海量数据项设计要求在1万以上,秒写入量要达到百万以上,乃至更高,分布式的hadoop大数据系统,单节点每秒写入几万数据就开始出问题了,各种报错;
工业需要大量的数据分析,大量的模型需要在线获取矩阵数据,进行模型训练,分布式的hadoop大数据系统,单节点数据查询速度每秒也只有几十万,单个模型实时训练的数据都远超几十万,因此也无法满足工业百万装备的数据实时获取需要。
发明内容
本发明要解决的技术问题是现有的系统中在单节点每秒写入几万数据就开始出问题了,各种报错,无法满足工业百万装备的数据实时获取需要,本发明提供一种工业高频大数据实时处理系统,能够彻底解决工业高频海量实时数据的实时写入与实时查询分析的需求,单台服务器就解决了整条产线的问题,以4毫秒数据为例,1万个产线数据项,如果全是4毫秒级的,1秒总共有250万的数据需要写入,实测1秒左右即可写入ClickHouse数据库表,实际产线数据4毫秒、10毫秒、16毫秒数据都有,每秒低于200万,因此写入在1秒内完成,传统的hadoop系列大数据平台,20台同样的服务器,都不能保证在一秒内写入200万数据,无法保障工业高频海量数据写入需要,用以解决现有技术导致的缺陷。
Java(计算机编程语言),是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写,Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
本发明还提供一种工业高频大数据实时处理方法。
为解决上述技术问题本发明提供以下的技术方案:
第一方面,一种工业高频大数据实时处理系统,其中,包含历史表构建模块、缓冲表构建模块、历史数据处理模块、实时数据处理模块、数据查询统计模块;
所述历史表构建处理模块用于构建、存储历史表;
所述缓冲表构建处理模块用于构建、存储缓冲表;
所述历史数据处理模块用于消费来自传感器写入Kafka的数据,并写入所述历史表中;
所述实时数据处理模块用于实时消费来自传感器实时写入Kafka的数据,并写入所述缓冲表中;
所述数据查询统计模块用于对所述历史表进行查询、统计、分析,还用于对所述缓冲表进行查询、分析。
上述的一种工业高频大数据实时处理系统,其中,所述历史表为ClickHouse历史表,所述ClickHouse历史表内存储有ClickHouse库全量数据信息,根据所述ClickHouse库实际需要保存相应时间的历史数据,比如保存多少天、多年月、多少年,所述ClickHouse历史表采用对全量历史数据进行查询、统计分析;
所述缓冲表为ClickHouse缓冲表,所述ClickHouse缓冲表内存储有ClickHouse库分钟级数据信息。
上述的一种工业高频大数据实时处理系统,其中,所述分钟级数据信息为分钟级流式数据,用于单个或多个数据项的流式数据分析。
上述的一种工业高频大数据实时处理系统,其中,所述历史数据处理模块为JAVA历史数据微服务程序模块,所述JAVA历史数据微服务程序模块多线程消费来自传感器写入Kafka的数据,并批量写入所述历史表中;
所述实时数据处理模块为JAVA实时数据微服务程序模块,所述JAVA实时数据微服务程序模块实时多线程消费来自传感器写入Kafka的数据,并批量写入所述缓冲表中;
所述数据查询统计模块为JAVA程序模块,所述JAVA程序模块还用于根据所述历史表生成为机器学习、深度学习的模型训练及预测的参考数据;
所述JAVA程序模块还用于对缓冲表中的未超时数据进行实时分析,该JAVA程序模块根据配置,同时截取相同时间窗口的多个数据项截面,进行实时分析,时间窗口是可配置的。
上述的一种工业高频大数据实时处理系统,其中,所述JAVA历史数据微服务程序模块批量写入所述历史表数据的速度为200万条左右每秒或200M左右每秒;
所述JAVA实时数据微服务程序模块批量写入所述缓冲表数据的速度为200万条左右每秒或200M左右每秒;
所述JAVA程序模块根据配置的时间窗口及数据选项截取单个或多个数据项相同时间段的数据截面进行分析。
第二方面,一种工业高频大数据实时处理方法,其中,包含以下步骤:
步骤1:历史表构建处理模块构建历史表并将历史表存储在历史表构建处理模块内;
缓冲表构建处理模块构建缓冲表并将缓冲表存储在缓冲表构建处理模块内;
步骤2:历史数据处理模块消费来自传感器写入Kafka的数据,并写入历史表中;
实时数据处理模块实时消费来自传感器实时写入Kafka的数据,并写入缓冲表中;
步骤3:数据查询统计模块对历史表进行查询、统计、分析,对缓冲表进行查询、分析。
上述的一种工业高频大数据实时处理方法,其中,所述历史表为ClickHouse历史表,所述ClickHouse历史表内存储有ClickHouse库全量数据信息;
所述缓冲表为ClickHouse缓冲表,所述ClickHouse缓冲表内存储有ClickHouse库分钟级数据信息。
上述的一种工业高频大数据实时处理方法,其中,所述分钟级数据信息为分钟级流式数据。
上述的一种工业高频大数据实时处理方法,其中,所述历史数据处理模块为JAVA历史数据微服务程序模块,所述JAVA历史数据微服务程序模块多线程消费来自传感器写入Kafka的数据,并批量写入所述历史表中;
所述实时数据处理模块为JAVA实时数据微服务程序模块,所述JAVA实时数据微服务程序模块实时多线程消费来自传感器写入Kafka的数据,并批量写入所述缓冲表中;
所述数据查询统计模块为JAVA程序模块,所述JAVA程序模块根据所述历史表生成为机器学习、深度学习的模型训练及预测的参考数据;
所述JAVA程序模块还用于对缓冲表中的未超时数据进行实时分析,该JAVA程序模块根据配置,同时截取相同时间窗口的多个数据项截面,进行实时分析,时间窗口是可配置的。
上述的一种工业高频大数据实时处理方法,其中,所述JAVA历史数据微服务程序模块批量写入所述历史表数据的速度为200万条左右每秒或200M左右每秒;
所述JAVA实时数据微服务程序模块批量写入所述缓冲表数据的速度为200万条左右每秒或200M左右每秒;
所述JAVA程序模块根据配置的时间窗口及数据选项截取单个或多个数据项相同时间段的数据截面进行分析,比如7分钟(时间根据实际实时数据量进行设置)数据超时的实时分析缓冲表的任务实时调度程序,该程序根据可变多个数据项的配置截取数据项相同时间窗口的数据截面,进行实时分析。
本技术方案提供的一种工业高频大数据实时处理系统,主要通过构建ClickHouse历史表、构建分钟级ClickHouse缓冲表,通过JAVA历史数据微服务程序模块实时消费大量来自传感器的实时写入Kafka的高频海量数据,实时批量写入(每秒能写入200万条左右数据或每秒200M左右数据)ClickHouse历史表的程序;通过JAVA实时数据微服务程序模块实时消费大量来自传感器的实时写入Kafka的高频海量数据,实时批量写入(每秒能写入200万条左右数据或每秒200M左右数据)ClickHouse实时分析缓冲表的程序。
依据上述本发明一种工业高频大数据实时处理系统及方法提供的技术方案具有以下技术效果:
本发明一种工业高频大数据实时处理系统及方法彻底解决了工业高频海量实时数据的实时写入与实时查询分析的需求,单台服务器就解决了整条产线的问题,以4毫秒数据为例,1万个产线数据项,如果全是4毫秒级的,1秒总共有250万的数据需要写入,实测1秒左右即可写入ClickHouse数据库表,实际产线数据4毫秒、10毫秒、16毫秒数据都有,每秒低于200万,因此写入在1秒内完成,传统的hadoop系列大数据平台,20台同样的服务器,都不能保证在一秒内写入200万数据,无法保障工业高频海量数据写入需要;
关于查询分析,ClickHouse单节点,实测1秒可查询5亿以上数据,因此查询分析也能保障工业需要,传统的hadoop系列大数据平台,每秒只能查几十万数据,1000台都不能达到ClickHouse单节点的速度;
本发明一种工业高频大数据实时处理系统及方法采用ClickHouse平台来处理工业高频海量大数据,彻底解决了工业高频海量大数据的痛点。
附图说明
图1为本发明一种工业高频大数据实时处理系统单机模式的结构示意图;
图2为本发明一种工业高频大数据实时处理系统集群模式的结构示意图;
图3为本发明一种工业高频大数据实时处理方法的流程图;
图4为本发明一种工业高频大数据实时处理方法一个具体实施例的流程图;
图5为本发明一种工业高频大数据实时处理系统采用单机模式进行数据分析的结果图。
其中,附图标记如下:
历史表构建模块101、缓冲表构建模块102、历史数据处理模块103、实时数据处理模块104、数据查询统计模块105。
具体实施方式
为了使发明实现的技术手段、创造特征、达成目的和功效易于明白了解,下结合具体图示,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本发明的一较佳实施例是提供一种工业高频大数据实时处理系统与方法,彻底解决了工业高频海量实时数据的实时写入与实时查询分析的需求,单台服务器就解决了整条产线的问题,以4毫秒数据为例,1万个产线数据项,如果全是4毫秒级的,1秒总共有250万的数据需要写入,实测1秒左右即可写入ClickHouse数据库表,实际产线数据4毫秒、10毫秒、16毫秒数据都有,每秒低于200万,因此写入在1秒内完成,传统的hadoop系列大数据平台,20台同样的服务器,都不能保证在一秒内写入200万数据,无法保障工业高频海量数据写入需要。
如图1-2所示,第一方面,一种工业高频大数据实时处理系统,其中,包含历史表构建模块101、缓冲表构建模块102、历史数据处理模块103、实时数据处理模块104、数据查询统计模块105;
历史表构建处理模块用于构建、存储历史表;
缓冲表构建处理模块用于构建、存储缓冲表;
历史数据处理模块103用于消费来自传感器写入Kafka的数据,并写入历史表中;
实时数据处理模块104用于实时消费来自传感器实时写入Kafka的数据,并写入缓冲表中;
数据查询统计模块105用于对历史表进行查询、统计、分析,还用于对缓冲表进行查询、分析。
其中,历史表为ClickHouse历史表(ClickHouse历史数据表),ClickHouse历史表内存储有ClickHouse库全量数据信息,根据ClickHouse库实际需要保存相应时间的历史数据,比如保存多少天、多年月、多少年,ClickHouse历史表采用对全量历史数据进行查询、统计分析;
缓冲表为ClickHouse缓冲表(ClickHouse实时流式数据分析级缓冲表),ClickHouse缓冲表内存储有ClickHouse库分钟级数据信息。
其中,分钟级数据信息为分钟级流式数据,用于单个或多个数据项的流式数据分析。
其中,历史数据处理模块103为JAVA历史数据微服务程序模块,JAVA历史数据微服务程序模块多线程消费来自传感器写入Kafka的数据,并批量写入历史表中;
实时数据处理模块104为JAVA实时数据微服务程序模块,JAVA实时数据微服务程序模块实时多线程消费来自传感器写入Kafka的数据,并批量写入缓冲表中;
数据查询统计模块105为JAVA程序模块,JAVA程序模块还用于根据历史表生成为机器学习、深度学习的模型训练及预测的参考数据;
JAVA程序模块还用于对缓冲表中的未超时数据进行实时分析,该JAVA程序模块根据配置,同时截取相同时间窗口的多个数据项截面,进行实时分析,时间窗口是可配置的。
其中,JAVA历史数据微服务程序模块批量写入历史表数据的速度为200万条左右每秒或200M左右每秒;
JAVA实时数据微服务程序模块批量写入缓冲表数据的速度为200万条左右每秒或200M左右每秒;
JAVA程序模块根据配置的时间窗口及数据选项截取单个或多个数据项相同时间段的数据截面进行分析。
如图3所示,第二方面,一种工业高频大数据实时处理方法,其中,包含以下步骤:
其中,历史表为ClickHouse历史表,ClickHouse历史表内存储有ClickHouse库全量数据信息;
缓冲表为ClickHouse缓冲表,ClickHouse缓冲表内存储有ClickHouse库分钟级数据信息。
其中,分钟级数据信息为分钟级流式数据。
其中,历史数据处理模块103为JAVA历史数据微服务程序模块,JAVA历史数据微服务程序模块内存储有JAVA历史数据微服务程序,JAVA历史数据微服务程序模块在JAVA历史数据微服务程序的控制下多线程消费来自传感器写入Kafka的数据,并批量写入历史表中;
实时数据处理模块104为JAVA实时数据微服务程序模块,JAVA实时数据微服务程序模块内存储有JAVA实时数据微服务程序,JAVA实时数据微服务程序模块在JAVA实时数据微服务程序的控制下实时多线程消费来自传感器写入Kafka的数据,并批量写入缓冲表中;
数据查询统计模块105为JAVA程序模块,JAVA程序模块根据历史表生成为机器学习、深度学习的模型训练及预测的参考数据;
JAVA程序模块对缓冲表中的未超时数据进行实时分析,该JAVA程序模块根据配置,同时截取相同时间窗口的多个数据项截面,进行实时分析,时间窗口是可配置的。
上述的一种工业高频大数据实时处理方法,其中,JAVA历史数据微服务程序模块批量写入历史表数据的速度为200万条左右每秒或200M左右每秒;
JAVA实时数据微服务程序模块批量写入缓冲表数据的速度为200万条左右每秒或200M左右每秒;
如图4所示,JAVA程序模块根据配置的时间窗口及数据选项截取单个或多个数据项相同时间段的数据截面进行分析,比如7分钟(时间根据实际实时数据量进行设置)数据超时的实时分析缓冲表的任务实时调度程序,该程序根据可变多个数据项的配置截取数据项相同时间窗口的数据截面,进行实时分析。
本技术方案提供的一种工业高频大数据实时处理系统,主要通过构建ClickHouse历史表、构建分钟级ClickHouse缓冲表,通过JAVA历史数据微服务程序模块实时消费大量来自传感器的实时写入Kafka的高频海量数据,实时批量写入(每秒能写入200万条左右数据或每秒200M左右数据)ClickHouse历史表的程序;通过JAVA实时数据微服务程序模块实时消费大量来自传感器的实时写入Kafka的高频海量数据,实时批量写入(每秒能写入200万条左右数据或每秒200M左右数据)ClickHouse实时分析缓冲表的程序。
本发明一种工业高频大数据实时处理系统具体可分为单机模式与集群模式;
单机模式,适合产线边缘服务站,集群模式,适合集团数据中心;
单机模式的具体实施例如下:
如图1所示,根据本发明一种工业高频大数据实时处理系统进行单机模式控制的流程如下:
构建ClickHouse历史表;
CREATE TABLE table_name_history(字段1Date,字段2DateTime,字段3String,字段4String,字段5DateTime64(3),字段6Float,字段7String,INDEX pdaaddr_idxpdaaddr TYPE minmax GRANULARITY 8192,INDEX starttime_idx starttime TYPEminmax GRANULARITY8192);
ENGINE=MergeTree(),PARTITION BY eday,ORDER BY(字段5,字段6),PRIMARYKEY(字段5,字段6),SETTINGS index_granularity=8192;
构建分钟级ClickHouse实时分析缓冲表;
CREATE TABLE table_name(字段1Date,字段2DateTime,字段3String,字段4String,字段5DateTime64(3),字段6Float,字段7String,INDEX pdaaddr_idx pdaaddrTYPE minmax GRANULARITY 8192,INDEX starttime_idx starttime TYPE minmaxGRANULARITY 8192)ENGINE=MergeTree(),PARTITION BY eday,ORDER BY(字段5,字段6),PRIMARY KEY(字段5,字段6),SETTINGS index_granularity=8192;
设置实时分析缓冲表的超时;
ALTER TABLE table_name MODIFY TTL字段2+INTERVAL分钟数(根据数据流量具体情况)minute;
通过JAVA历史数据微服务程序实时消费大量来自传感器的实时写入Kafka的高频海量数据,实时写入ClickHouse历史表的程序;
JAVA程序consumer.poll每poll一千或几千次(根据具体的数据流量大小),批量写入一次ClickHouse历史数表;
通过JAVA实时数据微服务程序实时消费大量来自传感器的实时写入Kafka的高频海量数据,实时写入ClickHouse实时分析缓冲表的程序;
JAVA程序consumer.poll每poll一千或几千次(根据具体的数据流量大小),批量写入一次ClickHouse实时分析缓冲表;
对PB以上级历史数据进行查询统计的程序;
通过表稀疏索引,检索万亿量级数据,做各种分析,通过与bitmap结合,对数据进行压缩和位运算提高查询性能。实时查询大量模型训练所需要的数据,供机器学习、深度学习使用;
对7分钟(时间根据实际实时数据量设置)数据超时的实时分析缓冲表的任务实时调度程序,该程序根据可变多个数据项的配置截取数据项相同时间窗口的数据截面,进行实时分析。
根据配置,实时获取多数据项相同时间窗口的数据,进行分析,如图5所示。
集群模式的具体实施例如下:
如图2所示,根据本发明一种工业高频大数据实时处理系统进行集群模式控制的流程如下:
只需在单机模式的基础上,将ClickHouse历史表的程序与ClickHouse实时分析缓冲表的程序换成分布式表;
ClickHouse历史表的分布式表;
CREATE TABLE table_name_history(字段1Date,字段2DateTime,字段3String,字段4String,字段5DateTime64(3),字段6Float,字段7String)ENGINE=Distributed(集群名,'库名','历史表名',rand());
ClickHouse实时分析缓冲表的分布式表;
CREATE TABLE table_name(字段1Date,字段2DateTime,字段3String,字段4String,字段5DateTime64(3),字段6Float,字段7String)ENGINE=Distributed(集群名,'库名','历史表名',rand());
通过JAVA历史数据微服务程序实时消费大量来自传感器的实时写入Kafka的高频海量数据,实时写入ClickHouse历史表的程序。该程序根据历史表的数量,有几个历史表,就部署几个微服务,分别写入该微服务对应的历史表;
通过JAVA实时数据微服务程序实时消费大量来自传感器的实时写入Kafka的高频海量数据,实时写入ClickHouse实时分析缓冲表的程序;该程序根据实时分析缓冲表的数量,有几个实时分析缓冲表,就部署几个微服务;分别写入该微服务对应的实时分析缓冲表。
对PB以上级历史数据进行查询统计的程序。该程序改为直接访问历史表的分布式表;
对7分钟(时间根据实际实时数据量设置)数据超时的实时分析缓冲表的任务实时调度程序,该程序根据可变多个数据项的配置截取数据项相同时间窗口的数据截面,进行实时分析。该程序改为直接访问实时分析缓冲表的分布式表。
存储器可以包括随机存储器、闪存、只读存储器、可编程只读存储器、非易失性存储器或寄存器等;
处理器可以是中央处理器(Central Processing Unit,CPU)等,或者是图像处理器(Graphic Processing Unit,GPU)存储器可以存储可执行指令;
处理器可以执行在存储器中存储的执行指令,从而实现本文描述的各个过程。
可以理解,本实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者;
其中,非易失性存储器可以是ROM(Read-OnlyMemory,只读存储器)、PROM(ProgrammableROM,可编程只读存储器)、EPROM(ErasablePROM,可擦除可编程只读存储器)、EEPROM(ElectricallyEPROM,电可擦除可编程只读存储器)或闪存。
易失性存储器可以是RAM(RandomAccessMemory,随机存取存储器),其用作外部高速缓存;
通过示例性但不是限制性说明,许多形式的RAM可用,例如SRAM(StaticRAM,静态随机存取存储器)、DRAM(DynamicRAM,动态随机存取存储器)、SDRAM(SynchronousDRAM,同步动态随机存取存储器)、DDRSDRAM(DoubleDataRate SDRAM,双倍数据速率同步动态随机存取存储器)、ESDRAM(Enhanced SDRAM,增强型同步动态随机存取存储器)、SLDRAM(SynchlinkDRAM,同步连接动态随机存取存储器)和DRRAM(DirectRambusRAM,直接内存总线随机存取存储器)。本文描述的存储器205旨在包括但不限于这些和任意其它适合类型的存储器205。
在一些实施方式中,存储器存储了如下的元素,升级包、可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序;
其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
应用程序,包含各种应用程序,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序中。
本领域技术人员可以明白的是,结合本文中所公开的实施例描述的各示例的单元及算法步骤能够以电子硬件、或者软件和电子硬件的结合来实现;
这些功能是以硬件还是软件方式来实现,取决于技术方案的特定应用和设计约束条件;
本领域技术人员可以针对每个特定的应用,使用不同的方式来实现所描述的功能,但是这种实现并不应认为超出本申请的范围。
在本申请实施例中,所公开的系统、装置和方法可以通过其它方式来实现;
例如,单元或模块的划分仅仅为一种逻辑功能划分,在实际实现时还可以有另外的划分方式;
例如,多个单元或模块或组件可以进行组合或者可以集成到另一个系统中;
另外,在本申请实施例中的各功能单元或模块可以集成在一个处理单元或模块中,也可以是单独的物理存在等等。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在机器可读存储介质中;
因此,本申请的技术方案可以以软件产品的形式来体现,该软件产品可以存储在机器可读存储介质中,其可以包括若干指令用以使得电子设备执行本申请实施例所描述的技术方案的全部或部分过程;
上述存储介质可以包括ROM、RAM、可移动盘、硬盘、磁盘或者光盘等各种可以存储程序代码的介质。
综上,本发明的一种工业高频大数据实时处理系统与方法,彻底解决了工业高频海量实时数据的实时写入与实时查询分析的需求,单台服务器就解决了整条产线的问题,以4毫秒数据为例,1万个产线数据项,如果全是4毫秒级的,1秒总共有250万的数据需要写入,实测1秒左右即可写入ClickHouse数据库表,实际产线数据4毫秒、10毫秒、16毫秒数据都有,每秒低于200万,因此写入在1秒内完成,传统的hadoop系列大数据平台,20台同样的服务器,都不能保证在一秒内写入200万数据,无法保障工业高频海量数据写入需要。
以上对发明的具体实施例进行了描述。需要理解的是,发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;本领域技术人员可以在权利要求的范围内做出各种变形或修改做出若干简单推演、变形或替换,这并不影响发明的实质内容。
Claims (10)
1.一种工业高频大数据实时处理系统,其特征在于,包含历史表构建模块、缓冲表构建模块、历史数据处理模块、实时数据处理模块、数据查询统计模块;
所述历史表构建处理模块用于构建、存储历史表;
所述缓冲表构建处理模块用于构建、存储缓冲表;
所述历史数据处理模块用于消费来自传感器写入Kafka的数据,并写入所述历史表中;
所述实时数据处理模块用于实时消费来自传感器实时写入Kafka的数据,并写入所述缓冲表中;
所述数据查询统计模块用于对所述历史表进行查询、统计、分析,还用于对所述缓冲表进行查询、分析。
2.如权利要求1所述的一种工业高频大数据实时处理系统,其特征在于,所述历史表为ClickHouse历史表,所述ClickHouse历史表内存储有ClickHouse库全量数据信息;
所述缓冲表为ClickHouse缓冲表,所述ClickHouse缓冲表内存储有ClickHouse库分钟级数据信息。
3.如权利要求2所述的一种工业高频大数据实时处理系统,其特征在于,所述分钟级数据信息为分钟级流式数据。
4.如权利要求1-3任一项所述的一种工业高频大数据实时处理系统,其特征在于,所述历史数据处理模块为JAVA历史数据微服务程序模块,所述JAVA历史数据微服务程序模块多线程消费来自传感器写入Kafka的数据,并批量写入所述历史表中;
所述实时数据处理模块为JAVA实时数据微服务程序模块,所述JAVA实时数据微服务程序模块实时多线程消费来自传感器写入Kafka的数据,并批量写入所述缓冲表中;
所述数据查询统计模块为JAVA程序模块,所述JAVA程序模块还用于根据所述历史表生成为机器学习、深度学习的模型训练及预测的参考数据;
所述JAVA程序模块还用于对缓冲表中的未超时数据进行实时分析,该JAVA程序模块根据配置,同时截取相同时间窗口的多个数据项截面,进行实时分析,时间窗口是可配置的。
5.如权利要求4所述的一种工业高频大数据实时处理系统,其特征在于,所述JAVA历史数据微服务程序模块批量写入所述历史表数据的速度为200万条每秒或200M每秒;
所述JAVA实时数据微服务程序模块批量写入所述缓冲表数据的速度为200万条每秒或200M每秒;
所述JAVA程序模块根据配置的时间窗口及数据选项截取单个或多个数据项相同时间段的数据截面进行分析。
6.一种工业高频大数据实时处理方法,其特征在于,包含以下步骤:
步骤1:历史表构建处理模块构建历史表并将历史表存储在历史表构建处理模块内;
缓冲表构建处理模块构建缓冲表并将缓冲表存储在缓冲表构建处理模块内;
步骤2:历史数据处理模块消费来自传感器写入Kafka的数据,并写入历史表中;
实时数据处理模块实时消费来自传感器实时写入Kafka的数据,并写入缓冲表中;
步骤3:数据查询统计模块对历史表进行查询、统计、分析,对缓冲表进行查询、分析。
7.如权利要求6所述的一种工业高频大数据实时处理方法,其特征在于,所述历史表为ClickHouse历史表,所述ClickHouse历史表内存储有ClickHouse库全量数据信息;
所述缓冲表为ClickHouse缓冲表,所述ClickHouse缓冲表内存储有ClickHouse库分钟级数据信息。
8.如权利要求7所述的一种工业高频大数据实时处理系统,其特征在于,所述分钟级数据信息为分钟级流式数据。
9.如权利要求6-8任一项所述的一种工业高频大数据实时处理系统,其特征在于,所述历史数据处理模块为JAVA历史数据微服务程序模块,所述JAVA历史数据微服务程序模块多线程消费来自传感器写入Kafka的数据,并批量写入所述历史表中;
所述实时数据处理模块为JAVA实时数据微服务程序模块,所述JAVA实时数据微服务程序模块实时多线程消费来自传感器写入Kafka的数据,并批量写入所述缓冲表中;
所述数据查询统计模块为JAVA程序模块,所述JAVA程序模块根据所述历史表生成为机器学习、深度学习的模型训练及预测的参考数据;
所述JAVA程序模块还用于对缓冲表中的未超时数据进行实时分析,该JAVA程序模块根据配置,同时截取相同时间窗口的多个数据项截面,进行实时分析。
10.如权利要求9所述的一种工业高频大数据实时处理系统,其特征在于,所述JAVA历史数据微服务程序模块批量写入所述历史表数据的速度为200万条每秒或200M每秒;
所述JAVA实时数据微服务程序模块批量写入所述缓冲表数据的速度为200万条每秒或200M每秒;
所述JAVA程序模块根据配置的时间窗口及数据选项截取单个或多个数据项相同时间段的数据截面进行分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110249619.6A CN112966020A (zh) | 2021-03-08 | 2021-03-08 | 一种工业高频大数据实时处理系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110249619.6A CN112966020A (zh) | 2021-03-08 | 2021-03-08 | 一种工业高频大数据实时处理系统与方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112966020A true CN112966020A (zh) | 2021-06-15 |
Family
ID=76276937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110249619.6A Pending CN112966020A (zh) | 2021-03-08 | 2021-03-08 | 一种工业高频大数据实时处理系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112966020A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682232A (zh) * | 2017-01-13 | 2017-05-17 | 西安电子科技大学 | 车辆监控系统的统计报表生成方法 |
CN107203199A (zh) * | 2017-06-12 | 2017-09-26 | 北京匡恩网络科技有限责任公司 | 一种工控网络安全预警方法及系统 |
CN109815026A (zh) * | 2018-12-18 | 2019-05-28 | 国电南京自动化股份有限公司 | 基于分布式组件的电力时序数据库 |
CN109977158A (zh) * | 2019-02-28 | 2019-07-05 | 武汉烽火众智智慧之星科技有限公司 | 公安大数据分析处理系统及方法 |
CN111881144A (zh) * | 2020-07-30 | 2020-11-03 | 深圳栅格信息技术有限公司 | 监控软件的测点数据处理方法、装置和计算机设备 |
CN112147459A (zh) * | 2020-08-12 | 2020-12-29 | 国电南瑞科技股份有限公司 | 一种基于scada系统的电网故障分析装置及方法 |
CN112163048A (zh) * | 2020-09-23 | 2021-01-01 | 常州微亿智造科技有限公司 | 基于ClickHouse实现OLAP分析的方法、装置 |
CN112256523A (zh) * | 2020-09-23 | 2021-01-22 | 贝壳技术有限公司 | 业务数据处理方法及装置 |
-
2021
- 2021-03-08 CN CN202110249619.6A patent/CN112966020A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682232A (zh) * | 2017-01-13 | 2017-05-17 | 西安电子科技大学 | 车辆监控系统的统计报表生成方法 |
CN107203199A (zh) * | 2017-06-12 | 2017-09-26 | 北京匡恩网络科技有限责任公司 | 一种工控网络安全预警方法及系统 |
CN109815026A (zh) * | 2018-12-18 | 2019-05-28 | 国电南京自动化股份有限公司 | 基于分布式组件的电力时序数据库 |
CN109977158A (zh) * | 2019-02-28 | 2019-07-05 | 武汉烽火众智智慧之星科技有限公司 | 公安大数据分析处理系统及方法 |
CN111881144A (zh) * | 2020-07-30 | 2020-11-03 | 深圳栅格信息技术有限公司 | 监控软件的测点数据处理方法、装置和计算机设备 |
CN112147459A (zh) * | 2020-08-12 | 2020-12-29 | 国电南瑞科技股份有限公司 | 一种基于scada系统的电网故障分析装置及方法 |
CN112163048A (zh) * | 2020-09-23 | 2021-01-01 | 常州微亿智造科技有限公司 | 基于ClickHouse实现OLAP分析的方法、装置 |
CN112256523A (zh) * | 2020-09-23 | 2021-01-22 | 贝壳技术有限公司 | 业务数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
张宇耀: "基于大数据的企业用户数据分析平台的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑(2019)》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10360517B2 (en) | Distributed hyperparameter tuning system for machine learning | |
US9798575B2 (en) | Techniques to manage virtual classes for statistical tests | |
US7599755B2 (en) | System and method for dynamically simulating value stream and network maps | |
EP3301621A1 (en) | Timing estimations for application lifecycle management work items determined through machine learning | |
Evans | Spreadsheets as a tool for teaching simulation | |
US20170048120A1 (en) | Systems and Methods for WebSphere MQ Performance Metrics Analysis | |
CN103218360A (zh) | 工业实时数据库采用内存池技术实现动态内存管理的方法 | |
Frank et al. | Efficient update data generation for DBMS benchmarks | |
CN114238054A (zh) | 基于改进tft的云服务器资源利用数量预测方法 | |
US20130173663A1 (en) | Method, distributed architecture and web application for overall equipment effectiveness analysis | |
CN111913715A (zh) | 基于微服务的机器学习自动化过程管理及优化系统和方法 | |
CN113986730A (zh) | 邀约文件测试方法、装置、设备及存储介质 | |
CN112966020A (zh) | 一种工业高频大数据实时处理系统与方法 | |
Martinviita | Time series database in Industrial IoT and its testing tool | |
Zschörnig et al. | A cloud-based Analytics-Platform for user-centric Internet of Things domains–Prototype and Performance Evaluation | |
Moreno et al. | Designing a benchmark for the performance evaluation of agent-based simulation applications on HPC | |
CN114116528B (zh) | 一种内存访问地址预测方法、装置、存储介质及电子设备 | |
US11036471B2 (en) | Data grouping for efficient parallel processing | |
Kudale et al. | A Review Of Data Analysis And Visualization Of Olympics Using Pyspark And Dash-Plotly | |
Wang et al. | Research on reducing fuzzy test sample set based on heuristic genetic algorithm | |
Ostashev | Automated verification of information models for capital construction projects to mitigate environmental impact | |
Goda et al. | 4mbench: Performance Benchmark of Manufacturing Business Database | |
CN110705736A (zh) | 宏观经济预测方法、装置、计算机设备及存储介质 | |
Gu et al. | An autonomic workflow performance manager for weather research and forecast workflows | |
Krasnova et al. | Digital twin as a driver of digitalization of organizations' activities and creation of digital models |
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: 20210615 |