CN115632748A - 数据处理方法、装置、电子设备和存储介质 - Google Patents
数据处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115632748A CN115632748A CN202211235261.2A CN202211235261A CN115632748A CN 115632748 A CN115632748 A CN 115632748A CN 202211235261 A CN202211235261 A CN 202211235261A CN 115632748 A CN115632748 A CN 115632748A
- Authority
- CN
- China
- Prior art keywords
- data packet
- target data
- receiving end
- feedback information
- sending
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种数据处理方法、装置、电子设备和存储介质,可以应用于计算机技术领域。该数据处理方法,应用于RDMA网络的接收端,包括:响应于发送目标数据包的发送请求,与发送端建立传输路径;在利用预定规则基于格式信息,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收成功的第一反馈信息,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包;在利用预定规则基于格式信息,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收失败的第二反馈信息,以使中间设备在接收到第二反馈信息的情况下,将预定缓存空间中的目标数据包重新发送至接收端。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种数据处理方法、装置、电子设备、存储介质和计算机程序产品。
背景技术
相关技术中,传统的基于传输控制协议/互联协议(Transmission ControlProtocol/Internet Protocol,TCP/IP)的网络从应用层生成基于TCP协议的数据包(packet),对packet添加循环冗余校验(Cyclic Redundancy Check,CRC),由中央处理器(Central Processing Unit,CPU)来运行TCP协议传输数据到接收端,如果是可靠连接网络,需要由CPU来进行流量的控制,在接收端需要由CPU来查询内存地址、进行CRC、还原TCPpacket到应用。整个过程消耗大量的CPU资源,影响网络传输的性能。因此,提出了高带宽、低时延的远程直接内存读取(RDMA)网络,RDMA网络无需操作***和TCP/IP协议的介入,实现低延时的数据处理和高吞吐量传输,不需要远程节点CPU等资源的介入,不会因为数据的处理和迁移耗费过多的资源。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:在RDMA网络中的基于优先级流量控制(Priority Flow Control,PFC)拥塞控制机制容易对RDMA网络造成死锁导致无法及时接收数据包,从而降低了RDMA网络的性能。
发明内容
有鉴于此,本公开提供了一种数据处理方法、装置、电子设备、存储介质和计算机程序产品。
本公开的一个方面提供了一种数据处理方法,应用于RDMA网络的接收端,包括:
响应于发送目标数据包的发送请求,与发送端建立传输路径,其中,目标数据包包括与目标数据包相关的格式信息,传输路径中包括设置有用于缓存目标数据包的预定缓存空间的中间设备;
在利用预定规则基于格式信息,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收成功的第一反馈信息,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包;以及
在利用预定规则基于格式信息,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收失败的第二反馈信息,以使中间设备在接收到第二反馈信息的情况下,将预定缓存空间中的目标数据包重新发送至接收端。
根据本公开的实施例,格式信息包括目标数据包的序列号,目标数据包按照序列号的顺序依次发送,其中,在利用预定规则基于格式信息,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收成功的第一反馈信息,包括:
确定接收端中的第一数据包的第一序列号,其中,第一数据包用于表征已被接收端成功接收的数据包;
利用第一序列号,对第一数据包进行排序,得到排序结果;
在利用预定规则基于排序结果,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送第一反馈信息;
其中,在利用预定规则基于格式信息,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收失败的第二反馈信息,包括:
在利用预定规则基于排序结果,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息。
根据本公开的实施例,预定规则包括预定时间规则,其中,在利用预定规则基于排序结果,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息,包括:
基于排序结果,确定第二数据包的第二序列号,其中,第二数据包用于表征当前时刻未被接收端接收的数据包;
基于第二序列号,确定与第二数据包相邻的第一数据包被接收端成功接收的第一时刻;
基于第一时刻与当前时刻,确定第二数据包的延迟接收间隔;
根据延迟接收间隔,在确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息。
根据本公开的实施例,预定规则包括预定数量规则,其中,在利用预定规则基于排序结果,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息,包括:
根据排序结果,确定第二数据包,其中,第二数据包用于表征当前时刻未被接收端接收的数据包;
根据第二数据包,在排序结果中确定第三数据包,其中第三数据包用于表征第一数据包中发送端发送第二数据包之后发送的数据包;
基于第三数据包的数量,在确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息。
本公开的另一个方面提供了一种数据处理方法,应用于RDMA网络的中间设备,包括:
在中间设备接收到目标数据包的情况下,将目标数据包存储至预定缓存空间;
基于由接收端发送的第一反馈信息,删除预定缓存空间中的目标数据包,其中,第一反馈信息用于表征接收端已经成功接收目标数据包;以及
基于由接收端发送的第二反馈信息,将预定缓存空间中的目标数据包重新发送至接收端,其中,第二反馈信息用于表征接收端没有成功接收目标数据包。
根据本公开的实施例,其中,基于由接收端发送的第二反馈信息,将预定缓存空间中的目标数据包重新发送至接收端,包括:
基于接收端发送的第二反馈信息,确定中间设备的预定缓存空间中是否存储目标数据包;
在确定中间设备的预定缓存空间中存储目标数据包的情况下,将预定缓存空间中的目标数据包重新发送至接收端。
本公开的另一个方面提供了一种数据处理方法,应用于RDMA网络的发送端,包括:
基于发送目标数据包的发送请求,与接收端建立传输路径,其中,目标数据包包括与目标数据包相关的格式信息;
通过传输路径发送目标数据包,其中,传输路径中包括设置有用于缓存目标数据包的预定缓存空间的中间设备;
接收接收端发送的表征接收成功的第一反馈信息,其中,第一反馈信息是接收端利用预定规则基于格式信息确定的,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包。
本公开的另一个方面提供了一种数据处理装置,应用于RDMA网络的接收端,包括:
第一建立模块,用于响应于发送目标数据包的发送请求,与发送端建立传输路径,其中,目标数据包包括与目标数据包相关的格式信息,传输路径中包括设置有用于缓存目标数据包的预定缓存空间的中间设备;
第一确定模块,用于在利用预定规则基于格式信息,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收成功的第一反馈信息,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包;以及
第二确定模块,用于在利用预定规则基于格式信息,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收失败的第二反馈信息,以使中间设备在接收到第二反馈信息的情况下,将预定缓存空间中的目标数据包重新发送至接收端。
本公开的另一个方面提供了一种数据处理装置,应用于RDMA网络的中间设备,包括:
存储模块,用于在中间设备接收到目标数据包的情况下,将目标数据包存储至预定缓存空间;
删除模块,用于基于由接收端发送的第一反馈信息,删除预定缓存空间中的目标数据包,其中,第一反馈信息用于表征接收端已经成功接收目标数据包;以及
第一发送模块,用于基于由接收端发送的第二反馈信息,将预定缓存空间中的目标数据包重新发送至接收端,其中,第二反馈信息用于表征接收端没有成功接收目标数据包。
本公开的另一个方面提供了一种数据处理装置,应用于RDMA网络的发送端,包括:
第二建立模块,用于基于发送目标数据包的发送请求,与接收端建立传输路径,其中,目标数据包包括与目标数据包相关的格式信息;
第二发送模块,用于通过传输路径发送目标数据包,其中,传输路径中包括设置有用于缓存目标数据包的预定缓存空间的中间设备;
接收模块,用于接收接收端发送的表征接收成功的第一反馈信息,其中,第一反馈信息是接收端利用预定规则基于格式信息确定的,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现上述方法。
本公开的另一方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。
本公开的另一方面提供了一种计算机程序产品,上述计算机程序产品包括计算机可执行指令,上述计算机可执行指令在被执行时用于实现上述方法。
根据本公开的实施例,因为采用了响应于发送目标数据包的发送请求,与发送端建立传输路径;在利用预定规则基于格式信息,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收成功的第一反馈信息,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包;在利用预定规则基于格式信息,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收失败的第二反馈信息,以使中间设备在接收到第二反馈信息的情况下,将预定缓存空间中的目标数据包重新发送至接收端的技术手段,允许RDMA网络有损,在RDMA网络中的接收端没有接收到目标数据包的情况下,将中间设备的预定缓存空间存储目标数据包重新发送至接收端,避免使用PFC拥塞控制机制,所以至少部分地克服了在RDMA网络中的PFC拥塞控制机制容易对RDMA网络造成死锁导致无法及时接收数据包,从而降低了RDMA网络的性能的技术问题,降低了RDMA网络的时延,提高了数据传输效率。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用数据处理方法的示例性***架构;
图2示意性示出了根据本公开实施例的数据处理方法的流程图;
图3示意性示出了根据本公开又一实施例的数据处理方法的流程图;
图4示意性示出了根据本公开又一实施例的数据处理方法的流程图;
图5示意性示出了根据本公开又一实施例的数据处理方法的流程图;
图6示意性示出了根据本公开的实施例的数据处理装置的框图;
图7示意性示出了根据本公开又一实施例的数据处理装置的框图;
图8示意性示出了根据本公开又一实施例的数据处理装置的框图;以及
图9示意性示出了根据本公开实施例的适于实现数据处理方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
在相关技术中,基于融合以太网的RDMA(RDMA over Converged Ethernet,RoCE)技术可通过普通以太网的交换机实现,是数据中心网络中常用的RDMA网络技术。RoCE网络采用“回退N帧协议”对丢失的数据包进行丢包重传,即丢失数据包的序列号之后的全部数据包都要重传,所以RoCE网络对丢包非常敏感,为获取较好的性能,要求RoCE网络是不丢包网络,因此,在RDMA网络中通常使用PFC拥塞控制技术。PFC拥塞控制技术是指当中间设备的端口出现拥塞并触发PFC的反压帧门限时,中间设备将向其上游的中间设备发送PFC反压帧,上游的中间设备收到PFC反压帧后停止对应优先级数据包的发送,若本地端口缓存消耗超过阈值,则继续向上游反压。如此逐级向上反压,直到最终的发送节点暂停,从而消除网络节点因拥塞造成的丢包。
PFC拥塞控制技术增加了管理复杂性,运维人员需根据实际组网情况,设计合适的PFC报文的门限值,门限值的高低直接影响时延和吞吐,数据中心网络架构复杂,不同业务流量对时延和吞吐需求不同,门限的设计会对整个网络产生影响;PFC拥塞控制技术使以太网网络容易出现死锁。当死锁产生时,一般是停止对应数据包的发送或直接关闭交换机端口,对数据中心网络并不适用;若接收端的驱动软件由于某种原因(比如挂死),没法及时处理接收端的接收队列。导致接收端一直处于拥塞状态,从而引发PFC风暴,即接收端一直向上游的中间设备发出PFC反压帧,导致整集群通信中断;由于PFC会阻止特定等级中间设备的所有流量,所以正常流量也可能被阻止,导致对头阻塞。并且若中间设备耦合密切,对头阻塞可能会引起上游额外的阻塞,从而出现拥塞扩散的现象。
有鉴于此,本公开的实施例提供了一种数据处理方法,应用于RDMA网络的接收端,包括:响应于发送目标数据包的发送请求,与发送端建立传输路径,其中,目标数据包包括与目标数据包相关的格式信息,传输路径中包括设置有用于缓存目标数据包的预定缓存空间的中间设备;在利用预定规则基于格式信息,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收成功的第一反馈信息,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包;在利用预定规则基于格式信息,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收失败的第二反馈信息,以使中间设备在接收到第二反馈信息的情况下,将预定缓存空间中的目标数据包重新发送至接收端。允许RDMA网络有损,避免使用PFC拥塞控制机制构建无损网络带来的死锁、风暴等问题,同时减轻运维人员流水线设置的压力;改进RDMA传统“回退N帧协议”丢包重传机制,降低性能影响;同时将目标数据包的格式信息封装至目标数据包中,并在中间设备中设置预定缓存空间,在接收端没有接收到目标数据包的情况下,可以从中间设备中获取预定缓存空间对应的目标数据包进行精确重传,有效降低时延。
图1示意性示出了根据本公开实施例的可以应用数据处理方法的示例性***架构100。需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
如图1所示,根据该实施例的***架构100可以包括发送端101、中间设备102和接收端103,发送端101、中间设备102和接收端103之间可以建立传输路径。
发送端101可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
中间设备102可以包括多个,中间设备102中可以设置预定缓存空间。
接收端103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
发送端101、中间设备102和接收端103之间的传输路径可以是基于RDMA网络建立的。
需要说明的是,本公开实施例所提供的数据处理方法一般可以由接收端103执行。相应地,本公开实施例所提供的数据处理装置一般可以设置于接收端103中。或者,本公开实施例所提供的数据处理方法也可以由中间设备102执行,本公开实施例所提供的数据处理装置也可以设置于中间设备102中。或者,本公开实施例所提供的数据处理方法也可以由发送端101执行,本公开实施例所提供的数据处理装置也可以设置于发送端101中。
例如,发送端101可以接收用于发送目标数据包的发送请求,基于发送请求与接收端103建立传输路径,通过传输路径将目标数据包发送至中间设备102中,然后,中间设备设备102可以执行数据处理方法,将目标数据包存储至预定缓存空间并发送至接收端103。接收端103可以执行数据处理方法,根据已经接收的数据包确定目标数据包是否成功接收。
应该理解,图1中的发送端、中间设备和接收端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的发送端、中间设备和接收端。
图2示意性示出了根据本公开实施例的数据处理方法的流程图。
如图2所示,该方法应用于RDMA网络的接收端,包括操作S201~S203。
在操作S201,响应于发送目标数据包的发送请求,与发送端建立传输路径,其中,目标数据包包括与目标数据包相关的格式信息,传输路径中包括设置有用于缓存目标数据包的预定缓存空间的中间设备。
根据本公开的实施例,接收端和发送端可以分别是基于RDMA网络的接收端和发送端。目标数据包可以是接收端要接收的数据包,与目标数据包相关的格式信息可以是目标数据包中包括的字节数信息、目标数据包的地址信息、目标数据包的目标存储信息、目标数据包的标识信息等。
根据本公开的实施例,中间设备可以有多个,中间设备可以是交换机,传输路径中可以包括:发送端、多个中间设备和接收端。目标数据包可以从发送端经过多个中间设备传输至接收段。传输路径中的多个中间设备可以按照预定顺序连接,从而在目标数据包传输至中间设备的情况下,可以按照预定顺序依次经过多个中间设备中的每一个中间设备。
根据本公开的实施例,在目标数据包依次经过多个中间设备中的每一个中间设备的情况下,可以将目标数据包存储至中间设备的预定缓存空间中。
根据本公开的实施例,可以根据发送请求,确定发送端、中间设备和接收端的数据传输端口是否为空闲状态,在发送端、中间设备和接收端的数据传输端口均为空闲状态的情况下,建立传输路径,还可以根据发送请求,确定发送端、中间设备和接收端的网络连接是否为良好状态,在确定发送端、中间设备和接收端的网络连接为良好状态的情况下,建立传输路径。
在操作S202,在利用预定规则基于格式信息,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收成功的第一反馈信息,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包。
根据本公开的实施例,预定规则可以是预先设置的用于确定接收端成功接收目标数据包的规则,例如,可以在接收端设置好目标数据包的目标存储空间,预定规则可以是接收端按照格式信息中的目标存储信息,将目标数据包存储至目标存储空间的规则。
根据本公开的实施例,利用预定规则基于格式信息,确定接收端成功接收目标数据包可以包括:根据格式信息中的目标存储信息,确定接收端按照目标存储信息将目标数据包存储至目标存储空间。在确定接收端按照目标存储信息将目标数据包存储至目标存储空间的情况下,确定接收端成功接收目标数据包。
根据本公开的实施例,在确定接收端成功接收目标数据包的情况下,接收端可以根据接收到的目标数据包,生成第一反馈信息(Acknowledgement,ACK),第一反馈信息中可以包括目标数据包中格式信息中的标识信息,通过传输路径向发送端发送第一反馈信息,在传输路径中的中间设备接收到第一反馈信息的情况下,可以根据标识信息从预定缓存空间中确定与其相匹配的目标数据包,从删除预定缓存空间中的目标数据包。
例如,接收端A响应于用于发送目标数据包P的发送请求,建立与发送端B的传输路径,传输路径中包括依次连接的中间设备C1、中间设备C2和中间设备C3,每个中间都设置有预定缓存空间,目标数据包P从发送端B发送,依次经过中间设备C1、中间设备C2和中间设备C3进行传输,在传输至中间设备C1的情况下,中间设备C1将目标数据包P发送至中间设备C2,并将目标数据包P缓存至中间设备C1的预定缓存空间中,中间设备C2和中间设备C3对目标数据包的处理也类似,在此不在赘述,最终传输至接收端A,应当知晓,此处的中间设备数量仅为示意,可以根据需要设置任意数量的中间设备。
接收端A可以根据目标数据包P中的格式信息确定目标数据包P的目标存储位置,在确定目标数据包P存储至目标存储位置的情况下,生成第一反馈信息,并将第一反馈信息由传输路径返回,可以从接收端A发送,依次经过中间设备C3、中间设备C2和中间设备C1,最后由发送端B接收,在中间设备C3接收到第一反馈信息的情况下,可以将中间设备C3的预定缓存空间中缓存的目标数据包P删除,中间设备C2和中间设备C1对目标数据包P的处理也类似,在此不在赘述。
在操作S203,在利用预定规则基于格式信息,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收失败的第二反馈信息,以使中间设备在接收到第二反馈信息的情况下,将预定缓存空间中的目标数据包重新发送至接收端。
根据本公开的实施例,预定规则可以是预先设置的用于确定接收端没有成功接收目标数据包的规则,例如,可以在接收端设置好目标数据包的目标存储空间,预定规则可以是接收端没有按照格式信息中的目标存储信息,将目标数据包存储至目标存储空间的规则。
根据本公开的实施例,利用预定规则基于格式信息,确定接收端没有成功接收目标数据包可以包括:根据格式信息中的目标存储信息,确定接收端没有按照目标存储信息将目标数据包存储至目标存储空间。在确定接收端没有按照目标存储信息将目标数据包存储至目标存储空间的情况下,确定接收端没有成功接收目标数据包。
根据本公开的实施例,在确定接收端没有成功接收目标数据包的情况下,接收端可以生成第二反馈信息(Negative Acknowledgement,NACK),第二反馈信息中可以包括接收失败的目标数据包的格式信息中的标识信息,通过传输路径向发送端发送第二反馈信息,在传输路径中的中间设备接收到第二反馈信息的情况下,可以根据第二反馈信息确定预定缓存空间中是否存储有接收失败的目标数据包,在预定缓存空间中存储有接收失败的目标数据包的情况下,将预定缓存空间中的目标数据包重新发送至接收端。
例如,在接收端A没有成功接收目标数据包P的情况下,生成第二反馈信息,并将第二反馈信息由传输路径返回,可以从接收端A发送,依次经过中间设备C3、中间设备C2和中间设备C1,最后由发送端B接收,在中间设备C3接收到第二反馈信息的情况下,可以根据第二反馈信息确定中间设备C3的预定缓存空间中是否缓存有目标数据包P;在中间设备C3的预定缓存空间中缓存有目标数据包P的情况下,将预定缓存空间中的目标数据包P重新发送至接收A;在中间设备C3的预定缓存空间中没有目标数据包P的情况下,通过传输路径将第二反馈信息发送至中间设备C2;在中间设备C2的预定缓存空间中缓存有目标数据包P的情况下,将预定缓存空间中的目标数据包P重新发送至中间设备C3,由中间设备C3的预定缓存空间缓存目标数据包P,并将目标数据包发送至接收端A;在中间设备C2的预定缓存空间中没有目标数据包P的情况下,通过传输路径将第二反馈信息发送至中间设备C1,以此类推,直至目标数据包重新发送至接收端。
根据本公开的实施例,因为采用了响应于发送目标数据包的发送请求,与发送端建立传输路径;在利用预定规则基于格式信息,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收成功的第一反馈信息,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包;在利用预定规则基于格式信息,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收失败的第二反馈信息,以使中间设备在接收到第二反馈信息的情况下,将预定缓存空间中的目标数据包重新发送至接收端的技术手段,允许RDMA网络有损,在RDMA网络中的接收端没有接收到目标数据包的情况下,将中间设备的预定缓存空间存储目标数据包重新发送至接收端,避免使用PFC拥塞控制机制,所以至少部分地克服了在RDMA网络中的PFC拥塞控制机制容易对RDMA网络造成死锁导致无法及时接收数据包,从而降低了RDMA网络的性能的技术问题,降低了RDMA网络的时延,提高了数据传输效率。
根据本公开的实施例,格式信息包括目标数据包的序列号,目标数据包按照序列号的顺序依次发送,其中,在利用预定规则基于格式信息,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收成功的第一反馈信息,包括:
确定接收端中的第一数据包的第一序列号,其中,第一数据包用于表征已被接收端成功接收的数据包;
利用第一序列号,对第一数据包进行排序,得到排序结果;
在利用预定规则基于排序结果,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送第一反馈信息;
其中,在利用预定规则基于格式信息,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收失败的第二反馈信息,包括:
在利用预定规则基于排序结果,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息。
根据本公开的实施例,目标数据包的序列号(Packet Sequence Number,PSN)可以是依次相邻的,例如,目标数据包为P1、P2、P3、P4和P5,目标数据包的序列号可以分别为是S001、S002、S003、S004和S005,发送端可以按照目标数据包的序列号依次发送目标数据包,以便于对目标数据包进行管理,此处的目标数据包的数量仅为示意,不构成对本申请的限制。
根据本公开的实施例,第一数据包可以是接收端已经接收的目标数据包,可以根据第一数据包中格式信息中的序列号确定第一序列号,第一序列号是第一数据包的序列号,根据第一序列号确定第一数据包的排序结果。
根据本公开的实施例,利用预定规则基于排序结果,确定接收端成功接收目标数据包可以是:根据排序结果中第一目标数据包的第一序列号是连续的,确定接收端已经成功接收目标数据包,生成第一反馈信息,并通过传输路径向发送端发送第一反馈信息。
例如,第一数据包的排序结果可以是P1、P2、P3、P4和P5,与第一数据包对应的第一序列号是连续的,因此可以确定目标数据包已经被接收端成功接收,可以分别生成与第一数据包P1、P2、P3、P4和P5对应的第一反馈信息,再通过传输路径向发送端发送第一反馈信息,还可以根据第一数据包P1、P2、P3、P4和P5一起的信息一起生成一份第一反馈信息,再通过传输路径向发送端发送第一反馈信息。
根据本公开的实施例,利用预定规则基于排序结果,确定接收端成功接收目标数据包可以是:根据排序结果中第一目标数据包的第一序列号不是连续的,确定接收端没有成功接收目标数据包,生成第二反馈信息,并通过传输路径向发送端发送第二反馈信息。
例如,第一数据包的排序结果可以是P1、P2、P4和P5,与第一数据包对应的第一序列号不是连续的,缺少序列号S003,因此可以确定目标数据包P3没有被接收端成功接收,可以生成关于目标数据包P3的第二反馈信息,并通过传输路径向发送端发送第二反馈信息。
根据本公开的实施例,按照目标数据包的序列号依次发送目标数据包,可以有序的发送目标数据包,还可以在接收端根据目标数据包的序列号准确的确定目标数据包是否成功接收,从而将发送反馈信息,降低RDMA网络的时延。
根据本公开的实施例,预定规则包括预定时间规则,其中,在利用预定规则基于排序结果,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息,包括:
基于排序结果,确定第二数据包的第二序列号,其中,第二数据包用于表征当前时刻未被接收端接收的数据包;
基于第二序列号,确定与第二数据包相邻的第一数据包被接收端成功接收的第一时刻;
基于第一时刻与当前时刻,确定第二数据包的延迟接收间隔;
根据延迟接收间隔,在确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息。
根据本公开的实施例,预定时间规则可以是按照时间确定的规则,例如,预定时间规则可以是在预定的时间范围内接收端是否成功接收到目标数据包的规则。
根据本公开的实施例,可以根据排序结果中缺少的序列号确定第二序列号,从而确定第二数据包。
根据本公开的实施例,接收端可以记录每一个数据包接收的时刻,可以获取与第二序列号相邻的第一序列号对应的第一数据包的第一时刻,根据当前时刻与第一时刻的差值,确定第二数据包的延迟接收间隔,在延迟接收间隔小于或者等于预定间隔阈值的情况下,确定接收端还未接收到目标数据包,即第二数据包,可以不发送反馈信息,在延迟接收间隔大于预定间隔阈值的情况下,确定接收端接收第二数据包失败,并发送第二反馈信息。
例如,第一数据包的排序结果可以是P1、P2、P4和P5,与第一数据包对应的第一序列号不是连续的,缺少序列号S003,确定第二序列号为S003,第二数据包为P3,当前时刻可以是0时10分02秒,因此可以确定第二数据包P3在当前时刻没有被接收端成功接收,与S003相邻的第一序列号分别为S002、S004,分别对应第一数据包P2、P4,预定间隔阈值可以是2秒,在接收端接收P2的第一时刻是0时10分01秒,接收端接收P4的第一时刻是0时10分03秒的情况下,当前时刻与P2的第一时刻的延迟接收间隔为1秒,当前时刻与P4的第一时刻的延迟接收间隔为1秒,因此,当前时刻与P2的第一时刻的延迟接收间隔,以及当前时刻与P4的第一时刻的延迟接收间隔均小于预定间隔阈值,因此可以确定第二数据包P3还未被接收端接收,接收端可以不发反馈信息。
在接收端接收P2的第一时刻是0时10分01秒,接收端接收P4的第一时刻是0时10分05秒的情况下,当前时刻与P4的第一时刻的延迟接收间隔为3秒,预定间隔阈值可以是2秒,因此当前时刻与P4的第一时刻的延迟接收间隔大于预定间隔阈值,因此可以确定接收端接收第二数据包P3失败,可以发送第二反馈信息。
根据本公开的实施例,通过预定时间规则,可以准确的确定接收端是否成功接收到目标数据包,从而及时发送反馈信息,提高数据包传输效率。
根据本公开的实施例,预定规则包括预定数量规则,其中,在利用预定规则基于排序结果,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息,包括:
根据排序结果,确定第二数据包,其中,第二数据包用于表征当前时刻未被接收端接收的数据包;
根据第二数据包,在排序结果中确定第三数据包,其中第三数据包用于表征第一数据包中发送端发送第二数据包之后发送的数据包;
基于第三数据包的数量,在确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息。
根据本公开的实施例,预定数量规则可以是根据接收端接收到的第一数据包的数量确定是否成功接收目标数据包的规则。
根据本公开的实施例,可以根据排序结果中缺少的序列号确定第二序列号,从而确定第二数据包。
根据本公开的实施例,目标数据包的发送顺序可以是按照序列号依次进行发送,排序结果可以与目标数据包的发送顺序一致。
根据本公开的实施例,第三数据包可以是排序结果中排列在第二数据包之后的第一数据包,即发送端在发送第二数据包之后发送的数据包中,被接收端成功接收的数据包。
根据本公开的实施例,可以根据设定预定数量阈值,在第三数据包的数量大于预定数量阈值的情况下,确定接收端没有成功接收第二数据包,并发送第二反馈信息,以及在第三数据包的数量小于或者等于预定数量阈值的情况下,确定接收端还未接收到第二数据包,可以不发送反馈信息。
例如,第一数据包的排序结果可以是P1、P2、P4和P5,第二数据包为P3,第三数据包为P4和P5,可以设定预定数量阈值为2,第三数据包的数量等于预定数量阈值,因此可以确定第二数据包还未被接收,接收端可以不发送反馈信息。
再例如,第一数据包的排序结果可以是P1、P2、P4、P5和P6,第二数据包为P3,第三数据包为P4、P5和P6,可以设定预定数量阈值为2,第三数据包的数量大于预定数量阈值,因此可以确定第二数据包未被成功接收,接收端可以发送第二反馈信息。
根据本公开的实施例,根据第三数据包的数量,可以在确定接收端没有成功接收目标数据包的情况下,及时发送第二反馈信息,使得中间设备重新发送目标数据包,提高数据传输效率。
图3示意性示出了根据本公开又一实施例的数据处理方法的流程图。
如图3所示,该方法应用于RDMA网络的中间设备,包括操作S301~操作S303。
在操作S301,在中间设备接收到目标数据包的情况下,将目标数据包存储至预定缓存空间。
在操作S302,基于由接收端发送的第一反馈信息,删除预定缓存空间中的目标数据包,其中,第一反馈信息用于表征接收端已经成功接收目标数据包。
在操作S303,基于由接收端发送的第二反馈信息,将预定缓存空间中的目标数据包重新发送至接收端,其中,第二反馈信息用于表征接收端没有成功接收目标数据包。
根据本公开的实施例,中间设备可以是基于RDMA网络传输数据的交换,中间设备可以有多个。
根据本公开的实施例,预定缓存空间的大小可以根据要传输的目标数据包的大小和数量进行设定。
根据本公开的实施例,可以通过接收端和发送端建立的传输路径将目标数据包传输至的中间设备,中间设备将目标数据包存储到预定缓存空间,在接收到来自接收端发送的第一反馈信息的情况下,将预定缓存空间中的目标数据包删除。
根据本公开的实施例,操作S302的解释可以参考对上述图2中操作S202的描述,操作S303的解释可以参考对上述图2中操作S203的描述,在此不再赘述。
根据本公开的实施例,因为采用了在中间设备接收到目标数据包的情况下,将目标数据包存储至预定缓存空间;基于由接收端发送的第一反馈信息,删除预定缓存空间中的目标数据包,其中,第一反馈信息用于表征接收端已经成功接收目标数据包;基于由接收端发送的第二反馈信息,将预定缓存空间中的目标数据包重新发送至接收端,其中,第二反馈信息用于表征接收端没有成功接收目标数据包的技术手段,允许RDMA网络有损,在RDMA网络中的接收端没有接收到目标数据包的情况下,将中间设备的预定缓存空间存储目标数据包重新发送至接收端,避免使用PFC拥塞控制机制,所以至少部分地克服了在RDMA网络中的PFC拥塞控制机制容易对RDMA网络造成死锁导致无法及时接收数据包,从而降低了RDMA网络的性能的技术问题,降低了RDMA网络的时延,提高了数据传输效率。
根据本公开的实施例,其中,基于由接收端发送的第二反馈信息,将预定缓存空间中的目标数据包重新发送至接收端,包括:
基于接收端发送的第二反馈信息,确定中间设备的预定缓存空间中是否存储目标数据包;
在确定中间设备的预定缓存空间中存储目标数据包的情况下,将预定缓存空间中的目标数据包重新发送至接收端。
根据本公开的实施例,中间设备可以由于网络拥塞导致目标数据包发送失败,在传输路径中中间设备接收到第二反馈信息的情况下,可以根据第二反馈信息中目标数据包的格式信息,在确定预定缓存空间中存储目标数据包的情况下,将目标数据包重新发送至接收端,并且不再利用传输路径传输第二反馈信息;在确定预定缓存空间中没有存储目标数据包的情况下,继续通过传输路径传输第二反馈信息,直至将第二反馈信息传输至预定缓存空间中存储有目标数据包的中间设备。
根据本公开的实施例,通过允许RDMA网络有损,在接收端没有成功接收目标数据包的情况下,从中间设备的预定缓存中对目标数据包进行精准重传,可以降低时延。
图4示意性示出了根据本公开又一实施例的数据处理方法的流程图。
如图4所示,该方法应用于RDMA网络的发送端,包括操作S401~操作S403。
在操作S401,基于发送目标数据包的发送请求,与接收端建立传输路径,其中,目标数据包包括与目标数据包相关的格式信息。
在操作S402,通过传输路径发送目标数据包,其中,传输路径中包括设置有用于缓存目标数据包的预定缓存空间的中间设备。
在操作S403,接收接收端发送的表征接收成功的第一反馈信息,其中,第一反馈信息是接收端利用预定规则基于格式信息确定的,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包。
根据本公开的实施例,应用于RDMA网络的接收端、中间设备和发送端的的数据处理方法是相应的,因此,对操作S401、操作S402和操作S403的解释均可以参考本公开其他实施例的相关描述,在此不再赘述。
图5示意性示出了根据本公开又一实施例的数据处理方法的流程图。
如图5所示,该方法包括操作S501~S512。
在操作S501,基于发送目标数据包的发送请求,与接收端建立传输路径。
在操作S502,响应于发送目标数据包的发送请求,与发送端建立传输路径。
在操作S503,通过传输路径发送目标数据包。
在操作S504,将目标数据包存储至预定缓存空间。
在操作S505,利用预定规则基于格式信息,确定接收端没有成功接收目标数据包。
在操作S506,通过传输路径向发送端发送表征接收失败的第二反馈信息。
在操作S507,基于第二反馈信息,确定中间设备的预定缓存空间中存储目标数据包。
在操作S508,将预定缓存空间中的目标数据包重新发送至接收端。
在操作S509,利用预定规则基于格式信息,确定接收端成功接收目标数据包。
在操作S510,通过传输路径向发送端发送表征接收成功的第一反馈信息。
在操作S511,基于第一反馈信息,删除预定缓存空间中的目标数据包。
在操作S512,接收接收端发送的表征接收成功的第一反馈信息。
根据本公开的实施例,通过允许RDMA网络有损,避免使用PFC拥塞控制机制构建无损网络带来的死锁、风暴等问题,同时减轻运维人员流水线设置的压力;改进RDMA传统“回退N帧协议”丢包重传机制,降低性能影响;同时将目标数据包的格式信息封装至目标数据包中,并在中间设备中设置预定缓存空间,在接收端没有接收到目标数据包的情况下,可以从中间设备中获取预定缓存空间对应的目标数据包进行精确重传,有效降低时延。
图6示意性示出了根据本公开的实施例的数据处理装置的框图。
如图6所示,该装置600应用于RDMA网络的接收端,包括第一建立模块601、第一确定模块602和第二确定模块603。
第一建立模块601,用于响应于发送目标数据包的发送请求,与发送端建立传输路径,其中,目标数据包包括与目标数据包相关的格式信息,传输路径中包括设置有用于缓存目标数据包的预定缓存空间的中间设备。
第一确定模块602,用于在利用预定规则基于格式信息,确定接收端成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收成功的第一反馈信息,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包。
第二确定模块603,用于在利用预定规则基于格式信息,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收失败的第二反馈信息,以使中间设备在接收到第二反馈信息的情况下,将预定缓存空间中的目标数据包重新发送至接收端。
根据本公开的实施例,格式信息包括目标数据包的序列号,目标数据包按照序列号的顺序依次发送,其中,用于在利用预定规则基于格式信息,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送表征接收失败的第二反馈信息的第二确定模块包括:
第一确定单元,用于确定接收端中的第一数据包的第一序列号,其中,第一数据包用于表征已被接收端成功接收的数据包;
第二确定单元,用于利用第一序列号,对第一数据包进行排序,得到排序结果;
第三确定单元,用于在利用预定规则基于排序结果,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息。
根据本公开的实施例,预定规则包括预定时间规则,其中,用于在利用预定规则基于排序结果,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息的第三确定单元包括:
第一确定子单元,用于基于排序结果,确定第二数据包的第二序列号,其中,第二数据包用于表征当前时刻未被接收端接收的数据包;
第二确定子单元,用于基于第二序列号,确定与第二数据包相邻的第一数据包被接收端成功接收的第一时刻;
第三确定子单元,用于基于第一时刻与当前时刻,确定第二数据包的延迟接收间隔;
第四确定子单元,用于根据延迟接收间隔,在确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息。
根据本公开的实施例,预定规则包括预定数量规则,其中,用于在利用预定规则基于排序结果,确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息,包括:
第五确定子单元,用于根据排序结果,确定第二数据包,其中,第二数据包用于表征当前时刻未被接收端接收的数据包;
第六确定子单元,用于根据第二数据包,在排序结果中确定第三数据包,其中第三数据包用于表征第一数据包中发送端发送第二数据包之后发送的数据包;
第七确定子单元,用于基于第三数据包的数量,在确定接收端没有成功接收目标数据包的情况下,通过传输路径向发送端发送第二反馈信息。
图7示意性示出了根据本公开又一实施例的数据处理装置的框图。
如图7所示,该装置700应用于RDMA网络的中间设备,包括存储模块701、删除模块702和第一发送模块703。
存储模块701,用于在中间设备接收到目标数据包的情况下,将目标数据包存储至预定缓存空间。
删除模块702,用于基于由接收端发送的第一反馈信息,删除预定缓存空间中的目标数据包,其中,第一反馈信息用于表征接收端已经成功接收目标数据包。
第一发送模块703,用于基于由接收端发送的第二反馈信息,将预定缓存空间中的目标数据包重新发送至接收端,其中,第二反馈信息用于表征接收端没有成功接收目标数据包。
根据本公开的实施例,其中,用于基于由接收端发送的第二反馈信息,将预定缓存空间中的目标数据包重新发送至接收端的第一发送模块包括:
第一发送单元,用于基于接收端发送的第二反馈信息,确定中间设备的预定缓存空间中是否存储目标数据包;
第二发送单元,用于在确定中间设备的预定缓存空间中存储目标数据包的情况下,将预定缓存空间中的目标数据包重新发送至接收端。
图8示意性示出了根据本公开又一实施例的数据处理装置的框图。
如图8所示,该装置800应用于RDMA网络的发送端,包括第二建立模块801、第二发送模块802和接收模块803。
第二建立模块801,用于基于发送目标数据包的发送请求,与接收端建立传输路径,其中,目标数据包包括与目标数据包相关的格式信息。
第二发送模块802,用于通过传输路径发送目标数据包,其中,传输路径中包括设置有用于缓存目标数据包的预定缓存空间的中间设备。
接收模块803,用于接收接收端发送的表征接收成功的第一反馈信息,其中,第一反馈信息是接收端利用预定规则基于格式信息确定的,以使中间设备在接收到第一反馈信息的情况下,删除预定缓存空间中的目标数据包。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一建立模块601、第一确定模块602和第二确定模块603中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一建立模块601、第一确定模块602和第二确定模块603中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一建立模块601、第一确定模块602和第二确定模块603中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中数据处理装置部分与本公开的实施例中数据处理方法部分是相对应的,数据处理装置部分的描述具体参考数据处理方法部分,在此不再赘述。
图9示意性示出了根据本公开实施例的适于实现数据处理方法的电子设备的框图。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、ROM902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。***900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (13)
1.一种数据处理方法,应用于RDMA网络的接收端,包括:
响应于发送目标数据包的发送请求,与发送端建立传输路径,其中,所述目标数据包包括与所述目标数据包相关的格式信息,所述传输路径中包括设置有用于缓存所述目标数据包的预定缓存空间的中间设备;
在利用预定规则基于所述格式信息,确定所述接收端成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送表征接收成功的第一反馈信息,以使所述中间设备在接收到所述第一反馈信息的情况下,删除所述预定缓存空间中的目标数据包;以及
在利用所述预定规则基于所述格式信息,确定所述接收端没有成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送表征接收失败的第二反馈信息,以使所述中间设备在接收到所述第二反馈信息的情况下,将所述预定缓存空间中的目标数据包重新发送至所述接收端。
2.根据权利要求1所述的方法,所述格式信息包括所述目标数据包的序列号,所述目标数据包按照所述序列号的顺序依次发送,其中,所述在利用预定规则基于所述格式信息,确定所述接收端成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送表征接收成功的第一反馈信息,包括:
确定所述接收端中的第一数据包的第一序列号,其中,所述第一数据包用于表征已被所述接收端成功接收的数据包;
利用所述第一序列号,对所述第一数据包进行排序,得到排序结果;
在利用预定规则基于所述排序结果,确定所述接收端成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送所述第一反馈信息;
其中,所述在利用所述预定规则基于所述格式信息,确定所述接收端没有成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送表征接收失败的第二反馈信息,包括:
在利用预定规则基于所述排序结果,确定所述接收端没有成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送所述第二反馈信息。
3.根据权利要求2所述的方法,所述预定规则包括预定时间规则,其中,所述在利用预定规则基于所述排序结果,确定所述接收端没有成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送所述第二反馈信息,包括:
基于所述排序结果,确定第二数据包的第二序列号,其中,所述第二数据包用于表征当前时刻未被所述接收端接收的数据包;
基于所述第二序列号,确定与所述第二数据包相邻的第一数据包被所述接收端成功接收的第一时刻;
基于所述第一时刻与所述当前时刻,确定所述第二数据包的延迟接收间隔;
根据所述延迟接收间隔,在确定所述接收端没有成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送所述第二反馈信息。
4.根据权利要求2所述的方法,所述预定规则包括预定数量规则,其中,所述在利用预定规则基于所述排序结果,确定所述接收端没有成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送所述第二反馈信息,包括:
根据所述排序结果,确定第二数据包,其中,所述第二数据包用于表征当前时刻未被所述接收端接收的数据包;
根据所述第二数据包,在所述排序结果中确定第三数据包,其中所述第三数据包用于表征第一数据包中所述发送端发送所述第二数据包之后发送的数据包;
基于所述第三数据包的数量,在确定所述接收端没有成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送所述第二反馈信息。
5.一种数据处理方法,应用于RDMA网络的中间设备,包括:
在所述中间设备接收到目标数据包的情况下,将所述目标数据包存储至预定缓存空间;
基于由接收端发送的第一反馈信息,删除所述预定缓存空间中的所述目标数据包,其中,所述第一反馈信息用于表征所述接收端已经成功接收所述目标数据包;以及
基于由所述接收端发送的第二反馈信息,将所述预定缓存空间中的所述目标数据包重新发送至所述接收端,其中,所述第二反馈信息用于表征所述接收端没有成功接收所述目标数据包。
6.根据权利要求5所述的方法,其中,所述基于由所述接收端发送的第二反馈信息,将所述预定缓存空间中的所述目标数据包重新发送至所述接收端,包括:
基于接收端发送的所述第二反馈信息,确定所述中间设备的所述预定缓存空间中是否存储所述目标数据包;
在确定所述中间设备的所述预定缓存空间中存储所述目标数据包的情况下,将所述预定缓存空间中的所述目标数据包重新发送至所述接收端。
7.一种数据处理方法,应用于RDMA网络的发送端,包括:
基于发送目标数据包的发送请求,与接收端建立传输路径,其中,所述目标数据包包括与所述目标数据包相关的格式信息;
通过所述传输路径发送所述目标数据包,其中,所述传输路径中包括设置有用于缓存所述目标数据包的预定缓存空间的中间设备;
接收所述接收端发送的表征接收成功的第一反馈信息,其中,第一反馈信息是所述接收端利用预定规则基于所述格式信息确定的,以使所述中间设备在接收到所述第一反馈信息的情况下,删除所述预定缓存空间中的所述目标数据包。
8.一种数据处理装置,应用于RDMA网络的接收端,包括:
第一建立模块,用于响应于发送目标数据包的发送请求,与发送端建立传输路径,其中,所述目标数据包包括与所述目标数据包相关的格式信息,所述传输路径中包括设置有用于缓存所述目标数据包的预定缓存空间的中间设备;
第一确定模块,用于在利用预定规则基于所述格式信息,确定所述接收端成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送表征接收成功的第一反馈信息,以使所述中间设备在接收到所述第一反馈信息的情况下,删除所述预定缓存空间中的目标数据包;以及
第二确定模块,用于在利用所述预定规则基于所述格式信息,确定所述接收端没有成功接收所述目标数据包的情况下,通过所述传输路径向所述发送端发送表征接收失败的第二反馈信息,以使所述中间设备在接收到所述第二反馈信息的情况下,将所述预定缓存空间中的目标数据包重新发送至所述接收端。
9.一种数据处理装置,应用于RDMA网络的中间设备,包括:
存储模块,用于在所述中间设备接收到目标数据包的情况下,将所述目标数据包存储至预定缓存空间;
删除模块,用于基于由接收端发送的第一反馈信息,删除所述预定缓存空间中的所述目标数据包,其中,所述第一反馈信息用于表征所述接收端已经成功接收所述目标数据包;以及
第一发送模块,用于基于由所述接收端发送的第二反馈信息,将所述预定缓存空间中的所述目标数据包重新发送至所述接收端,其中,所述第二反馈信息用于表征所述接收端没有成功接收所述目标数据包。
10.一种数据处理装置,应用于RDMA网络的发送端,包括:
第二建立模块,用于基于发送目标数据包的发送请求,与接收端建立传输路径,其中,所述目标数据包包括与所述目标数据包相关的格式信息;
第二发送模块,用于通过所述传输路径发送所述目标数据包,其中,所述传输路径中包括设置有用于缓存所述目标数据包的预定缓存空间的中间设备;
接收模块,用于接收所述接收端发送的表征接收成功的第一反馈信息,其中,第一反馈信息是所述接收端利用预定规则基于所述格式信息确定的,以使所述中间设备在接收到所述第一反馈信息的情况下,删除所述预定缓存空间中的所述目标数据包。
11.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至4中任一项所述的方法,或权利要求5或6所述的方法,或权利要求7所述的方法。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至4中任一项所述的方法,或权利要求5或6所述的方法,或权利要求7所述的方法。
13.一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述计算机可执行指令在被执行时用于实现权利要求1至4中任一项所述的方法,或权利要求5或6所述的方法,或权利要求7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211235261.2A CN115632748A (zh) | 2022-10-10 | 2022-10-10 | 数据处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211235261.2A CN115632748A (zh) | 2022-10-10 | 2022-10-10 | 数据处理方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115632748A true CN115632748A (zh) | 2023-01-20 |
Family
ID=84904517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211235261.2A Pending CN115632748A (zh) | 2022-10-10 | 2022-10-10 | 数据处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115632748A (zh) |
-
2022
- 2022-10-10 CN CN202211235261.2A patent/CN115632748A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934340B2 (en) | Multi-path RDMA transmission | |
US10630749B2 (en) | Timely delivery of real-time media problem when TCP must be used | |
US10116574B2 (en) | System and method for improving TCP performance in virtualized environments | |
US20220014312A1 (en) | Data transmission method and apparatus | |
US10430374B2 (en) | Selective acknowledgement of RDMA packets | |
US9503383B2 (en) | Flow control for reliable message passing | |
US10355997B2 (en) | System and method for improving TCP performance in virtualized environments | |
US6747949B1 (en) | Register based remote data flow control | |
US20060203730A1 (en) | Method and system for reducing end station latency in response to network congestion | |
US9692560B1 (en) | Methods and systems for reliable network communication | |
US8935329B2 (en) | Managing message transmission and reception | |
US9509450B2 (en) | Snoop virtual receiver time | |
WO2018137158A1 (zh) | 一种数据传输方法、装置及客户终端设备 | |
WO2022000208A1 (zh) | 一种数据重传方法和装置 | |
US8769137B2 (en) | Systems and methods for negotiated accelerated block option for trivial file transfer protocol (TFTP) | |
CN109586931B (zh) | 组播方法及终端设备 | |
CN115632748A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
US7636313B2 (en) | Use of internal buffer to reduce acknowledgement related delays in acknowledgement-based reliable communication protocols | |
CN116684354A (zh) | 网络流拥塞管理装置及其方法 | |
CN115348336A (zh) | 异构数据流的通用传输架构 | |
TWI831622B (zh) | 網路流壅塞管理裝置及其方法 | |
JPWO2012014397A1 (ja) | 通信装置、通信システム、パケット再送制御方法およびパケット再送制御プログラム | |
CN118368038A (zh) | 通信方法及装置 | |
CN117768064A (zh) | 数据包处理方法、装置、***、设备及存储介质 | |
CN118056194A (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 |