数据传输方法、装置、系统和计算机设备与流程

文档序号:35421522发布日期:2023-09-13 08:30阅读:32来源:国知局
数据传输方法、装置、系统和计算机设备与流程

本技术涉及存储,特别是涉及一种数据传输方法、装置、系统和计算机设备。


背景技术:

1、随着存储技术的发展,出现了一种以冯诺依曼架构为基础的存储系统,该种存储系统功能,例如修复、分级、垃圾回收等,上述功能中涉及到的数据均需要进行数据迁移,而数据迁移则需要将数据送到存储系统中的中央处理器(central processing unit,cpu)进行处理。

2、相关技术中,存储系统中进行数据迁移的过程是,通过迁移服务器从源存储节点读取数据,迁移服务器的网卡读取到数据后,经过迁移服务器中的cpu计算循环冗余校验码(cyclic redundancy check,crc),确定要写入的目标存储节点和磁盘具体位置,然后再由迁移服务器的网卡将数据发送到目标存储节点。因此,上述数据迁移过程中的数据传输需要多次读写,源存储节点、迁移服务器、目标存储节点中的网卡以及cpu都参与了数据传输,从而加剧了迁移服务器上的cpu资源的消耗,留给业务应用的cpu资源逐渐变少,导致cpu处理效率低。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提高cpu处理效率的数据传输方法、装置、系统和计算机设备。

2、第一方面,本技术提供了一种数据传输方法。应用于源服务器,所述源服务器包括第一网卡以及第一内存,所述方法包括:

3、响应于迁移服务器发送的迁移读取请求,在源地址对应的磁盘读取更新数据至第一内存,所述迁移读取请求携带有源地址;

4、通过所述第一网卡从所述第一内存拉取更新数据,并将所述更新数据传输至目标服务器,以使所述目标服务器的第二网卡将所述更新数据写入第二内存,目标服务器对应的磁盘从所述第二内存读取数据,并写入所述目标服务器对应的磁盘。

5、本实施例中,可以使迁移服务器、源服务器以及目标服务器上的cpu不参与迁移数据的网络传输,减少了数据传输过程中的数据读写次数,节省了迁移服务器上的cpu资源以及目标服务器上的cpu资源,提升了可以进行业务处理的cpu资源占比,也进一步地提高了cpu的处理效率。

6、在其中一个实施例中,所述将所述更新数据传输至目标服务器,包括:

7、通过远程直接内存访问协议将所述更新数据传输至目标服务器的第二网卡。

8、本实施例中,通过rdma协议可以将更新数据直接由源服务器传输至目标服务器,减少了更新数据的数据传输次数,进而避免数据传输过程中cpu资源的额外消耗。

9、在其中一个实施例中,该数据传输方法还包括:

10、向所述迁移服务器发送反馈信息,所述反馈信息表征数据已经被写入至磁盘。

11、本实施例中,通过源服务器将反馈信息反馈至迁移服务器,可以保证迁移服务器信息更新的及时性。

12、第二方面,本技术提供了一种数据传输方法。应用于目标服务器,所述目标服务器包括第二网卡以及第二内存,所述方法包括:

13、接收源服务器的第一网卡发送的更新数据;

14、将所述更新数据写入所述第二内存的目标内存位置,以使目标服务器对应的磁盘从所述第二内存读取数据,并写入所述目标服务器对应的磁盘。

15、本实施例中,可以使迁移服务器、源服务器以及目标服务器上的cpu不参与迁移数据的网络传输,减少了数据传输过程中的数据读写次数,节省了迁移服务器上的cpu资源以及目标服务器上的cpu资源,提升了可以进行业务处理的cpu资源占比,也进一步地提高了cpu。

16、在其中一个实施例中,所述将所述更新数据写入所述第二内存的目标内存位置,以使目标服务器对应的磁盘从所述第二内存读取数据,并写入所述目标服务器对应的磁盘,包括:

17、将所述更新数据复制至所述第二内存的目标内存位置,所述目标内存位置写入第一队列条目,并将第一队列条目上传到磁盘发送队列,以使目标服务器对应的磁盘解析第一队列条目,并基于解析得到的所述目标内存位置从所述第二内存读取数据,并写入所述目标服务器对应的磁盘。

18、本实施例中,通过磁盘sq队列可以实现存储有更新数据的目标内存位置在网卡与磁盘间的传输,保证目标内存位置传输的准确性与及时性。

19、在其中一个实施例中,该数据传输方法还包括:

20、响应于唤醒请求,通过目标传输协议将信息反馈指令发送至第一网卡,以使所述第一网卡向迁移服务器反馈ack信息,所述唤醒请求是目标服务器对应的磁盘响应于磁盘操作完成操作生成的。

21、本实施例中,通过将nvme协议进行更改,把nvme提交cq队列操作改为提交网卡的sq队列,由目标服务器中的第二网卡完成后续操作,可以保证信息反馈的及时性。

22、第三方面,本技术还提供了一种数据传输装置,应用于源服务器,所述源服务器包括第一网卡以及第一内存,所述装置包括:

23、第一响应模块,用于响应于迁移服务器发送的迁移读取请求,在源地址对应的磁盘读取更新数据至第一内存,所述迁移读取请求携带有源地址;

24、第一读取模块,用于通过所述第一网卡从所述第一内存拉取更新数据,并将所述更新数据传输至目标服务器,以使所述目标服务器的第二网卡将所述更新数据写入第二内存,目标服务器对应的磁盘从所述第二内存读取数据,并写入所述目标服务器对应的磁盘。

25、在其中一个实施例中,所述第一读取模块,具体用于:

26、通过远程直接内存访问协议将所述更新数据传输至目标服务器的第二网卡。

27、在其中一个实施例中,该数据传输装置还包括:

28、第一反馈模块,用于向所述迁移服务器发送反馈信息,所述反馈信息表征数据已经被写入至磁盘。

29、第四方面,本技术还提供了一种数据传输装置,应用于目标服务器,所述目标服务器包括第二网卡以及第二内存,所述装置包括:

30、第一接收模块,用于接收源服务器的第一网卡发送的更新数据;

31、第一写入模块,用于将所述更新数据写入所述第二内存的目标内存位置,以使目标服务器对应的磁盘从所述第二内存读取数据,并写入所述目标服务器对应的磁盘。

32、在其中一个实施例中,所述第一写入模块,具体用于:

33、将所述更新数据复制至所述第二内存的目标内存位置,所述目标内存位置写入第一队列条目,并将第一队列条目上传到磁盘发送队列,以使目标服务器对应的磁盘解析第一队列条目,并基于解析得到的所述目标内存位置从所述第二内存读取数据,并写入所述目标服务器对应的磁盘。

34、在其中一个实施例中,该数据传输装置还包括:

35、发送模块,用于响应于唤醒请求,通过目标传输协议将信息反馈指令发送至第一网卡,以使所述第一网卡向迁移服务器反馈ack信息,所述唤醒请求是目标服务器对应的磁盘响应于磁盘操作完成操作生成的。

36、第五方面,本技术还提供了一种数据传输系统,所述系统包括迁移服务器、源服务器以及目标服务器,所述源服务器包括第一网卡以及第一内存,所述目标服务器包括第二网卡以及第二内存,其中:

37、通过所述迁移服务器,发送迁移读取请求,所述迁移读取请求携带有源地址;

38、通过所述源服务器,响应于所述迁移读取请求,在源地址对应的磁盘读取更新数据至第一内存,通过所述第一网卡从所述第一内存拉取更新数据,并将所述更新数据传输至目标服务器;

39、通过目标服务器,接收源服务器的第一网卡发送的更新数据,将所述更新数据写入所述第二内存的目标内存位置,以使目标服务器对应的磁盘从所述第二内存读取数据,并写入所述目标服务器对应的磁盘。

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

41、响应于迁移服务器发送的迁移读取请求,在源地址对应的磁盘读取更新数据至第一内存,所述迁移读取请求携带有源地址;

42、通过所述第一网卡从所述第一内存拉取更新数据,并将所述更新数据传输至目标服务器,以使所述目标服务器的第二网卡将所述更新数据写入第二内存,目标服务器对应的磁盘从所述第二内存读取数据,并写入所述目标服务器对应的磁盘。

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

44、响应于迁移服务器发送的迁移读取请求,在源地址对应的磁盘读取更新数据至第一内存,所述迁移读取请求携带有源地址;

45、通过所述第一网卡从所述第一内存拉取更新数据,并将所述更新数据传输至目标服务器,以使所述目标服务器的第二网卡将所述更新数据写入第二内存,目标服务器对应的磁盘从所述第二内存读取数据,并写入所述目标服务器对应的磁盘。

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

47、响应于迁移服务器发送的迁移读取请求,在源地址对应的磁盘读取更新数据至第一内存,所述迁移读取请求携带有源地址;

48、通过所述第一网卡从所述第一内存拉取更新数据,并将所述更新数据传输至目标服务器,以使所述目标服务器的第二网卡将所述更新数据写入第二内存,目标服务器对应的磁盘从所述第二内存读取数据,并写入所述目标服务器对应的磁盘。

49、上述数据传输方法、装置、系统和计算机设备,该数据传输方法应用于源服务器,该源服务器包括第一网卡以及第一内存,所述方法包括:响应于迁移服务器发送的迁移读取请求,在源地址对应的磁盘读取更新数据至第一内存,所述迁移读取请求携带有源地址,通过所述第一网卡从所述第一内存拉取更新数据,并将所述更新数据传输至目标服务器,以使所述目标服务器的第二网卡将所述更新数据写入第二内存,目标服务器对应的磁盘从所述第二内存读取数据,并写入所述目标服务器对应的磁盘。通过采用本方法,可以使迁移服务器、源服务器以及目标服务器上的cpu不参与迁移数据的网络传输,减少了数据传输过程中的数据读写次数,节省了迁移服务器上的cpu资源以及目标服务器上的cpu资源,提升了可以进行业务处理的cpu资源占比,也进一步地提高了cpu的处理效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1