CN115334134A - 数据处理方法及系统 - Google Patents
数据处理方法及系统 Download PDFInfo
- Publication number
- CN115334134A CN115334134A CN202210870380.9A CN202210870380A CN115334134A CN 115334134 A CN115334134 A CN 115334134A CN 202210870380 A CN202210870380 A CN 202210870380A CN 115334134 A CN115334134 A CN 115334134A
- Authority
- CN
- China
- Prior art keywords
- memory area
- request data
- call
- call request
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Multi Processors (AREA)
Abstract
本说明书一个或多个实施例提供一种数据处理方法及系统,该方法应用于客户端;客户端维护了与所在的网络设备搭载的第一RDMA网卡对应的第一内存区,以及第二内存区;包括:响应于客户端发起的针对服务端的远程调用,将与远程调用对应的调用请求数据存储至第一内存区;其中,服务端维护了与所在的网络设备搭载的第二RDMA网卡对应的第三内存区,以及第四内存区;通过RDMA写操作,将调用请求数据从第一内存区写入至第三内存区,以使服务端从第三内存区中获取调用请求数据,基于调用请求数据进行调用处理,得到与调用请求数据对应的调用结果数据,以及将调用结果数据存储至第四内存区;通过RDMA读操作,将调用结果数据从第四内存区远程读取至第二内存区。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种数据处理方法及系统。
背景技术
现如今的数据中心广泛采用分布式的部署方式,包括大规模的并行设备集群,以提高数据中心在存储、计算等方面的性能。通常,可以为各台设备配备一个RDMA(RemoteDirect Memory Access,远程直接内存访问)网卡,以在不同的设备之间进行基于RDMA的数据传输。RDMA是一种直接存储器访问技术,可以将数据直接从一台设备的内存传输到另一台设备的内存,而不需要双方操作系统的介入,也不需要消耗太多设备的性能,由此可以实现高通量、低延时的数据传输。
对于本地设备需要将数据提供给远程设备进行数据处理的情况而言,基于RDMA可以实现两种数据处理模式:旁路模式和回复模式。其中,旁路模式必须依赖开发者设计特殊的数据结构和算法,对设备本身进行较大范围的修改,以使设备支持旁路模式,因此失去了可编程性;而回复模式则仍然需要远程设备的CPU参与数据传输,因此未能充分利用RDMA所具有的旁路特性。
发明内容
本说明书一个或多个实施例提供技术方案如下:
本说明书提供一种数据处理方法,所述方法应用于客户端;所述客户端所在的网络设备搭载了第一远程直接内存访问RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的第一内存区,以及用于存储调用结果数据的第二内存区;所述方法包括:
响应于所述客户端发起的针对所述服务端的远程调用,将与所述远程调用对应的调用请求数据存储至所述第一内存区;其中,所述服务端所在的网络设备搭载了第二RDMA网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;
通过RDMA写操作,将所述调用请求数据从所述第一内存区写入至所述第三内存区,以使所述服务端从所述第三内存区中获取所述调用请求数据,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,以及将所述调用结果数据存储至所述第四内存区;
通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
本说明书还提供一种数据处理方法,所述方法应用于服务端;所述服务端所在的网络设备搭载了第二RDMA的网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;所述方法包括:
从所述第三内存区中获取调用请求数据;其中,所述调用请求数据由客户端通过RDMA写操作,从第一内存区写入至第二内存区;所述客户端所在的网络设备搭载了第一RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的所述第一内存区,以及用于存储调用结果数据的所述第二内存区;
基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据;
将所述调用结果数据存储至所述第四内存区,以使所述客户端通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
本说明书还提供一种数据处理系统,包括:
客户端和服务端;其中,所述客户端所在的网络设备搭载了第一远程直接内存访问RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的第一内存区,以及用于存储调用结果数据的第二内存区;所述服务端所在的网络设备搭载了第二RDMA的网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;
所述客户端和所述服务端用于:
所述客户端响应于所述客户端发起的针对所述服务端的远程调用,将与所述远程调用对应的调用请求数据存储至所述第一内存区;
所述客户端通过RDMA写操作,将所述调用请求数据从所述第一内存区写入至所述第三内存区;
所述服务端从所述第三内存区中获取所述调用请求数据;
所述服务端基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据;
所述服务端将所述调用结果数据存储至所述第四内存区;
所述客户端通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
本说明书还提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。
本说明书还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
在上述技术方案中,客户端可以将调用请求数据存储至其维护的与第一RDMA网卡对应的第一内存区,并通过RDMA写操作,将该调用请求数据从该第一内存区写入至服务端维护的与第二RDMA网卡对应的第三内存区;该服务端可以从该第三内存区中获取该调用请求数据,基于该调用请求数据进行调用处理,得到与该调用请求数据对应的调用结果数据,以及将该调用结果数据存储至其维护的与该第二RDMA网卡对应的第四内存区;该客户端可以通过RDMA读操作,将该调用结果数据从该第四内存区远程读取至其维护的与该第一RDMA网卡对应的第二内存区。
采用上述方式,一方面,由于客户端可以将调用请求数据发送给服务端,由服务端负责基于调用请求数据进行调用处理,可以避免由客户端自行进行调用处理,而由服务端基于调用请求数据进行调用处理,在这种情况下,可以根据实际需求对客户端所调用的服务端中的函数、方法或者服务等进行灵活修改,保留了可编程性。
另一方面,由于服务端不需要将通过调用处理得到的调用结果数据主动返回给客户端,而是由客户端通过RDMA读操作,远程获取服务端中存储的调用结果数据,使得服务端的CPU不需要参与数据传输,可以降低服务端的CPU的性能消耗。
附图说明
图1是本说明书一示例性实施例示出的一种数据处理系统的架构图。
图2是本说明书一示例性实施例示出的一种数据处理模式的软件架构图。
图3是本说明书一示例性实施例示出的一种数据处理方法的流程图。
图4是本说明书一示例性实施例示出的另一种数据处理方法的流程图。
图5是本说明书一示例性实施例示出的一种设备的硬件结构的示意图。
图6是本说明书一示例性实施例示出的一种数据处理装置的框图。
图7是本说明书一示例性实施例示出的另一种数据处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
对于TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)而言,数据通常需要从本地设备的用户态内存发送到远程设备的用户态内存。具体地,本地设备需要先将数据从用户态内存复制到内核态内存,再在内核态内存中基于一系列多层网络协议对该数据进行封装,这些网络协议包括TCP、UDP(User DatagramProtocol,用户数据报协议)、IP、ICMP(Internet Control Message Protocol,互联网控制消息协议)等,最后将封装后的数据推送至网卡(Network Interface Card,NIC)进行网络传输;远程设备需要先将数据从NIC复制到内核态内存,再在内核态内存中基于一系列多层网络协议对该数据进行解封装,最后将解封装后的数据从内核态内存复制到用户态内存。
对于RDMA而言,可以通过RDMA网卡(RDMA NIC,RNIC),绕过内核,直接从用户态内存访问RDMA网卡。本地设备不需要复制数据,而可以直接将数据从用户态内存推送至RDMA网卡,通过RDMA网卡将该数据传输至远程设备的RDMA网卡,由远程设备将该数据从远程设备的RDMA网卡存储至远程设备的用户态内存。由此,即可实现由本地设备将数据从本地设备的内存写入至远程设备的内存。
也即,RDMA具有旁路特性,允许本地设备的CPU直接对远程设备的内存中的数据进行读/写,而不需要远程设备的CPU的参与。此外,RDMA还具有数据零拷贝特性,在本地设备和远程设备上都能够避免数据在用户态内存和内核态内存之间的显式拷贝。由于具有旁路、数据零拷贝等特性,以及更简单的协议栈,RDMA与TCP/IP相比具有更好的性能。
相关技术中,对于本地设备需要将数据提供给远程设备进行数据处理的情况而言,基于RDMA可以实现两种数据处理模式:旁路模式和回复模式。
旁路模式使得本地设备可以通过RDMA操作直接对远程设备的内存中的数据进行读/写,从而可以由本地设备在本地设备需要调用远程设备中部署的函数、方法或者服务等时,通过RDMA操作自行完成调用,得到相应的调用结果数据,而不需要远程设备的CPU的参与,因此可以降低远程设备的CPU的性能消耗。然而,旁路模式必须依赖开发者设计特殊的数据结构和算法,对设备本身进行较大范围的修改,以使设备支持旁路模式,因此失去了可编程性。
回复模式通常采用RPC(Remote Procedure Call,远程过程调用)机制。RPC机制采用C/S(Client/Server,客户端/服务端)架构;客户端可以对服务端进行RPC调用,以调用服务端中部署的函数、方法或者服务等;服务端中的函数、方法或者服务等通常被封装为RPC接口。具体地,客户端可以通过RDMA操作将包括需要调用的函数、方法或者服务等的标识,以及相关的调用参数等的RPC调用请求数据发送给服务端,由服务端基于该RPC调用请求数据进行RPC调用,得到与该RPC调用请求数据对应的RPC调用结果数据,并通过RDMA操作将该RPC调用结果数据主动返回给客户端。回复模式采用RDMA替换了TCP/IP来进行数据传输,但不需要修改面向用户态线程提供的RPC接口,因此具有良好的可编程性。然而,回复模式仍然需要服务端的CPU参与数据传输,因此未能充分利用RDMA所具有的旁路特性。
在本说明书一个或多个实施例提供数据传输的技术方案中,客户端可以将调用请求数据存储至其维护的与第一RDMA网卡对应的第一内存区,并通过RDMA写操作,将该调用请求数据从该第一内存区写入至服务端维护的与第二RDMA网卡对应的第三内存区;该服务端可以从该第三内存区中获取该调用请求数据,基于该调用请求数据进行调用处理,得到与该调用请求数据对应的调用结果数据,以及将该调用结果数据存储至其维护的与该第二RDMA网卡对应的第四内存区;该客户端可以通过RDMA读操作,将该调用结果数据从该第四内存区远程读取至其维护的与该第一RDMA网卡对应的第二内存区。
在具体实现时,上述客户端所在的网络设备可以搭载RDMA网卡(可称为第一RDMA网卡),以实现基于RDMA的数据传输。进一步地,该客户端可以维护与该第一RDMA网卡对应的用于存储调用请求数据的内存区(可称为第一内存区),以及用于存储调用结果数据的内存区(可称为第二内存区)。
与之类似的,C/S架构中的服务端所在的网络设备可以搭载RDMA网卡(可称为第二RDMA网卡),以实现基于RDMA的数据传输。进一步地,该服务端可以维护与该第二RDMA网卡对应的用于存储调用请求数据的内存区(可称为第三内存区),以及用于存储调用结果数据的内存区(可称为第四内存区)。
上述客户端在需要对上述服务端进行远程调用,以调用该服务端中的函数、方法或者服务等时,可以生成与针对该服务端的远程调用对应的调用请求数据。在这种情况下,该客户端可以将该调用请求数据存储至该客户端中的上述第一内存区。
上述客户端可以通过RDMA写操作,将上述调用请求数据从该客户端中的上述第一内存区,写入至上述服务端中的上述第三内存区。
上述服务端可以从该服务端中的上述第三内存区中获取上述调用请求数据。
在上述情况下,上述服务端可以基于上述调用请求数据进行调用处理,得到与该调用请求数据对应的调用结果数据。
后续,上述服务端可以将上述调用结果数据存储至该服务端中的上述第四内存区。
上述客户端可以通过RDMA读操作,将上述调用结果数据从上述服务端中的上述第四内存区,远程读取至该客户端中的上述第二内存区。
也即,上述服务端只需要基于调用请求数据进行调用处理,而不需要将通过调用处理得到的调用结果数据主动返回给上述客户端。
采用上述方式,一方面,由于客户端可以将调用请求数据发送给服务端,由服务端负责基于调用请求数据进行调用处理,可以避免由客户端自行进行调用处理,而由服务端基于调用请求数据进行调用处理,在这种情况下,可以根据实际需求对客户端所调用的服务端中的函数、方法或者服务等进行灵活修改,保留了可编程性。
另一方面,由于服务端不需要将通过调用处理得到的调用结果数据主动返回给客户端,而是由客户端通过RDMA读操作,远程获取服务端中存储的调用结果数据,使得服务端的CPU不需要参与数据传输,可以降低服务端的CPU的性能消耗。
请参考图1,图1是本说明书一示例性实施例示出的一种数据处理系统的架构图。
如图1所示,上述数据处理系统可以包括网络10、服务端11、若干客户端,如客户端13、客户端14等。
服务端11可以为包含一独立主机的物理服务端,或者该服务端11可以为主机集群承载的虚拟服务端、云服务端等。客户端13至14可以是计算机、笔记本电脑、平板电脑、掌上电脑(PDAs,Personal Digital Assistants)等电子设备,本说明书一个或多个实施例并不对此进行限制。网络10可以包括多种类型的有线或无线网络。
在实际应用中,客户端13至14与服务端11可以构成C/S架构;可以为服务端11、客户端13、客户端14分别配备支持RDMA的网卡,以在客户端13至14与服务端11之间进行基于RDMA的数据传输。
如图2所示,图2是本说明书一示例性实施例示出的一种数据处理模式的软件架构图。请结合图2,参考图3,图3是本说明书一示例性实施例示出的一种数据处理方法的流程图。
上述数据处理方法可以应用于C/S架构中的客户端。例如,该数据处理方法可以由该客户端中的用户态线程实现。
在本实施例中,上述客户端所在的网络设备可以搭载RDMA网卡(可称为第一RDMA网卡),以实现基于RDMA的数据传输。进一步地,该客户端可以维护与该第一RDMA网卡对应的用于存储调用请求数据的内存区(可称为第一内存区),以及用于存储调用结果数据的内存区(可称为第二内存区)。
与之类似的,C/S架构中的服务端所在的网络设备可以搭载RDMA网卡(可称为第二RDMA网卡),以实现基于RDMA的数据传输。进一步地,该服务端可以维护与该第二RDMA网卡对应的用于存储调用请求数据的内存区(可称为第三内存区),以及用于存储调用结果数据的内存区(可称为第四内存区)。
在实际应用中,上述第一内存区、上述第二内存区可以位于上述客户端的用户态内存中;上述第三内存区、上述第四内存区可以位于上述服务端的用户态内存中。
在示出的一种实施方式中,为了通过上述第一RDMA网卡进行基于RDMA的数据传输,通常会在该第一RDMA网卡上预先注册用于RDMA数据传输的若干内存区,因此可以将这若干内存区作为与该第一RDMA网卡对应的内存区。
后续,上述客户端可以从上述若干内存区中申请预设大小的内存区,作为上述第一内存区或者上述第二内存区。例如,可以预先将该客户端所在的网络设备上搭载的内存中的若干内存区在该第一RDMA网卡上进行注册,使得该第一RDMA网卡后续可以使用这若干内存区进行基于RDMA的数据传输,在这种情况下,可以从这若干内存区中,为该第一内存区或者该第二内存区分配预设大小的内存区。
相应的,上述客户端可以将上述第一内存区或者上述第二内存区释放回上述若干内存区中,例如:可以从该第一内存区或者该第二内存区中将预设大小的内存区释放回这若干内存区中。
与之类似的,在示出的一种实施方式中,为了通过上述第二RDMA网卡进行基于RDMA的数据传输,通常会在该第二RDMA网卡上预先注册用于RDMA数据传输的若干内存区,因此可以将这若干内存区作为与该第二RDMA网卡对应的内存区。
后续,上述服务端可以从上述若干内存区中申请预设大小的内存区,作为上述第三内存区或者上述第四内存区。例如,可以预先将该服务端所在的网络设备上搭载的内存中的若干内存区在该第二RDMA网卡上进行注册,使得该第二RDMA网卡后续可以使用这若干内存区进行基于RDMA的数据传输,在这种情况下,可以从这若干内存区中,为该第三内存区或者该第四内存区分配预设大小的内存区。
相应的,上述服务端可以将上述第三内存区或者上述第四内存区释放回上述若干内存区中,例如:可以从该第三内存区或者该第四内存区中将预设大小的内存区释放回这若干内存区中。
在实际应用中,上述客户端可以以调用接口的方式,申请或者释放上述第一内存区或者上述第二内存区。同理,上述服务端可以以调用接口的方式,申请或者释放上述第三内存区或者上述第四内存区。
用于申请和释放内存区的接口可以如下表1所示:
接口名称 | 接口描述 |
malloc_buf(size) | 申请在RDMA网卡上注册完成的内存区 |
free_buf(local_buf) | 释放通过malloc_buf接口申请的内存区 |
表1
其中,malloc_buf接口中的size表示所申请的内存区的大小,free_buf接口中的local_buf表示所申请的内存区。
以调用接口的方式,申请或者释放用于基于RDMA进行数据传输的内存区,可以根据实际需求对接口进行灵活修改,保留了可编程性。
上述数据处理方法可以包括以下步骤:
步骤301:响应于所述客户端发起的针对所述服务端的远程调用,将与所述远程调用对应的调用请求数据存储至所述第一内存区。
在本实施例中,上述客户端在需要对上述服务端进行远程调用,以调用该服务端中的函数、方法或者服务等时,可以生成与针对该服务端的远程调用对应的调用请求数据。在这种情况下,该客户端可以将该调用请求数据存储至该客户端中的上述第一内存区。
在实际应用中,上述客户端发起的针对上述服务端的远程调用,具体可以是RPC调用,也可以是符合实际需求的其他类型的调用,本说明书一个或多个实施例并不对此进行限制。
步骤302:通过RDMA写操作,将所述调用请求数据从所述第一内存区写入至所述第三内存区,以使所述服务端从所述第三内存区中获取所述调用请求数据,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,以及将所述调用结果数据存储至所述第四内存区。
在本实施例中,上述客户端可以通过RDMA写操作,将上述调用请求数据从该客户端中的上述第一内存区,写入至上述服务端中的上述第三内存区。
具体地,上述客户端可以将上述调用请求数据从其用户态内存推送至上述第一RDMA网卡,通过该第一RDMA网卡将该调用请求数据传输至上述第二RDMA网卡,由上述服务端将该调用请求数据从该第二RDMA网卡存储至其用户态内存。
上述服务端(例如可以是该服务端中的用户态线程)可以从该服务端中的上述第三内存区中获取上述调用请求数据。
在示出的一种实施方式中,上述服务端可以按照预设的时间周期(可称为第二时间周期),周期性地从上述第三内存区中获取数据,从而可以获取到上述调用请求数据。
在上述情况下,上述服务端可以基于上述调用请求数据进行调用处理,得到与该调用请求数据对应的调用结果数据。
后续,上述服务端可以将上述调用结果数据存储至该服务端中的上述第四内存区。
步骤303:通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
在本实施例中,上述客户端可以通过RDMA读操作,将上述调用结果数据从上述服务端中的上述第四内存区,远程读取至该客户端中的上述第二内存区。
在示出的一种实施方式中,上述客户端可以按照预设的时间周期(可称为第一时间周期),周期性地通过RDMA读操作,从上述服务端中的上述第四内存区中远程读取数据,从而可以远程读取到上述调用结果数据。
也即,上述服务端只需要基于调用请求数据进行调用处理,而不需要将通过调用处理得到的调用结果数据主动返回给上述客户端。
在实际应用中,上述客户端可以以调用接口的方式,执行上述RDMA写操作或者上述RDMA读操作。相应的,上述服务端可以以调用接口的方式,获取上述调用请求数据或者存储上述调用请求数据。
与上述功能对应的接口可以如下表2所示:
表2
其中,client_send接口和client_recv接口中的server_id表示服务端的标识;server_send接口和server_recv接口中的client_id表示客户端的标识;client_send接口和server_send接口中的size表示数据的大小。
也即,上述客户端可以调用client_send接口,通过RDMA写操作,将上述调用请求数据从该客户端中的上述第一内存区,写入至上述服务端中的上述第三内存区;调用client_recv接口,通过RDMA读操作,将上述调用结果数据从上述服务端中的上述第四内存区,远程读取至该客户端中的上述第二内存区。
而上述服务端可以调用server_send接口,从该服务端中的上述第三内存区中获取上述调用请求数据;调用server_recv接口,将上述调用结果数据存储至该服务端中的上述第四内存区。
以调用接口的方式,执行上述RDMA写操作或者上述RDMA读操作,或者获取上述调用请求数据或者存储上述调用请求数据,可以根据实际需求对接口进行灵活修改,保留了可编程性。
在示出的一种实施方式中,上述客户端在通过RDMA写操作,将上述调用请求数据从上述第一内存区写入至上述第三内存区时,具体可以先为该调用请求数据设置对应的状态信息,再通过RDMA写操作,将该状态信息和该调用请求数据从该第一内存区写入至该第三内存区。
在这种情况下,上述服务端可以从该服务端中的上述第三内存区中获取上述状态信息和上述调用请求数据。后续,可以先基于该状态信息确定该调用请求数据是否为待处理状态。如果该调用请求数据为待处理状态,则可以再基于该调用请求数据进行调用处理,得到与该调用请求数据对应的调用结果数据,以避免对调用请求数据的重复处理。
需要说明的是,为了便于检测与调用请求数据对应的状态信息,可以将状态信息作为头部信息,添加在调用请求数据之前,如下表3所示:
状态信息 | 请求数据 |
表3
在这种情况下,上述服务端可以先获取到与调用请求数据对应的状态信息,并基于该状态信息确定该调用请求数据是否为待处理状态。
在示出的另一种实施方式中,上述客户端在通过RDMA写操作,将上述调用请求数据从上述第一内存区写入至上述第三内存区时,具体可以先为该调用请求数据设置对应的状态信息和用于指示RDMA写操作是否执行完成的变量,再通过RDMA写操作,将该变量、该状态信息和该调用请求数据从该第一内存区写入至该第三内存区。
在这种情况下,上述服务端可以从该服务端中的上述第三内存区中获取上述变量、上述状态信息和上述调用请求数据。后续,可以先基于该变量确定上述RDMA写操作是否执行完成,并基于该状态信息确定该调用请求数据是否为待处理状态。如果该RDMA写操作执行完成,且该调用请求数据为待处理状态,则可以再基于该调用请求数据进行调用处理,得到与该调用请求数据对应的调用结果数据,以确保获取到完整的调用请求数据,同时避免对调用请求数据的重复处理。
需要说明的是,一方面,为了便于检测与调用请求数据对应的状态信息,可以将状态信息作为头部信息,添加在请求数据之前,另一方面,为了便于检测用于指示RDMA写操作是否执行完成的变量,可以将该变量作为尾部变量,添加在调用请求数据之后,如下表4所示:
状态信息 | 请求数据 | 变量 |
表4
在这种情况下,上述服务端一方面可以先获取到与调用请求数据对应的状态信息,并基于该状态信息确定该调用请求数据是否为待处理状态,另一方面可以在基于调用请求数据后的变量确定RDMA写操作执行完成时,确定已经接收到完整的该调用请求数据。
在实际应用中,为上述客户端中的上述第一内存区中的调用请求数据设置的头部信息,除了可以包括与该调用请求数据对应的状态信息之外,还可以包括用于指示该调用请求数据的数据大小的信息,如下表5所示:
状态信息 | 数据大小信息 | 请求数据 | 变量 |
表5
与之类似的,还可以为上述服务端中的上述第四内存区中的调用结果数据设置头部信息。其中,该头部信息可以包括与该调用结果数据对应的状态信息、用于指示该调用结果数据的数据大小的信息、用于指示该服务端基于相应的调用请求数据进行调用处理以得到该调用结果数据的耗时时长的信息,如下表6所示:
状态信息 | 数据大小信息 | 耗时时长信息 | 结果数据 | 变量 |
表6
其中,服务端基于调用请求数据进行调用处理以得到调用结果数据的耗时时长,可以用来体现该服务端的负载情况。
在上述技术方案中,客户端可以将调用请求数据存储至其维护的与第一RDMA网卡对应的第一内存区,并通过RDMA写操作,将该调用请求数据从该第一内存区写入至服务端维护的与第二RDMA网卡对应的第三内存区;该服务端可以从该第三内存区中获取该调用请求数据,基于该调用请求数据进行调用处理,得到与该调用请求数据对应的调用结果数据,以及将该调用结果数据存储至其维护的与该第二RDMA网卡对应的第四内存区;该客户端可以通过RDMA读操作,将该调用结果数据从该第四内存区远程读取至其维护的与该第一RDMA网卡对应的第二内存区。
采用上述方式,一方面,由于客户端可以将调用请求数据发送给服务端,由服务端负责基于调用请求数据进行调用处理,可以避免由客户端自行进行调用处理,而由服务端基于调用请求数据进行调用处理,在这种情况下,可以根据实际需求对客户端所调用的服务端中的函数、方法或者服务等进行灵活修改,保留了可编程性。
另一方面,由于服务端不需要将通过调用处理得到的调用结果数据主动返回给客户端,而是由客户端通过RDMA读操作,远程获取服务端中存储的调用结果数据,使得服务端的CPU不需要参与数据传输,可以降低服务端的CPU的性能消耗。
请结合图2,参考图4,图4是本说明书一示例性实施例示出的另一种数据处理方法的流程图。
上述数据处理方法可以应用于C/S架构中的服务端。例如,该数据处理方法可以由该服务端中的用户态线程实现。
上述数据处理方法可以包括以下步骤:
步骤401:从所述第三内存区中获取调用请求数据;其中,所述调用请求数据由客户端通过RDMA写操作,从第一内存区写入至第二内存区。
步骤402:基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据。
步骤403:将所述调用结果数据存储至所述第四内存区,以使所述客户端通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
上述步骤401至403的具体实现可以参考前述步骤301至303,本说明书在此不再赘述。
在上述技术方案中,客户端可以将调用请求数据存储至其维护的与第一RDMA网卡对应的第一内存区,并通过RDMA写操作,将该调用请求数据从该第一内存区写入至服务端维护的与第二RDMA网卡对应的第三内存区;该服务端可以从该第三内存区中获取该调用请求数据,基于该调用请求数据进行调用处理,得到与该调用请求数据对应的调用结果数据,以及将该调用结果数据存储至其维护的与该第二RDMA网卡对应的第四内存区;该客户端可以通过RDMA读操作,将该调用结果数据从该第四内存区远程读取至其维护的与该第一RDMA网卡对应的第二内存区。
采用上述方式,一方面,由于客户端可以将调用请求数据发送给服务端,由服务端负责基于调用请求数据进行调用处理,可以避免由客户端自行进行调用处理,而由服务端基于调用请求数据进行调用处理,在这种情况下,可以根据实际需求对客户端所调用的服务端中的函数、方法或者服务等进行灵活修改,保留了可编程性。
另一方面,由于服务端不需要将通过调用处理得到的调用结果数据主动返回给客户端,而是由客户端通过RDMA读操作,远程获取服务端中存储的调用结果数据,使得服务端的CPU不需要参与数据传输,可以降低服务端的CPU的性能消耗。
请参考图5,图5是本说明书一示例性实施例示出的一种设备的硬件结构的示意图。
如图5所示,在硬件层面,上述设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器710,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器710中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑模块,也可以是硬件或逻辑器件。
请参考图6,图6是本说明书一示例性实施例示出的一种数据处理装置的框图。
上述数据处理装置可以应用于客户端;所述客户端所在的网络设备搭载了第一远程直接内存访问RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的第一内存区,以及用于存储调用结果数据的第二内存区。
上述数据处理装置可以包括:
存储模块601,用于响应于所述客户端发起的针对所述服务端的远程调用,将与所述远程调用对应的调用请求数据存储至所述第一内存区;其中,所述服务端所在的网络设备搭载了第二RDMA网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;
发送模块602,用于通过RDMA写操作,将所述调用请求数据从所述第一内存区写入至所述第三内存区,以使所述服务端从所述第三内存区中获取所述调用请求数据,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,以及将所述调用结果数据存储至所述第四内存区;
获取模块603,用于通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
可选的,所述发送模块具体用于:
为所述调用请求数据设置状态信息,并通过RDMA写操作,将所述状态信息和所述调用请求数据从所述第一内存区写入至所述第三内存区,以使所述服务端从所述第三内存区中获取所述状态信息和所述调用请求数据,在基于所述状态信息确定所述调用请求数据为待处理状态时,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,以及将所述调用结果数据存储至所述第四内存区。
可选的,所述发送模块具体用于:
为所述调用请求数据设置状态信息和用于指示RDMA写操作是否执行完成的变量,并通过RDMA写操作,将所述变量、所述状态信息和所述调用请求数据从所述第一内存区写入至所述第三内存区,以使所述服务端从所述第三内存区中获取所述变量、所述状态信息和所述调用请求数据,在基于所述变量确定所述RDMA写操作执行完成,并基于所述状态信息确定所述调用请求数据为待处理状态时,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,以及将所述调用结果数据存储至所述第四内存区。
可选的,所述获取模块具体用于:
按照预设的第一时间周期,周期性地通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
可选的,所述客户端在所述第一RDMA网卡上预先注册了用于RDMA数据传输的若干内存区;所述装置还包括:
申请模块,用于从所述若干内存区中申请所述第一内存区或者所述第二内存区;
释放模块,用于将所述第一内存区或者所述第二内存区释放回所述若干内存区中。
请参考图7,图7是本说明书一示例性实施例示出的另一种数据处理装置的框图。
上述数据处理装置可以应用于服务端;所述服务端所在的网络设备搭载了第二RDMA的网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区。
上述数据处理装置可以包括:
获取模块701,用于从所述第三内存区中获取调用请求数据;其中,所述调用请求数据由客户端通过RDMA写操作,从第一内存区写入至第二内存区;所述客户端所在的网络设备搭载了第一RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的所述第一内存区,以及用于存储调用结果数据的所述第二内存区;
处理模块702,用于基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据;
存储模块703,用于将所述调用结果数据存储至所述第四内存区,以使所述客户端通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
可选的,所述获取模块具体用于:
从所述第三内存区中获取调用请求数据和所述客户端为所述调用请求数据设置的状态信息;
所述处理模块具体用于:
基于所述状态信息确定所述调用请求数据是否为待处理状态;
如果所述调用请求数据为待处理状态,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据。
可选的,所述获取模块具体用于:
从所述第三内存区中获取调用请求数据、所述客户端为所述调用请求数据设置的状态信息和用于指示RDMA写操作是否执行完成的变量;
所述处理模块具体用于:
基于所述变量确定所述RDMA写操作是否执行完成,并基于所述状态信息确定所述调用请求数据是否为待处理状态;
如果所述RDMA写操作执行完成,且所述调用请求数据为待处理状态,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据。
可选的,所述获取模块具体用于:
按照预设的第二时间周期,周期性地从所述第三内存区中获取调用请求数据。
可选的,所述服务端在所述第二RDMA网卡上预先注册了用于RDMA数据传输的若干内存区;所述装置还包括:
申请模块,用于从所述若干内存区中申请所述第三内存区或者所述第四内存区;
释放模块,用于将所述第三内存区或者所述第四内存区释放回所述若干内存区中。
继续参考图1,上述数据处理系统可以包括:
客户端和服务端;其中,所述客户端所在的网络设备搭载了第一远程直接内存访问RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的第一内存区,以及用于存储调用结果数据的第二内存区;所述服务端所在的网络设备搭载了第二RDMA的网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;
所述客户端和所述服务端用于:
所述客户端响应于所述客户端发起的针对所述服务端的远程调用,将与所述远程调用对应的调用请求数据存储至所述第一内存区;
所述客户端通过RDMA写操作,将所述调用请求数据从所述第一内存区写入至所述第三内存区;
所述服务端从所述第三内存区中获取所述调用请求数据;
所述服务端基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据;
所述服务端将所述调用结果数据存储至所述第四内存区;
所述客户端通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
对于装置实施例和系统实施例而言,其基本对应于方法实施例,因此相关之处参见方法实施例的部分说明即可。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书的技术方案的目的。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (13)
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网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;所述方法包括:
从所述第三内存区中获取调用请求数据;其中,所述调用请求数据由客户端通过RDMA写操作,从第一内存区写入至第二内存区;所述客户端所在的网络设备搭载了第一RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的所述第一内存区,以及用于存储调用结果数据的所述第二内存区;
基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据;
将所述调用结果数据存储至所述第四内存区,以使所述客户端通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
7.根据权利要求6所述的方法,所述从所述第三内存区中获取调用请求数据,包括:
从所述第三内存区中获取调用请求数据和所述客户端为所述调用请求数据设置的状态信息;
所述基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,包括:
基于所述状态信息确定所述调用请求数据是否为待处理状态;
如果所述调用请求数据为待处理状态,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据。
8.根据权利要求6所述的方法,所述从所述第三内存区中获取调用请求数据,包括:
从所述第三内存区中获取调用请求数据、所述客户端为所述调用请求数据设置的状态信息和用于指示RDMA写操作是否执行完成的变量;
所述基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据,包括:
基于所述变量确定所述RDMA写操作是否执行完成,并基于所述状态信息确定所述调用请求数据是否为待处理状态;
如果所述RDMA写操作执行完成,且所述调用请求数据为待处理状态,基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据。
9.根据权利要求6所述的方法,所述从所述第三内存区中获取调用请求数据,包括:
按照预设的第二时间周期,周期性地从所述第三内存区中获取调用请求数据。
10.根据权利要求6所述的方法,所述服务端在所述第二RDMA网卡上预先注册了用于RDMA数据传输的若干内存区;所述方法还包括:
从所述若干内存区中申请所述第三内存区或者所述第四内存区;
将所述第三内存区或者所述第四内存区释放回所述若干内存区中。
11.一种数据处理系统,包括:
客户端和服务端;其中,所述客户端所在的网络设备搭载了第一远程直接内存访问RDMA网卡;所述客户端维护了与所述第一RDMA网卡对应的用于存储调用请求数据的第一内存区,以及用于存储调用结果数据的第二内存区;所述服务端所在的网络设备搭载了第二RDMA的网卡;所述服务端维护了与所述第二RDMA网卡对应的用于存储调用请求数据的第三内存区,以及用于存储调用结果数据的第四内存区;
所述客户端和所述服务端用于:
所述客户端响应于所述客户端发起的针对所述服务端的远程调用,将与所述远程调用对应的调用请求数据存储至所述第一内存区;
所述客户端通过RDMA写操作,将所述调用请求数据从所述第一内存区写入至所述第三内存区;
所述服务端从所述第三内存区中获取所述调用请求数据;
所述服务端基于所述调用请求数据进行调用处理,得到与所述调用请求数据对应的调用结果数据;
所述服务端将所述调用结果数据存储至所述第四内存区;
所述客户端通过RDMA读操作,将所述调用结果数据从所述第四内存区远程读取至所述第二内存区。
12.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1至10中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210870380.9A CN115334134A (zh) | 2022-07-22 | 2022-07-22 | 数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210870380.9A CN115334134A (zh) | 2022-07-22 | 2022-07-22 | 数据处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115334134A true CN115334134A (zh) | 2022-11-11 |
Family
ID=83920451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210870380.9A Pending CN115334134A (zh) | 2022-07-22 | 2022-07-22 | 数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115334134A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115933973A (zh) * | 2022-11-25 | 2023-04-07 | 中国科学技术大学 | 远程更新数据的方法、rdma系统及存储介质 |
-
2022
- 2022-07-22 CN CN202210870380.9A patent/CN115334134A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115933973A (zh) * | 2022-11-25 | 2023-04-07 | 中国科学技术大学 | 远程更新数据的方法、rdma系统及存储介质 |
CN115933973B (zh) * | 2022-11-25 | 2023-09-29 | 中国科学技术大学 | 远程更新数据的方法、rdma系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897639B (zh) | 图像增广方法、装置、计算机设备及存储介质 | |
CN110191194B (zh) | 一种基于rdma网络的分布式文件系统数据传输方法和系统 | |
US10754588B2 (en) | Performing data operations in a storage area network | |
US10062137B2 (en) | Communication between integrated graphics processing units | |
CN113467970B (zh) | 云计算系统中的跨安全区域的资源访问方法及电子设备 | |
CN113014662A (zh) | 数据处理方法及基于NVMe-oF协议的存储系统 | |
CN112532585A (zh) | 一种进程间报文传输的方法、设备及介质 | |
CN115334134A (zh) | 数据处理方法及系统 | |
TWI505183B (zh) | 共享記憶體系統 | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
CN113312182B (zh) | 一种云计算节点、文件处理方法及装置 | |
CN116402673A (zh) | 数据处理方法、系统、计算设备和存储介质 | |
US8630979B2 (en) | Non-blocking input output based storage | |
CN112596669A (zh) | 一种基于分布式存储的数据处理方法及装置 | |
US20140280984A1 (en) | Method for Transparently Connecting Augmented Network Socket Operations | |
CN103488606A (zh) | 基于节点控制器的请求响应方法和装置 | |
CN116489177A (zh) | 一种基于块存储的io访问方法、装置、电子设备及介质 | |
CN116225314A (zh) | 数据写入方法、装置、计算机设备和存储介质 | |
CN115037783B (zh) | 数据传输方法及装置 | |
CN114064323A (zh) | 资源共享方法、终端、计算机可读介质 | |
CN114356446A (zh) | 一种进程间事件的处理方法、装置、设备以及存储介质 | |
CN111274176B (zh) | 一种信息处理方法、电子设备、系统及存储介质 | |
CN111414200B (zh) | 安装操作系统的方法、装置、电子设备和计算机可读介质 | |
CN112950456A (zh) | 图像处理方法及装置、电子设备、计算机可读介质 | |
CN111736973A (zh) | 一种服务启动方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |