[发明专利]跟踪索引节点的访问模式以及预提取索引节点有效
申请号: | 201780059741.9 | 申请日: | 2017-09-28 |
公开(公告)号: | CN110352410B | 公开(公告)日: | 2023-01-20 |
发明(设计)人: | B·帕特尔;F·詹姆斯;M·科塔里;A·班纳吉 | 申请(专利权)人: | 华睿泰科技有限责任公司 |
主分类号: | G06F12/0862 | 分类号: | G06F12/0862;G06F16/10 |
代理公司: | 北京纪凯知识产权代理有限公司 11245 | 代理人: | 赵蓉民 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 跟踪 索引 节点 访问 模式 以及 提取 | ||
1.一种方法,包括:
响应于应用程序发出读取元数据的第一请求,从元数据存储区域读取第一元数据单元;
确定所述元数据存储区域中所述第一元数据单元的末端位置,其中
所述元数据存储区域位于非易失性存储单元中;
响应于所述应用程序发出读取元数据的第二请求,确定所述元数据存储区域中的第二元数据单元的起始位置;
通过比较所述末端位置与所述起始位置来确定是否可执行元数据预读操作;以及
响应于确定所述末端位置和所述起始位置在所述非易失性存储单元中彼此邻近,在所述应用发出读取第三元数据单元的请求之前,通过生成元数据预读操作来执行从所述元数据存储区域读取第三元数据单元。
2.根据权利要求1所述的方法,其中
所述元数据存储区域包括多个索引节点,
所述第一元数据单元包括所述多个索引节点中的一个或多个,
所述第一元数据单元为结构化文件的部分,并且
所述结构化文件存储在所述非易失性存储单元中。
3.根据权利要求2所述的方法,还包括:
创建核心内索引节点,其中
所述核心内索引节点对应于所述结构化文件;以及
在所述核心内索引节点中存储所述第一元数据单元的所述末端位置。
4.根据权利要求3所述的方法,其中另一位置对应于当前元数据读取操作,所述第一元数据单元的所述末端位置标识所述第一元数据单元的末端偏移,并且确定是否可执行所述元数据预读操作包括
访问所述末端偏移,以及
确定所述另一位置是否邻近所述末端偏移。
5.根据权利要求1所述的方法,其中
发出所述元数据预读操作包括
通过将末端偏移替换为由所述元数据预读操作读取的另一元数据单元的另一末端偏移来更新所述末端偏移,其中
所述另一元数据单元为另一最后读取的元数据块。
6.根据权利要求4所述的方法,还包括:
如果所述另一位置未邻近所述末端偏移,则通过将所述末端偏移替换为当前元数据读取操作的末端偏移来更新所述末端偏移。
7.根据权利要求2所述的方法,还包括:
拦截用于读取一个或多个索引节点的命令,其中
所述一个或多个索引节点为所述多个索引节点的部分,
所述拦截响应于输入/输出操作即I/O操作而执行,并且
所述I/O操作导致所述命令;
在所述元数据预读操作中分析所发出的元数据预读值,其中
所述分析包括将所发出的元数据预读值和所述命令中的块总计进行比较;
如果所述分析指示所述I/O操作应当完成,则等待所述I/O操作完成;以及
如果所述分析指示可发出异步元数据预读指令,则发出所述异步元数据预读指令。
8.根据权利要求7所述的方法,还包括:
确定所述I/O操作是否完成;
如果所述I/O操作完成则生成队列,其中
所述队列包括所述块总计的一个或多个剩余元数据块,并且
所述一个或多个剩余元数据块未包括在所述异步元数据预读指令中;以及
如果所述I/O操作未完成,则更新所述元数据预读操作中的所述块总计。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华睿泰科技有限责任公司,未经华睿泰科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780059741.9/1.html,转载请声明来源钻瓜专利网。