CN104899284B - 一种基于元数据驱动调度系统的方法及装置 - Google Patents
一种基于元数据驱动调度系统的方法及装置 Download PDFInfo
- Publication number
- CN104899284B CN104899284B CN201510303165.0A CN201510303165A CN104899284B CN 104899284 B CN104899284 B CN 104899284B CN 201510303165 A CN201510303165 A CN 201510303165A CN 104899284 B CN104899284 B CN 104899284B
- Authority
- CN
- China
- Prior art keywords
- metadata
- metadata schema
- data
- script
- scheduler task
- 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
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于数据处理技术领域,涉及一种基于元数据驱动调度系统的方法及装置。该方法包括:获取元数据模型的配置项;依据所述元数据模型和所述配置项,生成数据加工脚本;将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。该方法通过元数据驱动调度任务,减少了人工参与度,简化了调度系统的驱动操作,提高了数据处理效率。
Description
技术领域
本发明属于数据处理技术领域,涉及一种基于元数据驱动调度系统的方法及装置。
背景技术
伴随着大数据时代的降临,数据仓库慢慢转成分布式架构,以满足爆发式增长的计算及存储的要求。由于分布式数据一般都是使用列式存储,并以文件的形式保存,提高了大数据的存储及计算性能。
数据仓库中的各层级的数据模型通过调度系统来驱动,保证数据模型的及时性、完整性和准确性。现有的驱动调度系统的方法中,人工参与配置,由于数据仓库的各层模型的表,数据量巨大,配置项繁多,使得人工配置的工作量巨大,导致现有的驱动调度系统的方法的操作繁琐,且效率低下。
发明内容
本发明的目的是提出一种基于元数据驱动调度系统的方法及装置,以简化调度系统的驱动操作,提高数据处理效率。
一方面,本发明实施例提供一种基于元数据驱动调度系统的方法,包括:
获取元数据模型的配置项;
依据所述元数据模型和所述配置项,生成数据加工脚本;
将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。
另一方面,本发明实施例提供一种基于元数据驱动调度系统的装置,包括:
配置项获取单元,用于获取元数据模型的配置项;
脚本生成单元,用于依据所述元数据模型和所述配置项,生成数据加工脚本;
数据同步单元,用于将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。
本发明实施例通过获取元数据模型的配置项,并依据元数据模型和配置项生成数据加工脚本,且将元数据模型对应的元数据和数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务,即该方法通过元数据驱动调度任务,减少了人工参与度,简化了调度系统的驱动操作,提高了数据处理效率。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明实施例的一部分,并不构成对本发明实施例的限定。在附图中:
图1是本发明第一实施例中提供的一种基于元数据驱动调度系统的方法的实现流程图;
图2是本发明第二实施例中提供的一种基于元数据驱动调度系统的方法的实现流程图;
图3是本发明第二实施例中提供的一种数据仓库的数据模型层级图;
图4是本发明第二实施例中提供的一种数据仓库的元数据驱动调度系统的方法的示意图;
图5是本发明第三实施例中提供的一种基于元数据驱动调度系统的装置的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明实施例进行更加详细与完整的说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部内容。
第一实施例:
图1是本发明第一实施例中提供的一种基于元数据驱动调度系统的方法的实现流程图,该方法可以由基于元数据驱动调度系统的装置执行,其中该装置可以由软件和/或硬件实现,可作为数据仓库的服务器的一部分被内置在数据仓库的服务器内部。如图1所示,该实现流程包括:
步骤11、获取元数据模型的配置项。
基于电子商务的分布式数据仓库可以分为多个层级的元数据模型。其中,元数据模型的配置项可以包括元数据模型中不同表格或字段之间的映射关系,以及数据抓取规则和任务调度的时间分配规则和节点分配规则等各层级元数据模型的驱动规则。示例性的,依据用户操作,获取用户根据需要设置的元数据模型的配置项。
步骤12、依据所述元数据模型和所述配置项,生成数据加工脚本。
其中,数据加工脚本为对元数据模型对应的元数据作数据处理的脚本。数据加工脚本的类型可以包括存储过程,事务,索引,触发器和函数等。示例性的,依据元数据模型和用户设置的配置项,生成数据加工脚本。
可选的,所述依据所述元数据模型和所述配置项,生成数据加工脚本,包括:将预设的数据加工脚本模板中的模型参数替换为获取的元数据模型,将所述数据加工脚本模板中的配置项参数替换为获取的配置项数据,生成数据加工脚本。由于数据加工脚本由元数据模型和配置项决定,因此本实施例在用户需要创建新的数据加工脚本时,只需修改元数据模型的配置项即可,无需人工创建并编辑数据加工脚本。
步骤13、将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。
其中,调度系统用于产生并控制执行元数据模型对应的调度任务。示例性的,调度系统根据接收的元数据模型和数据加工脚本产生调度任务,并控制执行调度任务,相比于现有的驱动调度系统的方法中人工创建调度任务,减少了人工参与程度。
可选的,步骤13包括:
A、将元数据模型的元数据和数据加工脚本同步到调度系统中,使调度系统创建调度任务,并为所述调度任务分配节点。
其中,节点为数据仓库的服务器中的数据处理节点。示例性的,调度系统依据接收的元数据和数据加工脚本创建调度任务,并为调度任务分配节点。
B、将调度任务对应的元数据模型和数据加工脚本发送到分配的节点上,使所述节点执行分配到的调度任务。
可选的,控制执行所述调度任务之后,还包括:获取所述调度任务的执行结果,并将获取的执行结果作为所述元数据模型的上层元数据模型的元数据。
示例性的,将获取的执行结果作为上层元数据模型的元数据,以在获得用户设置的上层元数据模型的配置项时,生成上层元数据模型的数据加工脚本,并通过调度系统产生上层元数据模型的调度任务,且调度系统控制执行上层元数据模型的调度任务,得到上层元数据模型的执行结果。因此,该方法中上下层级模型的依赖关系准确,清晰。
可选的,在检测到用户修改元数据模型或元数据模型的配置项时,依据修改后的元数据模型和配置项创建新的数据加工脚本,并向调度系统发送新的数据加工脚本,使调度系统创建并控制执行新的调度任务。
示例性的,在用户对元数据模型执行修改、删除操作时,修改相应的元数据模型的配置项,驱动调度系统依据修改后的配置项产生新的调度任务,并控制新的调度任务执行。
本发明提供的方法,只需修改元数据模型和元数据模型的配置项就能够产生新的调度任务,相比于现有的驱动调度系统的方法,无需用户人工编辑数据加工脚本,人工在调度系统中创建调度任务,也无需人工为调度任务分配节点,即,该方法相比于现有技术减少了人工参与度,降低了出错率,通过调度系统执行的任务关系更加清晰、数据更加准确,执行更加稳定。
第二实施例
本实施例在上述实施例的基础上,提供了一种基于元数据驱动调度系统的方法。
图2是本发明第二实施例中提供的一种数据仓库的数据采集方法的实现流程图。如图2所示,所述基于元数据驱动调度系统的方法包括:
步骤21、新建元数据模型,构建数据模型的表名、字段名。
如图3所示,基于电子商务的分布式数据仓库,通过hadoop平台,利用hive作为数据库工具,可以将元数据模型分为如下层级:缓冲数据层(Buffering Data Model,BDM)、基础数据层(Fundamental Data Model,FDM)、通用数据层(General Data Model,GDM)、聚合数据层(Aggregative Data Model,ADM)、维度数据库(Dimension Data Base,DDB)、计算中间库/临时数据库(Temporary Data Base,TDB)。其中,缓冲数据层,用于从源系统将数据抽取到本层,数据以文件的形式入到hadoop本地;基础数据层,用于将缓冲层的数据,通过拉链的方式加工到本层中;通用数据层,用于根据业务主题,将基础层数据通过业务逻辑加工成主题数据;聚合数据层,用于按维度,将基础层或通用层数据通过汇总逻辑加工成聚合数据;维度数据层,用于从源系统中抽取维度相关数据,存入到本层中;临时数据层,用于临时数据加工、存储的层。
示例性的,新建通用数据层的表名和字段名,并新建聚合数据层的表名和字段名。
步骤22、梳理数据模型的上下层依赖关系,制作模型表间、字段间的映射关系和驱动规则。
示例性的,基础数据层是通用数据层和聚合数据层的下层数据模型,将基础数据中业务主题相同的数据加工到通用数据层,将基础数据库中的10张表格中的数据合并成聚合数据层中的一张表格中。
步骤23、通过元数据模型、映射关系和驱动规则,生成数据加工脚本。
如图4所示,通过基础数据层对应的元数据、映射关系和驱动规则,将基础数据层的数据通过业务逻辑加工成主题数据的第一数据加工脚本,以及按维度将基础数据层的数据,通过汇总逻辑加工成聚合数据的第二数据加工脚本。
步骤24、将元数据模型对应的元数据和数据加工脚本同步到调度系统中,调度系统建立生成相应的调度任务。
如图4所示,将基础数据层对应的元数据和第一数据加工脚本同步到调度系统中,调度系统产生第一调度任务,将基础数据层对应的元数据和第二数据加工脚本同步到调度系统中,调度系统产生第二调度任务。
步骤25、调度系统为调度任务分配节点,并将调度任务对应的元数据模型和数据加工脚本发送到分配的节点上,使所述节点执行分配到的调度任务。
示例性的,调度系统为第一调度任务和第二调度任务分配节点,并将基础数据层以及各调度任务分配到对应的节点上,所述节点执行分配到的调度任务。
本实施例提供的基于元数据驱动调度系统的方法,支持元数据模型对调度系统的驱动,从而达到数据模型新建、修改、删除的功能,减轻巨大的表间依赖工作量,减少人工参与程度;通过元数据驱动,可以保留数据模型历史关系,追溯模型变更历史;使调度系统不依赖人工参与,确保各层模型的依赖更加准确、上下层关系更加清晰、数据准确及时。
第三实施例
图5是本发明第三实施例中提供的一种基于元数据驱动调度系统的装置的结构示意图,该装置可以内置在数据仓库的服务器内部。如图5所示,所述基于元数据驱动调度系统的装置包括配置项获取单元31、脚本生成单元32和数据同步单元33。
其中,配置项获取单元31用于获取元数据模型的配置项;
脚本生成单元32用于依据所述元数据模型和所述配置项,生成数据加工脚本;
数据同步单元33用于将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。
可选的,所述脚本生成单元32具体用于:
将预设的数据加工脚本模板中的模型参数替换为获取的元数据模型,将所述数据加工脚本模板中的配置项参数替换为获取的配置项数据,生成数据加工脚本。
可选的,所述数据同步单元33包括:
数据同步子单元,用于将元数据模型的元数据和数据加工脚本同步到调度系统中,使调度系统创建调度任务并为所述调度任务分配节点;
数据发送子单元,用于将调度任务对应的元数据模型和数据加工脚本发送到分配的节点上,使所述节点执行分配到的调度任务。
可选的,所述装置还包括:
结果获取单元,用于在控制执行所述调度任务之后,获取所述调度任务的执行结果,并将获取的执行结果作为所述元数据模型的上层元数据模型的元数据。
可选的,在检测到用户修改元数据模型或元数据模型的配置项时,依据修改后的元数据模型和配置项创建新的数据加工脚本,并向调度系统发送新的数据加工脚本,使调度系统创建并控制执行新的调度任务。
上述装置可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
上所述仅为本发明实施例的优选实施例,并不用于限制本发明实施例,对于本领域技术人员而言,本发明实施例可以有各种改动和变化。凡在本发明实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种基于元数据驱动调度系统的方法,其特征在于,包括:
获取元数据模型的配置项,所述配置项包括所述元数据模型表间、字段间的映射关系和各层级元数据模型的驱动规则;
依据所述元数据模型和所述配置项,生成数据加工脚本,所述加工脚本为对所述元数据模型对应的元数据做数据处理的脚本;
将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。
2.根据权利要求1所述的方法,其特征在于,所述依据所述元数据模型和所述配置项,生成数据加工脚本,包括:
将预设的数据加工脚本模板中的模型参数替换为获取的元数据模型,将所述数据加工脚本模板中的配置项参数替换为获取的配置项数据,生成数据加工脚本。
3.根据权利要求1所述的方法,其特征在于,所述将所述元数据模型对应的元数据和数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务,包括:
将元数据模型的元数据和数据加工脚本同步到调度系统中,使调度系统创建调度任务并为所述调度任务分配节点;
将调度任务对应的元数据模型和数据加工脚本发送到分配的节点上,使所述节点执行分配到的调度任务。
4.根据权利要求1-3任一项所述的方法,其特征在于,控制执行所述调度任务之后,还包括:
获取所述调度任务的执行结果,并将获取的执行结果作为所述元数据模型的上层元数据模型的元数据。
5.根据权利要求1-3任一项所述的方法,其特征在于,
在检测到用户修改元数据模型或元数据模型的配置项时,依据修改后的元数据模型和配置项创建新的数据加工脚本,并向调度系统发送新的数据加工脚本,使调度系统创建并控制执行新的调度任务。
6.一种基于元数据驱动调度系统的装置,其特征在于,包括:
配置项获取单元,用于获取元数据模型的配置项,所述配置项包括所述元数据模型表间、字段间的映射关系和各层级元数据模型的驱动规则;
脚本生成单元,用于依据所述元数据模型和所述配置项,生成数据加工脚本,所述加工脚本为对所述元数据模型对应的元数据做数据处理的脚本;
数据同步单元,用于将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。
7.根据权利要求6所述的装置,其特征在于,所述脚本生成单元具体用于:
将预设的数据加工脚本模板中的模型参数替换为获取的元数据模型,将所述数据加工脚本模板中的配置项参数替换为获取的配置项数据,生成数据加工脚本。
8.根据权利要求6所述的装置,其特征在于,所述数据同步单元包括:
数据同步子单元,用于将元数据模型的元数据和数据加工脚本同步到调度系统中,使调度系统创建调度任务并为所述调度任务分配节点;
数据发送子单元,用于将调度任务对应的元数据模型和数据加工脚本发送到分配的节点上,使所述节点执行分配到的调度任务。
9.根据权利要求6-8任一项所述的装置,其特征在于,还包括:
结果获取单元,用于在控制执行所述调度任务之后,获取所述调度任务的执行结果,并将获取的执行结果作为所述元数据模型的上层元数据模型的元数据。
10.根据权利要求6-8任一项所述的装置,其特征在于,
在检测到用户修改元数据模型或元数据模型的配置项时,依据修改后的元数据模型和配置项创建新的数据加工脚本,并向调度系统发送新的数据加工脚本,使调度系统创建并控制执行新的调度任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510303165.0A CN104899284B (zh) | 2015-06-05 | 2015-06-05 | 一种基于元数据驱动调度系统的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510303165.0A CN104899284B (zh) | 2015-06-05 | 2015-06-05 | 一种基于元数据驱动调度系统的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104899284A CN104899284A (zh) | 2015-09-09 |
CN104899284B true CN104899284B (zh) | 2018-09-04 |
Family
ID=54031947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510303165.0A Active CN104899284B (zh) | 2015-06-05 | 2015-06-05 | 一种基于元数据驱动调度系统的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104899284B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528070B (zh) * | 2015-09-15 | 2019-09-03 | 阿里巴巴集团控股有限公司 | 一种数据表生成方法及设备 |
CN106383717A (zh) * | 2016-09-29 | 2017-02-08 | 上海宝尊电子商务有限公司 | 基于元数据配置的流程化的云服务电商平台及方法 |
CN109446274B (zh) * | 2017-08-31 | 2022-04-12 | 北京京东尚科信息技术有限公司 | 大数据平台bi元数据管理的方法和装置 |
CN109242259B (zh) * | 2018-08-10 | 2020-12-11 | 华迪计算机集团有限公司 | 一种基于基础数据资源库的数据集成方法及系统 |
CN110908994B (zh) * | 2018-09-14 | 2024-06-14 | 京东科技控股股份有限公司 | 数据模型处理方法、系统、电子设备及可读介质 |
CN110020840B (zh) * | 2019-01-04 | 2023-09-22 | 创新先进技术有限公司 | 数据传输方法及其系统 |
CN110674117A (zh) * | 2019-09-26 | 2020-01-10 | 京东数字科技控股有限公司 | 数据建模方法、装置、计算机可读介质及电子设备 |
CN112799794A (zh) * | 2019-11-14 | 2021-05-14 | 马上消费金融股份有限公司 | 一种大数据调度方法、装置、系统和存储装置 |
CN117874009B (zh) * | 2024-03-13 | 2024-07-05 | 云筑信息科技(成都)有限公司 | 一种数仓模型创建和管理的系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546247A (zh) * | 2011-12-29 | 2012-07-04 | 华中科技大学 | 一种适用流式处理的大规模数据连续分析系统 |
CN103246749A (zh) * | 2013-05-24 | 2013-08-14 | 北京立新盈企信息技术有限公司 | 面向分布式计算的矩阵数据库系统及其查询方法 |
CN103399787A (zh) * | 2013-08-06 | 2013-11-20 | 北京华胜天成科技股份有限公司 | 一种基于Hadoop云计算平台的MapReduce作业流式调度方法及调度系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142008B (zh) * | 2010-12-02 | 2013-04-17 | 华为技术有限公司 | 分布式内存数据库的实现方法、系统、令牌控制器及内存数据库 |
-
2015
- 2015-06-05 CN CN201510303165.0A patent/CN104899284B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546247A (zh) * | 2011-12-29 | 2012-07-04 | 华中科技大学 | 一种适用流式处理的大规模数据连续分析系统 |
CN103246749A (zh) * | 2013-05-24 | 2013-08-14 | 北京立新盈企信息技术有限公司 | 面向分布式计算的矩阵数据库系统及其查询方法 |
CN103399787A (zh) * | 2013-08-06 | 2013-11-20 | 北京华胜天成科技股份有限公司 | 一种基于Hadoop云计算平台的MapReduce作业流式调度方法及调度系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104899284A (zh) | 2015-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104899284B (zh) | 一种基于元数据驱动调度系统的方法及装置 | |
Yang et al. | A system architecture for manufacturing process analysis based on big data and process mining techniques | |
CN105488231B (zh) | 一种基于自适应表维度划分的大数据处理方法 | |
CN106528070B (zh) | 一种数据表生成方法及设备 | |
CN105302803B (zh) | 一种产品bom差异分析与同步更新方法 | |
CN104978411B (zh) | 一种高速列车的车型开发方法和装置 | |
CN107544984A (zh) | 一种数据处理的方法和装置 | |
CN104778540A (zh) | 一种建材装备制造bom管理方法及管理系统 | |
CN108595604A (zh) | 一种智能报表的数据可视化系统及方法 | |
CN101772760A (zh) | 数据库管理程序以及数据库管理装置 | |
CN106708917A (zh) | 一种数据处理方法、装置以及olap系统 | |
CN107977396A (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
Gao et al. | Parallel clustering of high-dimensional social media data streams | |
CN104866598A (zh) | 基于可配置模板的异构数据库集成方法 | |
CN108897876A (zh) | 一种数据接入方法及装置 | |
CN110263076A (zh) | 一种自动化生成数据分析报告的方法 | |
CN104991741B (zh) | 一种基于键值模型的情境适配电网大数据存储方法 | |
US8918410B2 (en) | System and method for fast identification of variable roles during initial data exploration | |
CN101887531A (zh) | 一种飞行数据知识获取系统及其获取方法 | |
CN101576981A (zh) | 场景式服务系统 | |
CN109698026A (zh) | 医学设备的故障处理时的组件识别 | |
CN104239204A (zh) | 一种最小测试用例集的生成方法 | |
CN108717445A (zh) | 一种基于历史数据的在线社交平台用户兴趣推荐方法 | |
CN104182208A (zh) | 利用破解规则破解密码的方法及系统 | |
CN103345485B (zh) | 一种大型主机平台动态报表自动生成方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |