一种基于元数据驱动调度系统的方法及装置的制造方法

xiaoxiao2020-10-23  20

一种基于元数据驱动调度系统的方法及装置的制造方法
【技术领域】
[0001]本发明属于数据处理技术领域,涉及一种基于元数据驱动调度系统的方法及装置。
【背景技术】
[0002]伴随着大数据时代的降临,数据仓库慢慢转成分布式架构,以满足爆发式增长的计算及存储的要求。由于分布式数据一般都是使用列式存储,并以文件的形式保存,提高了大数据的存储及计算性能。
[0003]数据仓库中的各层级的数据模型通过调度系统来驱动,保证数据模型的及时性、完整性和准确性。现有的驱动调度系统的方法中,人工参与配置,由于数据仓库的各层模型的表,数据量巨大,配置项繁多,使得人工配置的工作量巨大,导致现有的驱动调度系统的方法的操作繁琐,且效率低下。

【发明内容】

[0004]本发明的目的是提出一种基于元数据驱动调度系统的方法及装置,以简化调度系统的驱动操作,提高数据处理效率。
[0005]一方面,本发明实施例提供一种基于元数据驱动调度系统的方法,包括:
[0006]获取元数据模型的配置项;
[0007]依据所述元数据模型和所述配置项,生成数据加工脚本;
[0008]将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。
[0009]另一方面,本发明实施例提供一种基于元数据驱动调度系统的装置,包括:
[0010]配置项获取单元,用于获取元数据模型的配置项;
[0011]脚本生成单元,用于依据所述元数据模型和所述配置项,生成数据加工脚本;
[0012]数据同步单元,用于将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。
[0013]本发明实施例通过获取元数据模型的配置项,并依据元数据模型和配置项生成数据加工脚本,且将元数据模型对应的元数据和数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务,即该方法通过元数据驱动调度任务,减少了人工参与度,简化了调度系统的驱动操作,提高了数据处理效率。
【附图说明】
[0014]此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明实施例的一部分,并不构成对本发明实施例的限定。在附图中:
[0015]图1是本发明第一实施例中提供的一种基于元数据驱动调度系统的方法的实现流程图;
[0016]图2是本发明第二实施例中提供的一种基于元数据驱动调度系统的方法的实现流程图;
[0017]图3是本发明第二实施例中提供的一种数据仓库的数据模型层级图;
[0018]图4是本发明第二实施例中提供的一种数据仓库的元数据驱动调度系统的方法的不意图;
[0019]图5是本发明第三实施例中提供的一种基于元数据驱动调度系统的装置的结构示意图。
【具体实施方式】
[0020]下面结合附图及具体实施例对本发明实施例进行更加详细与完整的说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部内容。
[0021]第一实施例:
[0022]图1是本发明第一实施例中提供的一种基于元数据驱动调度系统的方法的实现流程图,该方法可以由基于元数据驱动调度系统的装置执行,其中该装置可以由软件和/或硬件实现,可作为数据仓库的服务器的一部分被内置在数据仓库的服务器内部。如图1所示,该实现流程包括:
[0023]步骤11、获取元数据模型的配置项。
[0024]基于电子商务的分布式数据仓库可以分为多个层级的元数据模型。其中,元数据模型的配置项可以包括元数据模型中不同表格或字段之间的映射关系,以及数据抓取规则和任务调度的时间分配规则和节点分配规则等各层级元数据模型的驱动规则。示例性的,依据用户操作,获取用户根据需要设置的元数据模型的配置项。
[0025]步骤12、依据所述元数据模型和所述配置项,生成数据加工脚本。
[0026]其中,数据加工脚本为对元数据模型对应的元数据作数据处理的脚本。数据加工脚本的类型可以包括存储过程,事务,索引,触发器和函数等。示例性的,依据元数据模型和用户设置的配置项,生成数据加工脚本。
[0027]可选的,所述依据所述元数据模型和所述配置项,生成数据加工脚本,包括:将预设的数据加工脚本模板中的模型参数替换为获取的元数据模型,将所述数据加工脚本模板中的配置项参数替换为获取的配置项数据,生成数据加工脚本。由于数据加工脚本由元数据模型和配置项决定,因此本实施例在用户需要创建新的数据加工脚本时,只需修改元数据模型的配置项即可,无需人工创建并编辑数据加工脚本。
[0028]步骤13、将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。
[0029]其中,调度系统用于产生并控制执行元数据模型对应的调度任务。示例性的,调度系统根据接收的元数据模型和数据加工脚本产生调度任务,并控制执行调度任务,相比于现有的驱动调度系统的方法中人工创建调度任务,减少了人工参与程度。
[0030]可选的,步骤13包括:
[0031]A、将元数据模型的元数据和数据加工脚本同步到调度系统中,使调度系统创建调度任务,并为所述调度任务分配节点。
[0032]其中,节点为数据仓库的服务器中的数据处理节点。示例性的,调度系统依据接收的元数据和数据加工脚本创建调度任务,并为调度任务分配节点。
[0033]B、将调度任务对应的元数据模型和数据加工脚本发送到分配的节点上,使所述节点执行分配到的调度任务。
[0034]可选的,控制执行所述调度任务之后,还包括:获取所述调度任务的执行结果,并将获取的执行结果作为所述元数据模型的上层元数据模型的元数据。
[0035]示例性的,将获取的执行结果作为上层元数据模型的元数据,以在获得用户设置的上层元数据模型的配置项时,生成上层元数据模型的数据加工脚本,并通过调度系统产生上层元数据模型的调度任务,且调度系统控制执行上层元数据模型的调度任务,得到上层元数据模型的执行结果。因此,该方法中上下层级模型的依赖关系准确,清晰。
[0036]可选的,在检测到用户修改元数据模型或元数据模型的配置项时,依据修改后的元数据模型和配置项创建新的数据加工脚本,并向调度系统发送新的数据加工脚本,使调度系统创建并控制执行新的调度任务。
[0037]示例性的,在用户对元数据模型执行修改、删除操作时,修改相应的元数据模型的配置项,驱动调度系统依据修改后的配置项产生新的调度任务,并控制新的调度任务执行。
[0038]本发明提供的方法,只需修改元数据模型和元数据模型的配置项就能够产生新的调度任务,相比于现有的驱动调度系统的方法,无需用户人工编辑数据加工脚本,人工在调度系统中创建调度任务,也无需人工为调度任务分配节点,即,该方法相比于现有技术减少了人工参与度,降低了出错率,通过调度系统执行的任务关系更加清晰、数据更加准确,执行更加稳定。
[0039]第二实施例
[0040]本实施例在上述实施例的基础上,提供了一种基于元数据驱动调度系统的方法。
[0041]图2是本发明第二实施例中提供的一种数据仓库的数据采集方法的实现流程图。如图2所示,所述基于元数据驱动调度系统的方法包括:
[0042]步骤21、新建元数据模型,构建数据模型的表名、字段名。
[0043]如图3所示,基于电子商务的分布式数据仓库,通过hadoop平台,利用hive作为数据库工具,可以将元数据模型分为如下层级:缓冲数据层(Buffering Data Model,BDM)、基础数据层(Fundamental Data Model,FDM)、通用数据层(General Data Model,GDM)、聚合数据层(Aggregative Data Model,ADM)、维度数据库(Dimens1n Data Base,DDB)、计算中间库/临时数据库(Temporary Data Base,TDB)。其中,缓冲数据层,用于从源系统将数据抽取到本层,数据以文件的形式入到hadoop本地;基础数据层,用于将缓冲 层的数据,通过拉链的方式加工到本层中;通用数据层,用于根据业务主题,将基础层数据通过业务逻辑加工成主题数据;聚合数据层,用于按维度,将基础层或通用层数据通过汇总逻辑加工成聚合数据;维度数据层,用于从源系统中抽取维度相关数据,存入到本层中;临时数据层,用于临时数据加工、存储的层。
[0044]示例性的,新建通用数据层的表名和字段名,并新建聚合数据层的表名和字段名。
[0045]步骤22、梳理数据模型的上下层依赖关系,制作模型表间、字段间的映射关系和驱动规则。
[0046]示例性的,基础数据层是通用数据层和聚合数据层的下层数据模型,将基础数据中业务主题相同的数据加工到通用数据层,将基础数据库中的10张表格中的数据合并成聚合数据层中的一张表格中。
[0047]步骤23、通过元数据模型、映射关系和驱动规则,生成数据加工脚本。
[0048]如图4所示,通过基础数据层对应的元数据、映射关系和驱动规则,将基础数据层的数据通过业务逻辑加工成主题数据的第一数据加工脚本,以及按维度将基础数据层的数据,通过汇总逻辑加工成聚合数据的第二数据加工脚本。
[0049]步骤24、将元数据模型对应的元数据和数据加工脚本同步到调度系统中,调度系统建立生成相应的调度任务。
[0050]如图4所示,将基础数据层对应的元数据和第一数据加工脚本同步到调度系统中,调度系统产生第一调度任务,将基础数据层对应的元数据和第二数据加工脚本同步到调度系统中,调度系统产生第二调度任务。
[0051]步骤25、调度系统为调度任务分配节点,并将调度任务对应的元数据模型和数据加工脚本发送到分配的节点上,使所述节点执行分配到的调度任务。
[0052]示例性的,调度系统为第一调度任务和第二调度任务分配节点,并将基础数据层以及各调度任务分配到对应的节点上,所述节点执行分配到的调度任务。
[0053]本实施例提供的基于元数据驱动调度系统的方法,支持元数据模型对调度系统的驱动,从而达到数据模型新建、修改、删除的功能,减轻巨大的表间依赖工作量,减少人工参与程度;通过元数据驱动,可以保留数据模型历史关系,追溯模型变更历史;使调度系统不依赖人工参与,确保各层模型的依赖更加准确、上下层关系更加清晰、数据准确及时。
[0054]第三实施例
[0055]图5是本发明第三实施例中提供的一种基于元数据驱动调度系统的装置的结构示意图,该装置可以内置在数据仓库的服务器内部。如图5所示,所述基于元数据驱动调度系统的装置包括配置项获取单元31、脚本生成单元32和数据同步单元33。
[0056]其中,配置项获取单元31用于获取元数据模型的配置项;
[0057]脚本生成单元32用于依据所述元数据模型和所述配置项,生成数据加工脚本;
[0058]数据同步单元33用于将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。
[0059]可选的,所述脚本生成单元32具体用于:
[0060]将预设的数据加工脚本模板中的模型参数替换为获取的元数据模型,将所述数据加工脚本模板中的配置项参数替换为获取的配置项数据,生成数据加工脚本。
[0061]可选的,所述数据同步单元33包括:
[0062]数据同步子单元,用于将元数据模型的元数据和数据加工脚本同步到调度系统中,使调度系统创建调度任务并为所述调度任务分配节点;
[0063]数据发送子单元,用于将调度任务对应的元数据模型和数据加工脚本发送到分配的节点上,使所述节点执行分配到的调度任务。
[0064]可选的,所述装置还包括:
[0065]结果获取单元,用于在控制执行所述调度任务之后,获取所述调度任务的执行结果,并将获取的执行结果作为所述元数据模型的上层元数据模型的元数据。
[0066]可选的,在检测到用户修改元数据模型或元数据模型的配置项时,依据修改后的元数据模型和配置项创建新的数据加工脚本,并向调度系统发送新的数据加工脚本,使调度系统创建并控制执行新的调度任务。
[0067]上述装置可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
[0068]上所述仅为本发明实施例的优选实施例,并不用于限制本发明实施例,对于本领域技术人员而言,本发明实施例可以有各种改动和变化。凡在本发明实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
【主权项】
1.一种基于元数据驱动调度系统的方法,其特征在于,包括: 获取元数据模型的配置项; 依据所述元数据模型和所述配置项,生成数据加工脚本; 将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。2.根据权利要求1所述的方法,其特征在于,所述依据所述元数据模型和所述配置项,生成数据加工脚本,包括: 将预设的数据加工脚本模板中的模型参数替换为获取的元数据模型,将所述数据加工脚本模板中的配置项参数替换为获取的配置项数据,生成数据加工脚本。3.根据权利要求1所述的方法,其特征在于,所述将所述元数据模型对应的元数据和数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务,包括: 将元数据模型的元数据和数据加工脚本同步到调度系统中,使调度系统创建调度任务并为所述调度任务分配节点; 将调度任务对应的元数据模型和数据加工脚本发送到分配的节点上,使所述节点执行分配到的调度任务。4.根据权利要求1-3任一项所述的方法,其特征在于,控制执行所述调度任务之后,还包括: 获取所述调度任务的执行结果,并将获取的执行结果作为所述元数据模型的上层元数据模型的元数据。5.根据权利要求1-3任一项所述的方法,其特征在于, 在检测到用户修改元数据模型或元数据模型的配置项时,依据修改后的元数据模型和配置项创建新的数据加工脚本,并向调度系统发送新的数据加工脚本,使调度系统创建并控制执行新的调度任务。6.一种基于元数据驱动调度系统的装置,其特征在于,包括: 配置项获取单元,用于获取元数据模型的配置项; 脚本生成单元,用于依据所述元数据模型和所述配置项,生成数据加工脚本; 数据同步单元,用于将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。7.根据权利要求6所述的装置,其特征在于,所述脚本生成单元具体用于: 将预设的数据加工脚本模板中的模型参数替换为获取的元数据模型,将所述数据加工脚本模板中的配置项参数替换为获取的配置项数据,生成数据加工脚本。8.根据权利要求6所述的装置,其特征在于,所述数据同步单元包括: 数据同步子单元,用于将元数据模型的元数据和数据加工脚本同步到调度系统中,使调度系统创建调度任务并为所述调度任务分配节点; 数据发送子单元,用于将调度任务对应的元数据模型和数据加工脚本发送到分配的节点上,使所述节点执行分配到的调度任务。9.根据权利要求6-8任一项所述的装置,其特征在于,还包括: 结果获取单元,用于在控制执行所述调度任务之后,获取所述调度任务的执行结果,并将获取的执行结果作为所述元数据模型的上层元数据模型的元数据。10.根据权利要求6-8任一项所述的装置,其特征在于, 在检测到用户修改元数据模型或元数据模型的配置项时,依据修改后的元数据模型和配置项创建新的数据加工脚本,并向调度系统发送新的数据加工脚本,使调度系统创建并控制执行新的调度任务。
【专利摘要】本发明属于数据处理技术领域,涉及一种基于元数据驱动调度系统的方法及装置。该方法包括:获取元数据模型的配置项;依据所述元数据模型和所述配置项,生成数据加工脚本;将所述元数据模型对应的元数据和生成的数据加工脚本同步到调度系统中,使调度系统产生与所述元数据模型对应的调度任务,并控制执行所述调度任务。该方法通过元数据驱动调度任务,减少了人工参与度,简化了调度系统的驱动操作,提高了数据处理效率。
【IPC分类】G06F17/30
【公开号】CN104899284
【申请号】CN201510303165
【发明人】孙冬
【申请人】北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
【公开日】2015年9月9日
【申请日】2015年6月5日

最新回复(0)