CN113779094B - 基于批流一体的数据处理方法、装置、计算机设备和介质 - Google Patents

基于批流一体的数据处理方法、装置、计算机设备和介质 Download PDF

Info

Publication number
CN113779094B
CN113779094B CN202111318823.5A CN202111318823A CN113779094B CN 113779094 B CN113779094 B CN 113779094B CN 202111318823 A CN202111318823 A CN 202111318823A CN 113779094 B CN113779094 B CN 113779094B
Authority
CN
China
Prior art keywords
data
processing
layer
processed
module
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
Application number
CN202111318823.5A
Other languages
English (en)
Other versions
CN113779094A (zh
Inventor
王博一
王晓
霍星志
郭宇鹏
毛少将
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CRSC Communication and Information Group Co Ltd CRSCIC
Original Assignee
CRSC Communication and Information Group Co Ltd CRSCIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CRSC Communication and Information Group Co Ltd CRSCIC filed Critical CRSC Communication and Information Group Co Ltd CRSCIC
Priority to CN202111318823.5A priority Critical patent/CN113779094B/zh
Publication of CN113779094A publication Critical patent/CN113779094A/zh
Application granted granted Critical
Publication of CN113779094B publication Critical patent/CN113779094B/zh
Priority to PCT/CN2022/105078 priority patent/WO2023082681A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Abstract

本公开提供一种基于批流一体的数据处理方法,所述方法应用于数据处理装置,数据处理装置包括数据应用层和多个处理层,各处理层形成处理链路,所述方法包括:获取待处理数据;根据处理链路逐层处理待处理数据,得到第一数据;其中,在各处理层中,对输入本处理层的数据进行处理,将处理后的数据输入至下一个处理层;在数据应用层中处理第一数据,得到第二数据;响应于检测出第二数据发生数据错误,在发生数据错误的处理层中,根据本处理层的离线数据对发生数据错误的数据进行修正,将修正后的数据输入至下一个处理层,以便下一个处理层对输入的数据进行处理。本公开还提供一种数据处理装置、计算机设备和介质。

Description

基于批流一体的数据处理方法、装置、计算机设备和介质
技术领域
本公开涉及大数据处理技术领域,具体涉及一种基于批流一体的数据处理方法、装置、计算机设备和介质。
背景技术
实时离线融合平台本质是数据仓库的一种,随着产品需求和内部决策对于数据实时性的要求越来越高,需要实时数据仓库的能力来赋能。传统离线数据仓库的数据时效性是T+1,调度频率以天为单位,无法支撑实时场景的数据需求。即使能将调度频率设置成小时,也只能解决部分时效性要求不高的场景,对于实效性要求很高的场景还是无法满足。
实时数据仓库能有效的解决上面的问题,但是Kafka(开源流处理平台)只是临时的存储介质,数据会有一个超时的时间(比如只保存7天的数据),这会导致历史数据丢失,当实时任务出现错误时,由于没有历史数据,因此无法对数据重新进行修正计算。
而且,在相关技术中,Lambda架构的实时数据仓库存在离线和实时的割裂问题,相同数据源产生离线和实时两种不同的计算结果,而且,需要维护实时和离线两套框架,增加运维管理成本。
发明内容
本公开提供一种基于批流一体的数据处理方法、装置、计算机设备和介质。
第一方面,本公开实施例提供一种基于批流一体的数据处理方法,所述方法应用于数据处理装置,所述数据处理装置包括数据应用层和多个处理层,各所述处理层形成处理链路,所述方法包括:
获取待处理数据,所述待处理数据为实时数据;
根据所述处理链路逐层处理所述待处理数据,得到第一数据;其中,在各所述处理层中,对输入本处理层的数据进行处理,得到处理后的数据,并将所述处理后的数据输入至下一个处理层;所述第一数据为所述处理链路中最后一个处理层得到的处理后的数据;
在所述数据应用层中处理所述第一数据,得到第二数据;
响应于检测出所述第二数据发生数据错误,在发生数据错误的处理层中,根据本处理层的离线数据对发生数据错误的数据进行修正,得到修正后的数据,并将修正后的数据输入至下一个处理层,以便所述下一个处理层对输入的数据进行处理。
在一些实施例中,在各所述处理层中,对输入本处理层的数据进行处理,得到处理后的数据之后,所述方法还包括:
存储所述处理后的数据,以便生成本处理层的离线数据。
在一些实施例中,所述对输入本处理层的数据进行处理,包括:利用流数据处理引擎对输入本处理层的数据进行处理。
在一些实施例中,在所述数据应用层中处理所述第一数据,得到第二数据之后,所述方法还包括:
响应于接收到数据查询请求,获取查询结果,所述查询结果包括各处理层的离线数据和/或所述第二数据;
发送所述查询结果。
在一些实施例中,所述发送所述查询结果,包括:通过预设的查询接口发送所述查询结果,所述查询接口包括JDBC API接口和/或Rest API接口。
在一些实施例中,所述根据本处理层的离线数据对发生数据错误的数据进行修正,包括:利用流数据处理引擎,根据本处理层的离线数据对发生数据错误的数据进行修正。
在一些实施例中,所述待处理数据包括日志数据和业务数据,所述获取待处理数据,包括:
通过变更数据获取CDC的方式从业务数据库中获取所述业务数据,并根据日志收集系统获取所述日志数据。
又一方面,本公开实施例还提供一种数据处理装置,包括获取模块、第一处理模块和第二处理模块,所述第二处理模块形成数据应用层,所述第一处理模块包括多个处理层,各所述处理层形成处理链路,各所述处理层包括第一处理单元和第二处理单元;
所述获取模块用于,获取待处理数据,所述待处理数据包括实时数据;
所述第一处理模块用于,根据所述处理链路逐层处理所述待处理数据,得到第一数据;
其中,所述第一处理单元用于,对输入本处理层的数据进行处理,得到处理后的数据,并将所述处理后的数据输入至下一个处理层;所述第一数据为所述处理链路中最后一个处理层得到的处理后的数据;以及,接收所述第二处理单元发送的修正后的数据,将所述修正后的数据输入至下一个处理层的第一处理单元,以便所述下一个处理层的第一处理单元对输入的数据进行处理;
所述第二处理单元用于,响应于本处理层发生数据错误,根据本处理层的离线数据对发生数据错误的数据进行修正,得到修正后的数据,并将修正后的数据发送给所述第一处理单元;
所述第二处理模块用于,在所述数据应用层中处理所述第一数据,得到第二数据。
又一方面,本公开实施例还提供一种计算机设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前所述的基于批流一体的数据处理方法。
又一方面,本公开实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被执行时实现如前所述的基于批流一体的数据处理方法。
本公开实施例提供的基于批流一体的数据处理方法,应用于数据处理装置,数据处理装置包括数据应用层和多个处理层,各处理层形成处理链路,所述方法包括:获取待处理数据,待处理数据为实时数据;根据处理链路逐层处理待处理数据,得到第一数据;其中,在各处理层中,对输入本处理层的数据进行处理,得到处理后的数据,并将处理后的数据输入至下一个处理层;在数据应用层中处理第一数据,得到第二数据;响应于检测出第二数据发生数据错误,在发生数据错误的处理层中,根据本处理层的离线数据对发生数据错误的数据进行修正,得到修正后的数据,并将修正后的数据输入至下一个处理层,以便下一个处理层对输入的数据进行处理;本公开实施例能够实现实时数据和离线数据采集及预处理,将实时数据和离线数据融合,可以实现数据同源、同计算引擎、同计算口径,简化数据应用架构,一个系统架构同时支持离线数据和实时数据分析,降低架构复杂度,减少运维成本。
附图说明
图1为本公开实施例的基于批流一体的数据处理方法的流程示意图一;
图2为本公开实施例提供的基于批流一体的数据处理方法的流程示意图二;
图3为本公开实施例提供的数据处理装置结构示意图一;
图4为本公开实施例提供的数据处理装置结构示意图二;
图5为本公开实施例提供的数据处理装置的具体实例的结构示意图。
具体实施方式
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
本文所述实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
本公开实施例提供一种基于批流一体的数据处理方法,所述方法应用于数据处理装置,数据处理装置包括数据应用(Application Data Service,ADS)层和多个处理层,各处理层形成处理链路,经过处理链路处理的数据到达数据应用层。在一些实施例中,处理层可以包括ODS(Operational Data Store,操作数据存储)层、DWD(Data Warehouse Detail,数据明细)和DWS(Data WareHouse Servce,数据服务)层,形成ODS层—>DWD层—>DWS层的处理链路。数据按照处理链路的顺序依次在各处理层传递,前一个处理层的数据处理结果作为下一个处理层的数据源。
如图1所示,所述基于批流一体的数据处理方法包括以下步骤:
步骤11,获取待处理数据,待处理数据为实时数据。
实时数据是指生存期(即数据存在的时长)小于或等于超时时间的数据。
步骤12,根据处理链路逐层处理待处理数据,得到第一数据;其中,在各处理层中,对输入本处理层的数据进行处理,得到处理后的数据,并将处理后的数据输入至下一个处理层;第一数据为处理链路中最后一个处理层得到的处理后的数据。
在本步骤中,根据各处理层形成的处理链路逐层对待处理数据进行处理,前一个处理层的数据处理结果输入下一个处理层,作为下一个处理层的数据源。在每个处理层中,对输入本处理层的实时数据进行处理,得到处理后的实时数据。在得到处理后的实时数据之后,将处理后的实时数据作为本处理层的处理结果输入至处理链路中下一个处理层中,以便继续进行后续的数据处理。按照上述方式,得到处理链路中最后一个处理层的处理结果,该处理结果即为第一数据。
步骤13,在数据应用层中处理第一数据,得到第二数据。
第二处理是指数据分析,例如,OLAP(Online Analytical Processing,联机分析处理)。OLAP是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。OLAP的优势是基于数据仓库面向主题、集成的、保留历史及不可变更的数据存储,以及多维模型多视角多层次的数据组织形式。
在本步骤中,OLAP模块对经过处理链路处理后得到的第一数据进行分析,得到的分析结果为第二数据,第二数据为全量数据,既包括实时数据也包括离线数据,均存储在OLAP中,从而实现实时数据和离线数据的融合。
步骤14,响应于检测出第二数据发生数据错误,在发生数据错误的处理层中,根据本处理层的离线数据对发生数据错误的数据进行修正,得到修正后的数据,并将修正后的数据输入至下一个处理层,以便下一个处理层对输入的数据进行处理。
离线数据也称历史数据,是指生存期大于超时时间的数据。假如超时时间为7天,若数据的生存期小于或等于7天,则该数据为实时数据;等到数据的生存期超过7天时,该数据就变为了离线数据
在本步骤中,若发现ADS层的数据发生数据错误,可以确定出是哪个处理层发生数据错误,在发生数据错误的处理层中,从Hive模块中获取离线数据,利用该离线数据对发生数据错误的实时数据进行修正。由于数据是逐层传递、逐层处理的,因此,前一处理层的处理结果发生变化,会导致其后的处理层的处理结果相应变化,因此需要将修正后的数据再输入至下一个处理层,由下一个处理层重新进行数据处理。
本公开实施例提供的基于批流一体的数据处理方法,数据处理装置包括数据应用层和多个处理层,各处理层形成处理链路,所述方法包括:获取待处理数据,待处理数据为实时数据;根据处理链路逐层处理待处理数据,得到第一数据;其中,在各处理层中,对输入本处理层的数据进行处理,得到处理后的数据,并将处理后的数据输入至下一个处理层;在数据应用层中处理第一数据,得到第二数据;响应于检测出第二数据发生数据错误,在发生数据错误的处理层中,根据本处理层的离线数据对发生数据错误的数据进行修正,得到修正后的数据,并将修正后的数据输入至下一个处理层,以便下一个处理层对输入的数据进行处理;本公开实施例能够实现实时数据和离线数据采集及预处理,将实时数据和离线数据融合,可以实现数据同源、同计算引擎、同计算口径,简化数据应用架构,一个系统架构同时支持离线数据和实时数据分析,降低架构复杂度,减少运维成本。
在一些实施例中,各所述处理层中,对输入本处理层的数据进行处理,得到处理后的数据之后,所述基于批流一体的数据处理方法还可以包括以下步骤:存储处理后的数据,以便生成本处理层的离线数据。也就是说,在本步骤中,还要存储处理后的实时数据,以方便后续查询、调用,该处理后的实时数据在生存期大于超时时间之后就转换为离线数据。在本公开实施例中,每个处理层的Hive模块对处理后的数据进行存储。
Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive不适合用于联机(online)事务处理,也不提供实时查询功能,适合应用在基于大量不可变数据的批处理作业。
在一些实施例中,如图2所示,在数据应用层中处理第一数据,得到第二数据(即步骤13)之后,所述基于批流一体的数据处理方法还可以包括以下步骤:
步骤21,响应于接收到数据查询请求,获取查询结果,查询结果包括各处理层的离线数据和/或第二数据。
在本步骤中,可以针对不同的数据源单独查询,也可以在不同的数据源之间进行关联查询,单独查询即单独查询各个处理层的离线数据,关联查询即关联查询各个处理层的离线数据和第二数据。
在一些实施例中,可以利用OpenLooKeng或Presto实现数据查询。OpenLooKeng是一种开源的高性能数据虚拟化引擎,提供统一SQL(结构化查询语言)接口,具备跨数据源/数据中心的分析能力,可以面向交互式、批、流等融合查询场景。OpenLooKeng可以连接Hive模块和OLAP模块,实现离线数据和实时数据统一查询。Presto是一种数据查询引擎,可对250PB以上的数据进行快速交互式分析。
步骤22,发送查询结果。
本公开实施例可以实现离线数据和实时数据的统一查询。
在相关技术中,基于批流一体的数据处理方案没有统一的对外查询接口,存在数据落地管理复杂的问题。为了解决该问题,本公开实施例提供了统一的对外查询接口。
在一些实施例中,所述发送查询结果(即步骤22),包括:通过预设的查询接口发送查询结果,查询接口可以包括JDBC API接口和/或Rest API接口。
JDBC(Java Database Connectivity,Java数据库连接)API(ApplicationProgramming Interface,应用程序接口)接口,是一种可以执行SQL语言的Java接口。通过JDBC API接口可以连接到关系数据库,并使用SQL语句完成数据查询和更新。
RESTful API接口中的Rest,表示性状态转移(Representation StateTransfer)。简单来说,就是用URL(Uniform Resource Locator,统一资源定位器)表示资源,用HTTP方法表征对这些资源的操作。RESTful API就是REST风格的API接口,是典型的基于HTTP协议的接口,确保交互数据的传输安全。终端向服务端发送数据查询请求后,如果不适用RESTful API接口,需要为每个终端的数据查询请求定义相应的返回格式,以适应前端显示。但是RESTful API接口要求前端以一种预定义的语法格式发送数据查询请求,那么服务端就可以定义一个统一的响应接口,不必像之前那样解析各种格式的数据查询请求,从而简化接口管理。
通过设置Rest API接口,数据处理装置可以连接可视化展示组件(例如Tableau),在网页客户端(Web)以自定义的方式对全量数据进行查询,从而支持前端数据可视化展示。
在一些实施例中,所述对输入本处理层的数据进行处理(即步骤12),包括以下步骤:利用流数据处理引擎对输入本处理层的数据进行处理。在本公开实施例中,每个处理层的Kafka模块利用Flink对输入本处理层的数据进行处理。
Kafka是一种开源流处理平台,由Scala和Java编写,是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
Flink是一种开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。Flink程序在执行后被映射到流数据流,每个Flink数据流以一个或多个源(数据输入,例如消息队列或文件系统)开始,并以一个或多个接收器(数据输出,如消息队列、文件系统或数据库等)结束。
需要说明的是,也可以利用批数据处理引擎对输入本处理层的数据进行处理,但是相对于流数据处理引擎而言,实时性不佳。
在一些实施例中,所述根据本处理层的离线数据对发生数据错误的数据进行修正(即步骤14),包括以下步骤:利用流数据处理引擎,根据本处理层的离线数据对发生数据错误的数据进行修正。在本公开实施例中,每个处理层的Hive模块利用Flink,根据所存储的本处理层的离线数据对本处理层发生数据错误的数据进行修正。即Hive模块利用Flink,根据离线数据修改实时数据的Topic(主题),并将修改后的实时数据返回给Kafka模块。
在一些实施例中,待处理数据可以包括日志数据和业务数据,相应的,所述获取待处理数据(即步骤11),包括可以包括以下步骤:通过CDC(Change Data Capture,变更数据获取)的方式从业务数据库中获取业务数据,并根据日志收集系统(Flume)获取日志数据。
CDC可以监测并捕获数据库的变动(包括数据或数据表的插入、更新以及删除等),将数据库的变动按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。
在本公开实施例中,业务数据库可以是关系型数据库,例如MySQL数据库。
Flume是一个高可用、高可靠、分布式的海量日志采集、聚合、传输系统,Flume支持在日志系统中定制各类数据发送端,用于收集数据;同时还可以对数据进行简单处理,并将处理后的数据写入数据接收端。
本公开实施例的基于批流一体的数据处理方案,支持实时数据和离线数据的采集与预处理,支持统一的数据查询,通过对外提供接口,支持JDBC与Restful发布,能够实现实时数据和离线的数据融合,可以解决大数据平台中实时数据和离线数据处理不统一、数据落地管理复杂等问题。
本公开实施例的基于批流一体的数据处理方案,支持批流一体的能力,扩展了全场景OLAP能力,通过一个数据模型和一个SQL语句就能同时接入批数据和流数据,对数据应用提供统一的查询接口,相对Lambda架构而言,能够实现数据同源、同计算引擎、同计算口径,同时支持历史数据和近实时数据分析,降低架构复杂度,减少运维成本,可以助力企业极简化数据应用架构,使用一个系统架构即可同时满足不同需求,从而更快地响应业务敏捷性。
基于相同的技术构思,本公开实施例还提供一种数据处理装置,如图3所示,所述数据处理装置包括获取模块101、第一处理模块102和第二处理模块103,第二处理模块103形成数据应用层,第一处理模块102包括多个处理层,各处理层形成处理链路,各处理层包括第一处理单元1021和第二处理单元1022。
获取模块101用于,获取待处理数据,待处理数据包括实时数据。
第一处理模块102用于,根据处理链路逐层处理待处理数据,得到第一数据。
其中,第一处理单元1021用于,对输入本处理层的数据进行处理,得到处理后的数据,并将所述处理后的数据输入至下一个处理层;所述第一数据为所述处理链路中最后一个处理层得到的处理后的数据;以及,接收所述第二处理单元发送的修正后的数据,将所述修正后的数据输入至下一个处理层的第一处理单元,以便所述下一个处理层的第一处理单元对输入的数据进行处理。
第二处理单元1022用于,响应于本处理层发生数据错误,根据本处理层的离线数据对所述发生数据错误的数据进行修正,得到修正后的数据,并将修正后的数据发送给所述第一处理单元1021。
第二处理模块103用于,在所述数据应用层中处理所述第一数据,得到第二数据。
在一些实施例中,第二处理单元1022用于,存储所述处理后的数据,以便生成本处理层的离线数据。
在一些实施例中,第一处理单元1021用于,利用流数据处理引擎对输入本处理层的数据进行处理。
在一些实施例中,如图4所示,所述数据处理装置还包括查询模块104,查询模块104用于,响应于接收到数据查询请求,获取查询结果,所述查询结果包括各处理层的离线数据和/或所述第二数据;发送所述查询结果。
在一些实施例中,查询模块104用于,通过预设的查询接口发送所述查询结果,所述查询接口包括JDBC API接口和/或Rest API接口。
在一些实施例中,第二处理单元1022用于,利用流数据处理引擎,根据本处理层的离线数据对所述发生数据错误的数据进行修正。
在一些实施例中,所述待处理数据包括日志数据和业务数据,获取模块101用于,通过变更数据获取CDC的方式从业务数据库中获取所述业务数据,并根据日志收集系统获取所述日志数据。
为了清楚描述本公开实施例的技术方案,以下结合图5通过一具体实例对本公开实施的方案进行说明。如图5所示,本公开实施例提供一种基于批流一体的数据处理装置,所述装置包括获取模块201、第一处理模块202、第二处理模块203和查询模块204,第一处理模块202包括ODS层、DWD层和DWS层,上述3个处理层分别包括Kafka模块和Hive模块,一个处理层中的Kafka模块和Hive模块形成一个处理单元,3个处理层按照ODS层—>DWD层—>DWS层的顺序形成处理链路,其中,ODS层、DWD层和DWS层之间通过Kafka模块相连,实现数据的逐层传递。第二处理模块203位于ADS层,可以为OLAP模块。查询模块204分别与各处理层的Hive模块和ADS层的OLAP模块相连,可以实现跨源查询。
获取模块201能够通过CDC的方式从MySQL数据库获取业务数据,以及从Flume中收集日志数据,并将业务数据和日志数据发送给ODS层中的Kafka模块。
以ODS层为例,Kafka模块对输入ODS层的实时数据利用Flink进行处理,得到处理后的实时数据,并通过Flink流加载给Hive模块保存。ODS层的Kafka模块将处理后的实时数据发送给DWD层的Kafka模块,以便在DWD层中继续进行数据处理。
查询模块204采用OpenLooKeng连接器,其上设置有JDBC API接口和Rest API接口,在通过上述接口接收到数据查询请求后,向各个处理层的Hive模块和/或OLAP模块发起数据查询,并将查询到的离线数据和/或实时数据通过该接口返回。
当基于数据查询检测出OLAP模块中的第二数据发生错误时,若错误发生在DWD层,则利用DWD层中Hive模块内存储的离线数据对发生数据错误的数据进行修正,将修正后的数据输入至DWS层的Kafka模块,由DWS层的Kafka模块继续进行数据处理。
本公开实施例还提供了一种计算机设备,该计算机设备包括:一个或多个处理器以及存储装置;其中,存储装置上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如前述各实施例所提供的基于批流一体的数据处理方法。
本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被执行时实现如前述各实施例所提供的基于批流一体的数据处理方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本发明的范围的情况下,可进行各种形式和细节上的改变。

Claims (8)

1.一种基于批流一体的数据处理方法,其特征在于,所述方法应用于数据处理装置,所述数据处理装置包括数据应用层和多个处理层,各所述处理层形成处理链路,所述方法包括:
获取待处理数据,所述待处理数据为实时数据;
根据所述处理链路逐层处理所述待处理数据,得到第一数据;其中,在各所述处理层中,对输入本处理层的数据进行处理,得到处理后的数据,所述处理后的数据为实时数据,基于Flink流将处理后的实时数据存储在Hive模块中,并将所述处理后的数据输入至下一个处理层;所述第一数据为所述处理链路中最后一个处理层得到的处理后的数据;
在所述数据应用层中处理所述第一数据,得到第二数据;
响应于检测出所述第二数据发生数据错误,在发生数据错误的处理层中,根据本处理层的离线数据对发生数据错误的数据进行修正,得到修正后的数据,并将修正后的数据输入至下一个处理层,以便所述下一个处理层对输入的数据进行处理;
在所述数据应用层中处理所述第一数据,得到第二数据之后,所述方法还包括:
响应于通过预设的查询接口接收到数据查询请求,获取查询结果并发送所述查询结果,所述查询结果包括以下至少之一:各处理层的离线数据、各处理层的处理后的实时数据、所述第二数据。
2.如权利要求1所述的方法,其特征在于,所述对输入本处理层的数据进行处理,包括:利用流数据处理引擎对输入本处理层的数据进行处理。
3.如权利要求1所述的方法,其特征在于,所述发送所述查询结果,包括:通过所述查询接口发送所述查询结果,所述查询接口包括JDBC API接口和/或Rest API接口。
4.如权利要求1所述的方法,其特征在于,所述根据本处理层的离线数据对发生数据错误的数据进行修正,包括:利用流数据处理引擎,根据本处理层的离线数据对发生数据错误的数据进行修正。
5.如权利要求1-4任一项所述的方法,其特征在于,所述待处理数据包括日志数据和业务数据,所述获取待处理数据,包括:
通过变更数据获取CDC的方式从业务数据库中获取所述业务数据,并根据日志收集系统获取所述日志数据。
6.一种数据处理装置,其特征在于,包括获取模块、第一处理模块、第二处理模块和查询模块,所述第二处理模块形成数据应用层,所述第一处理模块包括多个处理层,各所述处理层形成处理链路,各所述处理层包括第一处理单元和第二处理单元;
所述获取模块用于,获取待处理数据,所述待处理数据包括实时数据;
所述第一处理模块用于,根据所述处理链路逐层处理所述待处理数据,得到第一数据;
其中,所述第一处理单元用于,对输入本处理层的数据进行处理,得到处理后的数据,所述处理后的数据为实时数据,基于Flink流将处理后的实时数据存储在Hive模块中,并将所述处理后的数据输入至下一个处理层;所述第一数据为所述处理链路中最后一个处理层得到的处理后的数据;以及,接收所述第二处理单元发送的修正后的数据,将所述修正后的数据输入至下一个处理层的第一处理单元,以便所述下一个处理层的第一处理单元对输入的数据进行处理;
所述第二处理单元用于,响应于本处理层发生数据错误,根据本处理层的离线数据对发生数据错误的数据进行修正,得到修正后的数据,并将修正后的数据发送给所述第一处理单元;
所述第二处理模块用于,在所述数据应用层中处理所述第一数据,得到第二数据;
所述查询模块用于,响应于通过预设的查询接口接收到数据查询请求,获取查询结果,所述查询结果包括以下至少之一:各处理层的离线数据、各处理层的处理后的实时数据、所述第二数据。
7.一种计算机设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5任一项所述的基于批流一体的数据处理方法。
8.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被执行时实现如权利要求1-5任一项所述的基于批流一体的数据处理方法。
CN202111318823.5A 2021-11-09 2021-11-09 基于批流一体的数据处理方法、装置、计算机设备和介质 Active CN113779094B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111318823.5A CN113779094B (zh) 2021-11-09 2021-11-09 基于批流一体的数据处理方法、装置、计算机设备和介质
PCT/CN2022/105078 WO2023082681A1 (zh) 2021-11-09 2022-07-12 基于批流一体的数据处理方法、装置、计算机设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111318823.5A CN113779094B (zh) 2021-11-09 2021-11-09 基于批流一体的数据处理方法、装置、计算机设备和介质

Publications (2)

Publication Number Publication Date
CN113779094A CN113779094A (zh) 2021-12-10
CN113779094B true CN113779094B (zh) 2022-03-22

Family

ID=78956925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111318823.5A Active CN113779094B (zh) 2021-11-09 2021-11-09 基于批流一体的数据处理方法、装置、计算机设备和介质

Country Status (2)

Country Link
CN (1) CN113779094B (zh)
WO (1) WO2023082681A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779094B (zh) * 2021-11-09 2022-03-22 通号通信信息集团有限公司 基于批流一体的数据处理方法、装置、计算机设备和介质
CN117724706B (zh) * 2024-02-06 2024-05-03 湖南盛鼎科技发展有限责任公司 批流一体流程化实时处理异构平台海量数据的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473480A (zh) * 2013-10-08 2013-12-25 武汉大学 基于改进万有引力支持向量机的在线监测数据校正方法
CN112000636A (zh) * 2020-08-31 2020-11-27 民生科技有限责任公司 基于Flink流式处理的用户行为统计分析方法
US10936585B1 (en) * 2018-10-31 2021-03-02 Splunk Inc. Unified data processing across streaming and indexed data sets
CN112507029A (zh) * 2020-12-18 2021-03-16 上海哔哩哔哩科技有限公司 数据处理系统及数据实时处理方法
CN113220521A (zh) * 2021-02-04 2021-08-06 北京易车互联信息技术有限公司 实时监控系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9548910B2 (en) * 2014-05-21 2017-01-17 Sap Se Distributed system architecture using event stream processing
US11526539B2 (en) * 2019-01-31 2022-12-13 Salesforce, Inc. Temporary reservations in non-relational datastores
CN112905595A (zh) * 2021-03-05 2021-06-04 腾讯科技(深圳)有限公司 一种数据查询方法、装置及计算机可读存储介质
CN113515363B (zh) * 2021-08-10 2022-02-15 中国人民解放军61646部队 面向异型任务高并发的多层次数据处理系统动态调度平台
CN113779094B (zh) * 2021-11-09 2022-03-22 通号通信信息集团有限公司 基于批流一体的数据处理方法、装置、计算机设备和介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473480A (zh) * 2013-10-08 2013-12-25 武汉大学 基于改进万有引力支持向量机的在线监测数据校正方法
US10936585B1 (en) * 2018-10-31 2021-03-02 Splunk Inc. Unified data processing across streaming and indexed data sets
CN112000636A (zh) * 2020-08-31 2020-11-27 民生科技有限责任公司 基于Flink流式处理的用户行为统计分析方法
CN112507029A (zh) * 2020-12-18 2021-03-16 上海哔哩哔哩科技有限公司 数据处理系统及数据实时处理方法
CN113220521A (zh) * 2021-02-04 2021-08-06 北京易车互联信息技术有限公司 实时监控系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于Flink的工业大数据实时分析平台";刘辉 等;《电子技术与软件工程》;20210315;第185-187页 *

Also Published As

Publication number Publication date
WO2023082681A1 (zh) 2023-05-19
CN113779094A (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
CN113779094B (zh) 基于批流一体的数据处理方法、装置、计算机设备和介质
CN112000636A (zh) 基于Flink流式处理的用户行为统计分析方法
CN112507029B (zh) 数据处理系统及数据实时处理方法
CN110262807B (zh) 集群创建进度日志采集系统、方法和装置
US11966797B2 (en) Indexing data at a data intake and query system based on a node capacity threshold
US9037905B2 (en) Data processing failure recovery method, system and program
US11354318B2 (en) Real-time collection and distribution of event stream data
CN111460019A (zh) 一种异构数据源的数据转换方法及中间件
US20160125033A1 (en) Stream data processing method with time adjustment
WO2022165168A1 (en) Configuring an instance of a software program using machine learning
CN114969441A (zh) 基于图数据库的知识挖掘引擎系统
CN108549714B (zh) 一种数据处理方法及装置
US20130007044A1 (en) Reliance oriented data stream management system
CN113760242A (zh) 一种数据处理方法、装置、服务器和介质
CN114443599A (zh) 数据同步方法、装置、电子设备及存储介质
CN112286918B (zh) 数据快速接入转换的方法、装置、电子设备及存储介质
US20160162559A1 (en) System and method for providing instant query
US11403293B1 (en) Database scanning tool for optimizing queries
CN107330089B (zh) 跨网络结构化数据收集系统
CN111176860A (zh) 一种实现轨迹分析的方法、系统、计算机存储介质及终端
CN112835891B (zh) 一种数据比对方法及系统、任务控制器、存储介质
CN117609315B (zh) 一种数据处理方法、装置、设备及可读存储介质
CN117708219B (zh) 用于物联网数据的处理方法、处理装置及存储介质
WO2021047506A1 (zh) 数据统计分析系统、方法及计算机可读存储介质
US11757959B2 (en) Dynamic data stream processing for Apache Kafka using GraphQL

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