数据存储方法和相关装置制造方法及图纸

技术编号:35343426 阅读:19 留言:0更新日期:2022-10-26 12:08
本公开提供了一种数据存储方法和相关装置。该数据存储方法应用于NAS架构的元数据服务器,包括:基于接收到的写请求,将用户文件中待写区域要写入的小块数据存储在内存中;在预设条件满足的情况下,将整理后的内存数据转存到文件系统的磁盘中;其中,对于待写区域,整理后的内存数据只包括在预设条件满足时待写区域在用户最新操作后所存在的数据。本公开优化了数据在磁盘上的布局,达到了提升客户端读取性能的目的。性能的目的。性能的目的。

【技术实现步骤摘要】
数据存储方法和相关装置


[0001]本公开涉及存储
,具体而言,涉及一种数据存储方法和相关装置。

技术介绍

[0002]在网络附属存储(Network Attached Storage,简称NAS)架构中,一个可能的存储方案是写数据直接落盘,即前端机将从客户端接收的数据直接存储在文件系统的磁盘中后更新元数据服务器。这种存储方案的缺点在于:1)大量写数据一次落盘的情况下,由于每次写请求需要两次落盘(即写数据向文件系统磁盘中落盘和写数据的元数据向元数据服务器落盘),因而时延较为严重;2)append

only(追加写)存储模式下客户端的覆盖写操作会产生大量无用磁盘写,后续客户端的读取性能会受到影响。
[0003]目前,为了解决时延问题,小块数据会被发送到元数据服务器(meta server)上落盘保存。然而,该改进方案中小块数据的磁盘布局没有变化,客户端的读取性能会因磁盘上无用数据碎片的影响而较为低下。

技术实现思路

[0004]有鉴于此,本公开旨在改进NAS架构中的数据存储方案,使得数据的磁盘布局得到优化,从而提升客户端的读取性能。
[0005]根据本公开的第一方面,提供一种数据存储方法,应用于NAS架构的元数据服务器,包括:
[0006]基于接收到的写请求,将用户文件中待写区域要写入的小块数据存储在内存中;
[0007]在预设条件满足的情况下,将整理后的内存数据转存到文件系统的磁盘中;
[0008]其中,对于所述待写区域,所述整理后的内存数据只包括所述预设条件满足时所述待写区域在用户最新操作后所存在的数据。
[0009]可选地,所述预设条件满足时用户对所述待写区域的最新操作为写操作;
[0010]对于所述待写区域,所述整理后的内存数据只包括所述预设条件满足时用户最新写操作要写入所述待写区域的数据。
[0011]可选地,所述预设条件满足时用户对所述待写区域的最新操作为擦除操作;
[0012]对于所述待写区域,所述整理后的内存数据不再包括所述待写区域在所述预设条件满足之前各次写入的数据。
[0013]可选地,所述整理后的内存数据为对内存中存储的数据在所述预设条件满足之前整理而得到的,且所述整理后的内存数据仍存储在内存中;
[0014]将整理后的内存数据转存到文件系统的磁盘中,包括:从内存中读取所述整理后的内存数据并将读取到的所述整理后的内存数据存储到文件系统的磁盘中。
[0015]可选地,将整理后的内存数据转存到文件系统的磁盘中,包括:
[0016]从内存中读取数据,并判断读取到的数据是否为待舍弃数据;
[0017]在读取到的数据为所述待舍弃数据的情况下,不再将读取到的数据转存到文件系
统的磁盘中;
[0018]其中,若在所述预设条件满足时用户对所述待写区域的最新操作为写操作,则所述待舍弃数据为最新写操作之前写入所述待写区域的数据;若在所述预设条件满足时用户对所述待写区域的最新操作为擦除操作,则所述待舍弃数据为所述待写区域在所述预设条件满足之前各次写入的数据。
[0019]可选地,所述整理后的数据包括多个子数据,将整理后的内存数据转存到文件系统的磁盘中,包括:转存所述多个子数据以使所述多个子数据在文件系统的磁盘中按预设顺序存储。
[0020]可选地,所述整理后的数据至少包括一个子数据,将整理后的内存数据转存到文件系统的磁盘中,包括:对所述子数据设置索引信息,所述索引信息用于指示所述子数据在文件系统磁盘中的位置且存储在所述元数据服务器中。
[0021]可选地,所述预设条件为内存中已用空间的大小不小于预设数值;
[0022]或者,所述预设条件为距离上次向文件系统磁盘中转存数据的时长不小于预设时长。
[0023]可选地,基于接收到的写请求,将用户文件中待写区域要写入的小块数据存储在内存中,包括:
[0024]判断当前接收到的写请求是否满足反压条件,所述反压条件为用户持续进行小块写的次数不小于次数阈值;
[0025]在当前接收到的写请求没有满足所述反压条件的情况下,只将用户文件中待写区域要写入的小块数据存储在内存中;
[0026]在当前接收到的写请求满足所述反压条件的情况下,将用户文件中在待写区域周围区域中的数据读出并将读出的数据和待写区域中要写入的小块数据一同存储在内存中。
[0027]根据本公开的第二方面,提供一种NAS架构的元数据服务器,包括:
[0028]存储器,用于存储计算机可执行代码;
[0029]处理器,用于执行所述计算机可执行代码,以实现第一方面所述的任一种数据存储方法。
[0030]根据本公开的第三方面,提供一种存储平台,包括:
[0031]文件系统;
[0032]以及,第二方面所述的元数据服务器。
[0033]根据本公开的第四方面,提供一种计算机可读介质,包括计算机可执行代码,所述计算机可执行代码被处理器执行时实现第一方面所述的任一种数据存储方法。
[0034]本公开实施例中,NAS架构的元数据服务器先基于接收到的写请求,将用户文件中待写区域要写入的小块数据存储在内存中;然后在预设条件满足的情况下,将整理后的内存数据转存到文件系统的磁盘中。其中,对于待写区域,整理后的内存数据只包括在预设条件满足时待写区域在用户最新操作后所存在的数据,因而避免了待写区域在文件系统的磁盘上产生大量无用磁盘写,这使得待写区域的数据在磁盘上的布局得以优化,从而达到了提升客户端读取性能的目的。
附图说明
[0035]通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
[0036]图1示出NAS架构的一种应用示意图;
[0037]图2示出NAS架构的另一种应用示意图;
[0038]图3示出根据本公开一个实施例的数据存储方法的流程图;
[0039]图4示出根据本公开一个实施例的NAS架构中元数据服务器的应用示意图;
[0040]图5示出根据本公开一个实施例的基于接收到的写请求将用户文件中待写区域要写入的数据存储在内存中的流程图;
[0041]图6示出根据本公开一个实施例的计算机设备的结构图。
具体实施方式
[0042]以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
[0043]本公开实施例提供了一种存储平台,该存储平台包括文件系统和元数据服务器,其中,文件系统的磁盘用于存储用户文件中写入的数据,用户文件中写入的数据存储在磁盘中作为磁盘文件的一部分;元数据服务器作为NAS架构的服务器,主要作用在于存储用户文件中各区域数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,应用于NAS架构的元数据服务器,包括:基于接收到的写请求,将用户文件中待写区域要写入的小块数据存储在内存中;在预设条件满足的情况下,将整理后的内存数据转存到文件系统的磁盘中;其中,对于所述待写区域,所述整理后的内存数据只包括所述预设条件满足时所述待写区域在用户最新操作后所存在的数据。2.根据权利要求1所述的方法,其中,所述预设条件满足时用户对所述待写区域的最新操作为写操作;对于所述待写区域,所述整理后的内存数据只包括所述预设条件满足时用户最新写操作要写入所述待写区域的数据。3.根据权利要求1所述的方法,其中,所述预设条件满足时用户对所述待写区域的最新操作为擦除操作;对于所述待写区域,所述整理后的内存数据不再包括所述待写区域在所述预设条件满足之前各次写入的数据。4.根据权利要求1所述的方法,其中,所述整理后的内存数据为对内存中存储的数据在所述预设条件满足之前整理而得到的,且所述整理后的内存数据仍存储在内存中;将整理后的内存数据转存到文件系统的磁盘中,包括:从内存中读取所述整理后的内存数据并将读取到的所述整理后的内存数据存储到文件系统的磁盘中。5.根据权利要求1所述的方法,其中,将整理后的内存数据转存到文件系统的磁盘中,包括:从内存中读取数据,并判断读取到的数据是否为待舍弃数据;在读取到的数据为所述待舍弃数据的情况下,不再将读取到的数据转存到文件系统的磁盘中;其中,若在所述预设条件满足时用户对所述待写区域的最新操作为写操作,则所述待舍弃数据为最新写操作之前写入所述待写区域的数据;若在所述预设条件满足时用户对所述待写区域的最新操作为擦除操作,则所述待舍弃数据为所述待写区域在所述预设条件满足之前各次写入的数据。6.根据权...

【专利技术属性】
技术研发人员:梅嘉毛耀宽叶庆华鲍利平周栩孜周沁裴晓辉
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1