本发明涉及计算机,更具体地说是指数据和任务关系构建方法、装置、计算机设备及存储介质。
背景技术:
::大数据技术是指从各种各样类型的数据中,快速获得有价值信息的能力。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘系统、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。在现有大数据平台的元数据血缘管理系统中,只是记录了例如hive、kafka、hbase等组件的数据模型的血缘关系,通过元数据管理系统可以更好看到数据在组件中的流向,但是目前的系统仍然不能满足查看任务之间的血缘关系以及查看每个任务所关联的各组件的数据表、查看各组件数据模型在哪个任务当中的需求,当数据表非常多的时候,某些数据表出现问题的时候,由于无法满足上述的需求,则不能快速地定位到相关的任务进行问题处理,降低了解决问题的效率。因此,有必要设计一种新的方法,实现构建任务和数据模型之间的关联关系,以达到构建更详细更清晰的任务与数据模型的血缘关系,便于快读定位至相关的任务,提高解决问题的效率。技术实现要素:本发明的目的在于克服现有技术的缺陷,提供数据和任务关系构建方法、装置、计算机设备及存储介质。为实现上述目的,本发明采用以下技术方案:数据和任务关系构建方法,包括:获取任务创建请求,以得到待创建任务;根据待创建任务生成任务模型的相关属性,以得到目标属性;根据所述目标属性确定待创建任务与数据模型内的任务的依赖关系,以得到血缘关系;对所述待创建任务进行解析,以得到任务与输入表、输出表之间的关联关系;将所述血缘关系、任务与输入表、输出表之间的关联关系更新于元数据血缘管理系统中,以便于在数据表出现问题时可依据元数据血缘管理系统定位至相关的任务。其进一步技术方案为:所述获取任务创建请求,以得到待创建任务之前,还包括:在元数据血缘管理系统定义初始任务模型。其进一步技术方案为:所述根据待创建任务生成任务模型的相关属性,以得到目标属性,包括:根据所述待创建任务调取元数据血缘管理系统内对应的初始任务模型,并生成任务模型的相关属性,以得到目标属性。其进一步技术方案为:所述目标属性包括任务名称、任务类型、任务标识、任务创建者以及任务创建时间。其进一步技术方案为:所述对所述待创建任务进行解析,以得到任务与输入表、输出表之间的关联关系,包括:获取待创建任务在存储过程中所涉及的脚本;采用与所述脚本对应的脚本解析引擎对待创建任务进行解析,以得到待创建任务的输入源以及输出目标;根据待创建任务的输入源构建任务与输入表、输入表与任务之间的关联关系;根据待创建任务的输出目标构建任务与输出表、输出表与任务之间的关联关系。本发明还提供了数据和任务关系构建装置,包括:请求获取单元,用于获取任务创建请求,以得到待创建任务;属性生成单元,用于根据待创建任务生成任务模型的相关属性,以得到目标属性;血缘关系构建单元,用于根据所述目标属性确定待创建任务与数据模型内的任务的依赖关系,以得到血缘关系;解析单元,用于对所述待创建任务进行解析,以得到任务与输入表、输出表之间的关联关系;更新单元,用于将所述血缘关系、任务与输入表、输出表之间的关联关系更新于元数据血缘管理系统中,以便于在数据表出现问题时可依据元数据血缘管理系统定位至相关的任务。其进一步技术方案为:还包括:模型定义单元,用于在元数据血缘管理系统定义初始任务模型。其进一步技术方案为:所述解析单元还包括:脚本获取子单元,用于获取待创建任务在存储过程中所涉及的脚本;引擎解析子单元,用于采用与所述脚本对应的脚本解析引擎对待创建任务进行解析,以得到待创建任务的输入源以及输出目标;第一关系构建子单元,用于根据待创建任务的输入源构建任务与输入表、输入表与任务之间的关联关系;第二关系构建子单元,用于根据待创建任务的输出目标构建任务与输出表、输出表与任务之间的关联关系。本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。本发明与现有技术相比的有益效果是:本发明通过在创建任务的过程中,生成相关属性,根据这些属性确定任务与任务之间的依赖关系,并对待创建任务进行解析,并以此构建任务与表、表与任务之间的关联关系,实现构建任务和数据模型之间的关联关系,以达到构建更详细更清晰的任务与数据模型的血缘关系,便于快读定位至相关的任务,提高解决问题的效率。下面结合附图和具体实施例对本发明作进一步描述。附图说明为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的数据和任务关系构建方法的应用场景示意图;图2为本发明实施例提供的数据和任务关系构建方法的流程示意图;图3为本发明实施例提供的数据和任务关系构建方法的子流程示意图;图4为本发明实施例提供的数据和任务关系的示意图;图5为本发明另一实施例提供的数据和任务关系构建方法的流程示意图;图6为本发明实施例提供的数据和任务关系构建装置的示意性框图;图7为本发明实施例提供的数据和任务关系构建装置的解析单元的示意性框图;图8为本发明另一实施例提供的数据和任务关系构建装置的示意性框图;图9为本发明实施例提供的计算机设备的示意性框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。请参阅图1和图2,图1为本发明实施例提供的数据和任务关系构建方法的应用场景示意图。图2为本发明实施例提供的数据和任务关系构建方法的示意性流程图。该数据和任务关系构建方法应用于带有元数据血缘关系管理系统的服务器中。该服务器可以为分布式服务平台中的一台服务器,该服务器与终端进行数据交互,另外,该服务器还与执行器进行数据交互,以便于进行任务的执行,借助终端发起的请求,生成数据模型与任务之间的关联关系,并更新至元数据血缘关系管理系统内,一旦出现数据表有问题时,则可调取元数据血缘关系管理系统内的信息进行相关任务的定位,以便于快速解决问题。图2是本发明实施例提供的数据和任务关系构建方法的流程示意图。如图2所示,该方法包括以下步骤s110至s150。s110、获取任务创建请求,以得到待创建任务。在本实施例中,待创造任务是指任务所涉及的类型以及执行器等信息,比如需要创建一个可针对商品进行类别自动识别的任务,则所涉及的类型是分类模型,执行器可以为分类模型所在的执行器,即调用该执行器进行类别自动识别的任务。s120、根据待创建任务生成任务模型的相关属性,以得到目标属性。在本实施例中,目标属性是指该待创建任务生成任务模型的过程中需要构建的属性,具体地,所述目标属性包括任务名称、任务类型、任务标识、任务创建者以及任务创建时间。具体地,根据所述待创建任务调取元数据血缘管理系统内对应的初始任务模型,并生成任务模型的相关属性,以得到目标属性。在元数据血缘关系管理系统中会定义好相应的初始任务模型,当任务调度系统创建任务的时候,会获取任务模型需要的信息,生成一个json格式的数据,如{“jobname”:”stg_m_i_h_base_address”,”projectname”:”stg”,”jobtype”:”sqoop”,”uuid”:”stg.stg_m_i_h_base_address”}。s130、根据所述目标属性确定待创建任务与数据模型内的任务的依赖关系,以得到血缘关系;在本实施例中,血缘关系是指待创建任务与数据模型内的任务这两者之间的依赖关系。在任务调度系统可以构建两个任务的依赖关系,可以获得当前任务所属项目、任务名称以及它所依赖的项目和任务名称,如{“projectname”:”bi”,”jobname”:”bi_base_address”,“depprojectname”:”stg”,”depjobname”:”stg_m_i_h_base_address”},根据上面的数据就可以生成血缘关系{“lineagename”:”stg.stg_m_i_h_base_address=>bi.bi_base_address”,”input”:{“uuid”:”stg.stg_m_i_h_base_address”},”output”:{“uuid”:”bi.bi_base_address”}}。s140、对所述待创建任务进行解析,以得到任务与输入表、输出表之间的关联关系。在本实施例中,任务与输入表、输出表之间的关联关系是指任务所关联的输入表以及输出表之间的关系以及输入表、输出表与任务之间的关系,如图4所示,其中,joba、jobb、jobc指代任务,tablea、tableb、tablec表示输入表以及输出表,图中的箭头表示关联关系。在一实施例中,请参阅图3,上述的步骤s140可包括步骤s141~s144。s141、获取待创建任务在存储过程中所涉及的脚本。待创建任务中会存储涉及到的各种脚本,如sql脚本、sqoop脚本等,这些脚本是任务实际的执行内容,涉及到的脚本类型是依据任务类型决定的,比如任务类型为对数据库中数据进行操作的任务,则脚本类型为sql脚本。s142、采用与所述脚本对应的脚本解析引擎对待创建任务进行解析,以得到待创建任务的输入源以及输出目标。根据任务类型的不同选择不同的脚本解析引擎,来获取待创建任务的输入源,如mysqltable,hivetable,hdfspath、hbasetable等,也可以获取待创建任务的输出目标,如mysqltable,hivetable,hdfspath,hbasetable等。s143、根据待创建任务的输入源构建任务与输入表、输入表与任务之间的关联关系;s144、根据待创建任务的输出目标构建任务与输出表、输出表与任务之间的关联关系。构造任务和表、表和任务的关系然后更新到元数据血缘关系管理系统中,如任务和表的关系{“type”:”job”,“jobname”:”stg_m_i_h_base_address”,”projectname”:”stg”,”jobtype”:”sqoop”,”uuid”:”stg.stg_m_i_h_base_address”,”jobtype”:”sqoop”,”references”:[{“uuid”:”ip:host:db1.tablea”,”name”:”tablea”},{“uuid”:”ip:host:db2.tableb”,”name”:”tableb”}]};表和任务的关系:{“type”:”table”,“name”:”tablea”,”uuid”:”ip:host:db1.tablea”,”references”:[{“uuid”:”stg.stg_m_i_h_base_address”,”name”:”stg_m_i_h_base_address”}]}。以hive任务为例,解析hivesql中涉及到输入源、输出目标,构造出任务与表、表和任务的关联关系,上述的表包括输入表以及输出表。s150、将所述血缘关系、任务与输入表、输出表之间的关联关系更新于元数据血缘管理系统中,以便于在数据表出现问题时可依据元数据血缘管理系统定位至相关的任务。更新元数据血缘管理系统可以使得任务和数据模型的血缘关系更详细更清晰,以便于某些数据表出现问题的时候可快速地定位到相关的任务进行问题处理,提高解决问题的效率。通过对任务调度系统中任务信息的解析获取大数据组件中各组件的数据模型信息,构建任务和数据模型之间的关联关系,以达到更详细更清晰的任务和数据模型的血缘关系。上述的数据和任务关系构建方法,通过在创建任务的过程中,生成相关属性,根据这些属性确定任务与任务之间的依赖关系,并对待创建任务进行解析,并以此构建任务与表、表与任务之间的关联关系,实现构建任务和数据模型之间的关联关系,以达到构建更详细更清晰的任务与数据模型的血缘关系,便于快读定位至相关的任务,提高解决问题的效率。图5是本发明另一实施例提供的一种数据和任务关系构建方法的流程示意图。如图5所示,本实施例的数据和任务关系构建方法包括步骤s210-s260。其中步骤s220-s260与上述实施例中的步骤s110-s150类似,在此不再赘述。下面详细说明本实施例中所增加的步骤s210。s210、在元数据血缘管理系统定义初始任务模型。在元数据血缘管理系统中定义好任务实体的模型,包括但不限于任务名称、任务类型、任务标识、任务创建者、任务创建时间等属性,初始任务模型是指记录不同类型任务所涉及到的相关属性的模型。图6是本发明实施例提供的一种数据和任务关系构建装置300的示意性框图。如图6所示,对应于以上数据和任务关系构建方法,本发明还提供一种数据和任务关系构建装置300。该数据和任务关系构建装置300包括用于执行上述数据和任务关系构建方法的单元,该装置可以被配置于服务器中。具体地,请参阅图6,该数据和任务关系构建装置300包括请求获取单元302、属性生成单元303、血缘关系构建单元304、解析单元305以及更新单元306。请求获取单元302,用于获取任务创建请求,以得到待创建任务;属性生成单元303,用于根据待创建任务生成任务模型的相关属性,以得到目标属性;血缘关系构建单元304,用于根据所述目标属性确定待创建任务与数据模型内的任务的依赖关系,以得到血缘关系;解析单元305,用于对所述待创建任务进行解析,以得到任务与输入表、输出表之间的关联关系;更新单元306,用于将所述血缘关系、任务与输入表、输出表之间的关联关系更新于元数据血缘管理系统中,以便于在数据表出现问题时可依据元数据血缘管理系统定位至相关的任务。在一实施例中,如图7所示,所述解析单元305包括脚本获取子单元3051、引擎解析子单元3052、第一关系构建子单元3053以及第二关系构建子单元3054。脚本获取子单元3051,用于获取待创建任务在存储过程中所涉及的脚本;引擎解析子单元3052,用于采用与所述脚本对应的脚本解析引擎对待创建任务进行解析,以得到待创建任务的输入源以及输出目标;第一关系构建子单元3053,用于根据待创建任务的输入源构建任务与输入表、输入表与任务之间的关联关系;第二关系构建子单元3054,用于根据待创建任务的输出目标构建任务与输出表、输出表与任务之间的关联关系。图8是本发明另一实施例提供的一种数据和任务关系构建装置300的示意性框图。如图8所示,本实施例的数据和任务关系构建装置300是上述实施例的基础上增加了模型定义单元301。模型定义单元301,用于在元数据血缘管理系统定义初始任务模型。需要说明的是,所属领域的技术人员可以清楚地了解到,上述数据和任务关系构建装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。上述数据和任务关系构建装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种数据和任务关系构建方法。该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种数据和任务关系构建方法。该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:获取任务创建请求,以得到待创建任务;根据待创建任务生成任务模型的相关属性,以得到目标属性;根据所述目标属性确定待创建任务与数据模型内的任务的依赖关系,以得到血缘关系;对所述待创建任务进行解析,以得到任务与输入表、输出表之间的关联关系;将所述血缘关系、任务与输入表、输出表之间的关联关系更新于元数据血缘管理系统中,以便于在数据表出现问题时可依据元数据血缘管理系统定位至相关的任务。在一实施例中,处理器502在实现所述获取任务创建请求,以得到待创建任务步骤之前,还实现如下步骤:在元数据血缘管理系统定义初始任务模型。在一实施例中,处理器502在实现所述根据待创建任务生成任务模型的相关属性,以得到目标属性步骤时,具体实现如下步骤:根据所述待创建任务调取元数据血缘管理系统内对应的初始任务模型,并生成任务模型的相关属性,以得到目标属性。其中,所述目标属性包括任务名称、任务类型、任务标识、任务创建者以及任务创建时间。在一实施例中,处理器502在实现所述对所述待创建任务进行解析,以得到任务与输入表、输出表之间的关联关系步骤时,具体实现如下步骤:获取待创建任务在存储过程中所涉及的脚本;采用与所述脚本对应的脚本解析引擎对待创建任务进行解析,以得到待创建任务的输入源以及输出目标;根据待创建任务的输入源构建任务与输入表、输入表与任务之间的关联关系;根据待创建任务的输出目标构建任务与输出表、输出表与任务之间的关联关系。应当理解,在本申请实施例中,处理器502可以是中央处理单元(centralprocessingunit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:获取任务创建请求,以得到待创建任务;根据待创建任务生成任务模型的相关属性,以得到目标属性;根据所述目标属性确定待创建任务与数据模型内的任务的依赖关系,以得到血缘关系;对所述待创建任务进行解析,以得到任务与输入表、输出表之间的关联关系;将所述血缘关系、任务与输入表、输出表之间的关联关系更新于元数据血缘管理系统中,以便于在数据表出现问题时可依据元数据血缘管理系统定位至相关的任务。在一实施例中,所述处理器在执行所述计算机程序而实现所述获取任务创建请求,以得到待创建任务步骤之前,还实现如下步骤:在元数据血缘管理系统定义初始任务模型。在一实施例中,所述处理器在执行所述计算机程序而实现所述根据待创建任务生成任务模型的相关属性,以得到目标属性步骤时,具体实现如下步骤:根据所述待创建任务调取元数据血缘管理系统内对应的初始任务模型,并生成任务模型的相关属性,以得到目标属性。其中,所述目标属性包括任务名称、任务类型、任务标识、任务创建者以及任务创建时间。在一实施例中,所述处理器在执行所述计算机程序而实现所述对所述待创建任务进行解析,以得到任务与输入表、输出表之间的关联关系步骤时,具体实现如下步骤:获取待创建任务在存储过程中所涉及的脚本;采用与所述脚本对应的脚本解析引擎对待创建任务进行解析,以得到待创建任务的输入源以及输出目标;根据待创建任务的输入源构建任务与输入表、输入表与任务之间的关联关系;根据待创建任务的输出目标构建任务与输出表、输出表与任务之间的关联关系。所述存储介质可以是u盘、移动硬盘、只读存储器(read-onlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域:
:的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12