一种数据任务指令的处理方法、计算机设备、存储介质与流程

文档序号:19809148发布日期:2020-01-31 18:03阅读:133来源:国知局
本申请涉及数据处理
技术领域
:,具体涉及一种数据任务指令的处理方法、一种数据处理方法、一种计算机设备、一种计算机可读存储介质。
背景技术
::随着大数据的蓬勃发展,很多国内外大公司基于各种分布式计算技术构建企业级数据仓库,数据量常常达到pb级,随着计算能力的提升,数据仓库上运行的常规报表任务、数据分析任务、数据挖掘任务等数据处理任务能够达到成千上万个。数据仓库上运行大量的数据处理任务,这些任务是用sql描述的,随着业务、数据越来越复杂,导致任务的复杂度也直线上升。数据仓库的数据处理任务要求保障数据质量。现有方案是以产品的方式解决了odps(分布式的海量数据处理平台)上的数据质量自动监控问题。申请人经研究发现,依赖其他产品(dqc(数据质量)平台),通过配置化方式生成数据检测任务,需要先在odps数据处理平台上建立数据处理任务,发布到调度系统,依赖调度系统数据处理任务才能出现在dqc平台上,在dqc平台上再针对数据处理任务配置数据检测任务,导致数据处理任务的开发和数据检测任务的配置是分开的,数据处理任务和数据检测任务无法一同开发,继而不方便后期进行统一的维护,存在开发和维护成本高的问题。技术实现要素:鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的数据任务指令的处理方法、数据处理方法以及计算机设备、计算机可读存储介质。依据本申请的一个方面,提供了一种数据任务指令的处理方法,包括:获取提交的数据处理任务指令;根据识别到所述数据处理任务指令携带有注解信息,确定所述数据处理任务具有对应的数据检测任务;调用指令解析器,从所述注解信息中提取所述数据检测任务对应的检测任务信息;根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令。可选地,所述检测任务信息包括检测类型,所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令包括:根据所述数据检测任务的检测类型,生成数据检测任务指令。可选地,所述根据所述数据检测任务的检测类型,生成数据检测任务指令包括:根据所述检测类型,确定对应的数据检测任务的指令模板;根据所述指令模板,生成数据检测任务指令。可选地,所述检测任务信息包括自定义指令,所述根据所述数据检测任务的检测类型,生成数据检测任务指令包括:识别所述数据检测任务的检测类型为自定义类型;将所述检测任务信息包括的自定义指令,确定为数据检测任务指令。可选地,在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之前,所述方法还包括:根据所述数据处理任务指令,确定所述数据检测任务针对的目标数据集;所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令包括:根据所述检测任务信息,生成针对所述目标数据集的数据检测任务指令。可选地,所述目标数据集包括数据处理任务的处理结果数据集,在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,所述方法还包括:检测执行所述数据处理任务产生的处理结果数据集;针对所述处理结果数据集,执行所述数据检测任务指令。可选地,在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,所述方法还包括:执行所述数据检测任务指令,得到数据检测任务的检测结果;根据所述检测结果,更改所述数据处理任务的执行状态。可选地,所述检测任务信息包括检测结果类型,所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令包括:根据所述检测结果类型,确定所述数据检测任务的检测结果能否更改对应的数据处理任务的执行状态。可选地,在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,所述方法还包括:获取提交的数据任务执行方式;根据所述数据任务执行方式,执行所述数据处理任务和/或数据检测任务。可选地,在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,所述方法还包括:根据所述数据检测任务指令,生成分布式数据检测任务;调度所述分布式数据检测任务至分布式数据仓库执行。可选地,所述根据识别到所述数据处理任务指令携带有注解信息,确定所述数据处理任务具有对应的数据检测任务包括:对所述数据处理任务指令进行语句切分;识别切分的语句中是否有注解信息;若识别到有注解信息,则确定所述数据处理任务具有对应的数据检测任务。可选地,所述检测任务信息包括检测类型、待检测数据、条件数据中至少一种。相应地,根据本申请的另一方面,还提供了一种数据处理方法,包括:获取数据处理任务指令,其中,所述数据处理任务指令包括注解;根据所述注解,确定所述数据处理任务具有对应的数据检测任务;从所述注解中提取所述数据检测任务;根据所述数据检测任务,生成数据检测任务指令。相应地,根据本申请的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述一个或多个的方法。相应地,根据本申请的另一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述一个或多个的方法。依据本申请实施例,通过获取提交的数据处理任务指令,根据识别到数据处理任务指令携带有注解信息,确定数据处理任务具有对应的数据检测任务,并调用指令解析器,从注解信息中提取数据检测任务对应的检测任务信息,根据检测任务信息,生成针对数据处理任务的数据检测任务指令,使得仅对提交的数据处理任务指令中添加一些注解信息,少量工作就可以让指令解析器自动生成数据检测任务,减少了直接编写数据检测任务指令的工作量,相比于原本需要通过数据处理平台和数据质量检测平台这两个接口,分别提交数据处理任务和数据检测任务,改为由统一的一个接口提交数据任务指令后,数据处理任务指令和数据检测任务指令不再需要分别提交,避免了发生遗漏的风险,降低出错的概率,而且数据处理任务和数据检测任务可以一同开发,继而便于后期对两种任务进行统一的维护,减低了开发和维护的成本。进一步,在根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,还可以包括:获取提交的数据任务执行方式;根据所述数据任务执行方式,执行所述数据处理任务和/或数据检测任务,避免无论何时都同时执行两种数据任务,克服任务执行方式不灵活的问题,更好的满足实际需要。进一步,根据检测类型,确定对应的数据检测任务的指令模板;根据指令模板,生成数据检测任务指令,减少了开发人员重复开发相同的数据检测任务指令的工作量,提高了开发效率。上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了数据任务指令的处理过程的示意图;图2示出了根据本申请实施例一的一种数据任务指令的处理方法实施例的流程图;图3示出了根据本申请实施例二的一种数据任务指令的处理方法实施例的流程图;图4示出了根据本申请实施例三的一种数据处理方法实施例的流程图;图5示出了数据检测任务的生成过程的示意图;图6示出了根据本申请实施例四的一种数据任务指令的处理装置实施例的结构框图;图7示出了根据本申请实施例五的一种数据处理装置实施例的结构框图;图8示出了可被用于实现本公开中所述的各个实施例的示例性系统。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。为使本领域技术人员更好地理解本申请,以下对本申请涉及的概念进行说明:数据处理任务包括数据仓库上运行的常规报表任务、数据分析任务、数据挖掘任务等,或者其他任意适用的对数据进行处理的任务,本申请实施例对此不做限制。数据处理任务在数据仓库中所执行的指令,记为数据处理任务指令,具体可以通过数据处理平台向数据仓库提交数据处理任务指令。数据处理任务指令包括sql(structuredquerylanguage,结构化查询语言)指令,或者其他任意适用的可以由数据仓库执行的指令,本申请实施例对此不做限制。为了保障数据处理任务的数据质量,还需要向数据仓库提交数据检测任务,数据检测任务包括对数据处理任务所处理的数据、以及产生的数据进行检测的任务,例如,检测数据处理任务产出的结果中订单id不可以为空,或者检测每天产出的数据量需要大于一万条等,具体可以包括任意适用的数据检测任务,本申请实施例对此不做限制。数据检测任务可以和数据处理任务同时执行,或者可以先执行数据处理任务,待数据处理任务产出结果数据后,再对结果数据执行数据检测任务,或者可以先执行数据检测任务,待数据检测任务的结果表明数据质量没有问题,再执行数据处理任务,本申请实施例对此不做限制。相应的,数据检测任务在数据仓库中所执行的指令,记为数据检测任务指令,一般需要在数据处理平台上提交了数据处理任务指令后,再在dqc平台上提交针对数据处理任务的数据检测任务指令。在本申请中,为了统一开发数据处理任务和数据检测任务,避免分两个接口提交数据任务造成发生遗漏的风险,便于对两种任务进行统一的维护,在提交的数据处理任务指令中,添加有注解信息,以便由指令解析器据此生成针对数据处理任务的数据检测任务指令。其中,注解信息包括以注解(annotation)语法编写的信息。数据处理任务指令需要先经数据处理平台的指令解析器(例如,sql解析器)解析,才能被数据仓库执行。例如,注解信息1:@testcase.notnull([order_id]),表示检测产出表的order_id是否不为null,或者注解信息2:@testcase.totalcnt(total>=10000),表示检测该表的产出数据量是否大于10000。当数据处理任务完成后,会自动运行检测任务。在本申请中,需要对指令解析器进行改造,使得指令解析器支持注解,可以从注解信息中提取数据检测任务对应的检测任务信息。检测任务信息包括检测任务的检测类型、待检测数据、条件数据等,或者其他任意适用的信息,本申请实施例对此不做限制。例如,检测类型为检测某种数据的数据量大于设定值,待检测数据为订单数量,条件数据为设定值10000。在本申请的一种可选实施例中,检测任务信息包括检测类型,检测类型表示检测任务属于何种类型的检测,例如,检测类型“notnull”表示检测某种数据不为空,检测类型“totalcnt”表示检测产出的数据量超出预设值等,或者其他任意适用的类型,本申请实施例对此不做限制。在本申请的一种可选实施例中,针对不同的检测类型,预先设置有对应的数据检测任务的指令模板,指令模板包括数据检测任务对应所需要执行的一系列代码,只需将传入需设置的参数就可以生成可执行的数据检测任务指令。在本申请的一种可选实施例中,数据检测任务支持自定义类型,即不利用指令模板来生成数据检测任务指令,而是以用户的自定义指令来确定为数据检测任务指令。在本申请的一种可选实施例中,数据处理任务与数据检测任务相对应,数据检测任务针对的目标数据集包括数据处理任务执行后所输出的处理结果数据集、数据处理任务所处理的输入的数据集等,或者其他任意适用的数据集,本申请实施例对此不做限制。在本申请的一种可选实施例中,数据任务执行方式包括执行数据处理任务和数据检测任务、只执行数据检测任务、禁用数据检测任务等,或者其他任意适用的执行方式,本申请实施例对此不做限制。在本申请的一种可选实施例中,针对分布式数据仓库,需要根据数据检测指令,生成对应的分布式执行的分布式数据检测任务。例如,基于hadoop的一个数据仓库工具hive,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为mapreduce(面向大数据并行处理的计算模型、框架和平台)任务进行运行。根据本申请的一种实施例,在数据任务的处理过程中,数据处理任务的开发和数据检测任务的配置是分开的,数据处理任务和数据检测任务无法一同开发,继而不方便后期进行统一的维护,存在开发和维护成本高的问题。如图1所示的数据任务指令的处理过程的示意图,本申请提供了一种数据任务指令的处理机制,通过获取提交的数据处理任务指令,根据识别到数据处理任务指令携带有注解信息,确定数据处理任务具有对应的数据检测任务,并调用指令解析器,从注解信息中提取数据检测任务对应的检测任务信息,根据检测任务信息,生成针对数据处理任务的数据检测任务指令,使得仅对提交的数据处理任务指令中添加一些注解信息,少量工作就可以让指令解析器自动生成数据检测任务,减少了直接编写数据检测任务指令的工作量,相比于原本需要通过数据处理平台和数据质量检测平台这两个接口,分别提交数据处理任务和数据检测任务,改为由统一的一个接口提交数据任务指令后,数据处理任务指令和数据检测任务指令不再需要分别提交,避免了发生遗漏的风险,降低出错的概率,而且数据处理任务和数据检测任务可以一同开发,继而便于后期对两种任务进行统一的维护,减低了开发和维护的成本。本申请适用但不局限于上述应用场景。参照图2,示出了根据本申请实施例一的一种数据任务指令的处理方法实施例的流程图,该方法具体可以包括以下步骤:步骤101,获取提交的数据处理任务指令。在本申请实施例中,数据处理任务指令可以通过数据处理平台提交,数据处理平台由指令解析器,可以对提交的数据处理任务指令进行解析。若数据处理任务需要对应的数据检测任务,则可以添加注解信息到数据处理任务指令中,若数据处理任务不需要对应的数据检测任务,则不需要添加注解信息到数据处理任务指令中。步骤102,根据识别到所述数据处理任务指令携带有注解信息,确定所述数据处理任务具有对应的数据检测任务。在本申请实施例中,识别数据处理任务指令是否携带有注解信息,例如,在sql解析器中添加相应的功能,可以识别除了sql语句之外的注解语句。由于约定了数据检测任务提供提交注解信息来提交到数据仓库,因此,若识别到数据处理任务指令携带有注解信息,则可以确定数据处理任务具有对应的数据检测任务。步骤103,调用指令解析器,从所述注解信息中提取所述数据检测任务对应的检测任务信息。在本申请实施例中,指令解析器对注解信息进行解析,提取出检测任务信息。注解是java提供的一种元程序中的元素关联任何信息和任何元数据的途径和方法。注解是一个接口,注解信息中可以提取出数据检测任务对应的检测任务信息,也就是说,注解信息中包含了相应数据检测任务对应配置的参数。步骤104,根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令。在本申请实施例中,根据检测任务信息,生成针对数据处理任务的数据检测任务指令的实现方式可以包括多种,例如,根据数据检测任务的检测类型,生成数据检测任务指令,或者,将检测任务信息包括的自定义指令,确定为数据检测任务指令,或者其他任意适用的方式,本申请实施例对此不做限制。例如,指令解析器中定义了几种数据检测任务的注解,提交的数据处理任务指令携带有注解信息,注解信息提取到检测任务信息,检测任务信息包括检测类型、待检测数据、条件数据等,根据检测类型,确定数据检测任务的指令模板,根据待检测数据、条件数据以及指令模板,组成数据检测任务指令。依据本申请实施例,通过获取提交的数据处理任务指令,根据识别到数据处理任务指令携带有注解信息,确定数据处理任务具有对应的数据检测任务,并调用指令解析器,从注解信息中提取数据检测任务对应的检测任务信息,根据检测任务信息,生成针对数据处理任务的数据检测任务指令,使得仅对提交的数据处理任务指令中添加一些注解信息,少量工作就可以让指令解析器自动生成数据检测任务,减少了直接编写数据检测任务指令的工作量,相比于原本需要通过数据处理平台和数据质量检测平台这两个接口,分别提交数据处理任务和数据检测任务,改为由统一的一个接口提交数据任务指令后,数据处理任务指令和数据检测任务指令不再需要分别提交,避免了发生遗漏的风险,降低出错的概率,而且数据处理任务和数据检测任务可以一同开发,继而便于后期对两种任务进行统一的维护,减低了开发和维护的成本。在本申请的一种实施例中,可选地,在根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,还可以包括:执行数据检测任务指令,得到数据检测任务的检测结果;根据检测结果,更改数据处理任务的执行状态。数据检测任务和数据处理任务相对应,根据需要,有的数据检测任务的检测结果会对数据处理任务的执行状态产生影响,可以将这种数据检测任务称为强检测。例如,在分布式数据仓库中,数据处理任务指令和数据检测任务指令同时执行,数据检测任务指令负责检测数据质量,数据处理任务指令负责生成数据报表,数据检测任务指令先产生检测结果,若检测结果为数据质量不符合要求(例如,订单数据量低于要求的数量),则将数据处理任务的执行主体更改为暂停状态或停止状态。在本申请的一种实施例中,可选地,检测任务信息包括检测结果类型,根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令的一种实现方式可以包括:根据检测结果类型,确定数据检测任务的检测结果能否更改对应的数据处理任务的执行状态。在实际应用中,数据检测任务的检测结果不一定都要对数据处理任务的执行状态产生影响,与强检测相对应的,还有弱检测,即数据检测任务的检测结果不对数据处理任务的执行状态。要实现强检测和弱检测的区分,可以在检测任务信息中增加一种检测结果类型,在生成数据检测任务指令时,根据检测结果类型,确定对应的数据检测任务的检测结果能否更改对应的数据处理任务的执行状态。例如,各种数据检测任务的指令模板中都可以包括检测结果对于数据处理任务的执行状态进行更改的指令,若检测结果类型为强检测,则生成数据检测任务指令时,保留指令模板中的该指令,若检测结果类型为弱检测,则生成数据检测任务指令时,删除指令模板中的该指令。在本申请的一种实施例中,可选地,在根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,还可以包括:获取提交的数据任务执行方式;根据所述数据任务执行方式,执行所述数据处理任务和/或数据检测任务。生成数据检测任务指令后,还需要提交数据任务(包括数据处理任务和数据检测任务)执行方式,用于确定在数据仓库中执行数据处理任务,还是执行数据检测任务,还是两种任务都执行。数据处理任务指令和数据检测任务指令都生成后,数据仓库中运行两种任务的具体方式可以由管理员决定,避免无论何时都同时执行两种数据任务,克服任务执行方式不灵活的问题,更好的满足实际需要。例如,有三种任务指令“hive–forder.sql”,“hive–forder.sql–test=only”,“hive–forder.sql–test=false”,不加test参数表示数据处理任务指令和数据检测任务指令都执行,-test=only表示只运行数据检测任务,-test=false表示禁用数据检测任务,仅执行数据处理任务。参照图3,示出了根据本申请实施例二的一种数据任务指令的处理方法实施例的流程图,该方法具体可以包括以下步骤:步骤201,获取提交的数据处理任务指令。在本申请实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。步骤202,对所述数据处理任务指令进行语句切分。在本申请实施例中,在数据处理任务指令提交之后,在语法检查阶段,对语句进行切分。步骤203,识别切分的语句中是否有注解信息。在本申请实施例中,对切分后得到的语句进行识别,识别其中是否有注解信息,例如,若有语句的首个符号为“@”,则表示该语句为注解信息。步骤204,若识别到有注解信息,则确定所述数据处理任务具有对应的数据检测任务。步骤205,调用指令解析器,从所述注解信息中提取所述数据检测任务对应的检测任务信息。在本申请实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。步骤206,根据所述数据检测任务的检测类型,生成数据检测任务指令。在本申请实施例中,识别检测任务信息中包括的检测类型,然后根据检测类型,生成对应类型的数据检测任务指令。在本申请的一种实施例中,可选地,根据所述数据检测任务的检测类型,生成数据检测任务指令的一种实现方式包括:根据检测类型,确定对应的数据检测任务的指令模板;根据指令模板,生成数据检测任务指令。检测类型与指令模板相对应,根据检测类型,查找到对应的指令模板,然后将检测任务信息包括的其他参数与指令模板一起组成可执行的数据检测任务指令,减少了开发人员重复开发相同的数据检测任务指令的工作量,提高了开发效率。在本申请的一种实施例中,可选地,检测任务信息包括自定义指令,根据所述数据检测任务的检测类型,生成数据检测任务指令的一种实现方式可以包括:识别所述数据检测任务的检测类型为自定义类型;将所述检测任务信息包括的自定义指令,确定为数据检测任务指令。若识别到检测类型为自定义类型,则表示数据检测任务并没有对应的指令模板,用户在检测任务信息中添加了自定义指令,将自定义指令确定为数据检测任务指令即可,使得可以支持用户根据需求提交的定制化的检测逻辑,提高数据检测任务指令的可定制性。在本申请的一种实施例中,可选地,在根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之前,还可以包括:根据数据处理任务指令,确定数据检测任务针对的目标数据集;根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令的一种实现方式可以包括:根据所述检测任务信息,生成针对所述目标数据集的数据检测任务指令。在生成数据检测任务指令前,需要先确定数据检测任务针对的目标数据集,也就是检测的对象。除了在检测任务信息中直接指出针对的目标数据集外,还可以根据数据处理任务指令确定,例如,将数据处理任务所处理的数据集确定为数据检测任务针对的目标数据集,或者所产出的数据集确定为数据检测任务针对的目标数据集。例如,在注解信息之后,数据处理任务指令的第一个语句为“insertintotabledwd_tb_trade_order_d”,也就是说数据处理任务的产出数据表为:“dwd_tb_trade_order_d”,那么确定数据处理任务对应的数据检测任务针对的目标数据集为产出数据表“dwd_tb_trade_order_d”。之后在生成数据检测任务指令时,也将该产出数据表“dwd_tb_trade_order_d”写入生成的指令。在本申请的一种实施例中,可选地,目标数据集包括数据处理任务的处理结果数据集,在根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,还可以包括:检测执行数据处理任务产生的处理结果数据集;针对处理结果数据集,执行数据检测任务指令。在一些情况下,数据检测任务是针对数据处理任务的处理结果数据集的,所以要先执行数据处理任务,同时数据检测任务要检测数据处理任务是否已经完成,并产生了处理结果数据集,检测到产生了处理结果数据集之后,再针对处理结果数据集,执行数据检测任务指令,以使得数据检测任务可以自行检测数据处理任务是否完成来启动自身要执行的检测。步骤207,根据所述数据检测任务指令,生成分布式数据检测任务。在本申请实施例中,数据处理平台原本仅对数据处理任务指令,进行语法检查,然后生成对应的ast(abstractsyntaxtree,抽象语法树),然后生成分布式数据处理任务,以供分布式数据仓库执行。数据处理平台生成数据检测任务指令后,以相同的方式,生成分布式数据检测任务。步骤208,调度所述分布式数据检测任务至分布式数据仓库执行。在本申请实施例中,分布式数据检测任务生成后,调度至分布式数据仓库上执行,使得数据检测任务也可以在分布式数据仓库上分布式执行,提高数据检测任务的执行效率。依据本申请实施例,通过获取提交的数据处理任务指令,对所述数据处理任务指令进行语句切分,识别切分的语句中是否有注解信息,若识别到有注解信息,则确定所述数据处理任务具有对应的数据检测任务,调用指令解析器,从所述注解信息中提取所述数据检测任务对应的检测任务信息,根据所述数据检测任务的检测类型,生成数据检测任务指令,根据所述数据检测任务指令,生成分布式数据检测任务,调度所述分布式数据检测任务至分布式数据仓库执行,使得仅对提交的数据处理任务指令中添加一些注解信息,少量工作就可以让指令解析器自动生成数据检测任务,减少了直接编写数据检测任务指令的工作量,相比于原本需要通过数据处理平台和数据质量检测平台这两个接口,分别提交数据处理任务和数据检测任务,改为由统一的一个接口提交数据任务指令后,数据处理任务指令和数据检测任务指令不再需要分别提交,避免了发生遗漏的风险,降低出错的概率,而且数据处理任务和数据检测任务可以一同开发,继而便于后期对两种任务进行统一的维护,减低了开发和维护的成本。参照图4,示出了根据本申请实施例三的一种数据处理方法实施例的流程图,该方法具体可以包括以下步骤:步骤301,获取数据处理任务指令。在本申请实施例中,数据处理任务指令包括注解,注解是以注解语法编写的,从jdk5开始,java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。步骤302,根据所述注解,确定所述数据处理任务具有对应的数据检测任务。在本申请实施例中,若数据处理任务指令中可以识别到有注解,则数据处理任务具有对应的数据检测任务。步骤303,从所述注解中提取所述数据检测任务。在本申请实施例中,注解中可以包括有数据检测任务,例如可以是数据检测任务的检测任务信息等。也就是说,数据检测任务是以注解的形式提交的,从注解中提取数据检测任务后,就可以执行步骤304,生成数据检测任务指令。步骤304,根据所述数据检测任务,生成数据检测任务指令。在本申请实施例中,根据数据检测任务,生成数据检测任务指令的实现方式可以包括多种,例如,根据数据检测任务的检测任务信息,生成数据检测任务指令,或者其他任意适用的实现方式,本申请实施例对此不做限制。依据本申请实施例,通过获取数据处理任务指令,并根据数据处理任务指令包括的注解,确定数据处理任务具有对应的数据检测任务,从注解中提取数据检测任务,根据数据检测任务,生成数据检测任务指令,使得仅对提交的数据处理任务指令中添加一些注解,少量工作就可以自动生成数据检测任务指令,减少了直接编写数据检测任务指令的工作量,相比于原本需要通过数据处理平台和数据质量检测平台这两个接口,分别提交数据处理任务和数据检测任务,改为由统一的一个接口提交数据任务指令后,数据处理任务指令和数据检测任务指令不再需要分别提交,避免了发生遗漏的风险,降低出错的概率,而且数据处理任务和数据检测任务可以一同开发,继而便于后期对两种任务进行统一的维护,减低了开发和维护的成本。为使本领域技术人员更好地理解本申请,以下通过具体的示例对本申请的一种实现方式进行说明。如图5所示的数据检测任务的生成过程的示意图。步骤1,sql脚本提交,提交的sql脚本包括数据处理任务指令,也可以包括注解信息。步骤2,语句切分,对sql脚本进行语法检查,切分语句。步骤3,识别注解,识别切分的语句中是否包括注解信息,若是执行步骤4,若否执行步骤9。步骤4,识别检测类型,注解信息中提取检测任务信息,其中包括检测类型。步骤5,生成检测任务,根据检测类型,生成数据检测任务指令。步骤6,等到正常任务(数据处理任务)产出。检测执行数据处理任务产生的处理结果数据集,针对处理结果数据集,执行数据检测任务指令。步骤7,执行检测(数据检测任务指令)。步骤8,反馈结果(数据检测任务的检测结果)。步骤9,正常的sql解析逻辑,对数据处理任务指令进行sql解析。步骤10,对解析后的sql语句进行语法检查。步骤11,生成ast语法树。步骤12,生成分布式任务(数据处理任务)。参照图6,示出了根据本申请实施例四的一种数据任务指令的处理装置实施例的结构框图,具体可以包括:指令获取模块401,用于获取提交的数据处理任务指令;任务确定模块402,用于根据识别到所述数据处理任务指令携带有注解信息,确定所述数据处理任务具有对应的数据检测任务;信息提取模块403,用于调用指令解析器,从所述注解信息中提取所述数据检测任务对应的检测任务信息;指令生成模块304,用于根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令。在本申请的一种实施例中,可选地,所述检测任务信息包括检测类型,所述指令生成模块指令包括:指令生成子模块,用于根据所述数据检测任务的检测类型,生成数据检测任务指令。在本申请的一种实施例中,可选地,所述指令生成子模块包括:模板确定单元,用于根据所述检测类型,确定对应的数据检测任务的指令模板;指令生成单元,用于根据所述指令模板,生成数据检测任务指令。在本申请的一种实施例中,可选地,所述检测任务信息包括自定义指令,所述指令生成子模块包括:类型识别单元,用于识别所述数据检测任务的检测类型为自定义类型;指令确定单元,用于将所述检测任务信息包括的自定义指令,确定为数据检测任务指令。在本申请的一种实施例中,可选地,所述装置还包括:数据集确定模块,用于在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之前,根据所述数据处理任务指令,确定所述数据检测任务针对的目标数据集;所述指令生成模块包括:指令生成子模块,用于根据所述检测任务信息,生成针对所述目标数据集的数据检测任务指令。在本申请的一种实施例中,可选地,所述目标数据集包括数据处理任务的处理结果数据集,所述装置还包括:数据集检测模块,用于在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,检测执行所述数据处理任务产生的处理结果数据集;指令执行模块,用于针对所述处理结果数据集,执行所述数据检测任务指令。在本申请的一种实施例中,可选地,所述装置还包括:指令执行模块,用于在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,执行所述数据检测任务指令,得到数据检测任务的检测结果;状态更改模块,用于根据所述检测结果,更改所述数据处理任务的执行状态。在本申请的一种实施例中,可选地,所述检测任务信息包括检测结果类型,所述指令生成模块包括:结果确定子模块,用于根据所述检测结果类型,确定所述数据检测任务的检测结果能否更改对应的数据处理任务的执行状态。在本申请的一种实施例中,可选地,所述装置还包括:方式获取模块,用于在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,获取提交的数据任务执行方式;任务执行模块,用于根据所述数据任务执行方式,执行所述数据处理任务和/或数据检测任务。在本申请的一种实施例中,可选地,所述装置还包括:任务生成模块,用于在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,根据所述数据检测任务指令,生成分布式数据检测任务;任务调度模块,用于调度所述分布式数据检测任务至分布式数据仓库执行。在本申请的一种实施例中,可选地,所述任务确定模块包括:语句切分子模块,用于对所述数据处理任务指令进行语句切分;注解识别子模块,用于识别切分的语句中是否有注解信息;任务确定子模块,用于若识别到有注解信息,则确定所述数据处理任务具有对应的数据检测任务。在本申请的一种实施例中,可选地,所述检测任务信息包括检测类型、待检测数据、条件数据中至少一种。依据本申请实施例,通过获取提交的数据处理任务指令,根据识别到数据处理任务指令携带有注解信息,确定数据处理任务具有对应的数据检测任务,并调用指令解析器,从注解信息中提取数据检测任务对应的检测任务信息,根据检测任务信息,生成针对数据处理任务的数据检测任务指令,使得仅对提交的数据处理任务指令中添加一些注解信息,少量工作就可以让指令解析器自动生成数据检测任务,减少了直接编写数据检测任务指令的工作量,相比于原本需要通过数据处理平台和数据质量检测平台这两个接口,分别提交数据处理任务和数据检测任务,改为由统一的一个接口提交数据任务指令后,数据处理任务指令和数据检测任务指令不再需要分别提交,避免了发生遗漏的风险,降低出错的概率,而且数据处理任务和数据检测任务可以一同开发,继而便于后期对两种任务进行统一的维护,减低了开发和维护的成本。参照图7,示出了根据本申请实施例五的一种数据处理装置实施例的结构框图,具体可以包括:指令获取模块501,用于获取数据处理任务指令,其中,所述数据处理任务指令包括注解;任务确定模块502,用于根据所述注解,确定所述数据处理任务具有对应的数据检测任务;任务提取模块503,用于从所述注解中提取所述数据检测任务;指令生成模块504,用于根据所述数据检测任务,生成数据检测任务指令。依据本申请实施例,通过获取数据处理任务指令,并根据数据处理任务指令包括的注解,确定数据处理任务具有对应的数据检测任务,从注解中提取数据检测任务,根据数据检测任务,生成数据检测任务指令,使得仅对提交的数据处理任务指令中添加一些注解,少量工作就可以自动生成数据检测任务指令,减少了直接编写数据检测任务指令的工作量,相比于原本需要通过数据处理平台和数据质量检测平台这两个接口,分别提交数据处理任务和数据检测任务,改为由统一的一个接口提交数据任务指令后,数据处理任务指令和数据检测任务指令不再需要分别提交,避免了发生遗漏的风险,降低出错的概率,而且数据处理任务和数据检测任务可以一同开发,继而便于后期对两种任务进行统一的维护,减低了开发和维护的成本。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的系统。图8示意性地示出了可被用于实现本公开中所述的各个实施例的示例性系统(或装置)600。对于一个实施例,图8示出了示例性系统600,该系统具有一个或多个处理器602、被耦合到(一个或多个)处理器602中的至少一个的系统控制模块(芯片组)604、被耦合到系统控制模块604的系统存储器606、被耦合到系统控制模块604的非易失性存储器(nvm)/存储设备608、被耦合到系统控制模块604的一个或多个输入/输出设备610,以及被耦合到系统控制模块606的网络接口612。处理器602可包括一个或多个单核或多核处理器,处理器602可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,系统600能够作为本申请实施例中所述的浏览器。在一些实施例中,系统600可包括具有指令的一个或多个计算机可读介质(例如,系统存储器606或nvm/存储设备608)以及与该一个或多个计算机可读介质相合并被配置为执行指令以实现模块从而执行本公开中所述的动作的一个或多个处理器602。对于一个实施例,系统控制模块604可包括任意适当的接口控制器,以向(一个或多个)处理器602中的至少一个和/或与系统控制模块604通信的任意适当的设备或组件提供任意适当的接口。系统控制模块604可包括存储器控制器模块,以向系统存储器606提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。系统存储器606可被用于例如为系统600加载和存储数据和/或指令。对于一个实施例,系统存储器606可包括任意适当的易失性存储器,例如,适当的dram。在一些实施例中,系统存储器606可包括双倍数据速率类型四同步动态随机存取存储器(ddr4sdram)。对于一个实施例,系统控制模块604可包括一个或多个输入/输出控制器,以向nvm/存储设备608及(一个或多个)输入/输出设备610提供接口。例如,nvm/存储设备608可被用于存储数据和/或指令。nvm/存储设备608可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(hdd)、一个或多个光盘(cd)驱动器和/或一个或多个数字通用光盘(dvd)驱动器)。nvm/存储设备608可包括在物理上作为系统600被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,nvm/存储设备608可通过网络经由(一个或多个)输入/输出设备610进行访问。(一个或多个)输入/输出设备610可为系统600提供接口以与任意其他适当的设备通信,输入/输出设备610可以包括通信组件、音频组件、传感器组件等。网络接口612可为系统600提供接口以通过一个或多个网络通信,系统600可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合进行无线通信。对于一个实施例,(一个或多个)处理器602中的至少一个可与系统控制模块604的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器602中的至少一个可与系统控制模块604的一个或多个控制器的逻辑封装在一起以形成系统级封装(sip)。对于一个实施例,(一个或多个)处理器602中的至少一个可与系统控制模块604的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器602中的至少一个可与系统控制模块604的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(soc)。在各个实施例中,系统600可以但不限于是:浏览器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统600可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统600包括一个或多个摄像机、键盘、液晶显示器(lcd)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(asic)和扬声器。其中,如果显示器包括触摸面板,显示屏可以被实现为触屏显示器,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中各方法步骤的指令(instructions)。在一个示例中提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如本申请实施例的方法。在一个示例中还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请实施例的一个或多个的方法。本申请实施例公开了一种数据任务指令的处理方法和装置,示例1包括一种数据任务指令的处理方法,包括:获取提交的数据处理任务指令;根据识别到所述数据处理任务指令携带有注解信息,确定所述数据处理任务具有对应的数据检测任务;调用指令解析器,从所述注解信息中提取所述数据检测任务对应的检测任务信息;根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令。示例2可包括示例1所述的方法,其中,所述检测任务信息包括检测类型,所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令包括:根据所述数据检测任务的检测类型,生成数据检测任务指令。示例3可包括示例1和/或示例2所述的方法,其中,所述根据所述数据检测任务的检测类型,生成数据检测任务指令包括:根据所述检测类型,确定对应的数据检测任务的指令模板;根据所述指令模板,生成数据检测任务指令。示例4可包括示例1-示例3一个或多个所述的方法,其中,所述检测任务信息包括自定义指令,所述根据所述数据检测任务的检测类型,生成数据检测任务指令包括:识别所述数据检测任务的检测类型为自定义类型;将所述检测任务信息包括的自定义指令,确定为数据检测任务指令。示例5可包括示例1-示例4一个或多个所述的方法,其中,在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之前,所述方法还包括:根据所述数据处理任务指令,确定所述数据检测任务针对的目标数据集;所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令包括:根据所述检测任务信息,生成针对所述目标数据集的数据检测任务指令。示例6可包括示例1-示例5一个或多个所述的方法,其中,所述目标数据集包括数据处理任务的处理结果数据集,在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,所述方法还包括:检测执行所述数据处理任务产生的处理结果数据集;针对所述处理结果数据集,执行所述数据检测任务指令。示例7可包括示例1-示例6一个或多个所述的方法,其中,在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,所述方法还包括:执行所述数据检测任务指令,得到数据检测任务的检测结果;根据所述检测结果,更改所述数据处理任务的执行状态。示例8可包括示例1-示例7一个或多个所述的方法,其中,所述检测任务信息包括检测结果类型,所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令包括:根据所述检测结果类型,确定所述数据检测任务的检测结果能否更改对应的数据处理任务的执行状态。示例9可包括示例1-示例8一个或多个所述的方法,其中,在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,所述方法还包括:获取提交的数据任务执行方式;根据所述数据任务执行方式,执行所述数据处理任务和/或数据检测任务。示例10可包括示例1-示例9一个或多个所述的方法,其中,在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,所述方法还包括:根据所述数据检测任务指令,生成分布式数据检测任务;调度所述分布式数据检测任务至分布式数据仓库执行。示例11可包括示例1-示例10一个或多个所述的方法,其中,所述根据识别到所述数据处理任务指令携带有注解信息,确定所述数据处理任务具有对应的数据检测任务包括:对所述数据处理任务指令进行语句切分;识别切分的语句中是否有注解信息;若识别到有注解信息,则确定所述数据处理任务具有对应的数据检测任务。示例12可包括示例1-示例11一个或多个所述的方法,其中,所述检测任务信息包括检测类型、待检测数据、条件数据中至少一种。示例13包括一种数据处理方法,包括:获取数据处理任务指令,其中,所述数据处理任务指令包括注解;根据所述注解,确定所述数据处理任务具有对应的数据检测任务;从所述注解中提取所述数据检测任务;根据所述数据检测任务,生成数据检测任务指令。示例14包括一种数据任务指令的处理装置,包括:指令获取模块,用于获取提交的数据处理任务指令;任务确定模块,用于根据识别到所述数据处理任务指令携带有注解信息,确定所述数据处理任务具有对应的数据检测任务;信息提取模块,用于调用指令解析器,从所述注解信息中提取所述数据检测任务对应的检测任务信息;指令生成模块,用于根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令。示例15可包括示例14所述的装置,其中,所述检测任务信息包括检测类型,所述指令生成模块指令包括:指令生成子模块,用于根据所述数据检测任务的检测类型,生成数据检测任务指令。示例16可包括示例14和/或示例15所述的装置,其中,所述指令生成子模块包括:模板确定单元,用于根据所述检测类型,确定对应的数据检测任务的指令模板;指令生成单元,用于根据所述指令模板,生成数据检测任务指令。示例17可包括示例14-示例16一个或多个所述的装置,其中,所述检测任务信息包括自定义指令,所述指令生成子模块包括:类型识别单元,用于识别所述数据检测任务的检测类型为自定义类型;指令确定单元,用于将所述检测任务信息包括的自定义指令,确定为数据检测任务指令。示例18可包括示例14-示例17一个或多个所述的装置,其中,所述装置还包括:数据集确定模块,用于在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之前,根据所述数据处理任务指令,确定所述数据检测任务针对的目标数据集;所述指令生成模块包括:指令生成子模块,用于根据所述检测任务信息,生成针对所述目标数据集的数据检测任务指令。示例19可包括示例14-示例18一个或多个所述的装置,其中,所述目标数据集包括数据处理任务的处理结果数据集,所述装置还包括:数据集检测模块,用于在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,检测执行所述数据处理任务产生的处理结果数据集;指令执行模块,用于针对所述处理结果数据集,执行所述数据检测任务指令。示例20可包括示例14-示例19一个或多个所述的装置,其中,所述装置还包括:指令执行模块,用于在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,执行所述数据检测任务指令,得到数据检测任务的检测结果;状态更改模块,用于根据所述检测结果,更改所述数据处理任务的执行状态。示例21可包括示例14-示例20一个或多个所述的装置,其中,所述检测任务信息包括检测结果类型,所述指令生成模块包括:结果确定子模块,用于根据所述检测结果类型,确定所述数据检测任务的检测结果能否更改对应的数据处理任务的执行状态。示例22可包括示例14-示例21一个或多个所述的装置,其中,所述装置还包括:方式获取模块,用于在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,获取提交的数据任务执行方式;任务执行模块,用于根据所述数据任务执行方式,执行所述数据处理任务和/或数据检测任务。示例23可包括示例14-示例22一个或多个所述的装置,其中,所述装置还包括:任务生成模块,用于在所述根据所述检测任务信息,生成针对所述数据处理任务的数据检测任务指令之后,根据所述数据检测任务指令,生成分布式数据检测任务;任务调度模块,用于调度所述分布式数据检测任务至分布式数据仓库执行。示例24可包括示例14-示例23一个或多个所述的装置,其中,所述任务确定模块包括:语句切分子模块,用于对所述数据处理任务指令进行语句切分;注解识别子模块,用于识别切分的语句中是否有注解信息;任务确定子模块,用于若识别到有注解信息,则确定所述数据处理任务具有对应的数据检测任务。示例25可包括示例14-示例22一个或多个所述的装置,其中,所述检测任务信息包括检测类型、待检测数据、条件数据中至少一种。示例26包括一种数据处理装置,包括:指令获取模块,用于获取数据处理任务指令,其中,所述数据处理任务指令包括注解;任务确定模块,用于根据所述注解,确定所述数据处理任务具有对应的数据检测任务;任务提取模块,用于从所述注解中提取所述数据检测任务;指令生成模块,用于根据所述数据检测任务,生成数据检测任务指令。示例27包括一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如示例1-13一个或多个的方法。示例28包括一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如示例1-13一个或多个的方法。虽然某些实施例是以说明和描述为目的的,各种各样的替代、和/或、等效的实施方案、或计算来达到同样的目的实施例示出和描述的实现,不脱离本申请的实施范围。本申请旨在覆盖本文讨论的实施例的任何修改或变化。因此,显然本文描述的实施例仅由权利要求和它们的等同物来限定。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1