一种数据处理系统及方法技术方案

技术编号:36045475 阅读:17 留言:0更新日期:2022-12-21 10:53
本发明专利技术提供一种数据处理系统及方法,包括:元数据管理模块在将离线数据源和实时数据源进行注册,对离线数据源和实时数据源中的数据进行映射处理,生成流批逻辑元数据;计算模块获取基于元数据管理模块中的流批逻辑元数据编写的业务逻辑代码,为业务逻辑代码设置调度配置信息;将业务逻辑代码转换成与调度配置信息中的代码运行模式对应的数据处理作业;调度模块,用于将计算模块提交的数据处理作业分解为各个Flink任务,执行每个Flink任务,以对与Flink任务对应的业务数据进行处理。基于统流批逻辑元数据编写业务逻辑代码,该代码可生成各种模式下的作业,无需针对每个场景开发对应的代码,有效减少对数据处理的部署和维护的成本。成本。成本。

【技术实现步骤摘要】
一种数据处理系统及方法


[0001]本专利技术涉及数据处理
,特别涉及一种数据处理系统及方法。

技术介绍

[0002]随着大数据技术的发展,海量数据的存储和计算技术已相对成熟,数据的时效性逐步受到重视。当前业界主流的大数据平台均采用Lambda架构,将数据处理过程拆分为实时层和离线层,通过数据服务层对结果数据进行合并,从而实现实时数据与离线数据同时服务于在线数据应用和数据产品。
[0003]使用Lambda架构对数据进行处理时,一份数据会在离线层和实时层两条链路分别进行处理,而离线层和实时层采用的计算及存储引擎均不同,需要针对不同的应用场景所对应的模式开发不同的代码,增加了对数据进行处理的部署和维护的成本。

技术实现思路

[0004]有鉴于此,本专利技术提供一种数据处理系统及方法,本专利技术使用一套代码即可满足在不同场景处理的数据需求,减少对数据进行处理的部署和维护所花费的成本。
[0005]为实现上述目的,本专利技术实施例提供如下技术方案:
[0006]一种数据处理系统,包括:
[0007]元数据管理模块、计算模块和调度模块;
[0008]所述元数据管理模块,用于,将所述离线数据源和所述实时数据源进行注册,并对所述离线数据源和所述实时数据源中的数据进行映射处理,生成流批逻辑元数据;
[0009]所述计算模块,用于获取基于所述元数据管理模块中的流批逻辑元数据编写的业务逻辑代码,并为所述业务逻辑代码设置调度配置信息,所述调度配置信息中包含代码运行模式,所述代码运行模式为纯流模式、纯批模式以及流批混合模式中的其中一种;将所述业务逻辑代码转换成与所述代码运行模式对应的数据处理作业;
[0010]所述调度模块,用于接收所述计算模块提交的数据处理作业,将所述数据处理作业分解为各个Flink任务,执行每个所述Flink任务,以对与所述Flink任务对应的业务数据进行处理。
[0011]上述的系统,可选的,所述元数据管理模块执行确定与接收到的数据处理请求对应的离线数据源和实时数据源的过程,包括:
[0012]对所述数据处理请求进行解析,确定业务类型;
[0013]基于所述业务类型确定离线数据源和实时数据源。
[0014]上述的系统,可选的,所述元数据管理模块执行对所述离线数据源和所述实时数据源中的数据进行映射处理,生成流批逻辑元数据的过程,包括:
[0015]登记所述离线数据源中的各个离线元数据,以及登记所述实时数据源中的各个实时元数据;
[0016]确定各个交集数据对,所述交集数据对由存在相同字段的实时元数据和离线元数
据组成;
[0017]在各个所述交集数据对中确定目标数据对;
[0018]对于每个所述目标数据对,将该目标数据对中所述实时元数据和所述离线元数据相同的字段均确定为目标字段,并将目标字段在所述实时元数据中的内容以及在所述离线元数据中的内容均映射至预先创建的流批逻辑元数据表中,得到所述目标数据对所对应的流批逻辑元数据。
[0019]上述的系统,可选的,所述计算模块执行将所述业务逻辑代码转换成与所述代码运行模式对应的数据处理作业的过程,包括:
[0020]当所述代码运行模式为纯流模式时,基于预设的流调度配置生成第一流处理作业,并将该第一流处理任务确定为数据处理作业;
[0021]当所述代码运行模式为纯批模式时,基于预设的批调度配置生成第一批处理作业,并将该第一批处理作业确定为数据处理作业;
[0022]当所述代码运行模式为流批混合模式时,基于所述流调度配置生成第二流处理作业,以及基于所述批调度配置生成第二批处理作业,并将所述第二流处理作业和所述第二批处理作业均确定为数据处理作业。
[0023]上述的系统,可选的,所述调度模块,用于:
[0024]对于每个所述Flink任务,在预设的集群中为所述Flink任务分配资源调度单元,并应用所述资源调度单元执行所述Flink任务。
[0025]一种数据处理方法,应用于数据处理系统,所述数据处理系统包括元数据管理模块、计算模块和调度模块,所述方法包括:
[0026]所述元数据处理模块确定与接收到的数据处理请求对应的离线数据源和实时数据源,将所述离线数据源和所述实时数据源进行注册,并对所述离线数据源和所述实时数据源中的数据进行映射处理,生成流批逻辑元数据;
[0027]所述计算模块获取基于所述元数据管理模块中的流批逻辑元数据编写的业务逻辑代码,并为所述业务逻辑代码设置调度配置信息,所述调度配置信息中包含代码运行模式,所述代码运行模式为纯流模式、纯批模式以及流批混合模式中的其中一种;将所述业务逻辑代码转换成与所述代码运行模式对应的数据处理作业;
[0028]所述调度模块接收所述计算模块提交的数据处理作业,将所述数据处理作业分解为各个Flink任务,执行每个所述Flink任务,以对与所述Flink任务对应的业务数据进行处理。
[0029]上述的方法,可选的,所述确定与接收到的数据处理请求对应的离线数据源和实时数据源,包括:
[0030]对所述数据处理请求进行解析,确定业务类型;
[0031]基于所述业务类型确定离线数据源和实时数据源。
[0032]上述的方法,可选的,所述对所述离线数据源和所述实时数据源中的数据进行映射处理,生成流批逻辑元数据,包括:
[0033]登记所述离线数据源中的各个离线元数据,以及登记所述实时数据源中的各个实时元数据;
[0034]确定各个交集数据对,所述交集数据对由存在相同字段的实时元数据和离线元数
据组成;
[0035]在各个所述交集数据对中确定目标数据对;
[0036]对于每个所述目标数据对,将该目标数据对中所述实时元数据和所述离线元数据相同的字段均确定为目标字段,并将目标字段在所述实时元数据中的内容以及在所述离线元数据中的内容均映射至预先创建的流批逻辑元数据表中,得到所述目标数据对所对应的流批逻辑元数据。
[0037]上述的方法,可选的,所述将所述业务逻辑代码转换成与所述代码运行模式对应的数据处理作业,包括:
[0038]当所述代码运行模式为纯流模式时,基于预设的流调度配置生成第一流处理作业,并将该第一流处理任务确定为数据处理作业;
[0039]当所述代码运行模式为纯批模式时,基于预设的批调度配置生成第一批处理作业,并将该第一批处理作业确定为数据处理作业;
[0040]当所述代码运行模式为流批混合模式时,基于所述流调度配置生成第二流处理作业,以及基于所述批调度配置生成第二批处理作业,并将所述第二流处理作业和所述第二批处理作业均确定为数据处理作业。
[0041]上述的方法,可选的,所述执行每个所述Flink任务,包括:
[0042]对于每个所述Flink任务,在预设的集群中为所述Flink任务分配资源调度单元,并应用所述资源调度单元执行所述Flink任务。...

【技术保护点】

【技术特征摘要】
1.一种数据处理系统,其特征在于,包括:元数据管理模块、计算模块和调度模块;所述元数据管理模块,用于确定与接收到的数据处理请求对应的离线数据源和实时数据源,将所述离线数据源和所述实时数据源进行注册,并对所述离线数据源和所述实时数据源中的数据进行映射处理,生成流批逻辑元数据;所述计算模块,用于获取基于所述元数据管理模块中的流批逻辑元数据编写的业务逻辑代码,并为所述业务逻辑代码设置调度配置信息,所述调度配置信息中包含代码运行模式,所述代码运行模式为纯流模式、纯批模式以及流批混合模式中的其中一种;将所述业务逻辑代码转换成与所述代码运行模式对应的数据处理作业;所述调度模块,用于接收所述计算模块提交的数据处理作业,将所述数据处理作业分解为各个Flink任务,执行每个所述Flink任务,以对与所述Flink任务对应的业务数据进行处理。2.根据权利要求1所述的系统,其特征在于,所述元数据管理模块执行确定与接收到的数据处理请求对应的离线数据源和实时数据源的过程,包括:对所述数据处理请求进行解析,确定业务类型;基于所述业务类型确定离线数据源和实时数据源。3.根据权利要求1所述的系统,其特征在于,所述元数据管理模块执行对所述离线数据源和所述实时数据源中的数据进行映射处理,生成流批逻辑元数据的过程,包括:登记所述离线数据源中的各个离线元数据,以及登记所述实时数据源中的各个实时元数据;确定各个交集数据对,所述交集数据对由存在相同字段的实时元数据和离线元数据组成;在各个所述交集数据对中确定目标数据对;对于每个所述目标数据对,将该目标数据对中所述实时元数据和所述离线元数据相同的字段均确定为目标字段,并将目标字段在所述实时元数据中的内容以及在所述离线元数据中的内容均映射至预先创建的流批逻辑元数据表中,得到所述目标数据对所对应的流批逻辑元数据。4.根据权利要求1所述的系统,其特征在于,所述计算模块执行将所述业务逻辑代码转换成与所述代码运行模式对应的数据处理作业的过程,包括:当所述代码运行模式为纯流模式时,基于预设的流调度配置生成第一流处理作业,并将该第一流处理任务确定为数据处理作业;当所述代码运行模式为纯批模式时,基于预设的批调度配置生成第一批处理作业,并将该第一批处理作业确定为数据处理作业;当所述代码运行模式为流批混合模式时,基于所述流调度配置生成第二流处理作业,以及基于所述批调度配置生成第二批处理作业,并将所述第二流处理作业和所述第二批处理作业均确定为数据处理作业。5.根据权利要求1所述的系统,其特征在于,所述调度模块,用于:对于每个所述Flink任务,在预设的集群中为所述Flink任务分配资源调度单元,并应用所述资源调度单元执行所述Flink任务。

【专利技术属性】
技术研发人员:肖震
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1