CN117251414B - 一种基于异构技术的数据存储及处理方法 - Google Patents
一种基于异构技术的数据存储及处理方法 Download PDFInfo
- Publication number
- CN117251414B CN117251414B CN202311534482.4A CN202311534482A CN117251414B CN 117251414 B CN117251414 B CN 117251414B CN 202311534482 A CN202311534482 A CN 202311534482A CN 117251414 B CN117251414 B CN 117251414B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- processing
- offline
- real
- 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.)
- Active
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 28
- 238000005516 engineering process Methods 0.000 title claims abstract description 27
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 104
- 238000004364 calculation method Methods 0.000 claims abstract description 37
- 230000001360 synchronised effect Effects 0.000 claims abstract description 19
- 238000001514 detection method Methods 0.000 claims description 53
- 230000002159 abnormal effect Effects 0.000 claims description 41
- 230000005856 abnormality Effects 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 20
- 238000007726 management method Methods 0.000 claims description 12
- 230000010354 integration Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 6
- MUXFZBHBYYYLTH-UHFFFAOYSA-N Zaltoprofen Chemical compound O=C1CC2=CC(C(C(O)=O)C)=CC=C2SC2=CC=CC=C21 MUXFZBHBYYYLTH-UHFFFAOYSA-N 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000037406 food intake Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 10
- 238000003860 storage Methods 0.000 abstract description 6
- 238000011161 development Methods 0.000 abstract description 4
- 238000004140 cleaning Methods 0.000 description 17
- 238000001228 spectrum Methods 0.000 description 17
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000007405 data analysis Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000011664 signaling Effects 0.000 description 5
- 230000003749 cleanliness Effects 0.000 description 4
- 230000008030 elimination Effects 0.000 description 4
- 238000003379 elimination reaction Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 238000013499 data model Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于异构技术的数据存储及处理方法,涉及数据存储技术领域,包括:将以同步工具、分布采集工具以及Kafka消息队列构成数据采集模块采集到的目标数据写入数据湖Hudi后再利用Flink、Spark组件进行离线计算处理;将离线处理结果传输至数据仓库生成离线数据报表;利用计算引擎Flink读取并对Kafka消息队列中的数据以及Mysql同步数据实时计算;使用Apache Druid作为数据查询引擎,以供用户查询离线数据、实时数据处理结果。通过采用多数据模式的存储、Flink流批一体数仓计算架构以及Hudi异构技术栈完成所有离线和实时业务统计,有效解决开发成本够高的问题以及提高了数据处理效率;通过使用Apache Druid作为数据查询引擎实现更高效的数据查询以及分析,而改善数据查询效率。
Description
技术领域
本发明涉及数据存储技术领域,特别涉及一种基于异构技术的数据存储及处理方法。
背景技术
数据量的剧增导致了业界对计算机系统数据处理与分析的性能要求日益严苛。
因此,本发明提供一种基于异构技术的数据存储及处理方法,用以提高数据存储、处理效率。
发明内容
本发明提供种基于异构技术的数据存储及处理方法,用以通过采用多数据模式的存储、Flink流批一体数仓计算架构以及Hudi异构技术栈完成所有离线和实时业务统计,有效解决了开发成本够高的问题以及提高了数据处理效率;又通过使用Apache Druid作为数据查询引擎实现更高效的数据查询以及分析,而改善数据查询效率。
本发明提供一种基于异构技术的数据存储及处理方法,包括:
步骤1:以同步工具、分布采集工具以及Kafka消息队列构成数据采集模块,采集目标数据;
步骤2:通过分布式系统接入数据湖,将采集到的目标数据写入数据湖Hudi生成Hudi表,并利用Flink、Spark组件对所述Hudi表进行离线计算处理,得到离线处理结果;
步骤3:利用Apache Atlas的实时计算引擎Flink读取并对Kafka消息队列中的数据以及Mysql同步数据进行实时计算处理,得到实时数据处理结果;
步骤4:将所述离线处理结果传输至数据仓库进行数据整合与格式转换,生成离线数据报表;
步骤5:使用Apache Druid作为数据查询引擎,以供用户查询离线数据报表以及实时数据处理结果。
优选的,以同步工具、分布采集工具以及Kafka消息队列构成数据采集模块,采集目标数据,包括:
利用同步工具、分布采集工具以及Kafka消息队列构成的数据采集模块,从数据来源层采集结构化数据、半结构化数据以及非结构化数据;
将采集到的结构化数据、半结构化数据以及非结构化数据视作目标数据,并为所述目标数据添加目标标签;
基于所述目标标签,对所述目标数据封装得到关键数据,再将所述关键数据缓存至Kafka消息队列的第一主题内完成数据存放。
优选的,所述同步工具包括有Datax、Flink;所述分布采集工具包括有Flume、Logstash。
优选的,通过数据库管理系统接入数据湖,将采集到的目标数据写入数据湖Hudi生成Hudi表,并利用计算引擎对所述Hudi表进行离线计算处理,得到离线处理结果,包括:
将采集到的目标数据同步至分布式系统HDFS,并进行数据标准化处理以及生成对应维表数据;
按照预设周期从分布式文件系统HDFS中将所述维表数据导入数据库Hive预先创建的预置表中;
数据库Hive按照预设周期对存入预置表中的维表数据进行离线计算形成批数据后,再按照对应的字段类型将所述批数据映射到数据湖Hudi的hudi结果表中;
利用hudi结果表对经过标准化处理后的目标数据以及批数据进行关联处理得到目标关联数据;
利用Hudi索引组件将给定的hoodie key与所述目标关联数据建立唯一映射,以创建索引;
通过计算引擎Flink读取并检测所述目标关联数据,得到异常检测结果;
若所述目标关联数据存在异常,则生成告警数据,与所述目标关联数据相结合作为离线处理结果输出;
若所述目标关联数据不存在异常,则将所述目标关联数据视作离线处理结果输出。
优选的,检测所述目标关联数据,得到异常检测结果,包括:
从预先定制的异常检测规则库中选取与目标关联数据中涉及的待检测字段相匹配的目标检测规则;
配置Flink滑动窗口,并在确定目标关联数据与目标检测规则以及Flink滑动窗口配置完成后,生成异常检测任务传送至异常检测模块;
异常检测模块接收到异常检测任务后,利用目标检测规则对目标关联数据进行异常检测,得到第一异常结果;
通过Flink滑动窗口计算目标关联数据的Z-SCORE分数,获取疑似异常点;
引入TORK算法对所有疑似异常点进行分析与筛选,得到第二异常结果;
将所述第一异常结果与第二异常结果相结合,得到目标关联数据的异常检测结果。
优选的,利用Apache Atlas数据资源管理平台的实时计算引擎Flink读取并对Kafka消息队列中的数据以及Mysql同步数据进行实时计算处理,得到实时数据报表,包括:
利用实时计算引擎Flink对所述Kafka消息队列中的第一主题的内容进行解耦,并基于每个目标数据对应的目标标签对数据进行SQL过滤,得到第一数据;
对所述第一数据创建索引后,再进行标准化处理得到处理后数据;
对所述处理后数据进行数据格式的解析,得到第一格式;
基于所述第一格式,将读取的目标数据还原成原始数据,以生成对应的数据报表;
利用同步工具根据所述目标数据类型将该数据拼装为抽象的数据集,再基于Mysql Writer插件将该数据集写入Mysql 数据库中;
利用sql语句对写入Mysql 数据库中的数据集创建索引;
通过Mysql Connector组件将实时计算引擎Flink与Mysql 数据库相连,来对所述Mysql数据库中的数据集进行流处理以生成对应的实时数据报表;
将生成的实时数据报表作为实时计算处理结果存储至资源管理层,以供用户端利用数据查询引擎Apache Druid进行查询。
优选的,将所述离线处理结果传输至数据仓库进行数据整合与格式转换,生成离线数据报表,包括:
将所述离线处理结果导入通过Flink内置的Jdbc连接器与所述离线计算引擎相连的数据仓库;
对所述离线处理结果中包含的数据进行数据清洗和整合后得到第一集成数据;
利用时间戳标记版本对所述第一集成数据标记;
获取并对数据仓库中与所述标记后的第一集成数据目标源一致的历史集成数据按照预设删除规则进行删除;
基于所述标记后的第一集成数据与删除后的历史集成数据,生成离线数据报表。
优选的,使用Apache Druid作为数据查询引擎,以供用户查询离线数据报表以及实时数据处理结果,包括:
利用数据查询引擎Apache Druid内部构建的Statfilter组件对连接的数据仓库进行实时监测;
当Druid的节点Broker接收到用户端发送的查询请求时,启用Overlord节点接收客户端的查询任务,然后生成索引任务,并将所述索引任务分发给多个MiddleManager节点;
MiddleManager节点根据索引协议生成多个Peon;
基于Peon生成Segment,再对Historical节点分发下载任务,将所述Segment下载至本地,对所述数据仓库以及资源管理层进行流式/批量数据摄取;
再利用节点Broker汇总查询结果,统一返回给终端用户,以实现用户对离线数据报表以及实时数据报表的查询。
与现有技术相比,本申请的有益效果如下:
通过采用多数据模式的存储、Flink流批一体数仓计算架构以及Hudi异构技术栈完成所有离线和实时业务统计,有效解决了开发成本够高的问题以及提高了数据处理效率;又通过使用Apache Druid作为数据查询引擎实现更高效的数据查询以及分析,而改善数据查询效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种基于异构技术的数据存储及处理方法的流程图;
图2为本发明实施例中一种基于异构技术的数据存储及处理的整体框架图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供一种基于异构技术的数据存储及处理方法,如图1所示,包括:
步骤1:以同步工具、分布采集工具以及Kafka消息队列构成数据采集模块,采集目标数据;
步骤2:通过分布式系统接入数据湖,将采集到的目标数据写入数据湖Hudi生成Hudi表,并利用Flink、Spark组件对所述Hudi表进行离线计算处理,得到离线处理结果;
步骤3:利用Apache Atlas的实时计算引擎Flink读取并对Kafka消息队列中的数据以及Mysql同步数据进行实时计算处理,得到实时数据处理结果;
步骤4:将所述离线处理结果传输至数据仓库进行数据整合与格式转换,生成离线数据报表;
步骤5:使用Apache Druid作为数据查询引擎,以供用户查询离线计算结果以及实时数据处理结果。
该实施例中,同步工具包括有Datax、Flink;所述分布采集工具包括有Flume、Logstash;Kafka消息队列用于数据的接收、存储和转发;数据采集模块是由同步工具、分布采集工具以及Kafka消息队列集合构成的;目标数据包括有结构化数据,比如数据库业务数据,半结构化数据,比如文件数据、日志数据以及非结构化数据,比如视频数据。
该实施例中,数据湖是一个数据存储库,可以使系统或是存储库中以自然格式存储数据;Hudi表是由基于HDFS采集并对目标数据标准化处理后生成的维表数据导入Hive预置表中进行离线计算得到的数据所传入Hudi的记录构建得到的,其中HDFS指的是分布式系统,Hive是基于Hadoop的一个数据仓库工具,可以将数据文件映射为一张表。
该实施例中,离线计算处理指的是离线批量、延时较高的静态数据处理过程,适用于实时性要求不高的场景;离线处理结果指的是基于离线计算引擎对Hudi表处理的数据分析结果;Apache Atlas是hadoop的数据治理和元数据框架,提供了一个可伸缩和可扩展的核心基础数据治理服务集。
该实施例中,计算引擎Flink是一个框架和分布式处理引擎,可用于对数据流批处理,具有低延迟、高吞吐以及一致性的特点;实时数据处理结果指的是计算引擎Flink对Kafka消息队列中的数据以及Mysql同步数据进行实时计算处理得到的实时数据报表。
该实施例中,数据仓库指的是面向主题的、集成的、稳定的和时变的数据集合,用以支持管理决策;离线数据报表指的是数据仓库对接收的离线处理结果进行数据整合与格式转换,生成的数据报表;Apache Druid数据查询引擎是一个分布式的,支持实时多维OLAP分析的数据分析查询系统。
上述技术方案的有益效果是:通过采用多数据模式的存储、Flink流批一体数仓计算架构以及Hudi异构技术栈完成所有离线和实时业务统计,有效解决了开发成本够高的问题以及提高了数据处理效率;又通过使用Apache Druid作为数据查询引擎实现更高效的数据查询以及分析,而改善数据查询效率。
本发明实施例提供一种基于异构技术的数据存储及处理方法,以同步工具、分布采集工具以及Kafka消息队列构成数据采集模块,采集目标数据,包括:
利用同步工具、分布采集工具以及Kafka消息队列构成的数据采集模块,从数据来源层采集结构化数据、半结构化数据以及非结构化数据;
将采集到的结构化数据、半结构化数据以及非结构化数据视作目标数据,并为所述目标数据添加目标标签;
基于所述目标标签,对所述目标数据封装得到关键数据,再将所述关键数据缓存至Kafka消息队列的第一主题内完成数据存放。
该实施例中,该实施例中,同步工具包括有Datax、Flink;所述分布采集工具包括有Flume、Logs tash;Kafka消息队列用于数据的接收、存储和转发;数据采集模块是由同步工具、分布采集工具以及Kafka消息队列集合构成的。
该实施例中,目标数据包括有结构化数据,比如数据库业务数据,半结构化数据,比如文件数据、日志数据以及非结构化数据,比如视频数据;关键数据指的是基于目标标签对目标数据进行封装后得到的数据,其中目标标签由目标数据的数据库名以及表名构成;Kafka消息队列用于数据的接收、存储和转发;第一主题指的是目标数据发送到Kafka消息队列中对应的类别。
上述技术方案的有益效果是:通过同步工具、分布采集工具以及Kafka消息队列构成的数据采集模块快速有效地采集目标数据,为后续数据处理奠定基础。
本发明实施例提供一种基于异构技术的数据存储及处理方法,通过分布式系统接入数据湖,将采集到的目标数据写入数据湖Hudi生成Hudi表,并利用计算引擎对所述Hudi表进行离线计算处理,得到离线处理结果,包括:
将采集到的目标数据同步至分布式系统HDFS,并进行数据标准化处理以及生成对应维表数据;
按照预设周期从分布式文件系统HDFS中将所述维表数据导入数据库Hive预先创建的预置表中;
数据库Hive按照预设周期对存入预置表中的维表数据进行离线计算形成批数据后,再按照对应的字段类型将所述批数据映射到数据湖Hudi的hudi结果表中;
利用hudi结果表对经过标准化处理后的目标数据以及批数据进行关联处理得到目标关联数据;
利用Hudi索引组件将给定的hoodie key与所述目标关联数据建立唯一映射,以创建索引;
通过计算引擎Flink读取并检测所述目标关联数据,得到异常检测结果;
若所述目标关联数据存在异常,则生成告警数据,与所述目标关联数据相结合作为离线处理结果输出;
若所述目标关联数据不存在异常,则将所述目标关联数据视作离线处理结果输出。
该实施例中,目标数据包括有结构化数据,比如数据库业务数据,半结构化数据,比如文件数据、日志数据以及非结构化数据,比如视频数据;分布式系统HDFS,提供分布式存储服务以及数据处理服务;维表指的是对数据属性描述的表,由维度与事实数据构成;预设周期是提前设定好的;数据库Hive是基于Hadoop的一个数据仓库工具,可以将数据文件映射为一张表。
该实施例中,预置表是提前创建好的,用于存放HDFS基于目标数据生成的维表数据;批数据是对存入预置表中的维表数据进行离线计算得到的数据;字段类型包括有整数类型、小数类型、字符串类型以及时间日期类型;数据湖Hudi是数据存储库,可以使系统或是存储库中以自然格式存储数据;hudi结果表用于存放批数据。
该实施例中,目标关联数据是将经过标准化处理后的目标数据以及批数据进行关联处理得到的数据;hoodie key由记录键于激素所属的分区路径组成;索引是用于快速访问数据的数据结构;计算引擎Flink是一个框架和分布式处理引擎,可用于对数据流批处理,具有低延迟、高吞吐以及一致性的特点;异常检测结果是对目标关联数据异常检测得到的结果;告警数据用于表示某处发生异常,包括有异常数据点、异常发生时间、异常原因等数据;离线处理结果指的是基于离线计算引擎对Hudi表处理的数据分析结果。
上述技术方案的有益效果是:通过分布式系统接入数据湖Hudi对数据进行增量更新与删除,并支持构建索引可提高数据查询效率;再使用Flink作为数据计算引擎进行数据处理与异常检测,保证数据一致性与可靠性。
本发明实施例提供一种基于异构技术的数据存储及处理方法,检测所述目标关联数据,得到异常检测结果,包括:
从预先定制的异常检测规则库中选取与目标关联数据中涉及的待检测字段相匹配的目标检测规则;
配置Flink滑动窗口,并在确定目标关联数据与目标检测规则以及Flink滑动窗口配置完成后,生成异常检测任务传送至异常检测模块;
异常检测模块接收到异常检测任务后,利用目标检测规则对目标关联数据进行异常检测,得到第一异常结果;
通过Flink滑动窗口计算目标关联数据的Z-SCORE分数,获取疑似异常点;
引入TORK算法对所有疑似异常点进行分析与筛选,得到第二异常结果;
将所述第一异常结果与第二异常结果相结合,得到目标关联数据的异常检测结果。
该实施例中,异常检测规则库是由不同字段与对应预先定制的异常检测规则构建的;目标关联数据是将经过标准化处理后的目标数据以及批数据进行关联处理得到的数据;待检测字段指的是目标关联数据涉及的字段。
该实施例中,目标检测规则包括有通用规则和自定义规则,其中通用规则包括有数据格式校验、数据唯一性校验、正则表达校验等等,自定义规则是基于业务所需设置的检测规则;Flink滑动窗口用于根据指定的单位长度框住时间序列,从而计算框内的指标,即目标关联数据的Z-SCORE分数。
该实施例中,异常检测任务是确定定目标关联数据与目标检测规则以及Flink滑动窗口配置完成后生成的用于启动数据异常检测的请求;异常检测模块用于对目标关联数据异常检测;第一异常结果是利用目标检测规则对目标关联数据异常检测得到的结果;Z-SCORE分数是对目标关联数据转化为统一量度的分值,用于找出疑似异常点,其中疑似异常点指的是基于获取的Z-SCORE分数筛选出的离散点;第二异常结果由基于TORK算法从疑似异常点中筛选出的异常点构成。
上述技术方案的有益效果是:通过将目标检测规则与Flink滑动窗口对数据的异常检测结果相结合分析得到目标关联数据的异常检测结果,有效保证了数据的可靠性。
本发明实施例提供一种基于异构技术的数据存储及处理方法,利用Apache Atlas数据资源管理平台的实时计算引擎Flink读取并对Kafka消息队列中的数据以及Mysql同步数据进行实时计算处理,得到实时数据报表,包括:
利用实时计算引擎Flink对所述Kafka消息队列中的第一主题的内容进行解耦,并基于每个目标数据对应的目标标签对数据进行SQL过滤,得到第一数据;
对所述第一数据创建索引后,再进行标准化处理得到处理后数据;
对所述处理后数据进行数据格式的解析,得到第一格式;
基于所述第一格式,将读取的目标数据还原成原始数据,以生成对应的数据报表;
利用同步工具根据所述目标数据类型将该数据拼装为抽象的数据集,再基于Mysql Writer插件将该数据集写入Mysql 数据库中;
利用sql语句对写入Mysql 数据库中的数据集创建索引;
通过Mysql Connector组件将实时计算引擎Flink与Mysql 数据库相连,来对所述Mysql数据库中的数据集进行流处理以生成对应的实时数据报表;
将生成的实时数据报表作为实时计算处理结果存储至资源管理层,以供用户端利用数据查询引擎Apache Druid进行查询。
该实施例中,实时计算引擎Flink是一个框架和分布式处理引擎,可用于对数据流处理,具有低延迟、高吞吐以及一致性的特点;Kafka消息队列用于数据的接收、存储和转发;第一主题指的是目标数据发送到Kafka消息队列中对应的类别。
该实施例中,解耦是指减少耦合的过程;目标标签由目标数据的数据库名以及表名构成;第一数据是对目标数据利用SQL语句进行数据过滤后得到的数据;索引是用于快速访问数据的数据结构;处理后数据是对第一数据标准化处理后得到的数据;第一格式是对处理后数据格式解析得到的。
该实施例中,同步工具包括有Datax、Flink;目标数据类型包括有结构化数据、半结构化数据;Mysql 数据库用于将数据保存在不同表中,可提高数据使用灵活性;实时数据报表指的是计算引擎Flink对Kafka消息队列中的数据以及Mysql同步数据进行实时计算处理生成的报表;Apache Druid数据查询引擎是一个分布式的,支持实时多维OLAP分析的数据分析查询系统。
上述技术方案的有益效果是:通过利用实时计算引擎Flink读取并对Kafka消息队列中的数据以及Mysql同步数据进行计算处理,有效实现了对数据的实时处理与存储以及数据的查询、读取效率。
本发明实施例提供一种基于异构技术的数据存储及处理方法,将所述离线处理结果传输至数据仓库进行数据整合与格式转换,生成离线数据报表,包括:
将所述离线处理结果导入通过Flink内置的Jdbc连接器与所述离线计算引擎相连的数据仓库;
对所述离线处理结果中包含的数据进行数据清洗和整合后得到第一集成数据;
利用时间戳标记版本对所述第一集成数据标记;
获取并对数据仓库中与所述标记后的第一集成数据目标源一致的历史集成数据按照预设删除规则进行删除;
基于所述标记后的第一集成数据与删除后的历史集成数据,生成离线数据报表。
该实施例中,对所述离线处理结果中包含的数据进行数据清洗和整合后得到第一集成数据,包括:
根据数据仓库的仓库属性,从属性-清洗映射表中匹配得到第一清洗任务,并提取第一清洗任务中存在的噪声监测特征,且结合基于计算引擎Flink的第一可能噪声特征、基于Kafka消息队列的第二可能噪声特征以及基于Mysql 数据库的第三可能噪声特征,对计算引擎Flink批处理后的离线处理结果中包含的数据进行噪声消除,得到第一数据;
对所述第一数据中的每个子数据进行关联处理,得到基于每个子数据的关联集合,并依据关联约束条件对所述关联集合中与对应子数据相关的有效关联子数据进行保留;
以每个子数据为基准,来根据基准子数据的数据类型以及对应集合中所保留的有效关联子数据的数据个数以及数据类型,来从类型-数量-清洗映射表中匹配得到第二清洗任务;
基于所述第二清洗任务对相应子数据以及对应保留的有效关联子数据进行清洗,得到第二数据;
对所有关联集合中的未保留子数据进行交集处理,并提取非交集子数据,基于噪声数据模型构建对应非交集子数据的数据噪声结构,并确定所述数据噪声结构的噪声类别以及基于每个噪声类别的噪声频谱;
基于所有噪声频谱构建得到所有非交集子数据基于同噪声类别的初始噪声谱,并对所述初始噪声谱进行最小信号化得到第一峰值,同时,对所述初始噪声谱进行最大信号化得到第二峰值;
分析同噪声类别下的所有噪声频谱中每个能量波段的出现概率,且筛选最高出现概率的能量波段作为中间波段,并围绕所述中间波段对所述初始噪声谱进行中间信号化得到第三峰值;
基于所述第一峰值、第二峰值以及第三峰值,得到非交集子数据的洁净谱,并获取所述洁净谱的第三数据;
根据交集子数据的产生路径,来从降噪数据库中提取与所述产生路径一致的降噪方式,对相应交集子数据进行噪声消除,得到第四数据;
将第二数据、第三数据以及第四数据按照离线处理结果中包含的数据的数据顺序进行整合,得到第一集成数据。
该实施例中,仓库属性指的是对应仓库存储数据的干净程度,根据干净程度来从映射表中匹配清洗任务,也就是该映射表中包括不同干净程度以及与干净程度匹配的清洗任务在内,清洗需求不一样所对应的清洗任务自然也是不一样的。
该实施例中,清洗任务的目的是为了将数据中的噪声进行消除,所以,提取存在的噪声监测特征,来对数据进行噪声消除,比如,存在噪声1,此时,噪声监测特征01正好可以对该噪声1进行消除,消除后的数据即为第一数据。
该实施例中,第一数据是对离线数据进行清洗后的一个统称,该第一数据中是包含很多子数据的,因此,通过建立子数据之间的关联,可以对有效的子数据进行保留。
该实施例中,关联集合是通过对子数据的数据类型、数据相似度来进行的关联,进而可以得到每个子数据的关联集合。
根据每个子数据所对应保留的有效关联子数据的数据量进行确定,且结合对应构建该集合的子数据的数据类型,获取清洗规则进行二次清洗,其中,有效关联子数据是获取与基准子数据类型高度相似的数据。
该实施例中,比如,关联集合1中的未保留子数据为01、02、03,关联集合2中的未保留子数据为01、04、05,此时,交集处理的子数据为01,非交集子数据为02、03、04、05。
该实施例中,噪声数据模型是预先训练好的,基于不同非噪声的数据以及对非噪声的数据附加不同类型的噪声,且附加后所得到的不同的噪声结构为样本训练得到的,且通过模型可以直接得到对应的噪声结构,进而通过结构-类型-频谱对应,即可得到噪声类别以及噪声频谱。
该实施例中,同噪声类别的初始噪声谱指的是将同类别的所有初始噪声谱组合到一起,得到包含所有噪声谱在内的图谱。
该实施例中,最小化指的是提取同类别中的每个初始噪声谱中非0的最小化波动峰,来将提取的所有最小波动峰进行平均处理所得到的最后波动峰作为最小信号化后的峰值,且最大信号化指的是将所有最大波动峰进行平均处理所得到的最后波动峰作为最大信号化的峰值。
该实施例中,出现概率指的是对应波段的出现次数,比如,能量波段a1~a2的出现次数为100次,a2~a3的出现次数为200次,此时,a2~a3作为中间波段,获取中间波段中所有峰的平均值,作为中间信号化的峰值。
该实施例中,基于第一峰值y1、第二峰值y2以及第三峰值y3,计算最后峰值Y0;
;其中,/>表示基于对应中间波段的峰值方差;n1表示对应初始噪声谱的峰值个数;
其中,对非交集子数据的能量峰值大于第一预设峰值的按照最后峰值进行噪声消除处理,对能量峰值大于第二预设峰值小于第一预设峰值的按照第一峰值进行噪声消除处理,对能量峰值小于等于第二预设峰值的不做处理,最后得到第三数据。
该实施例中,基于计算引擎Flink的第一可能噪声特征、基于Kafka消息队列的第二可能噪声特征以及基于Mysql 数据库的第三可能噪声特征,都是预先确定好的,是指的计算引擎Flink、Kafka消息队列以及Mysql 数据库在使用过程中可能会造成的噪声存在,主要是为了高效剔除数据中可能存在的噪声情况。
该实施例中,产生路径指的是产生子数据的路径,因为在产生数据的过程中也会存在一些本源噪声,所以,来提取相应的降噪方式进行降噪处理。
该实施例中,将所有的数据按照位置锁定进行数据替换最后得到第一集成数据,保证数据的清洗有效性,提高后续生成离线报表的可靠性。
该实施例中,离线处理结果指的是基于离线计算引擎对Hudi表处理的数据分析结果;数据仓库指的是面向主题的、集成的、稳定的和时变的数据集合,用以支持管理决策;第一集成数据是对离线处理结果中包含的数据进行数据清洗和整合后得到的数据;时间戳标记版本用于给第一集成数据加上时间版本标志;预设删除规则是提前设定好的;离线数据报表是数据仓库基于标记后的第一集成数据与删除后的历史集成数据的分析生成的报表。
上述技术方案的有益效果是:通过将经过计算引擎Flink批处理后得到的离线处理结果导入数据仓库中进行清洗与整合处理后生成对应报表,有效实现数据聚合,以及提高数据管理与后续查询的效率。
本发明实施例提供一种基于异构技术的数据存储及处理方法,使用Apache Druid作为数据查询引擎,以供用户查询离线数据报表以及实时数据处理结果,包括:
利用数据查询引擎Apache Druid内部构建的Statfilter组件对连接的数据仓库进行实时监测;
当Druid的节点Broker接收到用户端发送的查询请求时,启用Overlord节点接收客户端的查询任务,然后生成索引任务,并将所述索引任务分发给多个MiddleManager节点;
MiddleManager节点根据索引协议生成多个Peon;
基于Peon生成Segment,再对Historical节点分发下载任务,将所述Segment下载至本地,对所述数据仓库以及资源管理层进行流式/批量数据摄取;
再利用节点Broker汇总查询结果,统一返回给终端用户,以实现用户对离线数据报表以及实时数据报表的查询。
该实施例中,数据查询引擎Apache Druid是一个分布式的,支持实时多维OLAP分析的数据分析查询系统;节点Broker用于用户端数据的查询并将查询转发给MiddleManager节点;Statfilter组件用于监控并统计监控信息。
该实施例中,Overlord节点负责接收数据查询任务,索引任务生成以及任务分配;MiddleManager节点用于接收分配的任务以及生成Segment数据文件,其中Segment用于实现对数据的横纵向切割操作;Peon是由MiddleManager生成的任务执行引擎,每一个Peon负责执行一个任务。
上述技术方案的有益效果是:通过使用Apache Druid作为数据查询引擎对数据仓库实时监测的同时,利用各类节点实现了更高效的OLAP查询和分析,提高了数据查询效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种基于异构技术的数据存储及处理方法,其特征在于,包括:
步骤1:以同步工具、分布采集工具以及Kafka消息队列构成数据采集模块,采集目标数据;
步骤2:通过分布式系统接入数据湖,将采集到的目标数据写入数据湖Hudi生成Hudi表,并利用Flink、Spark组件对所述Hudi表进行离线计算处理,得到离线处理结果;
步骤3:利用Apache Atlas的实时计算引擎Flink读取并对Kafka消息队列中的数据以及Mysql同步数据进行实时计算处理,得到实时数据处理结果;
步骤4:将所述离线处理结果传输至数据仓库进行数据整合与格式转换,生成离线数据报表;
步骤5:使用Apache Druid作为数据查询引擎,以供用户查询离线数据报表以及实时数据处理结果;
其中,步骤2,包括:
将采集到的目标数据同步至分布式系统HDFS,并进行数据标准化处理以及生成对应维表数据;
按照预设周期从分布式文件系统HDFS中将所述维表数据导入数据库Hive预先创建的预置表中;
数据库Hive按照预设周期对存入预置表中的维表数据进行离线计算形成批数据后,再按照对应的字段类型将所述批数据映射到数据湖Hudi的hudi结果表中;
利用hudi结果表对经过标准化处理后的目标数据以及批数据进行关联处理得到目标关联数据;
利用Hudi索引组件将给定的hoodie key与所述目标关联数据建立唯一映射,以创建索引;
通过计算引擎Flink读取并检测所述目标关联数据,得到异常检测结果;
若所述目标关联数据存在异常,则生成告警数据,与所述目标关联数据相结合作为离线处理结果输出;
若所述目标关联数据不存在异常,则将所述目标关联数据视作离线处理结果输出。
2.根据权利要求1所述的一种基于异构技术的数据存储及处理方法,其特征在于,以同步工具、分布采集工具以及Kafka消息队列构成数据采集模块,采集目标数据,包括:
利用同步工具、分布采集工具以及Kafka消息队列构成的数据采集模块,从数据来源层采集结构化数据、半结构化数据以及非结构化数据;
将采集到的结构化数据、半结构化数据以及非结构化数据视作目标数据,并为所述目标数据添加目标标签;
基于所述目标标签,对所述目标数据封装得到关键数据,再将所述关键数据缓存至Kafka消息队列的第一主题内完成数据存放。
3.根据权利要求2所述的一种基于异构技术的数据存储及处理方法,其特征在于,所述同步工具包括有Datax、Flink;所述分布采集工具包括有Flume、Logs tash。
4.根据权利要求1所述的一种基于异构技术的数据存储及处理方法,其特征在于,检测所述目标关联数据,得到异常检测结果,包括:
从预先定制的异常检测规则库中选取与目标关联数据中涉及的待检测字段相匹配的目标检测规则;
配置Flink滑动窗口,并在确定目标关联数据与目标检测规则以及Flink滑动窗口配置完成后,生成异常检测任务传送至异常检测模块;
异常检测模块接收到异常检测任务后,利用目标检测规则对目标关联数据进行异常检测,得到第一异常结果;
通过Flink滑动窗口计算目标关联数据的Z-SCORE分数,获取疑似异常点;
引入TORK算法对所有疑似异常点进行分析与筛选,得到第二异常结果;
将所述第一异常结果与第二异常结果相结合,得到目标关联数据的异常检测结果。
5.根据权利要求1所述的一种基于异构技术的数据存储及处理方法,其特征在于,利用Apache Atlas数据资源管理平台的实时计算引擎Flink读取并对Kafka消息队列中的数据以及Mysql同步数据进行实时计算处理,得到实时数据报表,包括:
利用实时计算引擎Flink对所述Kafka消息队列中的第一主题的内容进行解耦,并基于每个目标数据对应的目标标签对数据进行SQL过滤,得到第一数据;
对所述第一数据创建索引后,再进行标准化处理得到处理后数据;
对所述处理后数据进行数据格式的解析,得到第一格式;
基于所述第一格式,将读取的目标数据还原成原始数据,以生成对应的数据报表;
利用同步工具根据所述目标数据类型将该数据拼装为抽象的数据集,再基于MysqlWriter插件将该数据集写入Mysql 数据库中;
利用sql语句对写入Mysql 数据库中的数据集创建索引;
通过Mysql Connector组件将实时计算引擎Flink与Mysql 数据库相连,来对所述Mysql数据库中的数据集进行流处理以生成对应的实时数据报表;
将生成的实时数据报表作为实时计算处理结果存储至资源管理层,以供用户端利用数据查询引擎Apache Druid进行查询。
6.根据权利要求1所述的一种基于异构技术的数据存储及处理方法,其特征在于,将所述离线处理结果传输至数据仓库进行数据整合与格式转换,生成离线数据报表,包括:
将所述离线处理结果导入通过Flink内置的Jdbc连接器与所述离线计算引擎相连的数据仓库;
对所述离线处理结果中包含的数据进行数据清洗和整合后得到第一集成数据;
利用时间戳标记版本对所述第一集成数据标记;
获取并对数据仓库中与所述标记后的第一集成数据目标源一致的历史集成数据按照预设删除规则进行删除;
基于所述标记后的第一集成数据与删除后的历史集成数据,生成离线数据报表。
7.根据权利要求1所述的一种基于异构技术的数据存储及处理方法,其特征在于,使用Apache Druid作为数据查询引擎,以供用户查询离线数据报表以及实时数据处理结果,包括:
利用数据查询引擎Apache Druid内部构建的Statfilter组件对连接的数据仓库进行实时监测;
当Druid的节点Broker接收到用户端发送的查询请求时,启用Overlord节点接收客户端的查询任务,然后生成索引任务,并将所述索引任务分发给多个MiddleManager节点;
MiddleManager节点根据索引协议生成多个Peon;
基于Peon生成Segment,再对Historical节点分发下载任务,将所述Segment下载至本地,对所述数据仓库以及资源管理层进行流式/批量数据摄取;
再利用节点Broker汇总查询结果,统一返回给终端用户,以实现用户对离线数据报表以及实时数据报表的查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311534482.4A CN117251414B (zh) | 2023-11-17 | 2023-11-17 | 一种基于异构技术的数据存储及处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311534482.4A CN117251414B (zh) | 2023-11-17 | 2023-11-17 | 一种基于异构技术的数据存储及处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117251414A CN117251414A (zh) | 2023-12-19 |
CN117251414B true CN117251414B (zh) | 2024-03-26 |
Family
ID=89126825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311534482.4A Active CN117251414B (zh) | 2023-11-17 | 2023-11-17 | 一种基于异构技术的数据存储及处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117251414B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117609315B (zh) * | 2024-01-22 | 2024-04-16 | 中债金融估值中心有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114647716A (zh) * | 2022-05-13 | 2022-06-21 | 天津南大通用数据技术股份有限公司 | 一种泛化数据仓库 |
CN116775763A (zh) * | 2023-06-25 | 2023-09-19 | 中云开源数据技术(上海)有限公司 | 一种去中心化分布式共生共享的数据编织系统 |
CN116842055A (zh) * | 2023-06-29 | 2023-10-03 | 中科云谷科技有限公司 | 用于物联网数据批流一体处理的系统及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10713247B2 (en) * | 2017-03-31 | 2020-07-14 | Amazon Technologies, Inc. | Executing queries for structured data and not-structured data |
US11449508B2 (en) * | 2020-05-05 | 2022-09-20 | Microsoft Technology Licensing, Llc | Serverless data lake indexing subsystem and application programming interface |
US11886278B2 (en) * | 2022-01-21 | 2024-01-30 | Discover Financial Services | Computing systems and methods for creating and executing user-defined anomaly detection rules and generating notifications for detected anomalies |
-
2023
- 2023-11-17 CN CN202311534482.4A patent/CN117251414B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114647716A (zh) * | 2022-05-13 | 2022-06-21 | 天津南大通用数据技术股份有限公司 | 一种泛化数据仓库 |
CN116775763A (zh) * | 2023-06-25 | 2023-09-19 | 中云开源数据技术(上海)有限公司 | 一种去中心化分布式共生共享的数据编织系统 |
CN116842055A (zh) * | 2023-06-29 | 2023-10-03 | 中科云谷科技有限公司 | 用于物联网数据批流一体处理的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117251414A (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388637B (zh) | 数据仓库信息处理方法、装置、系统、介质 | |
CN108038222B (zh) | 用于信息系统建模和数据访问的实体-属性框架的系统 | |
CN106682097A (zh) | 一种处理日志数据的方法和装置 | |
CN112100149B (zh) | 日志自动化分析系统 | |
CN106815125A (zh) | 一种日志审计方法及平台 | |
CN117251414B (zh) | 一种基于异构技术的数据存储及处理方法 | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN106648859A (zh) | 一种任务调度方法和装置 | |
US9123006B2 (en) | Techniques for parallel business intelligence evaluation and management | |
CN107451149A (zh) | 流量数据查询任务的监控方法及其装置 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN117971606A (zh) | 基于ElasticSearch的日志管理系统及方法 | |
CN107945092A (zh) | 用于审计领域的大数据综合管理方法及系统 | |
KR20180126792A (ko) | 분산인메모리기반 복합형스트림 데이터처리시스템 및 방법 | |
CN112800083B (zh) | 一种面向政府决策的政务大数据分析方法及设备 | |
CN111125045B (zh) | 一种轻量级etl处理平台 | |
KR20220069229A (ko) | 필드 간 유사도 분석을 이용한 이종 데이터 결합 방법 | |
CN105245394A (zh) | 一种基于分层方式分析网络访问日志的方法和设备 | |
CN115757655A (zh) | 一种基于元数据管理的数据血缘分析系统和方法 | |
CN112347314B (zh) | 一种基于图数据库的数据资源管理系统 | |
CN112306421B (zh) | 一种用于存储分析测量数据格式mdf文件的方法和系统 | |
CN112131215B (zh) | 自底向上的数据库信息获取方法及装置 | |
CN113380414A (zh) | 基于大数据的数据采集方法及系统 | |
CN112435151A (zh) | 一种基于关联分析的政务信息数据处理方法及系统 | |
CN104980750A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |