一种数据处理方法、装置、电子设备和存储介质与流程

文档序号:30300643发布日期:2022-06-04 23:16阅读:128来源:国知局
一种数据处理方法、装置、电子设备和存储介质与流程

1.本技术涉及大数据技术领域,具体而言,涉及一种数据处理方法、装置、电子设备和计算机可读存储介质。


背景技术:

2.随着互联网公司业务的快速发展,数据也呈井喷式增长,如何为业务部门提供易用、稳定、高效的实时数据服务显得愈加重要,因此,基于大数据实时计算的业务作业开始崭露头角,并且越来越多的被投入到线上使用,如实时推荐、双十一实时大屏统计、实时反欺诈等。
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.图1为本技术实施例提供的数据处理方法的流程示意图;
50.图2为本技术实施例提供的对数据处理算子进行封装适配的流程示意图;
51.图3为本技术实施例提供的数据处理装置的结构示意图;
52.图4为本技术实施例提供的电子设备的结构示意图。
具体实施方式
53.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
54.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
55.实施例1
56.参见图1,本技术实施例提供一种数据处理方法,方法用于大数据处理系统,大数据处理系统包括:数据处理算子和适配器,适配器用于根据不同计算平台的接口标准对数据处理算子进行相应的封装适配,包括:
57.s1:确定用于生成数据处理任务的数据处理算子;
58.s2:利用适配器对数据处理算子进行封装适配,以使封装适配后的数据处理算子符合相应计算平台的接口标准;
59.s3:根据封装适配后的数据处理算子生成数据处理任务;
60.s4:将数据处理任务发送到计算平台,以使计算平台根据数据处理任务对数据进行处理。
61.上述实施例中,数据处理算子中定义了用于处理数据的方法。计算平台可以通过大数据处理系统获取数据,也可以通过其他方式获取数据,本实施例并不限定计算平台获取数据的具体方式。
62.示例性地,在面向对象的编程语言中,数据处理算子和适配器的形式为对象,适配器在设计模式中的实质为包装器,通过利用适配器可以对数据处理算子进行包装,使得包装后的数据处理算子的具有一定的函数等,从而符合计算平台的对数据处理算子的接口要求。可以理解的是,基于计算平台的接口要求不同,不同的计算平台对应不同的适配器,同一计算平台计算对应的适配器具有一个或多个。
63.在上述实现过程中,首先确定数据处理算子,该数据处理算子拥有对数据进行处理的能力,为了要对大规模的数据进行处理,需要将数据处理算子发送到计算平台进行处理,而不同的计算平台对数据处理算子具有不同的要求,因此,利用适配器对数据处理算子进行封装适配,使得封装适配后的数据处理算子符合计算平台对数据处理算子的接口要求,使得计算平台能够调用数据处理算子对数据进行处理,接着,根据封装适配后的数据处理算子生成数据处理任务,将数据处理任务发送到计算平台进行处理,基于上述实施方式,能够将数据处理算子发送到不同的计算平台进行处理。
64.基于上述实施方法,可以将数据处理任务嵌入常见的分布式计算框架,如flink,也可以嵌入批量计算框架,如spark,甚至可以嵌入到一些数据接入系统,如flume,实现数据接入的同时完成处理。
65.参见图2,在一种可能的实施方式中,大数据处理系统还包括:插件框架和插件框架接口,插件框架接口具有接口标准;s2包括:
66.s21:根据插件框架接口的接口标准对数据处理算子进行改造,得到数据处理插
件;
67.s22:驱动插件框架通过插件框架接口调用数据处理插件,通过适配器对数据处理插件进行封装适配。
68.在s21中包括定义数据处理算子的输出数据类型和输入数据类型。
69.示例性地,接口标准可以包括对输出数据类型的约束和输出数据类型的约束,或者需要包括某个特定名称的方法。当使用面向对象的编程语言编写数据处理算子时,还需要在改造时根据该面向对象的编程语言的格式表明该数据处理算子是符合某个接口的接口标准。
70.在上述实现过程中,设置了插件框架和插件框架接口,插件框架接口具有相应的插件框架的接口标准,将数据处理算子根据接口标准进行改造,得到数据处理插件,插件框架能够通过接口调用数据处理插件,通过适配器对数据插件进行封装适配。基于上述实施方式,能够基于框架实现对数据处理算子的自动封装适配,提高封装适配效率。
71.在一种可能的实施方式中,插件框架的接口标准中不包括以下约束条件:
72.对数据处理算子的输入数据格式和输出数据格式的约束条件。
73.示例性地,当利用面向对象的编程语言来定义插件框架接口时,可以采用泛型等方法对插件框架接口以及插件框架接口内的方法进行定义,从而避免对数据处理算子的输出类型和输入类型进行约束。
74.在上述实现过程中,接口标准不包括对接口的输入数据类型、输出数据类型的约束,因此,提高了数据处理算子的灵活性,降低了数据处理算子和插件框架的耦合度,提高了数据处理算子的可重用性。
75.在一种可能的实施方式中,在对数据处理算子进行封装适配后,方法还包括:
76.驱动插件框架获取配置参数,配置参数用于对数据处理算子进行初始化。
77.在上述实现过程中,通过获取配置参数,实现对数据处理算子进行初始化,使得数据处理算子能适应不同的数据,进一步提高数据处理算子的可重用性。
78.在一种可能的实施方式中,数据处理算子内设置有用于对数据处理算子进行初始化的初始化模块,插件框架通过调用数据处理算子的模块对数据处理算子进行初始化。
79.示例性地,如果数据处理算子采用面向对象的编程语言实现,则对应的初始化模块可以是该数据处理算子的关于配置参数的函数等。基于初始化模块,可以对数据处理算子的性能进行调节。
80.在一种可能的实施方式中,s3包括:以数据处理算子为节点生成有向无环图;根据有向无环图生成数据处理任务。
81.在上述实现过程中,首先生成有向无环图,然后根据有向无环图生成数据处理任务,从而使得计算平台能够根据有向无环图中的连接顺序调用数据处理算子对数据进行处理,加快计算平台的处理效率。
82.在一种可能的实施方式中,大数据处理系统还包括:数据处理引擎,数据处理引擎通过数据处理算子的接口调用数据处理算子;
83.以数据处理算子为节点生成有向无环图包括:
84.确定用于生成数据处理任务的数据处理算子之间的连接顺序;
85.驱动数据处理引擎,以每个数据处理算子为节点根据连接顺序,生成有向无环图,
以使计算平台根据有向无环图的连接顺序调用数据处理算子对数据进行处理。
86.在上述实现过程中,数据处理引擎通过数据处理算子的接口调用数据处理算子,以每个数据处理算子为节点根据连接顺序,生成有向无环图,能够避免在生成有向无环图的过程中手动地对每个数据处理算子进行操作,提高了生成有向无环图的效率。
87.在一种可能的实施方式中,根据有向无环图生成数据处理任务,包括:
88.在有向无环图的起始节点之前加入输入插件,在有向无环图的结束节点之后加入输出插件,得到数据处理任务,数据输入插件用于将数据输入有向无环图,数据输出插件用于输出经处理后的数据。
89.在上述实现过程中,在有向无环图的基础上添加了输出插件和输入插件,输出插件用于将数据输入有向无环图,数据输出插件用于输出经处理后的数据。基于上述实施方式,能够使得计算平台通过数据处理任务将数据进行计算后输出。
90.当插件接口的接口标准不包括对数据处理算子的输出数据类型和输入数据类型的约束时,在s3之后,还包括:
91.根据有向无环图任意确定多个数据处理算子中沿有向无环图的连接顺序连接的第一数据处理算子和第二数据处理算子;
92.判断第一数据处理算子的输出数据类型和第二数据处理算子的输入数据类型是否匹配;
93.若否,发出告警信息。
94.在上述实现过程中,由于计算平台是根据有向无环图中的各个节点的连接顺序对数据进行处理的,而各个数据处理算子的输出数据类型和输入数据类型并不是完全相同的,因此,以有向无环图中的顺序进行数据计算时,如果前后连接的第一数据处理算子和第二数据处理算子的输出数据类型和输入类型不相匹配,则计算平台在处理的过程中会发生错误,因此,在生成数据处理任务之前,判断第一数据处理算子的输出数据类型和第二数据处理算子的输入数据类型是否匹配,若否,发出告警信息。
95.实施例2
96.参见图3,本技术实施例提供一种数据处理装置,应用于大数据处理系统,该装置包括:
97.确定模块1,用于确定用于生成数据处理任务的数据处理算子;
98.封装适配模块2,用于利用适配器对数据处理算子进行封装适配,以使封装适配后的数据处理算子符合相应计算平台的接口标准;
99.生成模块3,用于根据封装适配后的数据处理算子生成数据处理任务;
100.发送模块4,用于将数据处理任务发送到所述计算平台,以使计算平台根据数据处理任务对数据进行处理。
101.在上述实现过程中,首先确定数据处理算子,该数据处理算子拥有对数据进行处理的能力,为了要对大规模的数据进行处理,需要将数据处理算子发送到计算平台进行处理,而不同的计算平台对数据处理算子具有不同的要求,因此,利用适配器对数据处理算子进行封装适配,使得封装适配后的数据处理算子符合计算平台对数据处理算子的接口要求,使得计算平台能够调用数据处理算子对数据进行处理,接着,根据封装适配后的数据处理算子生成数据处理任务,将数据处理任务发送到计算平台进行处理。基于上述实施方式,
能够将数据处理算子发送到不同的计算平台进行处理。
102.在一种可能的实施方式中,大数据处理系统还包括:插件框架和插件框架接口,插件框架接口具有接口标准;封装适配模块2还用于根据插件框架接口的接口标准对数据处理算子进行改造,得到数据处理插件;驱动插件框架通过插件框架接口调用数据处理插件,通过适配器对数据处理插件进行封装适配。
103.在一种可能的实施方式中,插件框架的接口标准中不包括以下约束条件:对数据处理算子的输入数据格式和输出数据格式的约束条件。
104.在一种可能的实施方式中,装置还包括配置模块,用于驱动插件框架获取配置参数,配置参数用于对数据处理算子进行初始化。
105.在一种可能的实施方式中,生成模块3还用于以数据处理算子为节点生成有向无环图;根据有向无环图生成数据处理任务。
106.在一种可能的实施方式中,大数据处理系统还包括:数据处理引擎,数据处理引擎通过数据处理算子的接口调用数据处理算子,生成模块3还用于确定用于生成数据处理任务的数据处理算子之间的连接顺序;驱动数据处理引擎,以每个数据处理算子为节点根据连接顺序,生成有向无环图,以使计算平台根据有向无环图的连接顺序调用数据处理算子对数据进行处理。
107.在一种可能的实施方式中,生成模块3还用于在有向无环图的起始节点之前加入输入插件,在有向无环图的结束节点之后加入输出插件,得到数据处理任务,数据输入插件用于将数据输入有向无环图,数据输出插件用于输出经处理后的数据。
108.在一种可能的实施方式中,装置还包括检查模块,用于根据有向无环图任意确定多个数据处理算子中沿有向无环图的连接顺序连接的第一数据处理算子和第二数据处理算子;判断第一数据处理算子的输出数据类型和第二数据处理算子的输入数据类型是否匹配;若否,发出告警信息。
109.实施例3
110.本技术还提供一种电子设备,请参见图4,图4为本技术实施例提供的一种电子设备的结构框图。电子设备可以包括处理器41、通信接口42、存储器43和至少一个通信总线44。其中,通信总线44用于实现这些组件直接的连接通信。其中,本技术实施例中电子设备的通信接口42用于与其他节点设备进行信令或数据的通信。处理器41可以是一种集成电路芯片,具有信号的处理能力。
111.上述的处理器41可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器41也可以是任何常规的处理器等。
112.存储器43可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。存储器43中存储有计算机可读取指令,当计算机可读取指令由处理器41执行时,电子设备可以执行
上述方法实施例涉及的各个步骤。
113.可选地,电子设备还可以包括存储控制器、输入输出单元。
114.存储器43、存储控制器、处理器41、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线44实现电性连接。处理器41用于执行存储器43中存储的可执行模块,例如电子设备包括的软件功能模块或计算机程序。
115.输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。输入输出单元可以是,但不限于,鼠标和键盘等。
116.可以理解,图4所示的结构仅为示意,电子设备还可包括比图4中所示更多或者更少的组件,或者具有与图3所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
117.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当指令在计算机上运行时,计算机程序被处理器执行时实现方法实施例的方法,为避免重复,此处不再赘述。
118.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
119.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
120.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
121.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
122.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
123.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1