CN103645994A - 一种数据处理方法及设备 - Google Patents
一种数据处理方法及设备 Download PDFInfo
- Publication number
- CN103645994A CN103645994A CN201310542456.6A CN201310542456A CN103645994A CN 103645994 A CN103645994 A CN 103645994A CN 201310542456 A CN201310542456 A CN 201310542456A CN 103645994 A CN103645994 A CN 103645994A
- Authority
- CN
- China
- Prior art keywords
- data
- datarams
- pond
- sent
- transmission
- 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
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种数据处理方法及设备,该方法包括:接收上层应用下发的待发送数据,并将接收到的待发送数据缓存到预先建立的发送数据内存池中;以及,若根据设定的数据发送周期,确定数据发送时刻到来,则采用RDMAWrite的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。通过本方案,由于可采用RDMA Write的方式将数据发送方内存池中缓存的多个数据同时写入数据接收方的内存池中,因而可解决采用RDMA Send方式逐条发送数据时所导致的效率低下及数据容易溢出出错等问题,在大幅减少数据发送次数、降低数据溢出概率的前提下,达到了提高数据发送效率的目的。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于RDMA(Remote DirectMemory Access,远程直接内存访问)技术的数据处理方法及设备。
背景技术
RDMA是为了解决网络传输中服务器端数据处理的延迟而产生的一种远程直接数据存取技术,其可通过网络将数据从一个计算机直接传入另一计算机的存储器中,而不对操作系统造成任何影响,从而避免了外部存储器进行数据复制和文本交换的过程,进而可达到释放内存带宽和缩短CPU(中央处理器)周期以用于改进应用系统性能的效果。
目前,RDMA所支持的数据传输操作方式主要有RDMA Send(RDMA发送)、RDMA Write(RDMA写入)、RDMA Read(RDMA读取)以及RDMA Atomic(RDMA原子操作)等四种。其中,后三种操作方式可实现Kernel Bypass(旁路内核)以及Zero-Copy(零复制)等功能,也就是说,在采用后三种操作方式进行数据的传输时,数据会直接从应用层复制到应用层,而不需要经过内核空间,也不需要如传统TCP/IP(传输控制协议/因特网互联协议)方式一样需向CPU发起中断请求。
因此,通常来说,在传输同样大小的数据时,使用RDMA Write、RDMA Read以及RDMA Atomic等操作方式要比使用RDMA Send操作方式快速很多,但是,由于在采用RDMA Write、RDMA Read以及RDMA Atomic等操作方式进行数据的传输时,数据传输操作的执行方通常需要预先获知对方的内存地址,即通常需要预先与对方交换内存地址(该过程至少需要两次数据传输才能完成),以便获知向对方的何位置写入数据或从何位置读出数据,因此,目前,在进行小数据的传输时,为了节省交换内存地址所耗费的数据传输时间,通常采用无需预先交换内存地址的RDMA Send操作方式。
但是,申请人发现,在采用RDMA Send操作方式进行数据的传输时,数据的传输效率较低;并且,在高并发情况下还很容易出现工作队列中的数据溢出现象,进而导致数据传输容易出错、降低数据的传输效果。
发明内容
本发明实施例提供了一种数据处理方法及设备,以解决采用RDMA Send方式逐条发送数据时所存在的数据传输效率低下及数据容易溢出等问题。
第一方面,提供了一种数据处理方法,包括:
接收上层应用下发的待发送数据,并将接收到的待发送数据缓存到预先建立的发送数据内存池中;
若根据设定的数据发送周期,确定数据发送时刻到来,则采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。
结合第一方面,在第一方面的第一种可能的实现方式中,所述发送数据内存池中设置有数据发送队列,则所述采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,包括:
将所述发送数据内存池中缓存的至少一个待发送数据添加到所述发送数据内存池的数据发送队列中,并采用RDMA Write或携带有即时数据(Immediate Data)的RDMA Write(即RDMA Write with Immediate Data)的方式将所述数据发送队列中的待发送数据写入到数据接收方的接收数据内存池中。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中之后,所述方法还包括:
向所述数据接收方发送用于指示数据已成功发送的通知消息;
接收所述数据接收方返回的响应确认消息,且在根据所述设定的数据发送周期,确定下一个数据发送时刻到来时,继续采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中;
其中,所述响应确认消息是所述数据接收方确定所述接收数据内存池中的空间可用时,向数据发送方发送的。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,在接收上层应用下发的待发送数据之前,所述方法还包括:
与所述数据接收方交换所述发送数据内存池对应的第一内存地址以及所述接收数据内存池对应的第二内存地址;
采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,包括:
采用RDMA Write的方式将与所述第一内存地址相对应的发送数据内存池中缓存的至少一个待发送数据,写入到与所述第二内存地址相对应的接收数据内存池中。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,向所述数据接收方发送用于指示数据已成功发送的通知消息,包括:
通过RDMA Atomic的方式向所述数据接收方发送用于指示数据已成功发送的通知消息。
第二方面,提供了一种数据处理设备,包括:
数据接收模块,用于接收上层应用下发的待发送数据;
数据缓存模块,用于将所述数据接收模块接收到的待发送数据缓存到预先建立的发送数据内存池中;
数据处理模块,用于若根据设定的数据发送周期,确定数据发送时刻到来,则采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。
结合第二方面,在第二方面的第一种可能的实现方式中,所述发送数据内存池中设置有数据发送队列;
所述数据处理模块,具体用于将所述发送数据内存池中缓存的至少一个待发送数据添加到所述发送数据内存池的数据发送队列中,并采用RDMA Write或携带有Immediate Data的RDMA Write的方式将所述数据发送队列中的待发送数据写入到数据接收方的接收数据内存池中。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述数据处理设备还包括数据发送模块:
所述数据发送模块,用于在所述数据处理模块将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中之后,向所述数据接收方发送用于指示数据已成功发送的通知消息;
所述数据接收模块,还用于接收所述数据接收方返回的响应确认消息,其中,所述响应确认消息是所述数据接收方确定所述接收数据内存池中的空间可用时,向所述数据处理设备发送的;
所述数据处理模块,还用于在所述数据接收模块接收到所述数据接收方返回的响应确认消息时,若根据所述设定的数据发送周期,确定下一个数据发送时刻到来,则继续采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述数据处理设备还包括信息交换模块:
所述信息交换模块,用于在所述数据接收模块接收上层应用下发的待发送数据之前,与所述数据接收方交换所述发送数据内存池对应的第一内存地址以及所述接收数据内存池对应的第二内存地址;
所述数据处理模块,具体用于采用RDMA Write的方式将与所述第一内存地址相对应的发送数据内存池中缓存的至少一个待发送数据,写入到与所述第二内存地址相对应的接收数据内存池中。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述数据发送模块,具体用于通过RDMA Atomic的方式向所述数据接收方发送用于指示数据已成功发送的通知消息。
本发明实施例通过以上技术方案,在接收到上层应用下发的待发送数据时,可将待发送数据缓存到预先设置的发送数据内存池中,并在根据设定的数据发送周期,确定数据发送时刻到来时,采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,从而减少了数据的发送次数、降低了数据的溢出概率、进而达到了提高数据的发送效率以及数据的传输效果的目的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例一中所述数据处理方法的流程示意图;
图2所示为本发明实施例二中所述数据处理方法的流程示意图;
图3所示为本发明实施例三中所述数据处理设备的结构示意图;
图4所示为本发明实施例四中所述数据处理设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
本发明实施例一提供了一种数据处理方法,所述数据处理方法可适用于基于RDMA技术的数据传输过程中。
具体地,如图1所示,其为本发明实施例一中所述数据处理方法的流程示意图,所述数据处理方法可包括以下步骤:
步骤101:建立发送数据内存池。
具体地,在本发明所述实施例中,各步骤的执行主体通常可为计算机或服务器等数据发送方,本发明实施例对此不作任何限定;进一步地,在本步骤101中,数据发送方建立发送数据内存池的方式与现有技术中所述的数据接收方建立接收数据内存池的方式类似,本发明实施例对此不作赘述。
需要说明的是,本步骤101为进行数据处理前的预先建立发送数据内存池的步骤,并不是每次进行数据处理时均需要执行的步骤,也就是说,在执行完本步骤101后,可多次执行以下各数据处理步骤。
步骤102:接收上层应用下发的待发送数据,并将接收到的待发送数据缓存到预先建立的发送数据内存池中。
具体地,在本发明所述实施例中,在接收到来自上层应用的任一待发送数据时,并不直接将该待发送数据发送给对应的数据接收方,而是需要将该待发送数据缓存到所述数据发送方预先建立的发送数据内存池中,并在设定的数据发送周期到来时,再将所述待发送数据发送给对应的数据接收方。
具体地,所述数据发送方可从预先建立的发送数据内存池中分配一空闲数据区域,并将接收到的来自上层应用的各待发送数据缓存到所述空闲数据区域中。进一步地,所述空闲数据区域可设置有一等待数据队列,所述数据发送方可将接收到的各待发送数据缓存到所述等待数据队列中,其中,所述等待数据队列可具备足够的数据存储空间,以缓存来自上层应用的多个待发送数据。
步骤103:若根据设定的数据发送周期,确定数据发送时刻到来,则采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。
具体地,所述数据发送周期可根据实际情况进行调整设置,本发明实施例对此不作任何限定。例如,当对数据传输的实时性要求较高时,所述数据发送周期可以设置为一相对较小的数值,当对数据传输的实时性要求较低时,所述数据发送周期可以设置为一相对较大的数值。
进一步地,所述发送数据内存池中还可设置有数据发送队列,相应地,所述采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,可以包括:
将所述发送数据内存池中缓存的(或所述等待数据队列中缓存的)至少一个待发送数据添加到所述发送数据内存池的数据发送队列中,并采用RDMAWrite或携带有Immediate Data的RDMA Write(即RDMA Write with ImmediateData)的方式将所述数据发送队列中的待发送数据写入到数据接收方的接收数据内存池中。
也就是说,在本发明所述实施例中,可按照设定的数据发送周期,从所述发送数据内存池中提取缓存的至少一个待发送数据,并将所提取的至少一个待发送数据同时写入到数据接收方的接收数据内存池中,从而与现有技术中所述的采用RDMA Send方式逐条发送数据相比,可达到减少数据发送次数、提高数据发送效率的目的;并且,在本发明所述实施例中,在进行数据的发送时,通常可采用数据发送速率较高的RDMA Write方式,因而可在降低数据溢出概率的前提下,进一步提高数据的发送效率,提高数据的发送效果。
需要说明的是,在本发明所述实施例中,所述数据发送队列可具备一固定的数据存储空间,且其所具备的数据存储空间小于所述等待数据队列所具备的数据存储空间。
进一步地,为了较大程度地减少数据的发送次数、提高数据的发送效率,在本发明所述实施例中,在采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中时,通常可从所述发送数据内存池中提取出与所述数据发送队列所能够存储的待发送数据的最大数目相同个数的待发送数据,并将所提取出的待发送数据写入到数据接收方的接收数据内存池中。
进一步地,在本发明所述实施例中,在将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中之后,所述方法还可以包括:
向所述数据接收方发送用于指示数据已成功发送的通知消息;
接收所述数据接收方返回的响应确认消息,且在根据所述设定的数据发送周期,确定下一个数据发送时刻到来时,继续采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中;
其中,所述响应确认消息是所述数据接收方确定所述接收数据内存池中的空间可用时,向所述数据发送方发送的。
需要说明的是,在本发明所述实施例中,通常可通过RDMA Atomic的方式向所述数据接收方发送用于指示数据已成功发送的通知消息,当然,还可以采用其他数据发送方式向所述数据接收方发送所述用于指示数据已成功发送的通知消息,本发明实施例对此不作任何限定。
另外需要说明的是,由于相较于RDMA Write消息而言,所述RDMA Writewith Immediate Data消息中可多携带有一个多余字节,因此,在本发明所述实施例中,在采用RDMA Write with Immediate Data的方式将各待发送数据写入到数据接收方的接收数据内存池中时,可通过所述RDMA Write with ImmediateData消息中的该多余字节来携带所述通知消息,从而避免了需要再次采用RDMA Atomic的方式向所述数据接收方发送通知消息的问题,可进一步减少数据的发送次数,提高数据的传输效率。
进一步地,在本发明所述实施例中,在建立发送数据内存池之前,所述方法通常还可以包括:
建立与所述数据接收方之间的通信连接;其中,建立与所述数据接收方之间的通信连接的方式与现有技术中所述的通信双方的通信连接建立方式类似,本发明实施例对此不作赘述。
进一步地,由于在本发明所述实施例中,是采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中的,因此,在建立发送数据内存池之后,且在接收上层应用下发的待发送数据之前,所述方法通常还可以包括:
与所述数据接收方交换所述发送数据内存池对应的第一内存地址以及所述接收数据内存池对应的第二内存地址;其中,与所述数据接收方交换内存地址的方式与现有技术中所述的通信双方交换内存地址的方式类似,如通过交换携带有内存地址信息的内存密钥(内存Key)的方式来交换内存地址,本发明实施例对此也不作赘述。
相应地,采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,可以包括:
采用RDMA Write的方式将与所述第一内存地址相对应的发送数据内存池中缓存的至少一个待发送数据,写入到与所述第二内存地址相对应的接收数据内存池中。
最后,通过具体实例对本发明实施例中所述数据处理方法所能够带来的有益效果进行简单说明:
假设网络状况良好,且假设网络状况良好的情况下,本发明实施例所述数据处理方法所引入的管理开销为数据处理总开销的20%;并且,假设每个待发送数据的大小为128B、每个RDMA Send消息耗时6.1us、数据发送队列所能存储的数据个数为64、8KB大小的RDMA Write消息耗时8.14us、测试总共需发送的待发送数据为1024*1024个、每个RDMA Atomic消息耗时1.57us,则:
在采用现有技术中所述的RDMA Send逐条发送方式进行待发送数据的传输时,总耗时约为:6.1us*1024*1024=6396313.6us;
而在采用本发明实施例所述数据处理方法进行待发送数据的传输时,总耗时可约为:(8.14us+1.57us)*1024*1024/64*1.20=190906.368us,耗时仅为现有技术所述方案的1/30(此时,需从所述发送数据内存池中提取出与所述数据发送队列所能够存储的待发送数据的最大数目相同个数的待发送数据,并将所提取出的待发送数据写入到数据接收方的接收数据内存池中),从而可极大地提高数据的传输效率,提高数据的传输效果。
本发明实施例一提供了一种数据处理方法,在接收到上层应用下发的待发送数据时,可将待发送数据缓存到预先建立的发送数据内存池中,并在根据设定的数据发送周期,确定数据发送时刻到来时,采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,从而解决了采用RDMA Send方式逐条发送数据时数据发送次数过多所导致的效率低下及容易溢出出错等问题,减少了数据的发送次数、降低了数据的溢出概率、进而达到了提高数据的发送效率以及数据的传输效果的目的。
实施例二:
本发明实施例二提供了一种数据处理方法,所述数据处理方法是对本发明实施例一中所述数据处理方法的进一步说明。具体地,如图2所示,其为本发明实施例二中所述数据处理方法的流程示意图,所述数据处理方法可包括以下步骤:
步骤201:数据发送方建立与数据接收方之间的通信连接。
具体地,所述数据发送方或所述数据接收方分别可为计算机或服务器等设备,本发明实施例对此不作任何限定。
步骤202:数据发送方建立发送数据内存池,数据接收方建立接收数据内存池。
具体地,在本发明所述实施例中,所述数据发送方建立发送数据内存池的方式以及所述数据接收方建立接收数据内存池的方式与现有技术中所述的数据接收方建立接收数据内存池的方式类似,本发明实施例对此不作赘述。
步骤203:数据发送方与数据接收方交换所述发送数据内存池对应的第一内存地址以及所述接收数据内存池对应的第二内存地址。
具体地,在本发明所述实施例中,所述数据发送方与所述数据接收方交换内存地址的方式与现有技术中所述的通信双方交换内存地址的方式类似,如通过交换携带有内存地址信息的内存密钥的方式来交换内存地址,本发明实施例对此也不作赘述。
步骤204:数据发送方接收上层应用下发的待发送数据,并将接收到的待发送数据缓存到所述发送数据内存池中。
具体地,所述数据发送方可从预先建立的发送数据内存池中分配一空闲数据区域,并将接收到的来自上层应用的各待发送数据缓存到所述空闲数据区域中。进一步地,所述空闲数据区域可设置有一等待数据队列,所述数据发送方可将接收到的各待发送数据缓存到所述等待数据队列中,其中,所述等待数据队列可具备足够的数据存储空间,以缓存来自上层应用的多个待发送数据。
步骤205:数据发送方在根据设定的数据发送周期,确定数据发送时刻到来时,采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。
具体地,所述数据发送周期可根据实际情况进行调整设置,本发明实施例对此不作任何限定。例如,当对数据传输的实时性要求较高时,所述数据发送周期可以设置为一相对较小的数值,当对数据传输的实时性要求较低时,所述数据发送周期可以设置为一相对较大的数值。
具体地,所述发送数据内存池中还可设置有数据发送队列,相应地,所述采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,可以包括:
将所述发送数据内存池中缓存的(或所述等待数据队列中缓存的)至少一个待发送数据添加到所述发送数据内存池的数据发送队列中,并采用RDMAWrite或RDMA Write with Immediate Data的方式将所述数据发送队列中的待发送数据写入到数据接收方的接收数据内存池中。
也就是说,在本发明所述实施例中,所述数据发送方可按照设定的数据发送周期,从所述发送数据内存池中提取缓存的至少一个待发送数据,并将所提取的至少一个待发送数据同时写入到数据接收方的接收数据内存池中,从而与现有技术中所述的采用RDMA Send方式逐条发送数据相比,可达到减少数据发送次数、提高数据发送效率的目的;并且,在本发明所述实施例中,在进行数据的发送时,通常可采用数据发送速率较高的RDMA Write方式,因而可在降低数据溢出概率的前提下,进一步提高数据的发送效率,提高数据的发送效果。
需要说明的是,在本发明所述实施例中,所述数据发送队列可具备一固定的数据存储空间,且其所具备的数据存储空间小于所述等待数据队列所具备的数据存储空间。
进一步地,为了较大程度地减少数据的发送次数、提高数据的发送效率,在本发明所述实施例中,在采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中时,通常可从所述发送数据内存池中提取出与所述数据发送队列所能够存储的待发送数据的最大数目相同个数的待发送数据,并将所提取出的待发送数据写入到数据接收方的接收数据内存池中。
步骤206:数据发送方向数据接收方发送用于指示数据已成功发送的通知消息。
具体地,在本发明实施例中,所述数据发送方通常可通过RDMA Atomic的方式向所述数据接收方发送用于指示数据已成功发送的通知消息,当然,所述数据发送方还可以采用其他数据发送方式向所述数据接收方发送用于指示数据已成功发送的通知消息,本发明实施例对此不作任何限定。
另外需要说明的是,由于相较于RDMA Write消息而言,所述RDMA Writewith Immediate Data消息中可多携带有一个多余字节,因此,在本发明所述实施例中,在采用RDMA Write with Immediate Data的方式将各待发送数据写入到数据接收方的接收数据内存池中时,可通过所述RDMA Write with ImmediateData消息中的该多余字节来携带所述通知消息,从而避免了需要再次采用RDMA Atomic的方式向所述数据接收方发送通知消息的问题,可进一步减少数据的发送次数,提高数据的传输效率(即所述步骤206为可选步骤)。
步骤207:数据发送方接收数据接收方返回的响应确认消息。
具体地,所述响应确认消息是所述数据接收方确定所述接收数据内存池中的空间可用时,向所述数据发送方发送的。
进一步地,所述数据接收方通常可在将所述接收数据内存池中的各已写入数据取出后,向所述数据发送方发送响应确认消息,告知所述数据发送方所述接收数据内存池中的空间可用。
步骤208:数据发送方在根据所述设定的数据发送周期,确定数据发送时刻再次到来时,可跳转至步骤205,即继续采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。
本发明实施例二提供了一种数据处理方法,数据发送方在接收到上层应用下发的待发送数据时,可将待发送数据缓存到预先建立的发送数据内存池中,并在根据设定的数据发送周期,确定数据发送时刻到来时,采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,从而解决了采用RDMA Send方式逐条发送数据时数据发送次数过多所导致的效率低下及容易溢出出错等问题,减少了数据的发送次数、降低了数据的溢出概率、进而达到了提高数据的发送效率以及数据的传输效果的目的。
实施例三:
本发明实施例三提供了一种可用于实现本发明实施例一或实施例二所示方法的数据处理设备,如图3所示,其为本发明实施例三中所述数据处理设备的结构示意图,所述数据处理设备通常可为计算机或服务器等独立设备,当然,也可为集成在计算机或服务器等独立设备中的集成设备,本发明实施例对此不作任何限定。
具体地,所述数据处理设备可以包括数据接收模块11以及数据处理模块12,其中:
所述数据接收模块11可用于接收上层应用下发的待发送数据;
所述数据处理模块12可用于将所述数据接收模块11接收到的待发送数据缓存到预先建立的发送数据内存池中,以及,若根据设定的数据发送周期,确定数据发送时刻到来,则采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。
具体地,所述数据处理模块12可用于从预先建立的发送数据内存池中分配一空闲数据区域,并将接收到的来自上层应用的各待发送数据缓存到所述空闲数据区域中。进一步地,所述空闲数据区域可设置有一等待数据队列,数据处理模块12可将接收到的各待发送数据缓存到所述等待数据队列中,其中,所述等待数据队列可具备足够的数据存储空间,以缓存来自上层应用的多个待发送数据。
进一步地,所述发送数据内存池中可设置有数据发送队列;所述数据处理模块12具体可用于将所述发送数据内存池中缓存的至少一个待发送数据添加到所述发送数据内存池的数据发送队列中,并采用RDMA Write或RDMA Writewith Immediate Data的方式将所述数据发送队列中的待发送数据写入到数据接收方的接收数据内存池中。
也就是说,在本发明所述实施例中,所述数据处理模块12可按照设定的数据发送周期,从所述发送数据内存池中提取缓存的至少一个待发送数据,并将所提取的至少一个待发送数据同时写入到数据接收方的接收数据内存池中,从而与现有技术中所述的采用RDMA Send方式逐条发送数据相比,可达到减少数据发送次数、提高数据发送效率的目的;并且,在本发明所述实施例中,在进行数据的发送时,通常可采用数据发送速率较高的RDMA Write方式,因而可在降低数据溢出概率的前提下,进一步提高数据的发送效率,提高数据的发送效果。
需要说明的是,在本发明所述实施例中,所述数据发送队列可具备一固定的数据存储空间,且其所具备的数据存储空间小于所述等待数据队列所具备的数据存储空间。
进一步地,为了较大程度地减少数据的发送次数、提高数据的发送效率,在本发明所述实施例中,所述数据处理模块12在采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中时,通常可从所述发送数据内存池中提取出与所述数据发送队列所能够存储的待发送数据的最大数目相同个数的待发送数据,并将所提取出的待发送数据写入到数据接收方的接收数据内存池中。
进一步地,所述数据处理设备还可以包括数据发送模块13,其中:
所述数据发送模块13可用于在所述数据处理模块12将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中之后,向所述数据接收方发送用于指示数据已成功发送的通知消息;
相应地,所述数据接收模块11还可用于接收所述数据接收方返回的响应确认消息,其中,所述响应确认消息是所述数据接收方确定所述接收数据内存池中的空间可用时,向所述数据处理设备发送的;
进一步地,所述数据处理模块12还可用于在所述数据接收模块11接收到所述数据接收方返回的响应确认消息时,若根据所述设定的数据发送周期,确定下一个数据发送时刻到来,则继续采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个其他待发送数据写入到数据接收方的接收数据内存池中。
需要说明的是,在本发明所述实施例中,所述数据发送模块13通常可通过RDMA Atomic的方式向所述数据接收方发送用于指示数据已成功发送的通知消息,当然,所述数据发送模块13还可以采用其他数据发送方式向所述数据接收方发送所述用于指示数据已成功发送的通知消息,本发明实施例对此不作任何限定。
另外需要说明的是,由于相较于RDMA Write消息而言,所述RDMA Writewith Immediate Data消息中可多携带有一个多余字节,因此,在本发明所述实施例中,在采用RDMA Write with Immediate Data的方式将各待发送数据写入到数据接收方的接收数据内存池中时,可通过所述RDMA Write with ImmediateData消息中的该多余字节来携带所述通知消息,从而避免了需要再次采用RDMA Atomic的方式向所述数据接收方发送通知消息的问题,可进一步减少数据的发送次数,提高数据的传输效率。
进一步地,所述数据处理设备还可以包括信息交换模块14,其中:
所述信息交换模块14可用于在所述数据接收模块11接收上层应用下发的待发送数据之前,与所述数据接收方交换所述发送数据内存池对应的第一内存地址以及所述接收数据内存池对应的第二内存地址。
相应地,所述数据处理模块12具体可用于采用RDMA Write的方式将与所述第一内存地址相对应的发送数据内存池中缓存的至少一个待发送数据,写入到与所述第二内存地址相对应的接收数据内存池中。
本发明实施例三提供了一种数据处理设备,在接收到上层应用下发的待发送数据时,可将待发送数据缓存到预先建立的发送数据内存池中,并在根据设定的数据发送周期,确定数据发送时刻到来时,采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,从而解决了采用RDMA Send方式逐条发送数据时数据发送次数过多所导致的效率低下及容易溢出出错等问题,减少了数据的发送次数、降低了数据的溢出概率、进而达到了提高数据的发送效率以及数据的传输效果的目的。
实施例四:
本发明实施例四提供了一种可用于实现本发明实施例一或实施例二所示方法的数据处理设备,如图4所示,其为本发明实施例四中所述数据处理设备的结构示意图,为了便于说明,仅示出了与本发明实施例四相关的部分,具体技术细节未揭示的,请参照图1或图2所示的本发明实施例。
具体地,所述数据处理设备通常可为计算机或服务器等独立设备,当然,也可为集成在计算机或服务器等独立设备中的集成设备,本发明实施例对此不作任何限定。具体地,本发明实施例四以所述数据处理设备为独立的服务器为例进行说明,图4示出的是与本发明实施例四相关的服务器20的部分结构的框图。
如图4所示,所述服务器20可以包括:收发器21以及处理器22等部件。本领域技术人员可以理解,图4中示出的服务器20的结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,本发明实施例对此不作任何限定。
下面结合图4对所述服务器20的各个构成部件进行具体的介绍:
所述收发器21可用于接收上层应用下发的待发送数据;
所述处理器22可用于将所述收发器21接收到的待发送数据缓存到预先建立的发送数据内存池中,以及,若根据设定的数据发送周期,确定数据发送时刻到来,则采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。
其中,所述发送数据内存池通常可位于服务器20中的cache(高速缓冲存储器)等存储器当中,本发明实施例对此不作赘述。
具体地,所述处理器22可用于从预先建立的发送数据内存池中分配一空闲数据区域,并将接收到的来自上层应用的各待发送数据缓存到所述空闲数据区域中。进一步地,所述空闲数据区域可设置有一等待数据队列,所述处理器22可将接收到的各待发送数据缓存到所述等待数据队列中,其中,所述等待数据队列可具备足够的数据存储空间,以缓存来自上层应用的多个待发送数据。
进一步地,所述发送数据内存池中可设置有数据发送队列;所述处理器22具体可用于将所述发送数据内存池中缓存的至少一个待发送数据添加到所述发送数据内存池的数据发送队列中,并采用RDMA Write或RDMA Write withImmediate Data的方式将所述数据发送队列中的待发送数据写入到数据接收方的接收数据内存池中。
也就是说,在本发明所述实施例中,所述处理器22可按照设定的数据发送周期,从所述发送数据内存池中提取缓存的至少一个待发送数据,并将所提取的至少一个待发送数据同时写入到数据接收方的接收数据内存池中,从而与现有技术中所述的采用RDMA Send方式逐条发送数据相比,可达到减少数据发送次数、提高数据发送效率的目的;并且,在本发明所述实施例中,在进行数据的发送时,通常可采用数据发送速率较高的RDMA Write方式,因而可在降低数据溢出概率的前提下,进一步提高数据的发送效率,提高数据的发送效果。
需要说明的是,在本发明所述实施例中,所述数据发送队列可具备一固定的数据存储空间,且其所具备的数据存储空间小于所述等待数据队列所具备的数据存储空间。
进一步地,为了较大程度地减少数据的发送次数、提高数据的发送效率,在本发明所述实施例中,所述处理器22在采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中时,通常可从所述发送数据内存池中提取出与所述数据发送队列所能够存储的待发送数据的最大数目相同个数的待发送数据,并将所提取出的待发送数据写入到数据接收方的接收数据内存池中。
进一步地,在本发明所述实施例中,所述收发器21还可用于在所述处理器22将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中之后,向所述数据接收方发送用于指示数据已成功发送的通知消息,以及,接收所述数据接收方返回的响应确认消息,其中,所述响应确认消息是所述数据接收方确定所述接收数据内存池中的空间可用时,向所述数据处理设备发送的;
进一步地,所述处理器22还可用于在所述收发器21接收到所述数据接收方返回的响应确认消息时,若根据所述设定的数据发送周期,确定下一个数据发送时刻到来,则继续采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个其他待发送数据写入到数据接收方的接收数据内存池中。
需要说明的是,在本发明所述实施例中,所述收发器21通常可通过RDMAAtomic的方式向所述数据接收方发送用于指示数据已成功发送的通知消息,当然,所述收发器21还可以采用其他数据发送方式向所述数据接收方发送所述用于指示数据已成功发送的通知消息,本发明实施例对此不作任何限定。
另外需要说明的是,由于相较于RDMA Write消息而言,所述RDMA Writewith Immediate Data消息中可多携带有一个多余字节,因此,在本发明所述实施例中,在采用RDMA Write with Immediate Data的方式将各待发送数据写入到数据接收方的接收数据内存池中时,可通过所述RDMA Write with ImmediateData消息中的该多余字节来携带所述通知消息,从而避免了需要再次采用RDMA Atomic的方式向所述数据接收方发送通知消息的问题,可进一步减少数据的发送次数,提高数据的传输效率。
进一步地,在本发明所述实施例中,所述收发器21还可用于在接收上层应用下发的待发送数据之前,与所述数据接收方交换所述发送数据内存池对应的第一内存地址以及所述接收数据内存池对应的第二内存地址;其中,所述收发器21与所述数据接收方交换内存地址的方式与现有技术中所述的通信双方交换内存地址的方式类似,本发明实施例对此也不作赘述。
相应地,所述处理器22具体可用于采用RDMA Write的方式将与所述第一内存地址相对应的发送数据内存池中缓存的至少一个待发送数据,写入到与所述第二内存地址相对应的接收数据内存池中。
本发明实施例四提供了一种数据处理设备,在接收到上层应用下发的待发送数据时,可将待发送数据缓存到预先建立的发送数据内存池中,并在根据设定的数据发送周期,确定数据发送时刻到来时,采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,从而解决了采用RDMA Send方式逐条发送数据时数据发送次数过多所导致的效率低下及容易溢出出错等问题,减少了数据的发送次数、降低了数据的溢出概率、进而达到了提高数据的发送效率以及数据的传输效果的目的。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
接收上层应用下发的待发送数据,并将接收到的待发送数据缓存到预先建立的发送数据内存池中;
若根据设定的数据发送周期,确定数据发送时刻到来,则采用远程直接内存访问写入RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。
2.如权利要求1所述的数据处理方法,其特征在于,所述发送数据内存池中设置有数据发送队列,则所述采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,包括:
将所述发送数据内存池中缓存的至少一个待发送数据添加到所述发送数据内存池的数据发送队列中,并采用RDMA Write或携带有即时数据ImmediateData的RDMA Write的方式将所述数据发送队列中的待发送数据写入到数据接收方的接收数据内存池中。
3.如权利要求1或2任一所述的数据处理方法,其特征在于,在将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中之后,所述方法还包括:
向所述数据接收方发送用于指示数据已成功发送的通知消息;
接收所述数据接收方返回的响应确认消息,且在根据所述设定的数据发送周期,确定下一个数据发送时刻到来时,继续采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中;
其中,所述响应确认消息是所述数据接收方确定所述接收数据内存池中的空间可用时,向数据发送方发送的。
4.如权利要求1或2任一所述的数据处理方法,其特征在于,在接收上层应用下发的待发送数据之前,所述方法还包括:
与所述数据接收方交换所述发送数据内存池对应的第一内存地址以及所述接收数据内存池对应的第二内存地址;
采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中,包括:
采用RDMA Write的方式将与所述第一内存地址相对应的发送数据内存池中缓存的至少一个待发送数据,写入到与所述第二内存地址相对应的接收数据内存池中。
5.如权利要求3所述的数据处理方法,其特征在于,向所述数据接收方发送用于指示数据已成功发送的通知消息,包括:
通过RDMA原子操作的方式向所述数据接收方发送用于指示数据已成功发送的通知消息。
6.一种数据处理设备,其特征在于,包括:
数据接收模块,用于接收上层应用下发的待发送数据;
数据处理模块,用于将所述数据接收模块接收到的待发送数据缓存到预先建立的发送数据内存池中,以及,若根据设定的数据发送周期,确定数据发送时刻到来,则采用远程直接内存访问写入RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。
7.如权利要求6所述的数据处理设备,其特征在于,所述发送数据内存池中设置有数据发送队列;
所述数据处理模块,具体用于将所述发送数据内存池中缓存的至少一个待发送数据添加到所述发送数据内存池的数据发送队列中,并采用RDMA Write或携带有即时数据Immediate Data的RDMA Write的方式将所述数据发送队列中的待发送数据写入到数据接收方的接收数据内存池中。
8.如权利要求6或7任一所述的数据处理设备,其特征在于,所述数据处理设备还包括数据发送模块:
所述数据发送模块,用于在所述数据处理模块将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中之后,向所述数据接收方发送用于指示数据已成功发送的通知消息;
所述数据接收模块,还用于接收所述数据接收方返回的响应确认消息,其中,所述响应确认消息是所述数据接收方确定所述接收数据内存池中的空间可用时,向所述数据处理设备发送的;
所述数据处理模块,还用于在所述数据接收模块接收到所述数据接收方返回的响应确认消息时,若根据所述设定的数据发送周期,确定下一个数据发送时刻到来,则继续采用RDMA Write的方式将所述发送数据内存池中缓存的至少一个待发送数据写入到数据接收方的接收数据内存池中。
9.如权利要求6或7任一所述的数据处理设备,其特征在于,所述数据处理设备还包括信息交换模块:
所述信息交换模块,用于在所述数据接收模块接收上层应用下发的待发送数据之前,与所述数据接收方交换所述发送数据内存池对应的第一内存地址以及所述接收数据内存池对应的第二内存地址;
所述数据处理模块,具体用于采用RDMA Write的方式将与所述第一内存地址相对应的发送数据内存池中缓存的至少一个待发送数据,写入到与所述第二内存地址相对应的接收数据内存池中。
10.如权利要求8所述的数据处理设备,其特征在于,
所述数据发送模块,具体用于通过RDMA原子操作的方式向所述数据接收方发送用于指示数据已成功发送的通知消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310542456.6A CN103645994A (zh) | 2013-11-05 | 2013-11-05 | 一种数据处理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310542456.6A CN103645994A (zh) | 2013-11-05 | 2013-11-05 | 一种数据处理方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103645994A true CN103645994A (zh) | 2014-03-19 |
Family
ID=50251215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310542456.6A Pending CN103645994A (zh) | 2013-11-05 | 2013-11-05 | 一种数据处理方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103645994A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239248A (zh) * | 2014-09-16 | 2014-12-24 | 国家计算机网络与信息安全管理中心 | Pci-e多缓冲区dma数据传输方法 |
CN105487937A (zh) * | 2015-11-27 | 2016-04-13 | 华为技术有限公司 | 一种rdma实现方法和装置 |
CN105740063A (zh) * | 2014-12-08 | 2016-07-06 | 杭州华为数字技术有限公司 | 一种数据处理方法及装置 |
CN106302201A (zh) * | 2015-05-14 | 2017-01-04 | 华为技术有限公司 | 流量控制方法、设备和系统 |
CN106357503A (zh) * | 2016-08-19 | 2017-01-25 | 百度在线网络技术(北京)有限公司 | 消息处理方法与即时通讯服务器 |
CN106407307A (zh) * | 2016-08-31 | 2017-02-15 | 天津南大通用数据技术股份有限公司 | 一种分布式数据库节点数据交互方法及装置 |
CN106648907A (zh) * | 2017-02-24 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种提高内存复用的方法和装置 |
CN107241404A (zh) * | 2017-05-31 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种消息收发的方法、装置及系统 |
CN108228476A (zh) * | 2017-12-22 | 2018-06-29 | 新华三技术有限公司 | 一种数据获取方法及装置 |
CN108319428A (zh) * | 2017-12-29 | 2018-07-24 | 杭州华为数字技术有限公司 | 一种数据读取的方法及装置 |
CN108566444A (zh) * | 2018-08-01 | 2018-09-21 | 长沙拓扑陆川新材料科技有限公司 | 一种云服务的网络传输方法及系统 |
CN109067752A (zh) * | 2018-08-15 | 2018-12-21 | 无锡江南计算技术研究所 | 一种利用rdma消息实现兼容tcp/ip协议的方法 |
WO2019057005A1 (zh) * | 2017-09-22 | 2019-03-28 | 华为技术有限公司 | 数据校验的方法、装置以及网卡 |
CN111400213A (zh) * | 2019-09-29 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 传输数据的方法、装置及系统 |
CN111400212A (zh) * | 2019-09-29 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 一种基于远程直接数据存取的传输方法、设备 |
CN112822299A (zh) * | 2021-04-19 | 2021-05-18 | 北京易捷思达科技发展有限公司 | 基于rdma的数据传输方法、装置及电子设备 |
CN112822300A (zh) * | 2021-04-19 | 2021-05-18 | 北京易捷思达科技发展有限公司 | 基于rdma的数据传输方法、装置及电子设备 |
CN113608686A (zh) * | 2021-06-30 | 2021-11-05 | 苏州浪潮智能科技有限公司 | 一种远程内存直接访问方法及相关装置 |
CN114979022A (zh) * | 2022-05-20 | 2022-08-30 | 北京百度网讯科技有限公司 | 远程直接数据存取的实现方法、装置、适配器和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459676A (zh) * | 2008-12-31 | 2009-06-17 | 中国科学院计算技术研究所 | 针对文件系统的基于高速网络的消息传输框架和方法 |
WO2010149576A1 (en) * | 2009-06-22 | 2010-12-29 | Thomson Licensing | Method for the recovery of a clock and system for the transmission of data between data memories by remote direct memory access, and network station set up to operate in the method as a transmitting or, respectively, receiving station |
CN102404212A (zh) * | 2011-11-17 | 2012-04-04 | 曙光信息产业(北京)有限公司 | 一种基于InfiniBand网络的跨平台RDMA通信方法 |
CN103227778A (zh) * | 2013-03-26 | 2013-07-31 | 华为技术有限公司 | 内存访问方法、设备和系统 |
CN103248467A (zh) * | 2013-05-14 | 2013-08-14 | 中国人民解放军国防科学技术大学 | 基于片内连接管理的rdma通信方法 |
-
2013
- 2013-11-05 CN CN201310542456.6A patent/CN103645994A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459676A (zh) * | 2008-12-31 | 2009-06-17 | 中国科学院计算技术研究所 | 针对文件系统的基于高速网络的消息传输框架和方法 |
WO2010149576A1 (en) * | 2009-06-22 | 2010-12-29 | Thomson Licensing | Method for the recovery of a clock and system for the transmission of data between data memories by remote direct memory access, and network station set up to operate in the method as a transmitting or, respectively, receiving station |
CN102404212A (zh) * | 2011-11-17 | 2012-04-04 | 曙光信息产业(北京)有限公司 | 一种基于InfiniBand网络的跨平台RDMA通信方法 |
CN103227778A (zh) * | 2013-03-26 | 2013-07-31 | 华为技术有限公司 | 内存访问方法、设备和系统 |
CN103248467A (zh) * | 2013-05-14 | 2013-08-14 | 中国人民解放军国防科学技术大学 | 基于片内连接管理的rdma通信方法 |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239248B (zh) * | 2014-09-16 | 2017-06-06 | 国家计算机网络与信息安全管理中心 | Pci‑e多缓冲区dma数据传输方法 |
CN104239248A (zh) * | 2014-09-16 | 2014-12-24 | 国家计算机网络与信息安全管理中心 | Pci-e多缓冲区dma数据传输方法 |
CN105740063A (zh) * | 2014-12-08 | 2016-07-06 | 杭州华为数字技术有限公司 | 一种数据处理方法及装置 |
CN106302201A (zh) * | 2015-05-14 | 2017-01-04 | 华为技术有限公司 | 流量控制方法、设备和系统 |
CN105487937A (zh) * | 2015-11-27 | 2016-04-13 | 华为技术有限公司 | 一种rdma实现方法和装置 |
CN106357503A (zh) * | 2016-08-19 | 2017-01-25 | 百度在线网络技术(北京)有限公司 | 消息处理方法与即时通讯服务器 |
CN106357503B (zh) * | 2016-08-19 | 2019-09-20 | 百度在线网络技术(北京)有限公司 | 消息处理方法与即时通讯服务器 |
CN106407307A (zh) * | 2016-08-31 | 2017-02-15 | 天津南大通用数据技术股份有限公司 | 一种分布式数据库节点数据交互方法及装置 |
CN106648907A (zh) * | 2017-02-24 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种提高内存复用的方法和装置 |
CN107241404A (zh) * | 2017-05-31 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种消息收发的方法、装置及系统 |
CN107241404B (zh) * | 2017-05-31 | 2020-05-29 | 郑州云海信息技术有限公司 | 一种消息收发的方法、装置及系统 |
WO2019057005A1 (zh) * | 2017-09-22 | 2019-03-28 | 华为技术有限公司 | 数据校验的方法、装置以及网卡 |
CN108228476B (zh) * | 2017-12-22 | 2021-02-09 | 新华三技术有限公司 | 一种数据获取方法及装置 |
CN108228476A (zh) * | 2017-12-22 | 2018-06-29 | 新华三技术有限公司 | 一种数据获取方法及装置 |
CN108319428A (zh) * | 2017-12-29 | 2018-07-24 | 杭州华为数字技术有限公司 | 一种数据读取的方法及装置 |
CN108566444A (zh) * | 2018-08-01 | 2018-09-21 | 长沙拓扑陆川新材料科技有限公司 | 一种云服务的网络传输方法及系统 |
CN109067752A (zh) * | 2018-08-15 | 2018-12-21 | 无锡江南计算技术研究所 | 一种利用rdma消息实现兼容tcp/ip协议的方法 |
CN109067752B (zh) * | 2018-08-15 | 2021-03-26 | 无锡江南计算技术研究所 | 一种利用rdma消息实现兼容tcp/ip协议的方法 |
CN111400213A (zh) * | 2019-09-29 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 传输数据的方法、装置及系统 |
CN111400212A (zh) * | 2019-09-29 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 一种基于远程直接数据存取的传输方法、设备 |
CN111400212B (zh) * | 2019-09-29 | 2022-02-08 | 杭州海康威视系统技术有限公司 | 一种基于远程直接数据存取的传输方法、设备 |
CN111400213B (zh) * | 2019-09-29 | 2022-02-18 | 杭州海康威视系统技术有限公司 | 传输数据的方法、装置及系统 |
CN112822299A (zh) * | 2021-04-19 | 2021-05-18 | 北京易捷思达科技发展有限公司 | 基于rdma的数据传输方法、装置及电子设备 |
CN112822300A (zh) * | 2021-04-19 | 2021-05-18 | 北京易捷思达科技发展有限公司 | 基于rdma的数据传输方法、装置及电子设备 |
CN112822299B (zh) * | 2021-04-19 | 2021-07-13 | 北京易捷思达科技发展有限公司 | 基于rdma的数据传输方法、装置及电子设备 |
CN113608686A (zh) * | 2021-06-30 | 2021-11-05 | 苏州浪潮智能科技有限公司 | 一种远程内存直接访问方法及相关装置 |
CN114979022A (zh) * | 2022-05-20 | 2022-08-30 | 北京百度网讯科技有限公司 | 远程直接数据存取的实现方法、装置、适配器和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103645994A (zh) | 一种数据处理方法及设备 | |
CN111277616B (zh) | 一种基于rdma的数据传输方法和分布式共享内存系统 | |
US10331595B2 (en) | Collaborative hardware interaction by multiple entities using a shared queue | |
US9244881B2 (en) | Facilitating, at least in part, by circuitry, accessing of at least one controller command interface | |
CN105518640B (zh) | 在嵌入式存储器中提供命令排队 | |
WO2018191257A1 (en) | Relay consistent memory management in a multiple processor system | |
WO2018075182A1 (en) | Gpu remote communication with triggered operations | |
JP2007316859A (ja) | マルチグラフィックスプロセッサシステム、グラフィックスプロセッサおよびデータ転送方法 | |
US9390036B2 (en) | Processing data packets from a receive queue in a remote direct memory access device | |
CN104657308A (zh) | 一种用fpga实现的服务器硬件加速的方法 | |
CN103218313B (zh) | 用于实现缓存描述符交互的方法和电子设备 | |
CN106713450A (zh) | 基于读写分离模式的下载提速方法及装置 | |
CN108959136B (zh) | 基于spi的数据传输加速装置、系统及数据传输方法 | |
US11784946B2 (en) | Method for improving data flow and access for a neural network processor | |
CN106662895A (zh) | 计算机设备和计算机设备数据读写的方法 | |
US20220236908A1 (en) | Method, electronic device and computer program product for processing data | |
CN115934625B (zh) | 一种用于远程直接内存访问的敲门铃方法、设备及介质 | |
CN115905046B (zh) | 网卡驱动数据包处理方法、装置、电子设备及存储介质 | |
CN102291298A (zh) | 一种高效的面向长消息的计算机网络通信方法 | |
CN108234147A (zh) | Gpdsp中基于主机计数的dma广播数据传输方法 | |
CN103338156A (zh) | 一种基于线程池的命名管道服务器并发通信方法 | |
CN108958903A (zh) | 嵌入式多核中央处理器任务调度方法与装置 | |
US9811467B2 (en) | Method and an apparatus for pre-fetching and processing work for procesor cores in a network processor | |
EP3829105A2 (en) | Blockchain operation method and apparatus, device and storage medium | |
CN110837482B (zh) | 分布式块存储低延迟控制方法、系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140319 |
|
RJ01 | Rejection of invention patent application after publication |