内存访问方法、装置、设备和存储介质与流程

摘要: 本技术涉及数据传输,特别是涉及一种内存访问方法、装置、设备和存储介质。背景技术:1、远程直接内存访问是一种直接存储器访问技术,它将数据直接从一台计算机(接收端)...
内存访问方法、装置、设备和存储介质与流程

本技术涉及数据传输,特别是涉及一种内存访问方法、装置、设备和存储介质。

背景技术:

1、远程直接内存访问是一种直接存储器访问技术,它将数据直接从一台计算机(接收端)的内存传输到另一台计算机(接收端),无需双方操作系统的介入。

2、传统技术中,接收端接收发送端发送的数据包,并判断接收到的数据包是否满足预设的固定的聚合度阈值。若接收到的数据包满足聚合度阈值,接收端生成确认报文,并将确认报文反馈给发送端。发送端根据确认报文进行下一轮次的数据包传输。

3、然而,传统技术中,固定的聚合度阈值无法满足多变的网络环境,当网络拥堵时,高聚合度阈值会导致发送端无法及时获取确认报文,进而影响数据传输的时效性。而当网络空闲时,低聚合度阈值,会导致接收端不断发送确认报文,造成网络资源的浪费。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种内存访问方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

2、第一方面,本技术提供了一种内存访问方法,所述方法应用于接收端,所述方法包括:

3、接收发送端发送的数据包;所述数据包是基于所述接收端的内存访问请求生成的;所述数据包中包括所述数据包的发送时间戳;

4、根据所述发送时间戳,确定所述数据包的单向延迟时间,并基于所述单向延迟时间,更新所述接收端和所述发送端之间的网络状态指标值;

5、根据更新后的网络状态指标值调整聚合度阈值,得到调整后的所述聚合度阈值;

6、若所述聚合度满足调整后的所述聚合度阈值,生成确认报文,并将所述确认报文返回给所述发送端。

7、在其中一个实施例中,所述根据所述发送时间戳,确定所述数据包的单向延迟时间,包括:

8、记录接收所述数据包的接收时间戳,并基于所述接收时间戳和所述发送时间戳,计算所述数据包的单向延迟时间。

9、在其中一个实施例中,所述基于所述单向延迟时间,更新所述接收端和所述发送端之间的网络状态指标值,包括:

10、根据预设的平滑算法,对所述单向延迟时间进行平滑处理,得到平滑后的所述单向延迟时间;

11、将平滑后的所述单向延迟时间确定为所述发送端和所述接收端之间的更新后的网络状态指标值。

12、在其中一个实施例中,所述根据更新后的网络状态指标值调整聚合度阈值,得到调整后的所述聚合度阈值,包括:

13、判断更新后的网络状态指标值是否在预设的网络状态指标区间中;

14、若所述更新后的网络状态指标值在所述网络状态指标区间中,则维持聚合度阈值,得到调整后的所述聚合度阈值;

15、若所述更新后的网络状态指标值小于所述网络状态指标区间的最小值,则向上调整得到调整后的所述聚合度阈值;

16、若所述更新后的网络状态指标值大于所述网络状态指标区间的最大值,则向下调整得到调整后的所述聚合度阈值。

17、在其中一个实施例中,所述若所述聚合度满足调整后的所述聚合度阈值,生成确认报文,包括:

18、若所述聚合度满足调整后的所述聚合度阈值,根据当前传输轮次下各数据包中的序号,确定目标确认机制,并根据各所述序号和排列顺序,确定传输结果;目标确认机制用于指示所述接收端生成目标类型的确认报文;

19、基于所述目标确认机制和所述传输结果,生成确认报文。

20、在其中一个实施例中,所述根据所述当前传输轮次下各数据包中的序号,确定目标确认机制,包括:

21、若所述当前传输轮次下各数据包中的序号为乱序,则确定目标确认机制为选择性确认机制;

22、若所述当前传输轮次下各数据包中的序号为非乱序,则确定目标确认机制为累积确认机制。

23、在其中一个实施例中,所述根据各所述序号和排列顺序,确定传输结果,包括:

24、若各所述序号为非乱序,则按照排列顺序,在各所述序号中确定最大连续序号,并将所述最大连续序号确定为传输结果;

25、若各所述序号为乱序,则将各所述序号确定为传输结果。

26、在其中一个实施例中,所述基于所述目标确认机制和所述传输结果,生成确认报文,包括:

27、若所述目标确认机制为累积确认机制且所述传输结果为最大连续序号,则基于所述最大连续序号,生成确认报文;

28、若所述目标确认机制为选择性确认机制且所述传输结果为各所述序号,则根据各所述序号,生成确认报文。

29、第二方面,本技术还提供了一种内存访问装置,所述装置应用于接收端,所述装置包括:

30、接收模块,用于接收发送端发送的数据包;所述数据包是基于所述接收端的内存访问请求生成的;所述数据包中包括所述数据包的发送时间戳;

31、确定模块,用于根据所述发送时间戳,确定所述数据包的单向延迟时间,并基于所述单向延迟时间,更新所述接收端和所述发送端之间的网络状态指标值;

32、调整模块,用于根据更新后的网络状态指标值调整聚合度阈值,得到调整后的所述聚合度阈值;

33、生成模块,用于若所述聚合度满足调整后的所述聚合度阈值,生成确认报文,并将所述确认报文返回给所述发送端。

34、第三方面,本技术还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

35、接收发送端发送的数据包;所述数据包是基于所述接收端的内存访问请求生成的;所述数据包中包括所述数据包的发送时间戳;

36、根据所述发送时间戳,确定所述数据包的单向延迟时间,并基于所述单向延迟时间,更新所述接收端和所述发送端之间的网络状态指标值;

37、根据更新后的网络状态指标值调整聚合度阈值,得到调整后的所述聚合度阈值;

38、若所述聚合度满足调整后的所述聚合度阈值,生成确认报文,并将所述确认报文返回给所述发送端。

39、第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

40、接收发送端发送的数据包;所述数据包是基于所述接收端的内存访问请求生成的;所述数据包中包括所述数据包的发送时间戳;

41、根据所述发送时间戳,确定所述数据包的单向延迟时间,并基于所述单向延迟时间,更新所述接收端和所述发送端之间的网络状态指标值;

42、根据更新后的网络状态指标值调整聚合度阈值,得到调整后的所述聚合度阈值;

43、若所述聚合度满足调整后的所述聚合度阈值,生成确认报文,并将所述确认报文返回给所述发送端。

44、第五方面,本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

45、接收发送端发送的数据包;所述数据包是基于所述接收端的内存访问请求生成的;所述数据包中包括所述数据包的发送时间戳;

46、根据所述发送时间戳,确定所述数据包的单向延迟时间,并基于所述单向延迟时间,更新所述接收端和所述发送端之间的网络状态指标值;

47、根据更新后的网络状态指标值调整聚合度阈值,得到调整后的所述聚合度阈值;

48、若所述聚合度满足调整后的所述聚合度阈值,生成确认报文,并将所述确认报文返回给所述发送端。

49、上述内存访问方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,接收发送端发送的数据包;所述数据包是基于所述接收端的内存访问请求生成的;所述数据包中包括所述数据包的发送时间戳;根据所述发送时间戳,确定所述数据包的单向延迟时间,并基于所述单向延迟时间,更新所述接收端和所述发送端之间的网络状态指标值;根据更新后的网络状态指标值调整聚合度阈值,得到调整后的所述聚合度阈值;若所述聚合度满足调整后的所述聚合度阈值,生成确认报文,并将所述确认报文返回给所述发送端。采用本方法,通过在数据包中添加发送时间戳,能够计算每一数据包的单向延迟时间,从而根据单向延迟时间,确定能够表征当前网络状态的网络状态指标值。然后,通过更新后的网络状态指标值调整聚合度阈值,实现了自适应调整聚合度阈值,进而基于调整后的聚合度阈值控制确认报文的发送,实现了基于网络状态控制确认报文的发送,使得接收端能够按需进行确认报文的发送,避免了网络资源的浪费,提高了数据传输效率,进而提高了内存访问效率。