一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

任务处理方法以及装置与流程

2022-12-20 01:53:00 来源:中国专利 TAG:


1.本说明书实施例涉及计算机技术领域,特别涉及一种任务处理方法。


背景技术:

2.随着互联网的发展,各行各业都在与互联网技术进行结合,创造新的适合这个时代的发展契机,在这种情况下,由于结合互联网技术进行项目处理所产生的数据,其数据量较大,各个企业大多选择将数据存储至数据库,因此结构化查询语句(structured query language,sql)的运用越来越普及,然而,随着业务的集合度以及复杂度的提升,sql语句的复杂度也随之提升。
3.在数据开发场景下,需求方提出开发需求,研发方分析开发需求,拆解开发流程,为每个开发流程的流程节点开发sql,并导出基础表,基于基础表合并计算产出需求方所需要的结果表。但由于目前研发方对开发需求的拆解过程以及sql开发过程均处于黑盒状态,只有负责的研发人员掌握开发所设计的计算逻辑,当需求方需要了解结果数据的产出逻辑时,双方缺乏一个可视化的方案来对焦整个计算逻辑。其次,产出的基础表,无法对其进行统一管理,不利于基础表的维护和复用。


技术实现要素:

4.有鉴于此,本说明书实施例提供了一种任务处理方法。本说明书一个或者多个实施例同时涉及一种任务处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
5.根据本说明书实施例的第一方面,提供了一种任务处理方法,应用于第一服务端,包括:
6.确定与待处理任务相关的至少两个任务节点,并接收与所述至少两个任务节点对应的sql语句;
7.基于对目标任务节点对应的sql语句进行语义解析获得的解析结果,确定所述目标任务节点对应的任务执行子流程,并确定所述目标任务节点对应的任务数据表,其中,所述目标任务节点为所述至少两个任务节点之一;
8.根据所述任务数据表中包含的任务配置信息,确定所述至少两个任务节点间的依赖关系;
9.根据所述依赖关系对所述任务执行子流程进行拼接,生成所述待处理任务对应的可视化任务执行流程。
10.根据本说明书实施例的第二方面,提供了一种任务处理装置,应用于第一服务端,包括:
11.接收模块,被配置为确定与待处理任务相关的至少两个任务节点,并接收与所述至少两个任务节点对应的sql语句;
12.确定模块,被配置为基于对目标任务节点对应的sql语句进行语义解析获得的解
析结果,确定所述目标任务节点对应的任务执行子流程,并确定所述目标任务节点对应的任务数据表,其中,所述目标任务节点为所述至少两个任务节点之一;
13.处理模块,被配置为根据所述任务数据表中包含的任务配置信息,确定所述至少两个任务节点间的依赖关系;
14.生成模块,被配置为根据所述依赖关系对所述任务执行子流程进行拼接,生成所述待处理任务对应的可视化任务执行流程。
15.根据本说明书实施例的第三方面,提供了一种计算设备,包括:
16.存储器和处理器;
17.所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现任意一项所述任务处理方法的步骤。
18.根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述任务处理方法的步骤。
19.根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述任务处理方法的步骤。
20.本说明书一个实施例通过确定与待处理任务相关的至少两个任务节点,并接收与所述至少两个任务节点对应的sql语句,基于对目标任务节点对应的sql语句进行语义解析获得的解析结果,确定所述目标任务节点对应的任务执行子流程,并确定所述目标任务节点对应的任务数据表,其中,所述目标任务节点为所述至少两个任务节点之一,根据所述任务数据表中包含的任务配置信息,确定所述至少两个任务节点间的依赖关系,根据所述依赖关系对所述任务执行子流程进行拼接,生成所述待处理任务对应的可视化任务执行流程。
21.本说明书实施例先对每个任务节点对应的sql语句进行解析,以确定各任务节点对应的任务执行子流程,然后根据各任务节点之间的依赖关系,对各任务执行子流程进行拼接,生成待处理任务对应的完整的可视化任务执行流程,该可视化任务执行流程,有利于帮助需求方理解任务处理流程,并有利于提高任务处理过程中所涉及逻辑分析过程的分析效率。
附图说明
22.图1是本说明书一个实施例提供的一种任务处理过程的示意图;
23.图2是本说明书一个实施例提供的一种任务处理方法的流程图;
24.图3a是本说明书一个实施例提供的一种sql语句输入界面的示意图;
25.图3b是本说明书一个实施例提供的另一种sql语句输入界面的示意图;
26.图3c是本说明书一个实施例提供的一种任务处理系统的结构图;
27.图4是本说明书一个实施例提供的一种产品成本计算任务对应的任务执行流程的示意图;
28.图5是本说明书一个实施例提供的一种任务处理方法的处理过程流程图;
29.图6是本说明书一个实施例提供的一种任务处理装置的结构示意图;
30.图7是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
31.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
32.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
33.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
34.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
35.算子流:为实现某个数据开发需求,串联了一系列数据处理节点,最终产出所需要的结果数据,这个过程抽象成一个工作流。
36.算子(operator):数据处理节点,也称计算单元,被算子流串联。算子类型可以是:调度任务、因子计算、rpc调用等。
37.表单:是一个包含表单元素的区域,表单元素是允许用户在表单中(例如:文本域、下拉列表、单选框、复选框等等)输入信息的元素。表单在网页中主要负责数据采集功能。一个表单包含三个基本组成部分:表单标签、表单域、表单按钮。
38.因子:指单个表单或者单指标数据。可以理解为,因子是与特定需求无关并且是事实存在的原子数据项。例如:大数据存量数据因子。其中,数据项是数据的不可分割的最小单位,而原子数据项则表示数据项是原子类型,原子类型包括但不限于int、char等编译环境内置的数据库类型。
39.因子计算:使用因子进行逻辑计算。利用因子配置出一个公式。例如:大数据服务器保有量=数据服务器存量因子 数据服务器增量因子。
40.etl:extraction-transformation-loading的缩写,中文名为数据抽取、转换和加载。通过etl把各个系统之间的数据整合到一起,集中起来做分析。
41.任务数据表:是由一段sql脚本逻辑etl过程之后产出的一个基础表。
42.数据表可视化:解析任务数据表产生的sql逻辑,并使用流程可视化设计器进行展示的过程。
43.目前的数据开发过程通常分为以下几个步骤:首先需求方提出开发需求、研发方分析开发需求,拆解开发流程;研发方为每个开发流程的流程节点开发sql语句,并通过执行sql语句,生成各流程节点对应的初始处理结果,然后对各初始处理结果进行合并计算,即可产出需求方所需要的目标处理结果。
44.由于目前研发方对开发需求的拆解过程以及sql开发过程均处于黑盒状态,只有负责的研发人员掌握开发所涉及的计算逻辑,当需求方需要了解结果数据的产出逻辑时,
双方缺乏一个可视化的方案来对焦整个计算逻辑。其次,无法对产出的初始处理结果进行统一管理,不利于初始处理结果的维护和复用。
45.基于此,本说明书实施例提供的任务处理方法,应用于第一服务端,在第一服务端开发了需求管理程序,该需求管理程序用于管理整个开发需求的开发过程,即串连了从需求提出,到开发,再到交付的整个过程。其次,本说明书实施例开发了工具插件(idea插件和chrome插件),用于研发方在sql语句开发阶段,即可对sql语句对应的计算逻辑进行可视化,以及快速同步sql语句到数据管理程序。数据管理程序用于接收研发方的sql语句逻辑同步请求,形成任务数据表,然后对任务数据表中包含的计算逻辑进行分析,形成任务执行子流程,以及分析该任务数据表和其他任务数据表间的依赖关系,以基于依赖关系对各任务数据表进行可视化编排,从而搭建出一个算子流,该算子流表达了开发需求的整个开发过程的全貌。另外,产出sql语句的执行结果数据后,第一服务端打通了第二服务端(该第二服务端可用于对数据指标进行可视化搭建,还可用于进行数据存储空间管理、数据集管理、指标管理等),通过第一服务端将计算产出的执行结果数据同步到第二服务端进行可视化展示,再通过第二服务端打通第三服务端(该第三服务端可用于自助分析数据),需求方即可通过第三服务端对执行结果数据进行消费分析。
46.在本说明书中,提供了一种任务处理方法,本说明书同时涉及一种任务处理装置,一种计算设备,一种计算机可读存储介质,以及一种计算机程序,在下面的实施例中逐一进行详细说明。
47.图1示出了根据本说明书一个实施例提供的一种任务处理过程的示意图,如图1所示,待处理任务由任务节点1、任务节点2、
……
、任务节点n等n个任务节点组成,每个任务节点均对应部分sql语句,对各任务节点对应的sql语句进行语义解析获得对应的解析结果后,即可根据该解析结果确定各任务节点中sql处理结果之间形成的任务执行子流程,其中,任务节点1对应的sql语句在执行过程中,生成sql处理结果1、sql处理结果2和sql处理结果3,这三个处理结果之间形成的任务执行子流程如图1所示,即任务执行过程中,先生成sql处理结果1和sql处理结果2,然后基于sql处理结果1和sql处理结果2生成sql处理结果3;任务节点2对应的sql语句在执行过程中,生成sql处理结果4和sql处理结果5,这两个处理结果之间形成的任务执行子流程如图1所示,即任务执行过程中,先生成sql处理结果4,然后基于sql处理结果4生成sql处理结果5;
……
;任务节点n对应的sql语句在执行过程中,生成sql处理结果n、sql处理结果n 1和sql处理结果n 2,这三个处理结果之间形成的任务执行子流程如图1所示,即任务执行过程中,先生成sql处理结果n和sql处理结果n 1,然后基于sql处理结果n和sql处理结果n 1生成sql处理结果n 2。
48.接着可确定各任务节点间的依赖关系,并根据依赖关系将各任务执行子流程进行拼接,即可生成待处理任务对应的完整的可视化任务执行流程。
49.本说明书实施例先对每个任务节点对应的sql语句进行解析,以确定各任务节点对应的任务执行子流程,然后根据各任务节点之间的依赖关系,对各任务执行子流程进行拼接,生成待处理任务对应的完整的可视化任务执行流程,该可视化任务执行流程,有利于帮助需求方理解任务处理流程,并有利于提高任务处理过程中所涉及逻辑分析过程的分析效率。
50.图2示出了根据本说明书一个实施例提供的一种任务处理方法的流程图,具体包
括以下步骤。
51.步骤202,确定与待处理任务相关的至少两个任务节点,并接收与所述至少两个任务节点对应的sql语句。
52.具体的,本说明书实施例提供的任务处理方法,应用于第一服务端。
53.待处理任务可以是数据开发任务,与待处理任务相关的任务节点,可用于表征待处理任务所对应的不同任务处理阶段,每个任务处理阶段即可看作是一个任务节点,与待处理任务相关的至少两个任务节点即共同组成该待处理任务的完整任务流。
54.实际应用中,在对待处理任务进行处理时,对于不同的任务处理阶段,其所需处理的任务不同,或所需实现的功能不同,因此,任务处理方可通过为不同任务节点添加不同sql语句,并通过执行该sql语句的方式,实现各任务节点所需实现的功能。基于此,本说明书实施例在存在待处理任务时,可先确定与该待处理任务相关的至少两个任务节点,并接收与至少两个任务节点中每个任务节点对应的sql语句,以通过分析不同任务节点对应sql语句中包含的任务执行子流程,再根据不同任务节点间的关联关系,对任务执行子流程进行整合,生成待处理任务的完整执行流程。
55.例如,在待处理任务为数据开发任务的情况下,若该数据开发任务涉及3个任务处理阶段,即包含3个任务节点,则对于任意一个任务节点,开发方针对该任务节点进行数据开发的过程中,均可为该任务节点生成一定数量的sql语句,以通过执行sql语句来实现该任务节点对应的开发功能。在需求方需要了解数据开发任务的任务处理结果的产出逻辑时,即可分析不同任务节点对应sql语句中包含的任务执行子流程,再根据不同任务节点间的关联关系,对任务执行子流程进行整合,生成该数据开发任务的完整执行流程。
56.具体实施时,所述第一服务端运行有sql语句开发程序;
57.相应地,所述接收与所述至少两个任务节点对应的sql语句,包括:
58.接收用户通过所述sql语句开发程序对应的sql语句输入界面,针对所述至少两个任务节点输入的sql语句。
59.具体的,在第一服务端运行有sql语句开发程序的情况下,用户可通过该sql语句开发程序对应的sql语句输入界面实时编辑sql语句。
60.本说明书实施例提供的一种sql语句输入界面的示意图如图3a所示,由于第一服务端运行有sql语句开发程序,该sql语句开发程序可以是idea插件,因此,用户可借助该idea插件在sql语句输入界面实时编辑各任务节点对应的sql语句。
61.本说明书实施例中,用户利用idea插件在第一服务端进行sql语句开发,即借助插件机制实现与第一服务端的无缝对接,既有利于统一sql语句的开发模式,又有利于提高sql语句的开发效率,从而提高任务处理效率。
62.或者,所述第一服务端运行有sql语句开发程序;
63.相应地,所述接收与所述至少两个任务节点对应的sql语句,包括:
64.响应于针对sql语句输入界面中sql语句上传控件的点击操作,接收用户针对所述目标任务节点上传的sql语句片段,其中,所述sql语句片段中包含至少一个sql语句,所述sql语句输入界面为所述sql语句开发程序对应的sql语句输入界面。
65.具体的,用户除可借助该idea插件在sql语句输入界面实时编辑各任务节点对应的sql语句外,还可选择借助该idea插件在sql语句输入界面一键上传编辑完成的sql语句。
66.实际应用中,sql语句输入界面可设置sql语句上传控件,用户可通过点击该sql语句上传控件,并通过点击控件后跳转的sql语句上传接口一键上传各任务节点对应的sql语句片段,该sql语句片段由至少一个sql语句组成。
67.实际应用中,idea插件可以是mxgraph流程图可视化组件。
68.本说明书实施例中,用户利用idea插件在第一服务端一键上传sql语句,即借助插件机制实现与第一服务端的无缝对接,有利于提高sql语句的开发效率,从而提高任务处理效率。
69.步骤204,基于对目标任务节点对应的sql语句进行语义解析获得的解析结果,确定所述目标任务节点对应的任务执行子流程,并确定所述目标任务节点对应的任务数据表,其中,所述目标任务节点为所述至少两个任务节点之一。
70.具体的,由于待处理任务的任务流由至少两个任务节点组成,而本说明书实施例目的在于确定待处理任务对应的可视化任务执行流程,该可视化任务执行流程可通过对各任务节点对应的任务执行流程进行拼接生成,可见,各任务节点对应的任务执行流程为可视化任务执行流程的一部分,因此,为区分可视化任务执行流程和各任务节点对应的任务执行流程,本说明书实施例将各任务节点对应的任务执行流程命名为任务执行子流程,各任务执行子流程共同组成待处理任务的完整的可视化任务执行流程。
71.实际应用中,对目标任务节点对应的sql语句进行语义解析,具体可先对其进行词法分析,即解析sql语句基本的词法,也就是将字符序列转换为单词(token)序列的过程;然后对其进行语法分析,具体即将词法分析获得的单词(token)序列,进一步构建成包含语义的数据结构,例如抽象语法树;再对语法分析生成的数据结构进行遍历,获取需要的信息。
72.sql语句解析完成后,即可基于解析结果确定目标任务节点对应的任务执行子流程,并确定目标任务节点对应的任务数据表。
73.具体实施时,在第一服务端运行有sql语句开发程序的情况下,基于对目标任务节点对应的sql语句进行语义解析获得的解析结果,确定所述目标任务节点对应的任务执行子流程,包括:
74.响应于针对sql语句输入界面中流程展示控件的点击操作,基于对目标任务节点对应的sql语句进行语义解析获得的解析结果,确定所述目标任务节点对应的任务执行子流程,并对所述任务执行子流程进行可视化展示,其中,所述sql语句输入界面为所述sql语句开发程序对应的sql语句输入界面。
75.具体的,用户在sql语句开发程序实时编辑或一键上传目标任务节点的sql语句后,若需查看该sql语句包含的任务执行子流程,即查看目标任务节点对应的任务执行子流程,则可由sql语句开发程序对该sql语句进行语义解析,根据解析结果确定目标任务节点对应的任务执行子流程,并将任务执行子流程传输至sql语句开发程序进行可视化展示。
76.本说明书实施例提供的另一种sql语句输入界面的示意图如图3b所示,sql设计器即流程展示控件,用户点击sql设计器后,sql语句输入界面即可为用户可视化展示目标任务节点对应的任务执行子流程以及任务数据表,具体的展示结果即如图3b所示。
77.或者,用户在sql语句开发程序实时编辑或一键上传目标任务节点的sql语句后,若需查看该sql语句包含的任务执行子流程,即查看目标任务节点对应的任务执行子流程,则可由sql语句开发程序将sql语句发送至数据管理程序,由数据管理程序对该sql语句进
行语义解析,根据解析结果确定目标任务节点对应的任务执行子流程,并将任务执行子流程传输至sql语句开发程序进行可视化展示。
78.实际应用中,对任务执行子流程进行可视化展示之后,用户可对任务执行子流程进行适应性调整,即可对任务执行子流程中各对象的先后执行顺序进行适应性调整,以保证其准确性。
79.具体实施时,在所述目标任务节点对应的sql语句对应至少两个语句处理结果的情况下,所述确定所述目标任务节点对应的任务执行子流程,包括:
80.根据所述解析结果确定所述至少两个语句处理结果间的关联关系;
81.根据所述关联关系确定所述至少两个语句处理结果构成的数据处理链路,并将所述数据处理链路作为所述目标任务节点对应的任务执行子流程。
82.具体的,由于每个任务节点可对应一个或至少两个sql语句,而每执行一个或至少两个sql语句,均可生成对应的执行结果(语句处理结果),因此,本说明书实施例中,在目标任务节点对应的sql语句对应至少两个语句处理结果的情况下,确定目标任务节点对应的任务执行子流程,具体即可根据sql语句的解析结果确定各语句处理结果间的关联关系,其中,该关联关系可以是各语句处理结果间的计算关系。然后再根据关联关系确定各语句处理结果构成的数据处理链路,其中,可将各语句处理结果作为链路节点,并将存在关联关系的任意两个语句处理结果连接,以构建数据处理链路,该数据处理链路即可作为目标任务节点对应的任务执行子流程。
83.本说明书实施例通过数据处理链路将各语句处理结果的计算关系进行展示,有利于提高用户对任务处理过程的分析效率。
84.或者,在所述目标任务节点对应的sql语句对应至少两个语句处理结果的情况下,所述确定所述目标任务节点对应的任务执行子流程,包括:
85.根据所述解析结果确定所述至少两个语句处理结果间的关联关系;
86.根据所述关联关系确定所述至少两个语句处理结果构成的树状图,并将所述树状图作为所述目标任务节点对应的任务执行子流程;或,
87.根据所述关联关系确定所述至少两个语句处理结果构成的有向图,并将所述有向图作为所述目标任务节点对应的任务执行子流程。
88.具体的,如前所述,由于每个任务节点可对应一个或至少两个sql语句,而每执行一个或至少两个sql语句,均可生成对应的执行结果(语句处理结果),因此,本说明书实施例中,在目标任务节点对应的sql语句对应至少两个语句处理结果的情况下,确定目标任务节点对应的任务执行子流程,具体即可根据sql语句的解析结果确定各语句处理结果间的关联关系,再根据关联关系确定各语句处理结果构成的树状图或有向图,其中,在语句处理结果间存在计算关系的情况下,即可根据该计算关系将各语句处理结果聚合形成树状图,例如,语句处理结果分别为a、b、c,且存在a b=c的计算关系,则可将c作为a和b的父节点,并对其进行聚合形成树状图。
89.或者,还可利用各语句处理结果间的计算关系构建有向图(dag有向无环图),以通过有向图中各节点间的指向关系来表征各语句处理结果间的计算关系。例如,a b=c,则可将a和b作为第一层级节点,c作为第二层级节点,a与c之间存在指向关系,即a指向c,且b与c之间存在指向关系,即b指向c,a、b、c以及三者之间的指向关系共同构成有向图。
90.本说明书实施例通过树状图或有向图将各语句处理结果的计算关系进行展示,有利于提高用户对任务处理过程的分析效率。
91.具体实施时,所述第一服务端运行有数据管理程序;
92.相应地,所述确定所述目标任务节点对应的任务数据表,包括:
93.通过所述sql语句开发程序将所述sql语句、所述解析结果及所述任务执行子流程传输至所述数据管理程序;
94.所述数据管理程序根据所述解析结果提取所述sql语句包含的任务参数信息,并根据所述任务参数信息构建所述目标任务节点对应的任务数据表。
95.具体的,在第一服务端运行有数据管理程序的情况下,sql语句开发程序可将sql语句、解析结果及任务执行子流程一键同步到数据管理程序,由数据管理程序对sql语句进行管理,管理内容包括但不限于:元信息管理(对sql语句中包含的任务参数进行搜索和存储)、sql语句管理(对sql语句进行存储)、基于sql语句中包含的任务参数构建因子等。
96.数据管理程序接收到解析结果后,即可根据解析结果提取sql语句包含的任务参数信息,并根据任务参数信息构建目标任务节点对应的任务数据表。
97.或者,若由数据管理程序对该sql语句进行语义解析,根据解析结果确定目标任务节点对应的任务执行子流程,并将任务执行子流程传输至sql语句开发程序进行可视化展示,那么,sql语句开发程序仅需将sql语句一键同步到数据管理程序即可,数据管理程序可对该sql语句进行存储处理,并可根据sql语句的解析结果进行元信息搜索,并基于搜索结果构建目标任务节点对应的任务数据表。
98.步骤206,根据所述任务数据表中包含的任务配置信息,确定所述至少两个任务节点间的依赖关系。
99.具体的,任务数据表中包含的任务配置信息包括但不限于任务数据表的表名、任务数据表中包含的字段信息以及任务数据表中各字段对应的字段类型等。
100.实际应用中,在确定各任务节点对应的任务数据表后,即可根据各任务数据表所包含的任务配置信息确定各任务数据表间的依赖关系,从而确定各任务节点间的依赖关系,其中,该依赖关系可以是计算关系。
101.具体实施时,所述任务配置信息包括字段信息;
102.相应的,根据所述任务数据表中包含的任务配置信息,确定所述至少两个任务节点间的依赖关系,包括:
103.确定所述至少两个任务节点中,第一任务节点对应的第一任务数据表,以及第二任务节点对应的第二任务数据表;
104.确定所述第一任务数据表及所述第二任务表中包含的字段信息,并确定所述字段信息间的计算关系;
105.根据所述计算关系确定所述至少两个任务节点间的依赖关系。
106.具体的,在任务配置信息中包含字段信息的情况下,根据任务数据表中包含的任务配置信息,确定至少两个任务节点间的依赖关系,具体即根据任务数据表中字段信息之间的计算关系,并根据计算关系确定各任务节点间的依赖关系,其中,计算关系用于表征不同字段间的计算方法,例如,加、减、乘、除等。
107.实际应用中,在待处理任务对应至少两个任务节点的情况下,可先确定各任务节
点分别对应的任务数据表,即可确定至少两个任务数据表,然后根据至少两个任务数据表中字段间的计算关系,确定各任务数据表间的依赖关系,例如,任务数据表1中包含字段z1,任务数据表2中包含字段z2,任务数据表3中包含字段z3,且字段z1=字段z2 字段z3,那么即可确定任务数据表1、任务数据表2和任务数据表3之间存在依赖关系,即任务数据表1依赖于任务数据表2和任务数据表3。
108.根据各任务数据表中字段间的计算关系确定各任务节点间的依赖关系,以根据依赖关系构建任务执行流程,有利于提高用户对任务处理过程的分析效率。
109.步骤208,根据所述依赖关系对所述任务执行子流程进行拼接,生成所述待处理任务对应的可视化任务执行流程。
110.具体的,确定各任务节点间的依赖关系后,即可根据依赖关系,对各任务执行子流程进行拼接,生成待处理任务对应的可视化任务执行流程,完整的可视化任务执行流程的示意图如图1右侧所示。
111.具体实施时,在第一服务端运行有流程搭建程序的情况下,根据所述依赖关系对所述任务执行子流程进行拼接,具体即由流程搭建程序根据所述依赖关系对所述任务执行子流程进行拼接。
112.具体的,用户通过sql语句开发程序实时编辑或一键上传sql语句后,可为该sql语句配置对应的语句执行策略,该语句执行策略可用于表征sql语句的执行时间和/或执行周期等,则检测到满足该语句执行策略的执行条件,即到达sql语句的执行时间的情况下,执行sql语句,并在执行完成的情况下,根据各任务节点间的依赖关系,对各任务节点对应的任务执行子流程进行拼接,生成待处理任务对应的可视化任务执行流程。
113.实际应用中,还可将该可视化任务执行流程同步到第二服务端进行可视化展示,再通过第二服务端打通第三服务端,需求方即可通过第三服务端对sql语句的执行结果数据进行消费分析。
114.本说明书实施例提供的一种任务处理系统的结构图如图3c所示,图3c中,第一服务端运行有sql语句开发程序、数据管理程序以及流程搭建程序,其中,sql语句开发程序可调用sql可视化插件以及d2插件,d2插件用于与d2系统进行信息交互,d2系统是一套流程调度系统,承载数据产出的调度任务。支持用户自定义编写脚本,支持定时任务触发和手动触发。而用户(开发者)可借助sql可视化插件在sql语句输入界面实时编辑各任务节点对应的sql语句,或借助sql可视化插件在sql语句输入界面一键上传编辑完成的sql语句。
115.sql语句编辑或上传完成后,用户若需查看该sql语句包含的任务执行子流程,即查看目标任务节点对应的任务执行子流程,则可由sql语句开发程序将sql语句发送至数据管理程序,由数据管理程序对该sql语句进行语义解析,根据解析结果确定目标任务节点对应的任务执行子流程,并将任务执行子流程传输至sql语句开发程序进行可视化展示。
116.其中,数据管理程序接收sql语句后,可对sql语句进行管理,管理内容包括但不限于:元信息管理(对sql语句中包含的任务参数进行搜索和存储)、sql语句管理(对sql语句进行存储)、基于sql语句中包含的任务参数构建因子等;另外,数据管理程序对sql语句进行解析获得对应的解析结果后,即可根据解析结果提取sql语句包含的任务参数信息,并根据任务参数信息构建目标任务节点对应的任务数据表,并根据任务数据表中包含的任务配置信息,确定至少两个任务节点间的依赖关系,再由流程搭建程序根据依赖关系对各任务
执行子流程进行拼接,生成待处理任务对应的可视化任务执行流程。
117.进一步的,第一服务端打通了第二服务端,通过第一服务端计算产出的sql语句的执行结果数据同步到第二服务端进行可视化展示,再通过第二服务端打通第三服务端,需求方即可通过第三服务端对执行结果数据进行消费分析。
118.本说明书实施例提供的一种产品成本计算任务对应的任务执行流程的示意图如图4所示,由图4可知,产品成本计算任务的任务执行过程,涉及服务器数据、账务数据、产品成本数据、分摊成本计算、判断计算结果是否准确、生成调整前账单、数据回流ads等算子,其中,在进行产品成本计算时,可先从服务器数据中获取各产品所对应的服务器总数,如存在产品和产品2,产品1对应的服务器总数为2,产品2对应的服务器总数为3,并从账务数据中获取各产品所对应服务器的服务器总成本,如产品1对应的服务器成本为x1,产品2对应的服务器成本为x2,然后在产品成本池中计算服务器总成本与服务器总量的比值,以将该值作为各产品的产品成本的计算结果,如产品1的产品成本等于x1/2,产品2的产品成本等于x2/3。其中,若存在服务器w1,其服务器成本为x3,且无法确定该服务器w1对应哪个产品,则在计算产品1和产品2的产品成本时,需进行分摊成本计算,即产品1和产品2需对服务器w1的服务器成本x3进行分摊,即产品1的产品成本等于(x1 x3)/2,产品2的产品成本等于x2/3 x3/2。
119.计算完成后,再由人工节点判断计算结果是否准确,若不准确,则进行数据刷新,并重新进行产品成本计算,若准确,则继续生成调整前账单,并将生成结果回流至数据仓库的ads层,其中,该账单用于对产品成本进行调整,至此,产品成本计算过程结束。
120.本说明书实施例通过插件机制实现sql语句的逻辑采集以及可视化语言的转换,构建开发数据的数据资产,并提供数据资产的生产,分析,可视化等一站式能力。有利于优化团队大数据开发协同模式,可视化手段可打破研发方和需求方由于技术语言带来的逻辑认知壁垒,并可高度复用可视化基础逻辑,快速交付提高研发效能。因此,本说明书实施例解决了在大数据开发领域,sql(结果化查询语句)逻辑复杂可读性差的问题,解决了sql节点上下游依赖调度运行方式单一的问题,以及解决了sql语句产出的数据可视化分析交付成本高的问题。
121.本说明书一个实施例通过确定与待处理任务相关的至少两个任务节点,并接收与所述至少两个任务节点对应的sql语句,基于对目标任务节点对应的sql语句进行语义解析获得的解析结果,确定所述目标任务节点对应的任务执行子流程,并确定所述目标任务节点对应的任务数据表,其中,所述目标任务节点为所述至少两个任务节点之一,根据所述任务数据表中包含的任务配置信息,确定所述至少两个任务节点间的依赖关系,根据所述依赖关系对所述任务执行子流程进行拼接,生成所述待处理任务对应的可视化任务执行流程。
122.本说明书实施例先对每个任务节点对应的sql语句进行解析,以确定各任务节点对应的任务执行子流程,然后根据各任务节点之间的依赖关系,对各任务执行子流程进行拼接,生成待处理任务对应的完整的可视化任务执行流程,该可视化任务执行流程,有利于帮助需求方理解任务处理流程,并有利于提高任务处理过程中所涉及逻辑分析过程的分析效率。
123.下述结合附图5,以本说明书提供的任务处理方法在数据开发场景的应用为例,对
所述任务处理方法进行进一步说明。其中,图5示出了本说明书一个实施例提供的一种任务处理方法的处理过程流程图,具体包括以下步骤。
124.步骤502,确定与数据开发任务相关的至少两个任务节点。
125.步骤504,接收用户通过sql语句开发程序对应的sql语句输入界面,针对至少两个任务节点输入的sql语句。
126.步骤506,响应于针对sql语句输入界面中流程展示控件的点击操作,通过sql语句开发程序将sql语句传输至数据管理程序。
127.步骤508,通过数据管理程序对目标任务节点对应的sql语句进行语义解析,获得解析结果。
128.步骤510,根据解析结果确定目标任务节点对应的任务执行子流程,并将该任务执行子流程传输至sql语句输入界面。
129.步骤512,通过sql语句输入界面对任务执行子流程进行可视化展示。
130.步骤514,通过数据管理程序确定目标任务节点对应的任务数据表。
131.步骤516,根据任务数据表中包含的任务配置信息,确定至少两个任务节点间的依赖关系。
132.步骤518,根据依赖关系对任务执行子流程进行拼接,生成数据开发任务对应的可视化任务执行流程。
133.本说明书实施例先对每个任务节点对应的sql语句进行解析,以确定各任务节点对应的任务执行子流程,然后根据各任务节点之间的依赖关系,对各任务执行子流程进行拼接,生成数据开发任务对应的完整的可视化任务执行流程,该可视化任务执行流程,有利于帮助需求方理解任务处理流程,并有利于提高任务处理过程中所涉及逻辑分析过程的分析效率。
134.与上述方法实施例相对应,本说明书还提供了任务处理装置实施例,图6示出了本说明书一个实施例提供的一种任务处理装置的结构示意图。如图6所示,该装置应用于第一服务端,包括:
135.接收模块602,被配置为确定与待处理任务相关的至少两个任务节点,并接收与所述至少两个任务节点对应的sql语句;
136.确定模块604,被配置为基于对目标任务节点对应的sql语句进行语义解析获得的解析结果,确定所述目标任务节点对应的任务执行子流程,并确定所述目标任务节点对应的任务数据表,其中,所述目标任务节点为所述至少两个任务节点之一;
137.处理模块606,被配置为根据所述任务数据表中包含的任务配置信息,确定所述至少两个任务节点间的依赖关系;
138.生成模块608,被配置为根据所述依赖关系对所述任务执行子流程进行拼接,生成所述待处理任务对应的可视化任务执行流程。
139.可选地,所述第一服务端运行有sql语句开发程序;
140.相应地,所述接收模块602,进一步被配置为:
141.接收用户通过所述sql语句开发程序对应的sql语句输入界面,针对所述至少两个任务节点输入的sql语句。
142.可选地,所述第一服务端运行有sql语句开发程序;
143.相应地,所述接收模块602,进一步被配置为:
144.响应于针对sql语句输入界面中sql语句上传控件的点击操作,接收用户针对所述目标任务节点上传的sql语句片段,其中,所述sql语句片段中包含至少一个sql语句,所述sql语句输入界面为所述sql语句开发程序对应的sql语句输入界面。
145.可选地,所述第一服务端运行有sql语句开发程序;
146.相应地,所述确定模块604,进一步被配置为:
147.响应于针对sql语句输入界面中流程展示控件的点击操作,基于对目标任务节点对应的sql语句进行语义解析获得的解析结果,确定所述目标任务节点对应的任务执行子流程,并对所述任务执行子流程进行可视化展示,其中,所述sql语句输入界面为所述sql语句开发程序对应的sql语句输入界面。
148.可选地,在所述目标任务节点对应的sql语句对应至少两个语句处理结果的情况下,所述确定模块604,进一步被配置为:
149.根据所述解析结果确定所述至少两个语句处理结果间的关联关系;
150.根据所述关联关系确定所述至少两个语句处理结果构成的数据处理链路,并将所述数据处理链路作为所述目标任务节点对应的任务执行子流程。
151.可选地,在所述目标任务节点对应的sql语句对应至少两个语句处理结果的情况下,所述确定模块604,进一步被配置为:
152.根据所述解析结果确定所述至少两个语句处理结果间的关联关系;
153.根据所述关联关系确定所述至少两个语句处理结果构成的树状图,并将所述树状图作为所述目标任务节点对应的任务执行子流程;或,
154.根据所述关联关系确定所述至少两个语句处理结果构成的有向图,并将所述有向图作为所述目标任务节点对应的任务执行子流程。
155.可选地,所述第一服务端运行有数据管理程序;
156.相应地,所述确定模块604,进一步被配置为:
157.通过所述sql语句开发程序将所述sql语句、所述解析结果及所述任务执行子流程传输至所述数据管理程序;
158.所述数据管理程序根据所述解析结果提取所述sql语句包含的任务参数信息,并根据所述任务参数信息构建所述目标任务节点对应的任务数据表。
159.可选地,所述第一服务端运行有流程搭建程序;
160.相应地,所述生成模块608,进一步被配置为:
161.所述流程搭建程序根据所述依赖关系对所述任务执行子流程进行拼接。
162.可选地,所述任务配置信息包括字段信息;
163.相应的,所述处理模块606,进一步被配置为:
164.确定所述至少两个任务节点中,第一任务节点对应的第一任务数据表,以及第二任务节点对应的第二任务数据表;
165.确定所述第一任务数据表及所述第二任务表中包含的字段信息,并确定所述字段信息间的计算关系;
166.根据所述计算关系确定所述至少两个任务节点间的依赖关系。
167.可选地,所述任务处理装置,还包括配置模块,被配置为:
168.配置所述sql语句对应的语句执行策略。
169.可选地,所述任务处理装置,还包括执行模块,被配置为:
170.在检测到满足所述语句执行策略的执行条件的情况下,执行所述sql语句;
171.在所述sql语句执行完成的情况下,执行所述根据所述依赖关系对所述任务执行子流程进行拼接,生成所述待处理任务对应的可视化任务执行流程的步骤。
172.上述为本实施例的一种任务处理装置的示意性方案。需要说明的是,该任务处理装置的技术方案与上述的任务处理方法的技术方案属于同一构思,任务处理装置的技术方案未详细描述的细节内容,均可以参见上述任务处理方法的技术方案的描述。
173.图7示出了根据本说明书一个实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
174.计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
175.在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
176.计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
177.其中,处理器720用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任务处理方法的步骤。
178.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的任务处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述任务处理方法的技术方案的描述。
179.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任务处理方法的步骤。
180.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的任务处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述任务处理方法的技术方案的描述。
181.本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述任务处理方法的步骤。
182.上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序
的技术方案与上述的任务处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述任务处理方法的技术方案的描述。
183.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
184.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
185.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
186.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
187.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献