CN113946561A - 数据仓库的工作流创建方法、装置、设备及存储介质 - Google Patents
数据仓库的工作流创建方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113946561A CN113946561A CN202111189072.1A CN202111189072A CN113946561A CN 113946561 A CN113946561 A CN 113946561A CN 202111189072 A CN202111189072 A CN 202111189072A CN 113946561 A CN113946561 A CN 113946561A
- Authority
- CN
- China
- Prior art keywords
- workflow
- target
- node
- data
- service system
- 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
Images
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/21—Design, administration or maintenance of databases
-
- 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/2291—User-Defined Types; Storage management thereof
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及人工智能技术领域,揭示了一种数据仓库的工作流创建方法、装置、设备及存储介质,其中方法包括:将业务***标识集中的任一个业务***标识作为目标业务***标识;执行工作流创建脚本,根据目标业务***标识、工作流表信息数据和数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成,在目标XML文件中,根据目标工作流名称、各个目标节点名称和数据处理服务配置数据进行工作流描述信息创建;重复确定目标业务***标识的步骤,直至完成业务***标识集中的业务***标识的获取,将目标XML文件作为工作流创建结果。实现了在现有的XML文件中自动化进行批量的工作流创建,避免了手动创建节点和配置依赖节点关系。
Description
技术领域
本申请涉及到人工智能技术领域,特别是涉及到一种数据仓库的工作流创建方法、装置、设备及存储介质。
背景技术
现有的大数据平台存在无法批量上传节点(对应一个任务)和工作流的问题,只能手动创建节点和配置依赖节点关系以完成一个工作流的部署。调度节点的信息(各个节点名称以及节点依赖关系)保存在XML(可扩展标记语言)文件中,节点的信息需要根据不同的节点类型生成。此外,一个项目空间下的所有工作流,都在相同的XML文件中。因此,如果想通过XML的方式创建节点和配置依赖节点关系,只能手动在现有的XML文件中创建节点和配置依赖节点关系。当节点过多或节点过于复杂时,手动操作将导致XML的修改易出错,工作流的创建效率不高。
发明内容
本申请的主要目的为提供一种数据仓库的工作流创建方法、装置、设备及存储介质,旨在解决现有技术的大数据平台因存在无法批量上传节点和工作流的问题,因一个项目空间下的所有工作流都在相同的XML文件中,从而只能手动在现有的XML文件中创建节点和配置依赖节点关系,导致XML的修改易出错,工作流的创建效率不高的技术问题。
为了实现上述发明目的,本申请提出一种数据仓库的工作流创建方法,所述方法包括:
获取工作流创建请求,所述工作流创建请求携带有业务***标识集;
响应所述工作流创建请求,获取工作流表信息数据、数据处理服务配置数据、工作流创建脚本和目标XML文件;
将所述业务***标识集中的任一个业务***标识作为目标业务***标识;
执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成;
执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建;
重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果。
进一步的,所述根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成的步骤,包括:
采用预设工作流命名规范,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据进行工作流名称生成,得到所述目标工作流名称;
获取工作流模板,采用预设节点命名规范,根据所述工作流模板、所述目标业务***标识、所述工作流表信息数据、所述数据处理服务配置数据进行节点名称生成,得到各个所述目标节点名称。
进一步的,所述目标业务***标识对应一个所述目标工作流名称,并且所述目标业务***标识对应一个开始节点的所述目标节点名称、各个流程分支的各个所述目标节点名称;
其中,所述流程分支与所述目标业务***标识对应的业务***的数据表一一对应,每个所述流程分支包括:同步数据缓冲层节点、同步数据贴源层节点和同步数据明细层节点。
进一步的,所述在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建的步骤,包括:
在所述目标XML文件中,根据工作流XML生成规则进行所述工作流描述信息的固定标签创建,其中,所述固定标签包括:压缩类型标签、解决方案标签和内部文件标签;
在所述目标XML文件中的所述固定标签的下方,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行所述工作流描述信息的基础信息及流程信息的创建。
进一步的,所述在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行所述工作流描述信息的基础信息及流程信息的创建的步骤,包括:
在所述目标XML文件中,根据所述目标工作流名称和所述数据处理服务配置数据分别进行工作流基础信息标签和工作流具体信息标签的创建;
在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据分别进行工作流节点信息标签的创建和所述工作流节点信息标签中的节点具体信息及节点依赖关系信息的创建。
进一步的,所述在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据分别进行工作流节点信息标签的创建和所述工作流节点信息标签中的节点具体信息及节点依赖关系信息的创建的步骤,包括:
在所述目标XML文件中,采用预设的标签创建规则进行所述工作流节点信息标签的创建;
在所述目标XML文件中的所述工作流节点信息标签中,针对每个所述目标节点名称进行节点子标签创建;
在所述目标XML文件中的所述节点子标签中,根据各个所述目标节点名称和所述工作流节点信息标签进行节点具体信息子标签、节点依赖关系信息子标签及本节点输入输出信息子标签的创建;
在所述目标XML文件中,根据各个所述目标节点名称和所述数据处理服务配置数据,对所述节点子标签的属性信息进行设置;
在所述目标XML文件中,根据所述数据处理服务配置数据,对所述节点具体信息子标签、所述节点依赖关系信息子标签及所述本节点输入输出信息子标签进行设置。
进一步的,所述在所述目标XML文件中,根据工作流XML生成规则进行所述工作流描述信息的固定标签创建的步骤,包括:
在所述目标XML文件中,根据工作流XML生成规则进行压缩类型标签、解决方案标签和内部文件标签的创建。
本申请还提出了一种数据仓库的工作流创建装置,所述装置包括:
请求获取模块,用于获取工作流创建请求,所述工作流创建请求携带有业务***标识集;
数据获取模块,用于响应所述工作流创建请求,获取工作流表信息数据、数据处理服务配置数据、工作流创建脚本和目标XML文件;
目标业务***标识确定模块,用于将所述业务***标识集中的任一个业务***标识作为目标业务***标识;
工作流名称和节点名称生成模块,用于执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成;
作流描述信息创建模块,用于执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建;
循环控制模块,用于重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的数据仓库的工作流创建方法、装置、设备及存储介质,其中方法通过将所述业务***标识集中的任一个业务***标识作为目标业务***标识,执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成,执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建,重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果,从而实现了在现有的XML文件中自动化进行批量的工作流创建,避免了手动创建节点和配置依赖节点关系,提高了工作流的创建效率,提高了工作流的准确性。
附图说明
图1为本申请一实施例的数据仓库的工作流创建方法的流程示意图;
图2为本申请一实施例的数据仓库的工作流创建装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例中提供一种数据仓库的工作流创建方法,所述方法包括:
S1:获取工作流创建请求,所述工作流创建请求携带有业务***标识集;
S2:响应所述工作流创建请求,获取工作流表信息数据、数据处理服务配置数据、工作流创建脚本和目标XML文件;
S3:将所述业务***标识集中的任一个业务***标识作为目标业务***标识;
S4:执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成;
S5:执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建;
S6:重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果。
本实施例通过将所述业务***标识集中的任一个业务***标识作为目标业务***标识,执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成,执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建,重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果,从而实现了在现有的XML文件中自动化进行批量的工作流创建,避免了手动创建节点和配置依赖节点关系,提高了工作流的创建效率,提高了工作流的准确性。
对于S1,可以获取用户输入的工作流创建请求,也可以是第三方应用***发送的工作流创建请求。
工作流创建请求,也就是在XML文件中创建工作流描述信息的请求。工作流描述信息,也就是节点和依赖节点关系的描述信息。
业务***标识集中包括一个或多个业务***标识。业务***标识可以是业务***名称、业务***ID等唯一标识一个业务***的数据。业务***,是提供业务服务的应用***。
本申请的工作流,用于将业务***的各个数据表的数据同步到数据仓库中。比如,工作流包括:开始节点、SRC2STG节点(也就是同步数据缓冲层节点)、STG2ODS节点(也就是同步数据贴源层节点)和ODS2DWD节点(也就是同步数据明细层节点),开始节点表示工作流开始运行,无其他特殊意义,SRC2STG节点用于从业务***的数据表抽取数据到数据仓库的数据缓存层(STG层),STG2ODS节点用于从STG层到数据仓库的数据贴源层(ODS层),ODS2DWD节点用于从ODS层抽取数据到数据仓库的数据明细层(DWD层),在此举例不做具体限定。
每个节点对应一个任务。
可以理解的是,本申请中,每个工作流将一个业务***对应的各个数据表的数据同步到数据仓库中。
可以理解的是,在本申请的另一个实施例中,每个工作流将业务***对应的一个数据表数据同步到数据仓库中。也就是说,每个工作流对应一个数据表。
对于S2,在收到所述工作流创建请求时,可以从数据库中获取工作流表信息数据、数据处理服务配置数据、工作流创建脚本和目标XML文件,也可以获取用户输入的工作流表信息数据、数据处理服务配置数据、工作流创建脚本和目标XML文件,还可以从第三方应用***中获取工作流表信息数据、数据处理服务配置数据、工作流创建脚本和目标XML文件。
工作流表信息数据,是用于描述工作流需要处理的数据表的描述信息。所述工作流表信息数据包括但不限于:数据表的表名、所属的DB名、所属的***编码简写和表名的描述信息。数据表的表名,是业务***的数据表的名称。所属的DB名,是数据表所属的数据库名称。所属的***编码简写,是数据表所属的业务***的编码简写。表名的描述信息,是业务***的数据表的描述信息。
数据处理服务配置数据,也就是Dataworks的项目空间名、创建人账号、工作流生命周期等参数形成的配置数据。
Dataworks,基于MaxCompute(数据仓库)计算引擎的一站式开发工场,帮助企业快速完成数据集成、开发、治理、质量、安全等全套数据研发工作。在Dataworks上创建的工作流,该工作流的基础信息(工作流名称、工作流所述项目空间、工作流所有者)、流程信息(子节点、子节之间的依赖关系)都会存储在XML文件中。
目标XML文件,是存储工作流描述信息的XML格式的文件。工作流描述信息,是调度节点的信息,包括各个节点名称以及节点之间的依赖关系。
XML,是可扩展标记语言,是标准通用标记语言的子集。
工作流创建脚本,是采用Java(面向对象编程语言)语言开发的脚本,用于在XML文件中创建工作流描述信息。可以理解的是,工作流创建脚本还可以采用其他语言开发,比如,Python(计算机编程语言),在此不做限定。
当所述工作流创建脚本采用Java语言开发时,引用Dom4j包,通过addElement创建各个标签及子标签,通过AddAttribute(添加属性的方法)创建标签及子标签的属性。Dom4j包,是Java的XML API,是Jdom的升级品,用来读写XML文件的。addElement,是Vector类中的特有方法,返回值是void。
对于S3,从所述业务***标识集中获取任一个业务***标识,将获取的业务***标识作为目标业务***标识。
对于S4,执行所述工作流创建脚本,采用预设命名规范,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成。
预设命名规范包括:预设工作流命名规范和预设节点命名规范。
预设工作流命名规范表述为:“前缀”+***编码简写+DB名。前缀,用于标识类型是工作流。比如,前缀是工作流的英文名称(workflow)的简称wf,在此举例不做具体限定。
预设节点命名规范表述为:“节点用途缩写”+***编码简写+DB名+表名。节点用途缩写,用于表述节点的用途。比如,节点用途缩写为:SRC2STG、STG2ODS和ODS2DWD,在此举例不做具体限定。
对于S5,如果想通过XML的方式创建节点和配置依赖节点关系,只能在现有的XML文件中创建节点和配置依赖节点关系,所以执行所述工作流创建脚本,在所述目标XML文件中,基于工作流XML生成规则,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建,从而实现对所述目标业务***标识对应的工作流的创建。
工作流XML生成规则,是对XML格式的工作流描述信息文件进行解析得到的规则。
对于S6,重复执行步骤S3至步骤S6,直至完成所述业务***标识集中的业务***标识的获取;当完成所述业务***标识集中的业务***标识的获取时,已经在所述目标XML文件中完成了批量的工作流的创建,因此可以将所述目标XML文件作为工作流创建结果。
在一个实施例中,上述根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成的步骤,包括:
S41:采用预设工作流命名规范,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据进行工作流名称生成,得到所述目标工作流名称;
S42:获取工作流模板,采用预设节点命名规范,根据所述工作流模板、所述目标业务***标识、所述工作流表信息数据、所述数据处理服务配置数据进行节点名称生成,得到各个所述目标节点名称。
本实施例实现了采用预设工作流命名规范进行工作流名称的自动化生成,采用预设节点命名规范和工作流模板进行节点名称的自动化生成,为自动化进行工作流描述信息创建提供了基础。
对于S41,根据所述目标业务***标识,从所述工作流表信息数据和所述数据处理服务配置数据中获取数据,将获取的数据按预设工作流命名规范进行工作流名称的组合,将组合得到的数据作为所述目标工作流名称。
可以理解的是,所述目标业务***标识对应一个所述目标工作流名称。
对于S42,可以从数据库中获取工作流模板,也可以从第三方应用***中获取工作流模板。
可选的,可以从数据库中获取与所述目标业务***标识对应的工作流模板,也可以从第三方应用***中获取与所述目标业务***标识对应的工作流模板,从而实现了针对不同的业务***标识采用个性化的工作流模板。
工作流模板包括按先后顺序排列的多个节点。比如,所述工作流模板依次包括:开始节点、同步数据缓冲层节点、同步数据贴源层节点、同步数据明细层节点,在此举例不做具体限定。
其中,基于所述工作流模板,根据所述目标业务***标识从所述工作流表信息数据和所述数据处理服务配置数据中获取数据,将获取的数据按预设节点命名规范进行节点名称生成,将生成的每个节点名称作为一个所述目标节点名称。
在一个实施例中,上述目标业务***标识对应一个所述目标工作流名称,并且所述目标业务***标识对应一个开始节点的所述目标节点名称、各个流程分支的各个所述目标节点名称;
其中,所述流程分支与所述目标业务***标识对应的业务***的数据表一一对应,每个所述流程分支包括:同步数据缓冲层节点、同步数据贴源层节点和同步数据明细层节点。
本实施例实现了对目标业务***标识创建一个工作流,并且各个流程分支共享一个开始节点,从而简化了工作流创建,也有利于工作流的执行控制。
比如,所述工作流模板依次包括:开始节点、同步数据缓冲层节点、同步数据贴源层节点、同步数据明细层节点,目标业务***标识有4个数据表需要同步数据到数据仓库中,则所述目标业务***标识对应一个开始节点的所述目标节点名称、4个同步数据缓冲层节点、4个同步数据贴源层节点、4个同步数据明细层节点。
在一个实施例中,上述在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建的步骤,包括:
S51:在所述目标XML文件中,根据工作流XML生成规则进行所述工作流描述信息的固定标签创建,其中,所述固定标签包括:压缩类型标签、解决方案标签和内部文件标签;
S52:在所述目标XML文件中的所述固定标签的下方,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行所述工作流描述信息的基础信息及流程信息的创建。
本实施例实现了先根据工作流XML生成规则进行固定标签的自动化创建,然后进行所述工作流描述信息的基础信息及流程信息的自动化创建,避免了手动创建,提高了创建的效率和准确性。
对于S51,固定标签,是每个工作流固定存在的标签,因此可以在所述目标XML文件中,根据工作流XML生成规则直接进行固定标签创建。
固定标签包括:压缩类型标签、解决方案标签和内部文件标签。
压缩类型标签,表述为:<zipType>,用于表述工作流对数据压缩的类型。
解决方案标签,表述为:<solutions>,用于表述工作流对应的解决方案。
内部文件标签,表述为:<innerFiles>,用于表述在Dataworks上的文件。
对于S52,在所述目标XML文件中的所述固定标签的下方,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据,进行工作流的标签的创建、节点的标签的创建,根据创建的节点的标签进行节点具体信息及节点依赖关系信息的配置,从而实现了自动化进行所述工作流描述信息的基础信息及流程信息的自动化创建。
在所述目标XML文件中的所述固定标签的下方,也就是在所述目标XML文件中尾部。
在一个实施例中,上述在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行所述工作流描述信息的基础信息及流程信息的创建的步骤,包括:
S521:在所述目标XML文件中,根据所述目标工作流名称和所述数据处理服务配置数据分别进行工作流基础信息标签和工作流具体信息标签的创建;
S522:在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据分别进行工作流节点信息标签的创建和所述工作流节点信息标签中的节点具体信息及节点依赖关系信息的创建。
本实施例先进行工作流基础信息标签和工作流具体信息标签的自动化创建,然后进行工作流节点信息标签的自动化创建和所述工作流节点信息标签中的节点具体信息及节点依赖关系信息的自动化创建,从而完成所述工作流描述信息的基础信息及流程信息的创建,避免了手动创建,提高了创建的效率和准确性。
对于S521,每个工作流在XML文件中,都会有工作流基础信息标签、工作流具体信息标签和工作流节点信息标签。
工作流基础信息标签,表述为:<bizInfos>,用于描述该工作流的基础信息,比如,工作流名称、工作流的创建人的账号。工作流基础信息标签中存在workFlowName(也就是工作流名称参数),因此,在生成新的工作流时,将工作流基础信息标签的workFlowName替换为新的工作流的名称。
工作流具体信息标签,表述为:<folders>,用于描述工作流的具体信息,比如,工作流属性、算法属性、自动以函数属性、数据同步属性、数据开发属性、通用组件属性。工作流具体信息标签的属性是固定的。工作流具体信息标签的每个属性都存在workFlowName,因此,在生成新的工作流时,将工作流具体信息标签的各个属性的workFlowName替换为新的工作流的名称。
其中,一个工作流包含6部分,包括:工作流名称(Workflowname)、算法(folderalgm)、自定义函数(folderUserDefined)、数据同步(folderdi)、数据开发(folderMaxComputer)、通用组件(folderGeneral)。Dataworks数据开发页面下所有可以使用的开发组件都会在工作流具体信息标签下的与数据同步对应的folder(标签)出现。因此,只要在Dataworks新建一个工作流,并使用了若干组件,这些组件的信息都会存储在工作流具体信息标签下。所有基于数据仓库的SQL计算,都存在工作流具体信息标签下的与数据开发对应的folder。
工作流节点信息标签,表述为:<otherFiles>,用于描述工作流中的节点的信息及各个节点相互之间的依赖关系。工作流节点信息标签中存在workFlowName,因此,在生成新的工作流时,将工作流节点信息标签的workFlowName替换为新的工作流的名称。
其中,执行所述工作流创建脚本,在所述目标XML文件中创建工作流基础信息标签和工作流具体信息标签;执行所述工作流创建脚本,采用所述目标工作流名称,对所述工作流基础信息标签的工作流名称参数进行替换;采用所述数据处理服务配置数据,对所述工作流具体信息标签的参数进行替换。
对于S522,执行所述工作流创建脚本,在所述目标XML文件中,根据各个所述目标节点名称和所述数据处理服务配置数据分别进行工作流节点信息标签的创建和所述工作流节点信息标签中的节点具体信息及节点依赖关系信息的创建,然后采用所述目标工作流名称对所述工作流节点信息标签中的节点具体信息及节点依赖关系信息的workFlowName进行替换。
在一个实施例中,上述在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据分别进行工作流节点信息标签的创建和所述工作流节点信息标签中的节点具体信息及节点依赖关系信息的创建的步骤,包括:
S5221:在所述目标XML文件中,采用预设的标签创建规则进行所述工作流节点信息标签的创建;
S5222:在所述目标XML文件中的所述工作流节点信息标签中,针对每个所述目标节点名称进行节点子标签创建;
S5223:在所述目标XML文件中的所述节点子标签中,根据各个所述目标节点名称和所述工作流节点信息标签进行节点具体信息子标签、节点依赖关系信息子标签及本节点输入输出信息子标签的创建;
S5224:在所述目标XML文件中,根据各个所述目标节点名称和所述数据处理服务配置数据,对所述节点子标签的属性信息进行设置;
S5225:在所述目标XML文件中,根据所述数据处理服务配置数据,对所述节点具体信息子标签、所述节点依赖关系信息子标签及所述本节点输入输出信息子标签进行设置。
本实施例实现了采用预设的标签创建规则进行所述工作流节点信息标签的创建,然后进行所述工作流节点信息标签中的节点具体信息及节点依赖关系信息的自动化创建及设置,避免了手动创建,提高了创建的效率和准确性。
对于S5221,执行所述工作流创建脚本,在所述目标XML文件中,采用预设的标签创建规则创建工作流节点信息标签,也就是创建<otherFiles>。
对于S5222,执行所述工作流创建脚本,在所述目标XML文件中的所述工作流节点信息标签中,采用预设的子标签创建规则针对每个所述目标节点名称进行节点子标签创建。
工作流节点信息标签中包括多个节点子标签,每个节点子标签对应一个节点。工作流节点信息标签的节点子标签表述为otherFile。
对于S5223,节点依赖关系信息子标签,表述为<fileRelations>,用于描述节点之间的依赖关系的信息。可以理解的是,节点依赖关系信息子标签主要是上游依赖。其中,ParentId(属性)是上游依赖任务名,parentFileFolderPath(属性)是上游依赖任务的路径。
节点具体信息子标签,表述为<nodeDef>,用于描述节点的具体信息,节点的具体信息包括节点名称、上游依赖节点的输出名称、本节点的输出名称。其中,nodeName(属性)和fileId(属性)是节点名称,input(属性)是上游节点的输出名称,output(属性)是本节点的输出名称。
本节点输入输出信息子标签,表述为<nodeInputOutputs>,用于描述本节点的输入信息和输出信息。
其中,执行所述工作流创建脚本,在所述目标XML文件中的所述节点子标签中,采用预设的子标签创建规则根据各个所述目标节点名称和所述工作流节点信息标签进行节点具体信息子标签、节点依赖关系信息子标签及本节点输入输出信息子标签的创建。
对于S5224,所述节点子标签的属性信息包括:节点名称、所属的文件夹、所属的工作流。其中,folderPath(属性)和bizId(属性)描述工作流名称,属性fileName(属性)和nodeId(属性)描述节点名称,sourcePath(属性)描述工作流和节点的路径关系。
其中,执行所述工作流创建脚本,在所述目标XML文件中,根据各个所述目标节点名称和所述数据处理服务配置数据,对所述节点子标签的属性信息进行设置。
对于S5225,执行所述工作流创建脚本,在所述目标XML文件中,根据所述数据处理服务配置数据,对所述节点具体信息子标签、所述节点依赖关系信息子标签及所述本节点输入输出信息子标签进行设置,从而完成了单个工作流的创建。
在一个实施例中,上述在所述目标XML文件中,根据工作流XML生成规则进行所述工作流描述信息的固定标签创建的步骤,包括:
S511:在所述目标XML文件中,根据工作流XML生成规则进行压缩类型标签、解决方案标签和内部文件标签的创建。
本实施例通过根据工作流XML生成规则进行压缩类型标签、解决方案标签和内部文件标签的创建,从而避免了手动创建,提高了创建的效率和准确性。
对于S511,执行所述工作流创建脚本,在所述目标XML文件中,根据工作流XML生成规则依次进行压缩类型标签、解决方案标签和内部文件标签的创建。
参照图2,本申请提出了一种数据仓库的工作流创建装置,所述装置包括:
请求获取模块100,用于获取工作流创建请求,所述工作流创建请求携带有业务***标识集;
数据获取模块200,用于响应所述工作流创建请求,获取工作流表信息数据、数据处理服务配置数据、工作流创建脚本和目标XML文件;
目标业务***标识确定模块300,用于将所述业务***标识集中的任一个业务***标识作为目标业务***标识;
工作流名称和节点名称生成模块400,用于执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成;
作流描述信息创建模块500,用于执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建;
循环控制模块600,用于重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果。
本实施例通过将所述业务***标识集中的任一个业务***标识作为目标业务***标识,执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成,执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建,重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果,从而实现了在现有的XML文件中自动化进行批量的工作流创建,避免了手动创建节点和配置依赖节点关系,提高了工作流的创建效率,提高了工作流的准确性。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于储存数据仓库的工作流创建方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据仓库的工作流创建方法。所述数据仓库的工作流创建方法,包括:获取工作流创建请求,所述工作流创建请求携带有业务***标识集;响应所述工作流创建请求,获取工作流表信息数据、数据处理服务配置数据、工作流创建脚本和目标XML文件;将所述业务***标识集中的任一个业务***标识作为目标业务***标识;执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成;执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建;重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果。
本实施例通过将所述业务***标识集中的任一个业务***标识作为目标业务***标识,执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成,执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建,重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果,从而实现了在现有的XML文件中自动化进行批量的工作流创建,避免了手动创建节点和配置依赖节点关系,提高了工作流的创建效率,提高了工作流的准确性。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种数据仓库的工作流创建方法,包括步骤:获取工作流创建请求,所述工作流创建请求携带有业务***标识集;响应所述工作流创建请求,获取工作流表信息数据、数据处理服务配置数据、工作流创建脚本和目标XML文件;将所述业务***标识集中的任一个业务***标识作为目标业务***标识;执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成;执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建;重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果。
上述执行的数据仓库的工作流创建方法,通过将所述业务***标识集中的任一个业务***标识作为目标业务***标识,执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成,执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建,重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果,从而实现了在现有的XML文件中自动化进行批量的工作流创建,避免了手动创建节点和配置依赖节点关系,提高了工作流的创建效率,提高了工作流的准确性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据仓库的工作流创建方法,其特征在于,所述方法包括:
获取工作流创建请求,所述工作流创建请求携带有业务***标识集;
响应所述工作流创建请求,获取工作流表信息数据、数据处理服务配置数据、工作流创建脚本和目标XML文件;
将所述业务***标识集中的任一个业务***标识作为目标业务***标识;
执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别生成目标工作流名称和各个目标节点名称;
执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建;
重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果。
2.根据权利要求1所述的数据仓库的工作流创建方法,其特征在于,所述根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成的步骤,包括:
采用预设工作流命名规范,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据进行工作流名称生成,得到所述目标工作流名称;
获取工作流模板,采用预设节点命名规范,根据所述工作流模板、所述目标业务***标识、所述工作流表信息数据、所述数据处理服务配置数据进行节点名称生成,得到各个所述目标节点名称。
3.根据权利要求1所述的数据仓库的工作流创建方法,其特征在于,所述目标业务***标识对应一个所述目标工作流名称,并且所述目标业务***标识对应一个开始节点的所述目标节点名称、各个流程分支的各个所述目标节点名称;
其中,所述流程分支与所述目标业务***标识对应的业务***的数据表一一对应,每个所述流程分支包括:同步数据缓冲层节点、同步数据贴源层节点和同步数据明细层节点。
4.根据权利要求1所述的数据仓库的工作流创建方法,其特征在于,所述在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建的步骤,包括:
在所述目标XML文件中,根据工作流XML生成规则进行所述工作流描述信息的固定标签创建,其中,所述固定标签包括:压缩类型标签、解决方案标签和内部文件标签;
在所述目标XML文件中的所述固定标签的下方,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行所述工作流描述信息的基础信息及流程信息的创建。
5.根据权利要求4所述的数据仓库的工作流创建方法,其特征在于,所述在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行所述工作流描述信息的基础信息及流程信息的创建的步骤,包括:
在所述目标XML文件中,根据所述目标工作流名称和所述数据处理服务配置数据分别进行工作流基础信息标签和工作流具体信息标签的创建;
在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据分别进行工作流节点信息标签的创建和所述工作流节点信息标签中的节点具体信息及节点依赖关系信息的创建。
6.根据权利要求5所述的数据仓库的工作流创建方法,其特征在于,所述在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据分别进行工作流节点信息标签的创建和所述工作流节点信息标签中的节点具体信息及节点依赖关系信息的创建的步骤,包括:
在所述目标XML文件中,采用预设的标签创建规则进行所述工作流节点信息标签的创建;
在所述目标XML文件中的所述工作流节点信息标签中,针对每个所述目标节点名称进行节点子标签创建;
在所述目标XML文件中的所述节点子标签中,根据各个所述目标节点名称和所述工作流节点信息标签进行节点具体信息子标签、节点依赖关系信息子标签及本节点输入输出信息子标签的创建;
在所述目标XML文件中,根据各个所述目标节点名称和所述数据处理服务配置数据,对所述节点子标签的属性信息进行设置;
在所述目标XML文件中,根据所述数据处理服务配置数据,对所述节点具体信息子标签、所述节点依赖关系信息子标签及所述本节点输入输出信息子标签进行设置。
7.根据权利要求4所述的数据仓库的工作流创建方法,其特征在于,所述在所述目标XML文件中,根据工作流XML生成规则进行所述工作流描述信息的固定标签创建的步骤,包括:
在所述目标XML文件中,根据工作流XML生成规则进行压缩类型标签、解决方案标签和内部文件标签的创建。
8.一种数据仓库的工作流创建装置,其特征在于,所述装置包括:
请求获取模块,用于获取工作流创建请求,所述工作流创建请求携带有业务***标识集;
数据获取模块,用于响应所述工作流创建请求,获取工作流表信息数据、数据处理服务配置数据、工作流创建脚本和目标XML文件;
目标业务***标识确定模块,用于将所述业务***标识集中的任一个业务***标识作为目标业务***标识;
工作流名称和节点名称生成模块,用于执行所述工作流创建脚本,根据所述目标业务***标识、所述工作流表信息数据和所述数据处理服务配置数据分别进行目标工作流名称和各个目标节点名称的生成;
作流描述信息创建模块,用于执行所述工作流创建脚本,在所述目标XML文件中,根据所述目标工作流名称、各个所述目标节点名称和所述数据处理服务配置数据进行工作流描述信息创建;
循环控制模块,用于重复执行所述将所述业务***标识集中的任一个业务***标识作为目标业务***标识的步骤,直至完成所述业务***标识集中的业务***标识的获取,将所述目标XML文件作为工作流创建结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111189072.1A CN113946561A (zh) | 2021-10-12 | 2021-10-12 | 数据仓库的工作流创建方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111189072.1A CN113946561A (zh) | 2021-10-12 | 2021-10-12 | 数据仓库的工作流创建方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946561A true CN113946561A (zh) | 2022-01-18 |
Family
ID=79330259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111189072.1A Pending CN113946561A (zh) | 2021-10-12 | 2021-10-12 | 数据仓库的工作流创建方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946561A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115170062A (zh) * | 2022-06-22 | 2022-10-11 | 壹沓科技(上海)有限公司 | 自动化流程开发方法、装置及设备 |
-
2021
- 2021-10-12 CN CN202111189072.1A patent/CN113946561A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115170062A (zh) * | 2022-06-22 | 2022-10-11 | 壹沓科技(上海)有限公司 | 自动化流程开发方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321254B (zh) | 软件版本回滚方法、装置、服务器及存储介质 | |
WO2019000630A1 (zh) | 多任务调度方法、***、应用服务器及计算机可读存储介质 | |
CN109032662B (zh) | 代码文件生成方法、装置、计算机设备和存储介质 | |
US8806357B2 (en) | Plug-ins for editing templates in a business management system | |
US9754242B2 (en) | Deployment mechanism for non-versioning business process artifacts | |
JP6164440B2 (ja) | アプリケーションアップグレード方法および装置 | |
CN106844307B (zh) | 一种基于标记实现Excel转Word的***及方法 | |
CN108170820B (zh) | 一种容器处理方法、控制服务器及分布式集群 | |
CN102356370A (zh) | 用于从基于模式的中间描述来生成控制***数据库和图形的***和方法 | |
CN109617647B (zh) | 报文转换方法、装置、计算机设备及计算机可读存储介质 | |
CN111159982B (zh) | 文档编辑方法、装置、电子设备及计算机可读存储介质 | |
CN107294750B (zh) | 一种云集群能自识别的分布配置管理方法和装置 | |
CN109885299B (zh) | 模型开发中的模板处理方法、装置、计算机设备和存储介质 | |
CN109284106A (zh) | 业务规则的发布管理方法、电子装置及可读存储介质 | |
US10621524B2 (en) | Exporting hierarchical data from a source code management (SCM) system to a product lifecycle management (PLM) system | |
CN110825430A (zh) | 一种api文档生成方法、装置、设备及存储介质 | |
CN109683905A (zh) | 一种***自动发布方法 | |
CN115840745A (zh) | 基于动态表单的调度方法、装置、计算机设备及存储介质 | |
CN113946561A (zh) | 数据仓库的工作流创建方法、装置、设备及存储介质 | |
CN112965936A (zh) | 一种异构分布式模型的处理方法、装置、设备和存储介质 | |
CN115860451A (zh) | 一种流程运行方法、装置、电子设备及存储介质 | |
CN101300559A (zh) | 可扩展远程标签标记***和方法 | |
CN117762865A (zh) | 大数据平台的数据入湖方法及*** | |
CN106951399B (zh) | 一种快速生成onix标准文件的方法及装置 | |
CN115437643A (zh) | 项目代码转换方法、装置、设备及存储介质 |
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 |