一种数据读取方法和相关设备技术

技术编号:37667955 阅读:11 留言:0更新日期:2023-05-26 04:27
本申请实施例公开了一种数据读取方法和相关设备,用于提高读取目标文件数据的带宽。在本申请中,用户设备首先确定在本地NVM中目标文件数据的第一部分,然后并行从在所述本地NVM中读取所述目标文件数据的第一部分、通过RDMA从服务器读取所述目标文件数据的第二部分,其中,所述目标文件数据的第二部分为所述目标文件数据中第一部分之外的其他数据,充分利用从本地NVM中读取数据以及通过RDMA从服务器中读取数据的带宽,从而提高了读取目标文件数据的带宽。数据的带宽。数据的带宽。

【技术实现步骤摘要】
一种数据读取方法和相关设备


[0001]本申请涉及存储
,尤其涉及一种数据读取方法和相关设备。

技术介绍

[0002]远程直接内存访问(remote direct memory access,RDMA)是一种网络通信技术,允许一个网络节点通过RDMA网络直接访问另一个网络节点的内存,无需经对端的处理器处理,可以有效降低网络通信带来的性能影响,提升网络吞吐量。而非易失内存(non

volatile memory,NVM)是一种内存技术,具有传统内存的低延迟、高带宽、可字节寻址特性,同时兼具磁盘等存储设备的持久存储能力,在系统断电后其内数据不会丢失。
[0003]分布式系统由多个计算机节点构成,计算机节点区分为服务端与客户端。服务端或客户端由RDMA网络互联的计算机节点集群构成,文件数据与元数据分散存储在集群内。每个计算机节点装配有本地NVM,用于存储文件数据,各计算机节点可以通过RDMA直接访问其他计算机节点的本地NVM。
[0004]相比非易失内存,RDMA的延迟更高、带宽更低,因此为了降低网络访问开销,当前选择为客户端装配有本地NVM,用于缓存需要读取的文件数据。客户端在读取所需文件数据时首先在本地NVM中查找,若命中则直接从本地NVM中读取,否则通过RDMA从服务端读取。
[0005]在现有工艺与技术下,本地NVM与通过RDMA从服务端读取数据的读带宽分别可以达到约40GB/s与25GB/s,从本地NVM中读取文件数据时,其读取速率的上限为本地NVM的读带宽,未能充分利用分布式系统的硬件带宽资源。

技术实现思路

[0006]本申请实施例提供了一种数据读取方法和相关设备,用于提高读取目标文件数据的带宽。
[0007]本申请第一方面提供了一种数据读取方法,用户设备首先确定在本地NVM中目标文件数据的第一部分,然后并行从在所述本地NVM中读取所述目标文件数据的第一部分、通过RDMA从服务器读取所述目标文件数据的第二部分,其中,所述目标文件数据的第二部分为所述目标文件数据中第一部分之外的其他数据,充分利用从本地NVM中读取数据以及通过RDMA从服务器中读取数据的带宽,从而提高了读取目标文件数据的带宽。
[0008]在一些可行的实现方式中,所述用户设备确定在本地NVM中目标文件数据的第一部分之前,所述用户设备向所述服务器发送对所述目标文件数据的读取请求,然后接收所述服务器根据所述读取请求发送的关于所述目标文件数据的内存区地址,在所述用户设备确定在本地NVM中目标文件数据的第一部分的步骤中,具体为所述用户设备根据所述目标文件数据的内存区地址确定所述目标文件数据缓存在所述本地NVM中的全部数据,并从所述目标文件数据缓存在所述本地NVM中的全部数据中确定所述目标文件数据的第一部分,从而实现了确定从本地NVM读取的目标文件数据的数据量,使得可以通过调整从本地NVM读取的目标文件数据的数据量,来调整对目标文件数据的读取速率。
[0009]在一些可行的实现方式中,所述用户设备从所述目标文件数据缓存在所述本地NVM中的全部数据中确定所述目标文件数据的第一部分之前,所述用户设备确定从所述本地NVM中读取数据的第一读取速率,然后确定通过所述RDMA从服务器中读取数据的第二读取速率,根据所述第一读取速率和所述第二读取速率得到目标比例,所述目标比例为所述第一读取速率/(所述第一读取速率+所述第二读取速率)。在所述用户设备从所述目标文件数据缓存在所述本地NVM中的全部数据中确定所述目标文件数据的第一部分的步骤中,所述用户设备根据所述目标比例确定从所述目标文件数据缓存在所述本地NVM中的全部数据中确定所述目标文件数据的第一部分,所述目标文件数据的第一部分的数据量为所述目标文件数据的数据量和所述目标比例的乘积与所述目标文件数据缓存在所述本地NVM中的全部数据的数据量的较小值,实现了从本地NVM中读取目标文件数据的数据量的最优化,使得在所述本地NVM中读取目标文件数据的第一部分的完成时间点和通过RDMA从服务器中读取目标文件数据的第二部分的完成时间点相同,实现了最高的对目标文件数据的读取速率。
[0010]在一些可行的实现方式中,所述目标文件数据的第一部分为所述目标文件数据缓存在所述本地NVM中的全部数据,通过优先获取本地NVM中的目标文件数据,在通信质量较差或者网络拥堵的情况下,提高了对目标文件数据的读取效率。
[0011]在一些可行的实现方式中,所述用户设备并行在所述本地NVM中读取所述目标文件数据的第一部分、通过RDMA从服务器读取所述目标文件数据的第二部分之后,所述用户设备确定所述目标文件数据的第二部分中未缓存在所述NVM中的数据,作为所述目标文件数据的第三部分;所述用户设备在所述本地NVM中缓存所述目标文件数据的第三部分。实现了将目标文件数据的更多数据量存储在本地NVM中,当需要获取目标文件数据时,可以优先使用读取效率的更高的从本地NVM中读取的方式。
[0012]本申请第二方面提供了一种用户设备,所述用户设备用于执行前述第一方面中任一项所述的方法。
[0013]第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面中任一中可能的实现方式所述的方法。
[0014]本申请第四方面提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述第一方面或者第一方面的任一种可能的实现方式所提供的方法。
[0015]本申请第五方面提供一种通信装置,该通信装置可以包括至少一个处理器、存储器和通信接口。至少一个处理器与存储器和通信接口耦合。存储器用于存储指令,至少一个处理器用于执行该指令,通信接口用于在至少一个处理器的控制下与其他通信装置进行通信。该指令在被至少一个处理器执行时,使至少一个处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
[0016]本申请第七方面提供了一种芯片系统,该芯片系统包括处理器,用于支持用户设备实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。
[0017]在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存用户设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
[0018]其中,第四至第七方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
附图说明
[0019]图1为本申请提供的一种存储系统的组成结构示意图;
[0020]图2本申请提供的一种数据读取方法的实施例示意图;
[0021]图3为本申请提供的一种用户设备的结构示意图;
[0022]图4为本申请提供的一种通信装置的结构示意图。...

【技术保护点】

【技术特征摘要】
1.一种数据读取方法,其特征在于,包括:用户设备确定在本地非易失内存NVM中目标文件数据的第一部分;所述用户设备并行从在所述本地NVM中读取所述目标文件数据的第一部分、通过远程直接内存访问RDMA从服务器读取所述目标文件数据的第二部分,所述目标文件数据的第二部分为所述目标文件数据中第一部分之外的其他数据。2.根据权利要求1所述方法,其特征在于,所述用户设备确定在本地NVM中目标文件数据的第一部分之前,还包括:所述用户设备向所述服务器发送对所述目标文件数据的读取请求;所述用户设备接收所述服务器根据所述读取请求发送的关于所述目标文件数据的内存区地址;所述用户设备确定在本地NVM中目标文件数据的第一部分包括:所述用户设备根据所述目标文件数据的内存区地址确定所述目标文件数据缓存在所述本地NVM中的全部数据;所述用户设备从所述目标文件数据缓存在所述本地NVM中的全部数据中确定所述目标文件数据的第一部分。3.根据权利要求2所述方法,其特征在于,所述用户设备从所述目标文件数据缓存在所述本地NVM中的全部数据中确定所述目标文件数据的第一部分之前,还包括:所述用户设备确定从所述本地NVM中读取数据的第一读取速率;所述用户设备确定通过所述RDMA从服务器中读取数据的第二读取速率;所述用户设备根据所述第一读取速率和所述第二读取速率得到目标比例,所述目标比例为所述第一读取速率/(所述第一读取速率+所述第二读取速率);所述用户设备从所述目标文件数据缓存在所述本地NVM中的全部数据中确定所述目标文件数据的第一部分包括:所述用户设备根据所述目标比例确定从所述目标文件数据缓存在所述本地NVM中的全部数据中确定所述目标文件数据的第一部分,所述目标文件数据的第一部分的数据量为所述目标文件数据的数据量和所述目标比例的乘积与所述目标文件数据缓存在所述本地NVM中的全部数据的数据量的较小值。4.根据权利要求2所述方法,其特征在于,所述目标文件数据的第一部分为所述目标文件数据缓存在所述本地NVM中的全部数据。5.根据权利要求1

4中任一项所述方法,其特征在于,所述用户设备并行在所述本地NVM中读取所述目标文件数据的第一部分、通过RDMA从服务器读取所述目标文件数据的第二部分之后,还包括:所述用户设备确定所述目标文件数据的第二部分中未缓存在所述NVM中的数据,作为所述目标文件数据的第三部分;所述用户设备在所述本地NVM中缓存所述目标文件数据的第三部分。6.一种用户设备,其特征在于,包括:处理模块,用于确定在本地NVM中目标文件数据的第一部分;读取模块,用于并行从在所述本地NVM中读取所述目标文件数据的第一部分、通过RDMA从服务器读取所述目标文件数据的第二部分,所述目标文件数据的第二部分为所述目标文
件数据中第一部分之外的其他数据。7.根据权利要求6所述用户设备,其特征在于,还包括:收...

【专利技术属性】
技术研发人员:黄林鹏孙鹏昊郑圣安王晶钰戚振林
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1