【技术实现步骤摘要】
【国外来华专利技术】跟踪索引节点的访问模式以及预提取索引节点
本公开涉及数据访问。具体而言,本公开涉及跟踪索引节点的访问模式、以及发出索引节点预读指令以预提取索引节点。相关技术描述文件系统出于计算目的用于控制如何存储和检索数据(例如,用于存储和执行应用程序)。文件系统中的数据对象(例如,文件、目录等)具有一个或多个索引节点。索引节点是数据结构,该数据结构用于标识属于文件系统中数据对象的数据。索引节点存储属性(例如,元数据)和数据对象的数据的磁盘块位置。访问文件系统中的文件需要从磁盘(例如,从非易失性存储单元)读取文件的索引节点。诸如备份、定期扫描、管理操作等的数据操作通常访问磁盘上的多个索引节点。从磁盘读取此类“磁盘上”索引节点可不利地影响应用程序性能。例如,如果底层的磁盘缓慢,则从磁盘读取磁盘上索引节点可导致用所需数据为应用程序提供服务之前不合理和/或显著的输入/输出(I/O)等待时间。文件的内容可被载入存储器(例如,随机存取存储器(RAM)),使得当随后访问文件时,从RAM而非磁盘(例如,硬盘驱动器(HDD))读取文件的内容。然而,将文件的内容载入存储器需要索引节点,该索引节点与要从磁盘访问的文件内容对应。
技术实现思路
本文公开的是跟踪索引节点的访问模式以通过将索引节点预提取到存储器中来加快数据访问的方法、系统和过程。一种此类方法涉及确定元数据存储区域中元数据单元的位置,该数据存储区域位于非易失性存储单元中。该方法确定与当前元数据读取操作对应的元数据存储区域中的另一位置,并且使用元数据单元的位置以及另一位置确定是否可执行元数据预读操作。响应于确定可执行元数据预读操作,该 ...
【技术保护点】
1.一种方法,包括:确定元数据存储区域中元数据单元的位置,其中所述元数据存储区域位于非易失性存储单元中;确定所述元数据存储区域中的另一位置,其中所述另一位置对应于当前元数据读取操作;使用所述元数据单元的所述位置和所述另一位置来确定是否可执行元数据预读操作;以及响应于确定可执行所述元数据预读操作而发出所述元数据预读操作。
【技术特征摘要】
【国外来华专利技术】2016.09.29 US 15/279694;2016.09.29 US 15/2797211.一种方法,包括:确定元数据存储区域中元数据单元的位置,其中所述元数据存储区域位于非易失性存储单元中;确定所述元数据存储区域中的另一位置,其中所述另一位置对应于当前元数据读取操作;使用所述元数据单元的所述位置和所述另一位置来确定是否可执行元数据预读操作;以及响应于确定可执行所述元数据预读操作而发出所述元数据预读操作。2.根据权利要求1所述的方法,其中所述元数据存储区域包括多个磁盘上索引节点,其中所述磁盘上索引节点包括所述元数据单元,所述磁盘上索引节点为结构化文件的部分,并且所述结构化文件存储在所述非易失性存储单元中。3.根据权利要求2所述的方法,还包括:创建核心内索引节点,其中所述核心内索引节点对应于所述结构化文件;以及在所述核心内索引节点中存储所述元数据单元的所述位置,其中所述元数据单元为最后读取的元数据块,并且所述元数据单元的所述位置标识所述元数据单元的末端偏移。4.根据权利要求3所述的方法,其中确定是否可执行所述元数据预读操作,包括访问所述元数据单元的所述末端偏移,以及确定所述另一位置是否邻近所述末端偏移。5.根据权利要求3所述的方法,其中发出所述元数据预读操作,包括通过将所述末端偏移替换为由所述元数据预读操作读取的另一元数据单元的另一末端偏移来更新所述末端偏移,其中所述另一元数据单元为另一最后读取的元数据块。6.根据权利要求3所述的方法,还包括:如果所述另一位置未邻近所述末端偏移,则通过将所述末端偏移替换为当前元数据读取操作的末端偏移来更新所述末端偏移。7.根据权利要求2所述的方法,还包括:拦截用于读取一个或多个磁盘上索引节点的命令,其中所述一个或多个磁盘上索引节点为所述多个磁盘上索引节点的部分,所述拦截响应于输入/输出(I/O)操作而执行,并且所述I/O操作导致所述命令;在所述元数据预读操作中分析所发出的元数据预读值,其中所述分析包括将所发出的元数据预读值和所述命令中的块总计进行比较;如果所述分析指示所述I/O操作应当完成,则等待所述I/O操作完成;以及如果所述分析指示可发出异步元数据预读指令,则发出异步元数据预读指令。8.根据权利要求7所述的方法,还包括:确定所述I/O操作是否完成;如果所述I/O操作完成则生成队列,其中所述队列包括所述块总计的一个或多个剩余元数据块,并且所述一个或多个剩余元数据块未包括在所述异步元数据预读指令中;以及如果所述I/O操作未完成,则更新所述元数据预读操作中的所述块总计。9.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括程序指令,所述程序指令能够执行以:确定元数据存储区域中元数据单元的位置,其中所述元数据存储区域位于非易失性存储单元中;确定所述元数据存储区域中的另一位置,其中所述另一位置对应于当前元数据读取操作;使用所述元数据单元的所述位置和所述另一位置来确定是否可执行元数据预读操作;以及响应于确定可执行所述元数据预读操作而发出所述元数据预读操作。10.根据权利要求9所述的非暂态计算机可读存储介质,其中所述元数据存储区域包括多个磁盘上索引节点,其中所述磁盘上索引节点包括所述元数据单元,所述磁盘上索引节点为结构化文件的部分,并且所述结构化文件存储在所述非易失性存储单元中。11.根据权利要求10所述的非暂态计算机可读存储介质,还包括:创建核心内索引节点,其中所述核心内索引节点对应于所述结构化文件;以及在所述核心内索引节点中存储所述元数据单元的所述位置,其中所述元数据单元为最后读取的元数据块,并且所述元数据单元的所述位置标识所述元数据单元的末端偏移。12.根据权利要求11所述的非暂态计算机可读存储介质,其中确定是否可执行所述元数据预读操作,包括访问所述元数据单元的所述末端偏移,以及确定所述另一位置是否邻近所述末端偏移。13.根据权利要求12所述的非暂态计算机可读存储介质,其中发出所述元数据预读操作,包括如果所述另一位置邻近所述末端偏移,则通过将所述末端偏移替换为由所述元数据预读操作读取的另一元数据单元的另一末端偏移来更新所述末端偏移,其中所述另一元数据单元为另一最后读取的元数据块;以及如果所述另一位置未邻近所述末端偏移,则通过将所述末端偏移替换为当前元数据读取操作的末端偏移来更新所述末端偏移。14.根据权利要求10所述的非暂态计算机可读存储介质,还包括:拦截用于读取一个或多个磁盘上索引节点的命令,其中所述一个或多个磁盘上索引节点为所述多个磁盘上索引节点的部分,所述拦截响应于输入/输出(I/O)操作而执行,并且所述I/O操作导致所述命令;在所述元数据预读操作中分析发出的元数据预读值,其中所述分析包括将所发出的元数据预读值和所述命令中的块总计进行比较;如果所述分析指示所述I/O操作应当完成,则等待所述I/O操作完成;如果所述分析指示可发出异步元数据预读指令,则发出异步元数据预读指令;确定所述I/O操作是否完成;如果所述I/O操作完成则生成队列,其中所述队列包括所述块总计的一个或多个剩余元数据块,并且所述一个或多个剩余元数据块未包括在所述异步元数据预读指令中;以及如果所述I/O操作未完成,则更新所述元数据预读操作中的所述块总计。15.一种系统,包括:一个或多个处理器;和存储器,所述存储器耦接到所述一个或多个处理器,其中所述存储器存储能够由所述一个或多个处理器执行的程序指令,所述程序指令用于:确定元数据存储区域中元数据单元的位置,其中所述元数据存储区域位于非易失性存储单元中;确定所述元数据存储区域中的另一位置,其中所述另一位置对应于当前元数据读取操作;使用所述元数据单元的所述位置和所述另一位置来确定是否可执行元数据预读操作;以及响应于确定可执行所述元数据预读操作而发出所述元数据预读操作。16.根据权利要求15所述的系统,其中所述元数据存储区域包括多个磁盘上索引节点,其中所述磁盘上索引节点包括所述元数据单元,所述磁盘上索引节点为结构化文件的部分,并且所述结构化文件存储在所述非易失性存储单元中。17.根据权利要求16所述的系统,还包括:创建核心内索引节点,其中所述核心内索引节点对应于所述结构化文件;以及在所述核心内索引节点中存储所述元数据单元的所述位置,其中所述元数据单元为最后读取的元数据块,并且所述元数据单元的所述位置标识所述元数据单元的末端偏移。18.根据权利要求17所述的系统,其中确定是否可执行所述元数据预读操作,包括访问所述元数据单元的所述末端偏移,以及确定所述另一位置是否邻近所述末端偏移。19.根据权利要求18所述的系统,其中发出所述元数据预读操作,包括如果所述另一位置邻近所述末端偏移,则通过将所述末端偏移替换为由所述元数据预读操作读取的另一元数据单元的另一末端偏移来更新所述末端偏移,其中所述另一元数据单元为另一最后读取的元数据块;以及如果所述另一位置未邻近所述末端偏移,则通过将所述末端偏移替换为当前元数据读取操作的末端偏移来更新所述末端偏移。20.根据权利要求16所述的系统,...
【专利技术属性】
技术研发人员:B·帕特尔,F·詹姆斯,M·科塔里,A·班纳吉,
申请(专利权)人:华睿泰科技有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。