数据回写方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:39149199 阅读:8 留言:0更新日期:2023-10-23 14:58
一种数据回写方法、装置、电子设备及计算机可读存储介质;该数据回写方法包括:获取缓存中的待回写数据,该待回写数据包括元数据和用户数据;若将用户数据回写至磁盘的次数达到预设的次数阈值,则将元数据回写至磁盘。本申请基于元数据与用户数据分别进行回写的机制,将用户数据回写的次数达到预设的次数阈值时,进行一次元数据的回写,即多次用户数据回写对应一次元数据回写,降低元数据回写的刷新次数;从而通过延迟对元数据的回写,提高操作系统的回写效率,提升磁盘的输入与输出性能。提升磁盘的输入与输出性能。提升磁盘的输入与输出性能。

【技术实现步骤摘要】
数据回写方法、装置、电子设备及计算机可读存储介质


[0001]本申请涉及数据存储
,特别涉及一种数据回写方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]在操作系统执行数据回写的过程中,将需要回写的数据拷贝到内核的缓存中,并将缓存中相应的页标记为脏页。当内存中的脏页达到一定阈值,需要将脏页的数据写回设备的磁盘等存储单元中。
[0003]目前,针对磁盘的文件系统,回写过程将用户数据和元数据同步刷新。为了保证数据原子性,元数据的回写过程中需要持锁;文件系统必须等待元数据写入磁盘后,才能将用户数据拷贝到缓存形成新的脏页,从而元数据的回写过程阻塞了用户数据的写入,使得操作系统的回写效率较低。

技术实现思路

[0004]根据本申请的各种实施例,提供一种数据回写方法、装置、电子设备及计算机可读存储介质。
[0005]第一方面,本申请提供了一种数据回写方法,包括:获取缓存中的待回写数据,待回写数据包括元数据和用户数据;若将用户数据回写至磁盘的次数达到预设的次数阈值,则将元数据回写至磁盘。
[0006]通过上述方式,改变原来用户数据与元数据同步刷新的机制,采用将用户数据回写次数达到预设的次数阈值时,进行一次元数据的回写的机制,即多次用户数据回写对应一次元数据回写,通过延迟对元数据的回写,可以减少元数据的刷新次数,提高操作系统的回写效率,提升磁盘的输入与输出性能;具有较强的易用性与实用性。
[0007]在第一方面的一种可能的实现方式中,用户数据存储于普通文件索引节点的脏页;将所述用户数据回写至磁盘,包括:
[0008]将待回写的所述用户数据的脏页对应的所述普通文件索引节点从脏链表移动到输入输出链表;根据所述输入输出链表的所述普通文件索引节点,将所述用户数据回写至磁盘。
[0009]在第一方面的一种可能的实现方式中,元数据存储于元文件索引节点的脏页;在将所述元数据回写至磁盘之前,该方法还包括:
[0010]对元数据的元文件索引节点执行锁定操作,锁定操作用于在回写用户数据的次数未达到次数阈值时,暂停对元数据的回写处理。
[0011]在第一方面的一种可能的实现方式中,将元数据回写至磁盘,包括:
[0012]将待回写的所述元数据的脏页对应的所述元文件索引节点从脏链表移动到输入输出链表;根据所述输入输出链表的所述元文件索引节点,将所述元数据回写至磁盘。
[0013]在第一方面的一种可能的实现方式中,在获取缓存中的待回写数据之前,该方法
还包括:
[0014]对磁盘的文件系统的目标元数据进行预读;将预读的目标元数据存储于缓存中,目标元数据用于指示磁盘中未被占用的空间地址信息。
[0015]在第一方面的一种可能的实现方式中,该方法还包括:
[0016]获取所述用户数据对应的文件传输结束报文;基于所述文件传输结束报文,将所述用户数据对应的元数据回写至所述磁盘。
[0017]在第一方面的一种可能的实现方式中,所述方法还包括:
[0018]在待回写的元数据的脏页在缓存中留存的时长信息达到时长阈值时,将脏页内的元数据回写至磁盘。
[0019]第二方面,本申请提供了一种数据回写装置,包括:
[0020]获取单元,用于获取缓存中的待回写数据,所述待回写数据包括元数据和用户数据;
[0021]回写单元,用于若将用户数据回写至磁盘的次数达到预设的次数阈值,则将元数据回写至磁盘。
[0022]第三方面,本申请提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述的方法。
[0023]第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
[0024]第五方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的方法。
[0025]可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
[0026]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0027]图1为本申请实施例提供的数据回架构写示意图;
[0028]图2为本申请实施例提供的数据回写方法的实现流程示意图;
[0029]图3为本申请实施例提供的数据回写过程的示意图;
[0030]图4为本申请实施例提供的回写线程的时序示意图;
[0031]图5为本申请实施例提供的用户数据与元数据回写频次对比示意图;
[0032]图6为本申请实施例提供的数据回写装置的结构示意图;
[0033]图7为本申请实施例提供电子设备的结构示意图。
具体实施方式
[0034]下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范
围。
[0035]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
[0036]在本申请实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
[0037]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0038]在本申请实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0039]由于中央处理器访问内存的速度远大于访问磁盘的速度,而且数据一旦被访问有可能在短期内会再次被访问。因此,系统内核引入页缓存的缓存机制,将一部分磁盘上的数据缓存到内存中,从而减少对磁盘的输入输出操作。同时为了保证页缓存中的数据能够被同步到磁盘上,系统内核还设置了回写机制,将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据回写方法,其特征在于,包括:获取缓存中的待回写数据,所述待回写数据包括元数据和用户数据;若将所述用户数据回写至磁盘的次数达到预设的次数阈值,则将所述元数据回写至磁盘。2.根据权利要求1所述的方法,其特征在于,所述用户数据存储于普通文件索引节点的脏页;所述将所述用户数据回写至磁盘,包括:将待回写的所述用户数据的脏页对应的所述普通文件索引节点从脏链表移动到输入输出链表;根据所述输入输出链表的所述普通文件索引节点,将所述用户数据回写至磁盘。3.根据权利要求1所述的方法,其特征在于,所述元数据存储于元文件索引节点的脏页;在所述将所述元数据回写至磁盘之前,所述方法还包括:对所述元数据的元文件索引节点执行锁定操作,所述锁定操作用于在回写所述用户数据的次数未达到所述次数阈值时,暂停对所述元数据的回写处理。4.根据权利要求3所述的方法,其特征在于,所述将所述元数据回写至磁盘,包括:将待回写的所述元数据的脏页对应的所述元文件索引节点从脏链表移动到输入输出链表;根据所述输入输出链表的所述元文件索引节点,将所述元数据回写至磁盘。5.根据权利要求1所述的方法,其特征在于,在所述获取缓存中的待回写数...

【专利技术属性】
技术研发人员:陈少杰周斌
申请(专利权)人:普联技术有限公司
类型:发明
国别省市:

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

1