CN117472993A - 一种流批一体化的数据处理方法、装置、设备和存储介质 - Google Patents

一种流批一体化的数据处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN117472993A
CN117472993A CN202311153706.7A CN202311153706A CN117472993A CN 117472993 A CN117472993 A CN 117472993A CN 202311153706 A CN202311153706 A CN 202311153706A CN 117472993 A CN117472993 A CN 117472993A
Authority
CN
China
Prior art keywords
data
real
target database
time change
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
Application number
CN202311153706.7A
Other languages
English (en)
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.)
Beijing Easy Yikang Information Technology Co ltd
Original Assignee
Beijing Easy Yikang Information Technology Co ltd
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 Beijing Easy Yikang Information Technology Co ltd filed Critical Beijing Easy Yikang Information Technology Co ltd
Priority to CN202311153706.7A priority Critical patent/CN117472993A/zh
Publication of CN117472993A publication Critical patent/CN117472993A/zh
Pending legal-status Critical Current

Links

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/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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种流批一体化的数据处理方法、装置、设备和存储介质,该方法包括,通过分布式流处理实时捕获源数据库的实时变更数据,并将实时变更数据转发至目标数据库;通过增量更新或者全量更新的方式将源数据库的离线数据导入数仓的数据运营层;通过构建目标数据库的外部表,连接目标数据库和数据运营层;合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据。通过该方法可以达到确保数据流批一体处理时数据的一致性和准确性的效果。

Description

一种流批一体化的数据处理方法、装置、设备和存储介质
技术领域
本申请涉数据处理的领域,具体而言,涉及一种流批一体化的数据处理方法、装置、设备和存储介质。
背景技术
目前数据流批一体处理方案常见的有使用消息队列系统,将数据流实时写入消息队列中,然后通过批处理作业定期消费消息队列中的数据进行批处理操作;使用纯流式的计算引擎作为流处理引擎,结合纯流式的计算引擎的批处理功能,通过编写纯流式的计算引擎作业实现数据流批一体的处理;使用大数据处理框架,通过流式数据处理的模块进行实时流处理,同时使用大数据处理框架的批处理功能进行批处理操作。
但是,由于实时数据流和批处理作业的组合,可能导致一定的处理延迟。实时数据需要等待批处理作业的触发和执行才能进行处理,这可能影响对实时数据的即时性要求,并且会出现数据不一致等问题。
因此,如何确保数据流批一体处理时数据的一致性和准确性,是一个需要解决的技术问题。
发明内容
本申请实施例的目的在于提供一种流批一体化的数据处理方法,通过本申请的实施例的技术方案可以达确保数据流批一体处理时数据的一致性和准确性的效果。
第一方面,本申请实施例提供了一种流批一体化的数据处理方法,包括,通过分布式流处理实时捕获源数据库的实时变更数据,并将实时变更数据转发至目标数据库;通过增量更新或者全量更新的方式将源数据库的离线数据导入数仓的数据运营层;通过构建目标数据库的外部表,连接目标数据库和数据运营层;合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据。
本申请在上述实施例中,通过分布式流处理实时捕获源数据库的变更数据,可以实时获取实时变更数据,然后将实时变更数据和离线数据关联并合并至一起,可以得到总数据,可以达到确保数据流批一体处理时数据的一致性和准确性的效果。
在一些实施例中,在通过构建目标数据库的外部表,连接目标数据库和数据运营层之前,还包括:采用数据域划分方法对离线数据进行划分,得到主题域划分数据和业务域划分数据。
本申请在上述实施例中,可以通过数据域划分方法准确的对离线数据进行划分处理,得到最终的主题域划分数据和业务域划分数据。
在一些实施例中,数据域划分方法,包括:业务需求划分、数据主题划分、数据自治性划分、业务过程划分、数据集成和共享划分、灵活性和可扩展性划分以及数据安全和隐私保护划分中的至少一种。
本申请在上述实施例中,数据域划分方法可以包括多种,分别用于根据不同的功能对离线数据进行划分,得到离线数据分类的多样化。
在一些实施例中,通过分布式流处理实时捕获源数据库的实时变更数据,并将实时变更数据转发至目标数据库,包括:安装配置分布式流处理,并配置源数据库和目标数据库;通过编写的分布式流处理实施捕获源数据库的初始实时变更数据,并将初始实时变更数据进行解析、转换和清洗,得到实时变更数据;通过源数据库的连接器将实时变更数据转发至目标数据库。
本申请在上述实施例中,通过配置的分布式流处理可以准确获取实时变更数据,然后通过行解析、转换和清洗步骤的处理,可以得到更加精准的数据。
在一些实施例中,通过构建目标数据库的外部表,连接目标数据库和数据运营层,包括:在目标数据库创建外部表;通过外部表,连接目标数据库和数据运营层。
本申请在上述实施例中,通过构建的外部表可以实现目标数据库和数据运行层的连接。
在一些实施例中,合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据,包括:定义目标数据库的数据处理逻辑;通过数据处理逻辑对实时变更数据和数据运营层的离线数据进行聚合、计算和过滤,得到总数据。
本申请在上述实施例中,通过数据处理逻辑可以准确的对实时变更数据和离线数据进行计算然后合并。
在一些实施例中,在合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据之后,还包括:定义目标数据库的查询语句;获取用户输入的查询内容;匹配查询内容对应的查询语句,并从总数据中获取查询语句对应的实施变更数据或离线数据。
本申请在上述实施例中,通过预设查询语句,可以通过用户输入的内容匹配查询语句,达到快速查询数据的效果。
第二方面,本申请实施例提供了一种流批一体化的数据处理装置,包括:
获取模块,用于通过分布式流处理实时捕获源数据库的实时变更数据,并将实时变更数据转发至目标数据库;
导入模块,用于通过增量更新或者全量更新的方式将源数据库的离线数据导入数仓的数据运营层;
连接模块,用于通过构建目标数据库的外部表,连接目标数据库和数据运营层;
合并模块,用于合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据。
可选的,所述装置还包括:
划分模块,用于所述连接模块在通过构建目标数据库的外部表,连接目标数据库和数据运营层之前,采用数据域划分方法对离线数据进行划分,得到主题域划分数据和业务域划分数据。
可选的,数据域划分方法,包括:
业务需求划分、数据主题划分、数据自治性划分、业务过程划分、数据集成和共享划分、灵活性和可扩展性划分以及数据安全和隐私保护划分中的至少一种。
可选的,获取模块具体用于:
安装配置分布式流处理,并配置源数据库和目标数据库;
通过编写的分布式流处理实施捕获源数据库的初始实时变更数据,并将初始实时变更数据进行解析、转换和清洗,得到实时变更数据;
通过源数据库的连接器将实时变更数据转发至目标数据库。
可选的,连接模块具体用于:
在目标数据库创建外部表;
通过外部表,连接目标数据库和数据运营层。
可选的,合并模块具体用于:
定义目标数据库的数据处理逻辑;
通过数据处理逻辑对实时变更数据和数据运营层的离线数据进行聚合、计算和过滤,得到总数据。
可选的,所述装置还包括:
查询模块,用于所述合并模块在合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据之后,定义目标数据库的查询语句;
获取用户输入的查询内容;
匹配查询内容对应的查询语句,并从总数据中获取查询语句对应的实施变更数据或离线数据。
第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种流批一体化的数据处理方法的流程图;
图2为本申请实施例提供的一种流批一体化的数据处理实施方法的流程图;
图3为本申请实施例提供的一种流批一体化的数据处理装置的示意框图;
图4为本申请实施例提供的一种流批一体化的数据处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和显示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
首先对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
ODS:全称是Operational Data Store,操作数据存储.“面向主题的”,数据运营层,也叫ODS层,是最接近数据源中数据的一层,数据源中的数据,经过抽取、洗净、传输。
Web:(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。
本申请应用于数据处理的场景,具体场景为通过获取源数据库的离线数据和实时变更的数据,分别存储于目标数据库和数仓的数据运营层,连接目标数据库和数仓的数据运营层实现离线数据和实时变更的数据的合并,完成流批一体化数据处理的过程。
目前数据流批一体处理方案常见的有使用消息队列(Kafka)系统,将数据流实时写入消息队列中,然后通过批处理作业定期消费消息队列中的数据进行批处理操作;使用纯流式的计算引擎作为流处理引擎,结合纯流式的计算引擎(Flink)的批处理功能,通过编写纯流式的计算引擎作业实现数据流批一体的处理;使用大数据处理框架(Spark),通过流式数据处理的模块(Spark Streaming)进行实时流处理,同时使用大数据处理框架的批处理功能进行批处理操作。但是,由于实时数据流和批处理作业的组合,可能导致一定的处理延迟。实时数据需要等待批处理作业的触发和执行才能进行处理,这可能影响对实时数据的即时性要求,并且会出现数据不一致等问题。
为此本申请通过分布式流处理实时捕获源数据库的实时变更数据,并将实时变更数据转发至目标数据库;通过增量更新或者全量更新的方式将源数据库的离线数据导入数仓的数据运营层;通过构建目标数据库的外部表,连接目标数据库和数据运营层;合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据。通过分布式流处理实时捕获源数据库的变更数据,可以实时获取实时变更数据,然后将实时变更数据和离线数据关联并合并至一起,可以得到总数据,可以达到确保数据流批一体处理时数据的一致性和准确性的效果。
本申请实施例中,执行主体可以为流批一体化的数据处理系统中的流批一体化的数据处理设备,实际应用中,流批一体化的数据处理设备可以为终端设备和服务器等电子设备,在此不做限制。
下面结合图1对本申请实施例的流批一体化的数据处理方法进行详细描述。
请参看图1,图1为本申请实施例提供的一种流批一体化的数据处理方法的流程图,如图1所示的流批一体化的数据处理方法包括:
步骤110:通过分布式流处理实时捕获源数据库的实时变更数据,并将实时变更数据转发至目标数据库。
其中,分布式流处理(Apache Flink)可以是一个分布式流处理,可处理高吞吐量和低延迟的数据流。源数据库可以存储多种数据,包括实时变更数据和历史存储的离线数据,实时变更数据和历史存储的离线数据可以是一些模型渲染数据,包括建筑模型渲染数据、页面渲染数据以及场景模型渲染数据等。实时变更数据可以是由于用户的操作使数据发生变更生成的数据,也可以是由于外部因素导致源数据库中数据发生变更生成的数据。目标数据库用户存储实时变更数据。
在本申请的一些实施例中,通过分布式流处理实时捕获源数据库的实时变更数据,并将实时变更数据转发至目标数据库,包括:安装配置分布式流处理,并配置源数据库和目标数据库;通过编写的分布式流处理实施捕获源数据库的初始实时变更数据,并将初始实时变更数据进行解析、转换和清洗,得到实时变更数据;通过源数据库的连接器将实时变更数据转发至目标数据库。
本申请在上述过程中,通过配置的分布式流处理可以准确获取实时变更数据,然后通过行解析、转换和清洗步骤的处理,可以得到更加精准的数据。
其中,初始变更数据表示从源数据库直接获取的实时变更数据,而实时变更数据则表示对初始实时变更数据进行解析、转换和清洗后得到的数据,此外除了解析、转换和清洗还可以进行数据的分类、合并等处理。连接器用于连接源数据库和目标数据库,用于传输实时变更数据。
具体的:安装配置分布式流处理:下载Apache Flink的最新版本并解压缩。配置Flink的环境变量。在Flink的配置文件中进行必要的配置,例如设置任务管理器、作业管理器、状态后端等。配置源数据库:确保源数据库功能已启用。根据数据库类型和版本,配置适当的参数。通过修改配置文件来配置数据库数据的格式和位置。编写的分布式流处理:使用编程语言(Java、Scala或Python等)编程语言编写Flink程序。导入相关的Flink依赖库,例如Flink的连接器和相关的数据库驱动程序。使用Flink提供的连接器或库来读取和解析源数据库。进行必要的数据转换、处理和清洗,以适应目标数据库的数据模型和结构。配置目标数据库:在目标数据库中创建相应的表结构,以适应从源数据库传输过来的数据。获取Hologres(一站式实时数据仓库引擎)数据库的连接信息,包括主机名、端口、数据库名称、用户名和密码等。通过源数据库的连接器将实时变更数据转发至目标数据库:在Flink程序中,使用Hologres的连接器将处理后的数据传输到Hologres数据库。将Flink的数据转换为Hologres支持的数据格式,并使用Hologres连接器的功能将数据发送到Hologres。通过源数据库的连接器将实时变更数据转发至目标数据库之后还包括,数据库数据的测试和部署:在本地环境中运行Flink程序进行测试,确保数据能够正确地从源数据库解析、处理和传输到Hologres数据库。针对生产环境的需求,进行适当的优化和调整,例如设置并行度、容错机制、性能调优等。将Flink程序部署到生产环境中,可以使用Flink的命令行工具或Web界面进行部署和管理。监控Flink作业的运行状态和性能,并根据需要进行调整和优化。
步骤120:通过增量更新或者全量更新的方式将源数据库的离线数据导入数仓的数据运营层。
其中,增量更新或者全量更新的方式分别表示将T+1(指定日期后一天)数据导入数据运营层或将历史所有数据导入数据运营层导入数仓的数据运营层。
步骤130:通过构建目标数据库的外部表,连接目标数据库和数据运营层。
具体的,可以通过Hologres构建目标数据库的外部表。
在本申请的一些实施例中,在通过构建目标数据库的外部表,连接目标数据库和数据运营层之前,图1所示的方法还包括:采用数据域划分方法对离线数据进行划分,得到主题域划分数据和业务域划分数据。
本申请在上述过程中,可以通过数据域划分方法准确的对离线数据进行划分处理,得到最终的主题域划分数据和业务域划分数据。
其中,可以使用数据域划分方法中的业务需求划分、数据主题划分方法和业务过程划分方法对离线数据进行划分,得到主题域划分数据和业务域划分数据。
在本申请的一些实施例中,数据域划分方法,包括:业务需求划分、数据主题划分、数据自治性划分、业务过程划分、数据集成和共享划分、灵活性和可扩展性划分以及数据安全和隐私保护划分中的至少一种。
本申请在上述过程中,数据域划分方法可以包括多种,分别用于根据不同的功能对离线数据进行划分,得到离线数据分类的多样化。
其中,业务需求划分表示深入理解业务需求和业务流程是划分数据主题域和业务域的基础。与业务团队合作,了解业务的关键对象、关系和操作过程,以及业务的核心指标和指标之间的关联性进而进行划分。数据主题划分表示数据主题可以根据业务功能、数据类型、数据来源或数据处理需求来定义。例如,基于业务形态将数据划分为用户、交易、商品、活动等主题进而进行划分。数据自治性划分表示每个数据主题域应具有一定的自治性,即独立于其他数据主题域。确保每个主题域内的数据可以独立维护和管理,减少数据间的依赖和冗余进而进行划分。业务过程划分表示根据业务流程和操作过程的不同阶段,可以划分不同的业务域,每个业务域关注特定阶段的数据处理和分析需求进而进行划分。数据集成和共享划分表示、灵活性和可扩展性划分表示划分数据主题域和业务域时要考虑到灵活性和可扩展性。业务需求和数据模型可能随着时间的推移而变化,因此划分的域应具备灵活性和可扩展性,以便适应未来的业务扩展和变化进而进行划分。数据安全和隐私保护划分表示在划分数据主题域和业务域时,要考虑数据安全和隐私保护的需求。敏感数据和个人身份信息应适当加密或脱敏保护,确保数据的安全性和合规性进而进行划分。
在本申请的一些实施例中,通过构建目标数据库的外部表,连接目标数据库和数据运营层,包括:在目标数据库创建外部表;通过外部表,连接目标数据库和数据运营层。
本申请在上述过程中,通过构建的外部表可以实现目标数据库和数据运行层的连接。
其中,外部表可以是一种连通离线数据表,表示一种虚拟表,用于与实际存储数据的文件进行连接,例如数据运营层中存储的离线数据。进而可以直接从目标数据库查询和分析离线数据,而无需将数据导入到目标数据库的物理表中。这样可以节省存储空间,并且实现了实时数据与离线数据的无缝连接。
步骤140:合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据。
其中,总数据包括实时变更数据和离线数据。
在本申请的一些实施例中,合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据,包括:定义目标数据库的数据处理逻辑;通过数据处理逻辑对实时变更数据和数据运营层的离线数据进行聚合、计算和过滤,得到总数据。
本申请在上述过程中,通过数据处理逻辑可以准确的对实时变更数据和离线数据进行计算然后合并。
其中,数据处理逻辑包括多种数据处理算法和方法,包括聚合、计算和过滤等,本申请不限于此。
在本申请的一些实施例中,在合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据之后,图1所示的方法还包括:定义目标数据库的查询语句;获取用户输入的查询内容;匹配查询内容对应的查询语句,并从总数据中获取查询语句对应的实施变更数据或离线数据。
本申请在上述过程中,通过预设查询语句,可以通过用户输入的内容匹配查询语句,达到快速查询数据的效果。
其中,查询语句可以是查询字词、短语和句子等。查询内容可以是字词、短语和句子等,例如用户输入句子,可以直接进行查询内容和查询语句中的句子进行匹配,也可以筛选查询内容的字词,匹配查询语句中的字词,短语也是如此。
在上述图1所示的过程中,本申请通过分布式流处理实时捕获源数据库的实时变更数据,并将实时变更数据转发至目标数据库;通过增量更新或者全量更新的方式将源数据库的离线数据导入数仓的数据运营层;通过构建目标数据库的外部表,连接目标数据库和数据运营层;合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据。通过分布式流处理实时捕获源数据库的变更数据,可以实时获取实时变更数据,然后将实时变更数据和离线数据关联并合并至一起,可以得到总数据,可以达到确保数据流批一体处理时数据的一致性和准确性的效果。
下面结合图2对本申请实施例的流批一体化的数据处理实施方法进行详细描述。
请参看图2,图2为本申请实施例提供的一种流批一体化的数据处理实施方法的流程图,如图2所示的流批一体化的数据处理实施方法包括:
步骤210:捕获源数据库的实时变更数据,并存储于目标数据库。
具体的:通过分布式流处理实时捕获源数据库的实时变更数据,并将实时变更数据转发至目标数据库。
步骤220:捕获源数据库的离线数据,并存储于数仓的数据运营层。
具体的:通过增量更新或者全量更新的方式将源数据库的离线数据导入数仓的数据运营层。
步骤230:连接目标数据库和数据运营层。
具体的:连接目标数据库的实时变更数据和数据运营层的离线数据。
步骤240:合并目标数据库中的实时变更数据和数据运营层的离线数据。
具体的:定义目标数据库的数据处理逻辑;通过数据处理逻辑对实时变更数据和数据运营层的离线数据进行聚合、计算和过滤,得到总数据。
此外,图2所示的具体方法和步骤可以参考图1所示的方法,此处不在过多赘述。
前文通过图1描述了流批一体化的数据处理方法,下面结合图3-图4描述流批一体化的数据处理装置。
请参照图3,为本申请实施例中提供的一种流批一体化的数据处理装置300的示意框图,该装置300可以是电子设备上的模块、程序段或代码。该装置300与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置300具体的功能可以参见下文中的描述,为避免重复,此处适当省略详细描述。
可选的,所述装置300包括:
获取模块310,用于通过分布式流处理实时捕获源数据库的实时变更数据,并将实时变更数据转发至目标数据库;
导入模块320,用于通过增量更新或者全量更新的方式将源数据库的离线数据导入数仓的数据运营层;
连接模块330,用于通过构建目标数据库的外部表,连接目标数据库和数据运营层;
合并模块340,用于合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据。
可选的,所述装置还包括:
划分模块,用于所述连接模块在通过构建目标数据库的外部表,连接目标数据库和数据运营层之前,采用数据域划分方法对离线数据进行划分,得到主题域划分数据和业务域划分数据。
可选的,数据域划分方法,包括:
业务需求划分、数据主题划分、数据自治性划分、业务过程划分、数据集成和共享划分、灵活性和可扩展性划分以及数据安全和隐私保护划分中的至少一种。
可选的,获取模块具体用于:
安装配置分布式流处理,并配置源数据库和目标数据库;通过编写的分布式流处理实施捕获源数据库的初始实时变更数据,并将初始实时变更数据进行解析、转换和清洗,得到实时变更数据;通过源数据库的连接器将实时变更数据转发至目标数据库。
可选的,连接模块具体用于:
在目标数据库创建外部表;通过外部表,连接目标数据库和数据运营层。
可选的,合并模块具体用于:
定义目标数据库的数据处理逻辑;通过数据处理逻辑对实时变更数据和数据运营层的离线数据进行聚合、计算和过滤,得到总数据。
可选的,所述装置还包括:
查询模块,用于所述合并模块在合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据之后,定义目标数据库的查询语句;获取用户输入的查询内容;匹配查询内容对应的查询语句,并从总数据中获取查询语句对应的实施变更数据或离线数据。
请参照图4为本申请实施例中提供的一种流批一体化的数据处理装置的结构示意框图,该装置可以包括存储器410和处理器420。可选的,该装置还可以包括:通信接口430和通信总线440。该装置与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置具体的功能可以参见下文中的描述。
具体的,存储器410,用于存储计算机可读指令。
处理器420,用于处理存储器存储的可读指令,能够执行图1方法中的各个步骤。
通信接口430,用于与其他节点设备进行信令或数据的通信。例如:用于与服务器或者终端的通信,或者与其它设备节点进行通信,本申请实施例并不限于此。
通信总线440,用于实现上述组件直接的连接通信。
其中,本申请实施例中设备的通信接口430用于与其他节点设备进行信令或数据的通信。存储器410可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器410可选的还可以是至少一个位于远离前述处理器的存储装置。存储器410中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器420执行时,电子设备执行上述图1所示方法过程。处理器420可以用于装置300上,并且用于执行本申请中的功能。示例性地,上述的处理器420可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,本申请实施例并不局限于此。
本申请实施例还提供一种可读存储介质,所述计算机程序被处理器执行时,执行如图1所示方法实施例中电子设备所执行的方法过程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本申请实施例提供一种流批一体化的数据处理方法、装置、设备和存储介质,该方法包括,通过分布式流处理实时捕获源数据库的实时变更数据,并将实时变更数据转发至目标数据库;通过增量更新或者全量更新的方式将源数据库的离线数据导入数仓的数据运营层;通过构建目标数据库的外部表,连接目标数据库和数据运营层;合并目标数据库中的实时变更数据和数据运营层的离线数据,得到总数据。通过该方法可以达到确保数据流批一体处理时数据的一致性和准确性的效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种流批一体化的数据处理方法,其特征在于,包括:
通过分布式流处理实时捕获源数据库的实时变更数据,并将所述实时变更数据转发至目标数据库;
通过增量更新或者全量更新的方式将所述源数据库的离线数据导入数仓的数据运营层;
通过构建所述目标数据库的外部表,连接所述目标数据库和所述数据运营层;
合并所述目标数据库中的所述实时变更数据和所述数据运营层的离线数据,得到总数据。
2.根据权利要求1所述的方法,其特征在于,在所述通过构建所述目标数据库的外部表,连接所述目标数据库和所述数据运营层之前,所述方法还包括:
采用数据域划分方法对所述离线数据进行划分,得到主题域划分数据和业务域划分数据。
3.根据权利要求2所述的方法,其特征在于,所述数据域划分方法,包括:
业务需求划分、数据主题划分、数据自治性划分、业务过程划分、数据集成和共享划分、灵活性和可扩展性划分以及数据安全和隐私保护划分中的至少一种。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述通过分布式流处理实时捕获源数据库的实时变更数据,并将所述实时变更数据转发至目标数据库,包括:
安装配置所述分布式流处理,并配置所述源数据库和所述目标数据库;
通过编写的分布式流处理实施捕获所述源数据库的初始实时变更数据,并将所述初始实时变更数据进行解析、转换和清洗,得到所述实时变更数据;
通过所述源数据库的连接器将所述实时变更数据转发至所述目标数据库。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述通过构建所述目标数据库的外部表,连接所述目标数据库和所述数据运营层,包括:
在所述目标数据库创建所述外部表;
通过所述外部表,连接所述目标数据库和所述数据运营层。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述合并所述目标数据库中的所述实时变更数据和所述数据运营层的离线数据,得到总数据,包括:
定义所述目标数据库的数据处理逻辑;
通过所述数据处理逻辑对所述实时变更数据和所述数据运营层的离线数据进行聚合、计算和过滤,得到所述总数据。
7.根据权利要求1-3任一项所述的方法,其特征在于,在所述合并所述目标数据库中的所述实时变更数据和所述数据运营层的离线数据,得到总数据之后,所述方法还包括:
定义所述目标数据库的查询语句;
获取用户输入的查询内容;
匹配所述查询内容对应的查询语句,并从所述总数据中获取所述查询语句对应的实施变更数据或离线数据。
8.一种流批一体化的数据处理装置,其特征在于,包括:
获取模块,用于通过分布式流处理实时捕获源数据库的实时变更数据,并将所述实时变更数据转发至目标数据库;
导入模块,用于通过增量更新或者全量更新的方式将所述源数据库的离线数据导入数仓的数据运营层;
连接模块,用于通过构建所述目标数据库的外部表,连接所述目标数据库和所述数据运营层;
合并模块,用于合并所述目标数据库中的所述实时变更数据和所述数据运营层的离线数据,得到总数据。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-7中任一项所述方法中的步骤。
10.一种计算机可读存储介质,其特征在于,包括:
计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-7中任一项所述的方法。
CN202311153706.7A 2023-09-07 2023-09-07 一种流批一体化的数据处理方法、装置、设备和存储介质 Pending CN117472993A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311153706.7A CN117472993A (zh) 2023-09-07 2023-09-07 一种流批一体化的数据处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311153706.7A CN117472993A (zh) 2023-09-07 2023-09-07 一种流批一体化的数据处理方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN117472993A true CN117472993A (zh) 2024-01-30

Family

ID=89628256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311153706.7A Pending CN117472993A (zh) 2023-09-07 2023-09-07 一种流批一体化的数据处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN117472993A (zh)

Similar Documents

Publication Publication Date Title
US11165806B2 (en) Anomaly detection using cognitive computing
US10691728B1 (en) Transforming a data stream into structured data
CN109716320B (zh) 用于事件处理的图生成的方法、系统、介质和应用处理引擎
CN111209352B (zh) 一种数据处理方法、装置、电子设备及存储介质
US20210385251A1 (en) System and methods for integrating datasets and automating transformation workflows using a distributed computational graph
US9418241B2 (en) Unified platform for big data processing
US11546380B2 (en) System and method for creation and implementation of data processing workflows using a distributed computational graph
US10423625B2 (en) Exactly-once semantics for streaming analytics in non-idempotent output operations
US11797527B2 (en) Real time fault tolerant stateful featurization
CN112988741A (zh) 实时业务数据合并方法、装置及电子设备
JP2022078972A (ja) 変更データキャプチャログ履歴、またはcdcログ履歴を追跡する方法、及びコンピュータプログラム(変更データキャプチャログ履歴の追跡)
US20220044144A1 (en) Real time model cascades and derived feature hierarchy
CN109063059A (zh) 行为日志处理方法、装置及电子设备
US10621163B2 (en) Tracking and reusing function results
CN117472993A (zh) 一种流批一体化的数据处理方法、装置、设备和存储介质
US20230222099A1 (en) Policy driven event transformation
CN113672776B (zh) 一种故障分析方法及装置
US11537455B2 (en) Schema management using an event stream
Kulkarni et al. Analysis of system logs for pattern detection and anomaly prediction
CN113342748A (zh) 日志数据处理方法和装置、分布式计算系统以及存储介质
AU2014201155B2 (en) System and method for optimizing memory utilization in a database
JP6287436B2 (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
CN117312349B (zh) 基于工业标识的数据更新方法及相关设备
Luu et al. Spark Streaming
CN115344262A (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