一种数据访问方法、存储系统及存储节点技术方案

技术编号:37104035 阅读:15 留言:0更新日期:2023-04-01 05:03
本申请实施例提供一种数据访问方法、存储系统和存储节点,所述方法由存储系统中的第一存储节点执行。在该方法中,所述第一存储节点接收用于读取第一文件数据的第一读请求,并确定所述第一文件数据存储于第二存储节点中,其中,所述存储系统至少包所述第一存储节点和所述第二存储节点。所述第一存储节点从所述第二存储节点读取所述第一文件数据以及所述第一文件数据的元数据,根据所述第一文件数据的元数据确定所述第一文件数据为只读数据,并响应所述第一文件数据为只读数据的确定,将所述第一文件数据存储在本地以作为所述第二存储节点中存储的所述第一文件数据的副本。本申请实施例提供的方案提高了存储系统中对热点数据的访问效率。的访问效率。的访问效率。

【技术实现步骤摘要】
一种数据访问方法、存储系统及存储节点


[0001]本申请涉及计算机
,具体涉及一种数据访问方法、存储系统及存储节点。

技术介绍

[0002]当前的存储系统(例如网络附属存储系统(Network attached storage,NAS))可以对主机提供文件数据的存储服务,该存储服务包括基于目录和文件的权限管理、读、写、查找、删除等功能。为了支持超大规模目录和文件的管理,存储系统可采用分布式架构部署在多个存储节点中。具体是,通过分布式文件技术将文件系统中的文件或文件中的数据块(下文统称为文件数据)分散存储到多个存储节点中。在多个主机与分布式架构的存储系统连接时,有可能多个主机同时访问相同的文件,导致存储该文件的存储节点无法同时处理大量的访问请求,从而造成存储系统性能下降。

技术实现思路

[0003]本申请实施例旨在提供一种数据访问方案,存储节点在确定读取的数据为只读数据之后,在本地存储该数据的副本,提高了热点数据的访问效率。
[0004]本申请第一方面提供一种数据访问方法,所述方法由存储系统中的第一存储节点执行,根据该方法,第一存储节点接收用于读取第一文件数据的第一读请求,其中,所述存储系统至少包所述第一存储节点和第二存储节点。在确定所述第一文件数据存储于所述第二存储节点中后,所述第一存储节点从所述第二存储节点读取所述第一文件数据以及所述第一文件数据的元数据。所述第一存储节点根据所述第一文件数据的元数据确定所述第一文件数据为只读数据,并响应所述第一文件数据为只读数据的确定,将所述第一文件数据存储在本地以作为所述第二存储节点中存储的所述第一文件数据的副本。
[0005]第一存储节点在读取第一文件数据之后,在确定第一文件数据为只读数据的情况中存储第一文件数据的副本,存储系统中的其他存储节点可类似地生成第一文件数据的副本,从而存储系统中可包括第一文件数据的多份副本数据,可在多个存储节点提供对第一文件数据的读服务,从而避免存储节点对数据读请求的转发,并且在第一文件数据为热点数据的情况下,提高了热点数据的访问效率,避免了对热点数据的访问瓶颈问题。另外,在海量文件场景下,大量的文件访问都是读访问,通过根据文件的只读属性存储只读文件的副本,可大幅度提高只读文件的读性能。
[0006]在第一方面一种可能的实现方式中,所述根据所述第一文件数据的元数据确定所述第一文件数据为只读数据包括:根据所述第一文件数据的元数据确定所述第一文件数据满足下列条件中的至少一个:所述第一文件数据为只读快照中的文件;所述第一文件数据为一次写入多次读取WORM的文件;以及所述第一文件数据的文件属性为只读属性。
[0007]在第一方面一种可能的实现方式中,所述方法还包括:当确定所述第一存储节点的可用存储空间小于预设阈值时,根据所述第一存储节点中存储的多个副本数据的访问频度,删除所述第一存储节点中的存储的至少部分副本数据,其中所述第一存储节点中存储
的多个副本数据包括所述第一文件数据的副本。
[0008]通过在可用存储空间较小时减少存储节点中存储的副本数据,可在可用存储空间较小时动态地调整,减少对空间的占用,满足用户对存储容量的需求。
[0009]在第一方面一种可能的实现方式中,所述方法还包括:在本地存储所述第一文件数据的元数据,所述元数据中包括所述第一文件数据的只读属性的失效时间;在根据所述失效时间确定所述第一文件数据变更为非只读文件数据之后,删除所述第一存储节点中存储的所述第一文件数据以及所述第一文件数据的元数据。
[0010]在第一方面一种可能的实现方式中,所述方法还包括:接收主机用于读取所述第一文件数据的第二读请求;确定所述第一存储节点中存储有所述第一文件数据的副本;向所述主机发送所述第一文件数据。
[0011]本申请第二方面提供一种存储系统,包括第一存储节点和第二存储节点,所述第一存储节点用于:接收第一读请求,所述第一读请求用于读取第一文件数据;确定所述第一文件数据存储于所述第二存储节点中;向所述第二存储节点发送对所述第一文件数据的第二读请求;所述第二存储节点用于响应所述第二读请求将所述第一文件数据以及所述第一文件数据的元数据返回给所述第一存储节点;所述第一存储节点还用于根据所述第一文件数据的元数据确定所述第一文件数据为只读数据;响应所述第一文件数据为只读数据的确定,将所述第一文件数据存储在本地以作为所述第二存储节点中存储的所述第一文件数据的副本。
[0012]在第二方面一种可能的实现方式中,所述第一存储节点还用于根据所述第一文件数据的元数据确定所述第一文件数据为只读数据具体包括:所述第一存储节点还用于根据所述第一文件数据的元数据确定所述第一文件数据满足下列条件中的至少一个:所述第一文件数据为只读快照中的文件;所述第一文件数据为一次写入多次读取WORM的文件;以及所述第一文件数据的文件属性为只读属性。
[0013]在第二方面一种可能的实现方式中,所述第一存储节点还用于:当确定所述第一存储节点的可用存储空间小于预设阈值时,根据所述第一存储节点中存储的多个副本数据的访问频度,删除所述第一存储节点中的存储的至少部分副本数据,其中所述第一存储节点中存储的多个副本数据包括所述第一文件数据的副本。
[0014]在第二方面一种可能的实现方式中,所述第一存储节点还用于:存储所述第一文件数据的元数据,所述元数据中包括所述第一文件数据的只读属性的失效时间;在根据所述失效时间确定所述第一文件数据变更为非只读文件数据之后,删除所述第一存储节点中存储的所述第一文件数据以及所述第一文件数据的元数据。
[0015]在第二方面一种可能的实现方式中,所述第一存储节点还用于:接收主机用于读取所述第一文件数据的第二读请求;确定所述第一存储节点中存储有所述第一文件数据的副本;向所述主机发送所述第一文件数据。
[0016]本申请第三方面提供一种存储系统中的第一存储节点,所述存储系统中还包括第二存储节点,所述第一存储节点包括用于执行上述第一方面或第一方面的任意一种可能的实施方式中的功能模块。
[0017]本申请第四方面提供一种存储节点,其特征在于,包括处理器和存储器,所述存储器中存储有可执行计算机程序指令,所述处理器执行所述可执行计算机程序指令以实现第
一方面及其可能的实现方式所述的方法。
[0018]本申请第五方面提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,当所述计算机程序指令在计算机或处理器中执行时,使得所述计算机或处理器实现第一方面及其可能的实现方式所述的方法。
[0019]本申请第六方面提供一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机或处理器中运行时,使得所述计算机或处理器执行第一方面及第一方面可能的实现方式所述的方法。
附图说明
[0020]通过结合附图描述本申请实施例,可以使得本申请实施例更加清楚:
[0021]图1为本申请实施例提供的存储系统的架构图;
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据访问方法,其特征在于,所述方法由存储系统中的第一存储节点执行,所述方法包括:接收用于读取第一文件数据的第一读请求,其中,所述存储系统至少包所述第一存储节点和第二存储节点;确定所述第一文件数据存储于所述第二存储节点中;从所述第二存储节点读取所述第一文件数据以及所述第一文件数据的元数据;根据所述第一文件数据的元数据确定所述第一文件数据为只读数据;响应所述第一文件数据为只读数据的确定,将所述第一文件数据存储在本地以作为所述第二存储节点中存储的所述第一文件数据的副本。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一文件数据的元数据确定所述第一文件数据为只读数据包括:根据所述第一文件数据的元数据确定所述第一文件数据满足下列条件中的至少一个:所述第一文件数据为只读快照中的文件;所述第一文件数据为一次写入多次读取WORM的文件;以及所述第一文件数据的文件属性为只读属性。3.根据权利要求1或2所述的方法,其特征在于,还包括:当确定所述第一存储节点的可用存储空间小于预设阈值时,根据所述第一存储节点中存储的多个副本数据的访问频度,删除所述第一存储节点中的存储的至少部分副本数据,其中所述第一存储节点中存储的多个副本数据包括所述第一文件数据的副本。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:在本地存储所述第一文件数据的元数据,所述元数据中包括所述第一文件数据的只读属性的失效时间;在根据所述失效时间确定所述第一文件数据变更为非只读文件数据之后,删除所述第一存储节点中存储的所述第一文件数据以及所述第一文件数据的元数据。5.根据权利要求1或2所述的方法,其特征在于,还包括:接收主机用于读取所述第一文件数据的第二读请求;确定所述第一存储节点中存储有所述第一文件数据的副本;向所述主机发送所述第一文件数据。6.一种存储系统,包括第一存储节点和第二存储节点,所述第一存储节点用于:接收第一读请求,所述第一读请求用于读取第一文件数据;确定所述第一文件数据存储于所述第二存储节点中;向所述第二存储节点发送对所述第一文件数据的第二读请求;所述第二存储节点用于响应所述第二读请求将所述第一文件数据以及所述第一文件数据...

【专利技术属性】
技术研发人员:刘遵一
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1