一种数据治理中的任务管理方法及装置与流程

文档序号:17762635发布日期:2019-05-24 21:50阅读:201来源:国知局
一种数据治理中的任务管理方法及装置与流程

本申请涉及但不限于计算机技术领域,尤指一种数据治理中的任务管理方法及装置。



背景技术:

随着大数据技术和应用的发展,促使传统行业(如公安、金融、工业)需要将海量的业务数据向大数据平台迁移,在这个过程中,对数据进行转换、清洗的过程,称为数据治理。然而,由于缺乏统一标准、原始数据不规范等诸多问题,导致数据治理困难重重。目前,数据治理主要存在以下问题:数据提供方风格迥异,多源数据通常需要通过融合才能有效使用;大多数原始数据的质量较差,存在着大量的错行、错字、歧义、需要转换等问题;对于质量较高的原始数据,需要进行一些额外处理,比如,同一字段的多个不同的值,通常需要分别存储才能保证后续的使用需要;很多数据源的数据都是持续增长的,需要一个可靠、稳定的流式处理或是周期性处理流程。



技术实现要素:

本申请实施例提供一种数据治理中的任务管理方法及装置,实现灵活管理数据治理任务,从而可以应对复杂的数据治理需求,提升数据治理效率。

一方面,本申请实施例提供一种数据治理中的任务管理方法,包括:构建以数据治理的目标数据为起始点的任务关系图;基于任务关系图,提供支持可视化操作的任务管理界面;响应于在任务管理界面上检测到的操作,管理数据治理任务;其中,任务关系图为有向无环图。

另一方面,本申请实施例提供一种数据治理中的任务管理装置,包括:任务关系图构建模块,适于构建以数据治理的目标数据为起始点的任务关系图;界面提供模块,适于基于任务关系图,提供支持可视化操作的任务管理界面;任务管理模块,适于响应于在任务管理界面上检测到的操作,管理数据治理任务;其中,任务关系图为有向无环图。

另一方面,本申请实施例提供一种终端设备,包括:显示单元、输入单元、存储器和处理器;所述显示单元连接所述处理器,适于显示任务管理界面;所述输入单元连接所述处理器,适于检测所述任务管理界面上的操作;所述存储器适于存储数据治理中的任务管理程序,所述任务管理程序被所述处理器执行时实现上述任务管理方法的步骤。

另一方面,本申请实施例提供一种计算机可读介质,存储有数据治理中的任务管理程序,所述任务管理程序被处理器执行时实现上述任务管理方法的步骤。

本申请实施例中,以目标数据为起始点构建任务关系图,并提供支持可视化操作的任务管理界面,实现灵活管理数据治理任务,从而可以应对复杂的数据治理需求,提升数据治理效率。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1为本申请实施例提供的数据治理中的任务管理方法的流程图;

图2为本申请实施例中的算子之间的依赖关系的示例图;

图3为本申请实施例中的依赖关系倒置后的全局dag的示例图;

图4为本申请实施例中的全局dag与任务队列之间的关系示例图;

图5为本申请实施例提供的数据治理中的任务管理装置的示意图;

图6为本申请实施例提供的终端设备的示意图。

具体实施方式

下面将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例提出了一种数据治理中的任务管理方法及装置,可以提供基于目标数据的支持可视化操作的任务管理方式,从而可以提升任务管理的灵活性,可以应对复杂的数据治理需求,提升数据治理效率。在本申请实施例中,针对数据治理中存在着的大量复杂的、重复性比较高的数据治理任务,可以将它们有序并自动化地执行,从而最大化地减少实施成本。

图1为本申请实施例提供的数据治理中的任务管理方法的流程图。本申请实施例提供的任务管理方法可以由数据治理中的任务管理装置(比如,数据治理系统中的任务调度器)执行。然而,本申请对此并限定。

如图1所示,本实施例提供的任务管理方法可以包括以下步骤:

步骤101、构建以数据治理的目标数据为起始点的任务关系图,其中,任务关系图为有向无环图(dag,directedacyclicgraph);

步骤102、基于任务关系图,提供支持可视化操作的任务管理界面;

步骤103、响应于在任务管理界面上检测到的操作,管理数据治理任务。

其中,dag是指任意一条边有方向,且不存在环路的图。

在一示例性实施例中,步骤101可以包括:建立原始表和目标表,其中,原始表为用于存放数据治理的原始数据的表,目标表为用于存放业务所需的目标数据的表;将从原始数据到目标数据的数据治理依次划分为预处理阶段、增量同步阶段、增量计算阶段以及融合阶段;根据原始表、目标表、预处理阶段、增量同步阶段、增量计算阶段以及融合阶段,创建以下四种类型的算子:预处理算子、增量同步算子、增量计算算子、融合算子;基于上述四种类型的算子之间的依赖关系、以及融合算子与目标表之间的依赖关系,构建任务关系图;其中,任务关系图可以为以目标表为起始点的有向无环图,或者,以目标表对应的目标表类型为起始点的有向无环图。

其中,通过建立原始表,可以将数据源(比如,数据库或文件)提供的原始数据存储到数据治理系统本地的存储介质中,以便后续数据治理使用。目标表可以根据用户提供的业务需求来进行创建。

其中,将原始数据处理成目标数据的过程(即数据治理)可以划分为以下四个阶段:预处理阶段、增量同步阶段、增量计算阶段以及融合阶段;其中,预处理阶段可以为对原始数据进行初步处理的阶段,比如,进行数据量统计等处理;增量同步阶段可以为将数据源的原始数据同步到数据治理系统本地的原始表的阶段;增量计算阶段可以为从原始表抽取数据到目标表的阶段;融合阶段可以为将来自多个数据源的增量数据与历史数据按主键或联合主键进行多值处理、去重及排序的过程。上述每个阶段的输入数据和输出数据都设置有固定数据格式,且上述每个阶段可以依据预定义的逻辑进行相应的数据处理。在数据治理的原始数据给定的情况下,可以给上述每个阶段的任一实例创建对应的一个算子。

在一示例性实施例中,目标数据可以被分成实体、关系和事件三种类型。其中,实体可以指现实世界中的一类物理对象,可以是实际存在的,例如车、人,也可以是虚拟抽象的,例如案件、户口;关系可以指实体之间的各种关联,例如配偶关系、人车所属关系等;事件可以指在特定时空维度刻画主体和客体间关系的一类对象,例如打电话事件、住宿事件等。相应地,目标表可以分为以下三类:实体型目标表、关系型目标表以及事件型目标表。然而,本申请对此并不限定。在其他实施例中,可以根据业务需求对目标数据采用其他分类方式。

在一示例性实施例中,预处理算子和增量同步算子之间可以为一一对应关系,增量同步算子与增量计算算子之间可以为一对多的关系,增量同步算子与融合算子之间可以为多对多的关系;融合算子与目标表之间可以为多对一的关系。

在一示例性实施例中,步骤102提供的任务管理界面可以预先显示完整的任务关系图,或者,响应于在任务管理界面上检测到的点击操作,从目标数据(比如,目标表或目标表类型)开始逐层显示任务关系图。然而,本申请对此并不限定。

在一示例性实施例中,步骤103可以包括:响应于在任务管理界面上检测到的算子选取操作,确定待处理的算子集合;响应于在任务管理界面上检测到的管理执行操作,处理该算子集合。

其中,算子选取操作可以包括连续的页面点击操作,然而,本申请对此并不限定。比如,在其他实施例中,算子选取操作可以包括页面框选操作。

其中,管理执行操作可以包括:对任务管理界面上显示的特定命令的点击操作。然而,本申请对此并不限定。比如,在其他实施例中,管理执行操作可以包括页面右击操作以及从右击后显示界面选择操作命令的点击操作。

在一示例性实施例中,响应于在任务管理界面上检测到的管理执行操作,处理算子集合,可以包括以下至少之一:

当管理执行操作对应任务添加命令,将算子集合中的每个算子生成对应的数据治理任务,并将生成的数据治理任务加入任务队列,等待调度执行;

当管理执行操作对应任务删除命令,将算子集合中的每个算子对应的数据治理任务从任务队列中删除;

当管理执行操作对应任务重运行命令,在任务队列中,重置算子集合中的每个算子对应的数据治理任务的状态,以便数据治理任务被重新调度执行。

其中,数据治理任务的可执行的管理可以包括以下至少一项:任务添加、任务删除、任务重运行。而且,本申请实施例支持对批量任务进行相应的管理。

在一示例性实施例中,上述任务管理方法还可以包括:配置任务队列的任务失败处理策略;其中,任务失败处理策略包括以下至少一项:任务队列中的任一数据治理任务执行失败后,暂停调度任务队列内的数据治理任务,直至该失败的数据治理任务被重新执行成功;任务队列中的任一数据治理任务执行失败后,继续调度任务队列内与该失败的数据治理任务没有依赖关系的后续数据治理任务,直至没有可调度的数据治理任务。其中,可以在步骤103之前或之后,对任务失败处理策略进行配置。然而,本申请对此并不限定。

在一示例性实施例中,响应于在任务管理界面上检测到的算子选取操作,确定待处理的算子集合,可以包括:在任务管理界面上显示目标表或目标表类型,响应于在任务管理界面上检测到的对目标表或目标表类型的点击操作,展开显示依赖于所点击的目标表或目标表类型的后续一级或多级算子的列表;从展开的列表中选择待处理的算子。

本申请实施例提供的任务管理方法,以目标数据为起始点构建任务关系图,并基于任务关系图,提供支持可视化操作的任务管理界面,从而实现数据治理任务的灵活管理。比如,可以在支持可视化操作的任务管理界面上,选取要执行操作的算子集合,并一键实现对算子集合对应的数据治理任务的批量添加、删除或重运行操作。如此,本实施例提供的任务管理方法可以应对复杂的数据治理需求,从而提升数据治理效率。

下面通过一个示例性实施例对本申请实施例提供的任务管理方法进行说明。其中,以数据治理系统中的任务调度器执行任务管理方法为例进行说明。本示例性实施例提供的任务管理方法可以包括以下步骤:

步骤一、导入原始数据。其中,通过配置数据源的相关信息,可以使得数据治理系统根据这些配置信息向源数据服务器发送数据接入请求。每个不同的数据源可以作为数据源实例记录在数据治理系统中。每一个数据源下面对应着若干的库表,可以将这些库表信息同步到数据治理系统中,作为整个数据治理系统的原始表(schema),其中可以包括表的中文名、英文名、字段列表、字段数据类型等信息。后续通过原始表的信息,可以将数据源的原始数据存储到本地的存储介质中,作为后续数据治理的原始数据库。

步骤二、构建目标表。在本步骤中,可以根据业务需求,在原始数据的基础上构建出需要治理的目标数据的模型(称为目标表)。整个数据治理可以大致看成是将原始数据处理成目标数据的过程。其中,业务需求可以由用户根据实际情况提供。

步骤三、创建算子。

本示例性实施例中,可以将数据治理的整个流程划分为以下四个阶段:预处理阶段、增量同步阶段、增量计算阶段和融合阶段。每个阶段可以对应一种类型的算子,每种类型的算子都有自己固定数据格式的输入和输出,并会依据预先定义的逻辑来处理数据。其中,在给定输入值的情况下,可以给每个阶段的实例创建对应的算子。

其中,预处理阶段指对原始数据进行一些初步的预处理,比如统计、连接处理等;增量同步阶段指将数据从数据源同步到数据治理系统的本地原始表的阶段;增量计算阶段指将数据从原始表抽取到目标表的阶段,其中可以包括对数据进行转化、清洗等处理;融合阶段指将来自多个数据源的增量数据与历史数据按主键或联合主键进行多值处理、去重及排序的过程。经过融合阶段之后的数据便可作为上层分析应用的源数据(即经过数据治理得到的目标数据)。

本示例性实施例中,可以创建以下四种类型的算子:预处理算子、增量同步算子、增量计算算子以及融合算子。

步骤四、构建dag。

由于上述四种类型的算子之间存在着特定的依赖关系,因此可以基于算子之间的依赖关系来构建dag。图2为本申请实施例中的算子之间依赖关系的示例图。其中,图2中的箭头方向表示算子之间依赖关系的方向。如图2所示,预处理算子和增量同步算子之间是一一对应的关系;增量同步算子与增量计算算子之间是一对多的关系,这是因为同一原始表的数据可能被抽取到多个目标表中;增量同步同与融合算子之间是多对多的关系,这是由要进行融合的目标数据不同以及数据版本的不同造成的。

本示例性实施例中,目标数据可以被分类为实体、关系和事件三种类型。实体指现实世界中的一类物理对象,可以是实际存在的,例如车、人,也可以是虚拟抽象的,例如案件、户口;关系指实体之间的各种关联,其中,统一视图仅提取静态关系,即直接可以从原始表中获得的关系,例如配偶关系、人车所属关系等,一般情况下,同住关系这类在统一视图里是不提取的;事件指在特定时空维度刻画主体和客体间关系的一类对象,例如打电话事件、住宿事件。

本示例性实施例中,可以将目标表分为实体型目标表、关系型目标表以及事件型目标表三类。融合算子作为数据治理的最后一个阶段,其输入就是特定类型目标表的所有历史数据。

基于上述分析,可以将整个数据治理中创建的算子构成一个具有多个起始节点的dag。为了查找方便,可以将上述算子之间的依赖关系进行倒置,并将目标表类型和目标表作为每一融合算子的前置节点。图3为本申请实施例中的全局dag的示例图。其中,图3中的箭头方向表示算子之间依赖关系的倒置方向。如图3所示的全局dag以目标表类型为起始点。如图3所示,目标表类型与目标表之间为一对一的关系,目标表与融合算子之间为一对一的关系。然而,本申请对此并不限定。在其他实施例中,目标表类型与目标表之间可以为一对多的关系,目标表与融合算子之间可以为一对多的关系。

步骤五、提供支持可视化操作的任务管理界面。

本示例性实施例中,基于globaldag提供的任务管理界面,可以显示目标表类型,根据用户的点选操作,再依次展开显示相关的目标表及算子。比如,用户可以从显示的某个目标表类型出发,依次找到和选取该目标表类型相关的算子(例如,增量同步算子、融合算子等),并下发对所选取算子的管理命令。

比如,在任务管理界面上,用户点击某目标表类型e之后,任务管理界面上会展开显示该目标表类型e下面的目标表的列表t;用户继续点击列表t中的某目标表t,任务管理界面上会展开该目标表t中所有融合算子的列表l1,用户可以选取列表l1中的融合算子,被选中的算子将被加入到已选取算子集合中。同样地,用户可以继续点击列表l1中的融合算子,任务管理界面上会展开对应的增量计算算子的列表l2。用户可以选取列表l2中的增量计算算子加入已选取算子集合中。同样地,用户可以继续点击列表l2中的算子后,任务管理界面上将展开对应的增量同步算子的列表l3和预处理算子的列表l4。其中,由于预处理算子和增量同步算子之间是一对一的关系,因此可以同时展开增量同步算子的列表l3和预处理算子的列表l4。用户可以选取列表l3中的增量同步算子和列表l4中的预处理算子加入已选取算子集合中。上述用户在任务管理界面上的算子选取操作仅为一种示例。在其他实施例中,任务管理界面上可以直接显示以目标表类型为起始点的任务关系图(即全局dag),用户可以直接在任务关系图中通过点击操作选取相应的算子加入已选取算子集合中。然而,本申请对此并不限定。

本示例性实施例中,在将相应的算子选取并加入到已选取算子集合之后,用户可以通过点击任务管理界面上显示的管理命令,触发对已选取算子集合的处理。然而,本申请对此并不限定。在其他实施例中,用户可以通过点击菜单栏选择相应的管理命令,来触发对已选取算子集合的处理。

比如,用户可以点击添加命令,将已选取算子集合中的算子对应的数据治理任务添加到任务队列,等待调度执行;用户可以点击删除命令,将已选取算子集合中的算子对应的数据治理任务从任务队列中移除;用户可以点击重运行命令,以便在任务队列中,重置已选取算子集合中的算子对应的数据治理任务的状态,使得相应的数据治理任务能够被重新调度执行。

其中,数据治理系统的任务调度器接收到用户下发的添加命令后,可以执行添加操作,此时,任务队列会初始化已选取的算子中的相关参数(包括业务参数和运行参数),并添加环境变量、校验逻辑等,生成可被任务调度器调度的数据治理任务。

其中,任务队列是数据治理系统的任务调度器的重要组成部分,负责让数据治理任务按照正确的顺序得以执行。图4为本申请实施例中的全局dag与任务队列之间的关系示意图。任务队列中所有未完成的数据治理任务(包括未开始、失败、等待中的数据治理任务),全部来自于已选取算子集合。已选取算子集合中的算子来自于全局dag。如图4所示,任务队列中所有未完成的数据治理任务所对应算子集合构成的dag是全局dag的subdag(子dag)。需要说明的是,图4中的空白圆形表示算子,填充网格的圆形表示数据治理任务。

步骤六、配置并启动任务队列。

其中,任务队列生成或更新之后,可以启动任务队列以调度数据治理任务执行。在一示例性实施例中,任务调度器可以设置两种任务失败处理策略,以便处理任务队列中的数据治理任务执行失败的情况。其中,任务失败处理策略可以包括:方式一、在任务队列中的任一个数据治理任务执行失败后,暂停调度该任务队列内的数据治理任务(即排在失败的数据治理任务后的任务不会被调度),直到失败的数据治理任务重新执行成功;方式二、在任务队列中的任一个数据治理任务执行失败后,继续调度与该失败的数据治理任务无依赖关系的后续可执行的数据治理任务,直到没有可调度的数据治理任务为止,换言之,不会暂停对数据治理任务的调度。通过设置任务调度器支持两种任务失败处理策略,可以根据调度需求进行灵活切换,以便适应不同的数据治理需求。

在一示例性实施方式中,还可以设置任务调度器能同时并发执行的数据治理任务的数量,以便支持没有依赖关系的数据治理任务的并发执行。

本示例性实施例以目标表类型为起始点,构建了一套完整的任务关系图,并基于该任务关系图,提供支持可视化操作的任务管理界面,以便用户快速查找到特定的数据治理任务,或者对数据治理任务进行灵活管理,比如,一键将批量任务进行添加、删除或重运行。而且,还可以根据调度需求,灵活切换任务失败处理策略。

图5为本申请实施例提供的数据治理中的任务管理装置的示意图。如图5所示,本实施例提供的任务管理装置可以包括:任务关系图构建模块501、界面提供模块502以及任务管理模块503;其中,任务关系图构建模块501,适于构建以数据治理的目标数据为起始点的任务关系图,其中,任务关系图为有向无环图;界面提供模块502,适于基于任务关系图,提供支持可视化操作的任务管理界面;任务管理模块503,适于响应于在任务管理界面上检测到的操作,管理数据治理任务。

在一示例性实施例中,任务关系图构建模块501可以适于通过以下方式构建以数据治理的目标数据为起始点的任务关系图:建立原始表和目标表,其中,原始表为用于存放数据治理的原始数据的表,目标表为用于存放业务所需的目标数据的表;将从原始数据到目标数据的数据治理依次划分为预处理阶段、增量同步阶段、增量计算阶段以及融合阶段;根据原始表、目标表、数据治理中的预处理阶段、增量同步阶段、增量计算阶段以及融合阶段,创建以下四种类型的算子:预处理算子、增量同步算子、增量计算算子、融合算子;基于上述四种类型的算子之间的依赖关系、以及融合算子与目标表之间的依赖关系,构建任务关系图;其中,任务关系图为以目标表为起始点的有向无环图,或者,以目标表对应的目标表类型为起始点的有向无环图。

在一示例性实施例中,任务管理模块503,可以适于通过以下方式响应于在任务管理界面上检测到的操作,管理数据治理任务:响应于在任务管理界面上检测到的算子选取操作,确定待处理的算子集合;响应于在任务管理界面上检测到的管理执行操作,处理算子集合。

关于本实施例提供的任务管理装置的相关说明可以参照上述任务管理方法的描述,故于此不再赘述。

图6为本申请实施例提供的终端设备的示意图。如图6所示,本实施例提供的终端设备(比如,智能手机、平板电脑等移动终端,或者台式电脑等固定终端),包括:处理器601、存储器602、显示单元603以及输入单元604;其中,显示单元603连接处理器601,适于显示任务管理界面;输入单元604连接处理器601,适于检测任务管理界面上的操作;存储器602适于存储数据治理中的任务管理程序,该任务管理程序被处理器601执行时实现上述实施例提供的任务管理方法的步骤,比如图1所示的步骤。

需要说明的是,图6中所示的终端设备的结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者提供不同的部件布置。

其中,处理器601可以包括但不限于微处理器(mcu,microcontrollerunit)或可编程逻辑器件(fpga,fieldprogrammablegatearray)等的处理装置。存储器602可用于存储应用软件的软件程序以及模块,如本实施例中的任务管理方法对应的程序指令或模块,处理器601通过运行存储在存储器602内的软件程序以及模块,从而执行各种功能应用以及数据处理,比如实现本实施例提供的任务管理方法。存储器602可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些示例中,存储器602可包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

其中,输入单元604可以适于接收输入的信息。示例性地,输入单元604可以包括触控面板(或称为触摸屏)以及其他输入设备(比如,鼠标、键盘、操作杆等)。显示单元603可以适于显示用户输入的信息或提供给用户的信息。显示单元603可以包括显示面板,比如,液晶显示器、有机发光二极管等。示例性地,触控面板可以覆盖在显示面板上,当触控面板检测到在其上或附近的触摸操作后,传输给处理器601以确定触摸事件的类型,随后处理器601根据触摸事件的类型在显示面板上提供相应的视觉输出。示例性地,触控面板和显示面板可以作为两个独立的部件来实现终端设备的输入和输出功能,或者,触控面板和显示面板可以集成在一起来实现输入和输出功能。

此外,本申请实施例还提供一种计算机可读介质,存储有数据治理中的任务管理程序,该任务管理程序被处理器执行时实现上述任务管理方法的步骤,比如图1所示的步骤。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1