一种数据传输方法、计算机设备及介质与流程
- 国知局
- 2024-08-02 14:08:51
本技术涉及计算机,尤其涉及一种数据传输方法、计算机设备及介质。
背景技术:
1、随着高速数据传输、数据中心、云计算等技术的发展,经常需要从一个节点向另一个节点传输大规格的数据流量,并且,这些被传输的数据流量中可能有一部分甚至全部需要反馈,也就是在第一个节点向第二个节点传输数据流量之后还需要第二个节点向第一个节点提供反馈的数据。因此,在涉及到多个节点、多个通道还有多种数据业务的复杂应用场景中,需要考虑乱序传输的情况,例如因为链路延时、处理延时等因素导致发送的数据包与反馈的数据包不是一一对应。现有技术中,通过预留大缓存来缓存所有反馈的数据包,但是,这样导致占用大量的缓存空间,不利于应用推广。
2、为此,本技术提供了一种数据传输方法、计算机设备及介质,用于应对现有技术中的技术难题。
技术实现思路
1、第一方面,本技术提供了一种数据传输方法。所述数据传输方法包括:通过第一发送端的第一请求处理单元,添加第一标识到第一传输请求,其中,所述第一传输请求被传输给第一接收端并且要求所述第一接收端返回与所述第一传输请求对应的第一返回包,所述第一标识来自标识资源池;通过所述第一请求处理单元,传输所述第一传输请求,写入第一缓存地址到地址信息缓存,以及写入所述第一标识到发送标识缓存,其中,所述第一缓存地址是所述第一返回包在所述第一发送端的第一数据缓存中的地址;通过所述第一发送端的第一重排序单元,接收来自所述第一接收端的至少一个返回包,解析所述至少一个返回包从而确定所述至少一个返回包所对应的传输请求的标识,根据所述至少一个返回包所对应的传输请求的标识从所述地址信息缓存中获取所述至少一个返回包的缓存地址,根据所述至少一个返回包的缓存地址写入所述至少一个返回包到所述第一数据缓存。
2、通过本技术的第一方面,可以应用于高速数据传输、数据中心、云计算等技术领域,可以应对在例如多个节点、多个通道还有多种数据业务的数据传输的应用中的乱序传输问题,可以应对从发送端发出的需要反馈的传输请求的先后次序与从接收端发出的返回包的先后次序之间不一致的问题,可以灵活地适配大规格的数据流量中部分或者全部需要反馈的情况,还可以灵活适配难以预计的处理延时和链路延时,在存在乱序传输的情况下有效地识别返回包的地址并将返回包存入对应区域,建立起标识的循环使用及回收机制,有利于实现动态分配缓存、降低返回包缓存,使得请求突发不受限制,提升传输性能。
3、在本技术的第一方面的一种可能的实现方式中,所述至少一个返回包包括所述第一返回包,所述第一发送端的所述第一重排序单元,响应于接收到所述第一返回包,解析所述第一返回包从而确定所述第一标识,根据所述第一标识从所述地址信息缓存中获取所述第一缓存地址,根据所述第一缓存地址写入所述第一返回包到所述第一数据缓存,以及写入所述第一标识到所述标识资源池。
4、在本技术的第一方面的一种可能的实现方式中,所述第一请求处理单元用于:在添加所述第一标识到所述第一传输请求之后,从所述标识资源池移除所述第一标识。
5、在本技术的第一方面的一种可能的实现方式中,所述第一重排序单元用于:写入所述至少一个返回包所对应的传输请求的标识到所述标识资源池。
6、在本技术的第一方面的一种可能的实现方式中,所述第一重排序单元用于:在写入所述至少一个返回包到所述第一数据缓存之后,标记所述发送标识缓存中的所述至少一个返回包所对应的传输请求的标识为已返回。
7、在本技术的第一方面的一种可能的实现方式中,所述第一重排序单元还用于:按照轮询方式确定所述发送标识缓存中的每个标识是否被标记为已返回,并且,根据所述发送标识缓存中的被标记为已返回的至少一个标识,从所述地址信息缓存中获取所述至少一个标识所对应的缓存地址,然后,按照与所述至少一个标识所对应的缓存地址从所述第一数据缓存中读取数据。
8、在本技术的第一方面的一种可能的实现方式中,所述第一重排序单元还用于:在按照与所述至少一个标识所对应的缓存地址从所述第一数据缓存中读取数据之后,写入所述至少一个标识到所述标识资源池以及从所述发送标识缓存中移除所述至少一个标识。
9、在本技术的第一方面的一种可能的实现方式中,所述第一请求处理单元按照第一标识顺序发送与多个标识对应的传输请求以及写入所述多个标识到所述发送标识缓存,所述第一重排序单元按照第二标识顺序从所述第一数据缓存中读取与所述多个标识对应的数据,所述第一标识顺序与所述第二标识顺序相同。
10、在本技术的第一方面的一种可能的实现方式中,所述第一传输请求是读请求,所述读请求包括读请求地址和读请求数据长度,所述第一缓存地址是基于所述读请求数据长度计算得到。
11、在本技术的第一方面的一种可能的实现方式中,所述标识资源池中的标识在所述标识资源池被初始化后从小到大排序,被写入所述发送标识缓存的标识从小到大排序。
12、在本技术的第一方面的一种可能的实现方式中,所述标识资源池中的标识在所述标识资源池被初始化后的数量是基于链路延时确定,并且,所述标识资源池中的标识在所述标识资源池被初始化后的数量限定了飞行数据个数,所述飞行数据个数可调整。
13、在本技术的第一方面的一种可能的实现方式中,所述标识资源池和所述发送标识缓存均是先进先出存储器。
14、在本技术的第一方面的一种可能的实现方式中,所述第一数据缓存是随机存储器,所述发送标识缓存中的标识用于所述地址信息缓存的索引。
15、在本技术的第一方面的一种可能的实现方式中,所述第一数据缓存的容量是基于所述标识资源池中的标识在所述标识资源池被初始化后的数量和链路延时确定。
16、在本技术的第一方面的一种可能的实现方式中,所述数据传输方法还包括:当所述第一传输请求属于具有保序性要求的数据业务并且第二传输请求是所述数据业务中相对于所述第一传输请求的前一传输请求时,通过所述第一请求处理单元,在确定所述标识资源池中包括与所述第二传输请求的标识之后,传输所述第一传输请求。
17、在本技术的第一方面的一种可能的实现方式中,所述数据传输方法用于多个发送端向至少一个接收端传输数据,所述多个发送端之间共享所述标识资源池、所述发送标识缓存以及所述地址信息缓存,所述第一发送端是所述多个发送端中的任一发送端。
18、在本技术的第一方面的一种可能的实现方式中,所述多个发送端包括第二发送端,所述第二发送端包括第二请求处理单元、第二重排序单元和第二数据缓存,所述第二发送端用于传输数据给所述第一接收端。
19、在本技术的第一方面的一种可能的实现方式中,所述第一发送端用于传输不要求反馈的第三传输请求给所述第一接收端,所述第三传输请求是写请求,所述写请求包括写请求地址、写请求数据和写请求数据长度。
20、第二方面,本技术实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
21、第三方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
22、第四方面,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
本文地址:https://www.jishuxx.com/zhuanli/20240801/241734.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表