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

数据处理流程的生成方法、装置和电子设备与流程

2022-06-05 07:54:12 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种数据处理流程的生成方法、装置和电子设备。


背景技术:

2.flink和spark等大数据处理平台在进行数据处理之前,往往需要先生成数据处理流程。
3.相关技术中,通常通过包装节点,构造流程引擎,然后再使用可视化的流程编辑工具来编辑数据处理流程。
4.但上述相关技术中,需要逐个创建和编辑每个节点,再保存确认,而且还需要按照数据处理流程逐个连接每个节点,从而降低了数据处理流程的生成效率。


技术实现要素:

5.针对现有技术存在的问题,本发明提供一种数据处理流程的生成方法、装置和电子设备。
6.本发明提供一种数据处理流程的生成方法,包括:
7.确定处理待处理数据所需的多个节点;
8.基于多个节点构造数据处理流程结构;其中,所述数据处理流程结构中节点之间的顺序用于指示节点之间的连接关系;
9.基于所述数据处理流程结构中节点之间的顺序,对所述数据处理流程结构进行解析,得到解析数据;
10.基于所述解析数据生成数据处理流程。
11.根据本发明提供的一种数据处理流程的生成方法,所述确定处理待处理数据所需的多个节点,包括:
12.获取流程定义规则;其中,所述流程定义规则是基于处理所述待处理数据时用到的节点、节点的类型和配置信息制定的;所述配置信息用于指示对所述待处理数据在所述节点下进行的数据处理;
13.基于所述流程定义规则确定处理所述待处理数据所需的所述多个节点;
14.所述基于所述多个节点构造数据处理流程结构,包括:
15.基于所述流程定义规则确定所述多个节点中每个节点的类型和配置信息;
16.基于每个节点的类型和所述配置信息构造数据处理流程结构;
17.其中,所述节点的类型包括以下任一项:输入节点、输出节点、处理节点和结构节点;所述结构节点包括以下任一项:复制节点、分发节点、联合节点、连接节点和跳转节点。
18.根据本发明提供的一种数据处理流程的生成方法,所述基于所述数据处理流程结构中节点之间的顺序,对所述数据处理流程结构进行解析,得到解析数据,包括:
19.基于所述数据处理流程结构中节点之间的顺序,依次读取所述数据处理流程结构
中的各个节点;
20.获取所述各个节点的类型和配置信息;
21.基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据。
22.根据本发明提供的一种数据处理流程的生成方法,所述基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据,包括:
23.在当前节点为输入节点、且所述当前节点为首节点的情况下,基于所述输入节点的配置信息构造输入流;
24.将所述输入流确定为当前数据流,得到所述当前节点的解析数据。
25.根据本发明提供的一种数据处理流程的生成方法,所述基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据,包括:
26.在当前节点为输入节点、且所述当前节点不为首节点的情况下,基于所述输入节点的配置信息构造输入流;
27.将当前数据流替换为所述输入流,得到所述输入节点的解析数据。
28.根据本发明提供的一种数据处理流程的生成方法,所述基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据,包括:
29.在当前节点为处理节点的情况下,获取当前数据流;
30.根据所述处理节点的配置信息构造处理模块;
31.通过所述处理模块处理所述当前数据流,得到输出流;
32.将所述输出流赋值给所述当前数据流,得到所述输入节点的解析数据。
33.根据本发明提供的一种数据处理流程的生成方法,所述基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据,包括:
34.在当前节点为分发节点的情况下,获取当前数据流;
35.根据所述分发节点的配置信息分发所述当前数据流,得到多个子数据流;
36.调用解析引擎处理每个所述子数据流,得到每个所述子数据流对应的子输出流;
37.在每个所述子输出流中确定目标子输出流;其中,所述目标子输出流为除输出节点对应的子输出流之外的输出流;
38.合并每个所述目标子输出流;
39.将合并每个所述目标子输出流后得到的输出流赋值给所述当前数据流,得到所述分发节点的解析数据。
40.根据本发明提供的一种数据处理流程的生成方法,所述基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据,包括:
41.在当前节点为复制节点的情况下,获取当前数据流;
42.根据所述复制节点的配置信息复制所述当前数据流,得到多个数据流;
43.调用解析引擎处理复制后得到的每个所述数据流,得到每个所述数据流对应的输出流;
44.在每个所述输出流中确定目标输出流;其中,所述目标输出流为除输出节点对应的输出流之外的输出流;
45.合并每个所述目标输出流;
46.将合并每个所述目标输出流后得到的输出流赋值给所述当前数据流,得到所述复制节点的解析数据。
47.根据本发明提供的一种数据处理流程的生成方法,所述基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据,包括:
48.在当前节点为联合节点的情况下,获取每个子数据流;
49.调用解析引擎处理每个所述子数据流,得到每个所述子数据流对应的子输出流;
50.基于所述联合节点的配置信息合并每个所述子输出流;
51.将合并每个所述子输出流后得到的输出流赋值给当前数据流,得到所述联合节点的解析数据。
52.根据本发明提供的一种数据处理流程的生成方法,所述基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据,包括:
53.在当前节点为连接节点的情况下,获取每个子数据流;
54.调用解析引擎处理每个所述子数据流,得到每个所述子数据流对应的子输出流;
55.基于所述连接节点的配置信息合并每个所述子输出流;
56.将合并每个所述子输出流后得到的输出流赋值给当前数据流,得到所述连接节点的解析数据。
57.根据本发明提供的一种数据处理流程的生成方法,所述基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据,包括:
58.在当前节点为输出节点的情况下,获取当前数据流;
59.基于所述输出节点的配置信息构造输出模块;其中,所述输出模块用于指示所述当前数据流的输出过程;
60.通过所述输出模块处理所述当前数据流,得到所述输出节点的解析数据。
61.根据本发明提供的一种数据处理流程的生成方法,所述跳转节点包括:跳转写节点,所述基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据,包括:
62.在当前节点为跳转写节点的情况下,读取当前数据流;
63.基于所述跳转写节点的配置信息将所述当前数据流赋值给预设节点,得到所述跳转写节点的解析数据。
64.根据本发明提供的一种数据处理流程的生成方法,所述跳转节点包括:跳转读节点,所述基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据,包括:
65.在当前节点为跳转读节点的情况下,基于所述跳转读节点的配置信息获取预设节点的数据流;
66.将所述预设节点的数据流赋值给当前数据流,得到所述跳转读节点的解析数据。
67.本发明还提供一种数据处理流程的生成装置,包括:
68.确定单元,用于确定处理待处理数据所需的多个节点;
69.构造单元,用于基于所述多个节点构造数据处理流程结构;其中,所述数据处理流程结构中节点之间的顺序用于指示节点之间的连接关系;
70.解析单元,用于基于所述数据处理流程结构中节点之间的顺序,对所述数据处理
流程结构进行解析,得到解析数据;
71.生成单元,用于基于所述解析数据生成数据处理流程。
72.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据处理流程的生成方法的步骤。
73.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据处理流程的生成方法的步骤。
74.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据处理流程的生成方法的步骤。
75.本发明提供的一种数据处理流程的生成方法、装置和电子设备,首先确定处理待处理数据所需的多个节点,然后基于多个节点构造数据处理流程结构,再基于数据处理流程结构中节点之间的顺序对数据处理流程结构进行解析,最后基于解析数据生成数据处理流程。该数据处理流程结构中节点之间的顺序代表了节点之间的连接关系,无需逐个连接每个节点,从而提高了数据处理流程的生成效率。
附图说明
76.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
77.图1是本发明提供的数据处理流程的生成方法的流程示意图之一;
78.图2是本发明提供的数据处理流程结构的示意图之一;
79.图3是本发明提供的分发节点的结构示意图;
80.图4是本发明提供的复制节点的结构示意图;
81.图5是本发明提供的数据处理流程结构的示意图之二;
82.图6是本发明提供的数据处理流程结构的示意图之三;
83.图7是本发明提供的数据处理流程结构的示意图之四;
84.图8是本发明提供的数据处理流程的生成方法的流程示意图之二;
85.图9是本发明提供的数据处理流程的生成方法的流程示意图之三;
86.图10是本发明提供的数据处理流程的生成方法的流程示意图之四;
87.图11是本发明提供的数据处理流程的生成方法的流程示意图之五;
88.图12是本发明提供的数据处理流程的生成方法的流程示意图之六;
89.图13是本发明提供的数据处理流程的生成方法的流程示意图之七;
90.图14是本发明提供的数据处理流程的生成方法的流程示意图之八;
91.图15是本发明提供的数据处理流程的生成方法的流程示意图之九;
92.图16是本发明提供的数据处理流程的生成方法的流程示意图之十;
93.图17是本发明提供的数据处理流程的生成方法的流程示意图之十一;
94.图18是本发明提供的数据处理流程的生成方法的流程示意图之十二;
95.图19是本发明提供的数据处理流程的生成装置的结构示意图;
96.图20是本发明提供的电子设备的实体结构示意图。
具体实施方式
97.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
98.下面结合图1-图18描述本发明的数据处理流程的生成方法。
99.图1是本发明提供的数据处理流程的生成方法的流程示意图之一,如图1所示,该数据处理流程的生成方法包括以下步骤:
100.步骤101、确定处理待处理数据所需的多个节点。
101.示例地,获取待处理数据,分析待处理数据的整个处理过程,基于整个处理过程确定处理待处理数据时所需要的节点数量。
102.步骤102、基于多个节点构造数据处理流程结构。
103.其中,所述数据处理流程结构中节点之间的顺序用于指示节点之间的连接关系。
104.示例地,采用流程定义语言并配合集成开发环境(integrated development environment,ide)来描述由节点组成的数据处理流程,该流程定义语言可以为领域特定语言(domain-specific language,dsl),包括多个不同类型的节点,基于多个不同类型的节点可以定义数据处理流程结构。
105.步骤103、基于所述数据处理流程结构中节点之间的顺序,对所述数据处理流程结构进行解析,得到解析数据。
106.示例地,在定义好数据处理流程结构后,可以通过解析引擎对数据处理流程结构中的每个节点按照顺序进行解析,以将定义的数据处理流程结构转换为大数据计算平台的执行逻辑,也就是转换为可以运行的数据处理流程。
107.步骤104、基于解析数据生成数据处理流程。
108.示例地,在对每个节点解析完成之后,基于每个节点的解析数据生成数据处理流程;在生成数据处理流程之后,将数据处理流程发送给大数据计算平台,由大数据计算平台直接基于该数据处理流程来处理数据,不需要再次解析。
109.本发明提供的一种数据处理流程的生成方法,首先确定处理待处理数据所需的多个节点,然后基于多个节点构造数据处理流程结构,再基于数据处理流程结构中节点之间的顺序对数据处理流程结构进行解析,最后基于解析数据生成数据处理流程。该数据处理流程结构中节点之间的顺序代表了节点之间的连接关系,无需逐个连接每个节点,从而提高了数据处理流程的生成效率;另外,本发明还可以配合集成开发环境的自动补全支持、解析引擎自身的静态语法检查实现比可视化编辑更高的效率,并且方便的支持版本比较和版本变更追踪,特别是在大量线性流程的情况下,本发明的数据处理流程结构的生成效率大大高于可视化编辑的效率。
110.可选地,图1中的步骤101和步骤102具体可通过以下方式实现:
111.获取流程定义规则;基于所述流程定义规则确定处理所述待处理数据所需的所述多个节点;基于所述流程定义规则确定所述多个节点中每个节点的类型和配置信息;基于
每个节点的类型和所述配置信息构造数据处理流程结构。
112.其中,所述流程定义规则是基于处理所述待处理数据时用到的节点、节点的类型和配置信息制定的;所述配置信息用于指示对所述待处理数据在所述节点下进行的数据处理;所述节点的类型包括以下任一项:输入节点、输出节点、处理节点和结构节点;所述结构节点包括以下任一项:复制节点、分发节点、联合节点、连接节点和跳转节点。
113.示例地,开发人员预先设定待处理数据在处理时用的流程定义规则,在定义数据处理流程结构时,先获取预先设定的流程定义规则,基于该流程定义规则确定数据处理流程结构所需要的各个节点,每个节点是一个结构体,包含节点的类型和对应的配置信息,将各个节点的类型和对应的配置信息按照流程定义规则进行组合,得到数据处理流程结构。
114.例如,流程定义规则为采用一个输入节点、一个处理节点和一个输出节点构造数据处理流程结构,并且为输入节点、处理节点和输出节点均设置对应的配置信息;则基于该流程定义规则可知,构造数据处理流程结构需要3个节点,分别为一个输入节点、一个处理节点和一个输出节点,具体构造过程为:先定义输入节点的类型和配置信息;然后定义处理节点的类型和配置信息,最后定义输出节点的类型和配置信息,这样就可以得到如图2所示的依次包括输入节点、处理节点和输出节点的数据处理流程结构;图2是本发明提供的数据处理流程结构的示意图之一,从图2可以看出,图2仅表达了输入节点、处理节点和输出节点之间简单的顺序结构,在顺序结构中不需要单独定义节点的前后关系,直接使用配置上的顺序实现,即上一节点的输出就是下一节点的输入,无需连接输入节点与处理节点,也无需连接处理节点与输出节点。
115.示例地,输入节点的类型可以采用source来定义,输入节点的配置信息可以为开源流处理平台(kafka)相关的输入项;处理节点可以采用map来定义,处理节点的配置信息可以为做一次数据映射;输出节点可以采用sink来定义,输出节点的配置信息可以为搜索服务器(elasticsearch)的输出项。
116.需要说明的是,数据处理流程结构的具体节点类型和节点的数量取决于实际需要处理的数据,描述格式可以为另一种标记语言(yaml ain't markup language,yaml),也可以为js对象简谱(javascript object notation,json),也可以为可扩展标记语言(extensible markup language,xml)等,只要能表达结构化数据的语言都可以用来表达数据处理处理结构。
117.下面对每个类型的节点进行说明:
118.输入节点是数据流的起点,只有输出,没有输入。
119.输出节点是数据流的终点,只有输入,没有输出。
120.处理节点用于实现数据的转换和处理等功能,有一个输入和一个输出,将上一节点的输出作为输入,经过处理后输出给下一节点;另外,处理节点可以包括各个配置,以形成不同的数据处理效果,可以表达map、filter、flatmap、reduce和aggregate等各种逻辑。
121.结构节点为节点间特殊连接关系,包括复制节点、分发节点、联合节点、连接节点、跳转读节点和跳转写节点等不同类型,以体现复制、分发、合并和跳转等连接形式,但该连接形式并不需要连接各个节点,各个节点之间的前后顺序就表达了节点之间的连接;由于存在结构节点,数据处理流程可以分支合并,因此,一个数据处理流程中可以有多个数据流的起点和多个数据流的终点。
122.其中,分发节点的类型可以采用branch来定义,复制节点的类型可以采用copy来定义,联合节点的类型可以采用union来定义,连接节点的类型可以采用join来定义,跳转读节点可以采用readfrom来定义,跳转写节点可以采用writeto来定义。
123.分发节点和复制节点用于支持数据处理流程的分支,分发节点是根据分发条件将数据流分发到不同的下游;例如,分发条件为将赋值小于等于200的字段分发给第一分支,将赋值大于等于404的字段分发给第二分支等;图3是本发明提供的分发节点的结构示意图,如图3所示,将分发节点的数据流按照分发条件分发给下游的三个分支,三个分支均配置了输出节点;复制节点是将数据流复制多份下发到不同的下游;图4是本发明提供的复制节点的结构示意图,如图4所示,将复制节点的数据流复制三份下发给三个分支,三个分支均配置了输出节点。
124.另外,分发节点和复制节点均是将一个数据流分成了多个数据流,这些数据流可能会有输出节点,从而到达数据流的终点;也有可能并不包含输出节点,则继续向下到后面其他类型的节点;这时如果存在多个数据流,则可以使用联合节点或者连接节点将多个数据流合并,对于联合节点或连接节点之后的节点来说,仍然是一个输入流。图5是本发明提供的数据处理流程结构的示意图之二,如图5所示,分发节点按照分发条件将数据流下发一个输出节点和两个其他类型的节点,两个其他类型的节点处理后的数据流再通过一个联合节点进行合并。
125.图6是本发明提供的数据处理流程结构的示意图之三,如图6所示,两个节点处理后的数据流通过一个联合节点进行合并,合并后的数据流再输入至输出节点,到达数据流的终点。
126.图7是本发明提供的数据处理流程结构的示意图之四,如图7所示,两个节点处理后的数据流基于连接节点的连接条件进行合并,合并后的数据流再输入至输出节点,由输出节点处理后到达数据流的终点;例如,连接节点的连接条件可以为将两个节点中相同字段的数据连接起来。
127.另外,跳转节点类似开发语言的goto语句,用于跨越数据处理流程结构中的多个节点之后连接数据流,实现数据流的对接;可以打破结构节点实现灵活的流对接。
128.需要说明的是,联合节点可以将多个分支的数据流进行合并,连接节点只支持两个分支的数据流的合并,如果要合并多个分支的数据流,可以通过级联结构,即先合并两个分支的数据流,再把合并轴的数据流与第三个分支的数据流进行合并,依次类推,合并完所有分支的数据流。
129.需要说明的是,连接节点中的连接条件类似于结构化查询语言(structured query language,sql)中的join,如果是流连接,还需要给出连接窗口,即在一定的时间跨度内的连接。
130.可选地,图8是本发明提供的数据处理流程的生成方法的流程示意图之二,如图8所示,图1中的步骤103具体可通过以下步骤实现:
131.步骤1031、基于所述数据处理流程结构中节点之间的顺序,依次读取所述数据处理流程结构中的各个节点。
132.步骤1032、获取所述各个节点的类型和配置信息。
133.步骤1033、基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述
对应节点的解析数据。
134.示例地,在定义好数据处理流程结构时,可以按照节点顺序首先读取数据处理流程结构中的第一个节点,然后获取第一个节点的类型和配置信息,基于第一个节点的类型和配置信息对第一个节点进行解析,得到第一个节点的解析数据;接着读取第二个节点,获取第二个节点的类型和配置信息,基于第二个节点的类型和配置信息对第二个节点进行解析,得到第二个节点的解析数据;以此类推,直至解析完数据处理流程结构中的所有节点,得到所有节点的解析数据。
135.本发明提供的数据处理流程的生成方法,对定义好的数据处理流程结构进行解析,便于大数据计算平台基于解析得到的数据处理流程对数据进行处理。
136.可选地,图9是本发明提供的数据处理流程的生成方法的流程示意图之三,如图9所示,图8中的步骤1033具体可通过以下步骤实现:
137.步骤901、在当前节点为输入节点、且所述当前节点为首节点的情况下,基于所述输入节点的配置信息构造输入流。
138.步骤902、将所述输入流确定为当前数据流,得到所述输入节点的解析数据。
139.示例地,在获取到当前节点的类型为source时,可以认为当前节点为输入节点,而且若当前节点为数据处理流程结构中的第一个节点时,则说明该输入节点为首节点,具体解析过程为:基于输入节点的配置信息构造输入流,并将构造的输入流作为当前数据流,从而得到输入节点为首节点的解析数据。
140.可选地,图10是本发明提供的数据处理流程的生成方法的流程示意图之四,如图10所示,图8中的步骤1033具体还可通过以下步骤实现:
141.步骤1001、在当前节点为输入节点、且所述当前节点不为首节点的情况下,基于所述输入节点的配置信息构造输入流。
142.步骤1002、将当前数据流替换为所述输入流,得到所述输入节点的解析数据。
143.示例地,在获取到当前节点的类型为source时,可以认为当前节点为输入节点,而且若当前节点不是数据处理流程结构中的第一个节点时,则说明该输入节点不为首节点,说明之前节点的数据流已经达到终点,所以此时节点的具体解析过程为:基于输入节点的配置信息重新构造输入流,并将当前数据流替换为构造的输入流,从而得到输入节点不是首节点的解析数据。
144.可选地,图11是本发明提供的数据处理流程的生成方法的流程示意图之五,如图11所示,图8中的步骤1033具体还可通过以下步骤实现:
145.步骤1101、在当前节点为处理节点的情况下,获取当前数据流。
146.步骤1102、根据所述处理节点的配置信息构造处理模块。
147.步骤1103、通过所述处理模块处理所述当前数据流,得到输出流。
148.步骤1104、将所述输出流赋值给所述当前数据流,得到所述处理节点的解析数据。
149.示例地,在获取到当前节点的类型为map时,可以认为当前节点为处理节点,具体处理节点的解析过程为:基于处理节点的配置信息构造处理模块,采用处理模块处理当前数据流,并将处理得到的输出流赋值给当前数据流,从而得到处理节点的解析数据。
150.可选地,图12是本发明提供的数据处理流程的生成方法的流程示意图之六,如图12所示,图8中的步骤1033具体还可通过以下步骤实现:
151.步骤1201、在当前节点为分发节点的情况下,获取当前数据流。
152.步骤1202、根据所述分发节点的配置信息分发所述当前数据流,得到多个子数据流。
153.步骤1203、调用解析引擎处理每个所述子数据流,得到每个所述子数据流对应的子输出流。
154.步骤1204、在每个子输出流中确定目标子输出流。
155.其中,所述目标子输出流为除输出节点对应的子输出流之外的输出流。
156.步骤1205、合并每个所述目标子输出流。
157.步骤1206、将合并每个所述目标子输出流后得到的输出流赋值给所述当前数据流,得到所述分发节点的解析数据。
158.示例地,在获取到当前节点的类型为branch时,可以认为当前节点为分发节点,具体分发节点的解析过程为:调用解析引擎处理分发后的各个子数据流,子数据流为分发节点基于分发条件下发的数据流,每个子数据流处理后可以得到对应的子输出流;处理完毕后,在多个子输出流中确定出除输出节点对应的子输出流之外的目标子输出流,合并每个目标子输出流,最后将合并得到的输出流赋值给当前数据流,从而得到分发节点的解析数据。
159.可选地,图13是本发明提供的数据处理流程的生成方法的流程示意图之七,如图13所示,图8中的步骤1033具体还可通过以下步骤实现:
160.步骤1301、在当前节点为复制节点的情况下,获取当前数据流。
161.步骤1302、根据所述复制节点的配置信息复制所述当前数据流,得到多个数据流。
162.步骤1303、调用解析引擎处理复制后得到的每个所述数据流,得到每个所述数据流对应的输出流。
163.步骤1304、在每个输出流中确定目标输出流。
164.其中,所述目标输出流为除输出节点对应的输出流之外的输出流。
165.步骤1305、合并每个所述目标输出流。
166.步骤1306、将合并每个所述目标输出流后得到的输出流赋值给所述当前数据流,得到所述复制节点的解析数据。
167.示例地,在获取到当前节点的类型为copy时,可以认为当前节点为复制节点,具体复制节点的解析过程为:调用解析引擎处理复制后的各个数据流,各个数据流为复制节点复制当前数据流后得到的数据流,每个数据流处理后可以得到对应的输出流;处理完毕后,在多个输出流中确定出除输出节点对应的输出流之外的目标输出流,合并每个目标输出流,最后将合并得到的输出流赋值给当前数据流,从而得到复制节点的解析数据。
168.可选地,图14是本发明提供的数据处理流程的生成方法的流程示意图之八,如图14所示,图8中的步骤1033具体还可通过以下步骤实现:
169.步骤1401、在当前节点为联合节点的情况下,获取每个子数据流。
170.步骤1402、调用解析引擎处理每个所述子数据流,得到每个所述子数据流对应的子输出流。
171.步骤1403、基于所述联合节点的配置信息合并每个子输出流。
172.步骤1404、将合并每个所述子输出流后得到的输出流赋值给当前数据流,得到所
述联合节点的解析数据。
173.示例地,在获取到当前节点的类型为union时,可以认为当前节点为联合节点,具体联合节点的解析过程为:获取与联合节点连接的各个分支对应的子数据流,调用解析引擎处理每个子数据流,处理得到每个子数据流对应的子输出流;再基于联合节点的配置信息合并所有的子输出流,最后将合并得到的输出流赋值给当前数据流,从而得到联合节点的解析数据。
174.可选地,图15是本发明提供的数据处理流程的生成方法的流程示意图之九,如图15所示,图8中的步骤1033具体还可通过以下步骤实现:
175.步骤1501、在当前节点为连接节点的情况下,获取每个子数据流。
176.步骤1502、调用解析引擎处理每个所述子数据流,得到每个所述子数据流对应的子输出流。
177.步骤1503、基于所述连接节点的配置信息合并每个子输出流。
178.步骤1504、将合并每个所述子输出流后得到的输出流赋值给当前数据流,得到所述连接节点的解析数据。
179.示例地,在获取到当前节点的类型为join时,可以认为当前节点为连接节点,具体连接节点的解析过程为:获取与连接节点连接的各个分支对应的子数据流,调用解析引擎处理每个子数据流,处理得到每个子数据流对应的子输出流;再基于连接节点的配置信息合并所有的子输出流,最后将合并得到的输出流赋值给当前数据流,从而得到连接节点的解析数据。
180.可选地,图16是本发明提供的数据处理流程的生成方法的流程示意图之十,如图16所示,图8中的步骤1033具体还可通过以下步骤实现:
181.步骤1601、在当前节点为输出节点的情况下,获取当前数据流。
182.步骤1602、基于所述输出节点的配置信息构造输出模块。
183.其中,所述输出模块用于指示所述当前数据流的输出过程。
184.步骤1603、通过所述输出模块处理所述当前数据流,得到所述输出节点的解析数据。
185.示例地,在获取到当前节点的类型为sink时,可以认为当前节点为输出节点,具体输出节点的解析过程为:获取上一节点输出的当前数据流,基于输出节点的配置信息构造输出模块,并将当前数据流发送给输出模块,由输出模块对当前数据流进行处理,从而得到输出节点的解析数据。
186.可选地,图17是本发明提供的数据处理流程的生成方法的流程示意图之十一,如图17所示,所述跳转节点包括:跳转写节点,图8中的步骤1033具体还可通过以下步骤实现:
187.步骤1701、在当前节点为跳转写节点的情况下,读取当前数据流。
188.步骤1702、基于所述跳转写节点的配置信息将所述当前数据流赋值给预设节点,得到所述跳转写节点的解析数据。
189.示例地,在获取到当前节点的类型为writeto时,可以认为当前节点为跳转写节点,具体跳转写节点的解析过程为:基于跳转写节点的配置信息将当前数据流赋值给配置信息中设置的预设节点,从而得到跳转写节点的解析数据。
190.可选地,图18是本发明提供的数据处理流程的生成方法的流程示意图之十二,如
图18所示,所述跳转节点包括:跳转读节点,图8中的步骤1033具体还可通过以下步骤实现:
191.步骤1801、在当前节点为跳转读节点的情况下,基于所述跳转读节点的配置信息获取预设节点的数据流。
192.步骤1802、将所述预设节点的数据流赋值给当前数据流,得到所述跳转读节点的解析数据。
193.示例地,在获取到当前节点的类型为readfrom时,可以认为当前节点为跳转读节点,具体跳转读节点的解析过程为:从跳转读节点的配置信息中设置的预设节点中读取数据流,并将读取的数据流赋值给当前数据流,从而得到跳转读节点的解析数据。
194.本发明提供的一种数据处理流程的生成方法,首先确定处理待处理数据所需的多个节点,然后基于多个节点构造数据处理流程结构,再基于数据处理流程结构中节点之间的顺序对数据处理流程结构进行解析,基于解析数据生成数据处理流程;该数据处理流程结构中节点之间的顺序代表了节点之间的连接关系,无需逐个连接每个节点,从而提高了数据处理流程的生成效率;另外,可以使用结构节点,分发、复制、联合或者连接实现数据流的分流和合并;还可以使用跳转节点实现跨结构的数据流连接,以适应不同类型的数据处理流程。
195.下面对本发明提供的数据处理流程的生成装置进行描述,下文描述的数据处理流程的生成装置与上文描述的数据处理流程的生成方法可相互对应参照。
196.图19是本发明提供的数据处理流程的生成装置的结构示意图,如图19所示,该数据处理流程的生成装置包括确定单元1901、构造单元1902、解析单元1903和生成单元1904;其中:
197.确定单元1901,用于确定处理待处理数据所需的多个节点;
198.构造单元1902,用于基于多个节点构造数据处理流程结构;其中,所述数据处理流程结构中节点之间的顺序用于指示节点之间的连接关系;
199.解析单元1903,用于基于所述数据处理流程结构中节点之间的顺序,对所述数据处理流程结构进行解析,得到解析数据;
200.生成单元1904,用于基于所述解析数据生成数据处理流程。
201.本发明提供的一种数据处理流程的生成装置,首先确定处理待处理数据所需的多个节点,然后基于多个节点构造数据处理流程结构,再基于数据处理流程结构中节点之间的顺序对数据处理流程结构进行解析,最后基于解析数据生成数据处理流程。该数据处理流程结构中节点之间的顺序代表了节点之间的连接关系,无需逐个连接每个节点,从而提高了数据处理流程的生成效率。
202.基于上述任一实施例,所述确定单元1901具体用于:
203.获取流程定义规则;其中,所述流程定义规则是基于处理所述待处理数据时用到的节点、节点的类型和配置信息制定的;所述配置信息用于指示对所述待处理数据在所述节点下进行的数据处理;
204.基于所述流程定义规则确定处理所述待处理数据所需的所述多个节点;
205.所述构造单元1902具体用于:
206.基于所述流程定义规则确定所述多个节点中每个节点的类型和配置信息;
207.基于每个节点的类型和所述配置信息构造数据处理流程结构;
208.其中,所述节点的类型包括以下任一项:输入节点、输出节点、处理节点和结构节点;所述结构节点包括以下任一项:复制节点、分发节点、联合节点、连接节点和跳转节点。
209.基于上述任一实施例,所述解析单元1903具体用于:
210.基于所述数据处理流程结构中节点之间的顺序,依次读取所述数据处理流程结构中的各个节点;
211.获取所述各个节点的类型和配置信息;
212.基于所述各个节点的类型和配置信息对对应节点进行解析,得到所述对应节点的解析数据。
213.基于上述任一实施例,所述解析单元1903还具体用于:
214.在当前节点为输入节点、且所述当前节点为首节点的情况下,基于所述输入节点的配置信息构造输入流;
215.将所述输入流确定为当前数据流,得到所述输入节点的解析数据。
216.基于上述任一实施例,所述解析单元1903还具体用于:
217.在当前节点为输入节点、且所述当前节点不为首节点的情况下,基于所述输入节点的配置信息构造输入流;
218.将当前数据流替换为所述输入流,得到所述输入节点的解析数据。
219.基于上述任一实施例,所述解析单元1903还具体用于:
220.在当前节点为处理节点的情况下,获取当前数据流;
221.根据所述处理节点的配置信息构造处理模块;
222.通过所述处理模块处理所述当前数据流,得到输出流;
223.将所述输出流赋值给所述当前数据流,得到所述处理节点的解析数据。
224.基于上述任一实施例,所述解析单元1903还具体用于:
225.在当前节点为分发节点的情况下,获取当前数据流;
226.根据所述分发节点的配置信息分发所述当前数据流,得到多个子数据流;
227.调用解析引擎处理每个所述子数据流,得到每个所述子数据流对应的子输出流;
228.在每个所述子输出流中确定目标子输出流;其中,所述目标子输出流为除输出节点对应的子输出流之外的输出流;
229.合并每个所述目标子输出流;
230.将合并每个所述目标子输出流后得到的输出流赋值给所述当前数据流,得到所述分发节点的解析数据。
231.基于上述任一实施例,所述解析单元1903还具体用于:
232.在当前节点为复制节点的情况下,获取当前数据流;
233.根据所述复制节点的配置信息复制所述当前数据流,得到多个数据流;
234.调用解析引擎处理复制后得到的每个所述数据流,得到每个所述数据流对应的输出流;
235.在每个所述输出流中确定目标输出流;其中,所述目标输出流为除输出节点对应的输出流之外的输出流;
236.合并每个所述目标输出流;
237.将合并每个所述目标输出流后得到的输出流赋值给所述当前数据流,得到所述复
制节点的解析数据。
238.基于上述任一实施例,所述解析单元1903还具体用于:
239.在当前节点为联合节点的情况下,获取每个子数据流;
240.调用解析引擎处理每个所述子数据流,得到每个所述子数据流对应的子输出流;
241.基于所述联合节点的配置信息合并每个所述子输出流;
242.将合并每个所述子输出流后得到的输出流赋值给当前数据流,得到所述联合节点的解析数据。
243.基于上述任一实施例,所述解析单元1903还具体用于:
244.在当前节点为连接节点的情况下,获取每个子数据流;
245.调用解析引擎处理每个所述子数据流,得到每个所述子数据流对应的子输出流;
246.基于所述连接节点的配置信息合并每个所述子输出流;
247.将合并每个所述子输出流后得到的输出流赋值给当前数据流,得到所述连接节点的解析数据。
248.基于上述任一实施例,所述解析单元1903还具体用于:
249.在当前节点为输出节点的情况下,获取当前数据流;
250.基于所述输出节点的配置信息构造输出模块;其中,所述输出模块用于指示所述当前数据流的输出过程;
251.通过所述输出模块处理所述当前数据流,得到所述输出节点的解析数据。
252.基于上述任一实施例,所述跳转节点包括:跳转写节点,所述解析单元1903还具体用于:
253.在当前节点为跳转写节点的情况下,读取当前数据流;
254.基于所述跳转写节点的配置信息将所述当前数据流赋值给预设节点,得到所述跳转写节点的解析数据。
255.基于上述任一实施例,所述跳转节点包括:跳转读节点,所述解析单元1903还具体用于:
256.在当前节点为跳转读节点的情况下,基于所述跳转读节点的配置信息获取预设节点的数据流;
257.将所述预设节点的数据流赋值给当前数据流,得到所述跳转读节点的解析数据。
258.图20是本发明提供的电子设备的实体结构示意图,如图20所示,该电子设备可以包括:处理器(processor)2010、通信接口(communications interface)2020、存储器(memory)2030和通信总线2040,其中,处理器2010,通信接口2020,存储器2030通过通信总线2040完成相互间的通信。处理器2010可以调用存储器2030中的逻辑指令,以执行数据处理流程的生成方法,该方法包括:确定处理待处理数据所需的多个节点;
259.基于多个节点构造数据处理流程结构;其中,所述数据处理流程结构中节点之间的顺序用于指示节点之间的连接关系;
260.基于所述数据处理流程结构中节点之间的顺序,对所述数据处理流程结构进行解析,得到解析数据;
261.基于所述解析数据生成数据处理流程。
262.此外,上述的存储器2030中的逻辑指令可以通过软件功能单元的形式实现并作为
独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
263.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据处理流程的生成方法,该方法包括:确定处理待处理数据所需的多个节点;
264.基于多个节点构造数据处理流程结构;其中,所述数据处理流程结构中节点之间的顺序用于指示节点之间的连接关系;
265.基于所述数据处理流程结构中节点之间的顺序,对所述数据处理流程结构进行解析,得到解析数据;
266.基于所述解析数据生成数据处理流程。
267.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据处理流程的生成方法,该方法包括:确定处理待处理数据所需的多个节点;
268.基于多个节点构造数据处理流程结构;其中,所述数据处理流程结构中节点之间的顺序用于指示节点之间的连接关系;
269.基于所述数据处理流程结构中节点之间的顺序,对所述数据处理流程结构进行解析,得到解析数据;
270.基于所述解析数据生成数据处理流程。
271.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
272.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
273.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献