CN114936245B - 一种多源异构数据的集成和处理方法及装置 - Google Patents
一种多源异构数据的集成和处理方法及装置 Download PDFInfo
- Publication number
- CN114936245B CN114936245B CN202210470770.7A CN202210470770A CN114936245B CN 114936245 B CN114936245 B CN 114936245B CN 202210470770 A CN202210470770 A CN 202210470770A CN 114936245 B CN114936245 B CN 114936245B
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- component
- integration
- processing flow
- 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
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
- Electrotherapy Devices (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种多源异构数据的集成和处理方法及装置,该集成和处理方法包括:接收用户设置的数据集成和处理流程,并基于所述数据处理流程生成对应的任务实例;利用数据集成组件对应的任务实例获取原始异构数据,并根据所述原始异构数据的数据形式确定对所述原始异构数据进行数据处理的数据处理流程;利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,并将所述目标数据发送至数据加载组件配置的数据源中进行存储。根据所述集成和处理方法及装置,实现了企业间多源异构数据源的一站式数据集成与处理。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种多源异构数据的集成和处理方法及装置。
背景技术
在企业信息化建设过程中,发现各部门由于业务及功能归属不同,所采用的计算机环境由不同平台构成,形成了大量的多源异构数据源,这些孤立的数据源也被称为“数据孤岛”。另由于对数据传输存储的安全性、规范性等多方面考虑,数据在传输前或者传输过程中通常伴随着二次加工处理的需求,比如对敏感数据的加解密、脱敏,半结构化数据的解析、数据的二次计算等。
当前,对这些多源异构数据源数据的统一采集、处理、存储等工作没有系统的、可扩展的数据集成方案。因此,如何实现企业间多源异构数据源的一站式数据集成与处理,成为了亟需解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种多源异构数据的集成和处理方法及装置,通过接收用户设置的数据集成和处理流程生成对应的任务实例,根据获取到的原始异构数据以及原始异构数据的属性形式,确定对原始异构数据进行数据处理的数据处理流程,根据数据处理流程对应的任务实例对原始异构数据进行数据处理,实现了企业间多源异构数据源的一站式数据集成与处理。
第一方面,本申请实施例提供了一种多源异构数据的集成和处理方法,所述集成和处理方法包括:
接收用户设置的数据集成和处理流程,并基于所述数据集成和处理流程生成对应的任务实例;其中,所述数据集成和处理流程中包括多个设置有组件连接关系的处理组件,每个不同的处理组件用于实现不同的功能逻辑,所述处理组件包括数据集成组件、数据处理组件和数据加载组件,所述数据集成和处理流程中包括数据处理流程,所述数据处理流程中包括至少一个数据处理组件;
利用所述数据集成组件对应的任务实例获取原始异构数据,并根据所述原始异构数据的数据形式确定对所述原始异构数据进行数据处理的数据处理流程;
利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,并将所述目标数据发送至所述数据加载组件配置的数据源中进行存储。
进一步的,通过以下步骤设置所述数据集成和处理流程:
从组件模板库中,选取所述数据集成和处理流程所需的至少一个组件模板;
针对于每个组件模板,展示该组件模板的组件配置界面,并在所述组件配置界面中对该组件模板的组件配置参数中进行编辑;
响应于对该组件模板的组件配置参数的确定操作,生成所述处理组件;
将生成的处理组件拖拽至所述组件连接关系对应的位置。
进一步的,当所述处理组件为自定义组件时,所述集成和处理方法还包括:
从所述组件模板库中,选取自定义组件模板;
展示所述自定义组件模板的自定义组件配置界面,并在所述自定义组件配置界面中对所述自定义组件模板的组件配置参数中进行编辑;
响应于对所述自定义组件模板的组件配置参数的确定操作,生成所述自定义组件;
利用所述自定义组件的组件配置参数,判断自定义函数缓存库中是否存在所述自定义组件的自定义对象实例;
若是,则从所述自定义函数缓存库中调取所述自定义对象实例;
若否,则基于所述自定义组件的组件配置参数进行代码反编译,以构建所述自定义组件的自定义对象实例,并将所述自定义对象实例添加到所述自定义函数缓存库中。
进一步的,当所述数据处理流程为流式处理流程时,所述利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,包括:
对所述原始异构数据进行封装,得到事件数据流;
将所述事件数据流发送至所述数据处理流程;
利用所述数据处理流程对应的任务实例对所述事件数据流进行处理,以得到所述目标数据。
进一步的,当所述数据处理流程为批处理流程时,所述利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,包括:
基于预设的抽取时间间隔或预设的数据抽取数量,从外部数据库中抽取至少一条原始异构数据,并对至少一条原始异构数据封装,得到事件数据集;
将所述事件数据集发送至所述数据处理流程;
利用所述数据处理流程对应的任务实例对所述事件数据集进行处理,以得到所述目标数据。
进一步的,在所述利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理时,所述集成和处理方法还包括:
针对于所述数据处理流程中每个数据处理组件对应的处理节点,判断该数据处理组件对应的处理节点是否存在异常处理数据;
若是,则将该数据处理组件确定为异常组件,并基于所述异常组件的组件标识创建异常数据文件夹;
将所述异常处理数据以及所述异常处理数据对应的数据信息存储到所述异常数据文件夹中;
响应于用户对于数据恢复按键的触控操作,将处理节点位于所述异常组件对应的处理节点之后的所有数据处理组件确定为恢复组件;
利用所述异常组件和每个恢复组件创建数据恢复流程对应的任务实例,并将所述异常处理数据发送至所述数据恢复流程,以利用所述数据恢复流程对应的任务实例对所述异常处理数据进行数据处理。
进一步的,所述集成和处理方法还包括:
确定所述数据处理流程中存在的异常处理数据的异常数量;
判断所述异常数量是否大于或等于异常容忍值;
若是,则终止所述数据处理流程。
第二方面,本申请实施例还提供了一种多源异构数据的集成和处理装置,所述集成和处理装置包括:
接收模块,用于接收用户设置的数据集成和处理流程,并基于所述数据集成和处理流程生成对应的任务实例;其中,所述数据集成和处理流程中包括多个设置有组件连接关系的处理组件,每个不同的处理组件用于实现不同的功能逻辑,所述处理组件包括数据集成组件、数据处理组件和数据加载组件,所述数据集成和处理流程中包括数据处理流程,所述数据处理流程中包括至少一个数据处理组件;
确定模块,用于利用所述数据集成组件对应的任务实例获取原始异构数据,并根据所述原始异构数据的数据形式确定对所述原始异构数据进行数据处理的数据处理流程;
处理模块,用于利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,并将所述目标数据发送至所述数据加载组件配置的数据源中进行存储。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的多源异构数据的集成和处理方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的多源异构数据的集成和处理方法的步骤。
本申请实施例提供的一种多源异构数据的集成和处理方法,通过接收用户设置的数据集成和处理流程生成对应的任务实例,根据获取到的原始异构数据以及原始异构数据的属性形式,确定对原始异构数据进行数据处理的数据处理流程,根据数据处理流程对应的任务实例对原始异构数据进行数据处理。从技术方案上选型Flume的设计思路作为基础,从易用性、稳定性、扩展性、安全性、以及降低成本等多方面设计打造独有的数据集成处理一体化引擎,支持多源异构数据的集成与共享交换,并提供数据的流批一体的数据处理能力,并在此基础上建设一体化的数据集成平台,实现了企业间多源异构数据源的一站式数据集成与处理。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的一种多源异构数据的集成和处理方法的流程图;
图2为本申请实施例所提供的数据集成和处理流程的设置方法的流程图;
图2A为本申请实施例所提供的一种组件可视化界面的示意图;
图2B为本申请另一实施例所提供的一种组件可视化界面的示意图;
图3为本申请实施例所提供的一种多源异构数据的集成和处理装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
在企业信息化建设过程中,发现各部门由于业务及功能归属不同,所采用的计算机环境由不同平台构成,形成了大量的多源异构数据源,这些孤立的数据源也被称为“数据孤岛”。另由于对数据传输存储的安全性、规范性等多方面考虑,数据在传输前或者传输过程中通常伴随着二次加工处理的需求,比如对敏感数据的加解密、脱敏,半结构化数据的解析、数据的二次计算等。
当前,对这些多源异构数据源数据的统一采集、处理、存储等工作没有系统的、可扩展的数据集成方案。因此,如何实现企业间多源异构数据源的一站式数据集成与处理,成为了亟需解决的问题。
为了实现上述目标,实现一体化数据集成及处理方案,分析现有的主流技术,包含Kettle、DataX、Flume、Camel等。从场景适用性、高性能、数据安全性、稳定性、可扩展性等多个方面进行评估,Flume采集框架更加适用。本申请涉及的集成引擎就是基于主流开源框架Flume基础之上进行设计改造完成的。Flume(日志收集系统)是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方的能力。
Flume整个系统由一个或多个Agent拼接而成,Agent(代理)为一个独立的Flume进程,包含必要组件(Source、Channel、Sink),可选组件(Interceptor、Selector)。其中Source为数据抽取组件,实现数据来源介质的数据抽取,并转换为Event数据流单元;Channel为数据缓存队列,亦可以理解为数据通道;Sink为数据加载组件,实现数据目的介质的数据加载,将Event数据流单元进行入库或持久化。
Flume本质上是对数据流(data flow)的处理,其定义数据处理的最小单元是Event,一个event由包含数据的有效负载和一组可选属性组成。Flume实际上处理的就是events flow。Flume的Interceptor组件支持对Event的header或body进行加工处理。Flume框架目前提供的拦截器仅仅支持进行简单的时间戳、host等简单的处理记录标记功能。Flume本身就是为了日志收集而建设的采集系统。Flume没有页面进行任务的配置和调度,采用的是linux服务器上的properties文件配置,然后通过shell脚本启动Agent任务进程的方式。按照此方式,一个任务需要一个配置文件,一个任务一个Agent运行进程。该种方式没有友好的任务管理界面,任务的配置难度较大,非常不方便,且无法有效的进行任务管理和调度,以及有效的监管机制。包含任务的启停、集成指标监控、日志监控等;因是进程式任务,所以耗费的内存CPU资源都是非常巨大的,单节点无法有效的支撑大批量任务的调度运行,且Flume不支持动态的分布式扩展,以及分布式的负载调度等;Flume是以Agent为任务单位进行运行的,本身对于任务运行过程中的异常情况处理能力较弱,容错机制和异常处理机制能力缺失。比如异常数据的处理机制、任务异常停止的恢复机制、任务执行的超时处理机制等。
基于此,本申请实施例提供了一种多源异构数据的集成和处理方法,从技术方案上选型Flume的设计思路作为基础,从易用性、稳定性、扩展性、安全性、以及降低成本等多方面设计打造独有的数据集成处理一体化引擎(Data integration processing engine),简称DIPE,DIPE支持多源异构数据的集成与共享交换,并提供数据的流批一体的数据处理能力,并在此基础上建设一体化的数据集成平台,实现了企业间多源异构数据源的一站式数据集成与处理。
请参阅图1,图1为本申请实施例所提供的一种多源异构数据的集成和处理方法的流程图。如图1中所示,本申请实施例提供的多源异构数据的集成和处理方法,包括:
S101,接收用户设置的数据集成和处理流程,并基于所述数据集成和处理流程生成对应的任务实例。
需要说明的是,数据集成和处理流程指的是对数据进行集成和处理的过程。其中,所述数据集成和处理流程中包括多个设置有组件连接关系的处理组件。每个不同的处理组件用于实现不同的功能逻辑。根据本申请提供的实施例,处理组件可以包括数据集成组件、数据处理组件和数据加载组件。这里,数据集成组件指的是进行数据抽取的组件,通过数据集成组件可以抽取来自于不同的数据源的异构数据。数据处理组件指的是对数据进行数据处理的组件,例如,数据处理组件可以包括数据映射组件、字段脱敏组件、字段加密组件、数据过滤组件、字段计算组件、条件分发组件、字段常量组件、数据清洗组件、数据去重组件、数据脱敏组件、数据标记组件、字典转换组件、格式转换组件、内容转换组件、增加列组件、数据映射组件和数据分发组件等等,对此本申请不做具体限定。数据加载组件的作用是将处理完的数据共享到数据加载组件所配置的数据源。组件连接关系指的是各个处理组件之间的连接关系,也就是数据集成和处理流程的执行顺序,例如,处理组件A连接处理组件B,根据处理组件A和处理组件B之间的连接关系可知数据集成和处理流程是先执行处理组件A的任务实例,再执行处理组件B的任务实例。数据集成和处理流程中还包括数据处理流程,这里,数据处理流程指的是对数据进行处理的数据处理过程。数据处理流程中包括至少一个数据处理组件。
针对上述步骤S101,在具体实施时,接收用户设置的包括多个设置有组件连接关系的处理组件的数据集成和处理流程,并基于接收到的数据集成和处理流程生成对应的任务实例。这里,如何根据用户设置的数据集成和处理流程生成对应的任务实例在现有技术中有详细说明,在此不再过多赘述。
请参阅图2,图2为本申请实施例所提供的数据集成和处理流程的设置方法的流程图。如图2中所示,通过以下步骤设置所述数据集成和处理流程:
S201,从组件模板库中,选取所述数据集成和处理流程所需的至少一个组件模板。
需要说明的是,组件模板库指的是用来存储各种组件的一种数据库。组件模板指的是在组件模板库中预先存储好的模板,用户基于想要设置的数据集成和处理流程从组件模板库中选取需要的组件模板。每个不同的处理组件对应不同的组件模板。例如,当用户想要设置的数据集成和处理流程中包括数据集成组件、数据映射组件和数据去重组件时,从预先存储的组件模块库中选取数据集成组件、数据映射组件和数据去重组件对应的组件模板。
S202,针对于每个组件模板,展示该组件模板的组件配置界面,并在所述组件配置界面中对该组件模板的组件配置参数中进行编辑。
需要说明的是,组件配置参数指的是用户在组件模块中输入的,用来配置对应组件的配置参数。例如,用户想要配置数据集成组件时,组件配置参数可以是所需的数据表的名称和数据表中的数据属性对应的字段中的至少一个。其中,数据表的名称可以是客户表、用户表等已有的数据表的名称。数据表中的数据属性对应的字段可以是例如姓名、性别这种在已有数据表中的数据属性。用户在确定出所需的数据集成和处理流程后,根据数据集成和处理流程确定需要的处理组件,从预先存储的组件模板库中,选取所需的处理组件对应的组件模板。在组件模板被确定后,将组件模板显示在组件配置界面上,在组件配置界面中对该组件模板的组件配置参数中进行编辑。
针对步骤S202,在具体实施时,根据在组件模板库中选取的数据集成和处理流程所需的一组件模板,获取用户在组件模板中编辑的组建配置参数。示例性的,图2A为本申请实施例所提供的一种组件可视化界面的示意图,如图2A所示,组件模板库用来存储预先设定好的组件模板,用于响应组件模板的选取操作,获取用户所选择的不同的组件模板的类型。组件配置界面用于展示选择的组件模板的组件配置参数,响应组件配置参数的编辑操作,对组件配置参数中的各类参数进行编辑。用户在如图2A中的组件模板库中选择需要的组件模板,响应用户对于组件模板的选取操作,在组件配置界面中显示该组件模板的组件配置参数,用户对组件配置参数中的各类参数进行编辑。例如图2A中提供的实施例,用户在组件模板库中选择了一个组件模板,例如数据集成组件,然后在组件配置界面中即展示该组件模板的组件配置信息,并对该组件的组件配置参数的数据表和数据表中的数据属性进行编辑。在组件配置界面可以对组件的名称进行编辑,例如命名为“数据集成组件”。也可以对数据获取方式进行编辑,“获取方式”一列可以对应输入需要的数据表的名称,例如“客户表”,“参数”一列可以对应输入需要获取的该数据表中的字段,例如“客户姓名”。
这里,应注意,上述对组件配置参数的举例仅为实例,实际中,组件配置参数不限于上述例子,当用户所需的数据集成和处理流程不同时,对应的组件配置需求也会随着数据集成和处理流程而改变,进而,组件配置参数也会随着组件配置需求的改变而改变。
S203,响应于对该组件模板的组件配置参数的确定操作,生成所述处理组件。
延续上一实施例,图2A的组件配置界面内有两个按键,一个是“重置”一个是“保存”。在组件配置参数输入完毕后,用户可以点击“保存”按钮,这时响应于用户对该组件模板的组件配置参数的确定操作,基于S202中编辑的组件配置参数生成对应的组件。在组件生成完成后,用户可以点击“重置”按钮,重置上方输入的组件配置参数,为下一个组件输入新的组件配置参数。
S204,将生成的处理组件拖拽至所述组件连接关系对应的位置。
需要说明的是,拖拽指的是用户在设置数据集成和处理流程时,对于所需的处理组件进行拖拽的操作。在具体实施时,用户可以直接通过拖拽处理组件的方式来构建数据集成和处理流程,将生成的处理组件拖拽至组件连接关系对应的位置,可以减少对于数据集成和处理流程生成需要的代码开发步骤,更加方便快捷的生成数据集成和处理流程,极大缩短了数据集成和处理流程的开发周期。
针对上述步骤S201-S204,数据集成和处理流程的构建方式转变为拖拽处理组件来构建任务的处理链路,通过点击拓扑节点实现处理组件的组件参数配置,以此便捷易用的构建数据的处理任务,并支持通过页面试运行进行测试,以便用户进行实时日志和数据的预览。根据本申请提供的实施例,多源异构数据集成组件的定制扩展是基于Flume的Source和Sink的可扩展、可定制性来实现的,通过根据不同传输存储组件、不同的集成共享业务场景来定制不同的数据处理组件,通过不同的数据处理组件的组合配置来构建适配各种业务场景的数据集成共享任务。Flume设计之初是为了实现日志收集系统,故Flume支持实现的Source和Sink组件更偏向于该类场景。比如当前版本Flume支持的Source主流组件包含文件或目录变动监听类ExecSource、SpoolingDirectorySource、TailDirSource,基于RPC端口的AvroSource、ThirftSource,Mq或队列订阅的JMSSource、KafkaSource等。Sink主流组件包含Hdfs、Hive、Logger、Avro、Kafka、Thirft、Avro、FileRoll等。该类插件适合面向日志采集存储场景,但不适合企业级多源异构的数据源的采集和存储方案。故本申请可以根据企业级数据集成共享交换的场景定制实现适合自身业务场景的数据处理组件。数据集成组件Source和数据加载组件Sink的定制方法,继承YsAbstractSource或YsAbstractSink类,根据组件场景逻辑实现其参数配置方法configure()、组件启动方法start()、组件停止方法stop()。另Sink组件需实现process()方法,实现从channel抽取event数据进行封装存储。当前DIPE支持的数据集成组件包含关系型数据库、MPP分布式数据库、时序数据库、大数据存储组件、实时消息中间件、文本文件、协议接口等多类型数据源协议的集成和加载组件。并且集成组件支持根据业务场景进行定制版本扩展,以适配复杂多变的数据集成共享交换的业务场景。DIPE引擎通过Rest服务接口的方式对外提供引擎能力,使得系统与三方应用更加便捷的进行引擎能力的集成;另本申请提供任务管理和监控页面,支持组件拖拽的方式进行任务的构建和配置,并提供了非常高效任务管理及任务监控能力。
示例性的,图2B为本申请另一实施例所提供的一种组件可视化界面的示意图,如图2B所示,组件显示框中用来显示数据集成和处理流程,当检测到某一处理组件的拖拽指令时,实时获取该处理组件在图2B中的组件显示框的位置信息。当组件管理装置检测到该处理组件的释放指令时,将该处理组件的位置信息确定为该处理组件的最终位置。重复进行上述操作,直至所有组件均被添加到界面中。并记录每个组件的组件连接关系。本实施例中,在具体实施时,用户可以直接通过拖拽处理组件的方式来构建数据集成和处理流程,将生成的处理组件拖拽至组件连接关系对应的位置,可以减少对于数据集成和处理流程生成需要的代码开发步骤,更加方便快捷的生成数据集成和处理流程,极大缩短了数据集成和处理流程的开发周期。
作为一种可选的实施方式,当所述处理组件为自定义组件时,所述集成和处理方法还包括:
步骤301,从所述组件模板库中,选取自定义组件模板。
需要说明的是,这里提到的自定义函数是通过页面进行管理和维护,支持在线编辑创建,当前主要支持Java函数,页面通过维护Java代码来管理维护Java自定义处理函数,并解析配置函数入参数据,管理函数处理所需的参数信息。自定义组件模板指的是在组件模板库中预先存储好的,用于构建自定义组件的模板。
针对上述步骤301,在具体实施时,当用户需要自定义组件时,从预先设定好的组件模板库中选取自定义组件模板。
步骤302,展示所述自定义组件模板的自定义组件配置界面,并在所述自定义组件配置界面中对所述自定义组件模板的组件配置参数中进行编辑。
步骤303,响应于对所述自定义组件模板的组件配置参数的确定操作,生成所述自定义组件。
针对于上述步骤302和步骤303,步骤302和步骤303的描述可以参照S202和S203的描述,并且能达到相同的技术效果,对此不再赘述。
步骤304,利用所述自定义组件的组件配置参数,判断自定义函数缓存库中是否存在所述自定义组件的自定义对象实例。
需要说明的是,自定义函数缓存库指的是用于存储用户构建的自定义组件对应的自定义对象实例。自定义对象实例指的是根据用户构建的自定义组件的组件配置参数所生成的自定义函数。
针对上述步骤304,在具体实施时,用户在构建好自定义组件后,每个自定义组件对应的自定义对象实例都会存储到自定义函数缓存库中,这样在下次使用自定义对象实例时方便调用。用户在配置新的自定义组件时,在自定义组件配置界面中已经填写好了自定义组件的组件配置参数,这时根据填写的组件配置参数去自定义函数缓存库中查找,是否存在与当前确定的组件配置参数相同的自定义组件,也就是判断自定义函数缓存库中是否存在当前所配置的自定义组件的自定义对象实例。如果是,则执行步骤305如果否,则执行步骤306。
步骤305,若是,则从所述自定义函数缓存库中调取所述自定义对象实例。
针对上述步骤305,当自定义函数缓存库中存在用户配置的自定义组件的自定义对象实例时,从所述自定义函数缓存库中调取所述自定义对象实例,以使自定义组件实现对应的处理功能。
步骤306,若否,则基于所述自定义组件的组件配置参数进行代码反编译,以构建所述自定义组件的自定义对象实例,并将所述自定义对象实例添加到所述自定义函数缓存库中。
针对上述步骤306,在具体实施时,当自定义函数缓存库中不存在用户配置的自定义组件的自定义对象实例时,根据用户确定的组件配置参数中指定自定义组件的处理函数以及各类参数,通过Java对处理函数进行实时编译成class类方法,并通过反射技术构造处理函数的方法Bean实例对象,并将构建好的自定义函数对象存储到自定义函数缓存库中,以便于下次构建自定义组件时数据处理时使用。
S102,利用所述数据集成组件对应的任务实例获取原始异构数据,并根据所述原始异构数据的数据形式确定对所述原始异构数据进行数据处理的数据处理流程。
需要说明的是,异构数据源(disparate data source)广义上讲是指数据结构、存取方式、形式不一样的多个数据源。如,在一个系统中,同时包含由关系型数据库Oracle/SQL SERVER/MYSQL、EXCEL文件或txt文本数据、XML数据等不同的数据源的一个整体,就是一个异构的数据源。原始异构数据则是来自于异构数据源的原始数据。数据形式是根据该原始异构数据的数据来源确定的,例如,原始异构数据的数据源为kafka时,该原始异构数据的数据形式则为实时数据;当原始异构数据的数据源为数据库或接口时,该原始异构数据的数据形式则为批量数据集。
针对上述步骤S102,在具体实施时,利用数据集成组件对应的任务实例获取至少一条原始异构数据,并确定每条原始异构数据的数据形式,然后基于原始异构数据的数据形式确定对所述原始异构数据进行数据处理的数据处理流程。根据本申请提供的实施例,用户在配置数据集成组件时,会选择所需原始异构数据的异构数据源以及所需的数据字段等信息,用户在配置好数据集成组件后,就可以根据用户所填写的数据集成组件的组件配置信息生成对应的任务实例,利用任务实例抽取用户所需的原始异构数据。这里,数据处理流程包括流式处理流程和批处理流程。流式处理流程主要是依赖实时数据组件进行流式数据加工,提供的处理方式为单条流式数据的加工,处理组件表现为输入单个Event加工输出单个Event。而批处理流程主要提供批量数据集的抽取加工,并支持数据聚合等批数据加工方法,通过抽取组件批次抽取构造一个数据集,通过数据处理组件进行加工处理输出另一个数据集。
S103,利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,并将所述目标数据发送至所述数据加载组件配置的数据源中进行存储。
需要说明的是,目标数据指的是通过数据处理流程对原始异构数据进行数据处理后得到的目标数据。数据源指的是对目标数据进行数据加载的数据库。例如,数据源可以包括MPP数据库、Hive数仓和Kafka等,对此本申请不做具体限定。
针对于上述步骤S103,在具体实施时,在获取到原始异构数据并确定出对该原始异构数据进行数据处理的数据处理流程后,根据数据处理流程对应的任务实例对原始异构数据进行数据处理,以得到目标数据。根据本申请提供的实施例,由于用户在配置数据加载组件时会选择想要进行数据加载的数据源,因此在目标数据得到后,就可以将目标数据发送到数据加载组件配置的数据源中进行存储。具体的,基于主流开源框架Flume,将目标数据放入数据缓存队列channel中,并通过数据加载组件sink加载到数据加载组件配置的数据源中,实现目标数据的数据加载。
针对于上述步骤S103,当所述数据处理流程为流式处理流程时,所述利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,包括:
A:对所述原始异构数据进行封装,得到事件数据流。
B:将所述事件数据流发送至数据处理流程。
C:利用数据处理流程对应的任务实例对所述事件数据流进行处理,以得到所述目标数据。
针对上述三个步骤,由于流式处理流程处理的是实时数据,主要是基于Kafka的实时消息,通过订阅实时的原始异构数据,对原始异构数据进行封装,得到Event数据流,将事件数据流发送到数据处理流程,再通过构建好的数据处理流程对时间数据流进行处理,以得到对应的目标数据。
针对于上述步骤S103,当所述数据处理流程为批处理流程时,所述利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,包括:
a:基于预设的抽取时间间隔或预设的数据抽取数量,从外部数据库中抽取至少一条原始异构数据,并对至少一条原始异构数据封装,得到事件数据集。
需要说明的是,抽取时间间隔指的是原始异构数据抽取的时间间隔,例如,当抽取时间间隔为5秒时,则每5秒从外部数据库中抽取一批原始异构数据。数据抽取数量每次抽取的原始异构数据的数量,例如,当数据抽取数量为10时,则每次从外部数据库抽取10条原始异构数据。事件数据集指的是对于至少一个原始异构数据进行封装后得到的一个数据集。
b:将所述事件数据集发送至所述数据处理流程;
c:利用所述数据处理流程对应的任务实例对所述事件数据集进行处理,以得到所述目标数据。
针对上述三个步骤,由于流式处理流程处理的是批数据集,主要是基于数据库等的数据集,基于预设的抽取时间间隔或预设的数据抽取数量,从外部数据库中抽取至少一条原始异构数据,并将至少一条原始异构数据封装成List<Event>数据集,将事件数据集发送到数据处理流程,再通过构建好的数据处理流程对时间数据流进行处理,以得到对应的目标数据。
根据本申请提供的实施例,DIPE引擎通过构建线程式的任务Agent运行实例,并通过FileChannel进行管道缓存数据的持久化,极大降低任务的内存资源耗费,大大提升单节点的并行任务数,相同的集成场景较Flume进程式运行方式,并发的任务数可提升30倍以上。且本申请支持Worker节点的分布式扩展,通过动态的负载策略,根据节点资源情况进行任务的分布式调度运行,充分合理高效的利用节点资源。并且本申请提供了流批一体的数据处理方式,也就是既可以使用流式处理流程,也可以是使用批处理流程,充分解决了数据集成、共享、开发过程中的数据处理问题,并将数据的加工问题在集成的过程中进行有效解决,避免数据加工的二次数据抽取和加载的资源耗费。另引擎提供的自定义函数的数据处理扩展方式,解决数据处理组件无法解决的非通用性数据处理问题,使得数据处理能力可以随着业务场景的不同而动态扩展。
针对于上述步骤S103,在所述利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理时,所述集成和处理方法还包括:
步骤1031,针对于所述数据处理流程中每个数据处理组件对应的处理节点,判断该数据处理组件对应的处理节点是否存在异常处理数据。
需要说明的是,处理节点指的是数据处理流程中的数据处理组件对应的数据处理节点,在每个处理节点,需要执行该处理节点所属的数据处理组件对应的任务实例。异常处理数据指的是数据处理过程中存在异常的数据,例如,在数据处理组件对应的处理节点中,用户的组件配置参数中规定将原始异构数据处理为5个字节的数据,而经过对应的处理节点处理,得到的是2个字节的数据,与用户配置的要求不同,这时则认为该处理节点存在异常处理数据。
针对上述步骤1031,针对于数据处理流程中每个数据处理组件对应的处理节点,判断该数据处理组件对应的处理节点是否存在异常处理数据。若判断出该数据处理组件对应的处理节点存在异常处理数据,则执行步骤1032。具体的,使用Java catch异常捕获的方法来判断是否存在异常处理数据,如何使用Java catch异常捕获的方法来判断是否存在异常处理数据在现有技术中有详细说明,在此不再过多赘述。
步骤1032,若是,则将该数据处理组件确定为异常组件,并基于所述异常组件的组件标识创建异常数据文件夹。
步骤1033,将所述异常处理数据以及所述异常处理数据对应的数据信息存储到所述异常数据文件夹中。
需要说明的是,当处理节点处理的数据被认定为异常处理数据时,该处理节点所属的数据处理组件则为异常组件。组件标识指的是每个数据处理组件自身的组件ID(Identity document,标识号)。异常数据文件夹指的是用于存储异常数据的文件夹。数据信息指的是异常处理数据对应的数据基本信息,例如,数据信息可以是异常处理书记的异常时间、异常组件、异常信息、异常数据等关键信息。
针对上述步骤1032和步骤1033,在具体实施时,当判断某个数据处理组件对应的处理节点存在异常处理数据时,则将该处理节点所属的数据处理组件确定为异常组件,并按照该数据处理组件的组件ID创建异常数据文件夹,并将异常处理数据按照结构化存储到异常数据文件夹中,主要包含异常时间、异常组件、异常信息、异常数据等关键信息。根据本申请提供的实施例,在任务实例运行结束后,所有异常处理数据生成的异常数据文件,上报至调度组件进行合并存储。
步骤1034,响应于用户对于数据恢复按键的触控操作,将处理节点位于所述异常组件对应的处理节点之后的所有数据处理组件确定为恢复组件。
需要说明的是,数据恢复按键指的是数据恢复操作对应的按键,当用户点击数据恢复按键时,则认为需要启动数据恢复操作,数据恢复按键主要实现数据的自动恢复。恢复节点指的是处理节点位于异常组件对应的处理节点之后的所有数据处理组件。
针对上述步骤1034,在具体实施时,当用户点击数据恢复按键时,响应于用户对于数据恢复按键的触控操作,根据出现异常处理数据的异常组件,确定处理节点位于异常组件对应的处理节点之后的所有数据处理组件,将这些组件确定为恢复组件。
步骤1035,利用所述异常组件和每个恢复组件创建数据恢复流程对应的任务实例,并将所述异常处理数据发送至所述数据恢复流程,以利用所述数据恢复流程对应的任务实例对所述异常处理数据进行数据处理。
需要说明的是,数据恢复流程指的是对异常处理数据进行数据恢复的数据恢复过程。
针对上述步骤1035,在具体实施时,由于步骤1034中已经确定出了恢复组件,这时,根据异常组件和每个恢复组件创建数据恢复流程,以及数据恢复流程对应的任务实例,并将异常处理数据发送至创建好的数据恢复流程中,以利用数据恢复流程对应的任务实例对异常处理数据进行数据处理。
根据本申请提供的实施例,异常处理数据的恢复机制,主要包含自动恢复和人工恢复。自动恢复的方法即是步骤1034到步骤1035所提供的方法,自动恢复主要是通过任务实例异常数据文件,进行异常恢复任务实例构建,主要是根据任务信息、异常组件、异常数据,进行动态的任务构建(仅构建异常组件及其后置的组件流程)。并将异常数据构造成List<Event>对象,经过构造的数据恢复流程进行处理直至入库。而手动恢复即支持任务实例的异常数据文件夹下载,供用户进行线下加工处理入库。根据本申请提供的实施例,该项机制主要是基于DIPE引擎实现,在数据处理组件或数据加载组件中对处理和入库过程进行异常捕获,并将异常捕获的数据进行存档,待任务空闲进行数据的自动恢复。若无法自动恢复的数据,支持下载进行人工恢复处理。
作为一种可选的实施方式,本申请提供的集成和处理方法还包括:
(1)确定所述数据处理流程中存在的异常处理数据的异常数量。
(2)判断所述异常数量是否大于或等于异常容忍值。
(3)若是,则终止所述数据处理流程。
需要说明的是,异常数量指的是数据处理流程中出现的异常处理数据的总数量。异常容忍值指的是预先设定的、允许数据处理流程中允许出现异常处理数据的异常数量的最大值。例如,异常容忍值可以为10,对此本申请不做具体限定。
针对上述三个步骤,在具体实施时,首先确定出数据处理流程中存在的异常处理数据的异常数量,然后判断异常数量是否大于或等于预先设定的异常容忍值,若是,则终止数据处理流程。该部分基于DIPE引擎实现,DIPE任务在构建时可指定任务数据异常忍耐值,该配置实现的是当数据处理或加载异常所涉及数据的量(Event记录数)超过配置的异常忍耐值时,进行任务自动终止,判定任务失败。DIPE引擎通过异常数据的存档及恢复机制,保障了因业务数据或者处理逻辑出现异常情况下,数据得以存档,并支持自动和手动的恢复,全面保障了业务数据的完整性。另通过引擎的异常熔断机制,当异常数据量超过熔断值时,自动对任务进行熔断终止。保障了任务集成处理的正确性。
本申请实施例提供的多源异构数据的集成和处理方法,通过接收用户设置的数据集成和处理流程生成对应的任务实例,根据获取到的原始异构数据以及原始异构数据的属性形式,确定对原始异构数据进行数据处理的数据处理流程,根据数据处理流程对应的任务实例对原始异构数据进行数据处理。从技术方案上选型Flume的设计思路作为基础,从易用性、稳定性、扩展性、安全性、以及降低成本等多方面设计打造独有的数据集成处理一体化引擎,支持多源异构数据的集成与共享交换,并提供数据的流批一体的数据处理能力,并在此基础上建设一体化的数据集成平台,实现了企业间多源异构数据源的一站式数据集成与处理。
请参阅图3,图3为本申请实施例所提供的一种多源异构数据的集成和处理装置的结构示意图。如图3中所示,所述集成和处理装置300包括:
接收模块301,用于接收用户设置的数据集成和处理流程,并基于所述数据集成和处理流程生成对应的任务实例;其中,所述数据集成和处理流程中包括多个设置有组件连接关系的处理组件,每个不同的处理组件用于实现不同的功能逻辑,所述处理组件包括数据集成组件、数据处理组件和数据加载组件,所述数据集成和处理流程中包括数据处理流程,所述数据处理流程中包括至少一个数据处理组件;
确定模块302,用于利用所述数据集成组件对应的任务实例获取原始异构数据,并根据所述原始异构数据的数据形式确定对所述原始异构数据进行数据处理的数据处理流程;
处理模块303,用于利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,并将所述目标数据发送至所述数据加载组件配置的数据源中进行存储。
进一步的,所述接收模块301用于通过以下步骤设置所述数据集成和处理流程:
从组件模板库中,选取所述数据集成和处理流程所需的至少一个组件模板;
针对于每个组件模板,展示该组件模板的组件配置界面,并在所述组件配置界面中对该组件模板的组件配置参数中进行编辑;
响应于对该组件模板的组件配置参数的确定操作,生成所述处理组件;
将生成的处理组件拖拽至所述组件连接关系对应的位置。
进一步的,当所述处理组件为自定义组件时,所述接收模块301还用于:
从所述组件模板库中,选取自定义组件模板;
展示所述自定义组件模板的自定义组件配置界面,并在所述自定义组件配置界面中对所述自定义组件模板的组件配置参数中进行编辑;
响应于对所述自定义组件模板的组件配置参数的确定操作,生成所述自定义组件;
利用所述自定义组件的组件配置参数,判断自定义函数缓存库中是否存在所述自定义组件的自定义对象实例;
若是,则从所述自定义函数缓存库中调取所述自定义对象实例;
若否,则基于所述自定义组件的组件配置参数进行代码反编译,以构建所述自定义组件的自定义对象实例,并将所述自定义对象实例添加到所述自定义函数缓存库中。
进一步的,当所述数据处理流程为流式处理流程时,所述处理模块303在用于利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据时,所述处理模块303还用于:
对所述原始异构数据进行封装,得到事件数据流;
将所述事件数据流发送至所述数据处理流程;
利用所述数据处理流程对应的任务实例对所述事件数据流进行处理,以得到所述目标数据。
进一步的,当所述数据处理流程为批处理流程时,所述处理模块303在利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据时,所述处理模块303还用于:
基于预设的抽取时间间隔或预设的数据抽取数量,从外部数据库中抽取至少一条原始异构数据,并对至少一条原始异构数据封装,得到事件数据集;
将所述事件数据集发送至所述数据处理流程;
利用所述数据处理流程对应的任务实例对所述事件数据集进行处理,以得到所述目标数据。
进一步的,所述处理模块303在利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理时,所述处理模块303还用于:
针对于所述数据处理流程中每个数据处理组件对应的处理节点,判断该数据处理组件对应的处理节点是否存在异常处理数据;
若是,则将该数据处理组件确定为异常组件,并基于所述异常组件的组件标识创建异常数据文件夹;
将所述异常处理数据以及所述异常处理数据对应的数据信息存储到所述异常数据文件夹中;
响应于用户对于数据恢复按键的触控操作,将处理节点位于所述异常组件对应的处理节点之后的所有数据处理组件确定为恢复组件;
利用所述异常组件和每个恢复组件创建数据恢复流程对应的任务实例,并将所述异常处理数据发送至所述数据恢复流程,以利用所述数据恢复流程对应的任务实例对所述异常处理数据进行数据处理。
进一步的,所述集成和处理装置300还包括终止模块,所述终止模块用于:
确定所述数据处理流程中存在的异常处理数据的异常数量;
判断所述异常数量是否大于或等于异常容忍值;
若是,则终止所述数据处理流程。
请参阅图4,图4为本申请实施例所提供的一种电子设备的结构示意图。如图4中所示,所述电子设备400包括处理器410、存储器420和总线430。
所述存储器420存储有所述处理器410可执行的机器可读指令,当电子设备400运行时,所述处理器410与所述存储器420之间通过总线430通信,所述机器可读指令被所述处理器410执行时,可以执行如上述图1以及图2所示方法实施例中的多源异构数据的集成和处理方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图2所示方法实施例中的多源异构数据的集成和处理方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种多源异构数据的集成和处理方法,其特征在于,所述集成和处理方法包括:
接收用户设置的数据集成和处理流程,并基于所述数据集成和处理流程生成对应的任务实例;其中,所述数据集成和处理流程中包括多个设置有组件连接关系的处理组件,每个不同的处理组件用于实现不同的功能逻辑,所述处理组件包括数据集成组件、数据处理组件和数据加载组件,所述数据集成和处理流程中包括数据处理流程,所述数据处理流程中包括至少一个数据处理组件;
利用所述数据集成组件对应的任务实例获取原始异构数据,并根据所述原始异构数据的数据形式确定对所述原始异构数据进行数据处理的数据处理流程;
利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,并将所述目标数据发送至所述数据加载组件配置的数据源中进行存储;
在所述利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理时,所述集成和处理方法还包括:
针对于所述数据处理流程中每个数据处理组件对应的处理节点,判断该数据处理组件对应的处理节点是否存在异常处理数据;
若是,则将该数据处理组件确定为异常组件,并基于所述异常组件的组件标识创建异常数据文件夹;
将所述异常处理数据以及所述异常处理数据对应的数据信息存储到所述异常数据文件夹中;
响应于用户对于数据恢复按键的触控操作,将处理节点位于所述异常组件对应的处理节点之后的所有数据处理组件确定为恢复组件;
利用所述异常组件和每个恢复组件创建数据恢复流程对应的任务实例,并将所述异常处理数据发送至所述数据恢复流程,以利用所述数据恢复流程对应的任务实例对所述异常处理数据进行数据处理。
2.根据权利要求1所述的集成和处理方法,其特征在于,通过以下步骤设置所述数据集成和处理流程:
从组件模板库中,选取所述数据集成和处理流程所需的至少一个组件模板;
针对于每个组件模板,展示该组件模板的组件配置界面,并在所述组件配置界面中对该组件模板的组件配置参数中进行编辑;
响应于对该组件模板的组件配置参数的确定操作,生成所述处理组件;
将生成的处理组件拖拽至所述组件连接关系对应的位置。
3.根据权利要求2所述的集成和处理方法,其特征在于,当所述处理组件为自定义组件时,所述集成和处理方法还包括:
从所述组件模板库中,选取自定义组件模板;
展示所述自定义组件模板的自定义组件配置界面,并在所述自定义组件配置界面中对所述自定义组件模板的组件配置参数中进行编辑;
响应于对所述自定义组件模板的组件配置参数的确定操作,生成所述自定义组件;
利用所述自定义组件的组件配置参数,判断自定义函数缓存库中是否存在所述自定义组件的自定义对象实例;
若是,则从所述自定义函数缓存库中调取所述自定义对象实例;
若否,则基于所述自定义组件的组件配置参数进行代码反编译,以构建所述自定义组件的自定义对象实例,并将所述自定义对象实例添加到所述自定义函数缓存库中。
4.根据权利要求1所述的集成和处理方法,其特征在于,当所述数据处理流程为流式处理流程时,所述利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,包括:
对所述原始异构数据进行封装,得到事件数据流;
将所述事件数据流发送至所述数据处理流程;
利用所述数据处理流程对应的任务实例对所述事件数据流进行处理,以得到所述目标数据。
5.根据权利要求1所述的集成和处理方法,其特征在于,当所述数据处理流程为批处理流程时,所述利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,包括:
基于预设的抽取时间间隔或预设的数据抽取数量,从外部数据库中抽取至少一条原始异构数据,并对至少一条原始异构数据封装,得到事件数据集;
将所述事件数据集发送至所述数据处理流程;
利用所述数据处理流程对应的任务实例对所述事件数据集进行处理,以得到所述目标数据。
6.根据权利要求1所述的集成和处理方法,其特征在于,所述集成和处理方法还包括:
确定所述数据处理流程中存在的异常处理数据的异常数量;
判断所述异常数量是否大于或等于异常容忍值;
若是,则终止所述数据处理流程。
7.一种多源异构数据的集成和处理装置,其特征在于,所述集成和处理装置包括:
接收模块,用于接收用户设置的数据集成和处理流程,并基于所述数据集成和处理流程生成对应的任务实例;其中,所述数据集成和处理流程中包括多个设置有组件连接关系的处理组件,每个不同的处理组件用于实现不同的功能逻辑,所述处理组件包括数据集成组件、数据处理组件和数据加载组件,所述数据集成和处理流程中包括数据处理流程,所述数据处理流程中包括至少一个数据处理组件;
确定模块,用于利用所述数据集成组件对应的任务实例获取原始异构数据,并根据所述原始异构数据的数据形式确定对所述原始异构数据进行数据处理的数据处理流程;
处理模块,用于利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理,以得到目标数据,并将所述目标数据发送至所述数据加载组件配置的数据源中进行存储;
所述处理模块在利用所述数据处理流程对应的任务实例对所述原始异构数据进行数据处理时,所述处理模块还用于:
针对于所述数据处理流程中每个数据处理组件对应的处理节点,判断该数据处理组件对应的处理节点是否存在异常处理数据;
若是,则将该数据处理组件确定为异常组件,并基于所述异常组件的组件标识创建异常数据文件夹;
将所述异常处理数据以及所述异常处理数据对应的数据信息存储到所述异常数据文件夹中;
响应于用户对于数据恢复按键的触控操作,将处理节点位于所述异常组件对应的处理节点之后的所有数据处理组件确定为恢复组件;
利用所述异常组件和每个恢复组件创建数据恢复流程对应的任务实例,并将所述异常处理数据发送至所述数据恢复流程,以利用所述数据恢复流程对应的任务实例对所述异常处理数据进行数据处理。
8.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至6任一所述的多源异构数据的集成和处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至6任一所述的多源异构数据的集成和处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210470770.7A CN114936245B (zh) | 2022-04-28 | 2022-04-28 | 一种多源异构数据的集成和处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210470770.7A CN114936245B (zh) | 2022-04-28 | 2022-04-28 | 一种多源异构数据的集成和处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114936245A CN114936245A (zh) | 2022-08-23 |
CN114936245B true CN114936245B (zh) | 2023-04-14 |
Family
ID=82862115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210470770.7A Active CN114936245B (zh) | 2022-04-28 | 2022-04-28 | 一种多源异构数据的集成和处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114936245B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450726B (zh) * | 2023-04-26 | 2023-12-22 | 国网河北省电力有限公司 | 一种面向电力系统的多源异构数据交换平台及交换方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502491A (zh) * | 2019-07-25 | 2019-11-26 | 北京神州泰岳智能数据技术有限公司 | 一种日志采集系统及其数据传输方法、装置 |
CN112068936A (zh) * | 2020-07-16 | 2020-12-11 | 石化盈科信息技术有限责任公司 | 一种工作流管理平台及工作流管理系统 |
CN112118315A (zh) * | 2020-09-18 | 2020-12-22 | 北京有竹居网络技术有限公司 | 数据处理系统、方法、装置、电子设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2018279309C1 (en) * | 2017-06-08 | 2023-11-16 | Wix.Com Ltd. | System and method for smart interaction between website components |
CN109902487B (zh) * | 2017-12-08 | 2022-09-13 | 南京理工大学 | 基于应用行为的Android应用恶意性检测方法 |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及系统 |
CN110007913A (zh) * | 2019-03-21 | 2019-07-12 | 佳都新太科技股份有限公司 | 可视化的数据处理流程设置方法、装置、设备及存储介质 |
CN112328220A (zh) * | 2020-11-06 | 2021-02-05 | 江苏云坤信息科技有限公司 | 基于拖拽编排方式的流式数据处理系统及其处理方法 |
CN113867600A (zh) * | 2021-08-25 | 2021-12-31 | 上海浦东发展银行股份有限公司 | 处理流式数据的开发方法、装置和计算机设备 |
-
2022
- 2022-04-28 CN CN202210470770.7A patent/CN114936245B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502491A (zh) * | 2019-07-25 | 2019-11-26 | 北京神州泰岳智能数据技术有限公司 | 一种日志采集系统及其数据传输方法、装置 |
CN112068936A (zh) * | 2020-07-16 | 2020-12-11 | 石化盈科信息技术有限责任公司 | 一种工作流管理平台及工作流管理系统 |
CN112118315A (zh) * | 2020-09-18 | 2020-12-22 | 北京有竹居网络技术有限公司 | 数据处理系统、方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114936245A (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210072B2 (en) | System for generating a map illustrating bindings | |
US7908160B2 (en) | System and method for producing audit trails | |
US8146100B2 (en) | System and method for event-based information flow in software development processes | |
EP3255568A1 (en) | Data pipeline monitoring | |
US20190187981A1 (en) | Registry for mapping names to component instances using configurable bindings and pointer definitions | |
WO2018036342A1 (zh) | 基于csar的模型文件的可视化设计方法及装置 | |
CN101414255A (zh) | 日志事件处理方法与设备 | |
US20110320508A1 (en) | Computer system management method and client computer | |
JP2007323244A (ja) | 仮想サーバ管理システムおよびその方法ならびに管理サーバ装置 | |
CN111651196B (zh) | 文档发布方法、装置及服务器 | |
CN116107846B (zh) | 一种基于EBPF的Linux系统事件监控方法及装置 | |
CN114936245B (zh) | 一种多源异构数据的集成和处理方法及装置 | |
CN116523457A (zh) | 基于业务流程的工作流处理方法、装置、设备及存储介质 | |
CN114930290A (zh) | 用于管理对资产操作进行管理的应用程序的系统、设备、方法和数据栈 | |
US9164746B2 (en) | Automatic topology extraction and plotting with correlation to real time analytic data | |
CN113190286B (zh) | 动态远程加载功能插件的mes系统、加载方法、终端及介质 | |
WO2019199308A1 (en) | User interface optimization for delayed data | |
CN116578497A (zh) | 一种接口自动化测试方法、系统、计算机设备及存储介质 | |
CN114443343A (zh) | 一种服务接口反馈异常信息方法、装置、设备、存储介质 | |
CN113515715B (zh) | 埋点事件编码的生成方法、处理方法及相关设备 | |
CN111625853B (zh) | 一种快照处理方法、装置、设备及可读存储介质 | |
CN112579325A (zh) | 一种业务对象的处理方法、装置、电子设备和存储介质 | |
RU2316043C2 (ru) | Механизм и способ предоставления информации событий в системе доступа | |
KR102668324B1 (ko) | 인터페이스 관리 방법, 인터페이스 거버넌스 시스템, 및 인터페이스를 관리하는, 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체 | |
CN118796508A (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 |