System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据的访问方法及装置制造方法及图纸_技高网

一种数据的访问方法及装置制造方法及图纸

技术编号:40920676 阅读:9 留言:0更新日期:2024-04-18 14:45
一种数据访问方法,包括:在目标进程运行过程中,获取目标数据在目标进程中的第一虚拟地址;基于所述第一虚拟地址,查询第一地址映射关系表,确定本地缓存中是否存储有目标数据,若本地缓存中存储有目标数据,基于所述第一虚拟地址,查询所述第一地址映射关系表,得到所述目标数据在本地缓存中的物理地址;根据所述目标数据在本地缓存中的物理地址,获取所述目标数据。在分布式存储系统中使用Distributed mmap映射分布式存储系统中的文件之后,在本地记录该文件在分布式存储系统中的分布式虚拟地址。在目标进程运行过程中,若本地缓存不命中,通过Page Fault访问远端DVA空间,节省端到端软件栈的时延开销。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种数据的访问方法及装置


技术介绍

1、传统的文件访问路径长,在文件访问过程中,需要经过文件虚拟系统(virtualfile system,vfs)、文件系统客户端、文件系统服务端以后,最终访问持久内存(persistent memory,pm)中的文件。在整个的访问过程中,软件栈的开销较大。其中,软件堆栈是指应用程序运行所需的程序或组件的集合。

2、mmap是一种内存映射文件的方法,即将一个文件或者其他对象映射到进程的地址空间,建立文件或者其他对象的地址与进程的虚拟地址空间中的一段虚拟地址的一对一映射关系。mmap虽然能够在文件访问过程中,减少物理空间占用。但是,mmap局限于单节点内部对文件、对象、块设备等实现内存映射,没有跨节点映射的能力。


技术实现思路

1、本申请提供了一种数据的访问方法、装置、计算机可读存储介质、计算机程序产品。针对分布式存储系统,构建分布式存储系统中的全局共享内存池,也可以称之为全局内存池。然后,基于该全局内存池构建全局数据块,并将该全局数据块映射到客户端的进程地址空间中。然后,客户端建立用于缓存分布式系统中的全局数据块的本地缓存,并通过客户端的本地页表,建立进程虚拟地址到缓存页面的映射。即在分布式存储系统中使用distributed mmap映射远端文件之后,在本地记录文件的dva。当本地缓存不命中,通过page fault访问远端dva空间,节省端到端软件栈的时延开销。

2、第一方面,本申请提供了一种数据访问方法,该方法包括:在目标进程运行过程中,获取目标数据在目标进程中的第一虚拟地址;基于第一虚拟地址,查询第一地址映射关系表,确定本地缓存中是否存储有目标数据,第一地址映射关系表中包括:第一数据集合中的数据在进程中的虚拟地址和第一数据集合中的数据在本地缓存中的物理地址间的对应关系,其中,第一数据集合中的数据预先从分布式存储系统中获取得到;若本地缓存中存储有目标数据,基于第一虚拟地址,查询第一地址映射关系表,得到目标数据在本地缓存中的物理地址;根据目标数据在本地缓存中的物理地址,获取目标数据。

3、也就是说,在分布式存储系统中,可以基于分布式存储节点构成的全局内存池,以及基于全局内存池构建分布式存储系统的全局数据块。客户端处理器可以将全局数据块中的部分数据映射到目标进程的虚拟地址空间中,并生成第一地址映射关系表。以及客户端处理器在客户端的本地内存中建立类似于page cache的缓存页面,用于缓存全局数据块,并建立本地缓存页面与目标进程的虚拟地址间的映射关系。然后客户端处理器根据该映射关系更新第一地址映射关系表。在目标进程的运行过程中,客户端处理器根据目标数据在目标进程中的第一虚拟地址,确定本地缓存的缓存页面中是否存储有目标数据。当本地缓存的缓存页面中存储有目标数据时,客户端处理器可以直接从本地缓存的缓存页面中读取目标数据。即在分布式存储系统中。通过建立全局数据块的虚拟地址到目标进程虚拟地址间的映射,以及进程虚拟地址到缓存页面的映射,可以实现客户端进程对全局数据块的访问快速访问,节省了客户端到存储节点软件栈的时延开销。

4、在一个可能的实现方式中,第一地址映射关系表中还包括:第二数据集合中的数据在进程中的虚拟地址和第二数据集合中的数据在分布式存储系统中的虚拟地址间的对应关系,方法还包括:若本地缓中没有存储有目标数据,基于第一虚拟地址,查询第一地址映射关系表,得到目标数据在分布式存储系统中的第二虚拟地址;基于第二虚拟地址,查询第二地址映射关系表,得到目标数据在分布式存储系统中的物理地址;第二地址映射关系表中包括:在分布式存储系统中存储的第三数据集合中的数据的虚拟地址和第三数据集合中的数据在分布式存储系统中的物理地址间的对应关系;其中,第三数据集合中的数据包括:第一数据集合中的数据和第二数据集合中的数据;基于目标数据在分布式存储系统中的物理地址,从分布式存储系统中获取目标数据。

5、也就是说,在本地缓存中没有缓存目标数据的情况下。客户端处理器需要从分布式存储系统的存储节点中,将目标数据读取到缓存页面中。具体地,客户端处理器可以根据目标数据的第一虚拟地址查询第一地址映射关系表得到目标数据在分布式存储系统中的全局虚拟地址,即第二虚拟地址。然后客户端处理器可以根据第二虚拟地址,查询分布式存储系统中的第二虚拟地址表,得到目标数据在分布式存储系统中的物理地址,并根据该物理地址从分布式存储系统中获取目标数据。其中,第二虚拟地址表是分布式存储系统构建全局数据时,得到的地址映射表。

6、在一个可能的实现方式中,在基于目标数据在分布式存储系统中的物理地址,从分布式存储系统中获取目标数据以后,该方法还包括:将目标数据存储到本地缓存中;建立目标数据在目标进程中的第一虚拟地址和目标数据在本地缓存中的物理地址间的第一对应关系;用第一对应关系替换第一地址映射关系表中的第二对应关系,第二对应关系为目标数据在目标进程中的虚拟地址和目标数据在分布式存储系统中的虚拟地址间的对应关系。

7、也就是的说,客户端处理器在从分布式存储系统中获取到目标数据以后,还需要将该目标数据缓存在本地缓存中,并建立该目标数据在本地缓存中的物理地址与该目标数据在目标进程中的虚拟地址间的映射关系。然后,客户端处理器将该映射关系保存在第一地址映射关系表中。使得当目标进程需要再次获取目标数据时,可以直接从本地缓存中进行获取。节省了目标进程获取目标数据的时延开销。

8、在一个可能的实现方式中,该方法还包括:在目标进程运行过程中,获取待写入数据在目标进程中的第三虚拟地址;基于第三虚拟地址,查询第一地址映射关系表,确定本地缓存中是否存储有与第三虚拟地址对应的数据;若本地缓存中存储有与第三虚拟地址对应的数据,将本地缓存中与第三虚拟地址对应的数据替换为待写入数据。

9、也就是说,客户端进程需要向分布式存储系统中的存储节点写入数据时,客户端进程可以直接将需要写入的数据缓存在客户端的缓存页面中。然后,客户端处理器可以将存储有客户端进程写入数据的缓存页面标记为脏页面,并周期性的将脏页面写回到存储节点中。简化了客户端进程对存储节点的写入过程。

10、第二方面,本申请提供了一种数据处理装置,包括:

11、获取模块,用于在目标进程运行过程中,获取目标数据在目标进程中的第一虚拟地址;

12、处理模块,用于根据第一虚拟地址,查询第一地址映射关系表,确定本地缓存中是否存储有目标数据,第一地址映射关系表中包括:第一数据集合中的数据在进程中的虚拟地址和第一数据集合中的数据在本地缓存中的物理地址间的对应关系,其中,第一数据集合中的数据预先从分布式存储系统中获取得到;若本地缓存中存储有目标数据,基于第一虚拟地址,查询第一地址映射关系表,得到目标数据在本地缓存中的物理地址;

13、获取模块,还用于根据目标数据在本地缓存中的物理地址,获取目标数据。

14、在一个可能的实现方式中,第一地址映射关系本文档来自技高网...

【技术保护点】

1.一种数据访问方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一地址映射关系表中还包括:第二数据集合中的数据在进程中的虚拟地址和所述第二数据集合中的数据在所述分布式存储系统中的虚拟地址间的对应关系,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,在基于所述目标数据在所述分布式存储系统中的物理地址,从所述分布式存储系统中获取所述目标数据以后,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.一种数据处理装置,其特征在于,包括:

6.根据权利要求5所述的装置,其特征在于,所述第一地址映射关系表中还包括:第二数据集合中的数据在进程中的虚拟地址和所述第二数据集合中的数据在所述分布式存储系统中的虚拟地址间的对应关系,所述处理模块还用于:

7.根据权利要求6所述的装置,其特征在于,所述处理模块还用于:

8.根据权利要求5所述的装置,其特征在于,所述获取模块还用于,在目标进程运行过程中,获取待写入数据在所述目标进程中的第三虚拟地址;

9.一种计算机可读介质,所述计算机存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-4任一所述的方法。

10.一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-4任一所述的方法。

...

【技术特征摘要】

1.一种数据访问方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一地址映射关系表中还包括:第二数据集合中的数据在进程中的虚拟地址和所述第二数据集合中的数据在所述分布式存储系统中的虚拟地址间的对应关系,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,在基于所述目标数据在所述分布式存储系统中的物理地址,从所述分布式存储系统中获取所述目标数据以后,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.一种数据处理装置,其特征在于,包括:

6.根据权利要求5所述的装置,其特征在于,所述第一地址映射关系表...

【专利技术属性】
技术研发人员:钟刊崔文林
申请(专利权)人:成都华为技术有限公司
类型:发明
国别省市:

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

1