数据处理方法及系统技术方案

技术编号:35565570 阅读:19 留言:0更新日期:2022-11-12 15:49
本说明书一个或多个实施例提供一种数据处理方法及系统,该方法应用于客户端;客户端维护了与所在的网络设备搭载的第一RDMA网卡对应的第一内存区,以及第二内存区;包括:响应于客户端发起的针对服务端的远程调用,将与远程调用对应的调用请求数据存储至第一内存区;其中,服务端维护了与所在的网络设备搭载的第二RDMA网卡对应的第三内存区,以及第四内存区;通过RDMA写操作,将调用请求数据从第一内存区写入至第三内存区,以使服务端从第三内存区中获取调用请求数据,基于调用请求数据进行调用处理,得到与调用请求数据对应的调用结果数据,以及将调用结果数据存储至第四内存区;通过RDMA读操作,将调用结果数据从第四内存区远程读取至第二内存区。远程读取至第二内存区。远程读取至第二内存区。

【技术实现步骤摘要】
数据处理方法及系统


[0001]本说明书一个或多个实施例涉及计算机
,尤其涉及一种数据处理方法及系统。

技术介绍

[0002]现如今的数据中心广泛采用分布式的部署方式,包括大规模的并行设备集群,以提高数据中心在存储、计算等方面的性能。通常,可以为各台设备配备一个RDMA(Remote Direct Memory Access,远程直接内存访问)网卡,以在不同的设备之间进行基于RDMA的数据传输。RDMA是一种直接存储器访问技术,可以将数据直接从一台设备的内存传输到另一台设备的内存,而不需要双方操作系统的介入,也不需要消耗太多设备的性能,由此可以实现高通量、低延时的数据传输。
[0003]对于本地设备需要将数据提供给远程设备进行数据处理的情况而言,基于RDMA可以实现两种数据处理模式:旁路模式和回复模式。其中,旁路模式必须依赖开发者设计特殊的数据结构和算法,对设备本身进行较大范围的修改,以使设备支持旁路模式,因此失去了可编程性;而回复模式则仍然需要远程设备的CPU参与数据传输,因此未能充分利用RDMA所具有的旁路特性。

技术实现思路

[0004]本说明书一个或多个实施例提供技术方案如下:
[0005]本说明书提供一种数据处理方法,所述方法应用于客户端;所述客户端所在的网络设备搭载了第一远程直接内存访问RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的第一内存区,以及用于存储调用结果数据的第二内存区;所述方法包括:
[0006]响应于所述客户端发起的针对所述服务端的远程调用,将与所述远程调用对应的调用请求数据存储至所述第一内存区;其中,所述服务端所在的网络设备搭载了第二RDMA网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;
[0007]通过RDMA写操作,将所述调用请求数据从所述第一内存区写入至所述第三内存区,以使所述服务端从所述第三内存区中获取所述调用请求数据,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,以及将所述调用结果数据存储至所述第四内存区;
[0008]通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
[0009]本说明书还提供一种数据处理方法,所述方法应用于服务端;所述服务端所在的网络设备搭载了第二RDMA的网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;所述方法包括:
[0010]从所述第三内存区中获取调用请求数据;其中,所述调用请求数据由客户端通过RDMA写操作,从第一内存区写入至第二内存区;所述客户端所在的网络设备搭载了第一RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的所述第一内存区,以及用于存储调用结果数据的所述第二内存区;
[0011]基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据;
[0012]将所述调用结果数据存储至所述第四内存区,以使所述客户端通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
[0013]本说明书还提供一种数据处理系统,包括:
[0014]客户端和服务端;其中,所述客户端所在的网络设备搭载了第一远程直接内存访问RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的第一内存区,以及用于存储调用结果数据的第二内存区;所述服务端所在的网络设备搭载了第二RDMA的网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;
[0015]所述客户端和所述服务端用于:
[0016]所述客户端响应于所述客户端发起的针对所述服务端的远程调用,将与所述远程调用对应的调用请求数据存储至所述第一内存区;
[0017]所述客户端通过RDMA写操作,将所述调用请求数据从所述第一内存区写入至所述第三内存区;
[0018]所述服务端从所述第三内存区中获取所述调用请求数据;
[0019]所述服务端基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据;
[0020]所述服务端将所述调用结果数据存储至所述第四内存区;
[0021]所述客户端通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
[0022]本说明书还提供一种电子设备,包括:
[0023]处理器;
[0024]用于存储处理器可执行指令的存储器;
[0025]其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。
[0026]本说明书还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
[0027]在上述技术方案中,客户端可以将调用请求数据存储至其维护的与第一RDMA网卡对应的第一内存区,并通过RDMA写操作,将该调用请求数据从该第一内存区写入至服务端维护的与第二RDMA网卡对应的第三内存区;该服务端可以从该第三内存区中获取该调用请求数据,基于该调用请求数据进行调用处理,得到与该调用请求数据对应的调用结果数据,以及将该调用结果数据存储至其维护的与该第二RDMA网卡对应的第四内存区;该客户端可以通过RDMA读操作,将该调用结果数据从该第四内存区远程读取至其维护的与该第一RDMA网卡对应的第二内存区。
[0028]采用上述方式,一方面,由于客户端可以将调用请求数据发送给服务端,由服务端负责基于调用请求数据进行调用处理,可以避免由客户端自行进行调用处理,而由服务端基于调用请求数据进行调用处理,在这种情况下,可以根据实际需求对客户端所调用的服务端中的函数、方法或者服务等进行灵活修改,保留了可编程性。
[0029]另一方面,由于服务端不需要将通过调用处理得到的调用结果数据主动返回给客户端,而是由客户端通过RDMA读操作,远程获取服务端中存储的调用结果数据,使得服务端的CPU不需要参与数据传输,可以降低服务端的CPU的性能消耗。
附图说明
[0030]图1是本说明书一示例性实施例示出的一种数据处理系统的架构图。
[0031]图2是本说明书一示例性实施例示出的一种数据处理模式的软件架构图。
[0032]图3是本说明书一示例性实施例示出的一种数据处理方法的流程图。
[0033]图4是本说明书一示例性实施例示出的另一种数据处理方法的流程图。
[0034]图5是本说明书一示例性实施例示出的一种设备的硬件结构的示意图。
[0035]图6是本说明书一示例性实施例示出的一种数据处理装置的框图。
[0036]图7是本说明书一示例性实施例示出的另一种数据处理装置的框图。
具体实施方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,所述方法应用于客户端;所述客户端所在的网络设备搭载了第一远程直接内存访问RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的第一内存区,以及用于存储调用结果数据的第二内存区;所述方法包括:响应于所述客户端发起的针对服务端的远程调用,将与所述远程调用对应的调用请求数据存储至所述第一内存区;其中,所述服务端所在的网络设备搭载了第二RDMA网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;通过RDMA写操作,将所述调用请求数据从所述第一内存区写入至所述第三内存区,以使所述服务端从所述第三内存区中获取所述调用请求数据,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,以及将所述调用结果数据存储至所述第四内存区;通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。2.根据权利要求1所述的方法,所述通过RDMA写操作,将所述调用请求数据从所述第一内存区写入至所述第三内存区,以使所述服务端从所述第三内存区中获取所述调用请求数据,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,以及将所述调用结果数据存储至所述第四内存区,包括:为所述调用请求数据设置状态信息,并通过RDMA写操作,将所述状态信息和所述调用请求数据从所述第一内存区写入至所述第三内存区,以使所述服务端从所述第三内存区中获取所述状态信息和所述调用请求数据,在基于所述状态信息确定所述调用请求数据为待处理状态时,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,以及将所述调用结果数据存储至所述第四内存区。3.根据权利要求1所述的方法,所述通过RDMA写操作,将所述调用请求数据从所述第一内存区写入至所述第三内存区,以使所述服务端从所述第三内存区中获取所述调用请求数据,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,以及将所述调用结果数据存储至所述第四内存区,包括:为所述调用请求数据设置状态信息和用于指示RDMA写操作是否执行完成的变量,并通过RDMA写操作,将所述变量、所述状态信息和所述调用请求数据从所述第一内存区写入至所述第三内存区,以使所述服务端从所述第三内存区中获取所述变量、所述状态信息和所述调用请求数据,在基于所述变量确定所述RDMA写操作执行完成,并基于所述状态信息确定所述调用请求数据为待处理状态时,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,以及将所述调用结果数据存储至所述第四内存区。4.根据权利要求1所述的方法,所述通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区,包括:按照预设的第一时间周期,周期性地通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。5.根据权利要求1所述的方法,所述客户端在所述第一RDMA网卡上预先注册了用于RDMA数据传输的若干内存区;所述方法还包括:从所述若干内存区中申请所述第一内存区或者所述第二内存区;
将所述第一内存区或者所述第二内存区释放回所述若干内存区中。6.一种数据处理方法,所述方法应用于服务端;所述服务端所在的网络设备搭载了第二RDMA的网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;所述方法包括:从所述第三内存区中获取...

【专利技术属性】
技术研发人员:马腾宋卓
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1