一种实时数据处理方法、设备、系统及介质与流程

文档序号:33001581发布日期:2023-01-18 01:23阅读:35来源:国知局
一种实时数据处理方法、设备、系统及介质与流程

1.本发明属于数据处理技术领域,具体地涉及一种实时数据处理方法、设备、系统及介质。


背景技术:

2.信息互联网的发展使人类进入了一个崭新的大数据时代,改变着影响时代发展的进程。大数据经历了技术驱动和数据驱动业务转型阶段,当前“新基建”成为业界关注的热点,5g、大数据中心、人工智能、工业互联网等新型基础设施建设正在加速推进,数据中台作为新基建不可或缺的一部分。数据融合是数据中台的基础,作用是完成各个业务数据抽取、清洗、转换到数据仓库中,待各种数据任务处理,给出最终有用结果。
3.现有技术中,常见的是单纯的数据仓库技术(extract-transform-load,etl),仅实现数据迁移的功能,在数据中台方案中,先使用etl工具抽取数据从业务库到数据仓库ods层,数据仓库一般分为数据操作层ods、公共的信息层dim、数据明细层dwd、数据汇总层dws层,再根据业务上的定义配置各种数据同步规则任务让数据在各个层之间流转,最后由spark, flink等计算框架完成数据计算产生有价值的结果。
4.其中etl工具部分,多是通过侵入式指定自增字段依赖sql的条件调度型定时触发查询实现增量数据同步,仅能做轻量的数据处理转换。
5.采用现有技术,其存在以下缺陷:
6.滞后性:在数据信息高速产生的时代,众多业务对数据处理结果的实时性要求越来越苛刻,普通etl工具是伪实时的,不能及时感知新产生的数据,将数据抽取到数据仓库再使用传统的离线计算方式mapreduce,此种方式产生的数据报表的滞后相当严重。
7.浪费数据存储空间:普通的etl工具对数据处理能力相当弱,设计上只能第一步将数据抽取到ods层,由后续服务器任务依次处理数据,达到最后可用程度。ods中存在大量没有意义的废弃数据。要产生能够直接参与计算的规整合法数据需要多个数据处理调度任务,反复清洗合并数据,浪费空间和时间。


技术实现要素:

8.为了解决现有数据处理滞后、数据存储空间浪费的现象,本发明提供一种实时数据处理方法、设备、系统及介质,其通过任务线程对数据进行处理,产生高实时性的数据结果,且直接将计算处理后的有效数据存储至目标库中,跳过ods层不再直接存放无效数据。
9.本发明通过以下技术方案实现:
10.本发明第一方面提供一种实时数据处理方法,包括以下步骤:
11.采用写入型连接器将数据接入到kafkaconnect中;
12.kafkaconnect将所述数据转换成统一数据类型的消息结构,生成第一数据,将所述第一数据写入到分布式消息中间件kafka中;
13.开启至少一个任务对kafka中的第一数据进行处理,并将至少一个任务中的每个
任务的输出数据转换成统一数据类型的消息结构,生成第二数据,将所述第二数据写入到kafka中;
14.采用写出型连接器将所述第二数据写入到目标库中。
15.在一种可能的设计中,所述写入型连接器为基于kafkaconnect的cdc连接器。
16.现有采用etl工具进行数据处理会影响被抽取数据库性能。普通etl工具对流式增量数据处理非常不友好,需要侵入式配置指定增量字段,依赖sql的条件查询,根据设置的周期频率调用,数据量大时会严重影响业务库性能。本方案使用数据库cdc机制,数据库主从备份机制,从数据库产生的日志上抽取数据,不会占用影响数据库性能。直接接入各种数据来源例如消息中间等,业务上还未落库的数据直接参与计算,跳过从业务库抽取数据。
17.本发明第二方面提供一种实时数据处理设备,包括数据抽取单元、数据处理单元和数据写出单元,
18.所述数据抽取单元用于采用写入型连接器将数据源的数据接入到kafkaconnect中, kafkaconnect将所述数据转换成统一数据类型的消息结构,生成第一数据,将所述第一数据写入到分布式消息中间件kafka中;
19.所述数据处理单元用于开启至少一个任务对kafka中的第一数据进行处理,并将至少一个任务中每个任务的输出数据转换成统一数据类型的消息结构,生成第二数据,将所述第二数据写入到kafka中;
20.所述数据写出单元用于采用写出型连接器将所述第二数据写入到目标库中。
21.本发明第三方面提供一种实时数据处理系统,包括数据源和第二方面中所述的实时数据处理设备,所述数据源与所述实时数据处理设备的所述数据抽取单元信号连接。
22.在一种可能的设计中,所述数据源为数据库或者具有数据输出的中间件。
23.本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行第一方面及其任一种可能中所述的一种实时数据处理方法。
24.本发明与现有技术相比,至少具有以下优点和有益效果:
25.1、本发明将抽取的数据流直接接入流式计算服务中,让数据直接进行计算,根据工作流任务内容配置,将处理后的计算结果或清理后的数据直接输出,数据实时参与复杂的计算得出低延迟结果。
26.2、本发明配合实时数据处理工作流,将数据进行复杂的工作流任务处理,直接生成高度符合标准有用的数据,直接到达数据仓库目标层,跳过ods层不再直接存放无效数据。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1是本发明实时数据处理设备的原理框图。
具体实施方式
29.下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
30.应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,a/和b,可以表示:单独存在a,单独存在a和b两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
31.应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而, 本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以非必要的细节来示出众所周知的过程、结构和技术,以避免使得示例不清楚。
32.本发明第一方面公开了一种实时数据处理方法,该方法可以但不限于由一数据处理设备来执行。具体的,该数据处理方法包括以下步骤s001~步骤s004。
33.步骤s001、采用写入型连接器将数据源的数据接入到kafkaconnect中。
34.kafkaconnect是一个可扩展、可靠的在kafka和其他系统之间流传输的数据工具。写入型连接器优选为基于kafkaconnect的cdc连接器。使用数据库cdc机制,数据库主从备份机制,从数据库产生的日志上抽取数据,不会占用影响数据库性能。直接接入各种数据来源例如消息中间等,业务上还未落库的数据直接参与计算,跳过从业务库抽取数据,减小对被抽取数据库性能的影响。
35.步骤s002、kafkaconnect将所述数据转换成统一数据类型的消息结构,生成第一数据,将所述第一数据写入到分布式消息中间件kafka中。
36.数据来源不同,其数据结构不同,通过kafkaconnect将数据进行转换成统一数据类型的消息结构。
37.分布式消息中间件akka实现实时数据处理工作流模块,实时处理数据管道中的数据,由于其高扩展性,高可用性,高可用性99.9999999%,一年只有31ms宕机,能够高并发处理复杂的计算任务。
38.步骤s003、开启至少一个任务对kafka中的第一数据进行处理,并将至少一个任务中每个任务的输出数据转换成统一数据类型的消息结构,生成第二数据,将所述第二数据写入到 kafka中。
39.此步骤根据工作流模式设计固定的任务处理流程,工作流的开发只需要适配 kafkaconnect规范数据结构即可,不必适配每种数据源。此处的任务示例性的:将某个gps 坐标数据通过特定算法计算转换为地图坐标时,可以开启一个支线任务,将地图坐标与其它应用系统中的某些数据一起计算得出距离等应用数据,直接反馈给该系统的同时,还能将值进行进一步的计算处理,能够灵活设计。当有多个任务时,可多任务同时进行。通过对数据进行直接计算,根据工作流任务内容配置,将处理后的计算结果或清理后的数据直接输出,数据实时参与复杂的计算得出低延迟结果。
40.步骤s004、采用写出型连接器将所述第二数据写入到目标库中。当有多个任务时,将第二数据写入到对应的目标库中即可。
41.上述方法通过使用kafkaconnect的数据管道能力,使用cdc机制连接器,将实时的流式数据接入到akka实时数据处理工作流模块中完成复杂的数据清洗计算等任务,绕过数据仓库多层数据清洗合并处步骤,获得高实时性的结果数据;且能够根据配置使用kafka同条消息可以被多个消费者组消费的原理实现同时多目的地输出,实现一读多写,将处理后的不同结果数据分别输出到不同的目标表。
42.本发明第二方面公开了一种实时数据处理设备,如图1所示,包括数据抽取单元、数据处理单元和数据写出单元,
43.所述数据抽取单元用于采用写入型连接器将数据源的数据接入到kafkaconnect中, kafkaconnect将所述数据转换成统一数据类型的消息结构,生成第一数据,将所述第一数据写入到分布式消息中间件kafka中;所述写入型连接器优选为基于kafkaconnect的cdc连接器。
44.所述数据处理单元用于开启至少一个任务对kafka中的第一数据进行处理,并将至少一个任务中每个任务的输出数据转换成统一数据类型的消息结构,生成第二数据,将所述第二数据写入到kafka中。
45.所述数据写出单元用于采用写出型连接器将所述第二数据写入到目标库中。
46.本发明第三方面提供一种实时数据处理系统,包括数据源和第二方面及其任一种可能中所述的实时数据处理设备,所述数据源与所述实时数据处理设备的所述数据抽取单元信号连接。数据源为数据库或者具有数据输出的中间件。
47.本发明第二、三方面公开的一种实时数据处理设备、系统,其运行原理详见第一方面详细介绍,在此不做赘述。
48.本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行第一方面及其任一种可能中所述的一种实时数据处理方法。具体举例的,所述可读存储介质可以但不限于包括随机存取存储器(random-accessmemory,ram)、只读存储器(read-only memory,rom)、闪存(flash memory)、先进先出存储器(first input first output,fifo)和或先进后出存储器(first input last output, filo)等等。
49.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1