数据处理方法、系统、装置、设备和存储介质与流程
未命名
09-08
阅读:87
评论:0

1.本发明涉及大数据技术领域,尤其涉及一种数据处理方法、系统、装置、设备和存储介质。
背景技术:
2.在大数据处理领域,多采用存储和计算相分离的计算架构,将数据的计算和存储设置在不同的节点上,且多采用列式存储格式存储数据,比如使用parquet等格式存储数据。
3.实际应用中,经常会遇到需要读取大量数据并进行某种计算(比如求平均值、加和等聚合算子运算,数值过滤、文本筛选等过滤算子运算)的实际需求,受计算侧和存储侧网络带宽的限制,传输效率和计算效率往往较低。
技术实现要素:
4.本发明实施例提供一种数据处理方法、系统、装置、设备和存储介质,用以提升计算节点和存储节点的数据传输效率和计算性能。
5.第一方面,本发明实施例提供一种数据处理方法,应用于位于计算节点和存储节点之间的加速节点,所述方法包括:
6.接收计算节点发送的查询指令,所述查询指令中包括:目标数据的标识信息和需要对所述目标数据执行的计算指令;
7.根据所述目标数据的标识信息,获取所述目标数据;
8.根据所述计算指令对所述目标数据进行处理,以获取计算结果;
9.发送所述计算结果至所述计算节点。
10.第二方面,本发明实施例提供一种数据处理系统,所述系统包括:
11.计算节点集群、加速节点集群和存储节点集群,所述加速节点集群耦合于所述计算节点集群和所述存储节点集群之间;
12.所述加速节点集群中的任一加速节点,用于执行如第一方面所述的数据处理方法。
13.第三方面,本发明实施例提供一种数据处理装置,应用于位于计算节点和存储节点之间的加速节点,所述装置包括:
14.接收模块,用于接收计算节点发送的查询指令,所述查询指令中包括:目标数据的标识信息和需要对所述目标数据执行的计算指令;
15.处理模块,用于根据所述目标数据的标识信息,获取所述目标数据;根据所述计算指令对所述目标数据进行处理,以获取计算结果;
16.发送模块,用于发送所述计算结果至所述计算节点。
17.第四方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理
器至少可以实现如第一方面所述的数据处理方法。
18.第五方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的数据处理方法。
19.在本发明实施例提供的方案中,在计算节点和存储节点之间设置有加速节点,当计算节点需要从存储节点中查询目标数据并对目标数据执行相应计算(比如过滤、聚合等)时,加速节点首先接收计算节点发送的查询指令,其中查询指令中包括:目标数据的标识信息和需要对目标数据执行的计算指令;然后,根据目标数据的标识信息,获取目标数据,并根据计算指令对目标数据进行处理,以获取计算结果;最后,发送计算结果至计算节点。本方案中,将原本需要在计算节点执行的计算指令下推到加速节点执行,加速节点仅将计算结果传输给计算节点,一方面,能够减少向计算节点传输的数据量,提高数据传输效率;另一方面,还能够减少计算节点的资源使用压力,提升查询服务的响应速度。
附图说明
20.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明实施例提供的一种数据处理系统的架构示意图;
22.图2为本发明实施例提供的另一种数据处理系统的架构示意图;
23.图3为本发明实施例提供的一种数据处理方法的流程图;
24.图4为本发明实施例提供的另一种数据处理方法的流程图;
25.图5为本发明实施例提供的又一种数据处理方法的流程图;
26.图6为本发明实施例提供的一种加速节点的结构示意图;
27.图7为本发明实施例提供的一种数据处理装置的结构示意图;
28.图8为与图7所示实施例提供的数据处理装置对应的电子设备的结构示意图。
具体实施方式
29.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.需要说明的是,本发明实施例中所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
31.另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
32.图1为本发明实施例提供的一种数据处理系统的架构示意图。如图1所示,该数据
处理系统包括:计算节点集群、加速节点集群和存储节点集群。其中,加速节点集群耦合于计算节点集群和存储节点集群之间。
33.计算节点集群中包含有n个(n大于等于1)不同的计算节点,每个计算节点中主要部署有cpu等计算资源以及一定的存储资源,用于执行各种计算任务,比如:数据的过滤、聚合等。
34.存储节点集群中包含有p个(p大于等于1)不同的存储节点,每个存储节点中主要部署有磁盘等存储资源以及一定的计算资源,用于持久化存储数据。其中,数据在存储时,可以以列式存储格式存储,也可以以行式存储格式存储。
35.加速节点集群中包含有m个(m大于等于1)加速节点,每个加速节点对应有计算资源和存储资源,用于基于计算节点发送的查询指令,对计算节点查询的目标数据进行数据预处理,并将得到的数据量较小的处理结果反馈给计算节点,以实现数据传输的加速。其中,数据预处理过程将在下述实施例中进行详细展开,在此先聚焦于数据处理系统的构成。
36.其中,上述n、p、m的取值可以相同也可以不同。为便于表述,下述实施例中从计算节点、存储节点和加速节点的角度进行描述,其分别是相应集群中的任一个节点。
37.需要说明的是,本实施例中,加速节点位于计算节点和存储节点之间想要强调的是计算节点和存储节点之间的数据查询要经过加速节点,而非限定计算节点、加速节点和存储节点对应的硬件的部署情况。
38.具体实施过程中,本实施例中的加速节点可以看作一个软件组件,能够部署在具有存储资源和计算资源的节点上,并且其对应的部署情况可以是多样的。
39.例如,在存储和计算相分离的计算架构中,加速节点可以如图1所示意的情形,部署在计算节点集群与存储节点集群之外的其他节点集群上,通过其他节点集群上的存储资源和计算资源实现数据加速传输。
40.若不存在可用于部署加速节点的其他节点集群,加速节点也可部署在存储节点所在的节点集群上,即加速节点与存储节点部署在相同的节点集群上,如图2所示,图2为本发明实施例提供的另一种数据处理系统的架构示意图。在图2所示意的情形中,存储节点与加速节点类似均可以看作软件组件,比如实际应用中,存储节点可以是分布式文件系统(hadoop distributed system,简称hdfs)等。加速节点和存储节点混合部署,不仅能充分利用该节点的存储资源,还能充分利用该节点的计算资源以提供加速服务,实现存储节点和计算节点之间的数据加速传输。
41.可选地,加速节点也可部署在存储节点上,即将加速和存储部署于同一节点。举例来说,针对存储节点集群中包含的p个加速节点,可以在存储节点1上部署加速节点1,在存储节点2上部署加速节点2。
42.无论加速节点以上述哪种形式部署,均可以通过减少向计算节点传输的数据量实现加速传输。以图1为例,在具有了加速节点提供的加速服务之后,计算节点1和存储节点1之间的数据查询过程,由不存在加速节点1时的“计算节点1
→
存储节点1
→
计算节点1”,转变为了“计算节点1
→
加速节点1
→
存储节点1
→
加速节点1
→
计算节点1”。加速节点1用于对从存储节点1获取的目标数据进行预处理,减少需要传输给计算节点1的数据量。
43.实际应用中,不同的计算节点可能对应于不同的计算框架,比如:计算节点1对应的计算框架为spark,计算节点2对应的计算框架为hadoop,计算节点3对应的计算框架为
presto等。根据计算节点对应的计算框架的不同,可以将计算节点划分为不同的类型。为保证不同类型的计算节点能够与加速节点适配,提供了对应于多种计算节点类型的数据读取插件。
44.可选地,图1所述的数据处理系统中,还包括:控制节点,用于根据计算节点集群中目标计算节点的类型,确定与目标计算节点的类型匹配的数据读取插件,以部署在目标计算节点中。加速节点集群的各加速节点中提供统一的服务调用接口,服务调用接口支持设定的数据传输协议,其中,设定的数据传输协议约定了输入、输出的数据格式。计算节点通过其中部署的数据读取插件调用加速节点中的服务调用接口,与加速节点之间进行通信,比如:发出查询指令等。
45.实际应用中,若不存在与计算节点类型匹配的数据读取插件,用户也可根据加速节点中统一的服务调用接口,开发与自身的计算节点类型匹配的数据读取插件。
46.可选地,计算节点集群和加速节点集群之间可设置有相应的负载均衡算法,计算节点发送的查询指令可基于负载均衡算法发送给加速节点集群中的任一加速节点,图1中计算节点1和加速节点1之间的通信仅是一种示意,实际应用中,计算节点与加速节点之间的通信并不是固定不变的。比如:在t1时刻,加速节点x处于空闲状态,则基于负载均衡算法将目标计算节点在t1时刻发送的查询指令1发送给加速节点x,在t2时刻,加速节点y处于空闲状态,则基于负载均衡算法将目标计算节点在t2时刻发送的查询指令2发送给加速节点y等。
47.以上实施例仅对数据处理系统的基本架构进行了简单介绍,下面站在加速节点的角度,对加速节点在实现本发明实施例提供的数据处理方法时的具体执行逻辑进行介绍。
48.需要说明的是,本实施例的数据处理方法用于对以列式格式存储的数据进行处理。
49.图3为本发明实施例提供的一种数据处理方法的流程图,应用于位于计算节点和存储节点之间的加速节点,如图3所示,可以包括如下步骤:
50.301、接收计算节点发送的查询指令,查询指令中包括:目标数据的标识信息和需要对目标数据执行的计算指令。
51.302、根据目标数据的标识信息,获取目标数据。
52.303、根据计算指令对目标数据进行处理,以获取计算结果。
53.304、发送计算结果至计算节点。
54.本实施例中,加速节点是加速节点集群中的任一个节点,提供统一的服务调用接口,该服务调用接口支持设定的数据传输协议。计算节点中部署有适配于计算节点的数据读取插件,通过该数据读取插件能够调用加速节点中的服务调用接口,能够实现计算节点与加速节点的通信,比如:接收计算节点发出的查询指令、向计算节点发送计算结果等。
55.其中,查询指令中目标数据的标识信息可以为目标数据的存储路径信息等。查询指令中需要对目标数据执行的计算指令,可以理解为,在不存在加速节点的情况下,原本需要在计算节点对目标数据执行的算子对应的计算指令。
56.可选地,查询指令中需要对目标数据执行的计算指令可以是原本需要在计算节点对目标数据执行的计算指令的全部或部分。
57.举例来说,假设目标数据为数据a、数据b和数据c,原本在计算节点需要对数据a、
数据b和数据c求平均,则其对应的计算指令可以包括:计算指令1—对数据a、数据b和数据c进行求和,得到计算结果d,计算指令2—将计算结果d平均分为3份,得到计算结果e。基于此假设,查询指令中需要对目标数据执行的计算指令可以仅为计算指令1,或者为计算指令1和计算指令2。
58.实际应用中,计算节点可根据对目标数据执行的计算指令之间的关联关系等,确定查询指令中包括的需要对目标数据执行的计算指令。
59.可选地,计算节点也可根据需要对目标数据执行的算子类型,将预设类别的算子对应的计算指令添加到查询指令中,作为需要对目标数据执行的计算指令,比如:预设类别的算子为扫描、过滤、聚合、字段裁剪等简单算子,若计算节点需要对目标数据执行的算子类型中包括过滤、聚合,则将过滤、聚合算子对应的计算指令添加到查询指令中。
60.加速节点在根据目标数据的标识信息获取到目标数据后,会根据查询指令中包含的计算指令,对目标数据执行相应的计算处理。假设查询指令中包含的计算指令为上述计算指令1,则加速节点会对数据a、数据b和数据c进行求和,得到计算结果d,并将计算结果d发送给计算节点。
61.可以理解的是,基于目标数据的标识信息获取到的大量目标数据,在经过一定的计算处理之后,能够有效减少数据量,比如在上述举例中,若不在加速节点对目标数据执行计算指令1,则需要向计算节点发送数据a、数据b和数据c共3个数据;而在加速节点对目标数据执行计算指令1,则仅需向计算节点发送计算结果d这1个数据,有效的减少了需要传输的数据量。并且,计算节点在接收到计算结果d后仅需执行计算指令2,即可确定数据a、数据b和数据c的平均值,从而还能有效的减少计算节点的计算量,降低计算节点的cpu、内存等资源开销。
62.本实施例中,通过将原本需要在计算节点执行的计算指令下推到加速节点,以使加速节点对目标数据进行预计算,即执行查询指令中包括的需要对目标数据执行的计算指令,从而有效减少需要通过网络传输给计算节点的数据量,提高数据传输效率,缓解计算节点的计算压力。
63.图4为本发明实施例提供的另一种数据处理方法的流程图,应用于位于计算节点和存储节点之间的加速节点,如图4所示,可以包括如下步骤:
64.401、接收计算节点发送的查询指令,查询指令中包括:目标数据的标识信息和需要对目标数据执行的计算指令。
65.402、根据目标数据的标识信息,若确定加速节点本地缓存有目标数据,则从本地获取目标数据;若加速节点本地未缓存有目标数据,从与加速节点属于同一集群的其他加速节点中查询到目标数据,则从其他加速节点获取所述目标数据;若加速节点本地未缓存有目标数据,从与加速节点属于同一集群的其他加速节点中未查询到目标数据,则从存储节点中读取目标数据,存储节点用于持久化存储目标数据。
66.403、根据计算指令对目标数据进行处理,以获取计算结果。
67.404、发送计算结果至计算节点。
68.其中,步骤401、步骤403和步骤404的具体实施过程可参考前述实施例,在此不再进行赘述。
69.本实施例中,加速节点对应有存储资源,能够用于缓存目标数据。可以理解的是,
从加速节点的本地缓存中获取目标数据的速度要快于从存储节点中获取目标数据。另外,同一加速节点集群中同时部署有多个加速节点,多个加速节点可以通过内部网络相互传输本地缓存的目标数据,且同一加速节点集群中的加速节点之间传输目标数据的速度快于从存储节点中获取目标数据。
70.因此,为了提升加速节点根据目标数据的数据标识获取目标数据的速度,本实施例中在获取目标数据时,设置了相应的判断条件,以快速获取目标数据。以计算节点与加速节点集群中的加速节点x通信为例,举例说明加速节点获取目标数据的过程。
71.在获取目标数据时,首先,根据目标数据的标识信息,判断加速节点x的本地缓存中是否缓存有目标数据,若缓存有目标数据,则从直接从加速节点x本地缓存中获取目标数据。
72.若加速节点x本地缓存中不存在目标数据,则接着判断与加速节点x属于同一加速节点集群的其他加速节点中是否缓存有目标数据,若其他加速节点比如加速节点y的本地缓存中有目标数据,则通过加速节点y与加速节点x之间的内部网络,将加速节点y中的目标数据传输给加速节点x,以获取目标数据。其中,加速节点y本地缓存中的目标数据可能为之前加速节点y提供加速服务时缓存的、尚未被清除的数据。
73.若从与加速节点x属于同一集群的其他加速节点中也未查询到目标数据,则最后从用于持久化存储目标数据的存储节点中读取目标数据,并将读取到的目标数据存储到加速节点x的本地缓存。
74.可以理解的是,加速节点本地缓存的数据具有一定的时效性,前一时间段缓存的数据会被后一时间段缓存的数据覆盖。当加速节点在获取目标数据前,目标数据曾被加载到加速节点本地缓存或者加载到与加速节点同属于同一加速节点集群的其他加速节点本地缓存,且尚未被覆盖,则本发明实施例提供的目标数据获取方法,就能够有效节省目标数据的获取时间,提升加速节点的加速性能。并且还可以根据计算指令对目标数据进行处理,以减少本地缓存和计算节点之间的数据传输量,提高数据传输效率。
75.图5为本发明实施例提供的又一种数据处理方法的流程图,应用于位于计算节点和存储节点之间的加速节点,其中,加速节点中包括处理器和硬件加速器,如图5所示,可以包括如下步骤:
76.501、接收计算节点发送的查询指令,查询指令中包括:目标数据的标识信息和需要对目标数据执行的计算指令。
77.502、根据目标数据的标识信息,获取目标数据。
78.503、根据目标数据的数据类型和计算指令的指令类型,确定是否采用硬件加速器对目标数据进行计算指令的处理;若是,则通过处理器和硬件加速器对目标数据进行计算指令的处理,以获取计算结果;若否,则通过处理器对目标数据进行计算指令的处理,以获取计算结果。
79.504、发送计算结果至计算节点。
80.其中,步骤501、步骤502和步骤504的具体实施过程可参考前述实施例,在此不再进行赘述。
81.本实施例中,为提升加速节点的加速服务对应的计算性能,加速节点除了包括对多种数据类型和计算指令的指令类型通用的处理器(比如cpu)外,还提供了硬件加速器,比
如:fpga、gpu、avx等。其中,硬件加速器的加速计算能力体现在其对特定的数据类型或者计算指令类型具有良好的计算处理能力,比如:fpga擅长处理string类型的文本匹配、正则计算等,gpu擅长处理精确浮点数的比较和运算等。相较于cpu的处理效率,fpga、gpu等对其擅长处理的数据类型或算子类型会有更高的处理效率。
82.实际应用中,同一加速节点中可以同时部署多个不同的硬件加速器,比如分别部署有fpga、gpu、avx等,以适配多种数据类型和计算指令类型,提供更好的加速服务。
83.可选地,目标数据的数据类型可以包含在计算节点发送的查询指令中,也可基于历史数据的数据类型确定。
84.具体实施过程中,加速节点在获取到目标数据之后,会根据目标数据的数据类型和查询指令中包含的计算指令的指令类型,确定是否采用硬件加速器对目标数据进行计算指令的处理,也即确定加速节点中是否存在与目标数据的数据类型和计算指令的指令类型匹配的硬件加速器。
85.当加速节点中不存在与目标数据的数据类型和计算指令的指令类型匹配的硬件加速器时,则不采用硬件加速器对目标数据进行计算指令的处理,而是通过处理器对目标数据进行计算指令的处理,以获取计算结果。
86.为便于理解,结合图6进行说明。图6为本发明实施例提供的一种加速节点的结构示意图,如图6所示,加速节点通过处理器接收计算节点的查询指令,并通过处理器读取目标数据;之后,处理器对目标数据进行计算指令的处理,以获取计算结果,并将计算结果发送给计算节点。
87.实际应用中,由于存储节点可能是用户自行搭建的,也可能是从云厂商购买的存储服务,因此存储节点中的数据虽然是以列式存储格式存储的,但是可能是不同的列式存储格式,比如:存储节点1以parquet这种列式存储格式存储目标数据,存储节点2以orc这种列式存储格式存储目标数据。
88.本实施例中,处理器在读取到目标数据之后,可将目标数据的列式存储格式转换成统一的列式存储格式,也可称为第一列式存储格式,其中,第一列式存储格式可以和存储节点中目标数据对应的第二列式存储格式相同或不同。处理器在对目标数据执行完计算指令后,仍以第一列式存储格式将计算结果发送给计算节点。
89.本实施例中,第一列式存储格式可以为arrow这一列式存储格式,基于arrow零拷贝的特性,处理器在向计算节点发送计算结果以及计算节点读取计算结果时,无需进行序列化、反序列化,可直接将计算结果进行传输。若第一列式存储格式为arrow,则加速节点提供的服务调用接口所支持的设定的数据传输协议为arrow flight协议,该协议约束了输入、输出的数据格式,以实现统一的服务调用接口。
90.当加速节点中存在与目标数据的数据类型和计算指令的指令类型匹配的硬件加速器时,则采用硬件加速器对目标数据进行计算指令的处理,具体地,通过处理器和硬件加速器对目标数据进行计算指令的处理,以获取计算结果。
91.如图6所示,在通过处理器和硬件加速器对目标数据进行计算指令的处理时,首先,处理器将读取到的目标数据以第一列式存储格式存储至加速节点的内存中的第一存储地址。然后,将第一存储地址和查询指令中包含的需要对目标数据执行的计算指令发送给硬件加速器,以使硬件加速器根据第一存储地址获取目标数据,并根据计算指令对目标数
据进行处理以得到计算结果。接着,硬件加速器将计算结果以第一列式存储格式存储至内存中的第二存储地址,并将第二存储地址发送至处理器。最后,处理器从第二存储地址中获取计算结果,并将计算结果以第一列式存储格式发送给计算节点。
92.本实施例中,加速节点中通过部署具有加速计算能力的硬件加速器,使加速节点能够对与硬件加速器匹配的数据类型和计算指令类型进行快速计算处理,提高加速节点的计算处理性能。由于在加速节点的处理器与硬件加速器之间、处理器与计算节点之间,采用统一的列式存储格式例如arrow传输数据,能够有效减少数据的格式转换过程,高效传输数据。
93.以下将详细描述本发明的一个或多个实施例的数据处理装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
94.图7为本发明实施例提供的一种数据处理装置的结构示意图,该装置应用于位于计算节点和存储节点之间的加速节点,如图7所示,该装置包括:接收模块11、处理模块12、发送模块13。
95.接收模块11,用于接收计算节点发送的查询指令,所述查询指令中包括:目标数据的标识信息和需要对所述目标数据执行的计算指令。
96.处理模块12,用于根据所述目标数据的标识信息,获取所述目标数据;根据所述计算指令对所述目标数据进行处理,以获取计算结果。
97.发送模块13,用于发送所述计算结果至所述计算节点。
98.可选地,所述加速节点提供统一的服务调用接口,所述服务调用接口支持设定的数据传输协议;所述计算节点中部署有适配于所述计算节点的数据读取插件,以通过所述数据读取插件调用所述服务调用接口,发出所述查询指令。
99.可选地,所述加速节点中包括处理器和具有加速计算能力的硬件加速器。所述处理模块12,具体用于根据所述目标数据的数据类型和所述计算指令的指令类型,确定是否采用所述硬件加速器对所述目标数据进行所述计算指令的处理;若是,则通过所述处理器和所述硬件加速器对所述目标数据进行所述计算指令的处理,以获取计算结果;若否,则通过所述处理器对所述目标数据进行所述计算指令的处理,以获取计算结果。
100.可选地,所述处理模块12,还具体用于将读取到的所述目标数据以第一列式存储格式存储至所述加速节点的内存中的第一存储地址,所述目标数据由所述处理器读取;将所述第一存储地址和所述计算指令发送给所述硬件加速器,以使所述硬件加速器根据所述第一存储地址获取所述目标数据,根据所述计算指令对所述目标数据进行处理以得到计算结果,将所述计算结果以所述第一列式存储格式存储至所述内存中的第二存储地址,并将所述第二存储地址发送至所述处理器;通过所述处理器从所述第二存储地址中获取所述计算结果。
101.可选地,所述处理模块12,还具体用于根据所述目标数据的标识信息,若确定所述加速节点本地缓存有所述目标数据,则从本地获取所述目标数据;若所述加速节点本地未缓存有所述目标数据,从与所述加速节点属于同一集群的其他加速节点中查询到所述目标数据,则从所述其他加速节点获取所述目标数据;若所述加速节点本地未缓存有所述目标数据,从与所述加速节点属于同一集群的其他加速节点中未查询到所述目标数据,则从所述存储节点中读取所述目标数据,所述存储节点用于持久化存储所述目标数据。
102.可选地,述存储节点中以第二列式存储格式存储所述目标数据。
103.图7所示装置可以执行前述实施例中介绍的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
104.在一个可能的设计中,上述图7所示数据处理装置的结构可实现为一电子设备,如图8所示,该电子设备可以包括:存储器21、处理器22、通信接口23。其中,存储器21上存储有可执行代码,当所述可执行代码被处理器22执行时,使处理器22至少可以实现如前述实施例中提供的数据处理方法。
105.另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的数据处理方法。
106.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
107.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
108.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种数据处理方法,其特征在于,应用于位于计算节点和存储节点之间的加速节点,所述方法包括:接收计算节点发送的查询指令,所述查询指令中包括:目标数据的标识信息和需要对所述目标数据执行的计算指令;根据所述目标数据的标识信息,获取所述目标数据;根据所述计算指令对所述目标数据进行处理,以获取计算结果;发送所述计算结果至所述计算节点。2.根据权利要求1所述的方法,其特征在于,所述加速节点提供统一的服务调用接口,所述服务调用接口支持设定的数据传输协议;所述计算节点中部署有适配于所述计算节点的数据读取插件,以通过所述数据读取插件调用所述服务调用接口,发出所述查询指令。3.根据权利要求1所述的方法,其特征在于,所述加速节点中包括处理器和硬件加速器;所述根据所述计算指令对所述目标数据进行处理,以获取计算结果,包括:根据所述目标数据的数据类型和所述计算指令的指令类型,确定是否采用所述硬件加速器对所述目标数据进行所述计算指令的处理;若是,则通过所述处理器和所述硬件加速器对所述目标数据进行所述计算指令的处理,以获取计算结果;若否,则通过所述处理器对所述目标数据进行所述计算指令的处理,以获取计算结果。4.根据权利要求3所述的方法,其特征在于,所述通过所述处理器和所述硬件加速器对所述目标数据进行所述计算指令的处理,以获取计算结果,包括:将读取到的所述目标数据以第一列式存储格式存储至所述加速节点的内存中的第一存储地址,所述目标数据由所述处理器读取;将所述第一存储地址和所述计算指令发送给所述硬件加速器,以使所述硬件加速器根据所述第一存储地址获取所述目标数据,根据所述计算指令对所述目标数据进行处理以得到计算结果,将所述计算结果以所述第一列式存储格式存储至所述内存中的第二存储地址,并将所述第二存储地址发送至所述处理器;通过所述处理器从所述第二存储地址中获取所述计算结果。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述目标数据的标识信息,获取所述目标数据,包括:根据所述目标数据的标识信息,若确定所述加速节点本地缓存有所述目标数据,则从本地获取所述目标数据;若所述加速节点本地未缓存有所述目标数据,从与所述加速节点属于同一集群的其他加速节点中查询到所述目标数据,则从所述其他加速节点获取所述目标数据;若所述加速节点本地未缓存有所述目标数据,从与所述加速节点属于同一集群的其他加速节点中未查询到所述目标数据,则从所述存储节点中读取所述目标数据,所述存储节点用于持久化存储所述目标数据。6.根据权利要求1至4中任一项所述的方法,其特征在于,所述存储节点中以第二列式存储格式存储所述目标数据。7.一种数据处理系统,其特征在于,所述系统包括:计算节点集群、加速节点集群和存储节点集群,所述加速节点集群耦合于所述计算节
点集群和所述存储节点集群之间;所述加速节点集群中的任一加速节点,用于执行权利要求1-6中任一项所述的数据处理方法。8.根据权利要求7所述的系统,其特征在于,所述系统还包括:控制节点,所述控制节点用于根据所述计算节点集群中目标计算节点的类型,确定与所述目标计算节点的类型匹配的数据读取插件,以部署在所述目标计算节点中。9.一种数据处理装置,其特征在于,应用于位于计算节点和存储节点之间的加速节点,所述装置包括:接收模块,用于接收计算节点发送的查询指令,所述查询指令中包括:目标数据的标识信息和需要对所述目标数据执行的计算指令;处理模块,用于根据所述目标数据的标识信息,获取所述目标数据;根据所述计算指令对所述目标数据进行处理,以获取计算结果;发送模块,用于发送所述计算结果至所述计算节点。10.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至6中任一项所述的数据处理方法。11.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至6中任一项所述的数据处理方法。
技术总结
本发明实施例提供一种数据处理方法、系统、装置、设备和存储介质,该方法应用于位于计算节点和存储节点之间的加速节点,包括:接收计算节点发送的查询指令,查询指令中包括:目标数据的标识信息和需要对目标数据执行的计算指令;根据目标数据的标识信息,获取目标数据,并根据计算指令对目标数据进行处理,以获取计算结果;发送计算结果至计算节点。通过该方案将原本需要在计算节点执行的计算指令下推到加速节点执行,加速节点仅将计算结果传输给计算节点,减少了向计算节点传输的数据量,提高了数据传输效率,减少了计算节点的资源使用压力。用压力。用压力。
技术研发人员:师印
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2023.05.23
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/