CN117472335A - 作业开发架构及作业处理方法、存储介质、电子设备 - Google Patents
作业开发架构及作业处理方法、存储介质、电子设备 Download PDFInfo
- Publication number
- CN117472335A CN117472335A CN202311482708.0A CN202311482708A CN117472335A CN 117472335 A CN117472335 A CN 117472335A CN 202311482708 A CN202311482708 A CN 202311482708A CN 117472335 A CN117472335 A CN 117472335A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- processing
- reading
- module
- 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
- 238000011161 development Methods 0.000 title claims abstract description 68
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 110
- 238000006243 chemical reaction Methods 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000005540 biological transmission Effects 0.000 claims abstract description 21
- 238000005538 encapsulation Methods 0.000 claims description 38
- 238000010586 diagram Methods 0.000 claims description 24
- 238000012360 testing method Methods 0.000 claims description 18
- 238000013523 data management Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004806 packaging method and process Methods 0.000 claims description 16
- 238000007726 management method Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 16
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种作业开发架构及作业处理方法、存储介质、电子设备,其中,该架构包括:数据源模块,代码转换模块,传输模块,其中,数据源模块,用于利用目标数据读取配置读取目标作业的目标数据;代码转换模块,用于利用目标转换算子将处理目标数据的代码转换为目标代码;传输模块,用于将数据处理结果传输至目标存储模块。通过本申请,解决了相关技术中对作业开发架构的开发过程繁琐,开发效率低的问题,达到简化对作业开发架构的开发,提高开发效率的效果。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种作业开发架构及作业处理方法、存储介质、电子设备。
背景技术
随着大数据技术日趋成熟,对作业时效性的要求逐渐增强。传统的离线作业数据延迟往往以小时或天计算,数据在获取后并不会立刻进行处理,而是以固定频率进行处理。虽然离线计算适用于在大量数据上进行复杂运算,且具有保存时间长,查询结果方便等优点,但其显著劣势在于数据的时效性不强,对数据的处理延时较高。实时计算作业则可以很好的弥补这一时效性缺陷,数据的到达次序相互独立,数据持续计算,将延时控制在毫秒级甚至更低。
实时计算作业的开发首先需要从消息队列,一般是获取数据,然后通过处理引擎进行复杂处理后存储在各类型数据库中。一方面由于开发者需要使用引擎进行数据分析和筛选,无论是常用的处理语句,亦或是处理引擎自带的复杂事务处理算子,都对开发者了解引擎底层知识提出了较高要求;另一方面由于作业需要关联多种类型数据库,并针对不同数据库进行对应的参数配置,使开发过程繁琐,调试复杂,对开发者的要求较高。
发明内容
本申请实施例提供了一种作业开发架构及作业处理方法、存储介质、电子设备,以至少解决相关技术中对作业开发架构的开发过程繁琐,开发效率低的问题。
根据本申请的一个实施例,提供了一种作业开发架构,包括:数据源模块,代码转换模块,传输模块,其中,上述数据源模块,用于利用目标数据读取配置读取目标作业的目标数据,其中,上述目标数据读取配置是从数据封装列表中调取的配置;上述代码转换模块,用于利用目标转换算子将处理上述目标数据的代码转换为目标代码,其中,上述目标转换算子是从上述数据封装列表中调取的算子,上述目标代码中的处理算法对应于上述目标作业的数据处理要求,上述目标代码是目标处理引擎支持的代码,上述目标处理引擎用于利用上述目标代码处理上述目标数据,得到数据处理结果;上述传输模块,用于将上述数据处理结果传输至目标存储模块,其中,上述目标存储模块是从上述数据封装列表中调取的模块。
在一个示例性实施例中,上述数据源模块还与数据管理单元连接,其中,上述数据源模块,用于从上述数据管理单元中读取目标数据表的元数据,并按照上述目标数据表的元数据从上述目标数据表中读取上述目标数据,其中,数据管理单元中存储多个数据表的元数据和多个上述数据表的权限信息。
在一个示例性实施例中,上述数据源模块支持分布式消息订阅系统kafka的数据,上述目标数据读取配置中包括以下至少之一:数据读取速度,数据读取量,数据读取方式,数据类型。
在一个示例性实施例中,上述架构还包括:维表关联模块,其中,上述维表关联模块,用于利用数据查询配置从关联的数据库中查询与上述目标数据关联的数据表,并从数据表中读取与上述目标数据关联的字段,其中,上述数据查询配置是从上述数据封装列表中调取的配置。
在一个示例性实施例中,上述架构还包括:管理调度模块,其中,上述管理调度模块,用于获取上述目标作业的处理关系图,将上述处理关系图转换为上述目标处理引擎的应用程序接口,并通过上述应用程序接口生成上述目标作业的测试实例,其中,上述处理关系图中包括上述目标数据读取配置、上述目标转换算子以及上述目标存储模块之间的处理关系。
根据本申请的一个实施例,提供了一种作业处理方法,包括:利用目标数据读取配置读取目标作业的目标数据,其中,上述目标数据读取配置是从数据封装列表中调取的配置;利用目标转换算子将处理上述目标数据的代码转换为目标代码,其中,上述目标转换算子是从上述数据封装列表中调取的算子,上述目标代码中的处理算法对应于上述目标作业的数据处理要求,上述目标代码是目标处理引擎支持的代码,上述目标处理引擎用于利用上述目标代码处理上述目标数据,得到数据处理结果;将上述数据处理结果传输至目标存储模块,其中,上述目标存储模块是从上述数据封装列表中调取的模块。
在一个示例性实施例中,利用目标数据读取配置读取目标作业的目标数据,其中,上述目标数据读取配置是从数据封装列表中调取的配置之前,上述方法还包括:获取多个数据读取配置、多个转换算子以及多个存储模块,其中,上述目标数据读取配置是多个上述数据读取配置中的配置,上述目标转换算子是多个上述转换算子中的算子,上述目标存储模块是多个上述存储模块中的模块;分别封装多个上述数据读取配置、多个上述转换算子以及多个上述存储模块;将封装后的多个上述数据读取配置的封装信息、多个上述转换算子的封装信息以及多个上述存储模块的封装信息,存储至上述数据封装列表中,并将上述数据封装列表设置至作业开发架构中。
在一个示例性实施例中,利用目标数据读取配置读取目标作业的目标数据,包括:从数据管理单元中读取目标数据表的元数据,并按照上述目标数据表的元数据从上述目标数据表中读取上述目标数据,其中,数据管理单元中存储多个数据表的元数据和多个上述数据表的权限信息。
在一个示例性实施例中,上述方法还包括:利用数据查询配置从关联的数据库中查询与上述目标数据关联的数据表,并从数据表中读取与上述目标数据关联的字段,其中,上述数据查询配置是从上述数据封装列表中调取的配置。
在一个示例性实施例中,上述方法还包括:获取上述目标作业的处理关系图,将上述处理关系图转换为上述目标处理引擎的应用程序接口,并通过上述应用程序接口生成上述目标作业的测试实例,其中,上述处理关系图中包括上述目标数据读取配置、上述目标转换算子以及上述目标存储模块之间的处理关系。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,由于作业开发架构中包括数据源模块,代码转换模块,传输模块,数据源模块可以利用从数据封装列表中调取的目标数据读取配置读取目标作业的目标数据,代码转换模块可以利用从数据封装列表中调取的目标转换算子将处理目标数据的代码转换为目标代码,目标处理引擎利用目标代码处理目标数据,得到数据处理结果,传输模块可以利用从数据封装列表中调取的目标存储模块将数据处理结果存储至目标存储模块。并不需要开发者撰写各个模块的代码,直接通过调取封装好的各个算子就可以完成作业的处理,对开发者没有较高的要求。因此,可以解决相关技术中对作业开发架构的开发过程繁琐,开发效率低的问题,达到简化对作业开发架构的开发,提高开发效率的效果。
附图说明
图1是根据本申请实施例的作业开发架构的示意图;
图2是根据本申请实施例的实时计算作业开发与运行的架构图;
图3是根据本申请实施例的具体的作业开发架构的示意图;
图4是本申请实施例的一种作业处理方法的移动终端的硬件结构框图;
图5是根据本申请实施例的作业处理方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种作业开发架构,图1是根据本申请实施例的作业开发架构的示意图,如图1所示,该作业开发架构包括:数据源模块,代码转换模块,传输模块,其中,
数据源模块,用于利用目标数据读取配置读取目标作业的目标数据,其中,目标数据读取配置是从数据封装列表中调取的配置;
代码转换模块,用于利用目标转换算子将处理目标数据的代码转换为目标代码,其中,目标转换算子是从数据封装列表中调取的算子,目标代码中的处理算法对应于目标作业的数据处理要求,目标代码是目标处理引擎支持的代码,目标处理引擎用于利用目标代码处理目标数据,得到数据处理结果;
传输模块,用于将数据处理结果传输至目标存储模块,其中,目标存储模块是从数据封装列表中调取的模块。
通过本架构,由于作业开发架构中包括数据源模块,代码转换模块,传输模块,数据源模块可以利用从数据封装列表中调取的目标数据读取配置读取目标作业的目标数据,代码转换模块可以利用从数据封装列表中调取的目标转换算子将处理目标数据的代码转换为目标代码,目标处理引擎利用目标代码处理目标数据,得到数据处理结果,传输模块可以利用从数据封装列表中调取的目标存储模块将数据处理结果存储至目标存储模块。并不需要开发者撰写各个模块的代码,直接通过调取封装好的各个算子就可以完成作业的处理,对开发者没有较高的要求。因此,可以解决相关技术中对作业开发架构的开发过程繁琐,开发效率低的问题,达到简化对作业开发架构的开发,提高开发效率的效果。
可选地,数据源模块支持Kafka分布式消息订阅系统的数据,每个topic中对数据已经进行了Schema和Separator的设置,因而在数据源模块只需要按照规定好的设置来进行配置。在数据源模块支持的配置包括消费初始位置,例如,从topic latest或earlist点位开始消费,也包括对中间表的命名,方便后续SQL调用等。
可选地,数据封装列表中封装了多个数据读取配置,数据源模块根据需要从数据封装列表中拉取或者拖拽需要的目标数据读取配置,例如,从数据封装列表中拉取KafkaSource进行目标数据的读取。
可选地,数据封装列表中封装了多个转换算子,代码转换模块根据需要从数据封装列表中拉取或者拖拽需要的目标转换算子,例如,多个转换算子包括:SQL算子、ETL算子,复杂逻辑处理CEP算子、检核算子和自定义算子。为了进一步减少开发工作量,SQL算子内置多条常用函数,并支持关键字特殊处理,例如,数据源特殊字段与SQL语法冲突等。SQL编译框默认提供编写规范,并支持添加预制的模板。CEP算子支持用正则表达式的形式完成含复杂逻辑的作业开发,较大程度上减少了SQL开发的代码量。ETL算子将Stream流暴露给用户,进行细粒度的操作。该功能需要继承基类ETLFunction,重写ETL和tableSchema。自定义算子功能可以充当ETL,也可以充当Source或者Sink。需要自己维护TypeInformation并通过flatMap函数实现业务逻辑,Custom Operator只支持JAR包开发模式。
可选地,数据封装列表中封装了多个存储模块,传输模块根据需要从数据封装列表中拉取或者拖拽需要的目标存储模块,例如,多个存储模块包括支持Kafka、Oracle、MySQL、大数据云服务MPP、Greenplum、HBase、Redis、Elasticsearch的外部存储系统。函数方面,本实施例不仅支持用户创建自定义函数,也支持使用用户预先创建好的UDF函数。
可选地,目标作业是一个实时数据处理全过程,包括数据输入、计算加工、数据持久化到不同类型数据源等多个步骤。作业由若干个算子和算子间的连接关系构成,单一算子实现特定功能,算子节点之间通过连线完成关联。一个作业包括算子,及算子间的关联关系。算子是作业开发的最小单元,完成单一处理流程:读取、加工或持久化。每个算子都有其固定的配置模板,模板之间以算子类型区分,包含该类型算子的必要参数。算子在选定的同时即根据用户参数配置完成特定的工作逻辑。开发者只需要按照模板配置必要参数,极大节省创建算子的时间。
在一个示例性实施例中,数据源模块还与数据管理单元连接,其中,数据源模块,用于从数据管理单元中读取目标数据表的元数据,并按照目标数据表的元数据从目标数据表中读取目标数据,其中,数据管理单元中存储多个数据表的元数据和多个数据表的权限信息。
可选地,目标数据表存储在目标数据库中,目标数据库包括以下至少之一:关系型数据库MySQL,非关系型数据库Kafka,Hive等。数据管理单元中包括多个元数据,并均发布在了对应的数据库中或者数据表进行了授权操作。作业的运行(无论是测试态或生产态)都依赖于调度将作业配置解析,并与对应的资源(k8s或hadoop)关联执行。本实施例通过数据管理单元管理数据表的元数据,数据源模块可以快速的查找到对应的数据表,提高了数据的读取速度。
在一个示例性实施例中,数据源模块支持分布式消息订阅系统kafka的数据,目标数据读取配置中包括以下至少之一:数据读取速度,数据读取量,数据读取方式,数据类型。本实施例直接按照目标数据读取配置中封装的数据读取配置读取数据,并不需要重新编辑代码进行读取,提高了数据的读取速度和开发的便捷性。
在一个示例性实施例中,上述架构还包括:维表关联模块,其中,维表关联模块,用于利用数据查询配置从关联的数据库中查询与目标数据关联的数据表,并从数据表中读取与目标数据关联的字段,其中,数据查询配置是从数据封装列表中调取的配置。
可选地,如果实时计算作业需要关联外部数据库,则需要使用维表关联模块的维表关联功能。数据库的维表查询可能带来大量相同key的重复请求,本架构提供两种缓存方案:LRU和ALL。LRU方案会为每个slot节点创建一个LRU本地缓存Map。当每个数据进来的时候,先去缓存中查询,如果存在则直接关联输出,减少了一次IO请求。如果不存在,再发起数据库查询请求(异步或同步方式,本系统默认全部采用异步方式处理),请求返回的结果会先存入缓存中以备下次查询。ALL通过cacheTTLMs控制缓存的刷新间隔。会为updater节点起一个异步线程去同步缓存,对内存大小要求较高。本实施例通过维表关联模块,可以实现快速关联外部数据表的功能。
在一个示例性实施例中,上述架构还包括:管理调度模块,其中,管理调度模块,用于获取目标作业的处理关系图,将处理关系图转换为目标处理引擎的应用程序接口,并通过应用程序接口生成目标作业的测试实例,其中,处理关系图中包括目标数据读取配置、目标转换算子以及目标存储模块之间的处理关系。
可选地,管理调度模块与上述架构之间采用plugin插件关联,并通过streaming-framework将开发完毕产生的DAG关系图转换为Flink引擎原生API。实时计算作业开发与运行的主要架构如图2所示。在本实施例中,Flink是由Apache软件基金会开发的可应用于无边界和有边界数据流上进行有状态计算的分布式处理引擎。它可以以数据并行和流水线方式执行任意流数据程序,其流水线运行时系统可以执行批处理和流处理程序
下面结合具体实施例对本申请进行说明:
如图3所示,本实施例中的作业开发架构中包括:source模块(对应于上述中的数据源模块)、Operator模块(对应于上述中的代码转换模块)、Sink模块(对应于上述中的传输模块)。每个模块中均封装了各自对应的算子。并不需要开发人员在开发的过程中编写代码,仅仅需要通过拖拉拽算子的方式就可以实现开发。可以拖拽算子完成在统一框架下处理不同处理逻辑,写入不同数据源的作业,同时支持对接多种资源类型,例如,Hadoop和K8s。作业开发具有相当的简便性和易用性,可以提升开发效率。
此外,上述架构不仅对作业开发过程友好,也包括作业开发的配套辅助功能。作业开发时(过程中/完成后/再编辑等),可对作业进行偷锁、保存、重新加载、提交、单元测试、测试运行等操作。
偷锁:作业支持多人协同开发,但默认被创建人锁定,当非作业创建人需要编辑作业时,需要点击偷锁权限,临时获取作业编辑权限;
保存:保存实时计算作业的配置信息;
重新加载:多人协同开发时,点击重新加载,更新同步作业最新编辑结果;
测试运行:点击测试运行,将作业提交调度,并在“运维中心-流计算-测试实例”中生成测试实例。
本实施例提供的在线编辑,多人协作,版本管理等功能。用户通过在画布上拖拉拽算子并连线形成对应的处理关系,支持多人同时开发。显著降低作业的开发门槛,提供了流畅的一站式实时计算作业开发体验。
本实施例架构的版本管理功能支持历史版本回溯,允许用户根据自己的需求查看和回退版本。在线测试功能将用户开发的作业提交到智能调度,产生的对应的测试实例,给开发者以类似生产作业的测试体验,通过作业日志即可完成作业的调试验证。
本实施例还提供SQL代码纠错功能,对特殊关键字进行标记处理;支持SQL处理语法模板化,同时支持采用页面化操作完成各算子参数的配置,对开发者友好。本框架提供测试环境和生产环境,两者的独立运行有助于用户开发的稳定性。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图4是本申请实施例的一种作业处理方法的移动终端的硬件结构框图。如图4所示,移动终端可以包括一个或多个(图4中仅示出一个)处理器402(处理器402可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器404,其中,上述移动终端还可以包括用于通信功能的传输设备406以及输入输出设备408。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
存储器404可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的作业处理方法对应的计算机程序,处理器402通过运行存储在存储器404内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器404可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器404可进一步包括相对于处理器402远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备406包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备406可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种作业处理方法,图5是根据本申请实施例的作业处理方法的流程图,如图5所示,该流程包括如下步骤:
步骤S502,利用目标数据读取配置读取目标作业的目标数据,其中,目标数据读取配置是从数据封装列表中调取的配置;
步骤S504,利用目标转换算子将处理目标数据的代码转换为目标代码,其中,目标转换算子是从数据封装列表中调取的算子,目标代码中的处理算法对应于目标作业的数据处理要求,目标代码是目标处理引擎支持的代码,目标处理引擎用于利用目标代码处理目标数据,得到数据处理结果;
步骤S506,将数据处理结果传输至目标存储模块,其中,目标存储模块是从数据封装列表中调取的模块。
其中,上述步骤的执行主体可以为终端、服务器、终端或服务器中设置的具体处理器,或者与终端或者服务器相对独立设置的处理器或者处理设备,或者可以是水池机器人本身等,但不限于此。
通过上述步骤,由于作业开发架构中包括数据源模块,代码转换模块,传输模块,数据源模块可以利用从数据封装列表中调取的目标数据读取配置读取目标作业的目标数据,代码转换模块可以利用从数据封装列表中调取的目标转换算子将处理目标数据的代码转换为目标代码,目标处理引擎利用目标代码处理目标数据,得到数据处理结果,传输模块可以利用从数据封装列表中调取的目标存储模块将数据处理结果存储至目标存储模块。并不需要开发者撰写各个模块的代码,直接通过调取封装好的各个算子就可以完成作业的处理,对开发者没有较高的要求。因此,可以解决相关技术中对作业开发架构的开发过程繁琐,开发效率低的问题,达到简化对作业开发架构的开发,提高开发效率的效果。
在一个示例性实施例中,利用目标数据读取配置读取目标作业的目标数据,其中,目标数据读取配置是从数据封装列表中调取的配置之前,上述方法还包括:获取多个数据读取配置、多个转换算子以及多个存储模块,其中,目标数据读取配置是多个数据读取配置中的配置,目标转换算子是多个转换算子中的算子,目标存储模块是多个存储模块中的模块;分别封装多个数据读取配置、多个转换算子以及多个存储模块;将封装后的多个数据读取配置的封装信息、多个转换算子的封装信息以及多个存储模块的封装信息,存储至数据封装列表中,并将数据封装列表设置至作业开发架构中。
在一个示例性实施例中,利用目标数据读取配置读取目标作业的目标数据,包括:从数据管理单元中读取目标数据表的元数据,并按照目标数据表的元数据从目标数据表中读取目标数据,其中,数据管理单元中存储多个数据表的元数据和多个数据表的权限信息。
在一个示例性实施例中,上述方法还包括:利用数据查询配置从关联的数据库中查询与目标数据关联的数据表,并从数据表中读取与目标数据关联的字段,其中,数据查询配置是从数据封装列表中调取的配置。
在一个示例性实施例中,上述方法还包括:获取目标作业的处理关系图,将处理关系图转换为目标处理引擎的应用程序接口,并通过应用程序接口生成目标作业的测试实例,其中,处理关系图中包括目标数据读取配置、目标转换算子以及目标存储模块之间的处理关系。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种作业开发架构,其特征在于,包括:数据源模块,代码转换模块,传输模块,其中,
所述数据源模块,用于利用目标数据读取配置读取目标作业的目标数据,其中,所述目标数据读取配置是从数据封装列表中调取的配置;
所述代码转换模块,用于利用目标转换算子将处理所述目标数据的代码转换为目标代码,其中,所述目标转换算子是从所述数据封装列表中调取的算子,所述目标代码中的处理算法对应于所述目标作业的数据处理要求,所述目标代码是目标处理引擎支持的代码,所述目标处理引擎用于利用所述目标代码处理所述目标数据,得到数据处理结果;
所述传输模块,用于将所述数据处理结果传输至目标存储模块,其中,所述目标存储模块是从所述数据封装列表中调取的模块。
2.根据权利要求1所述的架构,其特征在于,所述数据源模块还与数据管理单元连接,其中,
所述数据源模块,用于从所述数据管理单元中读取目标数据表的元数据,并按照所述目标数据表的元数据从所述目标数据表中读取所述目标数据,其中,数据管理单元中存储多个数据表的元数据和多个所述数据表的权限信息。
3.根据权利要求1所述的架构,其特征在于,所述数据源模块支持分布式消息订阅系统kafka的数据,所述目标数据读取配置中包括以下至少之一:数据读取速度,数据读取量,数据读取方式,数据类型。
4.根据权利要求1所述的架构,其特征在于,还包括:维表关联模块,其中,
所述维表关联模块,用于利用数据查询配置从关联的数据库中查询与所述目标数据关联的数据表,并从数据表中读取与所述目标数据关联的字段,其中,所述数据查询配置是从所述数据封装列表中调取的配置。
5.根据权利要求1所述的架构,其特征在于,还包括:管理调度模块,其中,
所述管理调度模块,用于获取所述目标作业的处理关系图,将所述处理关系图转换为所述目标处理引擎的应用程序接口,并通过所述应用程序接口生成所述目标作业的测试实例,其中,所述处理关系图中包括所述目标数据读取配置、所述目标转换算子以及所述目标存储模块之间的处理关系。
6.一种作业处理方法,其特征在于,包括:
利用目标数据读取配置读取目标作业的目标数据,其中,所述目标数据读取配置是从数据封装列表中调取的配置;
利用目标转换算子将处理所述目标数据的代码转换为目标代码,其中,所述目标转换算子是从所述数据封装列表中调取的算子,所述目标代码中的处理算法对应于所述目标作业的数据处理要求,所述目标代码是目标处理引擎支持的代码,所述目标处理引擎用于利用所述目标代码处理所述目标数据,得到数据处理结果;
将所述数据处理结果传输至目标存储模块,其中,所述目标存储模块是从所述数据封装列表中调取的模块。
7.根据权利要求6所述的方法,其特征在于,利用目标数据读取配置读取目标作业的目标数据,其中,所述目标数据读取配置是从数据封装列表中调取的配置之前,所述方法还包括:
获取多个数据读取配置、多个转换算子以及多个存储模块,其中,所述目标数据读取配置是多个所述数据读取配置中的配置,所述目标转换算子是多个所述转换算子中的算子,所述目标存储模块是多个所述存储模块中的模块;
分别封装多个所述数据读取配置、多个所述转换算子以及多个所述存储模块;
将封装后的多个所述数据读取配置的封装信息、多个所述转换算子的封装信息以及多个所述存储模块的封装信息,存储至所述数据封装列表中,并将所述数据封装列表设置至作业开发架构中。
8.根据权利要求6所述的方法,其特征在于,利用目标数据读取配置读取目标作业的目标数据,包括:
从数据管理单元中读取目标数据表的元数据,并按照所述目标数据表的元数据从所述目标数据表中读取所述目标数据,其中,数据管理单元中存储多个数据表的元数据和多个所述数据表的权限信息。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
利用数据查询配置从关联的数据库中查询与所述目标数据关联的数据表,并从数据表中读取与所述目标数据关联的字段,其中,所述数据查询配置是从所述数据封装列表中调取的配置。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取所述目标作业的处理关系图,将所述处理关系图转换为所述目标处理引擎的应用程序接口,并通过所述应用程序接口生成所述目标作业的测试实例,其中,所述处理关系图中包括所述目标数据读取配置、所述目标转换算子以及所述目标存储模块之间的处理关系。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求6-10任一项中所述的方法的步骤。
12.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求6-10任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311482708.0A CN117472335A (zh) | 2023-11-08 | 2023-11-08 | 作业开发架构及作业处理方法、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311482708.0A CN117472335A (zh) | 2023-11-08 | 2023-11-08 | 作业开发架构及作业处理方法、存储介质、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117472335A true CN117472335A (zh) | 2024-01-30 |
Family
ID=89634508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311482708.0A Pending CN117472335A (zh) | 2023-11-08 | 2023-11-08 | 作业开发架构及作业处理方法、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117472335A (zh) |
-
2023
- 2023-11-08 CN CN202311482708.0A patent/CN117472335A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10698913B2 (en) | System and methods for distributed database query engines | |
EP2932370B1 (en) | System and method for performing a transaction in a massively parallel processing database | |
US9317554B2 (en) | SQL generation for assert, update and delete relational trees | |
CN103631870B (zh) | 一种用于大规模分布式数据处理的系统及其方法 | |
US8954419B2 (en) | Method for serial and condition-based execution of operators by parallel processes | |
CN110908641B (zh) | 基于可视化的流计算平台、方法、设备和存储介质 | |
CN109614413B (zh) | 一种内存流式计算平台系统 | |
CN104572122A (zh) | 一种软件应用数据的生成装置及方法 | |
CN102841889A (zh) | 一种基于orm架构的高效数据库访问的实现方法及装置 | |
WO2016019772A1 (zh) | 一种屏蔽异构数据源的方法及装置 | |
WO2018035799A1 (zh) | 数据查询方法、应用和数据库服务器、中间件及系统 | |
WO2019047441A1 (zh) | 一种通信优化方法及系统 | |
CN109408493A (zh) | 一种数据源的迁移方法及系统 | |
US10019473B2 (en) | Accessing an external table in parallel to execute a query | |
US20200278969A1 (en) | Unified metrics computation platform | |
CN115686850A (zh) | 基于Spark的目标任务的处理方法、装置和电子设备 | |
US10891271B2 (en) | Optimized execution of queries involving early terminable database operators | |
CN107169047A (zh) | 一种实现数据缓存的方法及装置 | |
CN114048188A (zh) | 一种跨数据库的数据迁移系统及方法 | |
CN109165914A (zh) | 用于移动审批的免编程参数配置的流程发布方法 | |
CN117472335A (zh) | 作业开发架构及作业处理方法、存储介质、电子设备 | |
US20240045868A1 (en) | Method and device for accelerating database operation | |
CN109753533A (zh) | 一种多源关系型数据库客户端开发方法及装置 | |
CN114676152A (zh) | 一种工单管理方法、装置和电子设备 | |
Dunka et al. | Simplifying Web Application Development Using-Mean Stack Technologies |
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 |