本发明涉及流水线技术领域,具体而言,涉及一种流水线任务组件输入参数配置方法及装置。
背景技术:
一条流水线在制定时通常会定义多个任务组件,任务组件为静态的模型,任务组件在赋值之后成为流水线中动态的任务,任务组件的赋值包括配置任务组件的输入参数(以下可以用入参来进行表示),每个任务组件对应的输入参数通常为多个。目前在进行流水线任务组件入参配置时,通常采用配置员人工输入参数值的方式进行配置,但流水线的任务组件数量较多,并且每个任务组件的入参也较多,因此现有的通过配置员人工进行配置的方式存在效率低、易错以及复用性低等问题。
技术实现要素:
本发明为了解决上述背景技术中的至少一个技术问题,提出了一种流水线任务组件输入参数配置方法及装置。
为了实现上述目的,根据本发明的一个方面,提供了一种流水线任务组件输入参数配置方法,该方法包括:
采集流水线的多个阶段的明细数据;
根据所述明细数据提取出预设的多种参数类型的参数数据,并汇总成参数数据表,其中,所述参数数据包含:参数名称以及参数值;
查询流水线任务组件的各输入参数在所述参数数据表中对应的参数值,并根据查询出的参数值为所述流水线任务组件的输入参数赋值。
可选的,所述查询流水线任务组件的各输入参数在所述参数数据表中对应的参数值,并根据查询出的参数值为所述流水线任务组件的输入参数赋值,具体包括:
确定所述输入参数中的动态变量参数;
查询所述参数数据表中是否存在所述动态变量参数对应的参数值;
若存在所述动态变量参数对应的参数值,则采用该对应的参数值为所述动态变量参数进行赋值。
可选的,所述采集流水线的多个阶段的明细数据,具体包括:
通过原始数据层采集流水线的原始数据;
通过明细数据层对所述原始数据按照流水线的阶段进行划分,得到每个阶段各自对应的明细数据。
可选的,所述根据所述明细数据提取出预设的多种参数类型的参数数据,具体包括:
通过轻度汇总层对所述明细数据按照所述参数类型进行划分,提取出各参数类型对应的参数数据。
可选的,所述阶段包括:初始化阶段、实例化阶段、启动前阶段和执行中阶段。
可选的,所述参数类型包括:内部系统参数、外部调用函数、流水线参数、组件固定任务参数、上游组件参数、当前组件参数以及单次执行规则参数。
可选的,所述根据所述明细数据提取出预设的多种参数类型的参数数据,具体包括:
从初始化阶段对应的明细数据中提取出内部系统参数类以及外部调用函数类的参数数据;
从实例化阶段对应的明细数据中提取出流水线参数类以及组件固定任务参数类的参数数据;
从启动前阶段对应的明细数据中提取出单次执行规则参数类的参数数据;
从执行中阶段对应的明细数据中提取出上游组件参数类以及当前组件参数类的参数数据。
为了实现上述目的,根据本发明的另一方面,提供了一种流水线任务组件输入参数配置装置,该装置包括:
明细数据采集模块,用于采集流水线的多个阶段的明细数据;
参数数据表生成模块,用于根据所述明细数据提取出预设的多种参数类型的参数数据,并汇总成参数数据表,其中,所述参数数据包含:参数名称以及参数值;
输入参数赋值模块,用于查询流水线任务组件的各输入参数在所述参数数据表中对应的参数值,并根据查询出的参数值为所述流水线任务组件的输入参数赋值。
可选的,所述输入参数赋值模块,具体包括:
动态变量参数确定单元,用于确定所述输入参数中的动态变量参数;
参数数据表查询单元,用于查询所述参数数据表中是否存在所述动态变量参数对应的参数值;
赋值单元,用于若存在所述动态变量参数对应的参数值,则采用该对应的参数值为所述动态变量参数进行赋值。
可选的,所述明细数据采集模块,具体包括:
原始数据层单元,用于通过原始数据层采集流水线的原始数据;
明细数据层单元,用于通过明细数据层对所述原始数据按照流水线的阶段进行划分,得到每个阶段各自对应的明细数据;
所述参数数据表生成模块,包括:
轻度汇总层单元,用于通过轻度汇总层对所述明细数据按照所述参数类型进行划分,提取出各参数类型对应的参数数据。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述流水线任务组件输入参数配置方法中的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述流水线任务组件输入参数配置方法中的步骤。
本发明的有益效果为:本发明实施例通过采集流水线的多个阶段的明细数据,进而根据所述明细数据提取出预设的多种参数类型的参数数据,并汇总成参数数据表,最后根据参数数据表为流水线任务组件的输入参数进行赋值,实现了高效、准确的对流水线任务组件的入参进行配置的效果,此外,本发明的参数数据表可以多次使用,也使本发明的流水线任务组件的入参配置方法具有较高的复用性,由此可见,本发明解决了现有的通过配置员人工进行配置的方式存在效率低、易错以及复用性低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例流水线任务组件输入参数配置方法的流程图;
图2是本发明实施例对流水线任务组件入参进行赋值的流程图;
图3是本发明实施例提取参数数据的流程图;
图4是本发明实施例流水线各阶段与各参数类型示意图;
图5是本发明实施例数据中台模型示意图;
图6是本发明实施例数据抓取示意图;
图7是本发明实施例流水线任务组件输入参数配置装置的结构框图;
图8是本发明实施例计算机设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明提供一种流水线任务组件输入参数配置策略,聚集跟流水线关联的不同阶段和不同维度(即多种参数类型)的参数数据,形成类似数据中台的变量仓库,让系统配置员可以通过变量的方式,灵活组合不同维度的参数,减少流水线制定员对于组件入参配置时的易错性、繁琐性,提高制定流水线的效率。
图1是本发明实施例流水线任务组件输入参数配置方法的流程图,如图1所示,在本发明一个实施例中,本发明的流水线任务组件输入参数配置方法包括步骤s101至步骤s103。
步骤s101,采集流水线的多个阶段的明细数据。
在本发明一个实施例中,所述阶段包括:初始化阶段、实例化阶段、启动前阶段和执行中阶段。
步骤s102,根据所述明细数据提取出预设的多种参数类型的参数数据,并汇总成参数数据表,其中,所述参数数据包含:参数名称以及参数值。
在本发明一个实施例中,所述参数类型包括:内部系统参数、外部调用函数、流水线参数、组件固定任务参数、上游组件参数、当前组件参数以及单次执行规则参数。
步骤s103,查询流水线任务组件的各输入参数在所述参数数据表中对应的参数值,并根据查询出的参数值为所述流水线任务组件的输入参数赋值。
图4是本发明实施例流水线各阶段与各参数类型示意图,如图4所示,不同阶段对应的参数类型并不相同。在本发明一个实施例中,上述步骤s102的根据所述明细数据提取出预设的多种参数类型的参数数据,具体包括:
从初始化阶段对应的明细数据中提取出内部系统参数类以及外部调用函数类的参数数据;
从实例化阶段对应的明细数据中提取出流水线参数类以及组件固定任务参数类的参数数据;
从启动前阶段对应的明细数据中提取出单次执行规则参数类的参数数据;
从执行中阶段对应的明细数据中提取出上游组件参数类以及当前组件参数类的参数数据。
由此可见,本发明提供了一种灵活组合多维度数据的方法,使用暴露的变量和标准的解析策略,解决在流水线任务调度的参数配置中,针对分散在流水线周边多个阶段和多个维度的数据,通过配置动态变量,让系统在执行中巧妙收集变量对应的真实数据作为组件入参值,从而实现了高效、准确的对流水线任务组件的入参进行配置的效果。
图2是本发明实施例对流水线任务组件入参进行赋值的流程图,如图2所示,在本发明一个实施例中,上述步骤s103的为所述流水线任务组件的输入参数赋值具体包括步骤s201至步骤s203。
步骤s201,确定所述输入参数中的动态变量参数。
在本发明实施例中,流水线任务组件的输入参数包含:固定常量参数以及动态变量参数。
步骤s202,查询所述参数数据表中是否存在所述动态变量参数对应的参数值。
步骤s203,若存在所述动态变量参数对应的参数值,则采用该对应的参数值为所述动态变量参数进行赋值。
在本发明实施例中,本发明结合实际需要,选择性的配置指定维度的动态变量参数,或组合不同维度的动态变量参数,也可以对转换后的变量值进行数据清洗。示例如下:
内部系统参数:$#{system.appname}
外部调用函数:$#{function.paasurl(‘http://xxx’)}
上游组件出参数据清洗:$#{upstream.branchurl.substring(8,16)}
$#{upstream.branchurl.substring(upstream.branchurl.indexof('_') 1,upstream.branchurl.lastindexof('_'))}
当前执行中的组件任务入参:$#{job.deployunit}
流水线参数:$#{flow.medium.unit}
流水线参数和当前组件参数组合:$#{flow.medium[job.deployunit]}
在本发明一个实施例中,上述步骤s101的采集流水线的多个阶段的明细数据以及步骤s102的生成参数数据表具体可以由预设的数据中台模型来实现。图5是本发明实施例数据中台模型示意图,如图5所示,本发明的数据中台模型包含:原始数据层ods、明细数据层dwd、轻度汇总层dws以及应用层ads。本发明利用数据中台模型设计的核心:抽象和归纳中间层dwd和dws,追求模型的复用性和共享性。
图3是本发明实施例提取参数数据的流程图,如图3所示,在本发明一个实施例中,通过数据中台模型采集流水线数据并汇总成参数数据表具体包括包括步骤s301至步骤s303。
步骤s301,通过原始数据层采集流水线的原始数据。
在本发明实施例中,原始数据层ods为最小粒度的参数单位,这部分数据在流水线级别没有归属分类,是最直接的数据来源。
步骤s302,通过明细数据层对所述原始数据按照流水线的阶段进行划分,得到每个阶段各自对应的明细数据。
在本发明实施例中,本发明依据流水线的阶段进行划分,可以得到dwd明细数据层,这部分数据可以在流水线的不同执行阶段,分别抓取,比如在流水线制定时,在流水线启动前,在组件执行时等各个阶段,都能划分出一层数据明细。
步骤s303,通过轻度汇总层对所述明细数据按照所述参数类型进行划分,提取出各参数类型对应的参数数据。
在本发明实施例中,本发明依据参数类型划分,把各层明细数据,可以在某个时机,分系统级别、流水线级别和组件级别等维度,建立dws轻度汇总层,从而达到一个更抽象、更复用的数据仓库。
示例结构如下:
在本发明一个实施例中,在上述步骤s303之后,本发明还将各参数类型的参数数据汇总成参数数据表并存储在应用层ads。
图6是本发明实施例数据抓取示意图,如图6所示,本发明在初始化、实例化、启动前和执行中四个阶段中,分别抛出各个主题类型的事件,进而参数转换服务端监听到参数类型汇总事件,分类型编排成结构相同的数据。参数转换服务端还用于返回转换后的参数实际值。
从以上实施例可以看出,本发明方法至少实现了以下有益效果:
1、本发明主要解决了在流水线中的任务组件调度时,把有数据关联性质的入参,通过变量的方式前移到组件定义时去配置,从而大大提高了对流水线任务组件的入参进行配置的效率。
2、本发明在流水线生命周期中的多个阶段,收集各自产生的参数,集中管理,利用数据中台仓库思想,抽象和归纳参数中间层,达到模型的复用性和共享性。
3、本发明通过一套标准的变量表达式,统一配置规则,统一解析策略,达到多维度变量减少流水线制定员对于组件入参配置时的易错性、繁琐性,提高制定流水线的效率组合的灵活性。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种流水线任务组件输入参数配置装置,可以用于实现上述实施例所描述的流水线任务组件输入参数配置方法,如下面的实施例所述。由于流水线任务组件输入参数配置装置解决问题的原理与流水线任务组件输入参数配置方法相似,因此流水线任务组件输入参数配置装置的实施例可以参见流水线任务组件输入参数配置方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是本发明实施例流水线任务组件输入参数配置装置的结构框图,如图7所示,本发明实施例流水线任务组件输入参数配置装置包括:
明细数据采集模块1,用于采集流水线的多个阶段的明细数据;
参数数据表生成模块2,用于根据所述明细数据提取出预设的多种参数类型的参数数据,并汇总成参数数据表,其中,所述参数数据包含:参数名称以及参数值;
输入参数赋值模块3,用于查询流水线任务组件的各输入参数在所述参数数据表中对应的参数值,并根据查询出的参数值为所述流水线任务组件的输入参数赋值。
在本发明一个实施例中,所述输入参数赋值模块3,具体包括:
动态变量参数确定单元,用于确定所述输入参数中的动态变量参数;
参数数据表查询单元,用于查询所述参数数据表中是否存在所述动态变量参数对应的参数值;
赋值单元,用于若存在所述动态变量参数对应的参数值,则采用该对应的参数值为所述动态变量参数进行赋值。
在本发明一个实施例中,所述明细数据采集模块1,具体包括:
原始数据层单元,用于通过原始数据层采集流水线的原始数据;
明细数据层单元,用于通过明细数据层对所述原始数据按照流水线的阶段进行划分,得到每个阶段各自对应的明细数据。
在本发明一个实施例中,所述参数数据表生成模块2,包括:
轻度汇总层单元,用于通过轻度汇总层对所述明细数据按照所述参数类型进行划分,提取出各参数类型对应的参数数据。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图8所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。
处理器可以为中央处理器(centralprocessingunit,cpu)。处理器还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述流水线任务组件输入参数配置方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种流水线任务组件输入参数配置方法,其特征在于,包括:
采集流水线的多个阶段的明细数据;
根据所述明细数据提取出预设的多种参数类型的参数数据,并汇总成参数数据表,其中,所述参数数据包含:参数名称以及参数值;
查询流水线任务组件的各输入参数在所述参数数据表中对应的参数值,并根据查询出的参数值为所述流水线任务组件的输入参数赋值。
2.根据权利要求1所述的流水线任务组件输入参数配置方法,其特征在于,所述查询流水线任务组件的各输入参数在所述参数数据表中对应的参数值,并根据查询出的参数值为所述流水线任务组件的输入参数赋值,具体包括:
确定所述输入参数中的动态变量参数;
查询所述参数数据表中是否存在所述动态变量参数对应的参数值;
若存在所述动态变量参数对应的参数值,则采用该对应的参数值为所述动态变量参数进行赋值。
3.根据权利要求1所述的流水线任务组件输入参数配置方法,其特征在于,所述采集流水线的多个阶段的明细数据,具体包括:
通过原始数据层采集流水线的原始数据;
通过明细数据层对所述原始数据按照流水线的阶段进行划分,得到每个阶段各自对应的明细数据。
4.根据权利要求3所述的流水线任务组件输入参数配置方法,其特征在于,所述根据所述明细数据提取出预设的多种参数类型的参数数据,具体包括:
通过轻度汇总层对所述明细数据按照所述参数类型进行划分,提取出各参数类型对应的参数数据。
5.根据权利要求1所述的流水线任务组件输入参数配置方法,其特征在于,所述阶段包括:初始化阶段、实例化阶段、启动前阶段和执行中阶段。
6.根据权利要求5所述的流水线任务组件输入参数配置方法,其特征在于,所述参数类型包括:内部系统参数、外部调用函数、流水线参数、组件固定任务参数、上游组件参数、当前组件参数以及单次执行规则参数。
7.根据权利要求6所述的流水线任务组件输入参数配置方法,其特征在于,所述根据所述明细数据提取出预设的多种参数类型的参数数据,具体包括:
从初始化阶段对应的明细数据中提取出内部系统参数类以及外部调用函数类的参数数据;
从实例化阶段对应的明细数据中提取出流水线参数类以及组件固定任务参数类的参数数据;
从启动前阶段对应的明细数据中提取出单次执行规则参数类的参数数据;
从执行中阶段对应的明细数据中提取出上游组件参数类以及当前组件参数类的参数数据。
8.一种流水线任务组件输入参数配置装置,其特征在于,包括:
明细数据采集模块,用于采集流水线的多个阶段的明细数据;
参数数据表生成模块,用于根据所述明细数据提取出预设的多种参数类型的参数数据,并汇总成参数数据表,其中,所述参数数据包含:参数名称以及参数值;
输入参数赋值模块,用于查询流水线任务组件的各输入参数在所述参数数据表中对应的参数值,并根据查询出的参数值为所述流水线任务组件的输入参数赋值。
9.根据权利要求8所述的流水线任务组件输入参数配置装置,其特征在于,所述输入参数赋值模块,具体包括:
动态变量参数确定单元,用于确定所述输入参数中的动态变量参数;
参数数据表查询单元,用于查询所述参数数据表中是否存在所述动态变量参数对应的参数值;
赋值单元,用于若存在所述动态变量参数对应的参数值,则采用该对应的参数值为所述动态变量参数进行赋值。
10.根据权利要求8所述的流水线任务组件输入参数配置装置,其特征在于,所述明细数据采集模块,具体包括:
原始数据层单元,用于通过原始数据层采集流水线的原始数据;
明细数据层单元,用于通过明细数据层对所述原始数据按照流水线的阶段进行划分,得到每个阶段各自对应的明细数据;
所述参数数据表生成模块,包括:
轻度汇总层单元,用于通过轻度汇总层对所述明细数据按照所述参数类型进行划分,提取出各参数类型对应的参数数据。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至7任意一项所述的方法。
技术总结