CN115344587A - 数据处理方法、装置、设备及介质 - Google Patents
数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115344587A CN115344587A CN202210976985.6A CN202210976985A CN115344587A CN 115344587 A CN115344587 A CN 115344587A CN 202210976985 A CN202210976985 A CN 202210976985A CN 115344587 A CN115344587 A CN 115344587A
- Authority
- CN
- China
- Prior art keywords
- data
- data processing
- partition
- container
- partitions
- 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
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供的数据处理方法、装置、设备及介质,容器编排器调整源头主题的分区数量和数据处理容器的数量,并且分区数量和数据处理容器的数量相同。卡夫卡流数据处理平台中的生产者将原始业务数据写入源头主题的不同分区中,每个数据处理容器获取对应的分区中的原始数据进行处理,得到目标业务数据,并存入目标主题中。本方案通过调整源头主题的分区数量和数据处理容器的数量,实现了调节流数据处理平台处理数据的数据量,不需要停止流数据处理平台的运行,有效提高了数据处理的效率。
Description
技术领域
本申请涉及大数据领域,尤其涉及一种数据处理方法、装置、设备及介质。
背景技术
随着科技的发展,各领域产生的数据越来越多,如何更快速的对数据进行分析处理是人们所关心的问题。为了解决这个问题,流数据处理平台就此产生。
现有技术中,根据流数据处理平台的高吞吐量的特点,流数据处理平台可以在获取到数据后,快速的对数据进行处理和发送。流数据处理平台在运行前,工作人员会对该平台的参数进行设置,进而导致流数据处理平台一次处理数据的数据量是有限的。在数据量较小时,为了避免资源浪费,只能停止流数据处理平台的运行,重新修改参数;在数据量较大时,为了提高数据处理的效率,只能停止流数据处理平台的运行,重新修改参数。
综上所述,现有的数据处理方法在需要调节流数据处理平台处理数据的数据量时,只能停止流数据处理平台的运行,再通过人工调节对应的参数来实现,进而才行进行数据处理,导致数据处理较低。
发明内容
本申请实施例提供一种数据处理方法、装置、设备及介质,用于解决现有的数据处理方法在需要调节流数据处理平台处理数据的数据量时,只能停止流数据处理平台的运行,再通过人工调节对应的参数来实现,进而才行进行数据处理,导致数据处理较低的问题。
第一方面,本申请提供一种数据处理方法,包括:
容器编排器调整数据处理容器的数量和数据生产容器中卡夫卡流数据处理平台中源头主题的分区数量,并且使得所述分区数量和数据处理容器的数量相同;
所述卡夫卡流数据处理平台中的生产者将获取到的原始业务数据写入所述源头主题的不同分区中,得到分区数据;
每个所述数据处理容器从所述源头主题中获取不同分区的所述分区数据;
所述数据处理容器根据配置的卡夫卡流式数据处理库对所述分区数据进行处理,得到目标业务数据,并将所述目标业务数据存入所述卡夫卡流数据处理平台的目标主题中。
在一种具体实施方式中,每个所述数据处理容器从所述源头主题中获取不同分区的所述分区数据,包括:
对于每个数据处理容器,所述数据处理容器获取所述源头主题中的所有分区数据;
对于每条分区数据,若所述分区数据的哈希值除以所述分区数量的余数不等于所述数据处理容器对应的分区号,则将所述分区数据删除。
在一种具体实施方式中,每个所述数据处理容器从所述源头主题中获取不同分区的所述分区数据,包括:
对于每个数据处理容器,根据所述数据处理容器对应的分区号,所述数据处理容器获取所述分区号对应分区中的所述分区数据。
在一种具体实施方式中,所述卡夫卡流数据处理平台中的生产者将获取到的原始业务数据写入所述源头主题的不同分区中,得到分区数据,包括:
对于所述生产者获取到的每条原始业务数据,根据所述原始业务数据的哈希值和所述分区数量,确定分区号;
将所述原始业务数据写入所述源头主题中所述分区号对应的分区中,得到所述分区数据。
在一种具体实施方式中,所述方法还包括:
所述卡夫卡流数据处理平台的消费者获取所述目标主题,并将所述目标主题中的目标业务数据存入数据库,所述消费者配置在数据存储容器中。
第二方面,本申请提供一种数据处理装置,包括:
编排模块,用于通过容器编排器调整数据处理容器的数量和数据生产容器中卡夫卡流数据处理平台中源头主题的分区数量,并且使得所述分区数量和数据处理容器的数量相同;
存储模块,用于通过所述卡夫卡流数据处理平台中的生产者将获取到的原始业务数据写入所述源头主题的不同分区中,得到分区数据;
获取模块,用于通过每个所述数据处理容器从所述源头主题中获取不同分区的所述分区数据;
处理模块,用于通过所述数据处理容器根据配置的卡夫卡流式数据处理库对所述分区数据进行处理,得到目标业务数据,并将所述目标业务数据存入所述卡夫卡流数据处理平台的目标主题中。
在一种具体实施方式中,所述获取模块,具体用于:
对于每个数据处理容器,所述数据处理容器获取所述源头主题中的所有分区数据;
对于每条分区数据,若所述分区数据的哈希值除以所述分区数量的余数不等于所述数据处理容器对应的分区号,则将所述分区数据删除。
在一种具体实施方式中,所述获取模块,具体用于:
对于每个数据处理容器,根据所述数据处理容器对应的分区号,所述数据处理容器获取所述分区号对应分区中的所述分区数据。
在一种具体实施方式中,所述存储模块,具体用于:
对于所述生产者获取到的每条原始业务数据,根据所述原始业务数据的哈希值和所述分区数量,确定分区号;
将所述原始业务数据写入所述源头主题中所述分区号对应的分区中,得到所述分区数据。
在一种具体实施方式中,所述存储模块,还用于:
通过所述卡夫卡流数据处理平台的消费者获取所述目标主题,并将所述目标主题中的目标业务数据存入数据库,所述消费者配置在数据存储容器中。
第三方面,本申请提供一种电子设备,包括:
处理器,存储器,通信接口;
所述存储器用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面任一项所述的数据处理方法。
第四方面,本申请提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的数据处理方法。
本申请实施例提供的数据处理方法、装置、设备及介质,容器编排器调整源头主题的分区数量和数据处理容器的数量,并且分区数量和数据处理容器的数量相同。卡夫卡流数据处理平台中的生产者将原始业务数据写入源头主题的不同分区中,每个数据处理容器获取对应的分区中的原始数据进行处理,得到目标业务数据,并存入目标主题中。本方案通过调整源头主题的分区数量和数据处理容器的数量,实现了调节流数据处理平台处理数据的数据量,不需要停止流数据处理平台的运行,有效提高了数据处理的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的数据处理方法实施例一的流程示意图;
图2为本申请提供的数据处理方法实施例二的流程示意图;
图3为本申请提供的数据处理方法的整体流程示意图;
图4为本申请提供的数据处理装置实施例的结构示意图;
图5为本申请提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在根据本实施例的启示下作出的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着科技的迅速发展,各行各业所产生的数据迅速增加,而产生的这些数据都是有价值的,所以要对这些数据进行处理和分析。
现有技术中,使用流数据处理平台对数据进行处理,在使用流数据处理平台前,需要工作人员设置参数,来确定流数据处理平台所能处理的数据量的上限值。但是在实际生活中,数据量并不是恒定不变的,在数据量较小时,为了避免资源浪费,只能停止流数据处理平台的运行,重新修改参数;在数据量较大时,为了提高数据处理的效率,只能停止流数据处理平台的运行,重新修改参数,导致数据处理较低。
针对现有技术中存在的问题,发明人在对数据处理方法进行研究的过程中发现,可以将流数据处理平台容器化,容器与虚拟机类似,相互隔离,可以对外公开服务。容器相对虚拟机及实体机占用的资源更低,虚拟机通常会模拟完整的硬件软件环境,而容器只会模拟软件环境,它消耗的资源要比虚拟机低。可将卡夫卡流数据处理平台的生产者和源头主题作为数据生产容器提供的服务,配置在数据生产容器中;将卡夫卡流式数据处理库作为数据处理容器提供的服务,配置在数据处理容器中;将卡夫卡流数据处理平台的消费者作为数据存储容器提供的服务,配置在数据存储容器中。
因为每个数据处理容器能够处理的数据量有限,所以可通过调节数据处理容器的数量来实现调整流数据处理平台能够处理的数据量。在卡夫卡流数据处理平台运行过程中,可通过容器编排器实现对数据处理容器数量的调整,容器编排器会跟预设数据量调整文件,调整数据生产容器中卡夫卡流数据处理平台的源头主题的分区数量和数据处理容器的数量,进而数据生产容器中的生产者将获取到的原始业务数据写入所述源头主题的不同分区中,每个数据处理容器获取对应的分区中的业务数据并进行处理,得到目标业务数据,进而将目标业务数据存入目标主题中。数据存储容器中的消费者获取目标主题中的目标业务数据并存入数据库,有效提高了数据处理的效率。基于上述发明构思,设计了本申请中的数据处理方案。
本申请中数据处理方法中的容器编排器、数据生产容器、数据处理容器、数据存储容器可运行在不同的设备上,也可以运行在相同的设备上。本申请实施例不对其进行限定,可根据实际情况进行选择。下面以容器编排器、数据生产容器、数据处理容器、数据存储容器运行在相同的设备上为例进行说明。
本申请中数据处理方法中运行容器编排器、数据生产容器、数据处理容器、数据存储容器的设备可以是服务器,还可以是计算机、终端设备等,本申请不对其进行限定,可根据实际情况进行选择。
下面对本申请实施例提供的数据处理方法的应用场景进行说明。
示例性的,在该应用场景中,为了提高数据处理的效率,需要将卡夫卡流数据处理平台容器化,可将卡夫卡流数据处理平台的生产者和源头主题配置在数据生产容器中;将卡夫卡流式数据处理库配置在数据处理容器中;将卡夫卡流数据处理平台的消费者配置在数据存储容器中。
在需要对卡夫卡流数据处理平台处理的数据量进行调整时,无需停止卡夫卡流数据处理平台的运行,工作人员可将调整后的数据处理容器的数量写入预设数据量调整文件中,进而容器编排器可根据预设数据量调整文件中的数据处理容器的数量,调整数据生产容器中卡夫卡流数据处理平台的源头主题的分区数量和数据处理容器的数量,使得分区数量和数据处理容器的数量相同。
进而数据生产容器中的生产者获取到原始业务数据后,将原始业务数据写入源头主题的不同分区中,得到分区数据。数据处理容器即可获取到对应的分区中的分区数据,这样一个数据处理容器处理一个分区中的业务数据,加快了数据处理的效率。
数据处理容器根据卡夫卡流式数据处理库中的数据处理方法对业务数据进行处理后,得到目标业务数据并存入卡夫卡流数据处理平台的目标主题中。
数据存储容器中的消费者获取目标主题,并将目标主题中的目标业务数据存入数据库。
需要说明的是,上述场景仅是本申请实施例提供的一种应用场景的示意,本申请实施例不对该场景中包括的各种设备的实际形态进行限定,也不对设备之间的交互方式进行限定,在方案的具体应用中,可以根据实际需求设定。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请提供的数据处理方法实施例一的流程示意图,本申请实施例对容器编排器调整源头主题的分区数量和数据处理容器的数量。进而在生产者获取到原始业务数据后,将原始业务数据存入源头主题的不同分区中。数据处理容器获取对应分区中的业务数据,并进行处理,得到目标业务数据并存入目标主题中的情况进行说明。本实施例中的方法可以通过软件、硬件或者软硬件结合的方式来实现。如图1所示,该数据处理方法具体包括以下步骤:
S101:容器编排器调整数据处理容器的数量和数据生产容器中卡夫卡流数据处理平台中源头主题的分区数量,并且使得分区数量和数据处理容器的数量相同。
在需要对卡夫卡流数据处理平台能够处理的数据量进行调整时,无需停止卡夫卡流数据处理平台的运行,可修改预设数据量调整文件。
在本步骤中,对预设数据量调整文件修改后,在卡夫卡流数据处理平台运行过程中,容器编排器可根据预设数据量调整文件,调整数据生产容器中卡夫卡流数据处理平台的源头主题的分区数量和数据处理容器的数量,并且使得源头主题的分区数量和数据处理容器的数量相同。数据生产容器配置有卡夫卡流数据处理平台的生产者和源头主题,数据处理容器配置有卡夫卡流式数据处理库。
需要说明的是,对预设数据量调整文件的修改方式可以是根据已获取数据的数据量来预测卡夫卡流数据处理平台下次需要处理数据的数据量,进而根据数据量与数据处理容器的数量对应关系,运行容器编排器的设备修改数据量调整文件。还可以是工作人员手动修改预设数据量调整文件。本申请实施例不对预设数据量调整文件的修改方式进行限定,可根据实际情况进行选择。
S102:卡夫卡流数据处理平台中的生产者将获取到的原始业务数据写入源头主题的不同分区中,得到分区数据。
在本步骤中,容器编排器调整分区数量和数据处理容器的数量后,数据生产容器中的生产者会将获取到的原始业务数据写入源头主题的不同分区中,得到分区数据。因为生产者获取到的原始业务数据的数据量较大,而源头主题的一个分区的容量有限,所以需要将原始业务数据写入源头主题的不同分区中。
需要说明的是,生产者获取原始业务数据的方式可以是生产者向产生原始业务数据的电子设备发送数据获取请求,电子设备将原始业务数据发送给生产者;还可以是产生原始业务数据的电子设备以定时或定量的方式将原始业务数据发送给生产者。本申请实施例不对,生产者获取原始业务数据的方式进行限定,可根据实际情况进行选择。
S103:每个数据处理容器从源头主题中获取不同分区的分区数据。
在本步骤中,生产者将原始业务数据写入源头主题的不同分区后,为了提高数据处理的效率,对于每个数据处理容器,需要数据处理容器获取源头主题中数据处理容器对应的分区中的分区数据。分区和数据处理容器之间有对应关系,一个分区对应一个数据处理容器,这样每个数据处理容器就可获取对应分区中的分区数据,以便后续对其进行处理。
S104:数据处理容器根据配置的卡夫卡流式数据处理库对分区数据进行处理,得到目标业务数据,并将目标业务数据存入卡夫卡流数据处理平台的目标主题中。
在本步骤中,数据处理容器得到分区数据后,为了满足用户对数据处理的需求,可根据卡夫卡流式数据处理库中的数据处理方法,对分区数据进行处理,得到目标业务数据,并将目标业务数据存入卡夫卡流数据处理平台的目标主题中。
需要说明的是,数据处理方法可以是数据聚合方法、数据映射方法、数据过滤方法、还可以是用户自定义的数据处理方法,用户也可对数据处理方法中的参数进行设置,来满足对数据处理的不同需求。本申请实施例不对数据处理方法进行限定,可根据实际情况进行选择。
需要说明的是,数据处理容器获取到分区数据后,还可将分区数据进行分组处理,进而对每组数据进行处理,可提高数据处理效率。
本实施例提供的数据处理方法,容器编排器调整分区数量和数据处理容器的数量,生产者将获取到的原始业务数据存入不同分区中,进而每个数据处理容器处理对应分区中的分区数据,得到目标业务数据后存入目标主题中。相较于现有技术只能停止流数据处理平台的运行,再通过人工调节对应的参数来实现调整流数据处理平台的处理数据量,进而才行进行数据处理,本申请无需停止流数据处理平台的运行,容器编排器调整数据处理容器的数量,即可实现调整流数据处理平台的处理数据量,并且使用多个数据处理容器对业务数据进行处理,有效提高了数据处理的效率。
图2为本申请提供的数据处理方法实施例二的流程示意图,在上述实施例的基础上,本申请实施例对生产者根据原始业务数据的哈希值和分区数量,将原始业务数据写入不同分区,数据处理容器根据原始业务数据的哈希值、分区数量、分区号来获取分区数据的情况进行说明。如图2所示,该数据处理方法具体包括以下步骤:
S201:对于生产者获取到的每条原始业务数据,根据原始业务数据的哈希值和源头主题的分区数量,确定分区号。
S202:将原始业务数据写入源头主题中分区号对应的分区中,得到分区数据。
在上述步骤中,生产者获取到原始业务数据后,对于每条原始业务数据,计算该原始业务数据的哈希值除以分区数量的余数,即可确定该原始业务数据对应的分区号。进而将该原始业务数据写入源头主题中分区号对应的分区中,得到分区数据。
示例性的,分区数量为3,分区号分别为0,1,2,当原始业务数据的哈希值除以分区数量的余数为0时,确定该原始业务数据对应0号分区,将该原始业务数据存入0号分区中;当原始业务数据的哈希值除以分区数量的余数为1时,确定该原始业务数据对应1号分区,将该原始业务数据存入1号分区中;当原始业务数据的哈希值除以分区数量的余数为2时,确定该原始业务数据对应2号分区,将该原始业务数据存入2号分区中。
需要说明的是,当原始业务数据为键值对(key-value)形式时,原始业务数据的哈希值可以是key的哈希值,也可以是value的哈希值。本申请实施例不对确定原始业务数据的哈希值的方式进行限定,可根据实际情况进行选择。
S203:对于每个数据处理容器,数据处理容器获取源头主题中的所有分区数据。
在本步骤中,生产者将原始业务数据写入不同分区后,对于每个数据处理容器,为了该数据处理容器可以获取到对应分区中的分区数据,数据处理容器先获取源头主题中的所有分区数据。
S204:对于每条分区数据,判断分区数据的哈希值除以分区数量的余数是否等于数据处理容器对应的分区号;若分区数据的哈希值除以分区数量的余数等于数据处理容器对应的分区号,则执行S205;若分区数据的哈希值除以分区数量的余数不等于数据处理容器对应的分区号,则执行S206。
S205:保留分区数据。
S206:将分区数据删除。
在上述步骤中,数据处理容器获取所有分区数据后,为了确定出该数据处理容器应该处理哪个分区中的数据,对于每条分区数据,需要判断该分区数据的哈希值除以分区数量的余数是否等于数据处理容器对应的分区号。
若分区数据的哈希值除以分区数量的余数等于数据处理容器对应的分区号,说明该分区数据属于该数据处理容器处理的业务数据,也是该数据处理容器对应分区中的分区数据,将其保留。
若分区数据的哈希值除以分区数量的余数不等于数据处理容器对应的分区号,说明该分区数据不属于该数据处理容器处理的业务数据,也不是该数据处理容器对应分区中的分区数据,将其删除。
本实施例提供的数据处理方法,生产者根据原始业务数据的哈希值和分区数量,确定原始业务数据应该写入的分区;数据处理容器根据分区数据的哈希值、分区数量、分区号来获取分区数据。能够确保每个数据处理容器获取对应分区中的分区数据,提高了数据处理容器获取分区数据的准确度。
下面对本申请实施例提供的数据处理容器根据分区号获取分区数据的情况进行说明。
在生产者根据原始业务数据的哈希值和分区数量,将原始业务数据写入不同分区;或者生产者随机将原始业务数据写入不同分区;或者生产者根据原始业务数据的数据量,将原始业务数据写入不同分区,每个分区钟中的数据量相同后,由于每个分区都有分区号,对于每个数据处理容器,该数据处理容器获取到源头主题,根据该数据处理容器对应的分区号,获取该分区号对应的分区中的分区数据。
需要说明的是,本申请实施例不对生产者将原始业务数据写入不同分区的方式进行限定,可根据实际情况进行选择。
本实施例提供的数据处理方法,数据处理容器获取到源头主题后,根据对应的分区号获取分区中的分区数据,有效提高了获取数据的效率,也提高了数据处理的效率。
下面对本申请实施例提供的数据存储容器获取目标主题,并将目标主题中的目标业务数据存入数据库中的情况进行说明。
数据处理容器将目标业务数据存入目标主题后,为了提高数据存储的效率,可利用卡夫卡流数据处理平台的消费者获取目标主题,并将目标主题中的目标业务数据存入数据库,消费者配置在数据存储容器中。
由于对业务数据处理的过程是通过数据处理容器来完成的,为了流程的兼容性,也为了提高数据存储的效率,所以使用数据存储容器来获取目标主题。
本实施例提供的数据处理方法,通过配置有卡夫卡流数据处理平台的消费者的数据存储容器来获取目标主题,并将目标主题中的目标业务数据存入数据库,有效提高了数据存储的效率。
下面对本申请实施例提供的数据处理方法的整体流程进行说明。
图3为本申请提供的数据处理方法的整体流程示意图,如图3所示,容器编排器根据预设数据量调整文件,调整数据处理容器的数量为3个,分区数量也为3个。数据生产容器中配置有卡夫卡流数据处理平台的生产者和卡夫卡流数据处理平台的源头主题,数据处理容器配置有卡夫卡流式数据处理库,数据存储容器配置有卡夫卡流数据处理平台的消费者。
生产者将获取到的原始业务数据写入源头主题的不同分区中,进而每个数据处理容器获取源头主题,并从源头主题中获取到对应分区中的分区数据进行处理,得到目标业务数据,进而将目标业务数据存入目标主题中。数据存储容器即可获取目标主题,并得到目标业务数据存入数据库中。
本实施例提供的数据处理方法,容器编排器根据预设数据量调整文件调整数据处理容器的数量,每个数据处理容器对数据进行处理,可实现调整流数据处理平台处理的数据量,也有效提高了数据处理的效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图4为本申请提供的数据处理装置实施例的结构示意图;如图4所示,该数据处理装置40包括:
编排模块41,用于通过容器编排器调整数据处理容器的数量和数据生产容器中卡夫卡流数据处理平台中源头主题的分区数量,并且使得所述分区数量和数据处理容器的数量相同;
存储模块42,用于通过所述卡夫卡流数据处理平台中的生产者将获取到的原始业务数据写入所述源头主题的不同分区中,得到分区数据;
获取模块43,用于通过每个所述数据处理容器从所述源头主题中获取不同分区的所述分区数据;
处理模块44,用于通过所述数据处理容器根据配置的卡夫卡流式数据处理库对所述分区数据进行处理,得到目标业务数据,并将所述目标业务数据存入所述卡夫卡流数据处理平台的目标主题中。
进一步地,所述获取模块43,具体用于:
对于每个数据处理容器,所述数据处理容器获取所述源头主题中的所有分区数据;
对于每条分区数据,若所述分区数据的哈希值除以所述分区数量的余数不等于所述数据处理容器对应的分区号,则将所述分区数据删除。
进一步地,所述获取模块43,具体用于:
对于每个数据处理容器,根据所述数据处理容器对应的分区号,所述数据处理容器获取所述分区号对应分区中的所述分区数据。
进一步地,所述存储模块42,具体用于:
对于所述的生产者获取到的每条原始业务数据,根据所述原始业务数据的哈希值和所述分区数量,确定分区号;
将所述原始业务数据写入所述源头主题中所述分区号对应的分区中,得到所述分区数据。
进一步地,所述存储模块42,具还用于:
通过所述卡夫卡流数据处理平台的消费者获取所述目标主题,并将所述目标主题中的目标业务数据存入数据库,所述消费者配置在数据存储容器中。
本实施例提供的数据处理装置,用于执行前述任一方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
图5为本申请提供的一种电子设备的结构示意图。如图5所示,该电子设备50包括:
处理器51,存储器52,以及通信接口53;
所述存储器52用于存储所述处理器51的可执行指令;
其中,所述处理器51配置为经由执行所述可执行指令来执行前述任一方法实施例中电子设备的技术方案。
可选的,存储器52既可以是独立的,也可以跟处理器51集成在一起。
可选的,当所述存储器52是独立于处理器51之外的器件时,所述电子设备50还可以包括:
总线54,存储器52和通信接口53通过总线54与处理器51连接并完成相互间的通信,通信接口53用于和其他设备进行通信。
可选的,通信接口53具体可以通过收发器实现。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
总线54可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述的处理器可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
该电子设备用于执行前述任一方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一方法实施例提供的技术方案。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现前述任一方法实施例提供的技术方案。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
容器编排器调整数据处理容器的数量和数据生产容器中卡夫卡流数据处理平台中源头主题的分区数量,并且使得所述分区数量和数据处理容器的数量相同;
所述卡夫卡流数据处理平台中的生产者将获取到的原始业务数据写入所述源头主题的不同分区中,得到分区数据;
每个所述数据处理容器从所述源头主题中获取不同分区的所述分区数据;
所述数据处理容器根据配置的卡夫卡流式数据处理库对所述分区数据进行处理,得到目标业务数据,并将所述目标业务数据存入所述卡夫卡流数据处理平台的目标主题中。
2.根据权利要求1所述的方法,其特征在于,每个所述数据处理容器从所述源头主题中获取不同分区的所述分区数据,包括:
对于每个数据处理容器,所述数据处理容器获取所述源头主题中的所有分区数据;
对于每条分区数据,若所述分区数据的哈希值除以所述分区数量的余数不等于所述数据处理容器对应的分区号,则将所述分区数据删除。
3.根据权利要求1所述的方法,其特征在于,每个所述数据处理容器从所述源头主题中获取不同分区的所述分区数据,包括:
对于每个数据处理容器,根据所述数据处理容器对应的分区号,所述数据处理容器获取所述分区号对应分区中的所述分区数据。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述卡夫卡流数据处理平台中的生产者将获取到的原始业务数据写入所述源头主题的不同分区中,得到分区数据,包括:
对于所述生产者获取到的每条原始业务数据,根据所述原始业务数据的哈希值和所述分区数量,确定分区号;
将所述原始业务数据写入所述源头主题中所述分区号对应的分区中,得到所述分区数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述卡夫卡流数据处理平台的消费者获取所述目标主题,并将所述目标主题中的目标业务数据存入数据库,所述消费者配置在数据存储容器中。
6.一种数据处理装置,其特征在于,包括:
编排模块,用于通过容器编排器调整数据处理容器的数量和数据生产容器中卡夫卡流数据处理平台中源头主题的分区数量,并且使得所述分区数量和数据处理容器的数量相同;
存储模块,用于通过所述卡夫卡流数据处理平台中的生产者将获取到的原始业务数据写入所述源头主题的不同分区中,得到分区数据;
获取模块,用于通过每个所述数据处理容器从所述源头主题中获取不同分区的所述分区数据;
处理模块,用于通过所述数据处理容器根据配置的卡夫卡流式数据处理库对所述分区数据进行处理,得到目标业务数据,并将所述目标业务数据存入所述卡夫卡流数据处理平台的目标主题中。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,具体用于:
对于每个数据处理容器,所述数据处理容器获取所述源头主题中的所有分区数据;
对于每条分区数据,若所述分区数据的哈希值除以所述分区数量的余数不等于所述数据处理容器对应的分区号,则将所述分区数据删除。
8.根据权利要求6所述的装置,其特征在于,所述获取模块,具体用于:
对于每个数据处理容器,根据所述数据处理容器对应的分区号,所述数据处理容器获取所述分区号对应分区中的所述分区数据。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述存储模块,具体用于:
对于所述的生产者获取到的每条原始业务数据,根据所述原始业务数据的哈希值和所述分区数量,确定分区号;
将所述原始业务数据写入所述源头主题中所述分区号对应的分区中,得到所述分区数据。
10.根据权利要求9所述的装置,其特征在于,所述存储模块,还用于:
通过所述卡夫卡流数据处理平台的消费者获取所述目标主题,并将所述目标主题中的目标业务数据存入数据库,所述消费者配置在数据存储容器中。
11.一种电子设备,其特征在于,包括:
处理器,存储器,通信接口;
所述存储器用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至5任一项所述的数据处理方法。
12.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210976985.6A CN115344587A (zh) | 2022-08-15 | 2022-08-15 | 数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210976985.6A CN115344587A (zh) | 2022-08-15 | 2022-08-15 | 数据处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115344587A true CN115344587A (zh) | 2022-11-15 |
Family
ID=83952882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210976985.6A Pending CN115344587A (zh) | 2022-08-15 | 2022-08-15 | 数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115344587A (zh) |
-
2022
- 2022-08-15 CN CN202210976985.6A patent/CN115344587A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106407207B (zh) | 一种实时新增数据更新方法和装置 | |
US11455322B2 (en) | Classification of time series data | |
CN106557307B (zh) | 业务数据的处理方法及处理系统 | |
US20220075750A1 (en) | Article, device, and techniques for serverless streaming message processing | |
CN111813805A (zh) | 一种数据处理方法及装置 | |
US11620537B2 (en) | Optimizing gradient boosting feature selection | |
CN110928802A (zh) | 基于自动生成用例的测试方法、装置、设备及存储介质 | |
CN113672375B (zh) | 资源分配预测方法、装置、设备及存储介质 | |
CN111988429A (zh) | 算法调度方法以及系统 | |
CN106648839B (zh) | 数据处理的方法和装置 | |
CN110930056A (zh) | 一种基于思维导图的任务管理方法、终端设备及存储介质 | |
CN110928941A (zh) | 一种数据分片抽取方法及装置 | |
US10152318B2 (en) | Computer system and method for executing applications with new data structures | |
CN111221690A (zh) | 针对集成电路设计的模型确定方法、装置及终端 | |
CN115344587A (zh) | 数据处理方法、装置、设备及介质 | |
CN107493205B (zh) | 一种设备集群扩容性能预测方法及装置 | |
CN113869989B (zh) | 一种信息处理方法及装置 | |
CN116151631A (zh) | 一种业务决策处理系统、一种业务决策处理方法和装置 | |
CN111459474B (zh) | 一种模板化的数据处理方法及装置 | |
JP6422346B2 (ja) | プログラム生成装置、及び、プログラム生成方法 | |
CN110704742B (zh) | 一种特征提取方法及装置 | |
US11023226B2 (en) | Dynamic data ingestion | |
CN112988383A (zh) | 一种资源分配方法、装置、设备以及存储介质 | |
CN111967767A (zh) | 一种业务风险识别方法、装置、设备及介质 | |
CN111414162B (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 |